*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}
/*
 =================================================
*/
:focus {
  outline: none;
}
dl, ol, ul, label{
  margin: 0;
  padding: 0;
}
li{
  list-style: none;
}
.cf:after {
  content: "";
  display: block;
  clear: both;
}

.cf:before {
  content: "";
  display: block;
  clear: both;
}

.cf {
  display: block;
}
/*
 =================================================
*/
html{
  font-size: 62.5%;
}
body{
  font-size: calc(1.6rem + (1vw - 0.56rem) * -1.0000);
  line-height: 1.6;
}
body,
#wrapper{
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  color: #666;
}

#list main,
#detail main{
  display: flex;
  min-height: calc(100vh - 100px);
  width: 100%;
}
body#top::before {
  background: url(../img/bg3.jpg) no-repeat top center;
  background-size: cover;
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
}
header{
  width: 100%;
  height: 50px;
  text-align: center;
  padding: 5px 0;
  border-bottom: 1px solid #ccc;
}
header h1{
  margin: 0 auto;
  width: 150px;
}

#list footer,
#detail footer{
  width: 100%;
  height: 50px;
  text-align: center;
  margin-top: auto;
  padding: 13px 0;
  background-color: #000;
  color: #fff;
  position: relative;
}
#list footer a,
#detail footer a{
  display: block;
  position: absolute;
  bottom: 13px;
  right: 15px;
}
#list footer img,
#detail footer img{
  width: 90px;
}
#list footer small,
#detail footer small{
  font-size: 1.4rem;
  vertical-align: top;
}

#list #contents,
#detail #contents {
  order: 2;
  width: calc(100% - 250px);
  padding: 15px 20px;
}
#list #search,
#detail #search {
  order: 1;
  width: 310px;
  text-align: left;
  background-color: #f7f7f7;
  padding: 15px 15px 50px;
}
#list #search h2,
#detail #search h2{
  font-size: 1.6rem;
  font-weight: 500;
  color: #4fc7d7;
}

#list  #search ul,
#detail  #search ul{
  margin: 0;
}
#list  #search li,
#detail  #search li{
  vertical-align: bottom;
  margin: 0 0 5px;
  font-size: 1.5rem;
  font-weight: normal;
  cursor: pointer;
}
#search_text,
#search_place,
#search_type,
#search_year,
#search_image {
  margin-bottom: 20px;
}
#search_text input{
  border: 1px solid #4fc7d7;
  border-radius: 5px;
  background-color: #fff;
  width: 100%;
  height: 35px;
  font-size: 1.4rem;
  padding: 0 10px;
  letter-spacing: 2px;
  color: #555;
}
#search_text input:focus {
  box-shadow: 0 0 5px rgba(81, 203, 238, 1);
}
#search_text input::placeholder{
  font-size: 1.2rem;
  color: #aaa;
  letter-spacing: normal;
}
#search_place .search_place_info,
#search_type .search_type_info{
  padding-left: 140px;
  font-size: 1.3rem;
  line-height: 2.4;
}
#search_type .search_type_info a{
  text-decoration: underline;
  color: #f00;
}
#search_year{
  vertical-align: bottom;
  font-size: 1.6rem;
  font-weight: normal;
  cursor: pointer;
}
#search_year h2{
  margin-top: 5px;
}
#search_year input {
  width: 90px;
  height: 35px;
  border: 1px solid #4fc7d7;
  border-radius: 5px;
  background-color: #fff;
  font-size: 1.4rem;
  padding: 0 10px;
  letter-spacing: 2px;
  color: #555;
}
#search li label{
  cursor: pointer;
}
#search_btn {
  display: block;
  text-align: center;
  border: 1px solid #4fc7d7;
  border-radius: 5px;
  background-color: #4fc7d7;
  margin: 0 auto;
  padding: 5px 0;
  color: #fff;
  width: 100px;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.1;
  cursor: pointer;
}
#search_btn:hover {
  border: 1px solid #4fc7d7;
  background-color: #fff;
  color: #4fc7d7;
}
#search_btn input{
  display: none;
}
#pager{
  text-align: center;
}
#pager li {
  margin: 0 5px;
  display: inline-block;
  font-size: 2.0rem;
  line-height: 30px;
  text-align: center;
  color: #ccc;
}
#pager li a{
  text-align: center;
  display:block;
  text-decoration: none;
  padding: 0 5px;
  color: #333;
}
#pager li:hover,
#pager li.active{
}
#pager li.none:hover{
}
#pager li:hover a,
#pager li.active a{
  color: #4fc7d7;
}
#pager li.active a{
  font-weight: bold;
}
#pager li.active a{
  cursor: default;
}
.check-btn input[type=checkbox] {
  display: none;
}
.check-btn label {
  position: relative;
  padding-left: 23px;
}
.check-btn input[type=checkbox] + label::before {
  position: absolute;
  content: '';
  display: block;
  width: 18px;
  height: 18px;
  background: #fff;
  left: 0;
  top: 3px;
  border: 1px solid #4fc7d7;
  border-radius: 5px;
}

.check-btn input[type=checkbox] + label::after {
  position: absolute;
  content: '';
  display: block;
  width: 8px;
  height: 12px;
  transform: rotate(45deg) scale(0, 0);
  border-right: 3px solid #4fc7d7;
  border-bottom: 3px solid #4fc7d7;
  left: 5px;
  top: 4px;
  transition: .3s;
}

.check-btn input[type=checkbox]:checked + label::after {
  transform: rotate(45deg) scale(1, 1);
}
/*
 TOP =================================================
 #4fc7dt
*/

#top #introduction{
  margin-bottom: 20px;
  text-align: center;
}
#top #introduction h1{
  width: 380px;
  margin: 70px auto 20px;
}
#top #introduction p{
  font-size: 1.5rem;
}
#top #introduction p a{
  text-decoration: underline;
  color: #f00;
}
#top #search {
  width: 800px;
  margin: 0 auto 50px;
  padding: 0;
  text-align: left;
}
#top #search_text {
  margin-bottom: 30px;
  text-align: center;
}
#top #search_text input{
  width: 380px;
  height: 35px;
}
#top #search_text input::placeholder{
  font-size: 1.4rem;
}
#top #search h2{
  float: left;
  width: 140px;
  font-size: 1.6rem;
  font-weight: normal;
}
#top #search h2 span{
  font-size: 1.3rem;
  font-weight: normal;
  display: block;
  text-align: center;
  padding-top: 5px;
}
#top #search h2 span a{
  text-decoration: underline;
  color: #f00;
}
#top #search ul{
  margin: 0;
  float: left;
  width: 650px;
}
#top #search li{
  display: inline-block;
  vertical-align: bottom;
  margin: 0;
  font-size: 1.6rem;
  font-weight: normal;
  cursor: pointer;
}
#top #search_place li:nth-child(1),
#top #search_place li:nth-child(2),
#top #search_place li:nth-child(4),
#top #search_place li:nth-child(5){
  margin-right: 20px;
}
#top #search_type li{
  width: 140px;
}
#top #search_type li:nth-child(4){
  width: 220px;
}
#top #search_image li{
  width: 140px;
}
#top #search_btn {
  width: 150px;
  font-size: 2.0rem;
}
#top #search_btn .fas{
  margin-right: 3px;
}
#top #cooperation{
  margin-bottom: 50px;
  text-align: center;
}
#top #cooperation h1{
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.1;
  margin-bottom: 10px;
}
#top #cooperation ul{
  margin: 0 auto;
  width: 800px;
}
#top #cooperation li{
  width: 250px;
  height: 80px;
  background-color: #fff;
  text-align: center;
  display: inline-block;
  border: 1px solid #4fc7d7;
  vertical-align: bottom;
  margin: 0 5px 15px;
}
#top #cooperation li a{
  display: block;
  width: 100%;
  height: 100%;
}
#top #cooperation li:nth-child(1) img{
  width: 200px;
  margin-top: 13px;
}
#top #cooperation li:nth-child(2) img{
  width: 234px;
}
#top #cooperation li:nth-child(3) img{
  width: 155px;
}
#top #cooperation li:nth-child(4) img{
  width: 234px;
  margin-top: 7px;
}
#top #cooperation li:nth-child(5) img{
  width: 230px;
  margin-top: 12px;
}
#top #cooperation li:nth-child(6) img{
  width: 225px;
  margin-top: 15px;
}
#top #cooperation li:nth-child(7) img{
  width: 240px;
  margin-top: 15px;
}
#top #project{
  width: 700px;
  margin: 0 auto 50px;
  padding: 0;
  text-align: left;
}
#top #project h1{
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.1;
  margin-bottom: 10px;
  position: relative;
}
#top #project h1 a{
  display: block;
  position: absolute;
  top: -1px;
  right: 0;
  width: 130px;
}
#top #project h1 img{
  width: 130px;
}
#top #project p {
  font-size: 1.4rem;
  text-indent: 1.4rem;
}
#top address{
  font-size: 1.4rem;
  text-align: center;
  margin-bottom: 50px;
}
#top address a{
  color:#f00;
  text-decoration: underline;
}
#top footer{
  width: 100%;
  text-align: center;
  margin-top: auto;
  padding: 10px 0;
}
#top footer img.ca{
  width: 130px;
  margin: 0 10px;
}
#top footer img.vp{
  width: 90px;
  margin: 0 10px 10px;
}
#top footer img.nfaj{
  width: 150px;
  margin: 0 10px 10px;
}
#top footer a{
  display: inline-block;
}
#top footer small{
  display: block;
  font-size: 1.4rem;
}
/*
 List =================================================
 #4fc7d7
*/
#list #result_info{
  margin-bottom: 30px;
  position: relative;
}
#list #result_ttl{
  
}
#list #result_ttl h1{
  font-size: 2.0rem;
  line-height: 1.5;
  font-weight: 500;
  padding-left: 10px;
  border-left: 5px solid #4fc7d7;
}
#list #result_condition dl{
  margin: 0;
  padding: 0;
}
#list #result_condition dt,
#list #result_condition dd{
  display: inline-block;
  font-weight: normal;
  font-size: 1.4rem;
  color: #333;
}
#list #result_condition dt{
  color: #666;
}
#list #result_count{
  position: absolute;
  right: 10px;
  top: 5px;
  font-size: 1.6rem;
}
#list table,
#list table tr,
#list table th,
#list table td{
  border-collapse: collapse;
}
#list table{
  width: 100%;
  margin-bottom: 30px;
}
#list table tr{
  border-bottom: 1px solid #ccc;
}
#list table th,
#list table td{
  font-size: 1.6rem;
  padding: 10px 5px;
}
#list table th{
  color: #4fc7d7;
  font-weight: 500;
}
#list table td{
  color: #777;
}
#list table td a{
  color: #777;
  text-decoration: underline;
}
#list table th:nth-child(2),
#list table td:nth-child(2){
  width: 140px;
  text-align: center;
}
#list table th:nth-child(3),
#list table td:nth-child(3){
  width: 220px;
}
#list table th:nth-child(4),
#list table td:nth-child(4){
  width: 240px;
}
#list table th:nth-child(5),
#list table td:nth-child(5){
  text-align: center;
  width: 50px;
  color: #4fc7d7;
}

/*
 Detail =================================================
 #4fc7d7
*/
#detail #detail_info{
  /*
  border-bottom: 1px solid #ccc;
  padding-bottom: 20px;
  */
  margin-bottom: 30px;
}
#detail #detail_ttl,
#detail #museum_ttl{
  position: relative;
  font-size: 2.0rem;
  line-height: 1.5;
  font-weight: 500;
  padding-left: 10px;
  border-left: 5px solid #4fc7d7;
  margin-bottom: 20px;
}
#detail h1{
  font-size: 2.2rem;
  line-height: 1.1;
  font-weight: 500;
  color: #333;
}
#detail h1 span{
  display: block;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: normal;
  color: #666;
}
#detail #detail_data{
  font-size: 1.6rem;
}
#detail #detail_data li{
  display: inline-block;
  margin-right: 20px;
}
#detail #detail_data li span{
  color: #4fc7d7;
}
#detail table,
#detail table tr,
#detail table th,
#detail table td{
  border-collapse: collapse;
}
#detail table{
  width: 100%;
  margin: 0 10px;
}
#detail table th,
#detail table td{
  font-size: 1.6rem;
  padding: 15px 5px;
}
#detail table th{
  color: #4fc7d7;
  font-weight: 500;
  width: 110px;
  border-right: 1px solid #ccc;
  vertical-align: top;
}
#detail table td{
  color: #777;
  padding-left: 30px;
}
#detail table td.img{
  padding-bottom: 0;
}
#detail table td a{
  color: #777;
  text-decoration: underline;
}
#detail .img-box {
  float: left;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 100px;
  outline: 1px solid #ccc;
  margin: 0 15px 15px 0;
  vertical-align: middle;
  background-color: #efefef;
}
#detail .thumb {
  max-width: 100px;
  max-height: 100px;
  width: auto;
  height: auto;
  vertical-align: middle;
}
#detail hr {
  margin: 30px 0;
  border:1px solid #ccc;
  border-width: 0 0 1px;
}
#detail #museum_info{
  margin: 50px 0;
}
#menu{
  display: none;
}
#list .pc {
  display: block;
}
#list tr.pc {
  display: table-row;
}
#list .sp {
  display: none;
}
#detail #back_to_list{
  position: absolute;
  top: 7px;
  right: 10px;
  font-size: 1.2rem;
  color: #666;
}
#detail #back_to_list a{
  color: #666;
  text-decoration: underline;
}
.pagetop {
  position: fixed;
  right: 0;
  bottom: 0;
}
.pagetop a {
  display: block;
  background-color: #555;
  width: 50px;
  height: 50px;
  position: relative;
  bottom: -50px;
}
.pagetop a:after {
  content: "";
  position: absolute;
  top: 22px;
  left: 16px;
  display: block;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  width: 16px;
  height: 16px;
  transform: rotate(135deg);
}
#no_result{
  font-size: 1.8rem;
}
/*
 Mobile =================================================
 #4fc7d7
*/
@media screen and (max-width: 480px) {
  header{
    position: fixed;
    top:0;
    left: 0;
    z-index: 1;
    background-color: #fff;
  }
  header img{
    vertical-align: top;
  }
  body, #wrapper {
    display: block;
  }
  #list main,
  #detail main {
    display: block;
    min-height: auto;
    width: 100%;
    position: relative;
    margin-top: 50px;
  }
  body#top::before {
    background-size: cover;
  }
  #top #introduction h1 {
    width: 300px;
    margin: 70px auto 20px;
  }
  #top #introduction p {
    padding: 0 20px;
  }
  #top #search {
    width: 100%;
    padding: 0 40px;
  }
  #top #search_text input {
    width: 100%;
  }
  #top #search h2 {
    float: none;
    width: 100%;
    font-size: 1.6rem;
    color: #4fc7d7;
  }
  #top #search ul {
    float: none;
    width: 100%;
  }
  #top #search_type li {
    width: 48%;
  }
  #search_place {
    margin-bottom: 30px;
  }
  #search_type {
    margin-bottom: 30px;
  }
  #search_image {
    margin-bottom: 40px;
  }
  #top #search_btn {
    width: 100%;
  }
  #top #cooperation li {
    display: block;
    margin: 0 auto 15px;
  }
  #top #project{
    width: 100%;
    margin: 0 0 50px;
    padding: 0 20px;
  }
  #top #project h1 img{
    width: 100px;
  }
  #menu{
    position: fixed;
    top: 10px;
    right: 10px;
    display: flex;
    height: 30px;
    width: 30px;
    justify-content: center;
    align-items: center;
    z-index: 2;
  }
  #menu span,
  #menu span:before,
  #menu span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #000;
    position: absolute;
  }
  #menu span:before {
    bottom: 8px;
  }
  #menu span:after {
    top: 8px;
  }
  #menu.active span {
    background-color: rgba(255, 255, 255, 0);
  }
  #menu.active span::before {
    bottom: 0;
    transform: rotate(45deg);
  }
  #menu.active span::after {
    top: 0;
    transform: rotate(-45deg);
  }
  #list #search,
  #detail #search {
    width: 100%;
    padding: 15px;
    top: 50px;
    left: 0;
    height: 100%;
    position: fixed;
    display: none;
  }
  #list #contents,
  #detail #contents {
    width: 100%;
    padding: 15px 0;
  }
  #list #result_ttl h1 {
    margin-bottom: 20px;
  }
  #list #result_condition{
    padding: 0 10px;
  }
  #list #result_condition dl{
    margin-bottom: 10px;
  }
  #list #result_condition dd{
    display: block;
    margin-bottom: 0;
  }
  #list #result_condition dt{
    line-height: 1.2;
    vertical-align: middle;
  }
  #list #result_count {
    right: 20px;
    top:0;
  }
  #list tr.pc,
  #list .pc {
    display: none;
  }
  #list .sp {
    display: block;
  }
  #list table td {
    width: 100%;
    display: block;
    text-align: left;
    font-size: 1.4rem;
    padding: 10px 0;
  }
  #list table td a{
    padding: 0 10px;
    width: 100%;
    display: block;
  }
  #list td span{
    width: 70px;
    display: inline-block;
    color: #4fc7d7;
    border-right: 1px solid #4fc7d7;
    margin-right: 15px;
    font-size: 1.4rem;
  }
  #list td span.ttl{
    width: 100%;
    display: block;
    color: #fff;
    border-right: 0;
    margin: 0 0 10px 0;
    padding: 0 10px;
    background-color: #7ECEF4;
  }
  #list table td:nth-child(2),
  #list table td:nth-child(3),
  #list table td:nth-child(4),
  #list table td:nth-child(5){
    text-align: left;
    width: 100%;
    color: #777;
    padding: 5px 20px;
  }
  #list table td:nth-child(1){
    padding-top:25px;
    font-size: 1.6rem;
  }
  #list table td:nth-child(5){
    padding-bottom:25px;
  }
  #list td .sp{
    display: inline-block;
  }
  #list table{
  }
  #list table tr{
    border-collapse: separate;
    border-spacing: 0 20px;
    border-bottom: 0;
  }
  #list table tr:nth-child(even){
    background-color: #F4FAFE;
  }
  #pager{
    margin-bottom: 50px;
  }
  #list #result_info {
    margin-bottom: 0;
    padding: 0 10px;
  }
  
  
  #detail #detail_info {
    margin-bottom: 30px;
    padding: 0 10px;
  }
  #detail h1 {
    margin-bottom: 20px;
  }
  #detail h1 span {
    margin-top: 10px;
  }
  #detail #detail_data li {
    display: block;
    margin-right: 0;
  }
  #detail #detail_data li span {
    display: inline-block;
    width: 90px;
  }
  #detail table {
    width: 95%;
    margin: 0 10px;
  }
  #detail table th {
    width: 75px;
  }
  #detail table td {
    padding-left: 20px;
    word-break: break-all;
  }
  #detail #museum_ttl {
    margin: 0 10px 20px;
  }
  #top #search h2 span{
    text-align: left;
    padding-top: 2px;
  }
  #top #search h2 span br{
    display: none;
  }
  #top #cooperation ul{
    width: 100%;
  }
  #search_place .search_place_info, #search_type .search_type_info {
    padding-left: 0;
    font-size: 1.3rem;
    line-height: 1.6;
  }

}
