@charset "UTF-8";
/*
---breadcrumbs
---------------------------------------------------------------------------*/
.breadcrumbs {
  display: flex;
  font-size: 0.85rem;
  align-items: center;
  margin: 0 -0.25rem;
  flex-wrap: wrap;
}
.breadcrumbs > span, .breadcrumbs > a {
  display: block;
  color: inherit;
  margin: 0 0.25rem;
}
.breadcrumbs > a:hover {
  color: #761010;
}
@media screen and (max-width: 767px) {
  .breadcrumbs {
    display: none;
  }
}

/*
---basic
---------------------------------------------------------------------------*/
hr {
  display: block;
  border-width: 1px 0 0;
  border-color: #ddd;
}
.hr_dotted hr {
  border-style: dashed;
}

select, textarea {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "游ゴシック", YuGothic, sans-serif;
}

h1 {
  font-size: 2.15rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  h1 {
    font-size: 1.45rem;
  }
}

h2 {
  font-size: 1.7rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  h2 {
    font-size: 1.45rem;
    align-items: flex-start;
  }
}
h2 span {
  display: block;
  flex-shrink: 1;
  padding: 0 0.5rem;
}
@media screen and (max-width: 767px) {
  h2 span {
    padding-right: 0;
  }
}
h2:before, h2:after {
  content: '';
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: #761010;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  h2:before {
    transform: translateY(9px);
  }
}
@media screen and (max-width: 767px) {
  h2:after {
    content: none;
  }
}

h3 {
  font-size: 1.5rem;
  font-weight: 500;
  color: #761010;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  h3 {
    font-size: 1.35rem;
  }
}
h3:after {
  content: '';
  display: block;
  width: 210px;
  max-width: 80%;
  background-color: #dddddd;
  height: 6px;
  margin-top: 0.5rem;
}

h4 {
  font-size: 1.375rem;
  font-weight: 500;
  margin-top: 2rem;
  border-left: 6px solid #dddddd;
  padding: 0.5rem 0 0.5rem 0.75rem;
}
@media screen and (max-width: 767px) {
  h4 {
    font-size: 1.25rem;
  }
}

h5 {
  font-size: 1.25rem;
  font-weight: 500;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  h5 {
    font-size: 1.15rem;
  }
}

h6 {
  font-size: 1.125rem;
  font-weight: 500;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  h6 {
    font-size: 1.05rem;
  }
}

.h1 {
  font-size: 2.15rem;
}
@media screen and (max-width: 767px) {
  .h1 {
    font-size: 1.45rem;
  }
}

.h2 {
  font-size: 1.7rem;
}
@media screen and (max-width: 767px) {
  .h2 {
    font-size: 1.45rem;
  }
}

.h3 {
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .h3 {
    font-size: 1.35rem;
  }
}

.h4 {
  font-size: 1.375rem;
}
@media screen and (max-width: 767px) {
  .h4 {
    font-size: 1.25rem;
  }
}

.h5 {
  font-size: 1.25rem;
}
@media screen and (max-width: 767px) {
  .h5 {
    font-size: 1.15rem;
  }
}

.h6 {
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .h6 {
    font-size: 1.05rem;
  }
}

section {
  padding-top: 6rem;
}
@media screen and (max-width: 767px) {
  section {
    padding-top: 4.5rem;
  }
}

.contents_body p {
  margin-top: 1.75rem;
}
.contents_body ul, .contents_body ol {
  margin: 2rem 0 0;
}
.contents_body ul > li, .contents_body ol > li {
  padding: 0 0 0 1.5em;
  position: relative;
}
.contents_body ul > li:before, .contents_body ol > li:before {
  position: absolute;
  top: 0;
}
.contents_body ul > li + li, .contents_body ol > li + li {
  margin-top: 1em;
}
.contents_body ul > li:before {
  content: "\0030fb";
  background-image: url(../images/icon_ul_20x20.png);
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: 35% auto;
  background-size: 35% auto;
  color: transparent;
  left: 0;
}
.contents_body ul.caution {
  margin: 1rem 0 0 0.5em;
}
.contents_body ul.caution > li {
  font-size: 0.85em;
  color: #666;
}
.contents_body ul.caution > li:before {
  content: "\00203b";
  color: inherit;
  background-image: none;
}
.contents_body ul.caution > li + li {
  margin-top: 1em;
}
.contents_body ul.caution.red li {
  color: #f00;
}
.contents_body ol {
  counter-reset: li;
}
.contents_body ol > li:before {
  counter-increment: li;
  content: counter(li) ".";
  text-align: right;
  width: 2em;
  left: -1em;
}
.contents_body ol.num_caution {
  margin: 1rem 0 0 0.5em;
}
.contents_body ol.num_caution > li {
  font-size: 0.85em;
  color: #666;
}
.contents_body ol.num_caution > li:before {
  content: "※" counter(li);
}
.contents_body ol.num_caution > li + li {
  margin-top: 1em;
}

table + ul.caution, table + ol.num_caution {
  margin-top: -2rem !important;
}

table {
  margin: 3rem 0;
}
@media screen and (max-width: 767px) {
  table {
    font-size: 0.85rem;
  }
}
table th, table td {
  padding: 1rem;
  border: 1px solid #dddddd;
  word-break: break-all;
}
@media screen and (max-width: 767px) {
  table th, table td {
    padding: 0.5rem;
  }
}
table th > :first-child, table td > :first-child {
  margin-top: 0 !important;
}
table th > :last-child, table td > :last-child {
  margin-bottom: 0 !important;
}
table th {
  background-color: #f7eeeb;
}
table.table_layout_fix {
  width: 100%;
  table-layout: fixed;
}
table p {
  margin-top: 1rem !important;
}

@media screen and (max-width: 767px) {
  .smpBlockTableWrapper > table {
    display: block;
  }
  .smpBlockTableWrapper > table tbody, .smpBlockTableWrapper > table tr, .smpBlockTableWrapper > table th, .smpBlockTableWrapper > table td {
    display: block;
  }
  .smpBlockTableWrapper > table tr + tr th {
    border-top-width: 0;
  }
  .smpBlockTableWrapper > table th {
    border-bottom-width: 0;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    font-weight: bold;
  }
  .smpBlockTableWrapper > table th + td {
    border-top-width: 0;
  }

  table.smpBlockTable {
    display: block;
  }
  table.smpBlockTable tbody, table.smpBlockTable tr, table.smpBlockTable th, table.smpBlockTable td {
    display: block;
  }
  table.smpBlockTable tr + tr th {
    border-top-width: 0;
  }
  table.smpBlockTable th {
    border-bottom-width: 0;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    font-weight: bold;
  }
  table.smpBlockTable th + td {
    border-top-width: 0;
  }
}
.layoutFixTableWrapper > table {
  width: 100%;
  table-layout: fixed;
}

.remodal-close {
  left: auto;
  right: 0;
}

/*
---
---------------------------------------------------------------------------*/
.listlink_wrp {
  margin-top: 1.5em;
}
.listlink_wrp a {
  display: block;
  padding: 15px 15px 15px 26px;
  color: inherit;
  border-style: dashed;
  border-color: #ddd;
  border-width: 1px 0 0;
  position: relative;
  background-image: url(../images/arrow_6x10_keycolor_border_left.png);
  background-position: 10px 20px;
  background-repeat: no-repeat;
  -webkit-background-size: 6px 10px;
  background-size: 6px 10px;
}
.listlink_wrp a:last-child {
  border-bottom-width: 1px;
}
.listlink_wrp a:hover {
  background-color: rgba(118, 16, 16, 0.05);
}
.listlink_wrp a[href$=".pdf"] {
  padding-right: 52px;
}
.listlink_wrp a[href$=".pdf"]:after {
  content: '';
  width: 32px;
  height: 32px;
  position: absolute;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-image: url(../images/Adobe_PDF_file_icon_32x32.png);
  background-repeat: no-repeat;
  -webkit-background-size: 32px auto;
  background-size: 32px auto;
}

/*
---サイトマップ
---------------------------------------------------------------------------*/
.sitemap .sm_wrp {
  overflow: hidden;
}
.sitemap .menu_global {
  margin: -20px -10px 0;
  display: flex;
}
.sitemap .menu_global li {
  margin: 0;
  padding: 0;
}
.sitemap .menu_global li:before {
  display: none;
}
.sitemap .menu_global > li {
  width: 33.333333333%;
  padding: 20px 10px 0;
}
.sitemap .menu_global a {
  display: block;
  color: inherit;
}
.sitemap .menu_global > li > a {
  background-color: rgba(41, 128, 180, 0.15);
  padding: 15px 36px 15px 15px;
  position: relative;
}
.sitemap .menu_global > li > a:hover {
  background-color: #2980b4;
  color: #fff;
}

/*
---
---------------------------------------------------------------------------*/
.authForm {
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 40px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
.authForm__pass {
  position: relative;
  padding-left: 140px;
}
.authForm__pass + .authForm__pass {
  margin-top: 10px;
}
.authForm__pass span {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.authForm__pass input {
  display: block;
  width: 100%;
  padding: 10px;
  -webkit-appearance: none;
  border: 1px solid #ddd;
}
.authForm input[type="submit"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  width: 200px;
  -webkit-appearance: none;
  border: 1px solid #ddd;
  background-color: #eee;
}
.authForm__caution {
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
.authForm__caution ul.caution {
  margin-left: 0;
}

/*
---
---------------------------------------------------------------------------*/
.contents_wrapper {
  padding-bottom: 8rem;
}

.footer__menu {
  position: relative;
  z-index: 1;
}
.footer__menu:before {
  width: 100vw;
  height: 100%;
  content: '';
  position: absolute;
  background-color: #efefef;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}

/*
---
---------------------------------------------------------------------------*/
.mainVisual {
  padding: 3rem 2rem 0;
}
@media screen and (min-width: 768px) {
  .mainVisual {
    align-items: center;
    display: flex;
    flex-direction: row-reverse;
  }
}
@media screen and (max-width: 1023px) {
  .mainVisual {
    padding-left: 0;
    padding-right: 0;
    padding-top: 2rem;
  }
}
.mainVisual__left {
  flex-grow: 1;
  padding: 0 2rem;
  margin-right: 3rem;
}
@media screen and (max-width: 1023px) {
  .mainVisual__left {
    margin-right: 1rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .mainVisual__left {
    margin-top: -1rem;
    padding-left: 0;
    padding-right: 0;
  }
}
.mainVisual__category {
  display: flex;
}
.mainVisual__category__col {
  padding: 0.5rem 1rem;
  line-height: 1;
  min-width: 8rem;
}
@media screen and (max-width: 767px) {
  .mainVisual__category__col {
    font-size: 0.85rem;
  }
}
.mainVisual__pageTitle {
  position: relative;
}
@media screen and (max-width: 767px) {
  .mainVisual__pageTitle {
    padding: 0 1rem;
  }
}
.mainVisual__pageTitle:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: -2rem;
  right: -2rem;
  border-top: 1px solid #761010;
}
@media screen and (max-width: 1023px) {
  .mainVisual__pageTitle:before {
    left: -1rem;
    right: -1rem;
  }
}
@media screen and (max-width: 767px) {
  .mainVisual__pageTitle:before {
    left: 6.5rem;
    right: 0;
  }
}
.mainVisual__right {
  width: 60%;
  flex-shrink: 0;
}
@media screen and (max-width: 1023px) {
  .mainVisual__right {
    width: auto;
    margin-left: 6.5rem;
  }
}
.mainVisual__image {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  max-height: 400px;
  overflow: hidden;
}
.mainVisual__image:before {
  content: '';
  display: block;
  padding-bottom: 45%;
}
@media screen and (max-width: 1023px) {
  .mainVisual__image:before {
    padding-bottom: 60%;
  }
}

/*
---
---------------------------------------------------------------------------*/
.buttonGroup__colInner {
  max-width: none;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.common__lead {
  padding: 2rem;
}
@media screen and (max-width: 767px) {
  .common__lead {
    padding: 1rem;
  }
}

.leadAleart {
  padding: 2rem;
  border: 1px solid #f00;
  background-color: #fff5f5;
  color: #f00;
  font-size: 1.15rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .leadAleart {
    padding: 1rem;
  }
}

.pageAnchor {
  display: flex;
  flex-wrap: wrap;
  margin-left: -0.5rem;
  margin-right: -0.5rem;
  margin-top: -1rem;
}
@media screen and (max-width: 767px) {
  .pageAnchor {
    margin-left: -0.25rem;
    margin-right: -0.25rem;
    margin-top: -0.5rem;
  }
}
.pageAnchor__col {
  padding: 1rem 0.5rem 0;
}
@media screen and (max-width: 767px) {
  .pageAnchor__col {
    width: 33.33333333%;
    padding: 0.5rem 0.25rem 0;
  }
}
@media screen and (min-width: 768px) {
  .pageAnchor__col.col2 {
    width: 50%;
  }
}
@media screen and (min-width: 768px) {
  .pageAnchor__col.col3 {
    width: 33.33333333%;
  }
}
@media screen and (min-width: 768px) {
  .pageAnchor__col.col4 {
    width: 25%;
  }
}
@media screen and (min-width: 768px) {
  .pageAnchor__col.col5 {
    width: 20%;
  }
}
.pageAnchor__colInner {
  display: flex;
  height: 100%;
  padding: 1rem 0.5rem;
  color: #761010;
  border: 1px solid;
  background-color: #fff;
  position: relative;
  align-items: center;
  justify-content: center;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .pageAnchor__colInner {
    font-size: 0.85rem;
    padding: 0.75rem 0.25rem;
  }
}
.pageAnchor__colInner:after {
  content: '';
  position: absolute;
  height: 10px;
  width: 1px;
  background-color: #761010;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  transition: all .5s;
  transform-origin: top center;
}
@media screen and (max-width: 767px) {
  .pageAnchor__colInner:after {
    height: 5px;
  }
}
.pageAnchor__colInner:hover:after {
  height: 20px;
  transform: translate(-50%, 50%);
}
@media screen and (max-width: 767px) {
  .pageAnchor__colInner:hover:after {
    height: 10px;
  }
}

.pageAncorMini {
  display: flex;
  flex-wrap: wrap;
  margin-right: -1.5rem;
  align-items: flex-end;
}
.pageAncorMini__item {
  margin-right: 1.5rem;
  margin-top: 1rem;
  display: block;
  color: #761010;
  padding: 0rem 2rem 0rem 0rem;
  position: relative;
}
.pageAncorMini__item:before {
  content: '';
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 6px 0 6px;
  border-color: #761010 transparent transparent transparent;
  transition: all .5s;
}
.pageAncorMini__item:hover:before {
  transform: translateY(0%);
}

.imgCaption {
  margin-top: 0.5rem;
  text-align: center;
}

.tabGroup__tab {
  display: flex;
  border-bottom: 4px solid #761010;
  align-items: flex-end;
}
.tabGroup__tab__item {
  background-color: #e2e2e2;
  padding: 1rem 2rem;
  display: block;
  color: inherit;
}
@media screen and (max-width: 767px) {
  .tabGroup__tab__item {
    padding: 1rem 0.5rem;
  }
}
.tabGroup__tab__item + .tabGroup__tab__item {
  margin-left: 1px;
}
.tabGroup__tab__item:hover {
  color: #761010;
}
.tabGroup__tab__item.active {
  background-color: #761010;
  color: #fff !important;
  pointer-events: none;
}

.tabGroup__contents__item {
  display: none;
}
.tabGroup__contents__item.active {
  display: block;
}

[data-tabcontents-id] {
  display: none;
}
[data-tabcontents-id].active {
  display: block;
}

/*
---
---------------------------------------------------------------------------*/
@media screen and (min-width: 768px) {
  .message__nameBox {
    align-items: center;
    justify-content: space-between;
    display: flex;
    flex-direction: row-reverse;
  }
}
.message__nameBox__left {
  margin-right: 3rem;
}
@media screen and (max-width: 767px) {
  .message__nameBox__left {
    margin: 2rem 0 0;
  }
}
.message__nameBox__title {
  box-shadow: 0 8px 0px #efefef;
  padding: 0 0.5rem;
}
.message__nameBox__right {
  display: flex;
  align-items: flex-end;
  flex-shrink: 0;
}
.message__nameBox__profile {
  padding-bottom: 1rem;
  flex-grow: 1;
}
@media screen and (max-width: 767px) {
  .message__nameBox__profile {
    padding-bottom: 0;
  }
}
.message__nameBox__profileInner {
  padding: 1.5rem;
  border-color: #761010;
  border-style: solid;
  border-width: 0 0 1px 1px;
}
@media screen and (max-width: 767px) {
  .message__nameBox__profileInner {
    padding: 0.5rem;
  }
}
@media screen and (max-width: 767px) {
  .message__nameBox__role {
    font-size: 0.85rem;
  }
}
.message__nameBox__thumb {
  width: 220px;
}
@media screen and (max-width: 1023px) {
  .message__nameBox__thumb {
    width: 140px;
  }
}
@media screen and (max-width: 767px) {
  .message__nameBox__thumb {
    width: 120px;
    margin-left: 1rem;
  }
}
.message__nameBox__thumb img {
  width: 100%;
}

/*
---
---------------------------------------------------------------------------*/
.eduJ__timeTable {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .eduJ__timeTable {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .eduJ__timeTable__left {
    width: 350px;
    max-width: 50%;
    margin-right: 3rem;
    flex-shrink: 0;
  }
}
@media screen and (max-width: 767px) {
  .eduJ__timeTable__left {
    margin-bottom: 2rem;
  }
}
.eduJ__timeTable__left table {
  width: 100%;
  table-layout: fixed;
}
.eduJ__timeTable__left table th, .eduJ__timeTable__left table td {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .eduJ__point {
    display: table;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .eduJ__point__thumb {
    float: right;
    width: 280px;
    max-width: 30%;
    margin-left: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .eduJ__point__thumb {
    display: table-footer-group;
  }
}
@media screen and (max-width: 767px) {
  .eduJ__point__thumbInner {
    padding-top: 2rem;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  .eduJ__point__text {
    display: table-header-group;
  }
}

/*
---
---------------------------------------------------------------------------*/
.club__list__links__colInner {
  display: flex;
  color: inherit;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  background-color: #fff;
}
.club__list__links__colInner:hover {
  background-color: #761010;
  color: #fff;
}

.club__detail {
  background-color: #fff;
  padding: 2rem;
}
@media screen and (max-width: 767px) {
  .club__detail {
    padding: 1rem;
  }
}
.club__detail + .club__detail {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .club__detail__lead {
    display: flex;
  }
}
.club__detail__lead__left {
  flex-grow: 1;
}
@media screen and (min-width: 768px) {
  .club__detail__lead__right {
    width: 220px;
    max-width: 30%;
    flex-shrink: 0;
    margin-left: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .club__detail__lead__right {
    margin: 2rem auto 0;
    text-align: center;
    max-width: 500px;
  }
}
@media screen and (min-width: 768px) {
  .club__detail__info {
    display: flex;
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 768px) {
  .club__detail__thumb {
    width: 220px;
    max-width: 30%;
    flex-shrink: 0;
    margin-right: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .club__detail__thumb {
    margin: 2rem auto 0;
    text-align: center;
    max-width: 500px;
  }
}
.club__detail__datePlace {
  flex-grow: 1;
}

.club__modalButton {
  position: fixed;
  padding: 3rem 1rem 1rem;
  text-align: center;
  line-height: 1.1;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  color: inherit;
  border-right-width: 0;
  background-color: #fff;
  width: 50px;
  font-size: 1.15rem;
  border-radius: 5px 0 0 5px;
  z-index: 100;
  background-image: url("../images/icon-window-key-32x32.png");
  background-repeat: no-repeat;
  background-size: 24px auto;
  background-position: center 0.5rem;
}
@media screen and (max-width: 1023px) {
  .club__modalButton {
    width: auto;
    top: auto;
    bottom: 0;
    left: 2rem;
    right: auto;
    border-radius: 10px 10px 0 0;
    transform: none;
    border-width: 4px 4px 0 4px;
    padding: 1rem 1rem 1rem 3rem;
    background-position: 0.5rem center;
  }
}
@media screen and (max-width: 767px) {
  .club__modalButton {
    left: 0;
    border-radius: 0 10px 0 0;
    padding: 1rem 0.5em 1rem 2rem;
    border-width: 4px 4px 0 0;
    background-size: 16px auto;
  }
}
.club__modalButton:hover {
  background-color: #761010;
  color: #fff;
  background-image: url("../images/icon-window-white-32x32.png");
}

.remodalClubList {
  background-color: transparent;
  padding: 40px 0;
}
.remodalClubList__close {
  background-color: #a8a8a8;
  border: 1px solid #fff;
  border-radius: 100%;
  top: 0;
  left: auto;
  right: 0;
}
.remodalClubList__close:before, .remodalClubList__close:after {
  content: '';
  position: absolute;
  width: 80%;
  height: 1px;
  background-color: #fff;
  top: 50%;
  left: 50%;
}
.remodalClubList__close:before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.remodalClubList__close:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.remodalClubList__h3 {
  color: #fff;
}
.remodalClubList__h3:after {
  background-color: #761010;
}

/*
---
---------------------------------------------------------------------------*/
.event__calnedar__colInner {
  background-color: #fff;
  height: 100%;
  padding: 2rem;
}
@media screen and (max-width: 1023px) {
  .event__calnedar__colInner {
    padding: 1rem;
  }
}
.event__calnedar__month span {
  display: block;
  padding: 0.5rem 0;
  width: 60px;
  text-align: center;
  position: relative;
}
.event__calnedar__month span:before {
  content: '';
  position: absolute;
  border-style: solid;
  border-width: 0 1px 1px 0;
  border-color: #761010;
  top: 1rem;
  left: 1rem;
  right: -0.5rem;
  bottom: -0.5rem;
}
.event__calnedar__list a {
  display: block;
  color: #761010;
}
.event__calnedar__listItem {
  position: relative;
  padding-left: 1rem;
}
@media screen and (max-width: 767px) {
  .event__calnedar__listItem {
    font-size: 0.85rem;
  }
}
.event__calnedar__listItem:before {
  content: '';
  position: absolute;
  width: 0.5rem;
  height: 0.5rem;
  background-color: #761010;
  left: 0;
  top: 0.5rem;
}
.event__calnedar__listItem + .event__calnedar__listItem {
  margin-top: 1rem;
}

@media screen and (min-width: 768px) {
  .event__detail__thumb {
    float: right;
    width: 280px;
    max-width: 30%;
    margin-left: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .event__detail__thumb {
    display: table-footer-group;
  }
}
@media screen and (max-width: 767px) {
  .event__detail__thumbInner {
    padding-top: 2rem;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}
.event__detail__thumbInner img {
  display: block;
  width: 100%;
}
.event__detail__thumbInner img + img {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .event__detail__text {
    display: table-header-group;
  }
}
@media screen and (max-width: 767px) {
  .event__detail__gallery__colInner {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}
.event__detail__sectionC__colInner {
  height: 100%;
  background-color: #fff;
  padding: 2rem;
}
.event__detail__sectionD {
  padding-top: 2rem;
  border-top: 1px dashed #dddddd;
  flex-direction: row-reverse;
}
@media screen and (min-width: 768px) {
  .event__detail__sectionD {
    display: flex;
  }
}
@media screen and (min-width: 768px) {
  .event__detail__sectionD__thumb {
    width: 200px;
    max-width: 25%;
    margin-right: 2rem;
    flex-shrink: 0;
  }
}
@media screen and (max-width: 767px) {
  .event__detail__sectionD__thumbInner {
    padding-top: 2rem;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 768px) {
  .event__detail__sectionE {
    display: flex;
  }
}
.event__detail__sectionE + .event__detail__sectionE {
  padding-top: 2rem;
  border-top: 1px dashed #dddddd;
}
@media screen and (min-width: 768px) {
  .event__detail__sectionE__thumb {
    width: 280px;
    max-width: 30%;
    margin-left: 3rem;
    flex-shrink: 0;
  }
}
@media screen and (max-width: 767px) {
  .event__detail__sectionE__thumbInner {
    padding-top: 2rem;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}
.event__detail__blog {
  padding: 2rem;
  border: 1px solid #dddddd;
}
@media screen and (max-width: 767px) {
  .event__detail__blog {
    padding: 1rem;
  }
}
.event__detail__blog__item {
  display: flex;
  color: inherit;
  padding: 1rem;
  border-bottom: 1px dashed #dddddd;
}
@media screen and (max-width: 767px) {
  .event__detail__blog__item {
    display: block;
  }
}
.event__detail__blog__item:nth-of-type(1) {
  border-top: 1px dashed #dddddd;
}
.event__detail__blog__date {
  width: 120px;
  flex-shrink: 0;
  color: #888888;
}
.event__detail__blog__title {
  transition: all .5s;
}
@media screen and (max-width: 767px) {
  .event__detail__blog__title {
    margin-top: 0.5rem;
  }
}
a:hover .event__detail__blog__title {
  color: #761010;
}

/*
---
---------------------------------------------------------------------------*/
.gakuhi__table__table table {
  width: 100%;
  table-layout: fixed;
}
.gakuhi__table__table table th, .gakuhi__table__table table td {
  text-align: center;
  vertical-align: middle;
}
.gakuhi__table__table table th {
  background-color: #efefef;
}
.gakuhi__table__table table td:nth-of-type(n+2) {
  text-align: right;
}
.gakuhi__table__table table td:nth-of-type(1) {
  background-color: #f7eeeb;
}

/*
---
---------------------------------------------------------------------------*/
.pcOpen_calendar__hanrei {
  display: flex;
  flex-wrap: wrap;
  margin-right: -2rem;
}
.pcOpen_calendar__hanreiItem {
  margin-right: 2rem;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  font-size: 1.15rem;
}
.pcOpen_calendar__hanreiItem span {
  width: 1rem;
  height: 1rem;
  display: block;
  margin-right: 0.5rem;
  border: 1px solid transparent;
}
.pcOpen_calendar__hanreiItem span.blank {
  border-color: #dddddd;
  background-color: #fff;
}
.pcOpen_calendar__hanreiItem span.circle {
  background-color: #761010;
  border-radius: 100%;
}
.pcOpen_calendar table {
  width: 100%;
  table-layout: fixed;
  background-color: #fff;
}
.pcOpen_calendar table th, .pcOpen_calendar table td {
  text-align: center;
  padding-left: 2px;
  padding-right: 2px;
}
@media screen and (max-width: 767px) {
  .pcOpen_calendar table th, .pcOpen_calendar table td {
    padding-left: 0;
    padding-right: 0;
  }
}
.pcOpen_calendar table th {
  background-color: #efefef;
}
.pcOpen_calendar table th.sun {
  background-color: #FFBABA;
}
.pcOpen_calendar table th.sat {
  background-color: #C8F1FF;
}

/*
---
---------------------------------------------------------------------------*/
.documents__links__item {
  display: flex;
  background-color: #fff;
  padding: 1rem 3rem 1rem 1rem;
  color: inherit;
  position: relative;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .documents__links__item {
    padding: 0 2rem 1rem 0;
    display: block;
  }
}
.documents__links__item:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 0 7px 10px;
  border-color: transparent transparent transparent #761010;
  transform-origin: right center;
  transform: scaleX(0) translateY(-50%);
  transition: all .5s;
  right: 0;
  top: 50%;
}
.documents__links__item:hover:before {
  transform: scaleX(1) translateY(-50%);
}
.documents__links__item:after {
  content: '';
  position: absolute;
  width: 2rem;
  border-top: 1px solid #761010;
  right: 0;
  top: 50%;
  transition: all .5s;
}
@media screen and (max-width: 767px) {
  .documents__links__item:after {
    width: 1rem;
  }
}
.documents__links__item:hover:after {
  right: 10px;
}
.documents__links__item + .documents__links__item {
  margin-top: 1rem;
}
.documents__links__cat {
  background-color: #761010;
  color: #fff;
  width: 120px;
  padding: 0.5rem;
  margin-right: 1rem;
  flex-shrink: 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .documents__links__cat {
    font-size: 0.85rem;
    width: 100px;
  }
}
@media screen and (max-width: 767px) {
  .documents__links__title {
    padding: 0.5rem 0 0 0.5rem;
  }
}

/*
---
---------------------------------------------------------------------------*/
.result__table__table table {
  width: 100%;
  table-layout: fixed;
}
.result__table__table table th, .result__table__table table td {
  text-align: center;
  vertical-align: middle;
}

/*
---
---------------------------------------------------------------------------*/
.qa__block__qa {
  background-color: #fff;
}
.qa__block__question {
  padding: 2rem 5rem 2rem 5rem;
  color: #761010;
  display: block;
  position: relative;
}
@media screen and (max-width: 767px) {
  .qa__block__question {
    padding: 1rem 2rem 1rem 4rem;
  }
}
.qa__block__question:before {
  content: 'Q';
  position: absolute;
  font-size: 2rem;
  left: 0rem;
  top: 1rem;
  bottom: 1rem;
  display: flex;
  justify-content: center;
  width: 4rem;
  font-weight: 700;
  line-height: 1;
  border-right: 2px solid #dddddd;
  padding-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .qa__block__question:before {
    width: 3rem;
    font-size: 1.5rem;
  }
}
.qa__block__question:after {
  content: '';
  position: absolute;
  width: 1rem;
  height: 1rem;
  border-style: solid;
  border-width: 0 2px 2px 0;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  transition: all .5s;
}
@media screen and (max-width: 767px) {
  .qa__block__question:after {
    width: 0.5rem;
    height: 0.5rem;
  }
}
.qa__block__question.opened:after {
  transform: translateY(-50%) rotate(-135deg);
}
.qa__block__question:hover {
  background-color: #f7eeeb;
}
.qa__block__question.opened:hover {
  background-color: transparent;
}
.qa__block__answer {
  display: none;
  background-color: #f7eeeb;
  padding: 2rem 1rem 2rem 6rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .qa__block__answer {
    padding: 1.5rem;
  }
}

/*
---
---------------------------------------------------------------------------*/
.explainE__explain table {
  width: 100%;
  table-layout: fixed;
}
@media screen and (min-width: 768px) {
  .explainE__explain table th {
    width: 200px;
  }
}

@media screen and (min-width: 768px) {
  .explain__basicTable table th:nth-of-type(3) {
    width: 50%;
  }
}

@media screen and (max-width: 767px) {
  .explain__basicTable table tr:nth-of-type(1) {
    display: none;
  }
  .explain__basicTable table td:nth-of-type(1) {
    background-color: #761010;
    color: #fff;
    font-weight: bold;
    border-color: #761010;
  }
  .explain__basicTable table td:before {
    display: block;
    margin: 0 0 0.5rem;
    font-weight: bold;
    color: #761010;
  }
  .explain__basicTable table td:nth-of-type(2):before {
    content: '日時・会場';
  }
  .explain__basicTable table td:nth-of-type(3):before {
    content: '内容';
  }
  .explain__basicTable table td + td {
    border-top-width: 0;
  }
}
/*
---
---------------------------------------------------------------------------*/
.application__ended {
  display: flex;
}
.application__ended__inner {
  color: #fff;
  background-color: #f00;
  padding: 0.5rem 1rem;
  min-width: 140px;
  text-align: center;
  font-size: 1.15rem;
}

/*
---
---------------------------------------------------------------------------*/
.eduE__hoshin {
  padding-left: 2rem;
  counter-reset: eduE-hoshin-item;
}
@media screen and (max-width: 767px) {
  .eduE__hoshin {
    padding-left: 1.5rem;
  }
}
.eduE__hoshin__item {
  background-color: #fff;
  position: relative;
  padding: 2rem 1rem 2rem 3rem;
  counter-increment: eduE-hoshin-item;
}
@media screen and (max-width: 767px) {
  .eduE__hoshin__item {
    padding: 1rem 1rem 1rem 2.5rem;
  }
}
.eduE__hoshin__item:before {
  content: counter(eduE-hoshin-item);
  position: absolute;
  width: 4rem;
  height: 4rem;
  color: #fff;
  font-size: 1.25rem;
  background-color: #761010;
  border-radius: 100%;
  left: 0;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  line-height: 1;
  align-items: center;
  justify-content: center;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .eduE__hoshin__item:before {
    width: 3rem;
    height: 3rem;
  }
}
.eduE__hoshin__item + .eduE__hoshin__item {
  margin-top: 0.5rem;
}

/*
---
---------------------------------------------------------------------------*/
.outline__number__colInner {
  background-color: #fff;
  padding: 2rem;
  height: 100%;
}
@media screen and (max-width: 1023px) {
  .outline__number__colInner {
    padding: 1rem;
  }
}
.outline__number__contents {
  display: flex;
  margin-left: -2rem;
  margin-right: -2rem;
  position: relative;
  padding: 1rem 0;
}
@media screen and (max-width: 1023px) {
  .outline__number__contents {
    margin-left: -1rem;
    margin-right: -1rem;
  }
}
.outline__number__contents:before {
  content: '';
  position: absolute;
  height: 100%;
  border-left: 1px solid #dddddd;
  top: 0;
  left: 50%;
}
.outline__number__contents__item {
  width: 50%;
  padding-left: 2rem;
  padding-right: 2rem;
}
@media screen and (max-width: 1023px) {
  .outline__number__contents__item {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.outline__number__contents__item table th, .outline__number__contents__item table td {
  border-width: 0;
  padding: 0;
}
.outline__number__contents__item table tr + tr th, .outline__number__contents__item table tr + tr td {
  padding-top: 1rem;
}
.outline__number__contents__item table th {
  background-color: transparent;
}
.outline__number__contents__item table td {
  padding-left: 2rem;
  text-align: right;
}

.outline__nenpyo__row {
  border-color: #dddddd;
  border-width: 1px 0;
  border-style: solid;
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .outline__nenpyo__row {
    display: block;
  }
}
.outline__nenpyo__row + .outline__nenpyo__row {
  border-top-width: 0;
}
.outline__nenpyo__year {
  display: flex;
  width: 150px;
  flex-shrink: 0;
  line-height: 1;
}
.outline__nenpyo__year.text {
	align-self: center;
	font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .outline__nenpyo__year {
    width: auto;
  }
}
.outline__nenpyo__year__left {
  font-size: 1.85rem;
  position: relative;
}
.outline__nenpyo__year__left:before {
  content: '';
  position: absolute;
  border-left: 1px solid;
  height: 170%;
  top: 0;
  left: 150%;
  transform-origin: right top;
  transform: rotate(45deg);
}
.outline__nenpyo__year__right {
  padding: 1.5rem 0 0 1rem;
}
.outline__nenpyo__right {
  padding: 1rem 0;
}
.outline__nenpyo__right__row {
  display: flex;
  align-items: flex-start;
}
.outline__nenpyo__right__row + .outline__nenpyo__right__row {
  margin-top: 1rem;
}
.outline__nenpyo__month {
  width: 50px;
  flex-shrink: 0;
}
.outline__nenpyo__month span {
  display: block;
  background-color: #e2e2e2;
  border-radius: 3px;
  text-align: center;
  padding: 0.25rem 0;
}
.outline__nenpyo__text {
  padding: 0.25rem 0 0 1.5rem;
}

.outline__songs {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .outline__songs {
    display: block;
  }
}
.outline__songs__left {
  flex-shrink: 0;
  display: flex;
  counter-reset: outline-songs-cnt;
}
@media screen and (max-width: 767px) {
  .outline__songs__left {
    margin-right: -2rem;
  }
}
.outline__songs__left__item {
  padding-right: 3rem;
  padding-left: 2rem;
  position: relative;
  counter-increment: outline-songs-cnt;
}
@media screen and (max-width: 767px) {
  .outline__songs__left__item {
    padding-right: 2rem;
    font-size: 0.85rem;
  }
}
.outline__songs__left__item:before {
  content: counter(outline-songs-cnt,cjk-ideographic);
  position: absolute;
  top: 0;
  left: 0;
}
.outline__songs__right {
  flex-grow: 1;
}
@media screen and (max-width: 767px) {
  .outline__songs__right {
    margin-top: 2rem;
  }
}
.outline__songs__right audio {
  display: block;
  width: 100%;
}

/*
---
---------------------------------------------------------------------------*/
.access__address {
  display: flex;
  margin-left: -2rem;
  margin-right: -2rem;
}
@media screen and (max-width: 767px) {
  .access__address {
    display: block;
    margin-left: 0;
    margin-right: 0;
  }
}
.access__address__col {
  width: 50%;
  padding: 0 2rem;
  flex-grow: 1;
}
@media screen and (max-width: 767px) {
  .access__address__col {
    width: auto;
    padding: 0;
  }
}
.access__address__col + .access__address__col {
  border-width: 0 0 0 1px;
  border-style: solid;
  border-color: #dddddd;
}
@media screen and (max-width: 767px) {
  .access__address__col + .access__address__col {
    padding-top: 2rem;
    margin-top: 2rem;
    border-width: 1px 0 0 0;
  }
}

/*
---
---------------------------------------------------------------------------*/
.exchange__katsunai table th, .exchange__katsunai table td {
  padding: 0.5rem;
  font-size: 0.85rem;
}
@media screen and (max-width: 767px) {
  .exchange__katsunai table tr {
    border-style: solid;
    border-width: 1px 0;
  }
  .exchange__katsunai table tr:nth-of-type(1) {
    display: none;
  }
  .exchange__katsunai table tr + tr {
    margin-top: 1rem;
  }
  .exchange__katsunai table th, .exchange__katsunai table td {
    border-width: 0;
    padding: 0;
  }
  .exchange__katsunai table td {
    display: flex;
    padding: 0.25rem 0;
  }
  .exchange__katsunai table td:nth-of-type(1):before {
    content: '活動内容\A（報告書タイトル）';
  }
  .exchange__katsunai table td:nth-of-type(2):before {
    content: '活動場所';
  }
  .exchange__katsunai table td:nth-of-type(3):before {
    content: '期間';
  }
  .exchange__katsunai table td:nth-of-type(4):before {
    content: '学年';
  }
  .exchange__katsunai table td:before {
    flex-shrink: 0;
    font-size: 10px;
    color: #761010;
    display: block;
    margin-right: 1rem;
    white-space: pre;
    width: 90px;
  }
  .exchange__katsunai table td + td {
    border-top: 1px dashed #a8a8a8;
  }
}

/*
---
---------------------------------------------------------------------------*/
.facilities__gallery {
  margin-left: -2rem;
  margin-right: -2rem;
  padding: 0 2rem;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .facilities__gallery {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .facilities__gallery {
    margin-left: -1rem;
    margin-right: -1rem;
  }
}
.facilities__gallery__slick {
  margin-left: -1rem;
  margin-right: -1rem;
  overflow: visible;
  position: static;
}
.facilities__gallery .slick-slide {
  padding: 0 1rem;
}
.facilities__gallery .slick-arrow {
  width: 2rem;
  height: 35px;
  background-repeat: no-repeat;
  background-size: 11px auto;
}
@media screen and (max-width: 1023px) {
  .facilities__gallery .slick-arrow {
    width: 3rem;
  }
}
.facilities__gallery .slick-prev {
  background-image: url("../images/arrow-border-11x25-black-prev.png");
  background-position: left center;
}
@media screen and (max-width: 1023px) {
  .facilities__gallery .slick-prev {
    background-position: center;
  }
}
.facilities__gallery .slick-next {
  background-image: url("../images/arrow-border-11x25-black-next.png");
  background-position: right center;
}
@media screen and (max-width: 1023px) {
  .facilities__gallery .slick-next {
    background-position: center;
  }
}
.facilities__gallery__item {
  color: inherit;
}
.facilities__gallery__thumb {
  overflow: hidden;
}
.facilities__gallery__thumb img {
  transition: all .5s;
}
.arrange-thumb-height .facilities__gallery__thumb img {
  aspect-ratio: 600 / 447;
  object-fit: contain;
  background-color: #fff;
}
a:hover .facilities__gallery__thumb img {
  transform: scale(1.2);
}
.facilities__gallery__title:after {
  content: '';
  display: block;
  height: 4px;
  width: 40px;
  background-color: #761010;
  margin-top: 0.5rem;
}
.facilities__gallery__remodal {
  max-width: 620px;
}

.facilities__outlineTable table th, .facilities__outlineTable table td {
  border-width: 0;
  padding: 0;
}
.facilities__outlineTable table th {
  font-weight: 700;
  background-color: transparent;
  white-space: nowrap;
}
.facilities__outlineTable table td {
  padding-left: 2rem;
}
.facilities__outlineTable table tr + tr th, .facilities__outlineTable table tr + tr td {
  padding-top: 1.5rem;
}

/*
---
---------------------------------------------------------------------------*/
.recruit__yoko + .recruit__yoko {
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .recruit__yoko + .recruit__yoko {
    margin-top: 0.5rem;
  }
}
.recruit__yoko__title {
  display: block;
  position: relative;
  padding: 2rem 5rem 2rem 2rem;
}
@media screen and (max-width: 767px) {
  .recruit__yoko__title {
    padding: 1rem 2.5rem 1rem 1rem;
  }
}
.recruit__yoko__title:after {
  content: '';
  position: absolute;
  width: 1rem;
  height: 1rem;
  border-style: solid;
  border-width: 0 2px 2px 0;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  transition: all .5s;
}
@media screen and (max-width: 767px) {
  .recruit__yoko__title:after {
    width: 0.5rem;
    height: 0.5rem;
  }
}
.recruit__yoko__title.opened:after {
  transform: translateY(-50%) rotate(-135deg);
}
.recruit__yoko__title:hover {
  background-color: #f7eeeb;
}
.recruit__yoko__title.opened:hover {
  background-color: transparent;
}
.recruit__yoko__contents {
  padding: 0 2rem 2rem;
}
@media screen and (max-width: 767px) {
  .recruit__yoko__contents {
    padding: 1rem;
  }
}
.recruit__yoko__table table th, .recruit__yoko__table table td {
  padding: 0;
  border-width: 0;
}
.recruit__yoko__table table th {
  border-right-width: 1px;
  padding-right: 2rem;
  font-weight: 700;
  background-color: transparent;
  width: 160px;
}
@media screen and (max-width: 767px) {
  .recruit__yoko__table table th {
    padding-right: 1rem;
    width: 80px;
  }
}
.recruit__yoko__table table td {
  padding-left: 2rem;
}
@media screen and (max-width: 767px) {
  .recruit__yoko__table table td {
    padding-left: 1rem;
  }
}
.recruit__yoko__table table tr + tr th, .recruit__yoko__table table tr + tr td {
  padding-top: 2rem;
}

/*
---
---------------------------------------------------------------------------*/
.kenkyukiyo__mokuji__colInner {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1rem;
}
@media screen and (max-width: 767px) {
  .kenkyukiyo__mokuji__colInner {
    padding: 0.5rem;
  }
}
.kenkyukiyo__mokuji__colInner:hover, .kenkyukiyo__mokuji__colInner.active {
  background-color: #f7eeeb;
}

.kenkyukiyo__go__table table {
  width: 100%;
  table-layout: fixed;
}
.kenkyukiyo__go__table table th, .kenkyukiyo__go__table table td {
  border-width: 1px 0;
}
.kenkyukiyo__go__table table th {
  background-color: transparent;
}
.kenkyukiyo__go__table table tr > :nth-of-type(1) {
  width: 200px;
}
@media screen and (max-width: 767px) {
  .kenkyukiyo__go__table table tr > :nth-of-type(1) {
    width: 100px;
  }
}

/*
---
---------------------------------------------------------------------------*/
.issuance__table1 table th, .issuance__table1 table td {
  text-align: center;
  vertical-align: middle;
}

.issuance__table2 table th, .issuance__table2 table td {
  vertical-align: middle;
  text-align: center;
}
.issuance__table2 table td:nth-of-type(1) {
  text-align: left;
}

@media screen and (min-width: 768px) {
  .issuance__inquiry {
    display: flex;
  }
}
.issuance__inquiry__left {
  background-color: #f7eeeb;
  padding: 2rem 1rem;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .issuance__inquiry__left {
    width: 200px;
  }
}
@media screen and (max-width: 767px) {
  .issuance__inquiry__left {
    padding: 1rem;
  }
}
@media screen and (min-width: 768px) {
  .issuance__inquiry__leftInner {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.issuance__inquiry__right {
  padding: 2rem;
}
@media screen and (max-width: 767px) {
  .issuance__inquiry__right {
    padding: 1rem;
  }
}

/*
---
---------------------------------------------------------------------------*/
@media screen and (min-width: 768px) {
  .uniform__uniform__block {
    display: flex;
  }
  .uniform__uniform__block:nth-of-type(even) {
    flex-direction: row-reverse;
  }
  .uniform__uniform__thumb {
    width: 50%;
  }
  .uniform__uniform__block:nth-of-type(odd) .uniform__uniform__thumb {
    padding-bottom: 2rem;
    align-items: flex-start;
  }
  .uniform__uniform__block:nth-of-type(even) .uniform__uniform__thumb {
    padding-top: 2rem;
    align-self: flex-end;
  }
  .uniform__uniform__text {
    width: 50%;
  }
  .uniform__uniform__block:nth-of-type(odd) .uniform__uniform__text {
    padding-top: 2rem;
    align-self: flex-end;
  }
  .uniform__uniform__block:nth-of-type(even) .uniform__uniform__text {
    padding-bottom: 2rem;
    align-items: flex-start;
  }
  .uniform__uniform__block:nth-of-type(odd) .uniform__uniform__textInner {
    padding: 2rem 2rem 2rem 0;
  }
  .uniform__uniform__block:nth-of-type(odd) .uniform__uniform__textInner:before {
    left: -2rem;
    right: 0;
  }
  .uniform__uniform__block:nth-of-type(even) .uniform__uniform__textInner {
    padding: 2rem 0 2rem 2rem;
  }
  .uniform__uniform__block:nth-of-type(even) .uniform__uniform__textInner:before {
    left: 0;
    right: -2rem;
  }
}
.uniform__uniform__block + .uniform__uniform__block {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .uniform__uniform__block {
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  .uniform__uniform__thumb {
    padding-right: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .uniform__uniform__text {
    padding-left: 2rem;
  }
}
.uniform__uniform__textInner {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .uniform__uniform__textInner {
    padding: 0 1rem 1rem 1rem;
  }
}
.uniform__uniform__textInner:before {
  content: '';
  position: absolute;
  z-index: -1;
  background-color: #fff;
  top: 0;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .uniform__uniform__textInner:before {
    top: -1rem;
    bottom: 0;
    left: 0;
    right: 0;
  }
}
.uniform__uniform__p__item {
  display: flex;
  align-items: flex-start;
}
.uniform__uniform__p__item + .uniform__uniform__p__item {
  margin-top: 1rem;
}
.uniform__uniform__p__tag {
  width: 90px;
  flex-shrink: 0;
  padding: 0.5rem 0;
  margin-right: 1rem;
  border-radius: 3px;
  text-align: center;
}
.uniform__uniform__p__p {
  padding-top: 0.5rem;
}

@media screen and (max-width: 767px) {
  .uniform__item__colInner {
    width: 80%;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
  }
}

/*
---
---------------------------------------------------------------------------*/
.schoollifeE__day {
  position: relative;
  padding: 2rem 0;
}
.schoollifeE__day:before {
  content: '';
  position: absolute;
  width: 14px;
  height: 100%;
  background-color: #dddddd;
  border-radius: 7px;
  top: 0;
}
@media screen and (max-width: 767px) {
  .schoollifeE__day:before {
    left: 28px;
  }
}
.schoollifeE__day__box {
  position: relative;
}
@media screen and (max-width: 767px) {
  .schoollifeE__day__box {
    padding-left: 80px;
  }
}
@media screen and (max-width: 767px) {
  .schoollifeE__day__box + .schoollifeE__day__box {
    margin-top: 2rem;
  }
}
.schoollifeE__day__time {
  position: absolute;
  background-color: #761010;
  border-radius: 100%;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .schoollifeE__day__time {
    width: 70px;
    height: 70px;
    left: 0;
  }
}
.schoollifeE__day__timeInner {
  font-size: 1.15rem;
}
@media screen and (max-width: 767px) {
  .schoollifeE__day__timeInner {
    font-size: 0.85rem;
  }
}
.schoollifeE__day__timeInner span {
  display: block;
}
.schoollifeE__day__timeInner span:nth-of-type(2) {
  transform: rotate(90deg);
  margin: -6px 0;
}
@media screen and (max-width: 767px) {
  .schoollifeE__day__timeInner span:nth-of-type(2) {
    margin: -4px 0;
  }
}
.schoollifeE__day__title {
  padding-top: 35px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .schoollifeE__day__title {
    padding-top: 24px;
  }
}
.schoollifeE__day__title span {
  display: block;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .schoollifeE__day__title span {
    padding-right: 1rem;
  }
}
.schoollifeE__day__title:after {
  content: '';
  display: block;
  background-color: #761010;
  height: 2px;
  min-width: 2rem;
  flex-grow: 1;
}
@media screen and (max-width: 767px) {
  .schoollifeE__day__dummyBox {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .schoollifeE__day {
    display: flex;
    margin-left: -55px;
    margin-right: -55px;
    flex-wrap: wrap;
  }
  .schoollifeE__day:before {
    left: 50%;
    transform: translateX(-50%);
  }
  .schoollifeE__day__box {
    width: 50%;
    padding: 0 55px;
  }
  .schoollifeE__day__box:nth-of-type(even) {
    transform: translateY(50%);
  }
  .schoollifeE__day__box:nth-of-type(n+3) {
    margin-top: 1rem;
  }
  .schoollifeE__day__time {
    width: 90px;
    height: 90px;
  }
  .schoollifeE__day__box:nth-of-type(odd) .schoollifeE__day__time {
    right: 0;
    transform: translateX(50%);
  }
  .schoollifeE__day__box:nth-of-type(even) .schoollifeE__day__time {
    left: 0;
    transform: translateX(-50%);
  }
  .schoollifeE__day__box:nth-of-type(odd) .schoollifeE__day__title span {
    padding-right: 1rem;
  }
  .schoollifeE__day__box:nth-of-type(even) .schoollifeE__day__title {
    flex-direction: row-reverse;
  }
  .schoollifeE__day__box:nth-of-type(even) .schoollifeE__day__title span {
    padding-left: 1rem;
  }
}
.schoollifeE__koji table th, .schoollifeE__koji table td {
  text-align: center;
  vertical-align: middle;
}

/*
---
---------------------------------------------------------------------------*/
.curriculum__table table tr:nth-of-type(1) th, .curriculum__table table tr:nth-of-type(1) td {
  padding: 0;
  border-width: 0;
  font-size: 0;
}
.curriculum__table table tr:nth-of-type(1) > th:nth-of-type(1) {
  width: 3rem;
}
@media screen and (max-width: 767px) {
  .curriculum__table table tr:nth-of-type(1) > th:nth-of-type(1) {
    width: 2rem;
  }
}
.curriculum__table table tr:nth-of-type(2) > th {
  text-align: center;
}
.curriculum__table table tr:nth-of-type(n+3) > th:nth-last-of-type(2) {
  line-height: 1.2;
  text-align: center;
}
.curriculum__table table tr:nth-of-type(n+3) > td {
  text-align: center;
}
.curriculum__table table th, .curriculum__table table td {
  vertical-align: middle;
}

.curriculum__table2 table tr:nth-of-type(1) > th:nth-of-type(1) {
  width: 3rem;
}
@media screen and (max-width: 767px) {
  .curriculum__table2 table tr:nth-of-type(1) > th:nth-of-type(1) {
    width: 2rem;
  }
}
.curriculum__table2 table tr:nth-of-type(1) > th:nth-of-type(2) {
  width: 15rem;
}
@media screen and (max-width: 767px) {
  .curriculum__table2 table tr:nth-of-type(1) > th:nth-of-type(2) {
    width: 5rem;
  }
}
.curriculum__table2 table tr:nth-of-type(1) > th, .curriculum__table2 table tr:nth-of-type(2) > th {
  text-align: center;
}
.curriculum__table2 table tr:nth-of-type(n+2) > th:nth-last-of-type(2) {
  line-height: 1.2;
  text-align: center;
}
.curriculum__table2 table tr:nth-of-type(n+3) > td {
  text-align: center;
}
.curriculum__table2 table th, .curriculum__table2 table td {
  vertical-align: middle;
}

.curriculum__subject__box {
  background-color: #fff;
  padding: 2rem;
}
@media screen and (max-width: 767px) {
  .curriculum__subject__box {
    padding: 1rem;
  }
}
.curriculum__subject__box + .curriculum__subject__box {
  margin-top: 1rem;
}

/*
---
---------------------------------------------------------------------------*/
.teacher__teacher__box {
  background-color: #fff;
  padding: 2rem;
}
@media screen and (max-width: 767px) {
  .teacher__teacher__box {
    padding: 1rem;
  }
}
.teacher__teacher__box + .teacher__teacher__box {
  margin-top: 1rem;
}
.teacher__teacher__row {
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .teacher__teacher__row {
    font-size: 0.85rem;
    display: block;
  }
}
.teacher__teacher__row + .teacher__teacher__row {
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .teacher__teacher__row + .teacher__teacher__row {
    margin-top: 1rem;
  }
}
.teacher__teacher__bumon {
  background-color: #761010;
  color: #fff;
  flex-shrink: 0;
  width: 120px;
  text-align: center;
  padding: 2px 0;
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .teacher__teacher__bumon {
    width: 90px;
    margin-top: 0;
  }
}
.teacher__teacher__teachers {
  display: flex;
  flex-wrap: wrap;
}
.teacher__teacher__item {
  padding: 2px 1rem;
  border-right: 1px solid #dddddd;
  margin-top: 0.5rem;
}
.teacher__teacher__item:nth-last-of-type(1) {
  border-right-width: 0;
}

@media screen and (max-width: 767px) {
  .remodalTeacher__honbun__right {
    max-width: 80%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2rem;
  }
}
.remodalTeacher__honbun__right img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.remodalTeacher__honbun__right img:nth-of-type(n+2) {
  margin-top: 2rem;
}

@media screen and (min-width: 768px) {
  .remodalTeacher__honbun {
    display: flex;
  }
  .remodalTeacher__honbun__left {
    flex-grow: 1;
  }
  .remodalTeacher__honbun__right {
    max-width: 280px;
    margin-left: 2rem;
    flex-shrink: 0;
  }
}
/*
---
---------------------------------------------------------------------------*/
.abroad__abroad__row {
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 1023px) {
  .abroad__abroad__row {
    display: block;
  }
}
.abroad__abroad__row + .abroad__abroad__row {
  margin-top: 1rem;
}
.abroad__abroad__th {
  width: 100px;
  text-align: center;
  padding: 4px 2px;
  flex-shrink: 0;
  margin-right: 1rem;
  border-radius: 3px;
  font-size: 0.85rem;
}
@media screen and (max-width: 1023px) {
  .abroad__abroad__th {
    margin: 0 0 0.5rem;
  }
}
.abroad__abroad__td {
  padding-top: 2px;
}
@media screen and (max-width: 1023px) {
  .abroad__abroad__td {
    padding-top: 0;
  }
}

/*
---
---------------------------------------------------------------------------*/
.popupGallery__colInner {
  color: inherit;
}
.popupGallery__colInner:hover img {
  transform: translateY(-50%) scale(1.2);
}
.popupGallery__thumb {
  position: relative;
  background-color: #dddddd;
  overflow: hidden;
}
.popupGallery__thumb img {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: all .5s;
}
.popupGallery__thumb:before {
  content: '';
  display: block;
  padding-bottom: 66.666666%;
}
.popupGallery__thumb:after {
  content: '';
  position: absolute;
  width: 24px;
  height: 20px;
  bottom: 4px;
  right: 4px;
  background-size: 100% auto;
  background-repeat: no-repeat;
}
.popupGallery__thumb.image:after {
  background-image: url("../images/icon-gallery-24x20.png");
}
.popupGallery__thumb.movie:after, .popupGallery__thumb.vimeo:after {
  background-image: url("../images/icon-gallery-movie-24x20.png");
}

.remodalGallery {
  max-width: 870px;
}
.remodalGallery.image {
  width: auto;
}

.singleMovie, .singleVimeo {
  background-color: #fff;
  padding: 2rem;
}
@media screen and (max-width: 767px) {
  .singleMovie, .singleVimeo {
    padding: 1rem;
  }
}
.singleMovie__inner, .singleVimeo__inner {
  position: relative;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.singleMovie__inner:before, .singleVimeo__inner:before {
  content: '';
  display: block;
  padding-bottom: 56.25%;
}
.singleMovie__inner iframe, .singleVimeo__inner iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.singleMovie__text, .singleVimeo__text {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

/*
---
---------------------------------------------------------------------------*/
.course__table__colInner {
  background-color: #fff;
  display: flex;
}
@media screen and (max-width: 767px) {
  .course__table__colInner {
    font-size: 0.85rem;
  }
}
.course__table__komoku {
  padding: 1rem 0.5rem;
  display: flex;
  align-items: center;
  flex-grow: 1;
}
.course__table__number {
  width: 50px;
  text-align: center;
  padding: 1rem 0;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background-color: #761010;
  font-weight: bold;
  flex-shrink: 0;
}

.course__gokei {
  display: flex;
  justify-content: center;
}
.course__gokei__item {
  padding: 0 1rem 0.5rem;
  border-bottom: 6px solid #761010;
  display: flex;
  align-items: flex-end;
  font-weight: bold;
}
.course__gokei__number {
  padding-left: 2rem;
  flex-shrink: 1;
}

/*
---
---------------------------------------------------------------------------*/
@media screen and (min-width: 768px) {
  .application__gaiyo__table > table th {
    width: 200px;
  }
}
/*
---
---------------------------------------------------------------------------*/
@media screen and (min-width: 768px) {
  .clubReport__report table th {
    width: 200px;
  }
}
.clubReport__report__row + .clubReport__report__row {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px dashed #dddddd;
}
@media screen and (max-width: 767px) {
  .clubReport__report__row + .clubReport__report__row {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
  }
}


/*
---
---------------------------------------------------------------------------*/
.essayinterview {
	display: flex;
	flex-wrap: wrap;
	column-gap: 30px;
	row-gap: 30px;
}
.essayinterview__article {
	display: block;
	width: calc((100% - 90px) / 4);
	color: inherit;
}
.essayinterview__article__thumb {
	aspect-ratio: 1;
	background-size: cover;
	background-position: center;
	transition: all .5s;
}
a:hover .essayinterview__article__thumb {
	box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.2);
}
.essayinterview__article__cat {
	display: flex;
	gap: 5px;
	flex-wrap: wrap;
}
.essayinterview__article__cat span {
	display: block;
	background-color: #761010;
	color: #fff;
	border-radius: 2px;
	line-height: 1;
	padding: 3px 6px 5px;
}
a:hover .essayinterview__article__title {
	color: #761010;
}
.essayinterview__article__date {
	color: #888;
}
@media screen and (max-width: 1023px) {
	.essayinterview {
		column-gap: 15px;
	}
	.essayinterview__article {
		width: calc((100% - 45px) / 4);
	}
}
@media screen and (max-width: 767px) {
	.essayinterview {
		column-gap: 10px;
	}
	.essayinterview__article {
		width: calc((100% - 10px) / 2);
	}
}


/*
---
---------------------------------------------------------------------------*/
.post__talkapp {
	background-color: #f7f5d9;
	padding: 2rem;
}
.post__talkapp__row + .post__talkapp__row {
	margin-top: 2rem;
}
.post__talkapp__row {
	display: flex;
	column-gap: 30px;
	align-items: flex-start;
}

.post__talkapp__row.left {
}
.post__talkapp__row.right {
	flex-direction: row-reverse;
}
@media screen and (min-width: 768px) {
	.post__talkapp__row.left {
		padding-right: 100px;
	}
	.post__talkapp__row.right {
		flex-direction: row-reverse;
		padding-left: 100px;
	}
}

.post__talkapp__thumb {
	flex-shrink: 0;
	width: 70px;
	aspect-ratio: 1 / 1;
	border-radius: 100%;
	overflow: hidden;
}
.post__talkapp__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.post__talkapp__text {
	border-radius: 5px;
	position: relative;
	padding: 1rem;
	background-color: #fff;
	min-height: 70px;
	display: flex;
	align-items: center;
}
.post__talkapp__text:before {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	top: 35px;
}
.left .post__talkapp__text:before {
	left: 0;
	transform: translate(-100%, -50%);
	border-width: 10px 20px 10px 0;
	border-color: transparent #fff transparent transparent;
}
.right .post__talkapp__text:before {
	right: 0;
	transform: translate(100%, -50%);
	border-width: 10px 0 10px 20px;
	border-color: transparent transparent transparent #fff;
}

@media screen and (max-width: 767px) {
	.post__talkapp {
		padding: 1rem;
	}
	.post__talkapp__thumb {
		width: 50px;
	}
	.post__talkapp__row {
		column-gap: 20px;
	}
	.post__talkapp__text {
		min-height: 50px;
	}
	.post__talkapp__text:before {
		top: 25px;
	}
	.right .post__talkapp__text:before {
		border-left-width: 15px;
	}
	.left .post__talkapp__text:before {
		border-right-width: 15px;
	}
}


/*
---
---------------------------------------------------------------------------*/
.anniversary-text_image-block {
    display: flex;
    align-items: flex-start;
    gap: 50px;
    margin: 50px 0;
}
.ani-text {
    flex: 1;
}
.ani-text > :first-child {
    margin-top: 0;
}
.ani-image {
    width: 45%;
    padding-left: 30px;
    padding-bottom: 20px;
    position: relative;
}
.ani-image::before {
    content: '';
    width: 150px;
    height: 150px;
    position: absolute;
    z-index: -1;
    /* border-radius: 50%; */
    background-color: #761110;
    bottom: 0;
    left: 0;
}


@media (max-width: 767px) {
    .anniversary-text_image-block {
        flex-direction: column-reverse;
        gap: 30px;
    }
    .ani-image {
        width: 100%;
        max-width: 450px;
        margin: auto;
    }
    .ani-text p {
        margin-top: 1rem;
    }

}
@media (max-width: 500px) {
    .anniversary-text_image-block {
        margin: 30px 0;
    }
    .ani-image {
        padding-left: 15px;
        padding-bottom: 15px;
    }
}

/*
---
---------------------------------------------------------------------------*/
.list-block {
    padding: 30px 20px;
    background-color: #fff;
    border-radius: 20px;
    margin: 30px 0;
    /* border: solid 1px #761110; */
}
.list-block > :first-child {
    margin-top: 0;
}
.list-block > p {
    margin-top: 1em;
}
p.p--list_type {
    
}
p.p--list_type > span {
    display: inline-block;
    padding: 8px 10px 9px;
    background-color: #fff;
    border: solid 1px #761110;
    border-radius: 5px;
    line-height: 1;
    margin-right: 5px;
    font-size: 14px;
    font-weight: bold;
}


@media (max-width: 767px) {
	
}
@media (max-width: 500px) {
    .list-block {
        padding: 10px;
    }
    p.p--list_type {
        padding: 20px 30px;
        border-radius: 300px;
        background-color: #f7f7f7;
    }
	p.p--list_type > span {
        margin-right: auto;
        margin-bottom: 5px;
        padding: 5px 8px;
    }
}

/*
---
---------------------------------------------------------------------------*/
.seminar-block {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin: 30px 0;
    padding: 20px;
    background-color: #fff;
    border: solid 1px #761110;
    border-radius: 20px;
}
.seminar-block p.seminar {
    font-size: 14px;
    padding-left: 2em;
    margin-top: 0;
    position: relative;
}
.seminar-block p.seminar::before {
    content: '';
    display: block;
    position: absolute;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: #761110;
    left: 0.5em;
    top: 0.4em;
}


@media (max-width: 767px) {
    .seminar-block {
        padding: 20px 15px;
        gap: 10px;
    }
	
}
@media (max-width: 500px) {
    .seminar-block p.seminar {
        padding-left: 1.6em;
    }
    .seminar-block p.seminar::before {
        left: 0.2em;
    }
}

/*
--- flex table with Image
---------------------------------------------------------------------------*/
.flex-table-image {
    max-width: 45%;
    padding: 20px 20px 30px 30px;
    position: relative;
    z-index: 0;
}
.flex-table-image::before {
    content: '';
    position: absolute;
    z-index: -1;
    width: 150px;
    height: 150px;
    background-color: #761110;
    bottom: 10px;
    left: 10px;
}
.flex-table-image::after {
    content: '';
    position: absolute;
    z-index: -1;
    width: 80px;
    height: 80px;
    background-color: #761110;
    top: 10px;
    right: 10px;
}
.flex-box-table-wrapper[class*="pos_"] {
    display: -webkit-flex;
    display: -o-flex;
    display: flex;
}
.flex-box-table-wrapper.pos_right {
    flex-direction: row-reverse;
    align-items: self-start;
}
.pos_left .flex-table-image {
    align-items: self-start;
}
.flex-box-table-wrapper.pos_top{
    flex-direction: column;
}
.flex-box-table-wrapper.pos_bottom {
    flex-direction: column-reverse;
}
.flex-box-table-wrapper.pos_top .flex-table-image,
.flex-box-table-wrapper.pos_bottom .flex-table-image {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 600px;
}
.row-wrap {
    flex: 1;
}


@media screen and (max-width: 767px) {
    .flex-box-table-wrapper.pos_left,
    .flex-box-table-wrapper.pos_right {
        display: block;
    }
    .flex-table-image {
        padding: 10px 10px 20px 20px;
        position: relative;
        z-index: 0;
    }
    .pos_right .flex-table-image,
    .pos_left .flex-table-image {
        float: none;
        width: 100%;
        max-width: 600px;
        margin: 0 auto;
        margin-bottom: 20px;
    }
    .flex-table-image::before {
        left: 0;
        bottom: 0;
    }
    .flex-table-image::after {
        top: 0;
        right: 0;
    }
    .flex-box-table-wrapper.pos_top .flex-table-image {
        margin-bottom: 20px;
    }
    .flex-box-table-wrapper.pos_bottom .flex-table-image {
        margin-top: 20px;
        margin-bottom: 0;
    }
}

@media screen and (max-width: 560px) {

}

/*
---
---------------------------------------------------------------------------*/
.flex-box-table-wrapper {
    margin: 30px 0;
}
.flex-table-row {
    display: flex;
    border: solid 1px #aaa;
    /*border-radius: 200px;*/
    margin-bottom: 7px;
    overflow: hidden;
    background-color: #fff;
}
.flex-table-row > div {
    font-size: 14px;
    display: flex;
    align-items: center;
}
.flex-table-th {
    font-weight: bold;
    width: 160px;
    padding: 20px 20px;
    align-items: center;
    justify-content: center;
    background-color: #eee;
    border-right: 1px solid #aaa;
}
.flex-table-td {
    padding: 20px 20px;
    flex: 1;
}


@media (max-width: 767px) {
	
}
@media (max-width: 560px) {
    .flex-table-row {
        flex-direction: column;
        margin-bottom: 5px;
    }
    .flex-table-th {
        border-right: none;
        width: 100%;
        border-bottom: 1px solid #aaa;
        padding: 10px 20px;
    }
    .flex-table-td {
        padding: 10px 20px;
        justify-content: center;
    }
	
}


/*
---
---------------------------------------------------------------------------*/
body.page-template-anniversary_history {
    padding-top: 62px;
    background-color: #fff;
}
body.page-template-anniversary_history .contents_wrapper {
    overflow: unset;
}
body.page-template-anniversary_history .contents_body {
    position: relative;
}

.history-main-visual-wrapper {
    position: sticky;
    z-index: -1;
    top: 62px;
}
.history-main-visual-wrapper h1 {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    
    color: #761110;
    font-size: 72px;
    width: 100%;
    max-width: 630px;
    padding: 50px;
    text-align: center;
    background-color: rgba(255,255,255,0.8);
    transition: opacity 0.6s ease-out 0.2s, transform 0.6s ease-out 0.2s;
}
.history-main-visual-wrapper h1 span {
    display: block;
    font-size: 80%;
}
body.scrolled .history-main-visual-wrapper h1 {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) scale(0.5);
    -o-transform: translate(-50%, -50%) scale(0.5);
    transform: translate(-50%, -50%) scale(0.5);
}

.history-slider-wrapper {
    display: flex;
    width: 100%;
    overflow: hidden;
}
.history-slider {
    display: flex;
    flex-wrap: wrap;
    width: 360vw;
    flex-shrink: 0;
    justify-content: space-around;
}
.history-slide {
    width: calc(100% / 13);
    padding: 20px;
    flex-shrink: 0;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
}

.history-slide.image-l img {width: 375px;}
.history-slide.image-m img {width: 270px;}
.history-slide.image-s img {width: 180px;}

@keyframes loop {
  0% {
    transform: translateX(100%);
  }

  to {
    transform: translateX(-100%);
  }
}

@keyframes loop2 {
  0% {
    transform: translateX(0);
  }

  to {
    transform: translateX(-200%);
  }
}

.history-slider:first-child {
  animation: loop 160s -80s linear infinite;
}
.history-slider:last-child {
  animation: loop2 160s linear infinite;
}

.history-section-wrapper {
    /*padding-top: 60px;
    padding-bottom: 60px;*/
    background-color: rgb(255 255 255 / 93%);
}

/* history table - 年表 */
.history-th h3 {
    padding-left: 30px;
    position: relative;
}
.history-th h3::after {
    position: absolute;
    left: 0;
    opacity: 0;
}
.history-th h3::before {
    content: '';
    position: absolute;
    width: 15px;
    height: 15px;
    left: 0;
    top: 11px;
    background-color: #761010;
    border-radius: 50%;
}
.history-th h3 span {
    font-size: 80%;
}
.history-row {
    position: relative;
}
.history-row::before {
    content: '';
    position: absolute;
    width: 2px;
    height: calc(100% + 30px);
    background-color: #AAA;
    top: 20px;
    left: 7px;
}
.history-row:last-of-type::before {
    height: 100%;
}

.month-box {
    display: flex;
}
.month {
    width: 210px;
    padding: 20px 20px 20px 20px;
    background-color: #f7f7f7;
}
.month h6 {
    margin-top: 0;
    display: inline-block;
    padding: 10px 20px 15px;
    background-color: #fff;
    line-height: 1;
    font-size: 24px;
    border-radius: 5px;
}
.month h6 > span {
    font-size: 16px;
}
.mo-txt {
    padding: 20px 20px 20px 30px;
    flex: 1;
}
.mo-txt > :first-child {
    margin-top: 0;
}

.month-image {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}
.mo-img {
    /*width: calc(100% / 4 - 9px);*/
}
.mo-img img {
    max-height: 150px;
}


@media (max-width: 767px) {
	.history-main-visual-wrapper h1 {
        font-size: 46px;
        padding: 30px;
    }
    .history-slider {
        width: 340vw;
    }
    .history-slide {
        width: calc(100% / 9);
        padding: 15px;
    }
    
    .history-table-block {
        padding-left: 20px;
    }
    .month {
        width: 125px;
        padding: 10px 10px 10px 20px;
    }
    .month h6 {
        padding: 5px 15px 10px;
    }
    .mo-txt {
        padding: 20px 10px 20px 20px;
    }

}
@media (max-width: 560px) {
    .history-slider {
        flex-direction: column;
        height: 90vh;
        width: 430vw;
    }
    .history-slide {
        /*padding: 10px;*/
        width: calc(100% / 7);
    }
    
    .history-table-block {
        padding-left: 0;
    }
    .month {
        width: 90px;
        padding-left: 15px;
    }
    .month h6 {
        padding: 5px 10px 9px;
        font-size: 20px;
    }
    .mo-txt {
        padding: 15px 10px 15px 15px;
    }
    .month-image {
        margin-top: 15px;
    }
    .mo-img {
        width: calc(50% - 10px);
    }
    
}
