@charset "utf-8";

:root {
  --clr-bk: rgb(0 0 0);
  --clr-bg-lt: rgb(243 243 237);
  --clr-gr: rgb(218 220 224);
  --clr-bl: rgb(44 109 173);
}

/* common elements */

#banners {margin-top: 8rem;}
@media only screen and (max-width:768px) {
  #banners {margin-top: 4rem;}
}

div.col-all > h2 span {display: inline-block;}

/* surveys */

#searchform {
  margin: 6rem 0;
  text-align: center;
}
#searchform div {
  position: relative;
  display: inline-block;
  font-size: 0;
}
#searchform div::after {
  content: '';
  position: absolute;
  right: 4rem;
  top: 20%;
  height: 60%;
  border-left: 2px solid var(--clr-gr);
}
#s {
  padding: 0.75rem 1.25rem;
  padding-right: 3.75em;
  width: 24em;
  border: none;
  outline: none;
  border: 2px solid var(--clr-gr);
  border-radius: 10rem;
  box-shadow: 0 0 1.5rem rgb(0 0 0 / 12%);
  font-size: 1.2rem;
}
#s:focus {
  background-color: rgb(44 109 173 / 10%);
  border-color: rgb(0 0 0 / 33%);
}
#s::placeholder {color: var(--clr-gr);}
#searchsubmit {
  position: absolute;
  right: 1.25rem;
  top: 0.75rem;
  width: 2rem;
  height: 2rem;
  background: url(../img/svy_ic_search.webp) center no-repeat;
  background-size: 88%;
  border: none;
  cursor: pointer;
  opacity: 0.5;
}
#searchsubmit:hover {opacity: 1;}
@media only screen and (max-width:768px) {
  #searchform {margin: 4rem 0;}
  #searchform div {
    width: 88%;
    max-width: 400px;
  }
  #s {width: 100%;}
  #searchsubmit {opacity: 1;}
}

div.survey_area_list {
  display: flex;
  gap: 0 2rem;
}
div.survey_area_list div.area {flex: 1;}
div.survey_area_list h4 {
  margin: 0 0 1em;
  background-color: var(--clr-bg-lt);
  border-radius: 0.5em;
  overflow: hidden;
}
div.survey_area_list h4 a {
  position: relative;
  display: block;
  padding: 1em;
  text-decoration: none;
  color: var(--clr-bk);
}
div.survey_area_list h4 a:hover {background-color: rgb(44 109 173 / 20%);}
div.survey_area_list h4 a::after {
  content: '';
  position:absolute;
  right: 1em;
  top: 50%;
  margin-top: -0.5em;
  width: 1em;
  height: 1em;
  background: url(../img/svy_ic_arw.webp) center no-repeat;
  background-size: 100%;
}
div.survey_area_list ul {
  columns: 2;
  gap: 1rem;
  margin: 0;
  padding: 0 0 0 1em;
  list-style-type: '・';
  line-height: 1;
}
div.survey_area_list li {
  margin: 0 0 0.66em;
  padding: 0;
  line-height: 1.25;
}
div.survey_area_list li a {
  text-decoration: none;
  color: var(--clr-bl);
}
div.survey_area_list li a:hover {
  text-decoration: underline;
  color: var(--clr-bk));
}
@media only screen and (max-width:768px) {
  div.survey_area_list {display: block;}
  div.survey_area_list div.area {margin: 2.5rem 0;}
  div.survey_area_list h4 a {padding: 0.75em 1em;}
}

/* survey_area */

div.survey_list a {color: var(--clr-bl);}
div.survey_list a:hover {
  text-decoration: underline;
  color: var(--clr-bk);
}

div.survey_list table {
  margin: 3rem 0;
  line-height: 1.35;
}
table tr th,
table tr td {
  padding: 1em;
  border-top: none;
  border-bottom: solid 1px #ccc;
}
table thead th {
  padding: 0 1em 0.5em;
  border-bottom: 2px solid #666;
  font-weight: bold;
  white-space: nowrap;
}
thead th:first-child {padding-left: 0;}
thead th:last-child {padding-right: 0;}
th.district {width: 25%;}
th.koaza {width: 25%;}
th.title {width: 50%;}
tbody th {font-weight: bold;}
tbody td:first-child {
  padding-left: 0;
  white-space: nowrap;
}
tbody th:last-child {padding-right: 0;}

@media only screen and (max-width:768px) {
  table, tbody, tr,
  table tr th,
  table tr td {
    display: block;
    padding: 0;
    border: none;
  }
  thead {display: none;}
  tbody {line-height: 1.25;}
  tr {
    padding: 0.5em 0;
    border-bottom: solid 1px #ccc;
  }
  tr:first-child {border-top: solid 1px #ccc;}
  table tbody td, table tbody th {
    display: grid;
    grid-template-columns: 5em 1fr;
    gap: 0 1.5em;
    margin: 0.5em 0;
  }
  tbody tr td:nth-child(1)::before {content: '市町村';}
  tbody tr td:nth-child(2)::before {content: '行政区';}
  tbody tr td:nth-child(3)::before {content: '小字';}
  tbody tr th:nth-child(4)::before {content: '年中行事名';}
  tbody *::before {font-weight: bold;}
}

/* survey - detail */

dl {
  margin: 0;
  padding: 0;
}
dl dt {
  margin: 0;
  padding: 0;
}
dl dd {
  margin: 0;
  padding: 0;
}

div.meta dl {
  display: grid;
  grid-template-columns: 7rem 1fr;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #ccc;
  line-height: 1.35;
}
div.meta dl div.header {
  grid-column: 1 / 3;
  display: grid;
  grid-template-columns: 7rem 1fr;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #ccc;
  font-size: 110%;
}
div.meta dt,
div.meta dl div.header dd {font-weight: bold;}

div.item h3 {
  margin: 2em 0;
  font-size: 1.25rem;
}
div.item h3::before {
  content: '─';
  display: inline-block;
  margin-right: 0.25em;
}
div.item dt {
  margin: 2em 0 1em;
  line-height: 1.2;
  font-weight: bold;
}
div.item dd {
  margin: 1em 0 2em;
  line-height: 1.5;
}
