@charset "utf-8";

/* 足あとを非表示 */
#footstep_wrap {
	display: none !important;
}

/* MV */
#top_photo {
	width: 100%;
	height: 580px;
	position: relative;
	overflow: hidden;
}
#top_photo_list {
	width: 2000px;
	height: 580px;
	position: absolute;
	top: 0px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	        transform: translateX(-50%);
}
#top_photo_list .photo {
	width: 2000px;
	height: 580px;
	overflow: hidden;
}
#top_photo_list .photo a {
	display: block;
	width: 100%;
	height: 100%;
}
#top_photo_list .photo img {
	width: auto;
	height: 100%;
	vertical-align: top;
	display: block;
	margin: 0px auto;
}

/* MV（スライドショー） */
#mp_control_box {
	width: var(--content-width, 1080px);
	margin: 30px auto 0px;
}

div[class*="slide_control_box"] {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 20px;
}
div[class*="slide_control_box"] button[class*="btn_"] {
	display: inline-block;
	width: 32px;
	height: 32px;
	border: none;
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	color: inherit;
	margin: 0px;
	padding: 0px;
	text-align: left;
	text-indent: -9999em;
	overflow: hidden;
}
div[class*="slide_control_box"] button.btn_prev {
	background-image: url("/img/nw-top/btn-slide-prev.png");
}
div[class*="slide_control_box"] button.btn_next {
	background-image: url("/img/nw-top/btn-slide-next.png");
}
div[class*="slide_control_box"] button.btn_pause {
	background-image: url("/img/nw-top/btn-slide-stop.png");
}
div[class*="slide_control_box"] button.btn_play {
	background-image: url("/img/nw-top/btn-slide-start.png");
	display: none;
}

ul.slick-dots {
	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: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
ul.slick-dots li {
	margin: 6px;
}
ul.slick-dots li button {
	display: block;
	width: 24px;
	height: 24px;
	border: none;
	background: url("/img/nw-top/btn-slide-off.png") no-repeat center center transparent;
	color: inherit;
	margin: 0px;
	padding: 0px;
	text-align: left;
	text-indent: -9999em;
	overflow: hidden;
}
ul.slick-dots li.slick-active button {
	background-image: url("/img/nw-top/btn-slide-on.png");
}

/* MV2 */
#top_photo2_wrap {
	margin-top: 80px;
}

#top_photo2_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: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 21px;
}
#top_photo2_list .photo {
	width: 640px;
	max-width: calc(100% / 3 - 14px);
}
#top_photo2_list .photo a {
	display: block;
}
#top_photo2_list .photo img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

/* MV2（スライドショー） */
#top_photo2 {
	position: relative;
}
#top_photo2_list.slick-slider {
	overflow: hidden;
}
#top_photo2_list.slick-slider .slick-list {
	margin-left: -10px;
	margin-right: -10px;
}
#top_photo2_list.slick-slider .photo {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	max-width: none;
	padding: 0px 10px;
}

#top_photo2 .slide_control_box2 {
	width: calc(100% / 3 + 20px);
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
	z-index: 1;
	pointer-events: none;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}
#top_photo2 .slide_control_box2 button.btn_prev,
#top_photo2 .slide_control_box2 button.btn_next {
	pointer-events: auto;
	width: 40px;
	height: 40px;
}
#top_photo2 .slide_control_box2 button.btn_prev {
	background-image: url("/img/nw-top/btn-slide-prev2.png");
}
#top_photo2 .slide_control_box2 button.btn_next {
	background-image: url("/img/nw-top/btn-slide-next2.png");
}

#mp_control_box2 {
	width: var(--content-width, 1080px);
	margin: 30px auto 0px;
}

/* メイン */
#mymainback {
	padding: 80px 0px 120px;
}

h2, h3, h4 {
	font-family: var(--fontfamily-normal, sans-serif);
}

h2.midashi_h2 {
	margin: 0px;
	padding: 10px 0px;
	font-size: 3.2rem;
	line-height: 1.5;
	letter-spacing: 0.1em;
	border-bottom: 2px solid #a32126;
}

h3.midashi_h3 {
	margin: 0px 0px 10px;
	font-size: 2rem;
	line-height: 1.5;
}

div.link_box_ichiran {
	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: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	gap: 20px;
}
div.link_box_ichiran span {
	display: inline-block;
	vertical-align: top;
	width: 260px;
	max-width: 100%;
}
div.link_box_ichiran span a {
	display: block;
	border: 1px solid #a32126;
	border-radius: 20px;
	background: #ffffff;
	color: #333333;
	font-size: var(--fontsize-main-small, 1.5rem);
	line-height: 1.8rem;
	text-decoration: none;
	margin: 0px;
	padding: 10px 35px 10px 25px;
	text-align: center;
	position: relative;
	-webkit-transition: opacity 0.5s;
	-o-transition: opacity 0.5s;
	transition: opacity 0.5s;
}
div.link_box_ichiran a:hover,
div.link_box_ichiran a:focus {
	text-decoration: underline;
	opacity: 0.75;
}
div.link_box_ichiran a::before {
	content: '';
	display: block;
	width: 5px;
	height: 5px;
	border: 1px solid #a32126;
	border-left: none;
	border-bottom: none;
	position: absolute;
	right: 20px;
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(45deg);
	    -ms-transform: translateY(-50%) rotate(45deg);
	        transform: translateY(-50%) rotate(45deg);
}

/* 重要なお知らせ */
#top_important {
	margin-bottom: 120px;
	border: 1px solid #c7000b;
	border-radius: 10px;
	background: #f9e5e6;
	overflow: hidden;
}
#top_important .top_important_ttl {
	background: #c7000b;
	color: #ffffff;
	text-align: center;
	padding: 10px 20px;
}
#top_important .top_important_ttl h2 {
	display: inline-block;
	margin: 0px;
	font-size: 2.2rem;
	line-height: 3rem;
	background: url("/img/nw-top/icon-emer.png") no-repeat left center transparent;
	background-size: auto 40px;
	color: inherit;
	padding: 5px 30px 5px 55px;
}

#top_important .top_important_list {
	padding: 40px;
}
#top_important .top_important_list div.link_box_ichiran {
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
#top_important .top_important_list div.link_box_ichiran span a {
	border-color: transparent;
}

#top_important .top_important_list ul {
	margin: 0px;
	padding: 0px 0px 10px;
	list-style: none;
}
#top_important .top_important_list ul li {
	width: 100%;
	display: table;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 0px 0px 20px;
}
#top_important .top_important_list ul li > span {
	display: table-cell;
	vertical-align: top;
}
#top_important .top_important_list ul li > span.article_date {
	width: calc(11em + 10px);
	font-size: var(--fontsize-detail-small, 1.6rem);
	padding-top: 0.1rem;
}

/* 情報をさがす */

/* お知らせ */
#top_main_news {
	margin-top: 110px;
}

/* トピックス */
#top_topics {
	margin-top: 40px;
}

#lettering_box_wrap {
	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;
	padding: 0px 50px 30px;
}
#lettering_box_wrap .lettering_box {
	width: 305px;
}
#lettering_box_wrap .lettering_box .lettering_box_img div {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 305 / 210;
	overflow: hidden;
	background: #edd3d4;
	border-radius: 5px;
}
#lettering_box_wrap .lettering_box .lettering_box_img div:empty {
	background: url("/img/nw-common/noimage.png") no-repeat center center transparent;
	background-size: contain;
}
#lettering_box_wrap .lettering_box .lettering_box_img div img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	   object-fit: contain;
	-o-object-position: center;
	   object-position: center;
}
#lettering_box_wrap .lettering_box .lettering_box_img div a {
	display: block;
	width: 100%;
	height: 100%;
}

#lettering_box_wrap .lettering_box .lettering_box_text {
	margin-top: 15px;
	font-size: 1.6rem;
}
#lettering_box_wrap .lettering_box .lettering_box_text .article_date {
	font-size: 1.4rem;
	font-weight: bold;
}

#top_topics div.link_box_ichiran span.link_more {
	display: none;
}

/* トピックス（スライドショー） */
#mymainback_bg {
	overflow: hidden;
}

#lettering_box_wrap.slick-slider {
	padding: 0px;
	width: 2315px; /* 305×7＋余白30×6 */
	position: relative;
	left: 50%;
	-webkit-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	        transform: translateX(-50%);
}
#lettering_box_wrap.slick-slider .lettering_box {
	width: 305px;
	margin: 0px 15px;
}

#lettering {
	position: relative;
}
#lettering .slide_control_box2 {
	width: var(--content-width, 1080px);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 0px 15px;
	position: absolute;
	top: 89px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	        transform: translateX(-50%);
	z-index: 1;
	pointer-events: none;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}
#lettering .slide_control_box2 button.btn_prev,
#lettering .slide_control_box2 button.btn_next {
	pointer-events: auto;
}
#lettering .slide_control_box2 button.btn_prev {
	background-image: url("/img/nw-top/btn-slide-prev2.png");
}
#lettering .slide_control_box2 button.btn_next {
	background-image: url("/img/nw-top/btn-slide-next2.png");
}

#tp_control_box {
	width: 500px;
	margin-top: 30px;
	margin-bottom: -38px;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
}
.font_size_changed #tp_control_box {
	width: auto;
	margin-bottom: 30px;
}
#tp_control_box ul.slick-dots {
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
}

/* タブ */
#top_tab_wrap {
	margin-top: 80px;
}

#top_tab_title ul {
	margin: 0px 0px 10px;
	padding: 0px;
	list-style: none;
	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: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	gap: 20px;
}
#top_tab_title ul li {
	width: 100%;
}
#top_tab_title ul li button {
	display: block;
	width: 100%;
	border: 1px solid transparent;
	border-radius: 10px;
	background: #333333;
	color: #ffffff;
	font-size: 1.8rem;
	line-height: 2.8rem;
	text-decoration: none;
	padding: 15px 30px;
	text-align: center;
	position: relative;
	-webkit-box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.5);
	box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.5);
	-webkit-transition: opacity 0.5s, box-shadow 0.5s;
	-o-transition: opacity 0.5s, box-shadow 0.5s;
	transition: opacity 0.5s, box-shadow 0.5s;
}
#top_tab_title ul li button:hover,
#top_tab_title ul li button:focus {
	opacity: 0.75;
	-webkit-box-shadow: none;
	box-shadow: none;
}
#top_tab_title ul li button::before {
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	border: 2px solid #ffffff;
	border-left: none;
	border-bottom: none;
	position: absolute;
	right: 25px;
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(45deg);
	    -ms-transform: translateY(-50%) rotate(45deg);
	        transform: translateY(-50%) rotate(45deg);
}

#top_tab_title ul li.tab_on button,
#top_tab_title ul li.tab_on button:hover,
#top_tab_title ul li.tab_on button:focus {
	font-size: 2rem;
	background: #a32126;
	opacity: 1;
	-webkit-box-shadow: none;
	box-shadow: none;
	pointer-events: none;
}
#top_tab_title ul li.tab_on button::before {
	border-color: #a32126;
	width: 12px;
	height: 12px;
	right: auto;
	top: auto;
	bottom: -20px;
	left: 50%;
	-webkit-transform: translateX(-50%) rotate(135deg);
	    -ms-transform: translateX(-50%) rotate(135deg);
	        transform: translateX(-50%) rotate(135deg);
}

.top_tab_detail_box2 p.no_data {
	margin: 0px;
	padding: 30px 0px;
	text-align: center;
}

.top_tab_detail_list ul {
	margin: 0px;
	padding: 20px 0px 30px;
	list-style: none;
}
.top_tab_detail_list ul li {
	width: 100%;
	display: table;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 0px 0px 1px;
	padding: 15px 20px;
	background: #faf4f4;
	border-radius: 10px;
}
.top_tab_detail_list ul li:nth-child(2n) {
	background: #ffffff;
}
.top_tab_detail_list ul li > span {
	display: table-cell;
	vertical-align: top;
}
.top_tab_detail_list ul li > span.article_date {
	width: calc(11em + 10px);
	font-size: var(--fontsize-detail-small, 1.6rem);
	padding-top: 0.1rem;
	color: #bf272d;
	font-weight: bold;
}

.top_tab_detail_list ul li img.icon_new {
	vertical-align: middle;
	margin-left: 0.5em;
	width: 60px;
	height: auto;
}

/* カウントダウン */
#count_down_area_1 {
	margin-top: 80px;
}

.count_down_box_wrap {
	background: #f8e9ea;
	border-radius: 10px;
	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: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	gap: 30px;
	padding: 30px 30px 60px;
}
.count_down_box_wrap .count_down_box {
	width: calc(50% - 15px);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border: 1px solid transparent;
	background: #ffffff;
	border-radius: 5px;
	overflow: hidden;
	line-height: 1.5;
}

.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;
}

.count_down_box2 > span.count_txt {
	width: calc(100% - 200px);
	padding: 15px 20px;
}
.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: 5px;
	font-size: 1.4rem;
}
.count_down_box2 > span.count_txt > span.count_day {
	margin-top: 10px;
	font-size: 1.8rem;
	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.25em;
	margin-right: 0.25em;
	color: #bf272d;
}

#count_down_area_1 .link_box {
	text-align: center;
	margin-top: -25px;
	position: relative;
	z-index: 1;
}
#count_down_area_1 .link_box a {
	display: inline-block;
	border: 1px solid transparent;
	border-radius: 30px;
	background: #a32126;
	color: #ffffff;
	font-size: 1.6rem;
	line-height: 1.8rem;
	text-decoration: none;
	text-align: center;
	padding: 5px 40px 5px 50px;
	-webkit-transition: opacity 0.5s;
	-o-transition: opacity 0.5s;
	transition: opacity 0.5s;
}
#count_down_area_1 .link_box a:hover {
	opacity: 0.75;
}

#count_down_area_1 .link_box a span.icon {
	display: inline-block;
	text-align: left;
	background: url("/img/nw-top/icon-top-calendar.png") no-repeat left center transparent;
	color: inherit;
	padding: 10px 40px;
	position: relative;
}
#count_down_area_1 .link_box a span.icon::before {
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	border: 2px solid #ffffff;
	border-left: none;
	border-bottom: none;
	position: absolute;
	right: 0px;
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(45deg);
	    -ms-transform: translateY(-50%) rotate(45deg);
	        transform: translateY(-50%) rotate(45deg);
}
#count_down_area_1 .link_box a:hover span.icon {
	text-decoration: underline;
}

/* 高知市の情報 */
#top_main_information {
	margin-top: 110px;
}

#top_info_link {
	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: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}
#top_info_link .link_box_wrap {
	width: 705px;
	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: 45px;
}
#top_info_link .link_box_wrap .link_box {
	width: 330px;
}
#top_info_link .link_box_wrap .link_box a {
	display: block;
	color: #333333;
	font-size: 2.6rem;
	line-height: 3rem;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	position: relative;
}
#top_info_link .link_box_wrap .link_box span.ttl {
	display: block;
	text-align: center;
	position: absolute;
	width: 100%;
	left: 0px;
	right: 0px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	        transform: translateY(-50%);
	z-index: 1;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
#top_info_link .link_box_wrap .link_box.mayor span.ttl {
	padding-left: 150px;
}
.font_size_changed #top_info_link .link_box_wrap .link_box.mayor span.ttl {
	top: 0px;
	-webkit-transform: none;
	    -ms-transform: none;
	        transform: none;
}
#top_info_link .link_box_wrap .link_box.gikai span.ttl {
	text-shadow: 0px 0px 10px #ffffff, 0px 0px 10px #ffffff, 0px 0px 10px #ffffff, 0px 0px 10px #ffffff, 0px 0px 10px #ffffff;
}

#top_info_link .link_box_wrap .link_box span.ttl .txt1 {
	display: block;
	font-size: 1.8rem;
}
#top_info_link .link_box_wrap .link_box span.ttl .txt2 {
	display: block;
	font-size: 2.6rem;
}
#top_info_link .link_box_wrap .link_box span.ttl .txt3 {
	display: block;
	font-size: 1.4rem;
	margin-top: 10px;
}
#top_info_link .link_box_wrap .link_box span.ttl .txt4 {
	display: block;
	font-size: 2.4rem;
}
#top_info_link .link_box_wrap .link_box img {
	width: 100%;
	height: auto;
	vertical-align: top;
	border-radius: 5px;
}

#top_info_link ul.list_link {
	width: 330px;
	margin: 0px;
	padding: 0px;
	list-style: none;
}
#top_info_link ul.list_link li:nth-child(n+2) {
	margin-top: 20px;
}
#top_info_link ul.list_link li a {
	display: block;
	border: 1px solid #a32126;
	border-radius: 5px;
	background: #ffffff;
	color: #333333;
	font-size: 2rem;
	line-height: 2.8rem;
	text-decoration: none;
	padding: 15px 40px 15px 30px;
	text-align: left;
	position: relative;
	-webkit-transition: opacity 0.5s;
	-o-transition: opacity 0.5s;
	transition: opacity 0.5s;
}
#top_info_link ul.list_link li a::before {
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	border: 2px solid #a32126;
	border-left: none;
	border-bottom: none;
	position: absolute;
	right: 25px;
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(45deg);
	    -ms-transform: translateY(-50%) rotate(45deg);
	        transform: translateY(-50%) rotate(45deg);
}
#top_info_link ul.list_link li a:hover {
	text-decoration: underline;
	opacity: 0.75;
}

/* 事業PR */
#top_pr {
	margin-top: 80px;
}
#top_pr h3.midashi_h3 {
	font-size: 2.4rem;
}

#top_banner_3_list {
	margin: 0px;
	padding: 0px 45px;
	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: 10px;
}
#top_banner_3_list .bnr {
	width: 240px;
}
#top_banner_3_list .bnr a {
	display: block;
}
#top_banner_3_list .bnr img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

/* 事業PR（スライドショー） */
#top_banner_3_list_wrap {
	position: relative;
}
#top_banner_3_list.slick-slider {
	padding: 0px 40px;
}
#top_banner_3_list.slick-slider .bnr {
	max-width: 240px;
	margin: 0px 5px;
}

#top_banner_3_list_wrap .slide_control_box2 {
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
	z-index: 1;
	pointer-events: none;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}
#top_banner_3_list_wrap .slide_control_box2 button.btn_prev,
#top_banner_3_list_wrap .slide_control_box2 button.btn_next {
	pointer-events: auto;
}
#top_banner_3_list_wrap .slide_control_box2 button.btn_prev {
	background-image: url("/img/nw-top/btn-slide-prev2.png");
}
#top_banner_3_list_wrap .slide_control_box2 button.btn_next {
	background-image: url("/img/nw-top/btn-slide-next2.png");
}

#pr_control_box {
	margin-top: 30px;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
}
#pr_control_box ul.slick-dots {
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
}

/* 広報 */
#top_koho_sns {
	margin-top: 80px;
	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: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}
#top_koho_sns h3.midashi_h3 {
	width: 100%;
	font-size: 2.4rem;
}
#top_koho_sns div[class*="box_"] {
	background: #f8e9ea;
	border-radius: 10px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 30px;
	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: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	gap: 20px;
}

.box_koho {
	width: 440px;
}

.box_koho .txt {
	width: calc(100% - 190px);
	-webkit-box-ordinal-group: 3;
	    -ms-flex-order: 2;
	        order: 2;
}
.box_koho .txt h4 {
	margin: 0px;
	padding: 10px 0px;
	font-size: 1.5rem;
	line-height: 2rem;
	font-weight: normal;
	text-align: center;
}
.box_koho .txt h4 img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
	display: block;
	margin: 0px auto;
}
.box_koho .txt h4 span.ttl {
	display: inline-block;
	background: #ffffff;
	border-radius: 20px;
	margin: 0px 0px 15px;
	padding: 5px 20px;
}

.box_koho .txt .link_box {
	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: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	min-height: 144px;
	gap: 10px;
}
.box_koho .txt .link_box span.link {
	display: block;
	width: 100%;
}
.box_koho .txt .link_box span.link a {
	display: block;
	border: 1px solid #a32126;
	border-radius: 5px;
	background: #ffffff;
	color: #333333;
	font-size: 1.5rem;
	line-height: 1.8rem;
	text-decoration: none;
	padding: 15px 40px 15px 30px;
	text-align: left;
	position: relative;
	-webkit-transition: opacity 0.5s;
	-o-transition: opacity 0.5s;
	transition: opacity 0.5s;
}
.box_koho .txt .link_box span.link a::before {
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	border: 2px solid #a32126;
	border-left: none;
	border-bottom: none;
	position: absolute;
	right: 25px;
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(45deg);
	    -ms-transform: translateY(-50%) rotate(45deg);
	        transform: translateY(-50%) rotate(45deg);
}
.box_koho .txt .link_box span.link a:hover {
	text-decoration: underline;
	opacity: 0.75;
}

.box_koho .txt .link_box span.link.new a {
	background: #a32126;
	color: #ffffff;
}
.box_koho .txt .link_box span.link.new a::before {
	border-color: #ffffff;
}

.box_koho .img {
	width: 170px;
	-webkit-box-ordinal-group: 2;
	    -ms-flex-order: 1;
	        order: 1;
}
.box_koho .img a {
	display: block;
}
.box_koho .img img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

/* SNS */
.box_sns {
	width: 600px;
}

.box_sns .left {
	width: 320px;
}

.box_sns .right {
	width: 200px;
}
.box_sns .right div[class*="link_"] {
	display: block;
	width: 100%;
}
.box_sns .right div[class*="link_"]:nth-child(n+2) {
	margin-top: 20px;
}

.box_sns div[class*="link_"] a {
	display: block;
	border: 1px solid transparent;
	border-radius: 10px;
	background: #ffffff;
	color: #333333;
	font-size: 1.4rem;
	line-height: 1.8rem;
	text-decoration: none;
	text-align: center;
	padding: 30px 20px;
	-webkit-transition: opacity 0.5s;
	-o-transition: opacity 0.5s;
	transition: opacity 0.5s;
}
.box_sns div[class*="link_"] a:hover {
	opacity: 0.75;
}
.box_sns div.link_yt a {
	padding: 20px 20px 10px;
}

.box_sns div[class*="link_"] a span.icon {
	display: block;
	padding: 15px 0px 15px 55px;
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: left center;
	background-size: auto 40px;
	text-align: left;
}
.box_sns div[class*="link_"] a:hover span.icon {
	text-decoration: underline;
}
.box_sns div.link_yt a span.icon {
	display: inline-block;
	font-size: 1.6rem;
	background-image: url("/img/nw-top/icon-sns-movie.png");
}
.box_sns div.link_line a span.icon {
	background-image: url("/img/nw-top/icon-sns-line.png");
}
.box_sns div.link_sns a span.icon {
	background-image: url("/img/nw-top/icon-sns.png");
}

.box_sns div.link_yt a .img {
	display: block;
}
.box_sns div.link_yt a .img img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

/* 広告 */
#top_banner_kokoku_bg {
	background: #f1f1f1;
}
#top_banner_kokoku {
	width: var(--content-width, 1080px);
	margin: 0px auto;
	padding: 40px 0px;
	text-align: center;
}
#top_banner_kokoku h2 {
	margin: 0px;
	font-size: 2rem;
}
#top_banner_kokoku .link_box {
	text-align: right;
	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: 10px 20px;
	margin-top: -25px;
}
.font_size_changed #top_banner_kokoku .link_box {
	margin-top: 0px;
}
#top_banner_kokoku .link_box a {
	display: inline-block;
	font-size: 1.4rem;
	padding-right: 20px;
	position: relative;
}
#top_banner_kokoku .link_box a::before {
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	border: 1px solid #333333;
	border-left: none;
	border-bottom: none;
	position: absolute;
	right: 0px;
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(45deg);
	    -ms-transform: translateY(-50%) rotate(45deg);
	        transform: translateY(-50%) rotate(45deg);
}

ul#top_banner_kokoku_list {
	margin: 30px 0px 0px;
	padding: 0px;
	list-style: none;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	gap: 12px;
}
ul#top_banner_kokoku_list li {
	width: 170px;
}
ul#top_banner_kokoku_list li a {
	display: block;
}
ul#top_banner_kokoku_list li img {
	width: 100%;
	height: auto;
	vertical-align: top;
}


/* ==================================================
背景色変更
================================================== */
.color_change div.link_box_ichiran a::before,
.color_change #top_tab_title ul li.tab_on button::before,
.color_change #top_info_link ul.list_link li a::before,
.color_change .box_koho .txt .link_box span.link a::before,
.color_change #top_banner_kokoku .link_box a::before {
	border-color: #ffffff;
}
.color_change #top_tab_title ul li.tab_on button,
.color_change #top_tab_title ul li.tab_on button:hover,
.color_change #top_tab_title ul li.tab_on button:focus {
	background: none !important;
	text-decoration: none !important;
}
.color_change #top_banner_kokoku .link_box,
.color_change #top_photo2 .slide_control_box2,
.color_change #lettering .slide_control_box2,
.color_change #top_banner_3_list_wrap .slide_control_box2 {
	background: none !important;
}

.color_black #top_info_link .link_box_wrap .link_box.mayor span.ttl *,
.color_black #top_info_link .link_box_wrap .link_box.gikai span.ttl {
	background: #000000 !important;
}
.color_blue #top_info_link .link_box_wrap .link_box.mayor span.ttl *,
.color_blue #top_info_link .link_box_wrap .link_box.gikai span.ttl {
	background: #0000ff !important;
}
/* ==================================================
背景色変更 ここまで
================================================== */


/* ==================================================
スマートフォン
================================================== */
@media screen and (max-width: 1080px) {

	/* MV */
	#top_photo {
		width: 100%;
		height: auto;
	}
	#top_photo_list {
		position: static;
		-webkit-transform: none;
		    -ms-transform: none;
		        transform: none;
		width: 100%;
		height: auto;
	}
	#top_photo_list .photo {
		width: 100%;
		height: auto;
		aspect-ratio: 375 / 200;
	}
	#top_photo_list .photo img {
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		   object-fit: cover;
		-o-object-position: center;
		   object-position: center;
		margin: 0px;
	}

	/* MV（スライドショー） */
	#mp_control_box {
		width: auto;
		margin: 10px var(--mymainback-margin-side, 15px) 0px;
	}

	div[class*="slide_control_box"] {
		gap: 15px;
	}
	div[class*="slide_control_box"] button[class*="btn_"] {
		width: 24px;
		height: 24px;
	}

	/* MV2 */
	#top_photo2_wrap {
		margin: 30px 20px 0px;
	}
	#top_photo2_list {
		gap: 10px;
	}
	#top_photo2_list .photo {
		width: 100%;
		max-width: none;
	}

	/* MV2（スライドショー） */
	#mp_control_box2 {
		width: auto;
		margin: 10px var(--mymainback-margin-side, 15px) 0px;
	}
	#top_photo2 .slide_control_box2 {
		width: calc(100% + 30px);
	}
	#top_photo2 .slide_control_box2 button.btn_prev,
	#top_photo2 .slide_control_box2 button.btn_next {
		width: 24px;
		height: 24px;
	}

	/* メイン */
	#mymainback {
		margin: 0px var(--mymainback-margin-side, 15px);
		padding: 40px 0px 80px;
	}

	h2.midashi_h2 {
		font-size: 2.4rem;
		letter-spacing: 0.05em;
	}
	h3.midashi_h3 {
		font-size: 1.8rem;
	}

	div.link_box_ichiran {
		gap: 15px;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}
	div.link_box_ichiran span {
		width: 240px;
	}

	/* 重要なお知らせ */
	#top_important {
		margin-bottom: 50px;
		border-radius: 5px;
	}
	#top_important .top_important_ttl {
		padding: 5px 20px;
	}
	#top_important .top_important_ttl h2 {
		font-size: 2rem;
		padding: 5px 10px 5px 40px;
		background-size: auto 30px;
	}

	#top_important .top_important_list {
		padding: 20px 20px 25px;
	}
	#top_important .top_important_list ul li {
		width: auto;
		display: block;
		margin: 0px 0px 15px;
	}
	#top_important .top_important_list ul li > span {
		display: block;
	}
	#top_important .top_important_list ul li > span.article_date {
		width: auto;
		padding-top: 0px;
	}
	#top_important .top_important_list ul li a {
		display: block;
	}

	/* 情報をさがす */
	#top_main_search,
	#top_main_search h2.midashi_h2 {
		display: none;
	}
	.spm_search_open #top_main_search {
		display: block;
		position: fixed;
		top: 0px;
		left: 0px;
		right: 0px;
		z-index: 9998;
		background: #edd3d4;
		color: #333333;
		width: 100%;
		height: 100%;
		max-height: 100vh;
		max-height: 100dvh;
		overflow-y: auto;
		-ms-scroll-chaining: none;
		    overscroll-behavior: none;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		padding: 40px 20px 90px;
		text-align: left;
		letter-spacing: 0;
	}

	/* お知らせ */
	#top_main_news {
		margin-top: 0px;
	}

	/* トピックス */
	#top_topics {
		margin-top: 30px;
	}
	#lettering_box_wrap {
		padding: 0px;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		gap: 20px;
	}
	#lettering_box_wrap .lettering_box {
		width: 100%;
		max-width: 305px;
	}
	#lettering_box_wrap .lettering_box:nth-child(n+2) {
		display: none;
	}
	#top_topics.topics_more #lettering_box_wrap .lettering_box:nth-child(n+2) {
		display: block;
	}

	#lettering_box_wrap .lettering_box .lettering_box_text {
		margin: 10px 10px 0px;
		font-size: 1.5rem;
	}
	#lettering_box_wrap .lettering_box .lettering_box_text a {
		display: block;
	}

	#top_topics div.link_box_ichiran {
		margin-top: 25px;
	}
	#top_topics div.link_box_ichiran span.link_more {
		display: block;
		width: 100%;
		text-align: center;
	}
	#top_topics.topics_more div.link_box_ichiran span.link_more {
		display: none;
	}

	#top_topics div.link_box_ichiran span.link_more button#btn_topics_more {
		display: inline-block;
		width: 240px;
		border: 1px solid transparent;
		border-radius: 20px;
		background: url("/img/nw-common/icon-acc-open.png") no-repeat right 5px top 50% #f9e5e6;
		background-size: auto 28px;
		color: #333333;
		font-size: var(--fontsize-main-small, 1.5rem);
		line-height: 1.8rem;
		text-decoration: none;
		margin: 0px;
		padding: 10px 35px 10px 25px;
		text-align: center;
	}

	/* タブ */
	#top_tab_wrap {
		margin-top: 60px;
	}
	#top_tab_title {
		display: none !important;
	}
	.top_tab_detail_box {
		display: block !important;
		margin-bottom: 15px;
	}
	.top_tab_detail_box:last-child {
		margin-bottom: 0px;
	}

	.top_tab_detail_box h3.acc_title {
		width: auto;
		height: auto;
		background: #333333;
		border-radius: 10px;
		color: #ffffff;
		font-size: 1.8rem;
		line-height: 2rem;
		text-align: center;
		padding: 20px;
		-webkit-box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.5);
		box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.5);
	}
	.top_tab_detail_box h3.acc_title.acc_open {
		background: #a32126;
	}
	.top_tab_detail_box h3.acc_title.accordion .accordion_icon {
		margin: -20px;
		padding: 20px 40px;
		background: url("/img/nw-common/icon-acc-open.png") no-repeat right 15px top 50% transparent;
		background-size: auto 28px;
		color: inherit;
	}
	.top_tab_detail_box h3.acc_title.accordion.acc_open .accordion_icon {
		background-image: url("/img/nw-common/icon-acc-close.png");
	}

	.top_tab_detail_list ul {
		padding: 20px 0px;
	}
	.top_tab_detail_list ul li {
		display: block;
		width: auto;
		padding: 15px;
		border-radius: 5px;
	}
	.top_tab_detail_list ul li > span {
		display: block;
	}
	.top_tab_detail_list ul li > span.article_date {
		width: auto;
		padding-top: 0px;
	}
	.top_tab_detail_list ul li a {
		display: block;
	}

	.top_tab_detail_list ul li:has(img.icon_new) {
		position: relative;
	}
	.top_tab_detail_list ul li:has(img.icon_new) > span.article_date {
		padding-left: 45px;
	}
	.top_tab_detail_list ul li:has(img.icon_new) img.icon_new {
		margin: 0px;
		position: absolute;
		top: 20px;
		left: 15px;
		width: 40px;
		height: auto;
	}

	.top_tab_detail_box2 div.link_box_ichiran {
		padding-bottom: 15px;
	}

	/* カウントダウン */
	#count_down_area_1 {
		margin-top: 60px;
	}
	.count_down_box_wrap {
		gap: 20px;
		padding: 20px 20px 60px;
	}
	.count_down_box_wrap .count_down_box {
		width: 100%;
	}

	.count_down_box2 > span.count_img {
		width: 150px;
	}
	.count_down_box2 > span.count_txt {
		width: calc(100% - 150px);
		padding: 10px 15px 10px 10px;
	}
	.count_down_box2 > span.count_txt > span.count_comment {
		font-size: 1.2rem;
	}
	.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;
	}

	#count_down_area_1 .link_box a {
		font-size: var(--fontsize-main-small, 1.5rem);
		padding: 5px 20px;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		min-width: 260px;
	}
	#count_down_area_1 .link_box a span.icon {
		padding: 10px 25px 10px 40px;
	}

	/* 高知市の情報 */
	#top_main_information {
		margin-top: 50px;
	}

	#top_info_link {
		margin-top: 30px;
		display: block;
	}
	#top_info_link .link_box_wrap {
		width: auto;
		gap: 20px;
	}
	#top_info_link .link_box_wrap .link_box {
		width: calc(50% - 10px);
	}
	#top_info_link .link_box_wrap .link_box a,
	#top_info_link .link_box_wrap .link_box span.ttl .txt2 {
		font-size: 1.6rem;
		line-height: 1.5;
	}
	#top_info_link .link_box_wrap .link_box span.ttl {
		position: static;
		-webkit-transform: none;
		    -ms-transform: none;
		        transform: none;
		margin-top: 10px;
	}
	#top_info_link .link_box_wrap .link_box.mayor span.ttl {
		padding-left: 0px;
	}
	#top_info_link .link_box_wrap .link_box.gikai span.ttl {
		text-shadow: none;
	}
	#top_info_link .link_box_wrap .link_box span.ttl .sp_none {
		display: none !important;
	}

	#top_info_link ul.list_link {
		width: auto;
		margin-top: 25px;
	}
	#top_info_link ul.list_link li:nth-child(n+2) {
		margin-top: 15px;
	}
	#top_info_link ul.list_link li a {
		font-size: 1.6rem;
	}

	/* 事業PR */
	#top_pr {
		margin-top: 60px;
	}
	#top_pr h3.midashi_h3 {
		font-size: 1.8rem;
	}

	#top_banner_3_list {
		padding: 0px;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}

	/* 事業PR（スライドショー） */
	#top_banner_3_list.slick-slider {
		max-width: 520px;
		margin: 0px auto;
		-webkit-box-sizing: content-box;
		        box-sizing: content-box;
	}
	#top_banner_3_list.slick-slider a {
		max-width: 240px;
		margin: 0px 10px;
	}
	#top_banner_3_list.slick-slider img {
		max-width: 240px;
		margin: 0px 10px;
	}
	#top_banner_3_list.slick-slider a img {
		margin: 0px;
	}
	@media screen and (max-width: 670px) {
		#top_banner_3_list.slick-slider {
			max-width: 240px;
		}
		#top_banner_3_list.slick-slider a,
		#top_banner_3_list.slick-slider img {
			margin: 0px;
		}
	}

	/* 広報 */
	#top_koho_sns {
		margin-top: 60px;
	}
	#top_koho_sns h3.midashi_h3 {
		font-size: 1.8rem;
	}
	#top_koho_sns div[class*="box_"] {
		padding: 20px;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
	}

	.box_koho {
		width: 100%;
	}
	.box_koho .img {
		width: 120px;
	}
	.box_koho .txt {
		width: calc(100% - 140px);
	}
	.box_koho .txt h4 {
		padding: 0px 0px 10px;
	}
	.box_koho .txt h4 span.ttl {
		font-size: 1.3rem;
		margin-bottom: 5px;
	}

	.box_koho .txt .link_box {
		min-height: 95px;
	}
	.box_koho .txt .link_box span.link a {
		padding: 10px 25px 10px 20px;
	}
	.box_koho .txt .link_box span.link a::before {
		width: 6px;
		height: 6px;
		right: 15px;
	}

	/* SNS */
	.box_sns {
		margin-top: 20px;
		width: 100%;
	}

	.box_sns .left {
		width: 100%;
	}
	.box_sns .right {
		width: 100%;
		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: stretch;
		    -ms-flex-align: stretch;
		        align-items: stretch;
		gap: 20px;
	}
	.box_sns .right div[class*="link_"] {
		width: calc(50% - 10px);
	}
	.box_sns .right div[class*="link_"] a {
		padding: 30px 5px;
	}
	.box_sns .right div[class*="link_"] a span.icon {
		background-position: center top;
		padding: 50px 0px 0px;
		text-align: center;
	}
	.box_sns .right div[class*="link_"]:nth-child(n+2) {
		margin-top: 0px;
	}

	/* 広告 */
	#top_banner_kokoku {
		width: auto;
		margin: 0px var(--mymainback-margin-side, 15px);
		padding: 30px 0px;
	}
	#top_banner_kokoku h2 {
		margin-bottom: 10px;
	}
	#top_banner_kokoku .link_box {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		gap: 10px 35px;
		margin-top: 0px;
	}
	#top_banner_kokoku .link_box a {
		font-size: 1.3rem;
		padding-right: 15px;
	}

	ul#top_banner_kokoku_list {
		margin-top: 20px;
		gap: 10px;
	}
	ul#top_banner_kokoku_list li {
		width: calc(50% - 5px);
		max-width: 170px;
	}

}
/* ==================================================
スマートフォン ここまで
================================================== */