@charset "utf-8";

:where(.tpl_top_index *) {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	letter-spacing: 0;
	line-height: 1;
}
:where(.tpl_top_index :is(h1, h2, h3, h4, h5, h6, p, dl, dd)) {
	margin: 0;
}
:where(.tpl_top_index :is(ul, ol)) {
	list-style: none;
	padding: 0;
	margin: 0;
}
:where(.tpl_top_index img) {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
:where(.tpl_top_index button) {
	padding: 0;
	margin: 0;
	border: none;
	background: none;
}

/* 非表示 */
#footstep_wrap,
#kaiyu_banner {
	display: none !important;
}

/* メイン */
.tpl_top_index #mymainback_bg {
	overflow-x: hidden;
}
.tpl_top_index #mymainback {
	display: block;
	width: auto;
	padding: 0;
	margin: 0;
}

/* ----------------------------------------
メインビジュアル
---------------------------------------- */
#mainvisual {
	padding: 40px 0;
	min-height: 722px;
	background:
	-webkit-gradient(linear, left top, right top, color-stop(50%, rgb(92 196 232 / .6)), color-stop(50%, rgb(46 135 206 / .6))),
	url(/img/top/mainvisual.jpg) no-repeat center / cover;
	background:
	linear-gradient(to right, rgb(92 196 232 / .6) 50%, rgb(46 135 206 / .6) 50%),
	url(/img/top/mainvisual.jpg) no-repeat center / cover;
}
#mainvisual_box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	gap: 80px;
	max-width: var(--content-width);
	margin: 0 auto;
}
#mainvisual_box > * {
	width: 100%;
	max-width: 500px;
}

/* ----------------------------------------
トップスライド
---------------------------------------- */
#top_photo {
	position: relative;
}
#top_photo_list .photo_box {
	position: relative;
	display: block;
	background: #fff;
	border-radius: 20px;
	overflow: hidden;
}
#top_photo_list .photo_box::before {
	content: "";
	position: absolute;
	inset: 75% 0 0 0;
	z-index: 1;
	display: block;
	background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(#fff));
	background: linear-gradient(to bottom, transparent, #fff);
	opacity: .7;
}
#top_photo_list .photo_img {
	display: block;
	aspect-ratio: 500/612;
}
#top_photo_list .photo_img img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	   object-fit: contain;
}
#top_photo_list .photo_caption {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 2;
	display: block;
	width: 100%;
	height: auto;
	padding: 35px;
	font-size: 2rem;
	font-weight: bold;
	line-height: calc(30/20);
/*	text-shadow: 0 0 10px rgb(255 255 255 / .3);*/
	text-shadow: 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff;
}

/* スライドコントロール */
#top_photo .slide_control {
	position: absolute;
	top: calc(100% + 17px);
	left: 0;
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 30px;
}
#top_photo .slide_pagination {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 20px;
	width: auto;
}
#top_photo .slide_pagination .swiper-pagination-bullet {
	display: block;
	width: 25px;
	height: 25px;
	border: 3px solid #fff;
	border-radius: 100%;
	background: #dcdcdc;
	opacity: 1;
	margin: 0;
}
#top_photo .slide_pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: #5cc4e8;
}
#top_photo .slide_control_box {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	gap: 20px;
}
#top_photo .slide_control_box button {
	display: block;
	width: 36px;
	height: 36px;
	border: 3px solid #fff;
	border-radius: 100%;
	background-repeat: no-repeat;
	background-position: center;
	background-color: #fbfbfb;
}
#top_photo .slide_control_box button.slide_control_prev,
#top_photo .slide_control_box button.slide_control_next {
	background-image: url(/img/common/arrow_blue.png);
	background-size: 9px auto;
}
#top_photo .slide_control_box button.slide_control_prev {
	rotate: 180deg;
}
#top_photo .slide_control_box button.slide_control_stop {
	background-image: url(/img/top/icon_stop.png);
	background-size: 9px auto;
}
#top_photo .slide_control_box button.slide_control_play {
	background-image: url(/img/top/icon_start.png);
	background-size: 12px auto;
	background-color: #20486a;
	border-color: #20486a;
}
#top_photo .slide_control_box button.slide_control_stop.is-active,
#top_photo .slide_control_box button.slide_control_play.is-active {
	display: none;
}

/* ----------------------------------------
トップ検索
---------------------------------------- */
#top_search_wrap {
	padding: 40px;
	background: rgb(255 255 255 / .8);
	border-radius: 20px;
	outline: 2px solid #fff;
	outline-offset: -2px;
}
.top_srch_ttl {
	color: #2c3e50;
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: .4em;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 5px;
	text-indent: .4em;
	margin: 0 0 30px;
}
.top_srch_ttl img {
	display: block;
	width: auto;
	height: 45px;
}
.top_srch_ttl::after {
	content: "";
	display: block;
	width: 100px;
	height: 6px;
	border: 1px solid;
	border-radius: 3px;
	background: #fff;
}
.top_srch_content + .top_srch_content {
	margin-top: 30px;
	padding-top: 30px;
	background: linear-gradient(to right, #153d5d 6px, transparent 6px) repeat-x left top / 8px 1px;
}
.top_srch_tabWrap {
	min-height: 172px;
	padding: 0 0 10px;
}
.top_srch_tabUnit {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	gap: 18px;
}
button.top_srch_tab {
	position: relative;
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	font-size: 1.4rem;
	line-height: 2rem;
	text-align: center;
	width: auto;
	min-height: 5rem;
	border-radius: 10px;
	background: #fff;
}
button.top_srch_tab.is_active {
	color: #153d5d;
	font-size: 1.8rem;
	font-weight: bold;
	background-color: #5cc4e8;
}
button.top_srch_tab::before {
	content: "";
	position: absolute;
	top: calc(100% - 6px);
	left: calc(50% - 8px);
	display: none;
	width: 16px;
	height: 20px;
	background: #5cc4e8;
	-webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
	        clip-path: polygon(0 0, 100% 0, 50% 100%);
}
button.top_srch_tab.is_active::before {
	display: block;
}
.top_srch_boxUnit {
	margin: 20px 0 0;
}
.top_srch_box {
	display: none;
}
.top_srch_box.is_show {
	display: block;
}
.top_srch_ipt {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}
input.top_srch_txt {
	color: #333 !important;
	font-size: 1.4rem;
	letter-spacing: .05em;
	width: calc(100% - 10rem);
	min-width: 60%;
	min-height: 50px;
	padding: 13px 18px;
	border-radius: 10px 0 0 10px;
	border: 1px solid #cdcdcd;
	border-right: 0;
	background-color: #fff !important;
}
input.top_srch_btn {
	color: #153d5d;
	font-size: 1.6rem;
	font-weight: bold;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 10rem;
	max-width: 40%;
	min-height: 50px;
	padding: 0;
	border: 1px solid transparent;
	border-radius: 0 10px 10px 0;
	background: #5cc4e8;
}
.top_srch_note {
	font-size: 1.4rem;
	padding: 0 0 0 26px;
	margin: 10px 0 0;
}
.top_srch_note:empty {
	display: none;
}
.top_srch_link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	margin: 10px 0 0;
}
a.top_arch_qBtn {
	display: inline-block;
	color: inherit;
	font-size: 1.4rem;
	padding: 8px 0 8px calc(30px + 10px);
	background: url(/img/common/icon_question.png) no-repeat left center / 30px 30px;
}
.top_srch_btnUnit,
.top_srch_btnUnit2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 30px 40px;
}
.top_srch_btnUnit > *:first-child {
	width: 100%;
}

.top_srch_btnUnit2 {
	margin-top: 10px;
	margin-bottom: 15px;
}

#cse-search-box2.keyword_search_box .search_ipt {
	margin-top: 0px;
}

/* 手続きナビゲーション ボタン */
a.top_srch_naviBtn {
	color: inherit;
	text-decoration: none;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: calc(20/16);
	letter-spacing: .05em;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 20px;
	min-height: 50px;
	padding: 0 34px;
	border-radius: 10px;
	background: #5cc4e8;
}
a.top_srch_naviBtn::before,
a.top_srch_naviBtn::after {
	content: "";
	display: block;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
a.top_srch_naviBtn::before {
	width: 38px;
	height: 36px;
	background-image: url(/img/top/icon_navigation.png);
}
a.top_srch_naviBtn::after {
	width: 30px;
	height: 30px;
	background-image: url(/img/common/icon_arrow.png);
}

/* 絞り込む ボタン */
a.top_srch_filterBtn {
	color: inherit;
	text-decoration: none;
	font-size: 1.4rem;
	line-height: calc(20/14);
	letter-spacing: .05em;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 10px;
	min-height: 50px;
	padding: 0 34px;
	border-radius: 10px;
	background: #cdcdcd;
}
a.top_srch_filterBtn::before {
	content: "";
	display: block;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
a.top_srch_filterBtn::before {
	width: 25px;
	height: 25px;
	background-image: url(/img/top/icon_filter.png);
}

/* リンク */
a.top_srch_quesBtn {
	display: block;
	color: inherit;
	font-size: 1.4rem;
	line-height: calc(20/14);
	letter-spacing: .05em;
	padding: 10px 0 10px calc(30px + 10px);
	background: url(/img/common/icon_question.png) no-repeat center left / 30px 30px;
}

/* 注目ワード */
#search_trend_word h3 {
	color: #153d5d;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1;
}
#search_trend_word p {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: .5em 1em;
	margin: 15px 0 0;
}
#search_trend_word p a[tabindex] {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: baseline;
	    -ms-flex-align: baseline;
	        align-items: baseline;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 1em;
	font-size: 1.4rem;
	letter-spacing: .05em;
	cursor: pointer;
	text-decoration: underline;
}
.tsutaeru-toolbar-message-active #search_trend_word p a[tabindex] {
	gap: 0;
	padding-right: 1em;
}
#search_trend_word p a[tabindex]:not(:last-child)::after {
	content: "";
	display: block;
	width: 1px;
	height: 1em;
	background: currentColor;
	-webkit-transform: skewX(-20deg) translateY(.1em);
	        transform: skewX(-20deg) translateY(.1em);
}
.tsutaeru-toolbar-message-active #search_trend_word p a[tabindex]:not(:last-child)::after {
	position: relative;
	right: -1em;
}
@media (hover: hover) {
	button.top_srch_tab:hover,
	input.top_srch_btn:hover,
	a.top_srch_naviBtn:hover,
	a.top_srch_filterBtn:hover {
		text-decoration: underline;
	}
	#search_trend_word p a[tabindex]:hover,
	a.top_srch_quesBtn:hover,
	button.top_srch_tab.is_active:hover {
		text-decoration: none;
	}
}

/* ----------------------------------------
レイアウト
---------------------------------------- */
.ly_section > [class^="top_"] {
	max-width: var(--content-width);
	margin-inline: auto;
}

/* menu */
.ly_section.ly_section__menu {
	padding-top: 112px;
	padding-bottom: 80px;
	background: repeating-linear-gradient(-45deg,#ffffff, #ffffff 2px, #eef9fd 2px, #eef9fd 4px);
}
.ly_section.ly_section__menu > .top_ttl {
	margin-bottom: 56px;
}

/* menu2 */
.ly_section.ly_section__menu2 {
	padding-top: 87px;
	padding-bottom: 100px
}
.ly_section.ly_section__menu2 > .top_txt {
	margin-top: 10px;
	margin-bottom: 32px;
}
.ly_section.ly_section__menu2 > [class^="top_"] {
	padding-inline: 40px;
}

/* news */
.ly_section.ly_section__news {
	padding-block: 80px;
	background-color: #eef9fd;
}
.ly_section.ly_section__news > .top_txt {
	margin-top: 10px;
	margin-bottom: 32px;
}
.ly_section.ly_section__news > [class^="top_"] {
	padding-inline: 40px;
}

/* event */
.ly_section.ly_section__event {
	padding-top: 90px;
	padding-bottom: 95px;
}
.ly_section.ly_section__event > .top_ttl2 {
	margin-bottom: 40px;
}
.ly_section.ly_section__event > [class^="top_"] {
	padding-inline: 40px;
}

/* ichikawa */
.ly_section.ly_section__ichikawa {
	padding-top: calc(70px + 37px);
	padding-bottom: calc(40px + 37px);
	background:
	url(/img/top/map.png) no-repeat bottom calc(40px + 37px) left calc(50% - 648px/2 - 126px) / 648px 498px,
	url(/img/top/map2.png) no-repeat bottom calc(40px + 37px) right calc(50% - 310px/2 - 205px) / 310px 485px,
	url(/img/top/wave_top.png) no-repeat center top / auto 37px,
	url(/img/top/wave_bottom.png) no-repeat center bottom / auto 37px;
	background-color: #eef9fd;
}
.ly_section.ly_section__ichikawa > .top_txt {
	margin-top: 10px;
}
.ly_section.ly_section__ichikawa > .top_txt.top_txt__catch {
	margin-top: 45px;
	margin-bottom: 60px;
}
.ly_section.ly_section__ichikawa > .top_map {
	margin-top: 90px;
}

/* card */
.ly_section.ly_section__card {
	padding-top: 60px;
	padding-bottom: 0;
}
.ly_section.ly_section__card > .top_card {
	min-height: 609px;
	padding-top: 60px;
	padding-bottom: 60px;
}
.ly_section.ly_section__card > .top_card .top_ttl2 {
	margin-bottom: 30px;
}

/* sns */
.ly_section.ly_section__sns {
	padding-top: 70px;
	padding-bottom: 100px;
	background: #eef9fd;
}
.ly_section.ly_section__sns > .top_ttl2 {
	margin-bottom: 36px;
}
.ly_section.ly_section__sns > [class^="top_"] {
	padding-inline: 40px;
}

/* about */
.ly_section.ly_section__about {
	padding-top: 80px;
	padding-bottom: 60px;
	background-color: #f6f6f6;
}
.ly_section.ly_section__about > [class^="top_"] {
	padding-inline: 40px;
}
.ly_section.ly_section__about > .top_ttl {
	margin-bottom: 70px;
}
.ly_section.ly_section__about > .top_about {
	margin-top: 60px;
}

/* add */
.ly_section.ly_section__add {
	padding-block: 60px;
}
.ly_section.ly_section__add > .top_ttl2 {
	margin-bottom: 40px;
}
.ly_section.ly_section__add > [class^="top_"] {
	padding-inline: 40px;
}

/* ----------------------------------------
見出し
---------------------------------------- */
.top_ttl {
	color: #2c3e50;
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1;
	text-align: center;
}

/* sub */
.top_ttl_sub {
	position: relative;
	display: inline-block;
	letter-spacing: .4em;
	text-indent: .4em;
}
.top_ttl_sub.top_ttl_sub__short {
	letter-spacing: .2em;
	text-indent: .2em;
}
.top_ttl_sub.top_ttl_sub__menu::before,
.top_ttl_sub.top_ttl_sub__menu::after {
	content: "";
	position: absolute;
	display: block;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.top_ttl_sub.top_ttl_sub__menu::before {
	top: -32px;
	right: calc(100% + 50px);
	width: 337px;
	height: 78px;
	background-image: url(/img/top/deco_a.png);
}
.top_ttl_sub.top_ttl_sub__menu::after {
	top: -27px;
	left: calc(100% + 50px);
	width: 323px;
	height: 74px;
	background-image: url(/img/top/deco_b.png);
}
.top_ttl_sub.top_ttl_sub__menu2::before,
.top_ttl_sub.top_ttl_sub__menu2::after {
	content: "";
	position: absolute;
	display: block;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.top_ttl_sub.top_ttl_sub__menu2::before {
	top: -27px;
	right: calc(100% + 30px);
	width: 76px;
	height: 95px;
	background-image: url(/img/top/deco_c.png);
}
.top_ttl_sub.top_ttl_sub__menu2::after {
	top: -9px;
	left: calc(100% + 30px);
	width: 81px;
	height: 70px;
	background-image: url(/img/top/deco_d.png);
}
.top_ttl_sub.top_ttl_sub__news {
	padding-top: calc(54px + 20px);
	background: url(/img/top/deco_e.png) no-repeat top center / auto 54px;
}
.top_ttl_sub.top_ttl_sub__ichikawa::before,
.top_ttl_sub.top_ttl_sub__ichikawa::after {
	content: "";
	position: absolute;
	display: block;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.top_ttl_sub.top_ttl_sub__ichikawa::before {
	bottom: -32px;
	right: calc(100% + 60px);
	width: 164px;
	height: 183px;
	background-image: url(/img/top/deco_g.png);
}
.top_ttl_sub.top_ttl_sub__ichikawa::after {
	bottom: -82px;
	left: calc(100% + 60px);
	width: 332px;
	height: 284px;
	background-image: url(/img/top/deco_h.png);
}
.top_ttl_sub.top_ttl_sub__about::before {
	content: "";
	position: absolute;
	top: -7px;
	right: calc(100% + 14px);
	display: block;
	width: 46px;
	height: 43px;
	background: url(/img/top/icon_logo.png) no-repeat center / contain;
}

/* ----------------------------------------
見出し2
---------------------------------------- */
.top_ttl2 {
	color: #2c3e50;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1;
	text-align: center;
}
.top_ttl2_sub {
	position: relative;
	display: inline-block;
	letter-spacing: .1em;
	text-indent: .1em;
}
.top_ttl2_sub.top_ttl2_sub__event::before {
	content: "";
	position: absolute;
	right: calc(100% + 11px);
	top: calc(50% - 20px);
	display: block;
	width: 34px;
	height: 40px;
	background: url(/img/top/deco_f.png) no-repeat center / contain;
}
.top_ttl2_sub.top_ttl2_sub__sns::before {
	content: "";
	position: absolute;
	right: calc(100% + 19px);
	top: calc(50% - 23px);
	display: block;
	width: 27px;
	height: 47px;
	background: url(/img/top/icon_sp.png) no-repeat center / contain;
}

/* ----------------------------------------
テキスト
---------------------------------------- */
.top_txt {
	color: #153d5d;
	font-size: 1.8rem;
	line-height: calc(36/18);
	letter-spacing: .1em;
	text-align: center;
}

/* ----------------------------------------
リンクボタン
---------------------------------------- */
a.top_linkBtn:-webkit-any-link {
	color: #153d5d;
	text-decoration: none;
}
a.top_linkBtn:-moz-any-link {
	color: #153d5d;
	text-decoration: none;
}
a.top_linkBtn:any-link {
	color: #153d5d;
	text-decoration: none;
}
.top_linkBtn {
	color: #153d5d;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 2rem;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 10px;
	min-height: 40px;
	padding: 0 28px;
	border: 1px solid #b3afaf;
	border-radius: 20px;
	background: #fff;
}
.top_linkBtn::after {
	content: "";
	display: block;
	width: 7px;
	height: 10px;
	background: url(/img/common/arrow_blue.png) no-repeat center / contain;
}
@media (hover: hover) {
	a.top_linkBtn:-webkit-any-link:hover {
		text-decoration: underline;
	}
	a.top_linkBtn:-moz-any-link:hover {
		text-decoration: underline;
	}
	a.top_linkBtn:any-link:hover {
		text-decoration: underline;
	}
	a:hover .top_linkBtn {
		text-decoration: underline;
	}
	a.top_linkBtn:hover,
	a:hover .top_linkBtn {
		color: #fff;
		background-color: #153d5d;
	}
	a.top_linkBtn:hover::after,
	a:hover .top_linkBtn::after {
		background-image: url(/img/common/arrow_white.png);
	}
}

/* ----------------------------------------
メニュー
---------------------------------------- */
ul.top_menu_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 20px;
}
li.top_menu_i {
	width: calc(100%/6 - 20px*5/6);
}
li.top_menu_i a {
	position: relative;
	color: inherit;
	text-decoration: none;
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 10px;
	min-height: 160px;
	height: 100%;
	padding: calc(10px - 1px);
	border: 1px solid #cdcdcd;
	border-radius: 20px;
	background: #fff;
	-webkit-box-shadow: 0 0 8px .8px rgb(0 0 0 / .15);
	        box-shadow: 0 0 8px .8px rgb(0 0 0 / .15);
}
li.top_menu_i.top_menu_i__ex a {
	background-color: #e8eaeb;
}
li.top_menu_i a::before {
	content: "";
	display: block;
	width: 102px;
	height: 80px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
li.top_menu_i.top_menu_i__01 a::before {
	background-image: url(/img/top/icon_menu_01.png);
}
li.top_menu_i.top_menu_i__02 a::before {
	background-image: url(/img/top/icon_menu_02.png);
}
li.top_menu_i.top_menu_i__03 a::before {
	background-image: url(/img/top/icon_menu_03.png);
}
li.top_menu_i.top_menu_i__04 a::before {
	background-image: url(/img/top/icon_menu_04.png);
}
li.top_menu_i.top_menu_i__05 a::before {
	background-image: url(/img/top/icon_menu_05.png);
}
li.top_menu_i.top_menu_i__ex a::before {
	content: none;
}
li.top_menu_i a > span {
	font-size: 1.6rem;
	line-height: calc(20/16);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	min-height: 40px;
}
li.top_menu_i.top_menu_i__ex a::after {
	content: "";
	position: absolute;
	right: 20px;
	bottom: 20px;
	display: block;
	width: 20px;
	height: 20px;
	border-radius: 100%;
	background: url(/img/common/arrow_white.png) no-repeat center / 5px auto #153d5d;
}
@media (hover: hover) {
	li.top_menu_i a:hover {
		text-decoration: underline;
	}
	li.top_menu_i.top_menu_i__ex a:hover::after {
		color: #153d5d;
		background-image: url(/img/common/arrow_blue.png);
		background-color: #fff;
		outline: 1px solid;
	}
}

/* ----------------------------------------
メニュー2
---------------------------------------- */
ul.top_menu2_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 20px;
}
li.top_menu2_i {
	width: calc(100%/5 - 20px*4/5);
}
li.top_menu2_i a {
	color: inherit;
	text-decoration: none;
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 14px;
	min-height: 140px;
	height: 100%;
	padding: 10px;
	border-radius: 10px;
	background: #eef9fd;
	-webkit-box-shadow: 0 0 8px .8px rgb(0 0 0 / .15);
	        box-shadow: 0 0 8px .8px rgb(0 0 0 / .15);
}
li.top_menu2_i a::before {
	content: "";
	display: block;
	width: 41px;
	height: 40px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
li.top_menu2_i.top_menu2_i__01 a::before {
	background-image: url(/img/top/icon_menu2_01.png);
}
li.top_menu2_i.top_menu2_i__02 a::before {
	background-image: url(/img/top/icon_menu2_02.png);
}
li.top_menu2_i.top_menu2_i__03 a::before {
	background-image: url(/img/top/icon_menu2_03.png);
}
li.top_menu2_i.top_menu2_i__04 a::before {
	background-image: url(/img/top/icon_menu2_04.png);
}
li.top_menu2_i.top_menu2_i__05 a::before {
	background-image: url(/img/top/icon_menu2_05.png);
}
li.top_menu2_i a > span {
	font-size: 1.6rem;
	line-height: calc(24/16);
	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: center;
	    -ms-flex-align: center;
	        align-items: center;
	min-height: 48px;
}
@media (hover: hover) {
	li.top_menu2_i a:hover {
		text-decoration: underline;
	}
}

/* ----------------------------------------
タブ
---------------------------------------- */
#top_tab_title {
	margin: 0 40px;
}
#top_tab_title ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	gap: 4px;
}
#top_tab_title ul li {
	width: 100%;
}
#top_tab_title ul li button {
	color: #707070;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 2rem;
	letter-spacing: .05em;
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 100%;
	min-height: 6rem;
	border-radius: 20px 20px 0 0;
	background: #fff;
}
#top_tab_title ul li.tab_on button {
	color: #2c3e50;
	font-size: 2rem;
	min-height: 7.5rem;
	background-color: #5cc4e8;
}
#top_tab_detail {
	margin: 3px 0 0;
	padding: 40px;
	border-radius: 20px;
	background: #fff;
	-webkit-box-shadow: 0 0 5px rgb(119 119 119 / .1);
	        box-shadow: 0 0 5px rgb(119 119 119 / .1); 
}
@media (hover: hover) {
	#top_tab_title ul li button:hover {
		text-decoration: underline;
	}
}

/* ----------------------------------------
新着情報
---------------------------------------- */
.top_news_list li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 20px;
	background: linear-gradient(to right, #cdcdcd 6px, transparent 6px) repeat-x left bottom;
	background-size: 8px 1px;
}
.top_news_list li:first-child {
	padding-top: 0;
}
.top_news_list li span {
	color: #2c3e50;
	display: block;
}
.top_news_list li span.article_date {
	width: 10em;
	font-size: 1.6rem;
	line-height: 2.8rem;
}
.top_news_list li span.article_title {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	font-size: 1.8rem;
	line-height: 2.8rem;
}
.top_news_list li span.article_title a {
	color: inherit;
}
.top_news_linkUnit {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 20px;
	margin: 40px 0 0;
}

/* ----------------------------------------
トピックス
---------------------------------------- */
#lettering {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 20px;
}
.lettering_box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	gap: 8px;
	width: calc(100%/3 - 20px*2/3);
}
.lettering_box_img {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	aspect-ratio: 320/225;
	border-radius: 20px;
	overflow: hidden;
}
.lettering_box_img:empty {
	background: url(/img/common/icon_noimage.png) no-repeat center / 99px auto #fff;
}
.lettering_box_img a {
	display: block;
	width: 100%;
	height: 100%;
}
.lettering_box_img a img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}
.lettering_box_text {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	color: #2c3e50;
	padding: 30px;
	border-radius: 20px;
	background: #eef9fd;
}
.lettering_box_text .article_date {
	font-size: 1.4rem;
}
.lettering_box_text .lettering_detail {
	-webkit-box-ordinal-group: 2;
	    -ms-flex-order: 1;
	        order: 1;
	font-size: 1.4rem;
	line-height: calc(25/14);
	letter-spacing: .05em;
	margin: 8px 0 0;
}
.lettering_box_text .article_title {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	margin: 13px 0 0;
}
.lettering_box_text .article_title a {
	color: inherit;
	text-decoration: none;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: calc(32/18);
	letter-spacing: .05em;
}

/* トピックス（サムネイルなし） */
#lettering + .topics_no_image_list {
	margin-top: 30px;
}

/* ----------------------------------------
イベント
---------------------------------------- */
.top_event_linkUnit {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	padding: 0 40px;
}
.top_event_countdown + .top_event_linkUnit {
	margin-top: 60px;
}
.top_event_linkUnit a.top_event_link {
	color: #2c3e50;
	text-decoration: none;
	font-size: 2rem;
	font-weight: bold;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 20px;
	min-height: 80px;
	padding: 0 60px;
	border-radius: 20px;
	background: #5cc4e8;
	-webkit-box-shadow: 0 0 8px .8px rgb(0 0 0 / .15);
	        box-shadow: 0 0 8px .8px rgb(0 0 0 / .15);
}
.top_event_linkUnit a.top_event_link::before,
.top_event_linkUnit a.top_event_link::after {
	content: "";
	display: block;
}
.top_event_linkUnit a.top_event_link::before {
	width: 35px;
	height: 35px;
	background: url(/img/top/icon_calendar.png) no-repeat center / contain;
}
.top_event_linkUnit a.top_event_link::after {
	width: 30px;
	height: 30px;
	background: url(/img/common/icon_arrow.png) no-repeat center / contain;
}
@media (hover: hover) {
	.top_event_linkUnit a.top_event_link:hover {
		text-decoration: underline;
	}
}

/* カウントダウン */
.count_down_box_wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 40px;
}
.count_down_box {
	width: calc(100%/2 - 40px/2);
	padding: 40px;
	border-radius: 20px;
	background: #f6f6f6;
	-webkit-box-shadow: 0 0 8px .8px rgb(0 0 0 / .15);
	        box-shadow: 0 0 8px .8px rgb(0 0 0 / .15);
}
.count_down_box2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	gap: 20px;
	height: 100%;
}
.count_down_box2 > span {
	display: block;
}
.count_down_box2 > span.count_img {
	width: 200px;
}
.count_down_box2 > span.count_img > span {
	display: block;
	aspect-ratio: 200/150;
	border-radius: 10px;
	background: #a8a7a8;
	overflow: hidden;
}
.count_down_box2 > span.count_img > span img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	   object-fit: contain;
}
.count_down_box2 > span.count_txt {
	width: calc(100% - 200px - 20px);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}
.count_down_box2 > span.count_txt:only-child {
	width: 100%;
}
.count_down_box2 > span.count_txt > span {
	color: #2c3e50;
	display: block;
}
.count_down_box2 > span.count_txt > span.count_title a {
	color: inherit;
	font-size: 1.8rem;
	letter-spacing: .05em;
}
.count_down_box2 > span.count_txt > span.count_comment {
	font-size: 1.4rem;
	line-height: calc(21/14);
	margin: 20px 0 0;
}
.count_down_box2 > span.count_txt > span.count_day {
	color: #cc0000;
	font-size: 1.8rem;
	font-weight: bold;
	margin-top: auto;
	text-align: right;
}
.count_down_box2 > span.count_txt > span.count_day span {
	font-size: 2.8rem;
	margin: 0 .5em;
}

/* ----------------------------------------
市の情報
---------------------------------------- */
ul.top_info_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
li.top_info_i {
	width: 260px;
	max-width: 100%;
	min-height: 500px;
}
a.top_info_box {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
		-ms-flex-direction: column;
			flex-direction: column;
	-webkit-box-pack: end;
		-ms-flex-pack: end;
			justify-content: flex-end;
	-webkit-box-align: stretch;
		-ms-flex-align: stretch;
			align-items: stretch;
	gap: 30px;
	height: 100%;
	padding: 40px 25px;
	border-radius: 20px;
	overflow: hidden;
}
a.top_info_box:-webkit-any-link {
	color: inherit;
	text-decoration: none;
}
a.top_info_box:-moz-any-link {
	color: inherit;
	text-decoration: none;
}
a.top_info_box:any-link {
	color: inherit;
	text-decoration: none;
}
li:nth-child(2n) a.top_info_box {
	color: #fff;
}
a.top_info_box::before {
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
@media (hover: hover) {
	a.top_info_box::before {
		-webkit-transition: 1s scale;
		transition: 1s scale;
	}
	a.top_info_box:hover {
		text-decoration: underline;
	}
	a.top_info_box:hover::before {
		scale: 1.1;
	}
}

li.top_info_i:nth-child(2n) a.top_info_box {
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	background-color: #000;
}
li.top_info_i.top_info_i__01 a.top_info_box::before {
	background-image: url(/img/top/img_ichikawa01.jpg);
}
li.top_info_i.top_info_i__02 a.top_info_box::before {
	background-image: url(/img/top/img_ichikawa02.jpg);
}
li.top_info_i.top_info_i__03 a.top_info_box::before {
	background-image: url(/img/top/img_ichikawa03.jpg);
}
li.top_info_i.top_info_i__04 a.top_info_box::before {
	background-image: url(/img/top/img_ichikawa04.jpg);
}
.top_info_ttl {
	position: relative;
	font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: .1em;
	text-shadow: 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff;
}
li:nth-child(2n) .top_info_ttl {
	text-shadow: none;
}
.top_info_txt {
	position: relative;
	font-size: 1.6rem;
	line-height: 3.2rem;
	letter-spacing: .1em;
	margin: -.6rem 0;
}
.top_info_btnUnit {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}

/* ----------------------------------------
アクセスマップ
---------------------------------------- */
.top_map_ttl {
	color: #153d5d;
	font-size: 1.6rem;
	font-weight: normal;
	line-height: 1;
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 12px;
	width: 198px;
	height: 198px;
	padding: 34px;
	border-radius: 100%;
	background: #fff;
	margin: 0 auto;
}
.top_map_dlUnit {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 30px;
	margin: 30px 0 0;
}
.top_map_dlUnit dl {
	margin: -.8px 0;
}
.top_map_dlUnit dt,
.top_map_dlUnit dd {
	color: #153d5d;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: calc(24/16);
	text-align: center;
}
.top_map_linkUnit {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	margin: 30px 0 0;
}

/* ----------------------------------------
キャラクターカード
---------------------------------------- */
.top_card_container {
	position: relative;
}
.top_card_unit {
	position: relative;
	z-index: 2;
}
@media screen and (min-width: 1081px) {
	.top_card .swiper-slide {
		opacity: 0;
		-webkit-transition: opacity .1s, -webkit-transform .1s;
		transition: opacity .1s, -webkit-transform .1s;
		transition: opacity .1s, transform .1s;
		transition: opacity .1s, transform .1s, -webkit-transform .1s;
	}
	.top_card .swiper-slide.swiper-slide-visible {
		opacity: .6;
	}
	.top_card .swiper-slide.swiper-slide-visible.swiper-slide-active {
		opacity: 1;
	}
}
.top_card_i .top_card_box img {
	display: block;
	margin-inline: auto;
	border-radius: 20px;
}
.top_card_control button {
	position: absolute;
	z-index: 1;
	display: block;
	width: 36px;
	height: 36px;
	border: 3px solid #fff;
	border-radius: 100%;
	background-repeat: no-repeat;
	background-position: center;
	background-color: #fbfbfb;
}
.top_card_control button.slide_control_prev,
.top_card_control button.slide_control_next {
	top: 50%;
	translate: 0 -50%;
	background-image: url(/img/common/arrow_blue.png);
	background-size: 9px auto;
}
.top_card_control button.slide_control_prev {
	rotate: 180deg;
	left: 165px;
}
.top_card_control button.slide_control_next {
	right: 165px;
}
.top_card_control button.slide_control_stop,
.top_card_control button.slide_control_play {
	bottom: 0;
	right: 165px;
}
.top_card_control button.slide_control_stop {
	background-image: url(/img/top/icon_stop.png);
	background-size: 9px auto;
}
.top_card_control button.slide_control_play {
	background-image: url(/img/top/icon_start.png);
	background-size: 12px auto;
	background-color: #20486a;
	border-color: #20486a;
}
.top_card_control button.slide_control_play.is-active,
.top_card_control button.slide_control_stop.is-active {
	display: none;
}
.top_card_linkUnit {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	margin: 30px 0 0;
}

/* ----------------------------------------
公式SNS
---------------------------------------- */
ul.top_sns_list {
	position: relative;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 20px 1fr 20px 1fr;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px 20px;
}
ul.top_sns_list::before {
	content: "";
	position: absolute;
	top: calc(100px + 7px);
	right: 78px;
	display: block;
	width: 195px;
	height: 157px;
	background: url(/img/top/deco_i.png) no-repeat center / contain;
}
li.top_sns_i {
	position: relative;
}
li.top_sns_i:nth-child(6) {
	-ms-grid-column: 1;
	-ms-grid-column-span: 1;
	grid-column: 1/2;
}
li.top_sns_i .top_sns_box {
	color: #2c3e50;
	text-decoration: none;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 2rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 26px;
	height: 100%;
	min-height: 100px;
	padding: 0 30px 0 25px;
	border: 1px solid #cdcdcd;
	border-radius: 5px;
	background: #fff;
	-webkit-box-shadow: 0 0 8px .8px rgb(0 0 0 / .15);
	        box-shadow: 0 0 8px .8px rgb(0 0 0 / .15);
}
li.top_sns_i img {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
}
li.top_sns_i .top_sns_box::after {
	content: "";
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	display: block;
	width: 20px;
	height: 20px;
	border-radius: 100%;
	background: url(/img/common/arrow_white.png) no-repeat center / 4px auto #153d5d;
	margin: 0 0 0 auto;
}
@media (hover: hover) {
	li.top_sns_i a.top_sns_box:hover {
		text-decoration: underline;
	}
	li.top_sns_i a.top_sns_box:hover img {
		opacity: 1;
	}
	li.top_sns_i a.top_sns_box:hover::after {
		color: #153d5d;
		background-image: url(/img/common/arrow_blue.png);
		background-color: #fff;
		outline: 1px solid;
	}
}

/* ----------------------------------------
人口・世帯数
---------------------------------------- */
.top_jinkou_box {
	min-height: 166px;
	padding: 0 0 0 calc(306px + 3px);
	background: url(/img/top/deco_j.png) no-repeat bottom 13px left 3px / 306px 166px;
}
.top_jinkou_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 23px;
}
.top_jinkou_list dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	text-align: center;
	width: 15rem;
	aspect-ratio: 1/1;
	border-radius: 100%;
	background: #fff;
}
.top_jinkou_list dl dt {
	color: #2c3e50;
	font-size: 1.4rem;
	font-weight: bold;
	letter-spacing: .05em;
	margin: 0 0 14px;
}
.top_jinkou_list dl dd {
	font-size: 1.4rem;
	line-height: 2.1rem;
	letter-spacing: .05em;
}
.top_jinkou_info {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 30px;
	margin: 30px 0 0;
}
.top_jinkou_info a.top_jinkou_link {
	color: inherit;
	font-size: 1.2rem;
	letter-spacing: .05em;
}
.top_jinkou_info span.top_jinkou_date {
	font-size: 1.2rem;
	letter-spacing: .05em;
}

/* ----------------------------------------
市川市について
---------------------------------------- */
ul.top_about_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 30px 20px;
}
li.top_about_i {
	width: 320px;
}
li.top_about_i .top_about_box {
	color: inherit;
	text-decoration: none;
}
li.top_about_i span.top_about_img {
	display: block;
	aspect-ratio: 320/145;
	border-radius: 20px;
	-webkit-box-shadow: 0 0 8px .8px rgb(0 0 0 / .15);
	        box-shadow: 0 0 8px .8px rgb(0 0 0 / .15);
	overflow: hidden;
}
li.top_about_i span.top_about_img img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}
li.top_about_i span.top_about_txt {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 1em;
	font-size: 1.8rem;
	line-height: calc(28/18);
	letter-spacing: .05em;
	padding: 0 20px;
	margin: 15px 0 0;
}
li.top_about_i span.top_about_txt::after {
	content: "";
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	display: block;
	width: 20px;
	height: 20px;
	border-radius: 100%;
	background: url(/img/common/arrow_white.png) no-repeat center / 4px auto #153d5d;
}
@media (hover: hover) {
	li.top_about_i a.top_about_box:hover {
		text-decoration: underline;
	}
	li.top_about_i span.top_about_img img {
		-webkit-transition: .5s scale;
		transition: .5s scale;
	}
	li.top_about_i a:hover span.top_about_img img {
		opacity: 1;
		scale: 1.1;
	}
	li.top_about_i a:hover span.top_about_txt::after {
		color: #153d5d;
		background-image: url(/img/common/arrow_blue.png);
		background-color: #fff;
		outline: 1px solid;
	}
}

/* ----------------------------------------
バナー広告
---------------------------------------- */
ul.top_banner_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 37px;
}
ul.top_banner_list li {
	width: 170px;
}
ul.top_banner_list li a {
	display: block;
}
ul.top_banner_list li img {
	display: block;
}

/* ==================================================
スマートフォン
================================================== */
@media screen and (max-width: 1100px) {

	/* ----------------------------------------
	メインビジュアル
	---------------------------------------- */
	#mainvisual {
		padding-block: 0;
		min-height: auto;
		background: none;
	}
	#mainvisual_box {
		display: block;
		max-width: none;
	}
	#mainvisual_box > * {
		width: auto;
		max-width: none;
	}

	/* ----------------------------------------
	トップスライド
	---------------------------------------- */
	#top_photo_wrap {
		padding: 15px 15px calc(90/375 * 100vw);
		background:
			-webkit-gradient(linear, left top, right top, from(rgb(92 196 232 / .6))),
			url(/img/top/mainvisual.jpg) no-repeat center bottom / 100% auto;
		background:
			linear-gradient(to right, rgb(92 196 232 / .6)),
			url(/img/top/mainvisual.jpg) no-repeat center bottom / 100% auto;
		background-color: #aaddf7;
	}
	#top_photo {
		max-width: 500px;
		margin-inline: auto;
	}
	#top_photo_list .photo_box {
		border-radius: 10px;
	}
	#top_photo_list .photo_caption {
		padding: 21px 30px;
		font-size: 1.4rem;
		line-height: calc(24/14);
	}

	/* スライドコントロール */
	#top_photo .slide_control {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		gap: 16px;
	}
	#top_photo .slide_pagination {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		gap: 11px;
	}
	#top_photo .slide_pagination .swiper-pagination-bullet {
		width: 20px;
		height: 20px;
		border-width: 2px;
	}
	#top_photo .slide_control_box {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		gap: 11px;
	}
	#top_photo .slide_control_box button {
		width: 34px;
		height: 34px;
		border-width: 2px;
	}

	/* ----------------------------------------
	トップ検索
	---------------------------------------- */
	#top_search_wrap {
		padding-inline: 15px;
		background: none;
		border-radius: 0;
		outline: none;
		outline-offset: 0;
	}
	.top_srch_ttl {
		gap: 0;
		margin-bottom: 14px;
	}
	.top_srch_ttl img {
		height: 55px;
		margin-bottom: 6px;
	}
	.top_srch_ttl::after {
		margin-top: 14px;
	}
	.top_srch_tabUnit {
		gap: 10px;
	}
	button.top_srch_tab {
		font-size: 1.2rem;
		min-height: 4rem;
		border-radius: 5px;
		border: 1px solid #cdcdcd;
	}
	button.top_srch_tab.is_active {
		font-size: 1.4rem;
	}
	button.top_srch_tab::before {
		top: calc(100% - 4px);
		height: 16px;
	}
	input.top_srch_txt {
		width: calc(100% - 7rem);
		border-radius: 5px 0 0 5px;
	}
	input.top_srch_btn {
		font-size: 1.5rem;
		width: 7rem;
		border-radius: 0 5px 5px 0;
	}
	.top_srch_note {
		padding-left: 0;
	}
	.top_srch_link {
		-webkit-box-pack: end;
		    -ms-flex-pack: end;
		        justify-content: flex-end;
	}
	.top_srch_btnUnit {
		gap: 30px;
	}

	/* 手続きナビゲーション ボタン */
	a.top_srch_naviBtn {
		border-radius: 5px;
	}

	/* 絞り込む ボタン */
	a.top_srch_filterBtn {
		-webkit-box-flex: 1;
		    -ms-flex: 1;
		        flex: 1;
		max-width: 50%;
		padding-inline: 5px;
		border-radius: 5px;
	}

	/* リンク */
	a.top_srch_quesBtn {
		padding-block: 5px;
	}
	a.top_srch_quesBtn br.c_onlySp {
		display: none;
	}

	/* 注目ワード */
	#search_trend_word p {
		margin-top: 20px;
	}

	/* ----------------------------------------
	レイアウト
	---------------------------------------- */
	.ly_section > [class^="top_"] {
		max-width: none;
		margin-inline: 15px;
	}

	/* menu */
	.ly_section.ly_section__menu {
		padding-block: 40px;
		background-image: repeating-linear-gradient(-45deg,#ffffff, #ffffff 3px, #eef9fd 3px, #eef9fd 6px);
	}
	.ly_section.ly_section__menu > .top_ttl {
		margin-bottom: 30px;
	}

	/* menu2 */
	.ly_section.ly_section__menu2 {
		padding-block: 40px;
	}
	.ly_section.ly_section__menu2 > .top_txt {
		margin-bottom: 26px;
	}
	.ly_section.ly_section__menu2 > [class^="top_"] {
		padding-inline: 10px;
	}

	/* news */
	.ly_section.ly_section__news {
		padding-block: 40px;
	}
	.ly_section.ly_section__news > .top_txt {
		margin-bottom: 26px;
	}
	.ly_section.ly_section__news > [class^="top_"] {
		padding-inline: 0;
	}

	/* event */
	.ly_section.ly_section__event {
		padding-block: 40px;
	}
	.ly_section.ly_section__event > .top_ttl2 {
		margin-bottom: 30px;
	}
	.ly_section.ly_section__event > [class^="top_"] {
		padding-inline: 0;
	}

	/* ichikawa */
	.ly_section.ly_section__ichikawa {
		padding-block: calc(40px + 15px);
		background-image: url(/img/top/wave_top.png), url(/img/top/wave_bottom.png);
		background-repeat: no-repeat;
		background-position: center top, center bottom;
		background-size: auto 15px;
	}
	.ly_section.ly_section__ichikawa > .top_txt.top_txt__catch {
		margin-top: 20px;
		margin-bottom: 32px;
	}
	.ly_section.ly_section__ichikawa > .top_map {
		padding-top: calc(20px + 258px);
		padding-bottom: calc(20px + 485px);
		background:
			url(/img/top/map.png) no-repeat center top -7px / 345px 265px,
			url(/img/top/map2.png) no-repeat center bottom / auto 485px;
		margin-top: 0;
	}

	/* card */
	.ly_section.ly_section__card {
		padding-top: 40px;
	}
	.ly_section.ly_section__card > .top_card {
		min-height: 378px;
		padding-top: 40px;
		padding-bottom: 20px;
		border-radius: 10px;
	}
	.ly_section.ly_section__card > .top_card .top_ttl2 {
		margin-bottom: 0;
	}

	/* sns */
	.ly_section.ly_section__sns {
		padding-block: 40px;
	}
	.ly_section.ly_section__sns > .top_ttl2 {
		margin-bottom: 30px;
	}
	.ly_section.ly_section__sns > [class^="top_"] {
		padding-inline: 10px;
	}

	/* about */
	.ly_section.ly_section__about {
		padding-block: 40px;
	}
	.ly_section.ly_section__about > [class^="top_"] {
		padding-inline: 10px;
	}
	.ly_section.ly_section__about > .top_ttl {
		margin-bottom: 30px;
	}
	.ly_section.ly_section__about > .top_about {
		margin-top: 40px;
	}

	/* add */
	.ly_section.ly_section__add > .top_ttl2 {
		margin-bottom: 30px;
	}
	.ly_section.ly_section__add > [class^="top_"] {
		padding-inline: 10px;
	}

	/* ----------------------------------------
	見出し
	---------------------------------------- */
	.top_ttl {
		font-size: 2.4rem;
		line-height: calc(36/24);
	}
	.top_ttl.top_ttl__menu {
		padding-bottom: calc(15px + 30px);
		background:
			url(/img/top/deco_a.png) bottom right calc(50% + 70px),
			url(/img/top/deco_b.png) bottom left calc(50% + 70px);
		background-repeat: no-repeat;
		background-size: auto 30px;
	}

	/* sub */
	.top_ttl_sub {
		line-height: calc(36/24);
		letter-spacing: .1em;
		text-indent: .1em;
	}
	.top_ttl_sub.top_ttl_sub__short {
		letter-spacing: .1em;
		text-indent: .1em;
	}
	.top_ttl_sub.top_ttl_sub__menu::before,
	.top_ttl_sub.top_ttl_sub__menu::after {
		content: none;
	}
	.top_ttl_sub.top_ttl_sub__menu2::before {
		top: 6px;
		right: calc(100% + 20px);
		width: 50px;
		height: 61px;
	}
	.top_ttl_sub.top_ttl_sub__menu2::after {
		top: 13px;
		left: calc(100% + 20px);
		width: 53px;
		height: 46px;
	}
	.top_ttl_sub.top_ttl_sub__news {
		padding-top: calc(36px + 20px);
		background-size: auto 36px;
	}
	.top_ttl_sub.top_ttl_sub__ichikawa::before {
		bottom: 6px;
		right: calc(100% + 17px);
		width: 63px;
		height: 70px;
	}
	.top_ttl_sub.top_ttl_sub__ichikawa::after {
		bottom: 16px;
		left: calc(100% + 11px);
		width: 88px;
		height: 75px;
	}
	.top_ttl_sub.top_ttl_sub__about {
		padding-left: calc(21px + 39px);
	}
	.top_ttl_sub.top_ttl_sub__about::before {
		top: -1px;
		right: auto;
		left: 0;
		width: 39px;
		height: 36px;
	}

	/* ----------------------------------------
	見出し2
	---------------------------------------- */
	.top_ttl2_sub {
		line-height: calc(36/24);
	}
	.top_ttl2_sub.top_ttl2_sub__event {
		padding-left: calc(34px + 11px);
	}
	.top_ttl2_sub.top_ttl2_sub__event::before {
		right: auto;
		left: 0;
		top: -2px;
	}
	.top_ttl2_sub.top_ttl2_sub__card {
		font-size: 2rem;
		line-height: calc(30/20);
	}
	.top_ttl2_sub.top_ttl2_sub__sns {
		padding-left: calc(17px + 21px);
	}
	.top_ttl2_sub.top_ttl2_sub__sns::before {
		right: auto;
		left: 0;
		top: 2px;
		width: 17px;
		height: 31px;
	}

	/* ----------------------------------------
	テキスト
	---------------------------------------- */
	.top_txt {
		font-size: 1.4rem;
		line-height: calc(21/14);
	}
	.top_txt.top_txt.top_txt__catch {
		font-size: 1.6rem;
		line-height: calc(28/16);
	}

	/* ----------------------------------------
	リンクボタン
	---------------------------------------- */
	.top_linkBtn {
		font-size: 1.3rem;
		padding-inline: 24px;
	}

	/* ----------------------------------------
	メニュー
	---------------------------------------- */
	ul.top_menu_list {
		gap: 14px;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
	}
	li.top_menu_i {
		width: calc(100%/3 - 14px*2/3);
	}
	li.top_menu_i a {
		gap: 5px;
		min-height: 100px;
		padding: calc(10px - 1px);
		border-radius: 5px;
	}
	li.top_menu_i a::before {
		width: 62px;
		height: 48px;
	}
	li.top_menu_i a > span {
		font-size: 1.1rem;
		line-height: calc(14/11);
		min-height: 28px;
	}
	li.top_menu_i.top_menu_i__ex a > span {
		line-height: 1;
		min-height: auto;
	}
	li.top_menu_i.top_menu_i__ex a::after {
		position: static;
	}

	/* ----------------------------------------
	メニュー2
	---------------------------------------- */
	ul.top_menu2_list {
		gap: 15px;
	}
	li.top_menu2_i {
		width: calc(100%/2 - 15px/2);
	}
	li.top_menu2_i a {
		gap: 5px;
		min-height: 90px;
		padding: 5px;
		border-radius: 5px;
	}
	li.top_menu2_i a > span {
		font-size: 1.2rem;
		line-height: calc(16/12);
		min-height: 32px;
	}

	/* ----------------------------------------
	タブ
	---------------------------------------- */
	#top_tab_title {
		margin-inline: auto;
	}
	#top_tab_detail {
		margin: 0;
		padding: 0;
		border-radius: 0;
		background: none;
		-webkit-box-shadow: none;
		        box-shadow: none;
	}
	.top_tab_detail_box {
		display: block !important;
	}
	.top_tab_detail_box + .top_tab_detail_box {
		margin-top: 20px;
	}
	.top_tab_detail_ttl {
		line-height: 1;
	}
	.top_tab_detail_btn {
		position: relative;
		color: #707070;
		font-size: 1.8rem;
		font-weight: bold;
		line-height: 3rem;
		text-align: center;
		letter-spacing: .05em;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		width: 100%;
		min-height: 60px;
		border: 1px solid #b3afaf;
		border-radius: 10px;
		background: #fff;
	}
	.top_tab_detail_box.is_active .top_tab_detail_btn {
		color: #2c3e50;
		font-size: 2rem;
		border-radius: 10px 10px 0 0;
		background-color: #5cc4e8;
	}
	.top_tab_detail_btn::before {
		content: "";
		display: block;
		position: absolute;
		top: calc(50% - 12px);
		right: 20px;
		width: 24px;
		height: 24px;
		border-radius: 100%;
		border: 2px solid #b3afaf;
		background: url(/img/common/arrow_white.png) no-repeat center / 6px auto #153d5d;
		rotate: 90deg;
		-webkit-transition: .5s rotate;
		transition: .5s rotate;
	}
	.top_tab_detail_box.is_active .top_tab_detail_btn::before {
		background-image: url(/img/common/arrow_blue.png);
		background-color: #fff;
		rotate: -90deg;
	}
	.top_tab_detail_box2 {
		display: -ms-grid;
		display: grid;
		-ms-grid-rows: 0fr;
		grid-template-rows: 0fr;
		-webkit-transition: .5s grid-template-rows;
		transition: .5s grid-template-rows;
	}
	.top_tab_detail_box.is_active .top_tab_detail_box2 {
		-ms-grid-rows: 1fr;
		grid-template-rows: 1fr;
	}
	.top_tab_detail_box2 > [class^="top_"] {
		overflow: hidden;
	}

	/* ----------------------------------------
	新着情報
	---------------------------------------- */
	.top_news {
		border-radius: 0 0 10px 10px;
		background-color: #fff;
	}
	.top_news_list {
		padding: 25px 10px 0;
	}
	.top_news_list li {
		display: block;
		padding: 16px 10px;
	}
	.top_news_list li span.article_date {
		width: auto;
		font-size: 1.3rem;
		line-height: 1;
	}
	.top_news_list li span.article_title {
		font-size: 1.6rem;
		line-height: 2.4rem;
		margin-top: 7px;
	}
	.top_news_linkUnit {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		gap: 10px;
		margin-top: 0;
		padding: 30px 20px;
	}

	/* ----------------------------------------
	トピックス
	---------------------------------------- */
	#lettering {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		padding: 20px 20px 0;
	}
	.lettering_box {
		gap: 5px;
		width: auto;
	}
	.lettering_box_img {
		aspect-ratio: 305/214;
		border-radius: 10px;
	}
	.lettering_box_text {
		padding: 25px 20px;
		border-radius: 10px;
	}
	.lettering_box_text .article_date {
		font-size: 1.3rem;
	}
	.lettering_box_text .lettering_detail {
		margin-top: 10px;
	}
	.lettering_box_text .article_title {
		margin-top: 10px;
	}
	.lettering_box_text .article_title a {
		font-size: 1.6rem;
		line-height: calc(27/16);
	}

	/* ----------------------------------------
	イベント
	---------------------------------------- */
	.top_event_linkUnit {
		padding-inline: 0;
	}
	.top_event_countdown + .top_event_linkUnit {
		margin-top: 30px;
	}
	.top_event_linkUnit a.top_event_link {
		font-size: 1.6rem;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		width: 100%;
		gap: 10px;
		padding-inline: 10px;
		border-radius: 10px;
	}

	/* カウントダウン */
	.count_down_box_wrap {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: 20px;
	}
	.count_down_box {
		width: auto;
		padding: 20px;
		border-radius: 10px;
	}
	.count_down_box2 > span.count_img {
		width: 120px;
	}
	.count_down_box2 > span.count_img > span {
		aspect-ratio: 120/90;
	}
	.count_down_box2 > span.count_txt {
		width: calc(100% - 120px - 20px);
	}
	.count_down_box2 > span.count_txt > span.count_title a {
		font-size: 1.6rem;
	}
	.count_down_box2 > span.count_txt > span.count_comment {
		margin-top: 12px;
	}
	.count_down_box2 > span.count_txt > span.count_day {
		font-size: 1.6rem;
	}
	.count_down_box2 > span.count_txt > span.count_day span {
		font-size: 2.4rem;
	}

	/* ----------------------------------------
	市の情報
	---------------------------------------- */
	ul.top_info_list {
		gap: 11px;
	}
	li.top_info_i {
		width: calc(100%/2 - 11px/2);
		max-width: none;
		min-height: auto;
	}
	li.top_info_i:nth-child(2n) {
		-webkit-box-ordinal-group: 2;
			-ms-flex-order: 1;
				order: 1;
	}
	a.top_info_box {
		gap: 14px;
		height: auto;
		padding: 30px 10px;
		border-radius: 10px;
		aspect-ratio: 167/385;
	}
	.top_info_ttl {
		font-size: 1.8rem;
		text-indent: .1em;
		text-align: center;
	}
	.top_info_txt {
		font-size: 1.2rem;
		line-height: 2.4rem;
	}
	.top_info_btnUnit {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}

	/* ----------------------------------------
	アクセスマップ
	---------------------------------------- */
	.top_map_dlUnit {
		gap: 15px;
	}
	.top_map_dlUnit dt,
	.top_map_dlUnit dd {
		font-size: 1.4rem;
		line-height: calc(21/14);
	}

	/* ----------------------------------------
	キャラクターカード
	---------------------------------------- */
	.top_card_unit[class*="swiper"] {
		padding-block: 22px;
	}
	.top_card_control button {
		width: 34px;
		height: 34px;
		border-width: 2px;
	}
	.top_card_control button.slide_control_prev {
		left: 0;
	}
	.top_card_control button.slide_control_next {
		right: 0;
	}
	.top_card_control button.slide_control_stop,
	.top_card_control button.slide_control_play {
		right: 0;
	}
	.top_card_linkUnit {
		margin-top: 20px;
	}

	/* ----------------------------------------
	公式SNS
	---------------------------------------- */
	ul.top_sns_list {
		-ms-grid-columns: 1fr 15px 1fr;
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}
	ul.top_sns_list:has(li.top_sns_i:last-child:nth-child(2n)) {
		padding-bottom: calc(103px + 32px);
	}
	ul.top_sns_list::before {
		top: auto;
		bottom: 0;
		right: 10px;
		width: 127px;
		height: 103px;
	}
	li.top_sns_i:nth-child(6) {
		grid-column: initial;
	}
	li.top_sns_i .top_sns_box {
		font-size: 1.2rem;
		line-height: 1.6rem;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		gap: 19px;
		min-height: 120px;
		padding-inline: 10px;
	}
	li.top_sns_i .top_sns_box::after {
		content: none;
	}

	/* ----------------------------------------
	人口・世帯数
	---------------------------------------- */
	.top_jinkou_box {
		min-height: auto;
		padding-left: 0;
		padding-top: calc(83px + 30px);
		background-position: top center;
		background-size: auto 83px;
	}
	.top_jinkou_list {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		gap: 15px 16px;
	}
	.top_jinkou_info {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		gap: 20px;
	}

	/* ----------------------------------------
	市川市について
	---------------------------------------- */
	li.top_about_i {
		width: 100%;
		max-width: 320px;
	}

	/* ----------------------------------------
	バナー広告
	---------------------------------------- */
	ul.top_banner_list {
		max-width: calc(170px * 2 + 20px);
		margin-inline: auto;
		gap: 20px;
	}
	ul.top_banner_list li {
		width: calc(100%/2 - 20px/2);
	}
	ul.top_banner_list li img {
		width: 100%;
	}

}
/* ==================================================
スマートフォン ここまで
================================================== */

/* ==================================================
背景色変更
================================================== */
.color_change .top_map_ttl img {
	-webkit-filter: drop-shadow(1px 1px #fff) drop-shadow(1px -1px #fff) drop-shadow(-1px 1px #fff) drop-shadow(-1px -1px #fff) !important;
			filter: drop-shadow(1px 1px #fff) drop-shadow(1px -1px #fff) drop-shadow(-1px 1px #fff) drop-shadow(-1px -1px #fff) !important;
}
.color_change #mainvisual,
.color_change .top_srch_ttl,
.color_change button.top_srch_tab::before,
.color_change .top_srch_content,
.color_change #search_trend_word h3,
.color_change a.top_srch_quesBtn,
.color_change .ly_section.ly_section__menu,
.color_change .ly_section.ly_section__ichikawa,
.color_change .ly_section.ly_section__card,
.color_change .ly_section.ly_section__card > .top_card,
.color_change .top_ttl,
.color_change .top_ttl_sub,
.color_change .top_ttl2,
.color_change .top_ttl_sub2,
.color_change .top_map_ttl,
.color_change .top_jinkou_box,
.color_change #top_photo_wrap,
.color_change .ly_section.ly_section__ichikawa > .top_map {
	background: none !important;
}
.color_change .top_srch_ttl img,
.color_change li.top_sns_i img {
	background-color: #fff !important;
}
.color_change a.top_srch_naviBtn::before,
.color_change a.top_srch_naviBtn::after,
.color_change a.top_srch_filterBtn::before,
.color_change .top_ttl_sub::before,
.color_change .top_ttl_sub::after,
.color_change .top_ttl2_sub::before,
.color_change .top_ttl2_sub::after,
.color_change li.top_menu_i a::before,
.color_change li.top_menu_i a::after,
.color_change li.top_menu2_i a::before,
.color_change .top_linkBtn::after,
.color_change .top_event_linkUnit a.top_event_link::before,
.color_change .top_event_linkUnit a.top_event_link::after,
.color_change li.top_sns_i .top_sns_box::after,
.color_change ul.top_sns_list::before,
.color_change li.top_about_i span.top_about_txt::after,
.color_change a.top_info_box::before {
	display: none !important;
}
.color_change a.top_srch_naviBtn,
.color_change a.top_srch_filterBtn,
.color_change li.top_menu2_i a,
.color_change .top_event_linkUnit a.top_event_link,
.color_change .count_down_box {
	border: 1px solid;
}
.color_change #top_photo .slide_control_box button.slide_control_prev,
.color_change #top_photo .slide_control_box button.slide_control_next,
.color_change .top_card_control button.slide_control_prev,
.color_change .top_card_control button.slide_control_next,
.color_change .top_tab_detail_btn::before {
	background-image: url(/img/common/arrow_white.png) !important;
}
.color_change .top_card_unit * {
	background-color: transparent !important;
}
.color_black #top_photo .slide_pagination .swiper-pagination-bullet.swiper-pagination-bullet-active,
.color_black .top_tab_detail_btn::before {
	background-color: #333 !important;
}
.color_blue #top_photo .slide_pagination .swiper-pagination-bullet.swiper-pagination-bullet-active,
.color_blue .top_tab_detail_btn::before {
	background-color: #00a !important;
}


/* 追加バナー（6から10） */
.top_banner_additional {
	width: min(100%,var(--content-width));
	padding-inline: 15px;
	margin-inline: auto;
	margin-block: 10px;
	box-sizing: border-box;
}
.top_banner_additional ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 10px;
}
.top_banner_additional :where(li,a,img){
	display: block;
}
.top_banner_additional ul img{
	width: auto;
	height: auto;
	max-width: 100%;
}
@media screen and (width < 1100px){
	.top_banner_additional li{
		/* width: 150px; */
	}
}

/* 追加バナー（6から10） ここまで*/