@charset "utf-8";

/*共通*/

main {
	font-family: "Original Yu Gothic", "Yu Gothic", "游ゴシック", "Yu Gothic", YuGothic, sans-serif;
	font-size: 16px;
	line-height: 1.75;
	letter-spacing: 0px;
}

/*@media screen and (max-width: 767px){

	main {
		font-size: 14px;
	}

	}*/

	.sp{
		display: none;
	}

	@media screen and (max-width: 767px){

		.sp{
			display: block;
		}

	}

	#wrapper {
		width: 100%;
	}

	#topicpath,.firstview__inner, .section__inner {
		width: calc(100% - 40px);
		max-width: 1000px;
		margin: 0 auto;
	}

	@media screen and (max-width: 767px){

		.firstview__inner, .section__inner {
			width: calc(100% - 20px);
		}

	}

	#h_inner{
		max-width: 1000px;
		margin: 0 auto;
	}

	a:link{
		color: #333;
		text-decoration: underline;
	}

	a:visited{
		color: #23b4d4;
	}

	p.is-attention{
		text-align: center;
		color: #ff0000;
		font-size: 16px;
		font-weight: bold;
	}

	@media screen and (max-width: 767px){


		p.is-attention{
			font-size: 14px;
		}

	}

	.is-attention02{
		text-align: center;
		color: #ff0000;
		font-size: 14px;
		font-weight: bold;
	}
	@media screen and (min-width: 768px){
		p.is-attention{
			font-size: 16px;
		}
	}

	/*ヘッダー*/

	#gnavi{
		background: unset;
	}

	#gnavi::before{
		display: none;
	}

	#header #utility.wide::after{
		display: none;
	}

	#header #utility.wide {
		margin-bottom: 0;
	}

	#size_area{
		display: none;
	}

	/*フッター*/
	#footer #copyright{
		background-color: #23b4d4;
	}

	/*パンくず*/
	#topicpath{
		margin-top: 15px;
		text-align: left;
		font-size: 14px;
	}

	#topicpath a:link,
	#topicpath a:visited{
		color: #23b4d4;
	}

	@media screen and (max-width: 767px){

		#topicpath{
			font-size: 12px;
		}

	}

	/*LV*/

	.firstview {
		width: 100%;
		border-top: 8px solid #18b1d2;
		border-bottom: 8px solid #18b1d2;
	}

	.firstview__border {
		border-top: 2px solid #fff;
		border-bottom: 2px solid #fff;
		background: url(../common/img/firstview_bg_b.png) left top;
	}

	.firstview__inner img{
		width: 100%;
	}

	.firstview__img__pc{
		display: block;
	}

	.firstview__img__sp{
		display: none;
	}

	@media screen and (max-width: 767px){

		.firstview__img__sp{
			display: block;
		}

		.firstview__img__pc{
			display: none;
		}

		.firstview__inner{
			box-sizing: border-box;
			max-width: 500px;
			padding: 20px;
		}

	}


	/*セクション*/

	.section {
		padding: 60px 0 100px;
	}

	@media screen and (max-width: 767px){

		.section {
			padding: 40px 0 60px;
		}

	}

	.section__point {
		margin-top: 3rem;
	}

	.section__namelist {
		margin-left: 17rem;
	}

	.section__linkbtn {
		margin-top: 3.2rem;
	}

	.section--txc {
		text-align: center;
	}

	/*タイトル*/

	.section__title {
		position: relative;
		font-size: 26px;
		text-align: center;
		margin: 90px auto 30px;
		letter-spacing: 0.05em;
		color: #000;
	}

	.section__title.b10{
		margin-bottom: 10px;
	}


	@media screen and (max-width: 767px){

		.section__title {
			font-size: 22px;
		}

	}

	.section__title::before{
		content: '';
		display: block;
		position: absolute;
		top: -90px;
		left: 0;
		right: 0;
		margin: auto;
		width: 70px;
		height: 70px;
		background-color: #23b4d4;
		border-radius: 53% 47% 70% 30% / 48% 48% 52% 52% ;
	}

	.section__title::after{
		content: '';
		display: block;
		position: absolute;
		top: -75px;
		left: -5px;
		right: 0;
		margin: auto;
		width: 40px;
		height: 40px;
		background-image: url(../contact-by-municipality/img/ico_tel.svg);
		background-repeat: no-repeat;
		background-size: contain;
	}

	@media screen and (max-width: 767px){
		.l_ttl_01.ls-005{
			letter-spacing: 0.05em;
		}
	}

	.section__subtitle{
		position: relative;
		box-sizing: border-box;
		margin-left: 5px;
		padding-left: 30px;
		text-align: left;
		letter-spacing: 0.05em;
		font-size: 24px;
		color: #000;
	}

	@media screen and (max-width: 767px){

		.section__subtitle {
			font-size: 22px;
		}

	}

	.section__subtitle::before{
		content: '';
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		width: 1em;
		height: 1em;
		background-image: url(../contact-by-municipality/img/bg_ribbon.svg);
		background-repeat: no-repeat;
		background-size: contain;
	}

	.section__text{
		font-size: 15px;
		text-align: left;
		display: flex;
		justify-content: center;
	}
	@media screen and (min-width: 768px){
		.section__text{
			font-size: 16px;
		}
	}
	
	.section__text__in{
		max-width: 760px;
		margin: 0 auto;
	}

	/*テーブル*/


	/*角丸テーブルの記述*/
	main table {
		border: 1px solid #000;
		border-collapse: separate;
		border-spacing: 0;
		border-radius: 8px;
		overflow: hidden;
	}
	main table th,
	main table td {
		text-align: center;
		vertical-align: middle;
		padding: 10px 5px;
		border-bottom: 1px solid #000;
		border-right: 1px solid #000;
	}
	main table td:last-child{
		border-right: none;
	}
	
	main table th + th {
		border-left: 1px solid #000;
	}

	main table tr:last-child th,
	main table tr:last-child td {
		border-bottom: none;
	}

	main table th.bold,
	main table td.bold{
		background-color: #23b4d4;
		color: #FFF;
	}

	@media screen and (max-width: 767px){

		main table th,
		main table td {
			font-size: 14px;
		}

		main table.is-sm th,
		main table.is-sm td {
			font-size: 12px;
		}

	}

	/*ページトップ*/
	.pagetop{
		display: block;
		width: 50px;
		height: 50px;
		margin: 20px 0px 0px auto;
		border-radius: 45% 55% 45% 55% / 54% 56% 44% 46% ;
		background-color: #23b4d4;
	}

	@media screen and (max-width: 767px){

		.pagetop{
			width: 40px;
			height: 40px;
		}

	}

	.pagetop::before{
		display: none;
	}

	.pagetop a{
		display: flex;
		width: 100%;
		height: 100%;
		justify-content: center;
		align-items: center;
	}

	.pagetop img{
		width: 50%;
		height: 50%;
		margin-left: 5px;
	}

	/*2022/02/22 add コロナセクション*/

	.subSection{
		padding-bottom: 40px;
	}
	.subSection__in{
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		align-items: center;
		max-width: 760px;
		margin: auto;
		padding: 30px 40px;
		background-color: #F0F0F0;
	}

	.subSection__ttl{
		margin-bottom: 15px;
		text-align: center;
		line-height: 1.4;
		font-size: 16px;
		font-weight: bold;
	}

	.subSection__ld{
		margin-bottom: 15px;
		text-align: left;
		font-size: 14px;
	}

	.subSection__link{
		text-align: left;
	}
	.subSection__link,
	.subSection__link a{
		word-break: break-all;
		font-size: 14px;
	}

	@media screen and (max-width: 767px){
		.subSection__in{
			padding: 30px 20px;
		}
		.subSection__ttl{
			font-size: 15px;
		}
		.subSection__ld{
			font-size: 13px;
		}
		.subSection__link,
		.subSection__link a{
			font-size: 13px;
		}
	}











