@charset "UTF-8";

/* 地域へのページ内リンク */
article.secondary > section.region-map {
	margin: 0 auto;
	text-align: center;
	/* background: #eef6e8; */
	/* width: 100%; */
	border-radius: 6px;
	padding: 5px 0;
}
.region-map .pref-block-wrap {
	margin: 0 auto;
	filter: opacity(0.7);
}
.region-map .pref-block-wrap ul {
	text-align: left;
	margin: 0 2px;
	font-size: 0;
	display: flex;
	flex-wrap: wrap;
}
.region-map .pref-block-wrap .pref {
	border-radius: 2px;
	display: inline-block;
	margin: 4px;
	text-align: center;
	vertical-align: top;
	width: calc((100% / 4) - 10px);
}
.region-map .pref-block-wrap .pref a {
	border-radius: 3px;
	box-sizing: border-box;
	color: #fff;
	font-size: 17px;
	display: inline-flex;
	text-align: center;
	text-decoration: none;
	justify-content: center;
	align-items: center;
	height: 35px;
	padding: 0 15px 0 5px;
	position: relative;
	gap: 5px;
	width: 100%;
}
.region-map .pref-block-wrap .inpage-links .pref a::before {
	content: "";
	border-left: 5px solid transparent;
	border-top: 5px solid #fff;
	border-right: 5px solid transparent;
	border-bottom: 0;
	display: inline-flex;
	justify-content: center;
	align-items: center;
}

@media screen and (max-width: 767px) {
	.region-map .pref-block-wrap .pref {
		width: calc((100% / 3) - 10px);
	}
}


/* 地方リスト */
ul.region-list {
	padding-bottom: 10px;
}
ul.region-list h3 a {
	text-decoration: underline;
}
ul.region-list li.region-title {
	height: 40px;
	display: block;
	background: rgba(0, 0, 0, 0.1);
	line-height: 40px;
	padding: 0 15px;
	font-weight: bold;
	margin: 20px 0 0;
	color: #FFF;
	font-size: 18px;
	border-radius: 2px 2px 0 0;
}
.region-list ul.inpage-links {
	display: flex;
	flex-direction: row;
	border-radius: 3px;
	margin: 10px;
}
.region-list ul.inpage-links li {
	display: inline-flex;
}
.region-list ul.inpage-links li a {
	border-radius: 3px;
	color: #000;
	display: inline-flex;
	text-align: center;
	text-decoration: underline;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	height: 30px;
	padding: 0 5px;
	font-size: 16px;
	position: relative;
	gap: 5px;
}
.region-list ul.inpage-links li a::before {
	content: "";
	border-left: 5px solid transparent;
	border-top: 5px solid #000;
	border-right: 5px solid transparent;
	border-bottom: 0;
	display: inline-flex;
	justify-content: center;
	align-items: center;
}
.to-inpage-links {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: end;
	width: calc(100% - 20px);
	margin: auto;
}
.to-inpage-links a {
	border-radius: 3px;
	display: inline-flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	height: 30px;
	position: relative;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	width: 40px;
	background: #fff;
}
.to-inpage-links a::before {
	content: "";
	border-left: 7px solid transparent;
	border-top: 0;
	border-right: 7px solid transparent;
	border-bottom: 7px solid #333;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	position: absolute;
}
.to-inpage-links .to-inpage-links__text {
	z-index: -9999;
}

main .pref-wrap h3 {
	background: transparent;
	border: none;
	border-radius: 2px;
	display: block;
	margin: 10px 0 0 10px;
	padding: 5px 0 2px;
	width: calc(100% - 42px);
}
main .pref-wrap h3::before,
main .pref-wrap h3::after {
	content: none;
}
main .pref-wrap.other_area h3 {
	display: flex;
	align-items: flex-end;
	padding: 5px 2px 2px;
}
main .pref-wrap h3 a {
	color: #333;
	font-size: 21px;
}
	
.region-list .region-title,
.region-list .pref-wrap {
  padding-top: 100px;
  margin-top: -100px;
}
.region-list.pref.hokkaido {background: #F1F4F7}
.region-list.pref.hokkaido .region-title {background: #8FA7BC}
.region-list.pref.tohoku {background: #F3F8FE}
.region-list.pref.tohoku .region-title {background: #99C6F2}
.region-list.pref.kanto {background: #F0F6FD}
.region-list.pref.kanto .region-title {background: #82B1ED}
.region-list.pref.chubu {background: #F9F3FF}
.region-list.pref.chubu .region-title {background: #CF9CF9}
.region-list.pref.kinki {background: #FEF3FE}
.region-list.pref.kinki .region-title {background: #F09EF2}
.region-list.pref.chugoku {background: #FEF4F9}
.region-list.pref.chugoku .region-title {background: #F4A7CF}
.region-list.pref.shikoku {background: #FEF5F5}
.region-list.pref.shikoku .region-title {background: #F4ACAE}
.region-list.pref.kyushu {background: #FCF7F2}
.region-list.pref.kyushu .region-title {background: #E4BB95}

ul.pref.prefList {
	font-size: 0;
	margin: 10px;
	background: #FFF;
	padding: 5px;
}
ul.pref.prefList li {
	display: inline-block;
	margin: 2px;
}
ul.pref.prefList li.regionList .title {
	width: 20px;
	height: 24px;
	line-height: 20px;
	text-align: center;
	color: #000;
	font-weight: bold;
	font-size: 16px;
}
ul.pref.prefList li a,
ul.pref.prefList li span {
	border-radius: 0;
	border-bottom: 1px solid #000;
	color: #000;
	display: block;
	font-size: 16px;
	text-decoration: none;
	margin: 0 1px;
	padding: 4px 3px 0;
	position: relative;
}
ul.pref.prefList li span {
	border-bottom: none;
	color: #862905;
	font-weight: bold;
}
ul.pref.prefList li a:hover {
	background: #EEE;
}


/* ========area======== */
.area-map {
	position: relative;
	background: linear-gradient(30deg, rgba(236, 236, 236, 0.5) 0%, rgba(236, 236, 236, 0.5) 200px, rgba(244, 244, 244, 0.5) 200px, rgba(244, 244, 244, 0.5) calc(100% - 200px), rgba(236, 236, 236, 0.5) calc(100% - 200px), rgba(236, 236, 236, 0.5) 100%), linear-gradient(100deg, rgba(217, 217, 217, 0.5) 0%, rgba(217, 217, 217, 0.5) 200px, rgba(247, 247, 247, 0.5) 200px, rgba(247, 247, 247, 0.5) calc(100% - 200px), rgba(225, 225, 225, 0.5) calc(100% - 200px), rgba(225, 225, 225, 0.5) 100%);
}
.area-phrase {
	background: #FFF;
	border: 1px solid #6aa33c;
	color: #6aa33c;
	font-size: 18px;
	font-weight: normal;
	top: 50px;
	left: 20px;
	padding: 4px 10px;
	position: absolute;
}
.area-phrase::before, 
.area-phrase::after {
	content: none;
}


/* ========日本地図======== */
.gridmap {
	border-radius: 3px;
	padding: 2em 0;
	display: grid;
	grid-template: 
		"... ... ... ... ... ... ... ... ... ... ... ... ... ... ... p01 p01 p01" 5fr
		"... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..." 1fr 
		"... ... ... ... ... ... ... ... ... ... ... ... ... ... ... p02 p02 ..." 2fr 
		"... ... ... ... ... ... ... ... ... ... ... ... ... ... ... p05 p03 ..." 2fr 
		"... ... ... ... ... ... ... ... ... ... ... ... p17 ... ... p06 p04 ..." 2fr 
		"... ... ... ... ... ... ... ... ... ... ... ... p17 p16 p15 p07 p07 ..." 2fr 
		"... ... p40 ... ... ... ... ... ... ... ... ... p18 p21 p20 p10 p09 ..." 2fr 
		"p42 p41 p44 ... p35 p35 p32 p32 p31 p31 p28 p26 p25 p21 p20 p11 p08 ..." 2fr 
		"... p43 p45 ... p35 p35 p34 p34 p33 p33 p27 p29 p24 p23 p19 p13 p12 ..." 2fr 
		"... p43 p45 ... ... ... ... ... ... ... p30 p30 ... ... p22 p14 p12 ..." 1fr 
		"... p43 p45 ... ... p38 p38 p37 p37 ... p30 p30 ... ... p22 p14 p12 ..." 1fr 
		"... p46 p46 ... ... p38 p38 p37 p37 ... ... ... ... ... ... ... ... ..." 1fr 
		"... p46 p46 ... ... p39 p39 p36 p36 ... ... ... ... ... ... ... ... ..." 1fr 
		"... ... ... ... ... p39 p39 p36 p36 ... ... ... ... ... ... ... ... ..." 1fr 
		"p47 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..." 2fr 
		/2fr 2fr 2fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 2fr 2fr 2fr 2fr 2fr 2fr 2fr 1fr;
	gap: 1px;
	grid-gap: 1px;
	margin: 0 auto 2em;
	height: 35em;
	width: 100%;
}
.gridmap {
	max-width: 700px;
}

.gridmap input {
  display: none;
}
.gridmap .pref {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  transition: all 0.2s ease;
}
.gridmap .pref a {
	color: #FFF;
	width: 100%;
	height: 100%;
	text-decoration: inherit;
	border-radius: inherit;
	display: inherit;
	align-items: inherit;
	justify-content: inherit;
	font-size: 13px;
}
.pref.hokkaido {background: #5F819F}
.pref.tohoku {background: #2E8CE4}
.pref.kanto {background: #0060DB}
.pref.chubu {background: #9D36F2}
.pref.kinki {background: #E138E6}
.pref.chugoku {background: #E94D9E}
.pref.shikoku {background: #EA5759}
.pref.kyushu {background: #C77528}
.gridmap .pref:active, .gridmap .pref:hover, .gridmap input:checked + .pref, .region-map .pref:hover {
  opacity: .8;
}
.pref:nth-of-type(1) {grid-area: p01}
.pref:nth-of-type(2) {grid-area: p02}
.pref:nth-of-type(3) {grid-area: p03}
.pref:nth-of-type(4) {grid-area: p04}
.pref:nth-of-type(5) {grid-area: p05}
.pref:nth-of-type(6) {grid-area: p06}
.pref:nth-of-type(7) {grid-area: p07}
.pref:nth-of-type(8) {grid-area: p08}
.pref:nth-of-type(9) {grid-area: p09}
.pref:nth-of-type(10) {grid-area: p10}
.pref:nth-of-type(11) {grid-area: p11}
.pref:nth-of-type(12) {grid-area: p12}
.pref:nth-of-type(13) {grid-area: p13}
.pref:nth-of-type(14) {grid-area: p14}
.pref:nth-of-type(15) {grid-area: p15}
.pref:nth-of-type(16) {grid-area: p16}
.pref:nth-of-type(17) {grid-area: p17}
.pref:nth-of-type(18) {grid-area: p18}
.pref:nth-of-type(19) {grid-area: p19}
.pref:nth-of-type(20) {grid-area: p20}
.pref:nth-of-type(21) {grid-area: p21}
.pref:nth-of-type(22) {grid-area: p22}
.pref:nth-of-type(23) {grid-area: p23}
.pref:nth-of-type(24) {grid-area: p24}
.pref:nth-of-type(25) {grid-area: p25}
.pref:nth-of-type(26) {grid-area: p26}
.pref:nth-of-type(27) {grid-area: p27}
.pref:nth-of-type(28) {grid-area: p28}
.pref:nth-of-type(29) {grid-area: p29}
.pref:nth-of-type(30) {grid-area: p30}
.pref:nth-of-type(31) {grid-area: p31}
.pref:nth-of-type(32) {grid-area: p32}
.pref:nth-of-type(33) {grid-area: p33}
.pref:nth-of-type(34) {grid-area: p34}
.pref:nth-of-type(35) {grid-area: p35}
.pref:nth-of-type(36) {grid-area: p36}
.pref:nth-of-type(37) {grid-area: p37}
.pref:nth-of-type(38) {grid-area: p38}
.pref:nth-of-type(39) {grid-area: p39}
.pref:nth-of-type(40) {grid-area: p40}
.pref:nth-of-type(41) {grid-area: p41}
.pref:nth-of-type(42) {grid-area: p42}
.pref:nth-of-type(43) {grid-area: p43}
.pref:nth-of-type(44) {grid-area: p44}
.pref:nth-of-type(45) {grid-area: p45}
.pref:nth-of-type(46) {grid-area: p46}
.pref:nth-of-type(47) {grid-area: p47}
.pref:nth-of-type(1), .pref:nth-of-type(47) {
  border-radius: 2px;
}
.pref:nth-of-type(2), .pref:nth-of-type(17), .pref:nth-of-type(35), .pref:nth-of-type(38), .pref:nth-of-type(40), .pref:nth-of-type(42) {
	border-top-left-radius: 2px;
}
.pref:nth-of-type(2), .pref:nth-of-type(17), .pref:nth-of-type(37), .pref:nth-of-type(40) {
	border-top-right-radius: 2px;
}
.pref:nth-of-type(12), .pref:nth-of-type(30), .pref:nth-of-type(36), .pref:nth-of-type(46) {
	border-bottom-right-radius: 2px;
}
.pref:nth-of-type(22), .pref:nth-of-type(30), .pref:nth-of-type(35), .pref:nth-of-type(39), .pref:nth-of-type(42), .pref:nth-of-type(46) {
	border-bottom-left-radius: 2px;
}

/* 強化中 */
.scroll-list .category {
	display: inline-block;
	width: 50px;
	border-radius: 5px;
	background: #33a !important;
	color: #fff;
	text-align: center;
	letter-spacing: 1px;
	font-size: 12px;
	padding: 5px 2px;
	height: 20px;
	line-height: 20px;
	vertical-align: middle;
}
.scroll-list .title {
	display: inline-block;
	width: calc(100% - 65px);
	font-size: 13px;
	padding-left: 0;
	vertical-align: middle;
	text-align: left;
	margin-left: 10px;
}
.scroll-list .scroll-item a {
	display: block;
	padding: 7px 15px 7px 7px;
	color: #333;
	font-size: 0;
	background: #eef0f1;
	text-decoration: none;
}



ul.aiueo-list {
	background: #fff;
	border-radius: 3px;
	display: flex;
	flex-direction: column;
	margin: 10px auto;
	padding: 5px 5px 15px;
	width: calc(100% - 10px);
	box-sizing: border-box;
}
.region-list ul.aiueo-list {
	width: calc(100% - 20px);
}
ul.aiueo-list li.city-list {
	margin: 5px 0 7px;
}
ul.aiueo-list .title {
	border-bottom: 3px solid #333;
	border-radius: 0;
	font-size: 21px;
	font-weight: bold;
	padding: 7px 5px;
	text-align: left;
	justify-content: left;
}
ul.aiueo-list .title.notExist {
	border: 0;
	padding: 0;
	font-size: 0;
	line-height: 0;
}
ul.aiueo-list ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 7px;
}
ul.aiueo-list ul li {
	display: inline-flex;
	justify-content: center;
	align-items: center;
}
ul.aiueo-list ul li a {
	border-radius: 3px;
	color: #000;
	font-size: 16px;
	display: inline-flex;
	text-align: center;
	text-decoration: underline;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 30px;
	padding: 0 5px;
}


.aiueoMap {
	background: #ececec;
	width: 100%;
	border-radius: 0;
	margin: 2em auto;
	text-align: center;
	padding: 1em 0;
}
.aiueoMap h2 {
	font-weight: bold;
}
.aiueoMap .chara-block-wrap {
	margin: 0 auto;
	font-size: 0;
}
.aiueoMap .chara-block {
	display: inline-block;
	width: calc((100% / 10) - 10px);
	height: 35px;
	margin: 5px 2px;
	min-width: 50px;
	line-height: 35px;
	border-radius: 0;
	max-width: 60px;
}
.aiueoMap .chara-block span {
	display: table;
	font-size: 19px;
	width: 100%;
	height: 100%;
	text-align: center;
}
.aiueoMap .chara-block a {
	background: #fff;
	border: 2px solid #333;
	border-radius: 3px;
	color: #353535;
	font-size: 20px;
	text-decoration: none;
	display: block;
	line-height: 34px;
	font-weight: bold;
}



.pref.prefList {
	font-size: 17px;
	padding: 8px 3px;
	justify-content: left;
}

.pref.prefList:is(:hover, :active),
input:checked + .pref.prefList {
	font-weight: normal;
}

.city-list ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 7px;
}
.city-list ul li {
	display: inline-flex;
}
.city-list ul li a,
.city-list ul li span {
	border-radius: 3px;
	color: #000;
	display: inline-flex;
	text-align: center;
	text-decoration: underline;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 35px;
	padding: 0 5px;
}
.city-list ul li a:is(:hover, :active, :focus) {
	box-shadow: 70px 50px 0 rgba(0, 0, 0, .1) inset;
}
.city-list ul li span {
	font-size: 16px;
	font-weight: bold;
	text-decoration: none;
}



/* 
お知らせ、ブログ
*/
.rb-news {
	background-color: var(--bg-content-color);
	border-radius: var(--content-border-radius);
}



@media screen and (max-width: 767px) {
	.area-wrap {
		margin-bottom: 10px;
	}
	.area-map {
		background: transparent;
	}
	.area-phrase {
		background: #eef6e8;
		font-size: 14px;
		position: static;
		border: 1px solid #cbeab4;
	}
	.gridmap {
		padding: 0;
		display: inline-block;
		height: auto;
		width: 100%;
		font-size: 0;
	}
	.gridmap .pref {
		margin: 3px 2px;
		display: inline-block;
		width: calc((100%/5) - 5px);
		text-align: center;
		height: 35px;
		line-height: 35px;
	}
	.gridmap .pref a {
		font-size: 12px;
	}
	.region-map .pref-block-wrap .pref a {
		font-size: 16px;
		padding: 0 2px;
	}
	ul.aiueo-list {
		width: 100%;
	}
	main .pref-wrap h3 {
		padding: 10px 12px 2px;
	}
	.region-list ul.inpage-links {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
	}
	.region-list .region-title, .region-list .pref-wrap {
		padding-top: 10px;
		margin-top: -10px;
	}
}

@media screen and (min-width: 480px){
	.region-map .pref-block-wrap .pref:last-child {
		margin-right: 0;
	}
	.region-map .pref-block-wrap .pref {
		margin-right: 5px;
	}
}


.first-letter::first-letter {
	float: left;
	font-size: 3em;
}

.column-wrap.blanch_office img {
	object-fit: cover;
	margin: auto;
	height: 150px;
	width: 250px;
}

