html,
body {
  font-size: 10px;
}

body {
  font-family: "M PLUS Rounded 1c", serif;
  font-style: normal;
  font-weight: 400;
}

figure,
ol,
p,
section,
ul {
  margin: 0;
  padding: 0;
}

b,
strong {
  font-weight: bold;
}

.btn-common {
  background-color: #009380;
  border-radius: 3rem;
  color: #fff;
  display: block;
  font-size: 2.5rem;
  font-weight: 700;
  padding: .6rem 0;
  position: relative;
  text-align: center;
  width: 40rem;
}

.btn-common::before,
.btn-common::after {
  content: "";
  height: 2.3rem;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 2.3rem;
}

.btn-common::before {
  background-color: #fff;
  border-radius: 50%;
}

.btn-common::after {
  background-color: #009380;
  clip-path: polygon(33% 26%, 73% 50%, 33% 73%);
}

.wrapper {
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, .5);
  margin: 0 auto;
  max-width: 1920px;
  min-width: 1280px;
  width: 100%;
}

.bg_ctr.bg_stripe {
  background-image: repeating-linear-gradient(90deg, #f8f5d5, #f8f5d5 5px, #ffffff 5px, #ffffff 10px);
  padding: 1px 0;
}


#mv {
  width: 100%;
  height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
}

#mv img {
  position: absolute;
  left: -50%;
  right: -50%;
  margin: auto;
}

/*
.container img {
  display: inline-block;
  margin: 0 auto;
  width: 100%;
}
*/

/* イベント情報タブ */
.scheduleInfo_wrapper {
  margin: 4.7rem auto 0;
  text-align: center;
  width: 1100px;
}

#scheduleInfo {
  align-items: flex-end;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1100px;
  position: relative;
  width: 100%;
}

.scheduleInfo_item {
  align-items: center;
  background: #dddddd;
  border-radius: 1rem 1rem 0 0;
  color: #848484;
  display: flex;
  font-family: "Noto Sans JP", serif;
  font-size: 2rem;
  font-weight: 500;
  justify-content: center;
  letter-spacing: -.1rem;
  line-height: 1;
  min-height: 76px;
  padding: 0 0 1.2rem;
  text-align: center;
  user-select: none;
  /* タブ５個設定 */
  /*width: 19.8%;*/
  /* タブ６個設定 */
  width: 16.4%;
}

.scheduleInfo_item:not(.active) {
  min-height: 66px;
}

#tab1,
#tab2,
#tab3,
#tab4,
#tab5,
#tab6 {
  margin-top: var(--globalHdr-height-negative);
  padding-top: var(--globalHdr-height);
  visibility: hidden;
}

/*
.scheduleInfo_item.active .event_chr {
  bottom: 0;
  transition: .5s;
}

.event_chr {
  position: absolute;
  bottom: -35%;
  z-index: 0;
  transition: .5s;
}
*/

.scheduleInfo_item.active {
  color: #fff;
  /*margin-top: -1rem;*/
}

.scheduleInfo_item.active::after {
  bottom: 0;
  content: '';
  height: 1.2rem;
  left: 0;
  position: absolute;
  width: 110rem;
  z-index: 5;
}

.scheduleInfo_item.speaking.active,
.scheduleInfo_item.speaking.active::after,
.speaking_area .scheduleContentsList_number {
  background-color: #f18e08;
}

.scheduleInfo_item.eikenn.active,
.scheduleInfo_item.eikenn.active::after,
.eikenn_area .scheduleContentsList_number {
  background-color: #08b200;
}

.scheduleInfo_item.support.active,
.scheduleInfo_item.support.active::after,
.support_area .scheduleContentsList_number {
  background-color: #f9619e;
}

.scheduleInfo_item.native.active,
.scheduleInfo_item.native.active::after,
.native_area .scheduleContentsList_number {
  background-color: #00a0e9;
}

.scheduleInfo_item.speech.active,
.scheduleInfo_item.speech.active::after,
.speech_area .scheduleContentsList_number {
  background-color: #8f4cb1;
}

.scheduleInfo_item.special.active,
.scheduleInfo_item.special.active::after,
.special_area .scheduleContentsList_number {
  background-color: #217bc7;
  /*background-color: #f396ac;*/
}

/*
.scheduleInfo_item.test.active,
.scheduleInfo_item.test.active::after {
  background-color: #b14c4c;
}
 */

.scheduleContentsList {
  background-color: #fff;
  margin: auto;
  padding: 0 5rem 10rem;
  width: 1100px;
}

.scheduleContentsList_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 2.2rem auto 3.5rem;
  width: 97%;
}

.scheduleContentsList_flex .video {
  margin-top: 1.5rem;
}

.scheduleContentsList_box {
  margin: 0 2.4rem 0 2.6rem;
  text-align: left;
  width: 47rem;
}

.scheduleContentsList_title {
  font-size: 4rem;
  font-weight: bold;
  letter-spacing: -.1rem;
  padding-bottom: .5rem;
}

.speaking_area .scheduleContentsList_title {
  color: #f18e08;
}

.eikenn_area .scheduleContentsList_title {
  color: #08b200;
}

.support_area .scheduleContentsList_title {
  color: #f9619e;
}

.native_area .scheduleContentsList_title {
  color: #00a0e9;
}

.speech_area .scheduleContentsList_title {
  color: #8f4cb1;
}

.scheduleInfoList {
  display: flex;
  flex-flow: column;
}

.scheduleContentsList_subtitle {
  font-size: 2.5rem;
  line-height: 1.1;
}

.scheduleContentsList_number {
  align-items: center;
  display: flex;
  border-radius: .6rem;
  color: #fff;
  font-size: 2.5rem;
  letter-spacing: .4rem;
  height: 4rem;
  justify-content: center;
  margin: 2.3rem 0 2rem;
  width: 20rem;
}

.scheduleContentsList_text {
  font-family: "Noto Sans JP", serif;
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: -.1rem;
}

.support_area {
  background: url("../img/support_model_img.png") no-repeat right;
}

/*
.native_area {
  background: url("../img/native_model_img.png") no-repeat right / 42.4rem;
}
*/

.native_area .scheduleContentsList_title {
  line-height: 1.2;
  padding-bottom: 1rem;
}

.speech_area {
  background-color: #fff;
  margin-bottom: 0;
  padding: 0;
  width: 100%;
}

.scheduleContents_block_inner.custom_space {
  padding: 0;
}

.contest_box {
  margin: 5rem auto 0;
  background: #fff9dd;
  padding: 3.7rem 3.2rem;
  width: 100%;
}

.speech_area .scheduleContentsList_box {
  width: 48rem;
}

.speech_area .scheduleContentsList_subtitle {
  letter-spacing: -.1rem;
}

.event_bt {
  font-family: "Noto Sans JP", serif;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: -.1rem;
  line-height: 1;
  text-align: center;
  width: 100%;
}

.event_bt img {
  height: 100%;
}

#scheduleContents {
  background: #fff;
  margin: auto;
  padding: 0 5rem 10rem;
  width: 1100px;
}

/*
#scheduleContents .container {
  position: relative;
  width: fit-content;
}*/

#scheduleContents .grass {
  position: absolute;
  top: -5px;
  left: 0;
  width: 100%;
}

.scheduleContents_block {
  display: none;
  text-align: center;
}

.scheduleContents_block.active {
  display: block;
  animation: appear .5s ease;
}

.scheduleContents_block_inner {
  background: #fff9dd;
  margin-bottom: 9rem;
  padding: 3.7rem 3.2rem;
  width: 100%;
}

@keyframes appear {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/*
.scheduleContents_block h2 {
  margin: 0 auto 22px;
  padding: 0 10px;
  text-align: center;
}

.scheduleContents_block h2 img {
  height: 190px;
}
*/

/* 英検インタビュー */
.eiken-interview {
  background: #ffe8f0;
  border-radius: 10px;
  margin: 2.5em 0;
  padding: 0 0 2em;
}

.eiken-interview-box {
  background: #fff;
  border-radius: 10px;
  display: flex;
  justify-content: space-between;
  margin: .5em auto;
  padding: .5em;
  width: 98%;
}

.eiken-grade-left,
.eiken-grade-right {
  width: 50%;
}

.grade {
  align-items: center;
  background-image: url(../img/grade_item_img.png);
  background-position: right 90%;
  background-repeat: no-repeat;
  background-size: 105px;
  border: 2px solid #ffaac7;
  display: flex;
  margin: 0 .3em;
  padding: .3em;
  width: 430px;
}

.interview-img {
  height: fit-content;
}

.grade-content {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  padding-left: 1em;
}

.grade-content-title {
  color: #f005b0;
  display: block;
  font-size: 2em;
  margin: 0;
  padding: 0;
}

.grade-content-text {
  display: block;
  font-size: .9em;
  font-weight: normal;
  text-align: center;
}

.QandA-list {
  margin: 1em 0;
  padding: 0 .5em;
  text-align: left;
  width: 99%;
}

.QandA-Q {
  align-items: center;
  color: #4885da;
  display: flex;
  font-size: .8em;
  font-weight: 600;
  line-height: 1.3;
  margin: .8em 0 0;
  position: relative;
  text-decoration: underline;
}

.QandA-Q::before {
  align-items: center;
  background-color: #3a6ac1;
  border-radius: 50%;
  color: #fff;
  content: 'Q';
  display: inline-flex;
  font-size: 1.3em;
  font-weight: 600;
  justify-content: center;
  margin-right: .8em;
  padding: .2em .5em;
  text-decoration: none;
}

.QandA-A {
  background: #dae3f3;
  border-radius: 12px;
  font-size: .8em;
  margin: .5em .2em .5em 2em;
  padding: .8em 1em;
  position: relative;

}

.QandA-A::before {
  border-bottom: 13px solid transparent;
  border-right: 35px solid #dae3f3;
  border-top: 15px solid transparent;
  content: '';
  display: block;
  height: 0;
  left: -1.5em;
  position: absolute;
  top: .2em;
  transform: rotate(25deg);
  width: 0;
}

.scheduleContents_block h3 {
  color: #5d290d;
  font-size: 38px;
  font-weight: 500;
  letter-spacing: 0;
  margin: 18px auto 7px;
  padding: 0 10px;
  text-align: center;
}

.schedule_table1 {
  margin: 0 auto 20px;
  width: 100%;
  border-collapse: collapse;
  border: 3px solid #B87814;
  font-size: 18px;
}

.schedule_table1 .th_bg_color {
  background: #fac063;
}

.schedule_table1 tr td:first-of-type {
  font-size: 20px;
}

.schedule_table1 td {
  padding: 5px 10px;
  border: 3px solid #B87814;
}

.schedule_table1 td p {
  font-weight: bold;
  margin: 0;
}

.schedule_table1 th {
  border: 3px solid #B87814;
  font-size: 20px;
  font-weight: 500;
}

.about {
  position: relative;
}

.about p {
  font-weight: bold;
  margin-bottom: 0.5em;
}


.about .text {
  letter-spacing: 0;
  font-size: 15px;
}

.about .text:not(:last-of-type) {
  margin: 0 auto 20px;
}

.about .lists li {
  list-style: none;
}

.about .lists li:not(:last-of-type) {
  margin: 0 0 2px;
}

/*
.about_inner b {
  font-weight: 500;
}*/

.about_inner.custom_box {
  display: inline-block;
  margin: auto;
  text-align: left;
}

.about_inner dl {
  display: flex;
  margin: 5px 0;
}

.about_inner dt {
  font-weight: bold;
  white-space: nowrap;
}

.about_inner dd {
  font-weight: normal;
  white-space: nowrap;
}

/* 
.schedule_table2 {
  display: grid;
  grid-template-columns: 1fr auto 3fr 1.5fr;
  grid-template-rows: 26px repeat(1, 1fr);
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  margin: 0 auto 5px;
  width: 100%;
  border-collapse: collapse;
  letter-spacing: 0;
}

.schedule_table2 div {
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  border-collapse: collapse;
  border: 3px solid #B87814;
  font-size: 14px;
  font-weight: normal;
  margin: 0px 0px -1px -1px;
  padding: 3px;
  text-align: center;
}

.schedule_table2_txt1 {
  font-size: 12px;
  letter-spacing: 0;
}

.schedule_table2 div small {
  font-size: 60%;
}

.schedule_table2 .head {
  padding: 0;
  font-size: 14px;
  font-weight: bold;
  background: rgb(250, 192, 99);
}

.schedule_table2 .div1 {
  grid-area: 1 / 1 / 2 / 2;
}

.schedule_table2 .div2 {
  grid-area: 1 / 2 / 2 / 3;
}

.schedule_table2 .div3 {
  grid-area: 1 / 3 / 2 / 4;
}

.schedule_table2 .div4 {
  grid-area: 1 / 4 / 2 / 5;
}

.schedule_table2 .div5 {
  grid-area: 2 / 1 / 4 / 2;
  grid-area: 2 / 1 / 4 / 2;
  font-size: 16px;
  font-weight: bold;
}

.schedule_table2 .div6 {
  grid-area: 2 / 2 / 3 / 3;
}

.schedule_table2 .div7 {
  grid-area: 3 / 2 / 4 / 3;
}

.schedule_table2 .div8 {
  grid-area: 2 / 3 / 3 / 4;
  font-size: 16px;
}

.schedule_table2 .div9 {
  grid-area: 3 / 3 / 4 / 4;
  font-size: 16px;
}

.schedule_table2 .div10 {
  grid-area: 2 / 4 / 3 / 5;
  font-size: 25px;
  font-weight: bold;
}

.schedule_table2 .div11 {
  grid-area: 3 / 4 / 4 / 5;
  font-size: 25px;
  font-weight: bold;
} */

.kyozai-table {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -1px;
  margin: 10px auto 4px;
  width: 100%;
  border-collapse: collapse;
}

.schedule_table2_txt1 {
  font-weight: bold;
}

.flying_abby_2 {
  position: absolute;
  top: -17%;
  right: -3%;
  display: block;
  margin-right: 10px;
  margin-left: auto;
  width: 20%;
}

.kyozai-table-th {
  background: #fac063;
  border: 3px solid #b87814;
  font-weight: bold;
  line-height: 1.5;
  padding: 6px;
  white-space: nowrap;
}


.kyozai-table-td {
  border: 3px solid #b87814;
  line-height: 1.5;
  padding: 5px 10px;
  font-size: 20px;
  font-weight: bold;
  text-align: left;
}

.kyozai-table-detail {
  background: url(../img/pumpkins_sp.png) no-repeat 99% 95% / 25%;
  border: .6vw solid #b87814;
  font-size: 3vw;
  line-height: 1.5;
  padding: 1vw;
}

.kyozai-table-date {
  font-size: 3.5vw;
  letter-spacing: -2px;
  line-height: 1.5;
  margin: 0;
}

.kyozai-table-date-small {
  font-size: 2vw;
  padding: 0 2px;
}

.kyozai-table-number {
  font-size: 2vw;
  line-height: 1.5;
  margin: 0;
}

.kyozai-event-note {
  font-size: 2vw;
  margin-bottom: 30px;
  padding-left: 1em;
  text-align: left;
}

.schedule_table3 {
  display: grid;
  grid-template-columns: 70px auto 1fr;
  grid-template-rows: 30px repeat(4, 1fr);
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  margin: 0 auto 20px;
  width: 100%;
  border-collapse: collapse;
  letter-spacing: 0;
}

.schedule_table3 div {
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  border-collapse: collapse;
  border: 3px solid #B87814;
  font-size: 14px;
  font-weight: normal;
  margin: 0px 0px -1px -1px;
  padding: 3px;
  text-align: center;
}

.schedule_table3 div small {
  font-size: 60%;
}

.schedule_table3 .kyozai-table-head {
  padding: 0;
  font-size: 16px;
  font-weight: bold;
  background: rgb(250, 192, 99);
}

.schedule_table3 .date {
  flex-flow: row;
  flex-wrap: wrap;
}

.schedule_table3 .date span {
  margin: 0 5px;
}

.schedule_table3 .div1 {
  grid-area: 1 / 1 / 2 / 2;
}

.schedule_table3 .div2 {
  grid-area: 1 / 2 / 2 / 3;
}

.schedule_table3 .div3 {
  grid-area: 1 / 3 / 2 / 4;
}

.schedule_table3 .div4 {
  grid-area: 2 / 1 / 4 / 2;
  justify-content: flex-start;
  font-weight: bold;
}

.schedule_table3 .div5 {
  grid-area: 4 / 1 / 6 / 2;
  justify-content: flex-start;
  font-weight: bold;
}

.schedule_table3 .div6 {
  text-align: left;
  align-items: flex-start;
  grid-area: 2 / 2 / 3 / 3;
}

.schedule_table3 .div7 {
  text-align: left;
  align-items: flex-start;
  grid-area: 3 / 2 / 4 / 3;
}

.schedule_table3 .div8 {
  text-align: left;
  align-items: flex-start;
  grid-area: 4 / 2 / 5 / 3;
}

.schedule_table3 .div9 {
  text-align: left;
  align-items: flex-start;
  grid-area: 5 / 2 / 6 / 3;
}

.schedule_table3 .div10 {
  grid-area: 2 / 3 / 3 / 4;
  justify-content: flex-start;
}

.schedule_table3 .div11 {
  grid-area: 3 / 3 / 4 / 4;
  justify-content: flex-start;
}

.schedule_table3 .div12 {
  grid-area: 4 / 3 / 5 / 4;
  justify-content: flex-start;
}

.schedule_table3 .div13 {
  grid-area: 5 / 3 / 6 / 4;
  justify-content: flex-start;
}

.available {
  position: relative;
}

.available::after {
  position: absolute;
  content: "僅か";
  color: #ff0000;
  font-size: 14px;
  left: 2px;
  transform: rotate(-11deg);
  top: 0;
  background-color: #fff000;
  padding: 0 5px;
}

.new {
  position: relative;
}

.new::after {
  position: absolute;
  content: "新規";
  color: #12438f;
  font-size: 14px;
  left: 2px;
  transform: rotate(-11deg);
  top: 0;
  background-color: #a9e4ff;
  padding: 0 5px;
}

.full-td {
  position: relative;
}

.full-td::after {
  position: absolute;
  content: "満席";
  color: #ff0000;
  font-size: 14px;
  left: 2px;
  transform: rotate(-11deg);
  top: 0;
  background-color: #fff000;
  padding: 0 5px;
}

.full {
  background-color: gray;
}

.speaking-target {
  width: 18%;
}

.speaking-group {
  width: 25%;
}

.nittei-table {
  background: #fff;
  border-collapse: collapse;
  font-weight: bold;
}

.nittei-table td {
  width: 150px;
  text-align: center;
}

.nittei-header td {
  border: solid 1px rgb(29, 29, 29);
  font-weight: 500;
  height: 20px;
}

.nittei-header td:nth-child(1) {
  width: 70px;
}

.nittei-rows td {
  border: solid 1px rgb(29, 29, 29);
  height: 60px;
}

.nittei-rows td:nth-child(1) {
  width: 70px;
}

.nittei-manseki {
  position: relative;
}

.nittei-manseki::before {
  position: absolute;
  content: "満席";
  background-color: #fcff02;
  color: red;
  border: solid 1px red;
  top: 7px;
  left: -20px;
  display: flex;
  align-items: center;
  font-size: 14px;
  padding: 0 2px;
  transform: rotate(-25deg) translate(50%, -50%);
  z-index: 50;
  animation: nittei-fade 5s infinite;
}

.nittei-semaru {
  position: relative;
}

.nittei-semaru::before {
  position: absolute;
  content: "僅か";
  background-color: #fcff02;
  color: red;
  border: solid 1px red;
  top: 7px;
  left: -20px;
  display: flex;
  align-items: center;
  font-size: 14px;
  padding: 0 2px;
  transform: rotate(-25deg) translate(50%, -50%);
  z-index: 100;
  animation: nittei-fade 5s infinite;
}

.nittei-zousetsu {
  position: relative;
}

.nittei-zousetsu::before {
  position: absolute;
  content: "新規";
  background-color: #a9e4ff;
  color: #12438f;
  border: solid 1px #12438f;
  top: 7px;
  left: -20px;
  display: flex;
  align-items: center;
  font-size: 14px;
  padding: 0 2px;
  transform: rotate(-25deg) translate(50%, -50%);
  z-index: 100;
  animation: nittei-fade 5s infinite;
}

@keyframes nittei-fade {
  0% {
    opacity: 1;
  }

  60% {
    opacity: 1;
  }

  80% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.timesche_nittei {
  overflow-y: visible;
  margin: 0 0 30px;
}

.timesche_scheduleTable_caption {
  margin: 10px auto;
  color: #fb0000;
}

.timesche_scheduleTable_caption2 {
  color: #000;
  font-weight: bold;
  margin: 10px auto 25px;
  text-align: center;
}

.speaking-table {
  color: #000;
  font-weight: bolder;
  width: 100%;
  font-size: 20px;
  text-align: center;
}

.speaking-table tr {
  height: 50px;
}

.speaking-table td {
  border: solid 3px #a84400;
}

.speaking-table th {
  border: solid 3px #a84400;
  background-color: #ed7d31;
}

.detail_block {
  text-align: left;
  font-size: 30px;
  font-weight: bold;
  background-color: #fff9dd;
}

.detail_block b {
  font-weight: 500;
}

.detail_block p {
  margin-bottom: 0.5em;
}

.black-list-text {
  padding-left: 10px;
  font-size: 20px;
}

.black-list-text dl {
  display: flex;
}

.black-list-text.type2 dl {
  display: flex;
  flex-flow: column;
}


h3.orientation-theme-text {
  text-align: left;
  font-size: 28px;
}

.black-list-text li {
  line-height: 1.4;
}

.black-list-text li:not(:last-of-type) {
  margin: 0 0 10px;
}

.speach_block1 {
  display: flex;
  flex-flow: column;
  margin: 0 0 3rem;
  padding: 0 3.2rem 3.2rem;
}

.speach_block1 .text {
  padding: 0 10px;
  letter-spacing: 0;
  font-size: 15px;
}

h3.speach_block_title {
  padding: 0;
  margin: 18px auto 13px;
}

h3.speach_head {
  margin: 0 auto 20px;
  padding: 0;
  height: 30px;
  font-size: 4.4vw;
  letter-spacing: 0px;
  text-align: center;
  white-space: nowrap;
  color: #000;
}

.bestspeachaward {
  margin: auto;
  width: 86%;
}

.video {
  text-align: center;
}

#tokutaisei {
  position: relative;
  overflow: hidden;
}

.btn_event {
  position: absolute;
  bottom: 18%;
  left: 0;
  right: 0;
  margin: auto;
  width: 48%;
  display: inline-block;
  overflow: hidden;
}

.btn_event::after {
  content: "";
  display: block;
  width: 10%;
  height: 100%;
  position: absolute;
  top: -180px;
  left: 0;
  background-color: #FFF;
  opacity: 0;
  transform: rotate(45deg);
  animation: reflect 2s ease-in-out infinite;
  -webkit-transform: rotate(45deg);
  -webkit-animation: reflect 2s ease-in-out infinite;
}

@keyframes reflect {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }

  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }

  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }

  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}



.elmo {
  position: absolute;
  width: 10%;
  bottom: -4%;
  left: 5%;
  z-index: 3;
  animation: fuwafuwa0 3s ease-in-out infinite alternate;
  transition: 1.5s ease-in-out;
}

.bigbird {
  position: absolute;
  display: inline-block;
  width: 13%;
  bottom: -3%;
  right: -10%;
  z-index: 1;
  animation: fuwafuwa3 3s ease-in-out infinite alternate;
  transition: 1.5s ease-in-out;
}

.cooky {
  position: absolute;
  width: 15%;
  bottom: -3%;
  left: -10%;
  z-index: 1;
  animation: fuwafuwa2 3s ease-in-out infinite alternate;
  transition: 1.5s ease-in-out;
}

.zoe {
  position: absolute;
  width: 14%;
  bottom: -3%;
  right: 2%;
  z-index: 3;
  animation: fuwafuwa1 3s ease-in-out infinite alternate;
  transition: 1.5s ease-in-out;
}

.bosyuchu {
  position: absolute;
  top: -1vw;
  left: 0;
  width: 26vw;
  transform: rotate(-8deg);
}

@keyframes fuwafuwa0 {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }

  50% {
    transform: translate(0, -4px) rotate(0deg);
  }

  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}

@keyframes fuwafuwa1 {
  0% {
    transform: translate(0, 0) rotate(7deg);
  }

  50% {
    transform: translate(0, 4px) rotate(0deg);
  }

  100% {
    transform: translate(0, 0) rotate(-7deg);
  }
}

@keyframes fuwafuwa2 {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }

  50% {
    transform: translate(-6px, 0) rotate(0deg);
  }

  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}

@keyframes fuwafuwa3 {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }

  50% {
    transform: translate(6px, 0) rotate(0deg);
  }

  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}

.text_nyukai {
  font-size: 22px;
  font-weight: bold;
  margin: 10px auto 0;
  text-align: center;
}

@keyframes huwahuwa {
  0% {
    top: 0;
  }

  100% {
    top: -8px;
  }
}

.kyozai-table-td p {
  margin: 0;
  font-size: 18px;
  font-weight: bold;
}

.kyozai-table-td .head {
  text-align: center;
  font-size: 38px;
}

/*.event-image {
  display: block;
  height: auto;
  margin: 0 auto 30px;
  width: 95%;
}*/

.native-date {
  font-size: 20px;
}

.contest-title-container {
  display: flex;
  justify-content: center;
  color: #8c4b1f;
  border: solid 5px #8c4b00;
  border-radius: 140px;
  padding: 8px;
  margin: 0 auto;
}

.contest-title-container p {
  font-weight: bold;
  font-size: 30px;
  margin: 0;
}

.contest-text {
  margin: 30px auto 0;
  width: fit-content;
}

.contest-text p {
  font-weight: bold;
  font-size: 20px;
  margin: 0;
  text-align: left;
}

.contest-past {
  font-weight: bold;
  margin: 20px auto;
  width: fit-content;
}

.contest-past p {
  font-weight: bold;
  font-size: 20px;
  text-align: left;
}

.contest-movie {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

.eiken-target {
  margin-top: 10px;
}

#tokutaisei {
  position: relative;
  overflow: hidden;
  height: 1105px;
  margin-top: -60px;
}

#tokutaisei>img {
  position: absolute;
  left: -50%;
  right: -50%;
  margin: auto;
}

.btn_event {
  position: absolute;
  bottom: 138px;
  left: 0;
  right: 0;
  margin: auto;
  width: 350px;
  display: inline-block;
  overflow: hidden;
}

.btn_event::after {
  content: "";
  display: block;
  width: 10%;
  height: 100%;
  position: absolute;
  top: -180px;
  left: 0;
  background-color: #FFF;
  opacity: 0;
  transform: rotate(45deg);
  animation: reflect 2s ease-in-out infinite;
  -webkit-transform: rotate(45deg);
  -webkit-animation: reflect 2s ease-in-out infinite;
}

@keyframes reflect {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }

  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }

  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }

  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

figure img {
  display: block;
  width: 100%;
}

#winterSpecialLesson {
  text-align: center;
  padding: 0 0 40px;
}

/* .eiken-content {
  width: 30vw;
} */

.native-date {
  width: 16%;
}

.native-target {
  width: 22%;
}

.native-capacity {
  width: 11%;
}

.native-time {
  width: 18%;
}

.page-top {
  position: sticky;
}