@charset "utf-8";



/* --------------------------------------------------------------------------------
essential
-------------------------------------------------------------------------------- */

div#general {
	background-color: transparent;
}



/* --------------------------------------------------------------------------------
misc
-------------------------------------------------------------------------------- */

div#general br.sp {
	display: inline;
}



/* --------------------------------------------------------------------------------
page
-------------------------------------------------------------------------------- */

div#general div#page {
	width: auto;
	border-left: none;
	border-right: none;
	background-color: transparent;
}



/* --------------------------------------------------------------------------------
header
-------------------------------------------------------------------------------- */

div#general div#header div.top {
	display: none;
}
div#general div#header h1#logo img {
	height: 45px;
}
div#general div#header div.logo-misc {
	height: auto;
	padding-right: 0px;
	background-color: transparent;
	background-image: none;
}
div#general div#header div.logo-misc h1#logo {
	float: none;
	padding: 0px;
}
div#general div#header div.logo-misc div.misc {
	display: none;
}



/* --------------------------------------------------------------------------------
header (home)
-------------------------------------------------------------------------------- */

div#general.home div#header {
	padding: 15px 10px 10px 10px;
}
div#general.home div#header div.logo-misc {
	position: relative;
}
div#general.home div#header div.logo-misc h1#logo {
	padding: 0px;
}
div#general.home div#header div.logo-misc p.button-disaster {
	display: block;
	position: absolute;
	width: 45px;
	height: 40px;
	right: 0px;
	top: 0px;
	text-align: center;
	font-size: 85.71%;
	font-weight: 700;
}
div#general.home div#header div.logo-misc p.button-disaster a {
	display: block;
	position: relative;
	height: 100%;
	text-decoration: none;
	color: #ffffff;
	background-color: #d24632;
	border-radius: 5px;
	box-shadow: 0px 5px 0px #ad130a;
}
div#general.home div#header div.logo-misc p.button-disaster a span {
	display: block;
	padding-top: 15px;
	background: url(/share/imgs/icon-disaster.png) no-repeat center 7px;
	background-size: auto 11px;
}



/* --------------------------------------------------------------------------------
header (disaster)
-------------------------------------------------------------------------------- */

div#general.disaster div#header {
	padding: 15px 10px 10px 10px;
}
div#general.disaster div#header h1#logo,
div#general.disaster div#header p.description {
	float: none;
}
div#general.disaster div#header h1#logo {
	margin: 0px 0px 5px 0px;
}
div#general.disaster div#header p.description,
div#general.disaster div#header p.link {
	line-height: 1.6em;;
}
div#general.disaster div#header p.link {
	float: none;
	text-align: right;
}



/* --------------------------------------------------------------------------------
emergency
-------------------------------------------------------------------------------- */

div#general div#emergency {
	padding: 10px;
}
div#general div#emergency p {
	line-height: 1.6em;
	padding-left: 80px;
}
div#general div#emergency p span.label {
	width: 70px;
	font-size: 100%;
}
div#general div#emergency p span.headline {
	font-size: 100%;
}



/* --------------------------------------------------------------------------------
navi-main
-------------------------------------------------------------------------------- */

div#general div#navi-main div.row {
	width: 33.33%;
}
div#general div#navi-main div.row:nth-child(4n+1) {
	clear: none;
}
div#general div#navi-main div.row:nth-child(3n+1) {
	clear: both;
}
div#general div#navi-main div.row p.image {
	display: none;
}
div#general div#navi-main div.row h3 {
	display: table;
	width: 100%;
	height: 65px;
	font-size: 114.29%;
	line-height: 1.4em;
	padding: 0px;
	background-color: #008044;
}
div#general div#navi-main div.row:nth-child(2n) h3 {
	background-color: #14876e;
}
div#general div#navi-main div.row.active h3 {
	color: #ffffff;
	background-color: #c55600;
}
div#general div#navi-main div.row h3 span {
	display: table-cell;
	vertical-align: middle;
}
div#general div#navi-main div.row ul {
	top: 65px;
}
div#general div#navi-main div.row ul li {
	font-size: 85.71%;
	line-height: 1.4em;
}
div#general div#navi-main div.row ul li a {
	padding: 10px;
}



/* --------------------------------------------------------------------------------
main
-------------------------------------------------------------------------------- */

div#general div#main {
	padding: 15px 10px;
}
div#general div#main p.page-top {
	padding-top: 15px;
}



/* --------------------------------------------------------------------------------
main (disaster)
-------------------------------------------------------------------------------- */

div#general.disaster div#main div.banner {
	margin: 0px -10px 20px -10px;
}
div#general.disaster div#main div.banner p.row {
	float: none;
	width: auto;
	border-top: 2px solid #2d4280;
	border-bottom: none;
	margin-right: 0px;
}
div#general.disaster div#main div.banner p.row:last-child {
	border-bottom: 2px solid #2d4280;
}
div#general.disaster div#main div.banner p.row:nth-child(3n+1) {
	width: auto;
}



/* --------------------------------------------------------------------------------
main (home)
-------------------------------------------------------------------------------- */

div#general.home div#main {
	width: auto;
	padding: 15px 10px;
}
div#general.home div#main div.block-banner {
	padding: 19px;
}
div#general.home div#main div.block-banner div.header {
	text-align: center;
	margin: 0px -19px 20px -19px;
}
div#general.home div#main div.block-banner div.header h3 {
	margin-right: 5px;
	padding: 5px 10px;
}
div#general.home div#main div.block-banner div.content {
	text-align: center;
	font-size: 0px;
	line-height: 0px;
	margin-right: 0px;
}
div#general.home div#main div.block-banner div.content p.row {
	display: inline-block;
	float: none;
	width: 120px;
	margin: 0px 5px 10px 5px;
}
div#general.home div.container-button-pc {
	display: block;
	text-align: center;
	padding-top: 20px;
}
div#general.home div.container-button-pc p.button-pc {
	display: inline-block;
	font-size: 114.29%;
	font-weight: 700;
	line-height: 1.4em;
}
div#general.home div.container-button-pc p.button-pc a {
	display: table;
	height: 60px;
	text-decoration: none;
	color: #ffffff;
	padding: 0px 20px;
	background-color: #0f829e;
	border-radius: 10px;
	box-shadow: 0px 5px 0px #014262;
}
div#general.home div.container-button-pc p.button-pc a span {
	display: table-cell;
	vertical-align: middle;
}



/* --------------------------------------------------------------------------------
content
-------------------------------------------------------------------------------- */

div#general div#content {
	float: none;
	width: auto;
	margin-bottom: 0px;
}
div#general div#content h4.headline {
	font-size: 114.29%;
	font-weight: 500;
	color: #ffffff;
	margin-bottom: 10px;
	padding: 5px 10px;
	background-color: #2d4280;
}
div#general div#content h4.headline a {
	text-decoration: underline;
	color: #ffffff;
}
div#general div#content div.block {
	margin-bottom: 15px;
}

/* article
-------------------------------------------------------------------------------- */

div#general div#content div.article {
	margin-bottom: 20px;
}
div#general div#content div.article h2,
div#general div#content div.article h3,
div#general div#content div.article h4,
div#general div#content div.article h5,
div#general div#content div.article h6 {
	margin-top: 20px;
}



/* --------------------------------------------------------------------------------
content (home)
-------------------------------------------------------------------------------- */

div#general.home div#content {
	width: auto;
}
div#general.home div#content div.block-search,
div#general.home div#content div.block-emergency {
	margin-bottom: 20px;
}
div#general.home div#content div.block-search form {
	position: relative;
	padding: 0px 75px 0px 40px;
}
div#general.home div#content div.block-search p.label {
	position: absolute;
	width: 30px;
	height: 30px;
}
div#general.home div#content div.block-search p.label span {
	display: none;
}
div#general.home div#content div.block-emergency div.content {
	padding-right: 0px;
}
div#general.home div#content div.block-emergency p {
	padding: 10px;
}
div#general.home div#content div.block-emergency p span.label {
	display: block;
	position: static;
	width: auto;
	height: auto;
	left: auto;
	top: auto;
	margin: 0px -10px 10px -10px;
	padding: 0px 0px 10px 0px;
	border-right: none;
	border-bottom: 4px solid #ffc705;
}
div#general.home div#content div.block-tab div.tab ul li {
	font-size: 114.29%;
}
div#general.home div#content div.block-tab-02 div.tab ul li {
	width: 27.5%;
}
div#general.home div#content div.block-tab-02 div.tab ul li:nth-child(2) {
	width: 45%;
}
div#general.home div#content div.block-tab div.banner-internal {
	width: auto;
	margin-bottom: 10px;
}
div#general.home div#content div.block-tab div.banner-internal p.row {
	float: none;
	margin: 0px auto 10px auto;
}
div#general.home div#content div.block-tab div.banner-external p.row {
	float: none;
	margin-right: 0px;
}
div#general.home div#content div.block-tab div.banner-external p.row img {
	margin: auto;
}
div#general.home div#content div.block-tab div.organization ul li {
	float: none;
	width: auto;
}
div#general.home div#content div.block-tab div.area ul {
	float: none;
	margin-bottom: 10px;
}
div#general.home div#content div.block-tab div.area p.image {
	float: none;
	padding-right: 0px;
}
div#general.home div#content div.block-tab div.area p.image img {
	margin: auto;
}
div#general.home div#content div.block-keyword div.content {
	padding-right: 0px;
}



/* --------------------------------------------------------------------------------
content (disaster)
-------------------------------------------------------------------------------- */

div#general.disaster div#content {
	float: none;
	width: auto;
}
div#general.disaster div#content div.narrow {
	width: auto;
}
div#general.disaster div#content h3.headline {
	margin: 0px -10px;
}
div#general.disaster div#content div.list {
	margin: 0px -10px 20px -10px;
}
div#general.disaster div#content div.list ul li {
	padding: 10px;
}
div#general.disaster div#content div.list ul li span.date {
	display: block;
	position: static;
	left: auto;
	top: auto;
}



/* --------------------------------------------------------------------------------
sidebar
-------------------------------------------------------------------------------- */

div#general div#sidebar {
	float: none;
	width: auto;
	margin-bottom: 20px;
}



/* --------------------------------------------------------------------------------
sidebar (home)
-------------------------------------------------------------------------------- */

div#general.home div#sidebar {
	width: auto;
}



/* --------------------------------------------------------------------------------
footer
-------------------------------------------------------------------------------- */

div#general div#footer div.links {
	text-align: center;
	padding: 12px 15px 2px 15px;
}
div#general div#footer div.links ul li {
	margin-bottom: 10px;
}



/* --------------------------------------------------------------------------------
footer (home)
-------------------------------------------------------------------------------- */

div#general.home div#footer div.information-misc {
	padding: 15px 10px 20px 10px;
}
div#general.home div#footer div.information,
div#general.home div#footer div.information h3,
div#general.home div#footer div.information p.address {
	float: none;
}
div#general.home div#footer div.information h3 {
	margin: 0px 0px 10px 0px;
}
div#general.home div#footer div.information p.address {
	margin-bottom: 10px;
}
div#general.home div#footer div.misc {
	float: none;
}
div#general.home div#footer div.misc p.button {
	margin: 0px 10px 0px 0px;
}
div#general.home div#footer div.misc p.button a {
	padding: 0px 15px;
}



/* --------------------------------------------------------------------------------
footer (disaster)
-------------------------------------------------------------------------------- */

div#general.disaster div#footer div.information {
	padding: 15px 10px;
}
div#general.disaster div#footer div.information h3,
div#general.disaster div#footer div.information p.address {
	float: none;
}
div#general.disaster div#footer div.information h3 {
	margin-right: 0px;
	margin: 0px 0px 10px 0px;
}

/* --------------------------------------------------------------------------------
add 2022.07.13
-------------------------------------------------------------------------------- */



/* --------------------------------------------------------------------------------
misc
-------------------------------------------------------------------------------- */

div#general hr {
	margin: 20px -20px;
}
div#general hr.narrow {
	margin: 10px -20px;
}



/* --------------------------------------------------------------------------------
header
-------------------------------------------------------------------------------- */

div#general:not(.home) div#header {
	border-bottom: 5px solid #2d4280;
}
div#general:not(.home) div#header div.top {
	display: block;
}
div#general:not(.home) div#header div.top p.sitemap {
	display: none;
}
div#general:not(.home) div#header div.logo-misc {
	height: auto;
	padding-right: 0px;
}
div#general:not(.home) div#header div.logo-misc h1#logo {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	height: 70px;
	float: none;
	border-bottom: 1px solid #999999;
	padding: 5px 0px 0px 0px;
	background: linear-gradient(180deg, #ffffff 25%, #e5e5e5 100%);
}
div#general:not(.home) div#header div.logo-misc h1#logo img {
	height: 41px;
}
div#general:not(.home) div#header div.logo-misc div.misc {
	display: block;
	float: none;
	padding-top: 0px;
}
div#general:not(.home) div#header div.logo-misc div.misc div.row {
	display: none;
}
div#general:not(.home) div#header div.logo-misc div.misc div.row:last-child {
	display: block;
	padding: 10px 20px;
}
div#general:not(.home) div#header div.logo-misc div.search {
	display: block;
}
div#general:not(.home) div#header div.logo-misc div.search form {
	display: flex;
	flex-wrap: wrap;
}
div#general:not(.home) div#header div.logo-misc div.search input[type=text] {
	width: calc(100% - 50px);
}
div#general:not(.home) div#header div.logo-misc div.search input[type=submit] {
	width: 48px;
}
div#general:not(.home) div#header div.logo-misc p.image {
	display: none;
}



/* --------------------------------------------------------------------------------
navi
-------------------------------------------------------------------------------- */

div#general div#navi,
div#general div#navi2 {
	display: none;
}



/* --------------------------------------------------------------------------------
main
-------------------------------------------------------------------------------- */

div#general:not(.home) div#main {
	padding: 10px 0px;
}
div#general div#main div.breadcrumb {
	padding: 0px 20px;
}
div#general div#main div.breadcrumb-header {
	margin-bottom: 10px;
}
div#general div#main div.breadcrumb p.button-voice {
	display: none;
}
div#general div#main p.page-top {
	padding: 10px 10px 0px 0px;
}
div#general div#content p.rss {
	display: none;
}



/* --------------------------------------------------------------------------------
content
-------------------------------------------------------------------------------- */

div#general:not(.home) div#content {
	overflow: hidden;
	padding-left: 20px;
	padding-right: 20px;
}
div#general div#content h1 {
	box-sizing: border-box;
	font-size: 171.43%;
	margin-left: -20px;
	margin-right: -20px;
	padding: 10px 20px;
}
div#general div#content h2.headline {
	margin: 20px -20px;
}
div#general div#content h3.headline {
	margin: 0px -20px 20px -20px;
}
div#general div#content h4.headline {
	margin: 0px -20px 10px -20px;
}
div#general div#content div#title {
	margin: 0px -20px 20px -20px;
	padding: 0px 10px 0px 40px;
}
div#general div#content div#title h1 {
	height: 50px;
	font-size: 142.86%;
	padding: 0px;
}
div#general div#content div#title p.image {
	width: 155px;
}
div#general div#content div.column {
	margin-left: 0px;
	margin-right: 0px;
}
div#general div#content div.column div.row {
	float: none;
	margin-right: 0px;
}
div#general div#content div.column div.row:not(:last-child) {
	margin-bottom: 20px;
}
div#general div#content div.column-two div.row {
	width: auto;
}
div#general div#content table.list {
	width: calc(100% + 40px);
	margin: 10px -20px 0px -20px;
}
div#general div#content table.list td.summary {
	padding-left: 20px;
}
div#general div#content table.list td.section {
	width: 6em;
	padding-right: 20px;
}
div#general div#content table.new,
div#general div#content table.new td,
div#general div#content table.new th {
	box-sizing: border-box;
	border: none;
}
div#general div#content table.new {
	width: calc(100% + 40px);
	margin: 10px -20px 0px -20px;
}
div#general div#content table.new td,
div#general div#content table.new th {
	display: block;
	padding: 0px 20px;
}
div#general div#content table.new thead th {
	width: 100%;
	padding: 5px 20px;
}
div#general div#content table.new thead th:nth-child(1),
div#general div#content table.new thead th:nth-child(3) {
	display: none;
}
div#general div#content table.new thead th.date {
	width: 100%;
}
div#general div#content table.new thead th.section {
	width: 100%;
}
div#general div#content table.new tbody tr td:nth-child(1) {
	padding-top: 10px;
}
div#general div#content table.new tbody tr td:nth-child(3) {
	border-bottom: 1px solid #999999;
	padding-bottom: 10px;
}
div#general div#content div.issue-number div.cover {
	float: none;
	width: 240px;
	margin: auto;
}
div#general div#content div.back-number {
	display: flex;
	flex-wrap: wrap;
}
div#general div#content div.back-number div.row {
	width: calc(50% - 20px);
}
div#general div#content div.archive {
	display: none;
}
div#general div#content div.event {
	margin-left: -20px;
	margin-right: -20px;
}
div#general div#content div.event p.month {
	padding-left: 20px;
	padding-right: 20px;
}
div#general div#content div.event div.list div.row div.header p.headline {
	width: 100%;
	font-size: 114.29%;
	margin-right: 0px;
}
div#general div#content div.calendar {
	width: auto;
}

/* article
-------------------------------------------------------------------------------- */

div#general div#content div.article h2,
div#general div#content div.article h3,
div#general div#content div.article h4,
div#general div#content div.article h5,
div#general div#content div.article h6 {
	margin-left: -20px;
	margin-right: -20px;
}
div#general div#content div.article h5,
div#general div#content div.article h6 {
	padding-left: 20px;
	padding-right: 20px;
}



/* --------------------------------------------------------------------------------
content (wide)
-------------------------------------------------------------------------------- */

div#general.wide div#content {
	width: auto;
}
div#general.wide div#content div.column-two div.row {
	width: auto;
}



/* --------------------------------------------------------------------------------
content (no-sidebar)
-------------------------------------------------------------------------------- */

div#general.no-sidebar div#content div.column-two div.row {
	width: auto;
}



/* --------------------------------------------------------------------------------
sidebar
-------------------------------------------------------------------------------- */

div#general:not(.home) div#sidebar {
	margin: 40px 0px 0px 0px;
}
div#general:not(.home) div#sidebar div.block {
	border-left: none;
	border-right: none;
	margin-bottom: 0px;
}
div#general:not(.home) div#sidebar div.block:not(:last-child) {
	border-bottom: none;
}
div#general:not(.home) div#sidebar div.block:not(.block-no-header) div.content {
	display: none;
}
div#general:not(.home) div#sidebar div.block div.header {
	padding: 5px 20px;
}
div#general:not(.home) div#sidebar div.block div.header h3 {
	position: relative;
	font-size: 114.29%;
}
div#general:not(.home) div#sidebar div.block div.header h3 span.button {
	box-sizing: border-box;
	position: absolute;
	width: 10px;
	height: 10px;
	right: 10px;
	top: calc(50% - 5px);
	border-right: 1px solid #999999;
	border-top: 1px solid #999999;
	transition: 0.25s transform ease;
	transform: translateY(-2px) rotate(135deg);
}
div#general:not(.home) div#sidebar div.block.open div.header h3 span.button {
	transform: translateY(2px) rotate(-45deg);
}
div#general div#sidebar div.block-list ul li {
	padding-left: 20px;
}
div#general div#sidebar div.block-list-bullet ul li {
	padding-left: 35px;
	background-position: 20px 0.9em;
}
div#general div#sidebar div.block-list-archive ul li {
	padding-left: 10px;
	background-position: 20px 0.7em;
}
div#general div#sidebar p.banner {
	width: 160px;
	margin-left: auto;
	margin-right: auto;
}
div#general div#sidebar p.banner img {
	width: 100%;
	height: auto;
}
div#general div#sidebar p.banner ~ div.block {
	margin-top: 40px;
}



/* --------------------------------------------------------------------------------
sidebar (wide)
-------------------------------------------------------------------------------- */

div#general.wide div#sidebar {
	width: auto;
}
/* --------------------------------------------------------------------------------
add 2022.10.15
-------------------------------------------------------------------------------- */



/* --------------------------------------------------------------------------------
essential
-------------------------------------------------------------------------------- */

div#general {
	overflow: hidden;
}



/* --------------------------------------------------------------------------------
header
-------------------------------------------------------------------------------- */

div#general div#header div.top {
	font-size: 14px;
}
div#general div#header div.logo-misc div.misc {
	display: block;
}
div#general:not(.home) div#header div.logo-misc div.misc div.row {
	font-size: 14px;
}
div#general:not(.home) div#header div.logo-misc div.misc div.row:first-child {
	display: flex;
	justify-content: center;
	padding: 10px 20px 0px 20px;
}
div#general:not(.home) div#header div.logo-misc div.misc div.row:last-child {
	padding-top: 0px;
}



/* --------------------------------------------------------------------------------
header (home)
-------------------------------------------------------------------------------- */

div#general.home div#header {
	padding-top: 45px;
}
div#general.home div#header div.logo-misc div.misc {
	float: none;
	margin: 10px -10px 0px -10px;
	padding: 15px 0px 0px 0px;
	border-top: 5px solid #0f829e;
}
div#general.home div#header div.logo-misc div.misc div.row:first-child {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	font-size: 14px;
	margin-bottom: 5px;
}
div#general.home div#header div.logo-misc div.misc div.row:first-child div.font-size {
	order: 1;
	margin-right: 15px;
}
div#general.home div#header div.logo-misc div.misc div.row:first-child div.font-size p,
div#general.home div#header div.logo-misc div.misc div.row:first-child div.font-color p {
	margin-right: 5px;
}
div#general.home div#header div.logo-misc div.misc div.row:first-child div.font-color {
	order: 2;
	margin-right: 0px;
}
div#general.home div#header div.logo-misc div.misc div.row:first-child p.button-voice {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	order: 0;
	width: 100%;
	margin-bottom: 15px;
}
div#general.home div#header div.logo-misc div.misc div.row:first-child p.button-voice a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 280px;
	height: 30px;
	padding: 0px;
}
div#general.home div#header div.logo-misc div.misc div.row:last-child div.language {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: absolute;
	width: calc(100% + 20px);
	height: 30px;
	left: -10px;
	top: -45px;
	background-color: #0f829e;
}
div#general.home div#header div.logo-misc div.misc div.row:last-child div.language ul li {
	font-size: 14px;
	border-color: #ffffff;
}
div#general.home div#header div.logo-misc div.misc div.row:last-child div.language ul li a {
	color: #ffffff;
}
div#general.home div#header div.logo-misc div.misc div.row:last-child div.search {
	display: none;
}
div#general.home div#header div.logo-misc p.button-disaster {
	line-height: 26px;
}



/* --------------------------------------------------------------------------------
main
-------------------------------------------------------------------------------- */

div#general div#main div.breadcrumb-header {
	padding-top: 30px;
}
div#general div#main div.breadcrumb p.button-voice {
	display: block;
	position: absolute;
	right: 10px;
	top: 0px;
	font-size: 14px;
	line-height: 1.6em;
}
div#general div#main div.breadcrumb p.button-voice a span {
	padding-left: 0px;
	background-image: none;
}
