@charset "utf-8";
/* PCファーストで記述してます */

.content-page {
  max-width: 860px;
  margin: 0 auto;
  padding: 4.75rem 1rem 8rem;
}

/* 「GALLERY」見出しの指定 */
.gallery-midashi {
  margin: 0 auto;
  max-width: 220px;
  width: 80%;
}

/* 「ORIGINAL GOODS」見出しの指定 */
.originalgoods {
  margin: 0 auto;
  max-width: 400px;
  width: 100%;
}

/* 「PRIVACY POLICY」見出しの指定 */
.privacypolicy-midashi {
  margin: 0 auto;
  max-width: 380px;
  width: 100%;
}

/* 「CONTACT」見出しの指定 */
.contact-midashi {
  margin: 0 auto 2rem;
  max-width: 220px;
  width: 100%;
}

/*プライバシーポリシー見出しの指定 */
.privacypolicy-title {
  font-weight: bold;
  font-size: 1rem;
  text-align: left;
  margin: 2rem 0;
  line-height: 2;
}

/* 記事タイトル */
.content-title {
  font-weight: bold;
  font-size: 1rem;
  text-align: left;
  margin: 2rem 0 0;
  line-height: 2;
}

/*　公開日 */
.content-today {
  font-weight: bold;
  font-size: 1rem;
  color: #938272;
  border-bottom: 2px solid rgb(145, 129, 111);
  max-width: 7rem;
  margin-left: auto;
  margin-top: .5rem;
  margin-bottom: 2rem;
  letter-spacing: 3px;
}

/* タグ、開催期間、yyyy.mm.dd　hh:mm～hh:mm */
.tag-kikan {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 1rem;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

/* タグ */
.event-tag {
  padding: 0 1.2rem;
}

/* 開催期間、yyyy.mm.dd　hh:mm～hh:mm */
.kaisaikikan {
  display: flex;
  font-weight: bold;
  color: #938272;
  border-bottom: 2px solid rgb(145, 129, 111);
  margin-left: 1rem;
  letter-spacing: 2px;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

/* 開催期間 */
.content-kikan {
  padding-right: .7rem;
}

/* yyyy.mm.dd　hh:mm～hh:mm */
.content-date {
  padding: 0 .1rem;
}

/* アイキャッチ画像 */
.content-img {
  border: 2px solid rgb(145, 129, 111);
  border-radius: 10px;
  margin-bottom: 1rem;
  background-color: rgb(145, 129, 111);
  width: 100%;
  box-sizing: border-box;
}

.exhibition-content-img-wrap {
  position: relative;
}

.exhibition-gallery-tag {
  border-radius: 10px 10px 0 0;
  background: rgb(145, 129, 111);
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding-bottom: 7px;
  position: relative;
  top: 7px;
  z-index: -1;
}

/* オリジナルグッズページの画像 */
.content-img-touka{
  border-radius: 10px;
  width: 100%;
}

/*　テキストボックス */
.content-box {
  background-color: #fff;
  border-radius: 10px;
  text-align: left;
  padding: 2rem;
}

.content-box + .content-box {
  margin-top: 2rem;
}

/*　テキストボックス太字 */
.content-box b {
  font-weight: bold;
}

/*　テキストボックス太字 */
.content-box big {
  font-size: larger;
}

/*　本文 */
.content-box > p {
  padding-bottom: 2rem;
  text-align: left;
}

.content-box > p:last-child {
  padding-bottom: 0;
}

/*　本文内強調したいとき */
.font-bigbold {
  font-weight: bold;
  font-size: 1rem;
}

/*　本文内赤くしたいとき */
.font-red {
  color: #ff4d4d;
  font-weight: bold;
}

/*　本文内アンダーライン */
.font-underline {
  text-decoration: underline;
}

/*　本文内リスト */
.content-list {
  list-style: outside;
  margin-left: 1.285em;
}

/*　本文内リスト2 */
.content-list2 {
  list-style: inside disc;
  line-height: 1.8;
}

.content-list2-item::marker {
  color: #91816f;
}

/*　本文内リスト非表示にしたい場合 */
.content-list-none {
  list-style: none;
}

/*　リストマーカーが数字になるリスト */
.decimal-list {
  padding: 1rem;
  list-style-type: decimal-leading-zero;
}

/*　本文内目立たせるリンク */
.font-bigbold-link {
  font-weight: bold;
  font-size: 1rem;
  color: rgb(0, 0, 0);
  display: inline-block;
}

/*　本文内リンク */
.content-box a {
  color: black;
  border-bottom: solid 1px;
  word-break: break-all;
}

/*　本文内ボタン */
.content-box .btn a {
  color: rgb(145, 129, 111);
  border-bottom-width: 2px;
}

.content-box .column {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 1rem;
  margin-block: 2rem;
}

.content-box .column .btn {
  margin-block: 0;
}

/*　本文内詳細折り畳み要素 */
.content-box details:not(.no-margin) {
  margin-bottom: 2rem;
}

.content-box details summary {
  cursor: pointer;
  border-bottom: dashed 1px #cfcfcf;
  list-style: none;
  position: relative;
  padding-left: 1.5em;
}

.content-box details summary.is-underline {
  border-bottom: none;
  text-decoration: underline;
}

.content-box details summary::-webkit-details-marker {
  display: none;
}

.content-box details summary::before,
.content-box details summary::after {
  content: '';
  width: 1em;
  border-bottom: solid 2px #666;
  position: absolute;
  left: 0;
  top: 46%;
}

.content-box details summary::after {
  transform: rotate(90deg);
  transition: .1s;
}

.content-box details[open] > summary::after {
  transform: rotate(0);
}

/* 本文内モーダル */
.content-box .modal-trigger {
  border-bottom: none;
}

.content-box .modal-content {
  display: none;
  width: 100%;
  height: 100dvh;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
}

.content-box .modal-bg {
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,.5);
}

.content-box .modal-inner {
  background: #fff;
  width: calc(100% - 2rem);
  max-width: 860px;
  max-height: calc(100% - 5rem);
  padding: 2rem;
  box-sizing: border-box;
  border-radius: 10px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  overflow-y: auto;
}

.content-box .modal-close {
  appearance: none;
  border: none;
  position: absolute;
  right: 1rem;
  top: 1rem;
  width: 1.5rem;
  height: 1.5rem;
  background: linear-gradient(to right top, transparent 48%, #333 48%, #333 53%, transparent 53%), linear-gradient(to left top, transparent 48%, #333 48%, #333 53%, transparent 53%);
  cursor: pointer;
}

/*　本文内画像 */
.content-box-img {
  margin: auto;
  display: block;
}

/* 記事作成テンプレート */
.content-box .image-max {
  max-height: 530px;
}

.content-box .gaiyou {
  background: #ffffe0;
  padding: 2em;
  margin-bottom: 2rem;
}

.content-box .gaiyou .title {
  font-size: 1.5rem;
  font-weight: 600;
}

.content-box .gaiyou .koumoku {
  font-size: 1rem;
  font-weight: 600;
  margin-right: 1em;
}

.content-box .gaiyou .koumoku::before {
  content: '';
  display: inline-block;
  width: .8em;
  height: .8em;
  background: #333;
  margin-right: .1em;
}

.content-box .profile-title {
  font-size: 1.5rem;
  font-weight: 600;
}

.content-box .profile-title:not(:first-child) {
  margin-top: 30px;
}

.content-box .profile {
  padding: 30px;
  border: solid 1px;
  margin-bottom: 2rem;
  font-size: 12px;
  line-height: 1.8;
}

/* プロフィール横2列レイアウト */
.content-box .profile.is-list {
  padding: 1rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.content-box .profile.is-list li {
  padding: 1rem;
  position: relative;
}

.content-box .profile.is-list li:nth-child(2n) {
  border-left: solid 1px #938272;
}

.content-box .profile.is-list li:nth-child(n + 3)::before {
  content: '';
  border-top: solid 1px #938272;
  width: calc(100%  - 1rem);
  position: absolute;
  top: 0;
  left: 0;
}

.content-box .profile.is-list li:nth-child(2n + 4)::before {
  left: auto;
  right: 0;
}

.content-box .profile .category:not(:first-child) {
  margin-top: 2rem;
}

.content-box .profile .name {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 10px;
}

.content-box .profile .image {
  max-height: 300px;
  display: block;
}

.content-box .profile.is-list .image {
  max-height: 150px;
}

/* リンクと画像4列のリスト */
.content-box .card-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  line-height: 1.8;
}

.content-box .card-list > li {
  padding: 1rem 0.5rem;
  border-right: 1px solid rgb(145 129 111 / 50%);
  border-bottom: 1px solid rgb(145 129 111 / 50%);
}

@media screen and (min-width: 769px) {
  .content-box .card-list > li:nth-child(4n + 1) {
    border-left: 1px solid rgb(145 129 111 / 50%);
  }

  .content-box .card-list > li:nth-child(-n + 4) {
    border-top: 1px solid rgb(145 129 111 / 50%);
  }
}

.content-box .card-list a {
  border-bottom: none;
  text-decoration: underline;
}

.content-box .card-list a:hover {
  text-decoration: none;
}

.content-box .card-list .name {
  display: block;
  font-weight: 600;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.content-box .card-list img {
  display: block;
  object-fit: cover;
  width: 180px;
  height: 180px;
}

.content-box .card-list .dates {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
}

.content-box .card-list .date {
  color: #fff;
  background: var(--color-main);
  font-size: 11px;
  padding: 0 3px;
  border-radius: 5px;
}

.content-box .kanrensyoseki-title {
  font-size: 1.5rem;
  font-weight: 600;
}

.content-box .kanrensyoseki-title:not(:first-child) {
  margin-top: 2rem;
}

.content-box .kanrensyoseki {
  padding: 30px;
  border: solid 1px;
  margin-bottom: 2rem;
}

.content-box .kanrensyoseki .title {
  font-size: 1.1rem;
  font-weight: 600;
}

.content-box .kanrensyoseki .arasuji {
  border-top: solid 1px gray;
  margin-top: 1rem;
  padding-top: 1rem;
}

.content-box .kanrensyoseki .image {
  max-height: 300px;
  display: block;
}

.content-box .kanrenkiji {
  margin-bottom: 2rem;
}

.content-box .kanrenkiji .title {
  font-size: 1rem;
  font-weight: 600;
}

/* 協賛のお願いの指定 */
.hitokoto {
  color: #938272;
  font-weight: bold;
  font-size: 1.3rem;
  text-align: center;
  margin: 0 2rem 0 2rem;
}

p.hitokoto.honbun {
  padding: 0 !important;
}

p.hitokoto.sponsors {
  padding: 2rem 0 2rem 0 !important;
}

p.hitokoto.supporter {
  padding: 2rem 0 0 0 !important;
}

.sponsors-head1 {
  margin-bottom: 1rem;
}

.sponsors-sponsorship-wrapper {
  display: flex;
  justify-content: center;
  margin-bottom: 2rem;
}

.sponsors-sponsorship {
  width: 30%;
  margin: 0 1rem;
  text-align: center;
  font-size: 1rem;
}

.sponsors-sponsorship-head {
  font-weight: bold;
  padding: 0 1rem;
  border-radius: 2rem;
}

.sponsors-sponsorship.is-company .sponsors-sponsorship-head {
  background: #f08500;
}

.sponsors-sponsorship.is-individual .sponsors-sponsorship-head {
  background: #ffe900;
}

.sponsors-sponsorship-text {
  padding: 0 1rem;
}

.sponsors-sponsorship-text-big {
  font-size: 1.625rem;
}

.sponsors-benefits {
  margin-bottom: 4rem;
  border: solid 2px #91816f;
  border-radius: 1rem;
  padding: 0 2rem 1rem;
}

.sponsors-head2 {
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: .06em;
  position: relative;
  top: -1.563rem;
}

.sponsors-head2::before,
.sponsors-head2::after {
  content: '';
  position: absolute;
  border-top: solid 1.563rem transparent;
  border-bottom: solid 1.563rem transparent;
  top: 0;
}

.sponsors-head2::before {
  border-left: solid 1rem #fff;
  left: 0;
}

.sponsors-head2::after {
  border-right: solid 1rem #fff;
  right: 0;
}

.sponsors-benefits.is-company .sponsors-head2 {
  background: #f08500;
}

.sponsors-benefits.is-individual .sponsors-head2 {
  background: #ffe900;
}

.sponsors-benefits-list {
  margin-top: 1rem;
}

.sponsors-benefits-list-head {
  display: inline-block;
  background: linear-gradient(transparent 75%, rgba(240,12,0,.6) 75%);
  padding: 0 .5em;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1;
  transform: rotate(-15deg);
  margin-left: -2rem;
}

.sponsors-benefits-list-head-num {
  font-size: 2rem;
}

.sponsors-benefits-list-content {
  padding: 1rem 0; 
}

.sponsors-benefits-list-flex {
  display: flex;
  flex-wrap: wrap;
}

.sponsors-benefits-list-text {
  flex: 1.2;
}

.sponsors-benefits-list-text + .sponsors-benefits-list-text {
  margin-top: 2rem;
}

.sponsors-benefits-list-img {
  flex: 1;
  margin-left: 1rem;
}

.sponsors-benefits-list-img:nth-of-type(1) {
  margin-left: 0;
}

.sponsors-head3 {
  font-size: 1.25rem;
  font-weight: bold;
  border-bottom: solid 2px #91816f;
  margin-bottom: 1rem;
}

.sponsors-head3:not(:first-of-type) {
  margin-top: 4rem;
}

.sponsors-head4 {
  font-size: 1.15rem;
  font-weight: bold;
  margin-top: 2rem;
}

.sponsors-head4::before {
  content: '●';
}

.sponsors-btn-wrapper {
  display: flex;
}

.sponsors-btn {
  margin: 1rem 0 0;
  height: auto;
  line-height: inherit;
}

.sponsors-btn:not(:first-of-type) {
  margin-left: 2rem;
}

a.sponsors-btn-link {
  color: #91816f;
  border-bottom-width: 2px;
}

a.sponsors-btn-link:hover {
  margin-top: 0;
}

.sponsors-application-text:not(:first-of-type) {
  margin-top: 2rem;
}

.sponsors-application-list {
  margin-bottom: 1rem;
}

.sponsors-company {
  margin: 3rem 0;
  padding-top: 3rem;
  border-top: solid 1px #ccc;
}

.sponsors-head5 {
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
}

.sponsors-company-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 4rem 2rem;
  align-items: center;
  margin-top: 2rem;
}

.sponsors-company-list-item {
  text-align: center;
}

a.sponsors-company-link {
  border-bottom: none;
}

a.sponsors-company-link:hover {
  opacity: .7;
}

.sponsors-company-img {
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  image-rendering: -webkit-optimize-contrast;
}

.sponsors-company-logo {
  max-height: 100%;
}

/*　ギャラリー図面 */
.zumen-image {
  max-width: 200px;
  width: 100%;
  display: block;
  margin: 1rem 0;
}

/*　ギャラリー詳細ページ */
.content-box.gallery-detail h3 {
  font-size: 18px;
  font-weight: bold;
}

.content-box.gallery-detail h4 {
  font-size: 16px;
  font-weight: bold;
}

.content-box.gallery-detail .details-wrapper {
  margin: 0 0 2rem 2rem;
}

.content-box.gallery-detail .details-wrapper.no-margin {
  margin: 0;
}

.content-box.gallery-detail .details-wrapper details {
  margin-bottom: 0;
}

.content-box.gallery-detail details p + p,
.content-box.gallery-detail details ul + p {
  margin-top: 2rem;
}

.content-box.gallery-detail details p:last-child {
  margin-bottom: 2rem;
}

.content-box.gallery-detail .flex-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.content-box.gallery-detail .flex-wrapper:not(:last-child) {
  margin-bottom: 2rem;
}

.hifumi-table {
  margin-block: 2rem;
}

.content-box.gallery-detail th,
.content-box.gallery-detail td {
  border: solid 1px;
  padding: 1em;
  line-height: 1.6;
  vertical-align: middle;
}

.content-box.gallery-detail th {
  background: #d4cdc5;
  text-align: center;
  vertical-align: middle;
}

.content-box.gallery-detail tbody th {
  background: #f1ebde;
}

.content-box.gallery-detail td.align-right {
  text-align: right;
}

.content-box.gallery-detail .marketgallery-schedule-wrapper {
  width: 48%;
}

.content-box.gallery-detail .marketgallery-schedule {
  width: 100%;
}

.content-box.gallery-detail .keiji-image {
  overflow: hidden;
}

.content-box.gallery-detail .keiji-image img {
  float: left;
  margin-right: 1rem;
}

/*　ギャラリー詳細ページのカレンダー */

/*　空きスケジュール */
.calendar-title {
  font-weight: bold;
  font-size: 1rem;
  text-align: center;
  margin-top: 3rem;
}

/*　yyyy.mm */
.calendar-month {
  font-weight: bold;
  font-size: 1.2rem;
  max-width: 6rem;
  margin: 1rem auto 2rem;
  border-bottom: 2px solid rgb(0, 0, 0);
  letter-spacing: 3px;
  text-align: center;
}

.wrapper {
  margin: 15px auto;
  max-width: 700px;
}

.container-calendar {
  width: 100%;
  margin: 0 auto;
  overflow: auto;
}

.button-container-calendar button {
  cursor: pointer;
  display: inline-block;
  zoom: 1;
  background: #938272;
  color: #fff;
  border: 1px solid #938272;
  border-radius: 4px;
  padding: 5px 10px;
}

.table-calendar {
  border-collapse: collapse;
  width: 100%;
  background-color: #fff;
  border-radius: 10px;
  /* font-weight: bold; */
}

.table-calendar th,
.table-calendar td {
  padding: 10px;
  border: 1px solid #e2e2e2;
  text-align: center;
  vertical-align: top;
}

/* 今日 */
.date-picker.selected {
  font-weight: bold;
}

/* 過去 */
.past-date {
  background-color: #eaeaea;
}

/* 日曜 */
.date-picker:nth-child(1) {
  color: #ee7581;
}

/* 土曜 */
.date-picker:nth-child(7) {
  color: #6e90e7;
}

/* 何年何月の表示 */
#monthAndYear {
  font-weight: bold;
  font-size: 1.2rem;
  max-width: 10rem;
  margin: 1rem auto 0;
  border-bottom: 2px solid rgb(0, 0, 0);
  letter-spacing: 3px;
  text-align: center;
}

.button-container-calendar {
  position: relative;
  margin-bottom: 2em;
  overflow: hidden;
  clear: both;
}

#previous {
  float: left;
}

#next {
  float: right;
}

#thead-month {
  background-color: #d4cdc5;
}

/*cafemenu*/
.cafemenu-type:not(:first-child) {
  margin-top: 2rem;
}

.cafemenu-list-text {
  margin-top: 2rem;
}

.cafemenu-list + .cafemenu-list {
  margin-top: 2rem;
}

@media screen and (max-width: 1130px) {
  /* 「GALLERY」見出しの指定 */
  .gallery-midashi {
    margin: auto;
    padding-bottom: 0;
  }

  /* 「ORIGINAL GOODS」見出しの指定 */
  .originalgoods {
    margin: auto;
    padding-bottom: 0;
  }

  /* 「PRIVACY POLICY」見出しの指定 */
  .privacypolicy-midashi {
    margin: auto;
    padding-bottom: 0;
  }

  /* 「CONTACT」見出しの指定 */
  .contact-midashi {
    margin: 0 auto 2rem;
    padding-bottom: 0;
  }

  /* yyyy.mm.dd　hh:mm～hh:mm */
  .content-date {
    padding: 0;
    border-left: none;
  }
}

@media screen and (max-width: 768px) {
  /*　テキストボックス */
  .content-box {
    padding: 1rem;
  }
  
  .content-box .modal-inner {
    padding: 2rem 1rem 1rem;
  }

  /* 記事作成テンプレート */
  /* プロフィール横2列レイアウト */
  .content-box .profile.is-list {
    grid-template-columns: repeat(1, 1fr);
  }

  .content-box .profile.is-list li:nth-child(2n) {
    border-left: none;
  }

  .content-box .profile.is-list li:nth-child(n + 2) {
    border-top: solid 1px #938272;
  }

  .content-box .profile.is-list li:nth-child(n + 3)::before {
    display: none;
  }

  /* リンクと画像4列のリスト */
  .content-box .card-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .content-box .card-list > li:nth-child(odd) {
    border-left: 1px solid rgb(145 129 111 / 50%);
  }

  .content-box .card-list > li:nth-child(-n + 2) {
    border-top: 1px solid rgb(145 129 111 / 50%);
  }

  .content-box .card-list img {
    width: 136px;
    height: 136px;
  }

  .content-box.gallery-detail .table-wrapper {
    overflow-x: scroll;
  }
  
  .content-box.gallery-detail .table-wrapper table {
    width: max-content;
  }
  
  .sponsors-sponsorship-wrapper {
    flex-wrap: wrap;
  }
  
  .sponsors-sponsorship {
    width: 80%;
    margin: 1rem 0;
    font-size: 1rem;
  }
  
  .sponsors-head2 {
    font-size: 1rem;
    top: -1.25rem;
  }
  
  .sponsors-head2::before,
  .sponsors-head2::after {
    border-top-width: 1.25rem;
    border-bottom-width: 1.25rem;
  }
  
  .sponsors-benefits {
    padding: 0 1rem 1rem;
  }
  
  .sponsors-benefits-list-head {
    font-size: 1rem;
    margin-left: -1rem;
  }
  
  .sponsors-benefits-list-head-num {
    font-size: 1.25rem;
  }
  
  .sponsors-benefits-list-flex {
    display: block;
  }
  
  .sponsors-benefits-list-img {
    margin: 1rem 0 0;
  }
  
  .sponsors-head3 {
    font-size: 1rem;
  }
  
  .sponsors-btn:not(:first-of-type) {
    margin-left: 1rem;
  }
  
  .sponsors-btn-link {
    box-sizing: border-box;
  }
  
  .sponsors-btn-img {
    max-width: 70%;
    image-rendering: -webkit-optimize-contrast;
  }
  
  .sponsors-head5 {
    font-size: 1rem;
  }
}

@media screen and (max-width: 599px) {
  .sponsors-company-list {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 2rem 1rem;
  }
  
  .sponsors-company-name {
    font-size: .75rem;
  }
  
  .content-box.gallery-detail .marketgallery-schedule-wrapper {
    width: 100%;
    margin: 0 0 2rem;
  }
}
 