@charset "UTF-8";
/* =====================
	旧テーマから移行
 ======================= */
/* 詳細ページ（AとB共通のデザイン）
***************************************************************/
/* worksベースの記事コンテンツ */
.singleContents {
  margin-top: 30px; }

.singleContents .title {
  font-size: 25px;
  font-weight: 500;
  line-height: 1.84; }

.singleContents .text {
  font-size: 16px;
  line-height: 2.125;
  text-align: justify;
  text-justify: inter-ideograph;
  margin-top: 18px; }

.singleContents .caption {
  font-size: 14px;
  line-height: 1.714;
  letter-spacing: 0;
  text-align: justify;
  text-justify: inter-ideograph;
  margin-top: 10px; }

.singleContents .image {
  width: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

/* /worksベースの記事コンテンツ ここまで */
@media all and (min-width: 681px) {
  /* worksベースの記事コンテンツ */
  .singleContents .singleColumn {
    margin-top: 60px; }
  .singleContents .singleColumn:first-child {
    margin-top: 0; }
  .singleContents .leftColumn,
  .singleContents .rightColumn {
    width: 386px; }
  .singleContents .typeText {
    margin-top: 30px; }
  .singleContents .typeImage .image {
    height: 480px; }
  .singleContents .typeImage .caption {
    /* padding-left: 60px;
    padding-right: 60px; */ }
  .singleContents .typeTwoImage.typeLarge .image {
    height: 580px; }
  .singleContents .typeTwoImage {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .singleContents .typeTwoImage .caption {
    /* padding-left: 30px;
    padding-right: 30px; */ }
  .singleContents .typeTwoImage .image {
    height: 254px; }
  /* /worksベースの記事コンテンツ ここまで */ }

@media all and (max-width: 680px) {
  /* worksベースの記事コンテンツ */
  .singleContents {
    margin-top: 40px; }
  .singleContents .singleColumn {
    margin-top: 30px; }
  .singleContents .singleColumn:first-child {
    margin-top: 0; }
  .singleContents .rightColumn {
    margin-top: 30px; }
  .singleContents .typeImage .image,
  .singleContents .typeTwoImage .image {
    height: 67.5vw; }
  .singleContents .typeTwoImage.typeLarge .image {
    height: 150vw; }
  .singleContents .typeText {
    margin-left: 12px;
    margin-right: 12px; }
  .singleContents .text {
    margin-top: 5px; }
  .singleContents .title {
    font-size: 16px;
    line-height: 2; }
  .singleContents .text {
    font-size: 15px;
    line-height: 1.6; }
  .singleContents .caption {
    font-size: 12px;
    line-height: 1.666;
    margin-top: 10px;
    margin-left: 12px;
    margin-right: 12px; }
  /* /worksベースの記事コンテンツここまで */ }

/* =====================
	イベント情報
 ======================= */
/** -------------------- 共通 -------------------- **/
/* カテゴリ色 */
.cat-kengakukai {
  background: var(--c_green);
  border-color: var(--c_green);
  color: var(--c_wht); }
  .cat-kengakukai.is-current {
    background: var(--c_wht);
    color: var(--c_green); }

.cat-soudankai {
  background: #F2CD00;
  border-color: #F2CD00;
  color: var(--c_wht); }
  .cat-soudankai.is-current {
    background: var(--c_wht);
    color: #F2CD00; }

.cat-seminar {
  background: var(--c_orange);
  border-color: var(--c_orange);
  color: var(--c_wht); }
  .cat-seminar.is-current {
    background: var(--c_wht);
    color: var(--c_orange); }

/** -------------------- 一覧 -------------------- **/
.event-filter {
  margin-bottom: 100px;
  border: 1px solid var(--c_text);
  padding: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 5%;
     -moz-column-gap: 5%;
          column-gap: 5%; }
  .event-filter-title {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    font-size: 26px;
    font-weight: 700; }
  .event-filter-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 12px 24px; }
    .event-filter-list a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      width: 100%;
      height: 100%;
      text-align: center;
      font-size: 22px;
      font-weight: 700;
      padding: 10px 32px;
      min-width: 150px;
      border: 2px solid; }

.event-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 120px 0; }
  .event-list-item {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 46%;
            flex: 0 1 46%; }
    .event-list-item .cat > span {
      font-size: 22px;
      font-weight: 700;
      display: inline-block;
      padding: 12px;
      min-width: 150px;
      text-align: center; }
    .event-list-item .thumb {
      position: relative;
      margin-bottom: 20px; }
      .event-list-item .thumb-img {
        width: 100%;
        padding-top: 67.0289855072%;
        position: relative; }
        .event-list-item .thumb-img img {
          width: 100%;
          height: 100%;
          -o-object-fit: cover;
             object-fit: cover;
          position: absolute;
          top: 0;
          left: 0; }
      .event-list-item .thumb .closed {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        background: rgba(0, 0, 0, 0.7);
        color: var(--c_wht);
        text-align: center;
        font-size: 20px;
        font-weight: 700; }
    .event-list-item .date {
      padding-bottom: 10px;
      margin: 20px 0;
      border-bottom: 2px solid var(--c_text);
      font-family: var(--font_mix);
      font-size: 36px;
      font-weight: 700; }
      .event-list-item .date .year {
        display: none; }
    .event-list-item .title {
      font-size: 26px;
      font-weight: 700;
      margin-bottom: 10px; }
    .event-list-item .place {
      font-size: 20px;
      line-height: 1.5;
      padding-left: 28px;
      margin: 10px 0 20px;
      position: relative; }
      .event-list-item .place:before {
        content: "";
        width: 18px;
        height: 100%;
        background: url(../img/common/icon_map.png) no-repeat top 4px center/contain;
        position: absolute;
        top: 0;
        left: 0; }
    .event-list-item .links {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      margin-top: 20px; }
      .event-list-item .links > li {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 47.5%;
                flex: 0 1 47.5%; }
        .event-list-item .links > li.more-li {
          margin-left: auto; }
        .event-list-item .links > li a {
          display: block;
          text-align: center;
          border-radius: 100px;
          font-weight: 700;
          padding: 12px 30px;
          border: 2px solid;
          position: relative; }
          .event-list-item .links > li a:after {
            content: "";
            width: 1.5625em;
            height: 1.5625em;
            background: url(../img/common/arrow.png) no-repeat center/contain;
            position: absolute;
            right: 20px;
            top: 0;
            bottom: 0;
            margin: auto;
            -webkit-transition: var(--anim);
            transition: var(--anim); }
          .event-list-item .links > li a.reserve {
            background: var(--c_green);
            border-color: var(--c_green);
            color: var(--c_wht); }
            .event-list-item .links > li a.reserve:after {
              -webkit-filter: var(--filter_wht);
                      filter: var(--filter_wht); }
            .event-list-item .links > li a.reserve:hover {
              background: var(--c_wht);
              color: var(--c_green);
              opacity: 1.0; }
              .event-list-item .links > li a.reserve:hover:after {
                -webkit-filter: var(--filter_green);
                        filter: var(--filter_green); }
          .event-list-item .links > li a.more {
            background: var(--c_wht);
            border-color: var(--c_text);
            color: var(--c_text); }
            .event-list-item .links > li a.more:hover {
              background: var(--c_text);
              color: var(--c_wht);
              opacity: 1.0; }
              .event-list-item .links > li a.more:hover:after {
                -webkit-filter: var(--filter_wht);
                        filter: var(--filter_wht); }

/** -------------------- 詳細 -------------------- **/
.event-single-header {
  margin-bottom: 90px; }
  .event-single-header .cat {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 4px 8px;
    margin-bottom: 10px; }
    .event-single-header .cat > li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      font-size: 22px;
      font-weight: 700;
      padding: 12px 42px; }
  .event-single-header .thumb {
    margin: 50px auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    position: relative; }
    .event-single-header .thumb img {
      margin: 0 auto; }
    .event-single-header .thumb .closed {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.7);
      color: var(--c_wht);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      font-size: 24px;
      font-weight: 700; }

.event-single-title {
  font-size: 40px;
  font-weight: 700;
  margin-bottom: 50px; }

.event-single-info {
  margin: 50px 0;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 0 1fr;
  grid-template-columns: auto 1fr;
  gap: 0.75em 0;
  font-size: 20px;
  line-height: 1.5; }
  .event-single-info dt {
    font-weight: 700; }
    .event-single-info dt:after {
      content: "："; }

.event-single-point {
  margin: 60px 0; }
  .event-single-point-title {
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 10px;
    padding-left: 40px;
    position: relative;
    color: var(--c_green); }
    .event-single-point-title:before {
      content: "";
      width: 30px;
      height: 100%;
      background: url(../img/common/icon_person.png) no-repeat left center/contain;
      position: absolute;
      top: 0;
      left: 0;
      -webkit-filter: var(--filter_green);
              filter: var(--filter_green); }
  .event-single-point-box {
    background: var(--c_bg);
    border-radius: 10px;
    padding: 28px 30px; }
    .event-single-point-box li {
      font-size: 20px;
      line-height: 1.5;
      padding-left: 1.25em;
      text-indent: -1.25em; }
      .event-single-point-box li:before {
        content: "●";
        color: var(--c_green);
        margin-right: 0.25em; }
      .event-single-point-box li + li {
        margin-top: 0.5em; }
  .event-single-point--midokoro .event-single-point-title {
    color: var(--c_orange); }
    .event-single-point--midokoro .event-single-point-title:before {
      background: url(../img/common/icon_highlights.png) no-repeat left center/contain;
      -webkit-filter: var(--filter_orange);
              filter: var(--filter_orange); }
  .event-single-point--midokoro .event-single-point-box li:before {
    color: var(--c_orange); }

.event-single-body {
  max-width: 800px;
  margin: 100px auto 0;
  word-break: break-all; }
  .event-single-body .singleContents .img img {
    width: 100%;
    margin: 0 auto; }

.event-single-access {
  margin: 100px 0 0; }
  .event-single-access-title {
    margin-bottom: 50px;
    text-align: center; }
    .event-single-access-title-eng {
      font-family: var(--font_eng);
      font-size: 86px;
      font-weight: 700;
      line-height: 1.2; }
  .event-single-access-map {
    width: 100%;
    height: 500px;
    position: relative; }
    .event-single-access-map .googleMap {
      width: 100%;
      height: 100%; }

.event-single-reserve {
  margin-top: 100px;
  text-align: center; }
  .event-single-reserve a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
    padding: 12px 35px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 260px;
    margin: 0 auto;
    border: 2px solid var(--c_green);
    border-radius: 100px;
    background: var(--c_green);
    color: var(--c_wht);
    font-size: 22px;
    font-weight: 700; }
    .event-single-reserve a > span {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      padding: 0 10px; }
    .event-single-reserve a:after {
      content: "";
      width: 25px;
      height: 25px;
      background: url(../img/common/arrow.png) no-repeat center/contain;
      -webkit-filter: var(--filter_wht);
              filter: var(--filter_wht);
      -webkit-transition: var(--anim);
      transition: var(--anim); }
    .event-single-reserve a:hover {
      opacity: 1.0;
      background: var(--c_wht);
      color: var(--c_green); }
      .event-single-reserve a:hover:after {
        -webkit-filter: var(--filter_green);
                filter: var(--filter_green); }

/* タブレット
  ------------------------ */
/* スマホ
  ------------------------ */
@media (max-width: 699px) {
  /** -------------------- 一覧 -------------------- **/
  .event-filter {
    margin-bottom: 50px;
    padding: 16px 12px;
    display: block; }
    .event-filter-title {
      text-align: center;
      font-size: 18px;
      margin-bottom: 12px; }
    .event-filter-list {
      gap: 4px 8px;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
      .event-filter-list a {
        font-size: 14px;
        padding: 4px 8px;
        min-width: auto;
        border-width: 1px; }
  .event-list {
    gap: 60px 0; }
    .event-list-item {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 100%;
              flex: 0 1 100%; }
      .event-list-item .cat > span {
        font-size: 12px;
        padding: 4px 8px;
        min-width: 80px; }
      .event-list-item .thumb {
        margin-bottom: 10px; }
        .event-list-item .thumb .closed {
          font-size: 14px; }
      .event-list-item .date {
        font-size: 24px;
        padding-bottom: 4px;
        margin: 8px 0; }
      .event-list-item .title {
        font-size: 16px;
        margin-bottom: 5px; }
      .event-list-item .place {
        font-size: 12px;
        margin-bottom: 10px;
        padding-left: 14px; }
        .event-list-item .place:before {
          width: 10px;
          background-position: top 2px center; }
      .event-list-item .links {
        margin-top: 16px; }
        .event-list-item .links > li a {
          padding: 8px 20px;
          border-width: 1px;
          font-size: 12px; }
          .event-list-item .links > li a:after {
            right: 8px; }
  /** -------------------- 詳細 -------------------- **/
  .event-single-header {
    margin-bottom: 40px; }
    .event-single-header .cat > li {
      font-size: 12px;
      padding: 4px 12px; }
    .event-single-header .thumb {
      margin: 24px 0; }
      .event-single-header .thumb .closed {
        font-size: 16px; }
  .event-single-title {
    font-size: 20px;
    margin-bottom: 16px; }
  .event-single-info {
    margin: 20px 0;
    font-size: 14px;
    display: block; }
    .event-single-info dt:after {
      display: none; }
    .event-single-info dd + dt {
      margin-top: 0.5em; }
  .event-single-point {
    margin: 28px 0; }
    .event-single-point-title {
      font-size: 18px;
      padding-left: 28px;
      margin-bottom: 8px; }
      .event-single-point-title:before {
        width: 24px; }
    .event-single-point-box {
      padding: 16px 12px;
      border-radius: 5px; }
      .event-single-point-box li {
        font-size: 14px; }
  .event-single-body {
    margin-top: 50px; }
  .event-single-access {
    margin-top: 50px; }
    .event-single-access-title {
      margin-bottom: 16px; }
      .event-single-access-title-eng {
        font-size: 28px; }
    .event-single-access-map {
      height: 200px; }
  .event-single-reserve {
    margin-top: 50px; }
    .event-single-reserve a {
      font-size: 18px;
      width: 100%; } }
