@charset "utf-8";

/* -----------基本の上書き--------------- */
ul {
  list-style: none;
}
table tr td {
  border: none;
}

/* -----------Gnav--------------- */
#st-menubox {
  position: relative;
  top: 0;
  z-index: 99999;
  width: 100%;
}
@media screen and (min-width: 960px) {
  header .smanone > ul.menu > li:first-of-type {
    width: 300px;
    margin-right: auto;
  }
  header .smanone > ul.menu > li:first-of-type img {
    vertical-align: middle;
  }
  header .smanone ul.menu li {
    height: 80px;
  }
  header .smanone ul.menu li a {
    line-height: 80px;
  }
  header .smanone ul.sub-menu {
    position: absolute;
    top: 100%;
    z-index: 1;
    background-color: #333;
  }
  header .smanone ul.sub-menu li {
    width: 200px !important;
    height: auto;
  }
  header .smanone ul.sub-menu li a {
    box-sizing: border-box;
    padding: 1em;
    font-size: 12px;
    text-align: center;
    line-height: 1.4;
    white-space: normal;
    word-break: keep-all;
  }
  header .smanone ul.sub-menu li ul.sub-menu {
    left: 200px !important;
  }
}
#st-mobile-logo img {
  height: 46px;
}

/* -----------Gnav追従--------------- */
#st-menubox.sticky,
#headbox-bg-fixed.sticky {
  position: fixed;
  top: 0;
  z-index: 99999;
  width: 100%;
}

/* -----------トップヘッダーコンテンツ--------------- */
@media only screen and (min-width: 960px) {
  #st-headerbox .st-header-content {
    max-width: none;
  }
}

/* -----------TOP スケジュール & アーカイブ年別 & a.multi-btn--------------- */
main .home-post.post ul,
main ul.archive-list {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-left: 0;
	padding: 0;
  list-style-type: none !important;
}
main .home-post.post ul .menu-item,
main ul.archive-list li {
  box-sizing: border-box;
  width: calc((100% - 4px) / 2);
  padding: 0;
}
main .home-post.post ul .menu-item {
  width: 100%;
}
main .home-post.post ul .menu-item > a,
main ul.archive-list li > a,
a.multi-btn {
  box-sizing: border-box;
  display: inline-block;
  width: 100%;
  padding: 6px;
  background-color: #f7f7f7;
  text-align: center;
  text-decoration: none;
  color: inherit;
}
main .home-post.post .menu-item-has-children > a {
  pointer-events: none;
}
main .home-post.post .menu-item-has-children > a::after {
  content: "▼";
  padding-left: 0.6em;
  font-size: 0.8em;
  vertical-align: bottom;
}
main .home-post.post ul .menu-item > a {
  text-align: start;
  font-weight: 700;
}
main .home-post.post .menu-item-has-children:hover a,
main .home-post.post ul .menu-item > a:hover,
main ul.archive-list li > a:hover,
a.multi-btn:hover {
  background-color: #bbb;
  color: #000;
}
main .home-post.post ul .sub-menu .menu-item a {
  padding-left: 1em;
  background-color: inherit;
}
main .home-post.post ul .sub-menu .menu-item a:hover {
  opacity: 0.6;
}
main .home-post.post ul .sub-menu {
  display: none;
}

/* -----------トップ日程下ボタン--------------- */
#st-infomation-widget a {
  position: relative;
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: 1em;
  background-color: #333;
  text-decoration: none;
}
#st-infomation-widget a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  width: 0.8em;
  height: 0.8em;
  background-color: #fff;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
#st-infomation-widget a:hover {
  opacity: 0.8;
}

/* -----------トップページ新着投稿（SP）を縦並びへ--------------- */
@media screen and (max-width: 599px) {
  .kanren dt {
    float: none;
    width: 100%;
  }
  .kanren dd {
    padding: 0;
  }
}

/* -----------フッターバナー--------------- */
#st-footer-under-widgets-box-wrap {
	padding: 60px 20px !important;
}
#st-footer-under-widgets-box-wrap #st-footer-under-widgets-box {
	display: flex;
  gap: 20px;
  justify-content: center;
}
@media only screen and (max-width: 959px) {
  #st-footer-under-widgets-box-wrap #st-footer-under-widgets-box {
    flex-wrap: wrap;
  }
}
.st-widgets-title:not([class^="is-style-st-heading-custom-"]):not([class*=" is-style-st-heading-custom-"]):not(.st-css-no2) {
  border-bottom: 1px solid #333;
	font-size: 16px!important;
}

/* -----------フッターメニュー--------------- */
@media screen and (max-width: 599px) {
  .footermenust {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 8px;
  }
  footer .footermenust li {
    border: none;
    padding: 0;
  }
  #footer .footermenust a {
    display: block;
    padding: 4px 10px;
  }
}

/* -----------サイドバー--------------- */
.side-topad #text-23 p {
	line-height: 0!important;
}
.side-widgets {
	margin-top: 30px;
}

/* -----------サイドバーカテゴリ一覧から「アーカイブ」を除外--------------- */
.side-widgets.widget_categories select option[value="176"] {
  display: none;
}

/* -----------ギャラリー（カテゴリ一覧、年別一覧）--------------- */
.gallery-page,
.gallery-page * {
  box-sizing: border-box;
}
.gallery-page {
  max-width: 1060px;
  margin: 0 auto 20px;
  padding: 20px 15px;
  border: 1px solid #eee;
}
@media only screen and (min-width: 600px) {
  .gallery-page {
    padding: 20px 30px;
  }
}
@media only screen and (min-width: 960px) {
  .gallery-page {
    padding: 30px 50px;
  }
}
.gallery-page ul.gallery-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}
.gallery-page ul.gallery-list li {
  width: 100%;
  height: auto;
  text-align: center;
}
.year-archive.gallery-page ul.gallery-list li {
  width: calc((100% - 20px) / 2);
}
@media only screen and (min-width: 960px) {
  .gallery-page ul.gallery-list li,
  .year-archive.gallery-page ul.gallery-list li {
    width: calc((100% - 40px) / 3);
  }
}
.gallery-page ul.gallery-list li a {
  display: block;
  position: relative;
}
.year-archive.gallery-page ul.gallery-list li a {
  position: relative;
  padding: 0.6em 0;
  background-color: #333;
  text-decoration: none;
  font-size: 20px;
  color: #fff;
}
@media only screen and (min-width: 600px) {
  .year-archive.gallery-page ul.gallery-list li a {
    padding: 1em;
    font-size: 24px;
  }
}
.year-archive.gallery-page ul.gallery-list li a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  width: 0.8em;
  height: 0.8em;
  background-color: #fff;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.year-archive.gallery-page ul.gallery-list li a:hover {
  opacity: 0.8;
}
.gallery-page ul.gallery-list li a::before {
  content: '';
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.gallery-page ul.gallery-list.page-gallery li a::before {
  background-color: initial;
}
.gallery-page ul.gallery-list li a p {
  font-size: 16px;
  color: #fff;
  text-align: center;
  width: 80%;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 0;
}
/* -----------画像ポップアップでページ上部に戻る問題を解決--------------- */
html {
  height: auto;
}
/* -----------ギャラリーページ--------------- */
.wp-block-gallery.has-nested-images figure.wp-block-image {
  flex-grow: 0;
}



/* ---------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------- */


ul.c-set__box__main__clist {
  counter-reset: section;
  /* カウンターの名前を section に設定 */
  list-style-type: none;
  /* デフォルトのリストスタイルを無効にする */
  padding-left: 0;
  /* 左のパディングを削除して、インデントをなくす */
}

ul.c-set__box__main__clist li::before {
  counter-increment: section;
  /* 各li要素でカウンターを1増やす */
  content: counter(section) ") ";
  /* カウンターの値と閉じカッコを表示 */
}

ul.c-set__box__main__clist p {
  padding-left: 20px;
  padding-bottom: 10px;
  margin-top: -25px;
}



/* TablePressプラグインのテーブルをスマホで列と行を入れ替える */
@media screen and (max-width: 767px) {
  .dt-container .dt-scroll {
    position: relative;
  }
  .dt-container .dt-scroll .dt-scroll-body {
    position: absolute !important;
    top: 0;
  }
  .tablepress {
    display: block;
  }
  .tablepress thead {
    display: block;
    float: left;
  }
  .tablepress thead tr,
  .tablepress thead th,
  .tablepress tbody td {
    display: block;
    border: none;
  }
  .tablepress thead th {
    width: auto !important;
  }
  .tablepress thead tr th:not(:last-child) {
    border-bottom: 1px solid transparent;
  }
  .tablepress tbody {
    display: block;
    width: auto;
    position: relative;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
  .tablepress tbody tr {
    display: inline-block;
    vertical-align: top;
  }
  .tablepress tbody tr td:not(:last-child) {
    border-bottom: 1px solid #ddd;
  }
  .tablepress tbody td:empty:before {
    content: "\00a0";
  }
}
