@charset "UTF-8";

/* ---------------------------------------
共通
--------------------------------------- */
.content {
  position: relative;
  display: block;
}
.wrapper {
  margin: -200px auto 0;
  width: 1340px;
}
.header_title_page {
	margin: 100px auto 50px;
  width: 1340px;
  text-align: center;
}
.header_title_page h1 {
	display: inline-block;
  margin: 0 auto;
	padding: 0.2em 2em;
	color: #1b46b1;
	font-size: 1.5em;
	font-weight: bold;
	border: 2px solid #1b46b1;
  background: rgba(255,255,255,1);
}
.header_title_page p {
	margin-top: 1em;
  text-align: center;
  font-weight: bold;
}

/* タブメニュー */
nav {
  width: 100%;
}
nav ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  width: 1000px;
  margin: 0 auto;
  text-align: center;
}
nav ul li {
  position: relative;
  margin: 0 0.5%;
  width: 24%;
}
nav ul li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0.5em 0;
  box-sizing: border-box;
  text-decoration: none;
  text-align: center;
  color: #fff;
  border-radius: 10px 10px 0 0;
  background: #286bce;
}
nav ul li a:hover {
  background: #1b46b1;
}
nav ul li a.active {
  color: #1b46b1;
  background: #fff;
}
.balloon {
  position: absolute;
  bottom: 40px;
  left: 50%;
  z-index: 2;
  margin-left: -90px;
  visibility: hidden;
  opacity: 0;
  transform: scale(0);
}
.balloon p {
  position: relative;
  display: inline-block;
  margin: 1.5em 0;
  padding: 0.3em 0.5em;
  box-sizing: border-box;
  width: 180px;
  color: #fff;
  font-size: 0.7em;
  border-radius: 5px;
  background: rgba(0,0,0,0.6);
}
.balloon p::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -12px;
  border: 12px solid transparent;
  border-top: 12px solid rgba(0,0,0,0.6);
}
nav ul li a:hover + .balloon {
  visibility: visible;
  opacity: 1;
  transition: all 0.5s ease;
  transform: scale(1);
}

.content section {
  padding: 30px;
  box-sizing: border-box;
  border-radius: 10px;
  background: #fff;
}
.errmsg {
  color: #ff0000;
}

.pagetop {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 9999;
  display: none;
  width: 50px;
  height: 50px;
  margin: 0;
  padding: 0;
}
.pagetop:hover {filter: saturate(1.5);}
.pagetop img {width: 100%;}

/* 検索部分 */
.search {
  margin: 0 auto 50px;
  width: 900px;
}
.search_area {
  margin: 0 auto;
  padding: 40px;
  box-sizing: border-box;
  text-align: center;
  border-radius: 10px;
  background: #eef8ff;
}
.search_area input[type=text]{
  width: 600px;
  padding: 0.5em 1em;
  box-sizing: border-box;
  border: 1px solid #286bce;
  background: #fff;
}
.search_area input[type=submit]{
  margin-left: 5px;
  width: 150px;
  padding: 0.5em 1em;
  box-sizing: border-box;
  text-align: center;
  color: #fff;
  border-radius: 5px;
  border: 1px solid #1b46b1;
  background: #1b46b1;
  cursor: pointer;
}
.search_area input[type=submit]:hover {
  background: #286bce;
}
.search_area input[type=radio]{
  margin: 1em 0.5em 0 0;
  transform: scale(1.5);
}
.search p {
  margin-top: 0.5em;
  text-align: left;
  font-size: 0.9rem;
}



/* ---------------------------------------
フリーワード (freeword)
--------------------------------------- */
/* 選択項目 */
.free_select {
  width: 100%;
  padding: 2rem;
  box-sizing: border-box;
  text-align: center;
  border-radius: 10px;
  background: #eef8ff;
}
.free_select ul {
  margin-top: 0.5rem;
}
.free_select ul li {
  display: inline-block;
  margin: 0 0.5%;
}
.free_select ul li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0.5em 2em;
  box-sizing: border-box;
  text-decoration: none;
  color: #fff;
  border-radius: 2em;
  border: 1px solid #286bce;
  background: #286bce;
  cursor: pointer;
}
.free_select ul li a:hover {
  background: #1b46b1;
}
.free_select ul li a.active {
  color: #286bce;
  background: #fff;
}

/* 検索結果 */
.free_result {
  margin-top: 2rem;
  display: none;
}
.free_result article {
  margin: 1rem 0;
  width: 100%;
  box-sizing: border-box;
  border-radius: 10px;
  border: 3px solid #1b46b1;
}
.free_result article p a {
  display: block;
  padding: 0.5em 1em;
  box-sizing: border-box;
  text-decoration: none;
  color: #fff;
  border-radius: 5px 5px 0 0;
  background: #286bce;
  cursor: pointer;
}
.free_result article p a::before {
  content: "▼";
  display: inline-block;
  margin-right: 1em;
  font-size: 1.2em;
  font-weight: bold;
}
.free_result article p a.open::before {
  content: "▲";
  display: inline-block;
  margin-right: 1em;
  font-size: 1.2em;
  font-weight: bold;
}
.free_result article p a:hover {
  background: #1b46b1;
}
.free_result article table {width: 100%;}
.free_result article table th,
.free_result article table td {
  padding: 0.2em 0.5em;
  box-sizing: border-box;
  vertical-align: top;
  border: 1px solid #a0beef;
}
.free_result article table th {
  width: 320px;
  background: #eef8ff;
}
.free_result article table .tech th {
   background: #ffdcdc;
}
.free_result article table .monshin th,
.free_result article table .monshin td {background: #fdffca;}
.free_result article table tbody {display: none;}

/* 出典 */
.free_source {
  margin-top: 60px;
  display: none;
}
.free_source .source_title {
  display: block;
  width: 100%;
  padding: 0.5em 2em;
  box-sizing: border-box;
  text-align: center;
  color: #fff;
  font-size: 1.2em;
  font-weight: bold;
  background: #333;
}
.free_source table {
  margin-top: 1em;
  width: 100%;
  font-size: 0.9rem;
  border: 3px solid #ccc;
}
.free_source table th,
.free_source table td {
  padding: 0.2em 0.5em;
  box-sizing: border-box;
  border: 1px solid #ccc;
}
.free_source table th {
  width: 320px;
  background: #efefef;
}

/* 検索結果-事業 */
.free_system {display: none;}
.free_system_title h2 {
  margin: 2em 0 0.5em;
  font-size: 1.5em;
  font-weight: bold;
}
.free_caution {
  margin: 2em 0;
  width: 100%;
  padding: 1em 2em;
  box-sizing: border-box;
  color: #900;
  border: 1px solid #900;
}

.free_system article {
  margin: 1rem 0;
  width: 100%;
  box-sizing: border-box;
  border-radius: 10px;
  border: 3px solid #1b46b1;
}
.free_system article p {
  display: block;
  padding: 0.5em 1em;
  box-sizing: border-box;
  text-align: center;
  color: #fff;
  font-size: 1.2em;
  border-radius: 5px 5px 0 0;
  background: #1b46b1;
}
.free_system article table {width: 100%;}
.free_system article table td {
  padding: 0.2em 0.5em;
  box-sizing: border-box;
  vertical-align: top;
  border: 1px solid #a0beef;
  background: #fff;
}
.free_system article table td:nth-child(3) {width: 300px;}
.free_system article table th {
  padding: 0.5em 0.5em;
  box-sizing: border-box;
  vertical-align: top;
  color: #fff;
  border-right: 1px solid #a0beef;
  background: #286bce;
}
.free_system article table th:first-child {width: 200px;}
.free_system article table tr th:last-child {width: 120px; border-right: 1px solid #286bce;}
.free_system article table th span {font-size: 0.8rem;}
.free_system article table .tech th {
   background: #ffdcdc;
}
.free_system article table .monshin th,
.free_system article table .monshin td {background: #fdffca;}


/* ---------------------------------------
自治体 (municipality)
--------------------------------------- */
/* 都道府県 */
.municipality_select {
  position: relative;
  margin-bottom: 1em;
  width: 100%;
  padding: 2rem;
  box-sizing: border-box;
  text-align: center;
  border-radius: 10px;
  background: #eef8ff;
}
.municipality_select p strong {
  padding: 0 2em;
  font-size: 1.2rem;
  font-weight: bold;
  border-bottom: 1px solid #1b46b1;
}
.municipality_select .municipality_setting {
  margin: 1.5em 0;
}
.municipality_select .municipality_setting label {margin: 0 1em;}
.municipality_select .municipality_setting label input {padding: 0.2em 1em; width: 240px; border: none;}
.municipality_select .municipality_setting label input:focus {outline: none;}
.municipality_toggle {
  position: absolute;
  top: 1em;
  left: 1em;
  display: block;
  padding: 0.5em 1em;
  box-sizing: border-box;
  text-decoration: none;
  color: #1b46b1;
  font-size: 0.8em;
  cursor: pointer;
}
.municipality_toggle a::before {
  content: "▼";
  display: inline-block;
  margin-right: 1em;
  padding: 0 0.3em;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.2em;
  font-weight: bold;
  border-radius: 2em;
  border: 1px solid #1b46b1;
  background: #1b46b1;
}
.municipality_toggle a.open::before {
  content: "▲";
  display: inline-block;
  margin-right: 1em;
  padding: 0 0.3em;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.2em;
  font-weight: bold;
  border-radius: 2em;
  border: 1px solid #1b46b1;
  background: #1b46b1;
}
.municipality_toggle a:hover {color: #286bce;}
.municipality_toggle a:hover::before {background: #286bce;}

.municipality_pre {padding: 1rem 0; width: 100%;}
.municipality_pre h3 {
  margin: 3em 0 1em;
  padding-top: 2em;
  border-top: 1px solid rgba(27,70,177,0.5);
}
.municipality_pre_select {width: 100%;}

.municipality_pre_select tr {
  padding: 0.2em 0;
  border-bottom: 1px dashed rgba(27,70,177,0.3);
}
.municipality_pre_select th {
  width: 150px;
}
.municipality_pre_select ul {
  display: flex;
  flex-wrap: wrap;
}
.municipality_pre_select ul li {
  margin: 0.5%;
}
.municipality_pre_select ul li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0.2em 1em;
  box-sizing: border-box;
  text-decoration: none;
  color: #fff;
  border-radius: 2em;
  border: 1px solid #286bce;
  background: #286bce;
  cursor: pointer;
}
.municipality_pre_select ul li a:hover {
  background: #1b46b1;
}
.municipality_pre_select ul li a.active {
  color: #286bce;
  background: #fff;
}

.municipality_message {
  color: #900;
  font-size: 0.8em;
}
.municipality_mun {
  margin-top: 2em;
}
.municipality_mun_select ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 1em;
}
.municipality_mun_select ul li {
  margin: 0.5% 0;
  border-left: 1px solid rgba(27,70,177,0.2);
}
.municipality_mun_select ul li:last-child {border-right: 1px solid rgba(27,70,177,0.2);}
.municipality_mun_select ul li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0.5em 2em;
  box-sizing: border-box;
  text-decoration: none;
  color: #333;
  cursor: pointer;
}
.municipality_mun_select ul li a:hover {background: rgba(27,70,177,0.2);}
.municipality_mun_select ul li a.active {color: #286bce; background: #fff;}

.municipality_mun_result ul {
  display: flex;
  flex-wrap: wrap;
}
.municipality_mun_result ul li {
  margin: 0.5%;
}
.municipality_mun_result ul li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0.2em 1em;
  box-sizing: border-box;
  text-decoration: none;
  color: #fff;
  border-radius: 2em;
  border: 1px solid #286bce;
  background: #286bce;
  cursor: pointer;
}
.municipality_mun_result ul li a:hover {
  background: #1b46b1;
}
.municipality_mun_result ul li a.active {
  color: #286bce;
  background: #fff;
}
.municipality_work {
  margin-top: 2em;
}
.municipality_work_select ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.municipality_work_select ul li {
  margin: 0.5%;
}
.municipality_work_select ul li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0.2em 1em;
  box-sizing: border-box;
  text-decoration: none;
  color: #fff;
  border-radius: 2em;
  border: 1px solid #286bce;
  background: #286bce;
  cursor: pointer;
}
.municipality_work_select ul li a:hover {
  background: #1b46b1;
}
.municipality_work_select ul li a.active {
  color: #286bce;
  background: #fff;
}
.municipality_search {margin: 2em 0 5em; text-align: center;}
.municipality_search input.search_reset{
  margin-left: 5px;
  width: 120px;
  padding: 0.5em 1em;
  box-sizing: border-box;
  text-align: center;
  color: #fff;
  border-radius: 5px;
  border: 1px solid #aaa;
  background: #aaa;
  cursor: pointer;
}
.municipality_search input.search_reset:hover {
  background: #ccc;
}
.municipality_search input.search_add{
  margin-left: 5px;
  width: 120px;
  padding: 0.5em 1em;
  box-sizing: border-box;
  text-align: center;
  color: #fff;
  border-radius: 5px;
  border: 1px solid #9a5d5d;
  background: #9a5d5d;
  cursor: pointer;
}
.municipality_search input.search_add:hover {
  background: #b87d7d;
}
.municipality_search input[type=submit]{
  margin-left: 25px;
  width: 250px;
  padding: 0.5em 1em;
  box-sizing: border-box;
  text-align: center;
  color: #fff;
  border-radius: 5px;
  border: 1px solid #1b46b1;
  background: #1b46b1;
  cursor: pointer;
}
.municipality_search input[type=submit]:hover {
  background: #286bce;
}

/* 比較対象選択 */
.municipality_other {background: #f9f3f3;}
.municipality_other p strong {border-bottom: 1px solid #9a5d5d;}
.municipality_other .municipality_toggle {
  color: #9a5d5d;
}
.municipality_other .municipality_toggle a::before {
  border: 1px solid #9a5d5d;
  background: #9a5d5d;
}
.municipality_other .municipality_toggle a.open::before {
  content: "▲";
  display: inline-block;
  margin-right: 1em;
  padding: 0 0.3em;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.2em;
  font-weight: bold;
  border-radius: 2em;
  border: 1px solid #9a5d5d;
  background: #9a5d5d;
}
.municipality_other .municipality_toggle a:hover {color: #b87d7d;}
.municipality_other .municipality_toggle a:hover::before {background: #b87d7d;}
.municipality_other .municipality_pre h3 {border-top: 1px solid rgba(184,125,125,0.5);}
.municipality_other .municipality_pre_select ul li a {
  border: 1px solid #9a5d5d;
  background: #9a5d5d;
}
.municipality_other .municipality_pre_select ul li a:hover {background: #b87d7d;}
.municipality_other .municipality_pre_select ul li a.active {color: #9a5d5d; background: #fff;}
.municipality_other .municipality_pre_select tr {border-bottom: 1px dashed rgba(184,125,125,0.3);}
.municipality_other .municipality_mun_select ul li:last-child {border-right: 1px solid rgba(184,125,125,0.2);}
.municipality_other .municipality_mun_select ul li a:hover {background: rgba(184,125,125,0.2);}
.municipality_other .municipality_mun_select ul li a.active {color: #9a5d5d; background: #fff;}
.municipality_other .municipality_mun_result ul li a {border: 1px solid #9a5d5d; background: #9a5d5d;}
.municipality_other .municipality_mun_result ul li a:hover {background: #b87d7d;}
.municipality_other .municipality_mun_result ul li a.active {color: #9a5d5d; background: #fff;}
.municipality_other .municipality_work_select ul li a {border: 1px solid #9a5d5d; background: #9a5d5d;}
.municipality_other .municipality_work_select ul li a:hover {background: #b87d7d;}
.municipality_other .municipality_work_select ul li a.active {color: #9a5d5d; background: #fff;}

/* 比較結果 */
.municipality_result {
  display: none;
  margin-top: 2rem;
}
.municipality_target {
  margin: 3em 10% 0.2em;
  width: 80%;
  border: 2px solid #1b46b1;
}
.municipality_target th,
.municipality_target td {
  padding: 0.5em 1em;
  box-sizing: border-box;
  text-align: center;
  border: 1px solid #a0beef;
}
.municipality_target th {
  color: #fff;
  background: #1b46b1;
}
.municipality_target tr:nth-child(2) td {
  font-weight: bold;
  background: #eef8ff;
}

/* 類型区分ポップアップ */
.modal-open {
  cursor: pointer;
  color: #286bce;
  text-decoration: underline;
}
.modal-open:hover {color: #900;}
.municipality_type_area.open {
  display: block;
  transition: all 0.5s ease;
}
.municipality_type_area {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 99999;
  display: none;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.8);
  transition: all 0.5s ease;
}
.municipality_type {
  display: block;
  margin: 0 auto;
  width: 100%;
  max-width: 1200px;
  padding: 2em 1.5em;
  box-sizing: border-box;
  color: #fff;
}
.municipality_type_close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 1000000;
}
.modal-close {
  display: block;
  margin: 0;
  width: 40px;
  height: 40px;
  padding: 0;
  border-color: transparent;
  background: transparent;
  cursor: pointer;
}
.modal-close span {
  position: relative;
  width: 100%;
  height: 2px;
  background: #fff;
  display: block;
}
.modal-close span:nth-child(1) {transform: rotate(45deg);}
.modal-close span:nth-child(2) {transform: rotate(-45deg);}
.modal-close:hover span {background: #ffff00;}

.municipality_type h3 {
  display: block;
  margin-bottom: 1em;
  font-size: 1.3em;
  font-weight: bold;
  border-bottom: 1px solid #fff;
}
.municipality_type h3 strong {
  margin-right: 1em;
  font-size: 1.8em;
}
.municipality_type_city {
  margin: 2em 0;
  height: calc(90vh - 2em);
  padding: 1em 0;
  box-sizing: border-box;
  overflow-y: auto;
}
.municipality_type_city ul {
  display: flex;
  flex-wrap: wrap;
}
.municipality_type_city ul li {
  width: calc((1182px - 3em) / 7);
  padding: 0.2em;
  box-sizing: border-box;
}

/* 比較結果表 */
.municipality_result .w80p {
  margin: 0 auto;
  width: 80%;
}
.municipality_result article .municipality_list {
  margin: 3em 0 3em;
  width: 100%;
  border: 2px solid #1b46b1;
}
.municipality_result article .municipality_list th,
.municipality_result article .municipality_list td {
  padding: 0.2em 0.5em;
  box-sizing: border-box;
  vertical-align: top;
  text-align: center;
  border: 1px solid #a0beef;
}
.municipality_result article .municipality_list thead {
  color: #fff;
  font-size: 0.8em;
  background: #1b46b1;
}
.municipality_result article .municipality_list th {color: #fff; background: #286bce;}
.municipality_result article .municipality_list tbody th {font-size: 0.8em;}
.municipality_result article .municipality_list tbody tr:first-child td {font-size: 0.8em;}
.municipality_result article .municipality_list tbody tr:nth-child(2) {font-weight:bold; background: #eef8ff;}
.municipality_result article .municipality_list tbody tr:nth-last-child(2) td {color: #333;font-weight: bold;background: #efefef;}
.municipality_result article .municipality_list tbody tr:nth-last-child(2) .bad {color: #c00; font-weight: bold; background: #ffdcdc;}
.municipality_result article .municipality_list tbody tr:nth-last-child(2) .good {color: #286bce; font-weight: bold; background: #eef8ff;}
.municipality_result article .municipality_list tbody tr:last-child td {font-size: 0.8em;}



/* ---------------------------------------
詳細課題 (task)
--------------------------------------- */
/* 選択項目 */
.task_select {
  position: relative;
  margin-bottom: 1em;
  width: 100%;
  padding: 2rem;
  box-sizing: border-box;
  text-align: center;
  border-radius: 10px;
  background: #eef8ff;
}
.task_toggle {
  position: absolute;
  top: 1em;
  left: 1em;
  display: block;
  padding: 0.5em 1em;
  box-sizing: border-box;
  text-decoration: none;
  color: #1b46b1;
  font-size: 0.8em;
  cursor: pointer;
}
.task_toggle a::before {
  content: "▼";
  display: inline-block;
  margin-right: 1em;
  padding: 0 0.3em;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.2em;
  font-weight: bold;
  border-radius: 2em;
  border: 1px solid #1b46b1;
  background: #1b46b1;
}
.task_toggle a.open::before {
  content: "▲";
  display: inline-block;
  margin-right: 1em;
  padding: 0 0.3em;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.2em;
  font-weight: bold;
  border-radius: 2em;
  border: 1px solid #1b46b1;
  background: #1b46b1;
}
.task_toggle a:hover {color: #286bce;}
.task_toggle a:hover::before {background: #286bce;}

/* 事業運営上の課題 */
.task_operation_select {margin-top: 2em;}
.task_operation_select ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 1em;
}
.task_operation_select ul li {
  margin: 0.5%;
}
.task_operation_select ul li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0.2em 1em;
  box-sizing: border-box;
  text-decoration: none;
  color: #fff;
  border-radius: 2em;
  border: 1px solid #286bce;
  background: #286bce;
  cursor: pointer;
}
.task_operation_select ul li a:hover {
  background: #1b46b1;
}
.task_operation_select ul li a.active {
  color: #286bce;
  background: #fff;
}
/* 施設区分 */
.task_facility_select {margin-top: 2em;}
.task_facility_select ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 1em;
}
.task_facility_select ul li {
  margin: 0.5%;
}
.task_facility_select ul li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0.2em 1em;
  box-sizing: border-box;
  text-decoration: none;
  color: #fff;
  border-radius: 2em;
  border: 1px solid #286bce;
  background: #286bce;
  cursor: pointer;
}
.task_facility_select ul li a:hover {
  background: #1b46b1;
}
.task_facility_select ul li a.active {
  color: #286bce;
  background: #fff;
}
/* 技術的課題 */
.task_subject_select {margin-top: 2em;}
.task_subject_select ul {
  margin-bottom: 1em;
  column-count: 2;
}
.task_subject_select ul li {
  display: inline-block;
  margin: 0.5%;
  width: 99%;
  padding: 0 0.5em;
  box-sizing: border-box;
}
.task_subject_select ul li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0.2em 1em;
  box-sizing: border-box;
  text-decoration: none;
  color: #fff;
  border-radius: 2em;
  border: 1px solid #286bce;
  background: #286bce;
  cursor: pointer;
}
.task_subject_select ul li a:hover {
  background: #1b46b1;
}
.task_subject_select ul li a.active {
  color: #286bce;
  background: #fff;
}
/* 検索ボタン */
.task_search {margin: 2em 0 5em; text-align: center;}
.task_search input[type=submit]{
  margin-left: 5px;
  width: 150px;
  padding: 0.5em 1em;
  box-sizing: border-box;
  text-align: center;
  color: #fff;
  border-radius: 5px;
  border: 1px solid #1b46b1;
  background: #1b46b1;
  cursor: pointer;
}
.task_search input[type=submit]:hover {
  background: #286bce;
}

/* 検索結果 */
.task_result {
  display: none;
  margin-top: 2rem;
}
.task_target {
  margin: 3em 10% 1em;
  width: 80%;
  border: 2px solid #1b46b1;
}
.task_target th,
.task_target td {
  padding: 0.5em 1em;
  box-sizing: border-box;
  text-align: center;
  border: 1px solid #a0beef;
}
.task_target th {
  color: #fff;
  background: #1b46b1;
}
.task_target td {
  font-weight: bold;
}
.task_result article {
  margin: 1rem 0;
  width: 100%;
  box-sizing: border-box;
  border-radius: 10px;
  border: 3px solid #1b46b1;
}
.task_result article p a {
  display: block;
  padding: 0.5em 1em;
  box-sizing: border-box;
  text-decoration: none;
  color: #fff;
  border-radius: 5px 5px 0 0;
  background: #286bce;
  cursor: pointer;
}
.task_result article p a::before {
  content: "▼";
  display: inline-block;
  margin-right: 1em;
  font-size: 1.2em;
  font-weight: bold;
}
.task_result article p a.open::before {
  content: "▲";
  display: inline-block;
  margin-right: 1em;
  font-size: 1.2em;
  font-weight: bold;
}
.task_result article p a:hover {
  background: #1b46b1;
}
.task_result article table {width: 100%;}
.task_result article table th,
.task_result article table td {
  padding: 0.2em 0.5em;
  box-sizing: border-box;
  vertical-align: top;
  border: 1px solid #a0beef;
}
.task_result article table th {
  width: 320px;
  background: #eef8ff;
}
.task_result article table .tech th {background: #ffdcdc;}
.task_result article table thead tr:nth-child(2) td {font-weight: bold;}
.task_result article table .monshin th,
.task_result article table .monshin td {background: #fdffca;}
.task_result article table tbody {display: none;}

/* 出典 */
.task_source {
  display: none;
  margin-top: 60px;
}
.task_source .task_source_title {
  display: block;
  width: 100%;
  padding: 0.5em 2em;
  box-sizing: border-box;
  text-align: center;
  color: #fff;
  font-size: 1.2em;
  font-weight: bold;
  background: #333;
}
.task_source table {
  margin-top: 1em;
  width: 100%;
  font-size: 0.9rem;
  border: 3px solid #ccc;
}
.task_source table th,
.task_source table td {
  padding: 0.2em 0.5em;
  box-sizing: border-box;
  border: 1px solid #ccc;
}
.task_source table th {
  width: 320px;
  background: #efefef;
}


/* ---------------------------------------
出典一覧 (source)
--------------------------------------- */
.source_all_area .free_source,
.source_all_area .task_source {
  display: block;
}
.source_all_area .source_title {
  display: block;
  width: 100%;
  padding: 0.5em 1em;
  box-sizing: border-box;
  text-align: left;
  color: #333;
  font-size: 1.2em;
  font-weight: bold;
  border-left: 10px solid #1b46b1;
  background: #fff;
}
.source_toggle {
  display: block;
  padding: 0.5em 1em;
  box-sizing: border-box;
  text-decoration: none;
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  cursor: pointer;
  background: #286bce;
}
.source_toggle a::before {
  content: "▼";
  display: inline-block;
  margin-right: 1em;
  padding: 0 0.3em;
  box-sizing: border-box;
  color: #286bce;
  font-weight: bold;
  border-radius: 2em;
  border: 1px solid #fff;
  background: #fff;
}
.source_toggle a.open::before {
  content: "▲";
  display: inline-block;
  margin-right: 1em;
  padding: 0 0.3em;
  box-sizing: border-box;
  color: #286bce;
  font-weight: bold;
  border-radius: 2em;
  border: 1px solid #fff;
  background: #fff;
}
.source_toggle:hover {background: #1b46b1;}
.source_toggle:hover::before {background: #1b46b1;}
.source_table {display: none;}

/* ---------------------------------------
ホットワード (hotword)
--------------------------------------- */
/* 選択項目 */
.hot_select {
  width: 100%;
  padding: 2rem;
  box-sizing: border-box;
  text-align: center;
  border-radius: 10px;
  background: #eef8ff;
}
.hot_select ul {
  margin-top: 0.5rem;
}
.hot_select ul li {
  display: inline-block;
  margin: 0 0.5%;
}
.hot_select ul li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0.5em 2em;
  box-sizing: border-box;
  text-decoration: none;
  color: #fff;
  border-radius: 2em;
  border: 1px solid #286bce;
  background: #286bce;
}
.hot_select ul li a:hover {
  background: #1b46b1;
}
.hot_select ul li a.active {
  color: #286bce;
  background: #fff;
}

/* ランキング結果 */
.hot_result {
  margin-top: 2rem;
  display: none;
}
.hot_result article {
  margin: 1rem 20%;
  width: 60%;
  box-sizing: border-box;
  border-radius: 10px;
  border: 3px solid #1b46b1;
}
.hot_result article p {
  display: block;
  padding: 0.5em 1em;
  box-sizing: border-box;
  text-decoration: none;
  text-align: center;
  color: #fff;
  border-radius: 5px 5px 0 0;
  background: #1b46b1;
}
.hot_result article table {width: 100%;}
.hot_result article table th,
.hot_result article table td {
  padding: 0.3em 1em;
  box-sizing: border-box;
  vertical-align: top;
  word-break: break-all;
  font-size: 1.2em;
  border: 1px solid #a0beef;
  background: #eef8ff;
}
.hot_result article table th {
  width: 200px;
  text-align: center;
  letter-spacing: 0.2em;
}

.hot_result article table tr:nth-child(-n+3) th,
.hot_result article table tr:nth-child(-n+3) td {background: #fdffca;}
.hot_result article table tr:first-child th,
.hot_result article table tr:first-child td {background: #ffdcdc;}


/* ---------------------------------------
お問い合わせ
--------------------------------------- */
.contact_area {
  min-height: 450px;
}
.contact_area .contact_title {
  display: block;
  margin-top: 60px;
  width: 100%;
  padding: 0.5em 1em;
  box-sizing: border-box;
  text-align: left;
  color: #333;
  font-size: 1.2em;
  font-weight: bold;
  border-left: 10px solid #1b46b1;
  background: #fff;
}

.form_table {
  margin: 20px auto 60px;
  width: 100%;
  box-sizing: border-box;
  border: 3px solid #1b46b1;
  border-collapse: collapse;
  table-layout: fixed;
}
.form_table tr {border-bottom: 1px dashed #a0beef;}
.form_table tr:last-child {border-bottom: none;}
.form_table th {
  font-weight: normal;
  width: 240px;
  text-align: left;
  vertical-align: top;
  background: #eef8ff;
  padding: 25px;
}
.form_table td {
  padding: 0.5em 1em;
}
.form_table .mark{
  background: #f68c29;
  padding: 2px 5px;
  font-size: 10px;
  color: #fff;
  border-radius: 3px;
  }
.form_table input,
.form_table textarea,
.form_table select {
  margin: 5px 0;
  padding: 0.5em 1em;
  box-sizing: border-box;
  border: 1px solid #286bce;
  border-radius: 3px;
  background: none;
  font-size: 1rem;
  vertical-align: middle;
  }
.form_table td {word-break: break-all;}
.form_table textarea{
  resize: vertical;
  }
.red12{
  font-size: 12px;
  color: #d0111a;
  }
.btn{
  text-align: center;
  margin: 50px 0 0 0;
  }
.btn01{
  display: block;
  margin: 3em auto;
  width: 240px;
  height: 100%;
  padding: 0.5em 2em;
  box-sizing: border-box;
  text-decoration: none;
  color: #fff;
  border-radius: 2em;
  border: 1px solid #286bce;
  background: #286bce;
  cursor: pointer;
  }
.btn01:hover{
  background: #1b46b1;
  }
.btn02{
  background: #a4a4a4;
  border: none;
  color: #fff;
  padding: 10px 0;
  width: 200px;
  font-size: 12px;
  border-radius: 2em;
  border: 1px solid #ccc;
  cursor: pointer;
  }
.btn02:hover{
  background: #cecece;
}
.form_policy {
  width: 100%;
}
.form_policy strong {
  display: inline-block;
  margin-bottom: 0.5em;
  font-weight: bold;
  font-size: 20px;
  border-bottom: solid 1px #000;
}
.form_banner {
  max-width: 640px;
  margin-top: 50px;
}
.form_banner a:hover {
  opacity: 0.9;
}
.form_banner img {
  width: 100%;
}
.contact_area .ce {text-align: center;}
.contact_area .contact_fin {
  padding: 3em 0;
  text-align: center;
}
.contact_close {text-align: center;}
.contact_close a {
  display: block;
  margin: 3em auto;
  width: 240px;
  height: 100%;
  padding: 0.5em 2em;
  box-sizing: border-box;
  text-decoration: none;
  color: #fff;
  border-radius: 2em;
  border: 1px solid #286bce;
  background: #286bce;
}
.contact_close a:hover {
  background: #1b46b1;
}

/* ---------------------------------------
404
--------------------------------------- */
.not_area .not_fin {
  padding: 3em 0;
  text-align: center;
}
.not_close {text-align: center;}
.not_close a {
  display: block;
  margin: 3em auto;
  width: 320px;
  height: 100%;
  padding: 0.5em 2em;
  box-sizing: border-box;
  text-decoration: none;
  color: #fff;
  border-radius: 2em;
  border: 1px solid #286bce;
  background: #286bce;
}
.not_close a:hover {
  background: #1b46b1;
}

/* ---------------------------------------
プリント
--------------------------------------- */
@media print {
  /* 共通 */
  .wrapper {width: 1000px;}
  nav ul {width: 960px;}
  footer, .pagetop {display: none !important;}
  /* フリーワード */
  .free_select {padding: 2rem 0.5rem;}
  .free_select ul li {font-size: 0.9em;}
  .free_result article {page-break-after: always;}
  .free_result article table tbody {display: table-row-group;}
  /* 自治体 */
  .municipality_mun_select ul li a {padding: 0.5em 1em;}
  .municipality_select, .municipality_search {display: none;}
  /* 詳細課題 */
  .task_result article {page-break-after: always;}
  .task_result article table tbody {display: table-row-group;}
  .task_subject_select ul li a {font-size: 0.8em;}
  .task_select, .task_search {display: none;}
}
