/*===== CSS RESET =====*/
main div, main span, main object, main iframe, main h1, main h2, main h3, main h4, main h5, main h6, main p, main blockquote, main pre, main a, main abbr, main acronym, main address, main cite, main code, main del, main dfn, main img, main ins, main kbd, main q, main s, main samp, main strike, main tt, main var, main dl, main dt, main dd, main ol, main ul, main li, main fieldset, main form, main label, main legend, main table, main caption, main tbody, main tfoot, main thead, main tr, main th, main td, main article, main aside, main canvas, main details, main embed, main figure, main figcaption, main footer, main header, main hgroup, main menu, main nav, main output, main ruby, main section, main summary, main time, main mark, main audio, main video, main input, main textarea, main select {
  outline: none;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
}

main p, main li, main td {
  background: url("");
}

main ul, main ol {
  list-style: none;
}

main *:before,
main *:after {
  margin: 0;
  padding: 0;
}

main *,
main *:before,
main *:after {
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

main img {
  vertical-align: middle;
  width: 100%;
}

main a {
  text-decoration: none;
}

/*--------------------------------------------------
  common
--------------------------------------------------*/
body {
  min-width: 1040px;
}

main img {
  width: 100%;
}

main {
  font-family: "Noto Sans JP", sans-serif;
}

#main {
  position: relative;
  width: 100%;
  padding: 0;
}

#topicpathArea {
  width: auto !important;
  max-width: 1012px;
  font-size: 93.75%;
  margin: 0 auto;
}

.u-sp {
  display: none;
}

.u-pc {
  display: block;
}

@media screen and (max-width: 767px) {
  .u-sp {
    display: inline-block;
  }

  .u-pc {
    display: none;
  }
}

/*--------------------------------------------------
  animation common
--------------------------------------------------*/
main .anm._fUp {
  opacity: 0;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
}

main .anm._fUp.is-inview {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

/*--------------------------------------------------
  common-title
--------------------------------------------------*/
.common-title {
  font-size: 106px;
  line-height: 1;
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
  color: #003fe2;
  font-weight: 100;
  margin-left: -4px;
}

@media screen and (max-width: 767px) {
  .common-title {
    font-size: 45px;
  }
}
/*--------------------------------------------------
  inner
--------------------------------------------------*/
.inner {
  width: 88%;
  margin: auto;
  max-width: 1300px;
}

/*--------------------------------------------------
  font-size
--------------------------------------------------*/

.font-size-28 {
  font-size: 28px;
}

.font-size-30 {
  font-size: 30px;
}

.font-size-36 {
  font-size: 36px;
}

.font-size-45 {
  font-size: 45px;
}

/*--------------------------------------------------
  height
--------------------------------------------------*/

.height-132 {
  height: 132px;
}
.height-212 {
  height: 212px;
}
.height-273 {
  height: 273px;
}
.height-0 {
  height: 0;
}

/*--------------------------------------------------
  mv
--------------------------------------------------*/
.mv__wrap {
  position: relative;
  height: 620px;
  background: url(../../images/mv-img.png) center center no-repeat;
	background-size: cover;
  padding-top: 150px;
}

.mv__logo {
  position: absolute;
  width: 133px;
  z-index: 1;
  margin: 22px;
  top: 0;
}

.mv__img {

}

.mv__block {
  /* position: absolute;
  top: 49%;
  left: 50%;
  transform: translate(-50%, -50%); */
  max-width: 1232px;
  width: 100%;
  margin: auto;
  /* margin-top: -470px; */
}

.mv__title {
  width: 74.5%;
  margin: auto;
  margin-top: 4px;
}

.mv__text1 {
  color: #fff;
  font-size: 36px;
  letter-spacing: 0.07em;
  font-feature-settings: "palt";
  text-align: center;
  font-style: italic;
  font-weight: bold;
}

.mv__text2 {
  font-size: 20px;
  text-align: center;
  letter-spacing: 0.11em;
  color: #fff;
  font-style: italic;
  font-weight: 100;
  margin-top: 10px;
}

.mv__date-box {
  position: relative;
}

.mv__overlay-img {
  height: 56px;
  width: 100%;
  background: url(../../images/mv-bg.png) center center no-repeat;
	background-size: cover;
  position: absolute;
  mix-blend-mode: color-dodge;
}

.mv__overlay {
  mix-blend-mode: color-dodge;
  height: 56px;
  width: 100%;
  margin-top: 53px;
}

.mv__date {
  max-width: 1232px;
  width: 100%;
  height: 56px;
  margin-top: 0;
  font-size: 44px;
  text-align: center;
  color: #fff;
  line-height: 1;
  padding-top: 2px;
  padding-left: 5px;
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
  position: absolute;
  top: 0;
}

.mv__fize-m {
  font-size: 36px;
}

.mv__fize-s {
  font-size: 23px;
  font-weight: 100;
  margin-left: 8px;
  transform: translateY(-2px);
}

.mv__fize-ten {
  position: relative;
  margin-left: 7px;
}

.mv__fize-ten::before {
  content: "・";
  transform: translate(-6px, 3px);
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .mv__wrap {
    position: relative;
    height: 530px;
    background: url(../../images/mv-img-sp.png) center center no-repeat;
    background-size: cover;
    padding-top: 172px;
  }

  .mv__logo {
    width: 90px;
    margin: 19px;
  }

  .mv__block {
    top: 49.6%;
  }

  .mv__text1 {
    font-size: 19px;
  }

  .mv__title {
    width: 89.5%;
    margin: 4px auto auto;
  }

  .mv__text2 {
    font-size: 13px;
    margin-top: 4px;
    letter-spacing: 0.1em;
  }

  .mv__overlay-img {
    height: 32px;
    background: url(../../images/mv-bg-sp.png) center center no-repeat;
	  background-size: cover;
  }

  .mv__overlay {
    height: 32px;
    margin-top: 47px;
  }

  .mv__date {
    height: 32px;
    font-size: 23px;
    padding-left: 0;
  }

  .mv__fize-m {
    font-size: 19px;
  }

  .mv__fize-s {
    font-size: 12px;
    margin-left: 4px;
  }

  .mv__fize-ten {
    margin-left: 4px;
  }

  .mv__fize-ten::before {
    transform: translate(-2px, 1px);
  }
}

/*--------------------------------------------------
  overview
--------------------------------------------------*/
.overview {
  overflow: hidden;
}

.overview__bg {
  position: relative;
}

.overview__bg::before {
  content: "";
  position: absolute;
  background: url(../../images/overview_bg.png) center center no-repeat;
	background-size: cover;
  top: 0;
  right: 0;
  width: 63%;
  height: 120%;
}

.overview__wrap {
  padding: 80px 0;
}

.overview__ja-title {
  font-size: 40px;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.07em;
  font-feature-settings: "palt";
  margin-top: 58px;
}

.overview__text {
  font-size: 17px;
  line-height: 2.2;
  font-weight: 400;
  width: 65%;
  margin-left: 27.7%;
  margin-top: 15px;
}

@media screen and (max-width: 767px) {
  .overview__ja-title {
    font-size: 19px;
    margin-top: 31px;
  }

  .overview__wrap {
    padding: 42px 0px 9px;
  }

  .overview__text {
    font-size: 14px;
    margin-left: 0;
    width: 102%;
    line-height: 1.8;
    margin-top: 27px;
    margin-left: -3px;
  }

  .overview__bg::before {
    background: url(../../images/overview_bg-sp.png) center center no-repeat;
	  background-size: cover;
    width: 100%;
    height: 80%;
  }
}


/*--------------------------------------------------
  schedule
--------------------------------------------------*/

.schedule {
  overflow: hidden;
}

.schedule__bg {
  position: relative;
}

.schedule__bg::before {
  content: "";
  position: absolute;
  background: url(../../images/schedule_bg.png) center center no-repeat;
	background-size: cover;
  bottom: -41px;
  left: 0;
  width: 26%;
  height: 21.1%;
  z-index: 0;
}

.schedule__wrap {
  padding: 38px 0px 122px;
}

.schedule__tab {
  margin-top: 74px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .schedule__bg::before {
    background: url(../../images/schedule_bg-sp.png) center center no-repeat;
    background-size: contain;
    width: 49%;
    height: 498px;
    left: 0;
    bottom: -97px;
  }

  .schedule__tab {
    margin-top: 40px;
    width: 102%;
    margin-left: -3px;
  }
}

/*--------------------------------------------------
  tab
--------------------------------------------------*/
.tab {
  font-family: "Noto Sans JP", sans-serif ;
}

.tab__links {
  display: flex;
}

.tab__links a {
  display: inline-block;
  padding: 5px 3%;
  margin-right: .7%;
  text-decoration: none;
  font-size: 40px;
  letter-spacing: 0.04em;
  font-weight: 400;
  background: #003fe2;
  color: #fff;
  line-height: 1.05;
  width: 17.7%;
  transition: .4s ease;
}

.tab__links a:last-child {
  margin-right: 0;
}

.tab__links a span {
  font-size: 22px;
  letter-spacing: 0.07em;
  font-weight: 400;
  margin-left: 10px;
}

.tab__links a.active {
  background: #CCEAFF;
  color: #003fe2;
  width: 63.3%;
  border: 2px solid #003fe2;
  border-bottom: none;
  padding: 5px 3%;
}

.tab__links a.active span {
  color: #003fe2;
}

.tab__area {
  display: none;
}

.tab__area.active {
  display: block;
}

.tab__content {
  border: 2px solid #003fe2;
  margin-top: -2px;
}

.tab__block {
  background: #f2f2f8;
  padding: 66px 84px 102px;
}

.tab__block--pa {
  padding: 66px 85px 98px;
}

.tab__block--pa2 {
  padding: 105px 85px 117px;
}

.tab__day-box {
  display: flex;
  color: #003fe2;
  align-items: center;
  margin-left: 19px;
  white-space: nowrap;
}

.tab__day-en {
  font-size: 28px;
  position: relative;
  letter-spacing: 0.06em;
}

.tab__day-en::before,
.tab__day-en::after {
  content: "";
  position: absolute;
  background: url(../../images/kakko.svg) center center no-repeat;
	background-size: cover;
  width: 16px;
  height: 43px;
}

.tab__day-en::before {
  left: -20px;
}

.tab__day-en::after {
  right: -16px;
  transform: rotate(180deg);
}

.tab__day-box2 {
  display: flex;
}

.tab__day {
  font-size: 30px;
  letter-spacing: 0.04em;
  font-weight: 400;
  margin-left: 33px;
}

.tab__day span {
  font-size: 45px;
  font-weight: 700;
}

.tab__time {
  font-size: 36px;
  font-weight: 700;
  letter-spacing: 0.045em;
  margin-left: 15px;
  transform: translateY(9px);
}

.tab__lead {
  font-size: 24px;
  line-height: 1.8;
  letter-spacing: 0.07em;
  font-weight: 700;
  margin-top: 30px;
  font-feature-settings: "palt";
  margin-bottom: 92px;
  margin-left: 3px;
}

a.tab__btn {
  max-width: 1060px;
  width: 100%;
  text-align: center;
  display: inline-block;
  color: #fff;
  background: #003fe2;
  text-decoration: none;
  font-size: 26px;
  letter-spacing: 0.07em;
  font-weight: 700;
  font-feature-settings: "palt";
  padding: 22px 0;
  border-radius: 42px;
  border: 2px solid #003fe2;
  transition: .4s ease;
}
a.tab__zoom-link {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.07em;
  font-feature-settings: "palt";
  color: #fff;
  text-decoration: none;
  background: #0095ff;
  max-width: 324px;
  width: 100%;
  display: inline-block;
  padding: 13px 0 14px;
  border-radius: 42px;
  transition: .4s ease;
}

a.tab__btn:hover {
  background: #fff;
  color: #003fe2;
}
a.tab__zoom-link:hover {
  opacity: .7;
}

a.tab__btn--disable {
  background: #cfcfd4;
  color: #efeff3;
  border: none;
  pointer-events: none;
}

.tab__zoom-link-box {
  text-align: center;
  margin-top: 23px;
  /* transform: translateY(-31px); */
}

.tab__title {
  border-top: 2px solid #003fe2;
  border-bottom: 2px solid #003fe2;
  font-size: 20px;
  letter-spacing: 0.07em;
  font-feature-settings: "palt";
  font-weight: 700;;
  color: #003fe2;
  width: 100%;
  display: block;
  padding-left: 8.6%;
  padding: 4px 0 5px 8.6%;
  line-height: 1;
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
}

.tab__title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  background: #003fe2;
  border-radius: 50%;
  left: 7%;
}

.tab__list {
  display: flex;
  max-width: 1060px;
  gap: 3%;
  margin-top: 15px;
}

.tab__item {
  width: 16.6%;
}

.tab__job {
  text-align: center;
  font-size: 14px;
  letter-spacing: 0.13em;
  font-feature-settings: "palt";
  font-weight: 400;
  margin-top: 10px;
}

.tab__group {
  text-align: center;
  font-size: 14px;
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
  font-weight: 400;
}

.tab__name {
  text-align: center;
  font-size: 14px;
  letter-spacing: 0.09em;
  font-feature-settings: "palt";
  font-weight: 400;
  margin-top: 5px;
}

.tab__name span {
  font-size: 16px;
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
  font-weight: 700;
}

.tab__time-tables {
  max-width: 980px;
  margin: 0 auto 98px;
}

.tab__time-table {
  display: flex;
  gap: 3.8%;
}

.tab__time2 {
  font-size: 23px;
  letter-spacing: 0.01em;
  font-weight: 700;
  font-feature-settings: "palt";
  color: #003fe2;
  white-space: nowrap;
  margin-top: -13px;
}

.tab__time-box {
  background: #fff;
  border-top: 2px solid #003fe2;
  width: 100%;
  text-align: center;
  display: grid;
  align-content: center;
}

.tab__time-box--p1 {
  padding: 31px 0 33px 14px;
}
.tab__time-box--p2 {
  padding: 71px 0px 74px 11px;
}
.tab__time-box--p3 {
  padding: 63px 0px 69px 6px;
}
.tab__time-box--height0 {
  height: 0;
}
.tab__time-box--blue {
  background: #cceaff;
}


.tab__time-title {
  font-size: 23px;
  letter-spacing: 0.07em;
  font-feature-settings: "palt";
  font-weight: 700;
  color: #003fe2;
}

.tab__time-description {
  font-size: 15px;
  letter-spacing: 0.07em;
  font-feature-settings: "palt";
  font-weight: 400;
  margin-top: 9px;
}

@media screen and (max-width: 1150px) {
  .tab__links a{
    padding: 5px 1.8%;
  }
}

@media screen and (max-width: 767px) {
  .tab__block {
    padding: 27px 16px 51px;
  }

  .tab__block--pa {
    padding: 26px 16px 50px;
  }

  .tab__block--pa2 {
    padding: 26px 16px 48px;
  }

  .tab__links a{
    font-size: 21px;
    width: 32%;
    padding: 15px 5% 17px;
    margin-right: 2%;
  }

  .tab__links a span {
    font-size: 13px;
    margin-left: 5px;
  }

  .tab__links a.active {
    width: 32%;
    padding: 13px 4% 17px;
    margin-right: 2%;
  }

  .tab__day-box {
    display: flex;
    margin-left: 12px;
    white-space: initial;
  }

  .tab__day-en {
    font-size: 16px;
    display: inline-block;
    width: 47px;
    flex-shrink: 0;
    margin-top: 9px;
  }

  .tab__day {
    font-size: 17px;
    display: inline-block;
    margin-left: 17px;
    line-height: 1;
    /* transform: translateY(4px); */
  }

  .tab__day span {
    font-size: 26px;
  }

  .tab__time {
    font-size: 21px;
    display: inline-block;
    margin-left: 18px;
    transform: initial;
  }

  .tab__lead {
    font-size: 17px;
    margin-top: 24px;
    line-height: 1.6;
    margin-bottom: 46px;
    padding-right: 0;
    text-align: justify;
  }

  .tab__day-en::before,
  .tab__day-en::after {
    width: 9px;
    height: 24px;
  }

  .tab__day-en::before {
    left: -12px;
  }

  .tab__day-en::after {
    right: -7px;
  }

  .tab__day-box2 {
    display: inline-block;
    margin-top: 11px;
  }

  a.tab__btn {
    font-size: 16px;
    padding: 17px 0px;
  }

  .tab__title {
    font-size: 17px;
    padding: 4px 0px 5px 10.6%;
  }

  .tab__title::before {
    left: 5%;
  }

  .tab__list {
    flex-wrap: wrap;
    gap: 2%;
    row-gap: 28.5px;
    margin-left: 4px;
    margin-top: 14px;
  }

  .tab__item {
    width: 48%;
  }

  .tab__img {
    margin: auto;
    width: 70.5%;
  }

  .tab__job {
    font-size: 12px;
    margin-top: 8px;
    letter-spacing: 0.07em;
  }

  .tab__group {
    font-size: 12px;
    letter-spacing: 0.07em;
    margin-top: -1px;
  }

  .tab__name {
    font-size: 12px;
    margin-top: 2px;
    letter-spacing: 0.04em;
  }

  .tab__name span {
    font-size: 13px;
  }

  .tab__time-tables {
    margin: 2px auto 50px;
  }

  .tab__time-table {
    display: block;
  }

  .tab__time-table + .tab__time-table {
    margin-top: 9px;
  }

  .tab__time2 {
    font-size: 15px;
    letter-spacing: 0.01em;
    margin-top: 0;
  }

  .tab__time-box {
    margin-top: 4px;
  }

  .tab__time-box--p1 {
    padding: 15px 9px 19px;
  }
  .tab__time-box--p2 {
    padding: 16px 0px 20px;
  }
  .tab__time-box--p3 {
    padding: 16px 0px 21px;
  }

  .tab__time-title {
    font-size: 15px;
  }

  .tab__time-description {
    font-size: 11px;
    text-align: center;
    margin-top: 3px;
    line-height: 1.4;
  }

  .tab__time-description span {
    display: inline-block;
  }

  .tab__zoom-link-box {
    margin-top: 19px;
  }

  a.tab__zoom-link {
    font-size: 14px;
    padding: 19px 0px 19px;
    width: 86%;
  }
}

@media screen and (max-width: 533px) {
  .tab__day-en {
    font-size: 16px;
    display: inline-block;
    width: 47px;
    flex-shrink: 0;
    margin-top: -22px;
  }
}

@media screen and (max-width: 767px) {
  body {
    min-width: 0;
  }

  #topicpathArea {
    display: none;
  }

  main {
    background-size: 200%, 100%;
    background-position: bottom 16px center, center;
  }

}
/*# sourceMappingURL=style.css.map */