@charset "UTF-8";

/* @import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+Antique:wght@300;400;500;700&display=swap'); */

/* font-family: 'Zen Kaku Gothic Antique', sans-serif; */




/* ========================
 common
=========================== */
html {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 10px;
  font-weight: 300;
  margin: 0;
  padding: 0;
  text-align: center;
  background-image: url(../images/common/bk.png);
  background-position: center center;
  background-size: 50% auto;
  scroll-behavior: smooth
}
body {
  font-size: 1.8rem;
  line-height: 1.7em;
  color: #231815;
  margin: 0;
  padding: 0;
  text-align: center;
  background-image: url(../images/common/kamon.png);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 60% auto;
}
section {
  width: 100%;
  padding: 75px 0;
  margin: 0 auto;
}
section.wh {
  background-color: rgba(255,255,255,0.4);
}

img {
  max-width: 100%;
  height: auto;
  border: none;
}
a {
  color: #231815;
  text-decoration: none;
}
a:hover {
  opacity: 0.7;
}
h1 {
  font-size: 4rem;
  font-weight: 400;
  color: #231815;
  line-height: 1.2em;
  text-align: center;
  padding: 0;
  margin: 0 auto;
  margin-bottom: 45px;
}
h1 span {
  display: block;
  font-size: 2.8rem;
  padding-top: 10px;
  line-height: 1em;
}
h1 span.en {
  font-size: 2rem;
  font-family: serif;
}
h2 {
  font-size: 3.5rem;
  font-weight: 400;
  line-height: 1.45em;
  color: #231815;
  padding: 0;
  margin: 0 auto;
  margin-bottom: 45px;
  display: block;
  width: 100%;
  text-align: left;
}
h2 small {
  font-size: 0.7em;
  display: inline-block;
  margin-left: 35px;
}
h2.ub {
  text-align: left;
  line-height: 1.25em;
  padding-bottom: 7px;
  border-bottom: 1px solid #231815;
}

h3 {
  font-size: 2.8rem;
  font-weight: 400;
  line-height: 1.1em;
  text-align: left;
  padding: 0;
  margin: 0 auto 16px;
}
h3 small {
  padding: 0;
  margin: 0;
  line-height: 1em;
}
h4 {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.1em;
  padding: 0;
  margin: 0 auto 8px;
  color: #231815;
}
h4.gbox {
  color: #fff;
  background-color: #8db23a;
  padding: 7px;
  display: inline-block;
}
p {
  padding: 0;
  margin: 0;
}
i, address {
  font-style: normal;
}
picture {
  padding: 0;
  margin: 0;
  display: block;
}
picture img {
  width: 100%;
  line-height: 0.1em;
}

@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 768px) {
  body {
    font-size: 1.6rem;
  }
  section {
    padding: 45px 0;
  }
  h1 {
    font-size: 3rem;
    margin-bottom: 30px;
  } 
}
@media screen and (max-width: 600px) {
  section {
    padding: 35px 0;
  }
}


/* ========================
 共通
=========================== */
main {
  width: 100%;
  padding: 0;
  /* padding-top: 130px; */
  margin: 0 auto;
  min-height: 500px;
}
.wrap {
  width: 90%;
  max-width: 1150px;
  margin: 0 auto;
  text-align: left;
}
.wrap.min {
  max-width: 900px;
}
.wrap_f {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

p.lead {
  text-align: center;
  line-height: 1.8em;
  margin-bottom: 45px;
}

.textalign_l { text-align: left; }
.textalign_r { text-align: right; }
.textalign_c { text-align: center; }

.bcrumb {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  margin: 0;
}
.bcrumb span {
  display: inline-block;
  margin: 0 auto;
  width: 90%;
  max-width: 1150px;
  padding: 7px;
  text-align: left;
  font-size: 1.6rem;
  color: #000;
}
.bcrumb a {}
.bcrumb a::after {
  content: ">";
  margin: 0 8px;
}

.wbr {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}
.wbr i {
  white-space: nowrap;
}
.wbr.center {
  justify-content: center;
}
.wbr.right {
  justify-content: flex-end;
}

.btn_more {
  margin: 45px 0 0;
}
.btn_more a {
  font-size: 1.6rem;
  line-height: 1em;
  color: #231815;
}
.btn_more a span {
  position: relative;
  padding-right: 115px;
  display: inline-block;
}
.btn_more a span::before {
  content: '';
  position: absolute;
  right: 0;
  top: 5px;
  display: inline-block;
  width: 15px;
  height: 1px;
  border-top: 1px solid #231815;
  transform: rotate(30deg);
  transition-duration: 500ms;
}
.btn_more a span::after {
  content: '';
  position: absolute;
  right: 0;
  top: 2px;
  display: block;
  width: 100px;
  height: 1px;
  margin-top: 7px;
  border-top: 1px solid #231815;
  transition-duration: 500ms;
}
.btn_more a span:hover::before {
  transform: rotate(30deg) translateX(10px) translateY(-6px);
}
.btn_more a span:hover::after {
  transform: translateX(10px);
}

.btn_more.r {
  text-align: right;
}
.btn_more.l {
  text-align: left;
}
.btn_more.c {
  text-align: center;
}


.btn_box {
  margin: 45px 0 0;
  text-align: center;
}
.btn_box a {
  display: inline-block;
  margin: 0 auto;
  padding: 20px 40px;
  font-size: 3rem;
  line-height: 1em;
  background-color: #231815;
  color: #fff;
  border: 1px solid #231815;
}
.btn_box a:hover {
  background-color: #fff;
  color: #231815;
  border: 1px solid #231815;
}



.cate {
  display: inline-block;
  font-size: 1.6rem;
  line-height: 1em;
  text-align: center;
  padding: 3px 0;
  width: 140px;
}
.cate.展覧会,
.cate.イベント,
.cate.event {
  color: #fff;
  background-color: #DB4943;
}
.cate.お知らせ,
.cate.info {
  color: #fff;
  background-color: #2A8729;
}
.cate.finish {
  color: #fff;
  background-color: #999;
}

ul.dots {
  padding: 0;
  margin: 0;
  margin-bottom: 30px;
  margin-left: 4px;
  list-style: none;
  text-align: left;
}
ul.dots li {
  padding: 0;
  padding-left: 23px;
  margin: 0;
  position: relative;
}
ul.dots li::before {
  position: absolute;
  content: '●';
  color: #DB4943;
  margin-right: 5px;
  left: 0;
}
dl.dots {
  padding: 0;
  margin: 0;
  margin-bottom: 30px;
  margin-left: 4px;
  text-align: left;
}
dl.dots dt {
  padding: 0;
  margin: 0;
  position: relative;
  color: #DB4943;
  font-weight: 400;
}
dl.dots dt::before {
  content: '●';
  color: #DB4943;
  margin-right: 5px;
}
dl.dots dd {
  padding: 4px 0;
  padding-left: 27px;
  margin: 0;
  margin-bottom: 8px;
}

dl.table {
  padding: 0;
  margin: 0;
  margin-bottom: 30px;
  text-align: left;

  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
dl.table dt {
  padding: 12px 0;
  margin: 0;
  width: 300px;
  border-bottom: 1px solid #888;
}
dl.table dd {
  padding: 12px 0;
  margin: 0;
  border-bottom: 1px solid #888;
  width: calc(100% - 300px);
}

table.def {
  padding: 0;
  margin: 0;
  border-collapse:  collapse;
  display: inline-block;
  padding: 0;
  margin: 0;
  margin-bottom: 30px;
  width: 100%;
}
table.def tr {}
table.def th,
table.def td {
  border: solid 1px;
  padding: 3px 10px;
  text-align: center;
}
table.def th {
  background-color: #F8F8F6;
  font-weight: normal;
}
table.def tr td:first-child {
  text-align: left;
}

@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 600px) {
  dl.table {
    display: block;
    border-top: none;
    margin-bottom: 45px;
  }
  dl.table dt {
    padding: 7px 10px;
    width: calc(100% - 20px);
    border-bottom: none;
    font-weight: bold;
  }
  dl.table dd {
    padding: 7px 10px;
    width: calc(100% - 20px);
    border-bottom: none;
  }
  table.def th,
  table.def td {
    padding: 3px;
  }
}
@media screen and (max-width: 450px) {
  .btn_more {
    text-align: center;
    margin: 30px 0 0;
  }
  .btn_more a {
    width: calc(94% - 48px);
    margin: 0 auto 18px;
  }
  .btn_more.right {
    text-align: center;
  }
  .btn_more.right a {
    margin: 0 auto 18px;
  }
  .btn_more.left {
    text-align: center;
  }
}



.btn_list {
  margin: 20px 0;

  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}
.btn_list a {
  color: #000;
  border: 1px solid #000;
  padding: 12px 35px 12px 20px;
  margin-right: 10px;
  margin-bottom: 15px;
  position: relative;
  overflow: visible;

  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.btn_list a::after {
  content: '';
  display: block;
  width: 21px;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 10px;
}
.btn_list a.pdf::after {
  background-image: url(../images/common/ico_pdf.svg);
}
.btn_list a.xls::after,
.btn_list a.xlsx::after {
  background-image: url(../images/common/ico_xls.svg);
}
.btn_list a.doc::after,
.btn_list a.docx::after {
  background-image: url(../images/common/ico_doc.svg);
}
.btn_list ul {
  padding: 0;
  margin: 0;
  margin-bottom: 35px;
  list-style: none;
}

@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 768px) {
  .btn_list ul {
    margin-bottom: 45px;
  }
}
@media screen and (max-width: 450px) {
  .btn_list a {
    width: calc(100% - 52px);
    padding: 12px 35px 12px 15px;
    margin-right: 0;
  }
}




/* ========================
 ヘッダー
=========================== */
header {
  padding: 0;
  margin: 0;
  width: 100%;
  /* background-color: rgba(255,255,255,0); */
  z-index: 99990;
  /* position: fixed; */
  /* top: 0; */
  /* left: 0; */
}
header .wrap {
  width: 90%;
  height: 130px;
  margin: 0 auto;

  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
header .head_logo {
  width: 305px;
}
header nav {
  padding: 0;
  margin: 0;
  width: calc(100% - 320px);

  display: none;
}
header ul {
  padding: 0;
  margin: 0;
  list-style: none;
  font-size: 1.6rem;
  font-weight: 400;

  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}
header ul li {
  padding: 0;
  margin: 0;
}
header ul li a {
  display: block;
  line-height: 1.1em;
}
header ul.contents li {
  margin: 0;
  margin-bottom: 10px;
}
header ul.contents li a {
  padding: 0 20px;
}

@media screen and (max-width: 1024px) {
  header .head_logo {
    width: 240px;
  }
  header nav {
    width: calc(100% - 245px);
  }
  header ul {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  header .wrap {
    height: 80px;
  }
  header .head_logo {
    width: 70%;
    max-width: 250px;
  }
  header nav {
    display: none;
  }
}
@media screen and (max-width: 600px) {
}
@media screen and (max-width: 450px) {
}





/* ========================
 フッター
=========================== */
footer {
  padding: 60px 0;
  margin: 0;
  width: 100%;
  background-image: url(../images/common/foot_bk.png);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
}
footer .wrap {
  /* width: 90%; */
  /* max-width: 1250px; */
  text-align: left;
  
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

footer .foot_logobox {
  width: 440px;
  font-size: 1.6rem;
}
footer .foot_logobox .foot_logo {
  /* width: 100%; */
  display: block;
  margin-bottom: 8px;
  font-size: 1.9rem;
}
footer .foot_logobox h4 a {
  padding: 0;
  margin: 0;
  max-width: 290px;
  font-size: 1.9rem;
}
footer .foot_logobox address {
  /* margin-bottom: 12px; */
}
footer .foot_logobox p {
  line-height: 1.8em;
}

footer nav {
  width: calc(100% - 440px);
}
footer nav .footer_link {
  padding: 0;
  margin: 0;
  margin-bottom: 8px;
  list-style: none;

  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}
footer nav .footer_link li {
  margin: 0 0 0 10px;
}
footer nav .footer_link li::after {
  content: '/';
  margin-left: 10px;
}
footer nav .footer_link li a {
  font-size: 1.6rem;
}

footer #copyright {
  width: 100%;
  padding: 10px 0;
  margin: 0;
  font-size: 1.4rem;
  text-align: center;
}

@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 768px) {
  footer .wrap {
    text-align: center;
  }
  footer .foot_logobox {
    width: 100%;
    padding-bottom: 20px;
  }
  footer .foot_logobox .foot_logo {
    margin: 0 auto;
  }
  footer .foot_logobox p.wbr,
  footer .foot_logobox address.wbr {
    justify-content: center;
  }
  footer nav {
    width: 100%;
    text-align: center;
  }
  footer nav .footer_link {
    display: none;
  }
  footer nav p {
    position: relative;
    right: auto;
  }
}
@media screen and (max-width: 600px) {
}




/* トップへ戻る */
.gotop {
	display: none;
  position: fixed;
  bottom: 15px;
  right: 23px;
  overflow:hidden;
	cursor: pointer;
	-webkit-transition: all 0.7s linear;
	-o-transition: all 0.7s linear;
	transition: all 0.7s linear;
  z-index:9999;
}
#top {
  background: #000;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  position: relative;

  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
#top::before,
#top::after {
  content: '';
  display: block;
  width: 20px;
  height: 2px;
  position: absolute;
  border-top: 1px solid #fff;
}
#top::before {
  left: 16px;
  transform: rotate(-60deg);
}
#top::after {
  right: 16px;
  transform: rotate(60deg);
}

@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 600px){
  #top {
    width: 50px;
    height: 50px;
    font-size: 1.4rem;
  }
  #top::before,
  #top::after {
    width: 15px;
  }
  #top::before {
    left: 15px;
  }
  #top::after {
    right: 15px;
  }
}




/* sns */
.side_sns {
  position: fixed;
  display: inline-block;
  top: 40vh;
  left: 12px;
	cursor: pointer;
	-webkit-transition: all 0.3s linear;
	-o-transition: all 0.3s linear;
	transition: all 0.3s linear;
  z-index:9999;
}
.side_sns .wrap {
  width: 85px;
  background-color: #231815;
  border-radius: 8px;
  padding: 10px 0;
  position: relative;
}
.side_sns a.sns {
  display: block;
  width: 50px;
  height: 50px;
  text-align: center;
  line-height: 0.1em;
  padding: 0;
  margin: 10px auto;
}
.side_sns a.sns img {
  width: 100%;
}
/* .side_sns .wrap::before {
  content: '×';
  color: #fff;
  background: #231815;
  display: block;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: -30px;
  line-height: 26px;
} */

@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 950px) {
  .side_sns {
    width: 100%;
    background-color: #eee;
    position: relative;
    top: auto;
    left: auto;
  }
  .side_sns .wrap {
    width: 90%;
    max-width: 300px;
    background-color: #eee;
    border-radius: 0;
    margin: 0 auto;

    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }
  /* .side_sns .wrap::before {
    content: none;
  } */
  .side_sns a.sns {
    display: inline-block;
    width: 20%;
    height: auto;
    margin: 0;
  }
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 600px){
}





/* =====================
   title_head
======================== */
#title_head {
  background-color: rgba(255,255,255,0.4);
}
#title_head h1 {
  margin-bottom: 0;
  text-align: left;
  /* text-indent: 5%; */
}
#title_head picture {
  margin: 0;
  margin-top: 35px;
  line-height: 0.1;
}

@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 768px) {
  #title_head {
    padding: 27px 0;
  }
}
@media screen and (max-width: 600px){
}





/* =====================
   event_list
======================== */
.event_list {}
.event_list ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
.event_list ul li {
  padding: 20px 0;
  margin: 0;
  line-height: 1.15em;

  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.event_list ul li span {
  /* display: inline-block; */
  line-height: 1em;
  padding: 3px 0;
  margin: 0;
}
.event_list ul li .update {
  width: 100px;
  text-align: left;
}
.event_list ul li .cate {
}
.event_list ul li a {
  display: inline-block;
  width: calc(100% - 280px);
  text-align: left;
}



@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 768px) {
  .event_list ul li {
    justify-content: flex-start;
  }
  .event_list ul li .update {
    width: 100px;
  }
  .event_list ul li a {
    width: 100%;
    margin-top: 7px;
  }
}
@media screen and (max-width: 600px) {
}
@media screen and (max-width: 450px) {
}





/* モーダルウインドウ */
.modal_wrap input {
  display: none;
}
.modal_open_label {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
}
.modal_open_label:hover {
  cursor: pointer;
  cursor: hand;
}
.modal_open_label img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 8px;
}
.modal_open_label a {
  text-decoration: underline;
}

.modal {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 99998;
  display: none;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  overflow: scroll;
}
.modal picture {
  position: relative;
  /* display: inline-block; */
  width: auto!important;
  /* max-width: 85%; */
  padding: 25px;
  padding-bottom: 17px;
  background-color: #fefefe;
  z-index: 99999;
}
.modal img {
  width: auto;
  height: auto;
  max-height: 80vh;
  margin-bottom: 8px;
}
.modal a {
  text-decoration: underline;
}


.modal_open_input:checked + label + input + .modal {
  display: flex;
  animation: modal_animation .9s;
}


.modal_close_label {
  background-color: #777;
  color: #fff;
  border: 2px solid #fff;
  border-radius: 20px;
  width: 36px;
  height: 36px;
  line-height: 1.6;
  text-align: center;
  display: table-cell;
  position: fixed;
  top: -15px;
  right: -2%;
  z-index: 99999;
  font-size: 1.3em;
}

.modal_content {
  max-height: 50vh;
  overflow-y: auto;
  padding: 39px 45px 40px;
}

.modal_background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .45);
  z-index: 1;
}

@keyframes modal_animation {
  0% {
      opacity: 0;
  }
  100% {
      opacity: 1;
  }
}

@media only screen and (max-width: 520px) {
}




#sakkalist .wrap {
  max-width: 950px;

  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
}
#sakkalist .wp-block-file {
  margin: 0 1% 30px;
  padding: 0;
}
#sakkalist .wp-block-file a {
  background-color: rgba(0, 0, 0, .25);
  display: inline-block;
  color: #000;
  padding: 8px 15px;
  line-height: 1em;
}
#sakkalist .wp-block-file a.wp-element-button {
  display: none;
}

@media screen and (max-width: 768px) {
}
@media screen and (max-width: 600px) {
}
@media screen and (max-width: 450px) {
}


/* フェードイン */
.fadein {
    opacity: 0;
    transform: translate(0,0);
    transition: all 2.5s;
  &.fadein-left{
      transform: translate(-30px,0);
  }
  &.fadein-right{
      transform: translate(30px,0);
  }
  &.fadein-up{
      transform: translate(0,-30px);
  }
  &.fadein-bottom{
      transform: translate(0,30px);
  }
  &.scrollin{
    opacity: 1 !important;
    transform: translate(0, 0) !important;
  }
}