@charset "UTF-8";
/* ---------------------------------------------------------
    font
--------------------------------------------------------- */
@font-face {
  font-family: "line-rg";
  src: url("../font/LINESeedJP_A_OTF_Rg.woff") format("woff");
}

@font-face {
  font-family: "line-bd";
  src: url("../font/LINESeedJP_A_OTF_Bd.woff") format("woff");
}

@font-face {
  font-family: "line-eb";
  src: url("../font/LINESeedJP_A_OTF_Eb.woff") format("woff");
}

@font-face {
  font-family: "line-th";
  src: url("../font/LINESeedJP_A_OTF_Th.woff") format("woff");
}

/* ---------------------------------------------------------
    共通
--------------------------------------------------------- */
body {
  width: 50%;
  font-family: "line-bd";
  color: #333;
  position: absolute;
  top: 0;
  right: 0;
}

.inner {
  max-width: 430px;
  margin: auto;
  padding: 0 20px;
}

img {
  width: 100%;
}

.no_scroll {
  overflow: hidden;
  height: 100%;
}

@media (max-width: 767px) {
  body {
    width: 100%;
  }
}

/* ---------------------------------------------------------
    アニメーション
--------------------------------------------------------- */
.fadeIn {
  opacity: 0;
  -webkit-transition: 2s;
  transition: 2s;
}

.fadeIn.is-show {
  opacity: 1;
}

.fadeIn_up {
  opacity: 0;
  -webkit-transform: translate(0, 50%);
          transform: translate(0, 50%);
  -webkit-transition: 2s;
  transition: 2s;
}

.fadeIn_up.is-show {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  opacity: 1;
}

/* ---------------------------------------------------------
    PC 固定背景
--------------------------------------------------------- */
.fixd {
  width: 50%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
}

.fixd .slick_fixd {
  width: 100%;
  height: 100%;
}

.fixd .slick_fixd .slick-list {
  width: 100%;
  height: 100%;
}

.fixd .slick_fixd .slick-list .slick-track {
  width: 100%;
  height: 100%;
}

.fixd .slick_fixd .slick-list .slick-track figure {
  width: 100%;
  height: 100%;
}

.fixd .slick_fixd .slick-list .slick-track figure .image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (max-width: 767px) {
  .fixd {
    display: none;
  }
}

.backGround {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -2;
  background: url(../images/common/mainVisual_bg.jpg) no-repeat center/cover;
}

.fixd_sp {
  display: none;
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
}

.fixd_sp .slick_fixd_sp {
  width: 100%;
  height: 100%;
}

.fixd_sp .slick_fixd_sp .slick-list {
  width: 100%;
  height: 100%;
}

.fixd_sp .slick_fixd_sp .slick-list .slick-track {
  width: 100%;
  height: 100%;
}

.fixd_sp .slick_fixd_sp .slick-list .slick-track figure {
  width: 100%;
  height: 100%;
}

.fixd_sp .slick_fixd_sp .slick-list .slick-track figure .image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (max-width: 767px) {
  .fixd_sp {
    display: block;
  }
}

/* ---------------------------------------------------------
    ヘッダー
--------------------------------------------------------- */
.header .hamburgerMenu {
  width: 55px;
  height: 55px;
  position: fixed;
  z-index: 97;
  top: 35px;
  right: 40px;
  border: none;
  background: transparent;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  cursor: pointer;
  background: #2c367d;
  border-radius: 50%;
}

.header .hamburgerMenu.is_active {
  background: #fff;
}

.header .hamburgerMenu.is_active .hamburgerMenu__bar {
  background: #2c367d;
}

.header .hamburgerMenu.is_active .hamburgerMenu__bar:first-child {
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
          transform: translateX(-50%) translateY(-50%) rotate(45deg);
  top: 28px;
}

.header .hamburgerMenu.is_active .hamburgerMenu__bar:last-child {
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(-45deg);
          transform: translateX(-50%) translateY(-50%) rotate(-45deg);
  top: 28px;
}

.header .hamburgerMenu .hamburgerMenu__bar {
  display: inline-block;
  width: 60%;
  height: 3px;
  background: #fff;
  border-radius: 30px;
  position: absolute;
  z-index: 98;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: .5s;
  transition: .5s;
}

.header .hamburgerMenu .hamburgerMenu__bar:first-child {
  top: 21px;
}

.header .hamburgerMenu .hamburgerMenu__bar:last-child {
  top: 34px;
}

.header .menu_content {
  width: 50%;
  height: 100vh;
  position: fixed;
  top: 0;
  right: -1000px;
  z-index: 90;
  background: #2c367d;
  -webkit-transition: all .5s;
  transition: all .5s;
  overflow-y: auto;
}

.header .menu_content.is_open {
  right: 0;
}

.header .menu_content .h_inner {
  max-width: 340px;
  padding: 0 20px;
  margin: auto;
}

.header .menu_content .h_inner .h_navi {
  margin-top: 40px;
}

.header .menu_content .h_inner .h_navi ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}

.header .menu_content .h_inner .h_navi ul li .link {
  color: #eacf26;
  font-size: 22px;
  text-decoration: none;
}

.header .menu_content .h_inner .h_navi ul li ul {
  margin: 10px 0 0 35px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px 15px;
}

.header .menu_content .h_inner .h_navi ul li ul li {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 5px 12px;
  border: .8px solid #fff;
  border-radius: 50px;
  position: relative;
  -webkit-transition: all .2s;
  transition: all .2s;
  font-family: "line-rg";
  font-size: 16px;
  color: #fff;
}

.header .menu_content .h_inner .h_navi ul li ul li:hover {
  color: #2c367d;
  background: #fff;
}

.header .menu_content .h_inner .h_navi ul li ul li .link {
  position: absolute;
  inset: 0;
}

@media (max-width: 767px) {
  .header .hamburgerMenu {
    right: 20px;
  }
  .header .menu_content {
    width: 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;
  }
  .header .menu_content .h_inner .h_navi {
    margin-top: 0;
  }
}

/* ---------------------------------------------------------
    フッター
--------------------------------------------------------- */
.footer {
  padding: 90px 0 30px;
  background: #fff;
}

.footer .f_inner {
  max-width: 570px;
  padding: 0 20px;
  margin: auto;
}

.footer .f_inner .logo {
  width: 130px;
  margin: auto;
}

.footer .f_inner .f_nav {
  margin-top: 50px;
}

.footer .f_inner .f_nav ul {
  list-style-type: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
}

.footer .f_inner .f_nav ul li {
  text-align: center;
}

.footer .f_inner .f_nav ul li .link {
  text-decoration: none;
  font-size: 18px;
  color: #333;
  -webkit-transition: all .2s;
  transition: all .2s;
}

.footer .f_inner .f_nav ul li .link:hover {
  opacity: .6;
}

.footer .f_inner .coryright {
  padding-top: 5px;
  margin-top: 130px;
  border-top: 1px solid #333;
  text-align: center;
}

.footer .f_inner .coryright span {
  font-family: "line-rg";
  font-size: 10px;
}

/* ---------------------------------------------------------
    追従バナー
--------------------------------------------------------- */
.fixd_bunner {
  width: 50%;
  position: fixed;
  bottom: 20px;
  right: 0;
  z-index: 5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-item-align: center;
      align-self: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.fixd_bunner figure {
  width: 330px;
  position: relative;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.fixd_bunner figure .link {
  position: absolute;
  inset: 0;
}

.fixd_bunner figure:hover {
  opacity: .8;
}

@media (max-width: 767px) {
  .fixd_bunner {
    width: 100%;
  }
}

/* ---------------------------------------------------------
    メインビジュアル
--------------------------------------------------------- */
.mainVisual {
  width: 100%;
  height: 100vh;
  position: relative;
}

.mainVisual .logo {
  width: 250px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

/* ---------------------------------------------------------
    導入
--------------------------------------------------------- */
.sect_introduction {
  margin-top: 40px;
}

.sect_introduction .introduction .introduction_img {
  width: 100%;
}

/* ---------------------------------------------------------
    ギャラリー
--------------------------------------------------------- */
.gallery {
  margin-top: 40px;
}

.gallery .slick_gallery {
  position: relative;
}

.gallery .slick_gallery .gallery_item {
  padding: 0 15px;
  width: 300px;
}

.gallery .slick_gallery .gallery_item .image {
  width: 100%;
  height: 100%;
  aspect-ratio: 3 / 2.5;
  -o-object-fit: cover;
     object-fit: cover;
}

/* ---------------------------------------------------------
    お知らせ
--------------------------------------------------------- */
.sect_news {
  padding-top: 230px;
}

.sect_news .news {
  position: relative;
}

.sect_news .news .sect_title {
  font-family: "Anton", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}

.sect_news .news .sect_title .ja {
  font-family: "line-eb";
  font-size: 24px;
}

.sect_news .news .info {
  margin-top: 50px;
}

.sect_news .news .info .slick_info {
  position: relative;
}

.sect_news .news .info .slick_info .info_item {
  padding: 0 15px;
  width: 300px;
}

.sect_news .news .info .slick_info .info_item figure {
  position: relative;
}

.sect_news .news .info .slick_info .info_item figure .image {
  width: 100%;
  height: 100%;
  aspect-ratio: 3 / 2;
  -o-object-fit: cover;
     object-fit: cover;
}

.sect_news .news .info .slick_info .info_item figure .link {
  position: absolute;
  inset: 0;
}

.sect_news .news .info .slick_info .slick-dots {
  bottom: -30px;
}

.sect_news .news .info .slick_info .slick-dots li button::before {
  font-size: 13px;
}

.sect_news .news .news_post {
  padding: 0 20px;
  margin-top: 55px;
}

.sect_news .news .news_post .post {
  list-style-type: none;
  max-width: 500px;
  margin: auto;
}

.sect_news .news .news_post .post .post_item {
  position: relative;
  padding: 10px 0 40px;
  border-bottom: 1px solid #707070;
  -webkit-transition: all .2s;
  transition: all .2s;
}

.sect_news .news .news_post .post .post_item:hover {
  opacity: .6;
}

.sect_news .news .news_post .post .post_item .link {
  position: absolute;
  inset: 0;
}

.sect_news .news .news_post .post .post_item .content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}

.sect_news .news .news_post .post .post_item .content .post_title {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  font-size: 16px;
  line-height: 1.6;
}

.sect_news .news .news_post .post .post_item .content .time_content {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}

.sect_news .news .news_post .post .post_item .content .time_content .icon {
  width: 20px;
}

.sect_news .news .news_post .post .post_item .content .time_content .time {
  font-family: "line-rg";
  font-size: 14px;
  color: #333;
}

.sect_news .news .news_post .more_btn {
  max-width: 470px;
  padding: 14px 0 12px;
  border: 1px solid #333;
  margin: 55px auto 0;
  text-align: center;
  position: relative;
}

.sect_news .news .news_post .more_btn:hover::before {
  right: 5px;
}

.sect_news .news .news_post .more_btn:hover::after {
  right: 5px;
}

.sect_news .news .news_post .more_btn::before {
  content: '';
  width: 12px;
  height: 1.5px;
  background: #000;
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all .2s;
  transition: all .2s;
}

.sect_news .news .news_post .more_btn::after {
  content: '';
  width: 7px;
  height: 1px;
  background: #000;
  position: absolute;
  top: 45%;
  right: 15px;
  -webkit-transform: translateY(-50%) rotate(35deg);
          transform: translateY(-50%) rotate(35deg);
  -webkit-transition: all .2s;
  transition: all .2s;
}

.sect_news .news .news_post .more_btn .link {
  position: absolute;
  inset: 0;
  z-index: 2;
}

.sect_news .news .news_post .more_btn span {
  font-size: 18px;
  font-weight: 600;
}

.sect_news .news .news_bg {
  width: 100%;
  position: absolute;
  top: -120px;
  left: 0;
  z-index: -1;
}

/* ---------------------------------------------------------
    インスタグラム
--------------------------------------------------------- */
.sect_insta {
  padding: 55px 0 125px;
  margin-top: 55px;
  background: #2c367d;
}

.sect_insta .insta .sect_title {
  font-family: "Anton", sans-serif;
  color: #fff;
  font-weight: 400;
  font-style: normal;
  font-size: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  text-align: center;
}

.sect_insta .insta .acount {
  margin-top: 55px;
}

.sect_insta .insta .acount .acount_name {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 5px 25px;
  margin: auto;
  border: 1px solid #fff;
  border-radius: 50px;
  position: relative;
  -webkit-transition: all .2s;
  transition: all .2s;
}

.sect_insta .insta .acount .acount_name .link {
  position: absolute;
  inset: 0;
}

.sect_insta .insta .acount .acount_name span {
  display: block;
  font-size: 16px;
  color: #fff;
  text-align: center;
}

.sect_insta .insta .acount .acount_name:hover {
  background: #fff;
}

.sect_insta .insta .acount .acount_name:hover span {
  color: #2c367d;
}

.sect_insta .insta .acount .feed {
  margin-top: 20px;
}

/* ---------------------------------------------------------
    スケジュール
--------------------------------------------------------- */
.sect_schedule {
  padding-top: 100px;
  background: #fff;
}

.sect_schedule .schedule {
  max-width: 580px;
  padding: 0 20px;
  margin: auto;
}

.sect_schedule .schedule .sect_title {
  font-family: "Anton", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}

.sect_schedule .schedule .sect_title .ja {
  font-family: "line-eb";
  font-size: 24px;
}

.sect_schedule .schedule .calendar {
  margin-top: 40px;
}

.sect_schedule .schedule .calendar .calendar_tab_container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px 15px;
}

.sect_schedule .schedule .calendar .calendar_tab_container .calendar_tab {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 5px 12px;
  border: 1.3px solid #777;
  border-radius: 50px;
  cursor: pointer;
  -webkit-transition: all .2s;
  transition: all .2s;
}

.sect_schedule .schedule .calendar .calendar_tab_container .calendar_tab:hover {
  background: #2c367d;
  border-color: #2c367d;
}

.sect_schedule .schedule .calendar .calendar_tab_container .calendar_tab:hover span {
  color: #fff;
}

.sect_schedule .schedule .calendar .calendar_tab_container .calendar_tab.active {
  background: #2c367d;
  border-color: #2c367d;
}

.sect_schedule .schedule .calendar .calendar_tab_container .calendar_tab.active span {
  color: #fff;
}

.sect_schedule .schedule .calendar .calendar_tab_container .calendar_tab span {
  font-size: 18px;
  font-weight: 600;
  color: #777;
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content {
  display: none;
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content.show {
  display: block;
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .simple_calendar {
  margin-top: 35px;
  /* ツールチップ */
  /* 背景色交互 */
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .simple_calendar .fc-toolbar {
  display: -ms-grid;
  display: grid;
  grid-auto-columns: 1fr;
  -ms-grid-columns: 1fr 1fr;
      grid-template-columns: 1fr 1fr;
  -ms-grid-rows: 0.5fr 1fr;
      grid-template-rows: 0.5fr 1fr;
  gap: 10px 30px;
      grid-template-areas: "box-1 box-1" "box-2 box-3";
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .simple_calendar .fc-toolbar .fc-toolbar-chunk:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-area: box-1;
  text-align: center;
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .simple_calendar .fc-toolbar .fc-toolbar-chunk:nth-child(1) .fc-toolbar-title {
  font-size: 24px;
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .simple_calendar .fc-toolbar .fc-toolbar-chunk:nth-child(2) {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  grid-area: box-2;
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .simple_calendar .fc-toolbar .fc-toolbar-chunk:nth-child(3) {
  -ms-grid-row: 2;
  -ms-grid-column: 2;
  grid-area: box-3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .simple_calendar .fc-toolbar .fc-button {
  background: #333;
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .simple_calendar .fc-day-sun {
  background: #FFE5E5;
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .simple_calendar .fc-day-sat {
  background: #E6F2FF;
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .simple_calendar .fc-col-header-cell {
  padding: 5px 0;
  background: #333;
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .simple_calendar .fc-col-header-cell .fc-col-header-cell-cushion {
  color: #fff;
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .simple_calendar .fc-daygrid-day-number {
  font-size: 12px;
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .simple_calendar .fc-event {
  color: #333;
  cursor: pointer;
  /* ツールチップっぽく見せる */
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .simple_calendar .fc-event .fc-daygrid-event-dot {
  display: none;
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .simple_calendar .tippy-box {
  white-space: nowrap;
  max-width: 100%;
  /* 長すぎる場合の制限（任意） */
  overflow: hidden;
  text-overflow: ellipsis;
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .simple_calendar .event-even {
  background-color: #A8E6A3 !important;
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .simple_calendar .event-odd {
  background-color: #B2EBF2 !important;
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .simple_calendar .fc-timeGridWeek-view {
  overflow: scroll;
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .simple_calendar .fc-timeGridWeek-view .fc-scrollgrid {
  width: 600px;
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .simple_calendar .fc-timeGridWeek-view .fc-scrollgrid .fc-col-header-cell-cushion {
  font-size: 12px;
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .btn_wrap {
  margin-top: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px 30px;
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .btn_wrap .btn {
  width: 220px;
  height: 40px;
  border: 1px solid #333;
  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;
  position: relative;
  -webkit-transition: all .2s;
  transition: all .2s;
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .btn_wrap .btn .link {
  position: absolute;
  inset: 0;
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .btn_wrap .btn span {
  font-size: 16px;
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .btn_wrap .btn:hover {
  background: #333;
}

.sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .btn_wrap .btn:hover span {
  color: #fff;
}

@media (max-width: 767px) {
  .sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .simple_calendar .fc-toolbar-title {
    font-size: 18px;
  }
  .sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .simple_calendar .fc-today-button {
    font-size: 14px;
  }
  .sect_schedule .schedule .calendar .calendar_content_container .calendar_content .content .simple_calendar .fc-button {
    font-size: 14px;
  }
}

/* ---------------------------------------------------------
    インストラクター
--------------------------------------------------------- */
.sect_instructor {
  background: #fff;
  padding-top: 145px;
}

.sect_instructor .instructor {
  max-width: 580px;
  padding: 0 20px;
  margin: auto;
}

.sect_instructor .instructor .sect_title {
  font-family: "Anton", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}

.sect_instructor .instructor .sect_title .ja {
  font-family: "line-eb";
  font-size: 24px;
}

.sect_instructor .instructor .school {
  margin-top: 40px;
}

.sect_instructor .instructor .school .school_tab_container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px 15px;
}

.sect_instructor .instructor .school .school_tab_container .school_tab {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 5px 12px;
  border: 1.3px solid #777;
  border-radius: 50px;
  cursor: pointer;
  -webkit-transition: all .2s;
  transition: all .2s;
}

.sect_instructor .instructor .school .school_tab_container .school_tab:hover {
  background: #2c367d;
  border-color: #2c367d;
}

.sect_instructor .instructor .school .school_tab_container .school_tab:hover span {
  color: #fff;
}

.sect_instructor .instructor .school .school_tab_container .school_tab.active {
  background: #2c367d;
  border-color: #2c367d;
}

.sect_instructor .instructor .school .school_tab_container .school_tab.active span {
  color: #fff;
}

.sect_instructor .instructor .school .school_tab_container .school_tab span {
  font-size: 18px;
  font-weight: 600;
  color: #777;
}

.sect_instructor .instructor .school .school_content_container {
  margin-top: 55px;
}

.sect_instructor .instructor .school .school_content_container .school_content {
  display: none;
}

.sect_instructor .instructor .school .school_content_container .school_content.show {
  display: block;
}

.sect_instructor .instructor .school .school_content_container .school_content .content .teacher {
  padding-top: 130px;
  margin-bottom: 90px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px;
  position: relative;
}

.sect_instructor .instructor .school .school_content_container .school_content .content .teacher:last-child {
  margin-bottom: 0;
}

.sect_instructor .instructor .school .school_content_container .school_content .content .teacher:nth-child(even) .teacher_name {
  left: auto;
  right: 60px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  white-space: nowrap;
}

.sect_instructor .instructor .school .school_content_container .school_content .content .teacher:nth-child(even) .photo_content {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}

.sect_instructor .instructor .school .school_content_container .school_content .content .teacher:nth-child(even) .writing_content {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.sect_instructor .instructor .school .school_content_container .school_content .content .teacher .teacher_name {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
}

.sect_instructor .instructor .school .school_content_container .school_content .content .teacher .teacher_name h3 {
  font-family: "line-eb";
  font-size: 42px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}

.sect_instructor .instructor .school .school_content_container .school_content .content .teacher .teacher_name h3 span {
  font-size: 22px;
}

.sect_instructor .instructor .school .school_content_container .school_content .content .teacher .teacher_name .circle_icon {
  width: 120px;
  position: absolute;
  top: -10px;
  right: -55px;
  z-index: -1;
}

.sect_instructor .instructor .school .school_content_container .school_content .content .teacher .photo_content {
  width: calc(50% - 10px);
}

.sect_instructor .instructor .school .school_content_container .school_content .content .teacher .photo_content figure .image {
  width: 100%;
  height: 100%;
  aspect-ratio: 3 / 4;
  -o-object-fit: cover;
     object-fit: cover;
}

.sect_instructor .instructor .school .school_content_container .school_content .content .teacher .writing_content {
  width: calc(50% - 10px);
}

.sect_instructor .instructor .school .school_content_container .school_content .content .teacher .writing_content .copy {
  font-family: "line-eb";
  font-size: 18px;
  font-size: 16px;
  line-height: 1.6em;
  margin-bottom: 15px;
}

.sect_instructor .instructor .school .school_content_container .school_content .content .teacher .writing_content .sentence {
  font-family: "line-rg";
  font-size: 14px;
  font-size: 12px;
  line-height: 1.3em;
}

.sect_instructor .instructor .school .school_content_container .school_content .content .teacher .writing_content .arrow-toggle-btn {
  background: none;
  margin: 15px auto 0;
  border: none;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  color: #333;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  text-decoration: none;
}

.sect_instructor .instructor .school .school_content_container .school_content .content .teacher .writing_content .arrow-toggle-btn.open .arrow {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

.sect_instructor .instructor .school .school_content_container .school_content .content .teacher .writing_content .arrow-toggle-btn .arrow {
  display: inline-block;
  width: 13px;
  height: 13px;
  color: #333;
  border-bottom: 2px solid #333;
  border-right: 2px solid #333;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.sect_instructor .instructor .school .school_content_container .school_content .btn_wrap {
  margin-top: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 15px 30px;
}

.sect_instructor .instructor .school .school_content_container .school_content .btn_wrap .btn {
  width: 240px;
  padding: 14px 0 12px;
  border: 1px solid #333;
  text-align: center;
  position: relative;
}

.sect_instructor .instructor .school .school_content_container .school_content .btn_wrap .btn .link {
  position: absolute;
  inset: 0;
  z-index: 2;
}

.sect_instructor .instructor .school .school_content_container .school_content .btn_wrap .btn span {
  font-size: 18px;
  font-weight: 600;
}

/* ---------------------------------------------------------
    JAMについて
--------------------------------------------------------- */
.sect_about {
  background: #fff;
  padding-top: 140px;
}

.sect_about .about .sect_title {
  font-family: "Anton", sans-serif;
  font-weight: 600;
  font-size: 60px;
  text-align: center;
}

.sect_about .about .sect_title span {
  font-family: "line-eb";
  font-size: 28px;
}

.sect_about .about .copy {
  font-family: "line-eb";
  font-size: 18px;
  line-height: 1.7em;
  margin-top: 45px;
  text-align: center;
  word-break: keep-all;
}

.sect_about .about .sentence {
  max-width: 590px;
  padding: 0 20px;
  margin: auto;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3em;
  text-align: center;
  word-break: keep-all;
}

.sect_about .about .photo {
  width: 100%;
  margin-top: 35px;
}

.sect_about .about .history {
  margin-top: 60px;
}

.sect_about .about .history h3 {
  font-family: "line-eb";
  font-size: 22px;
  text-align: center;
}

.sect_about .about .history .history_wrap {
  max-width: 620px;
  padding: 0 20px;
  margin: 5px auto 0;
}

.sect_about .about .history .history_wrap .history_item {
  padding: 20px;
  border-bottom: .3px solid #0D0D0D;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
}

.sect_about .about .history .history_wrap .history_item .year {
  font-size: 16px;
  font-family: "line-rg";
  min-width: 130px;
  height: 25px;
  background: #2c367d;
  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;
}

.sect_about .about .history .history_wrap .history_item .year span {
  font-family: "line-rg";
  font-size: 14px;
  color: #fff;
}

.sect_about .about .history .history_wrap .history_item .month {
  display: none;
}

.sect_about .about .history .history_wrap .history_item .event {
  font-size: 16px;
  font-family: "line-rg";
  line-height: 1.4em;
}

.sect_about .about .history .arrow {
  position: relative;
  display: block;
  text-align: center;
  width: 20.3px;
  height: 11.3px;
  margin: 10px auto 0;
  -webkit-transition: all .2s;
  transition: all .2s;
}

.sect_about .about .history .arrow.active_more::before, .sect_about .about .history .arrow.active_more::after {
  -webkit-transform-origin: 50% 1.15px;
          transform-origin: 50% 1.15px;
}

.sect_about .about .history .arrow::before, .sect_about .about .history .arrow::after {
  content: "";
  position: absolute;
  top: 0;
  left: calc(50% - 1.15px);
  width: 2.3px;
  height: 15px;
  border-radius: 9999px;
  background-color: #333333;
  -webkit-transform-origin: 50% calc(100% - 1.15px);
          transform-origin: 50% calc(100% - 1.15px);
}

.sect_about .about .history .arrow::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.sect_about .about .history .arrow::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.sect_about .about .history .history_more {
  display: block;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  background: transparent;
  padding: 0;
  border: 0;
  margin: 10px auto 0;
  color: #333;
}

@media (max-width: 767px) {
  .sect_about .about .history .history_wrap .history_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 15px 40px;
  }
  .sect_about .about .history .history_wrap .history_item .event {
    width: 100%;
  }
}

/* ---------------------------------------------------------
    料金表
--------------------------------------------------------- */
.sect_price {
  padding-top: 190px;
  background: #fff;
}

.sect_price .price .sect_title {
  font-family: "Anton", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}

.sect_price .price .sect_title .ja {
  font-family: "line-eb";
  font-size: 24px;
}

.sect_price .price .price_list {
  max-width: 550px;
  padding: 20px;
  margin: 50px auto 0;
}

.sect_price .price .price_list .price_item {
  padding: 15px 5px;
  border-bottom: 1px solid #707070;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 100px;
}

.sect_price .price .price_list .price_item:first-child {
  border-top: 1px solid #707070;
}

/* ---------------------------------------------------------
    レンタルスタジオ料金
--------------------------------------------------------- */
.sect_rental {
  padding: 190px 0 140px;
  background: #fff;
}

.sect_rental .rental .sect_title {
  font-family: "Anton", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}

.sect_rental .rental .sect_title .ja {
  font-family: "line-eb";
  font-size: 24px;
  text-align: center;
  line-height: 1em;
}

.sect_rental .rental .rental_list {
  max-width: 550px;
  padding: 20px;
  margin: 50px auto 0;
}

.sect_rental .rental .rental_list .rental_item {
  padding: 15px 5px;
  border-bottom: 1px solid #707070;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 100px;
}

.sect_rental .rental .rental_list .rental_item:first-child {
  border-top: 1px solid #707070;
}

.sect_rental .rental .notes {
  max-width: 550px;
  padding: 0 20px;
  margin: 18px auto 0;
  font-weight: 600;
  line-height: 1.6em;
}

/* ---------------------------------------------------------
    メッセージ
--------------------------------------------------------- */
.sect_message {
  padding: 50px 0 90px;
  background: #2c367d;
}

.sect_message .slick_massage1 {
  position: relative;
  list-style-type: none;
}

.sect_message .slick_massage1 .massage1_item {
  width: 150px;
  padding: 0 8px;
}

.sect_message .slick_massage2 {
  margin-top: 15px;
  position: relative;
  list-style-type: none;
}

.sect_message .slick_massage2 .massage2_item {
  width: 150px;
  padding: 0 8px;
}

.sect_message .sect_title {
  padding: 0 20px;
  margin-top: 40px;
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  text-align: center;
  line-height: 1.6em;
}

.sect_message .sentence {
  max-width: 470px;
  padding: 0 20px;
  margin: 15px auto 0;
  font-size: 14px;
  color: #fff;
  line-height: 1.8em;
  word-break: keep-all;
  text-align: center;
}

.sect_message .contact_btn {
  max-width: 430px;
  padding: 14px 0 12px;
  border: 1px solid #fff;
  margin: 35px auto 0;
  text-align: center;
  position: relative;
}

.sect_message .contact_btn:hover::before {
  right: 5px;
}

.sect_message .contact_btn:hover::after {
  right: 5px;
}

.sect_message .contact_btn::before {
  content: '';
  width: 12px;
  height: 1.5px;
  background: #fff;
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all .2s;
  transition: all .2s;
}

.sect_message .contact_btn::after {
  content: '';
  width: 7px;
  height: 1px;
  background: #fff;
  position: absolute;
  top: 45%;
  right: 15px;
  -webkit-transform: translateY(-50%) rotate(35deg);
          transform: translateY(-50%) rotate(35deg);
  -webkit-transition: all .2s;
  transition: all .2s;
}

.sect_message .contact_btn .link {
  position: absolute;
  inset: 0;
  z-index: 2;
}

.sect_message .contact_btn span {
  font-size: 18px;
  font-weight: 600;
  color: #fff;
}
/*# sourceMappingURL=top.css.map */