.topics {
  background: #f4f9f7;
}
.topics main {
  max-width: 1024px;
  margin: 140px auto 80px auto;
  padding: 45px;
  background: #fff;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
}
@media screen and (max-width: 767px) {
  .topics main {
    max-width: 96%;
    margin: 80px auto 40px;
    padding: 5%;
  }
}
.topics .topics_title {
  border-bottom: 1px solid #ccc;
  padding-bottom: 1em;
}
.topics h1 {
  font-size: 1.5rem;
  margin-bottom: 0.2em;
}
.topics time {
  color: #7f9f6d;
}
.topics .topics_title01 {
  background: #079636;
  color: #fff;
  font-weight: bold;
  font-size: 1.5rem;
  padding: 0.2em 0.8em;
  margin-top: 1.5em;
}
@media screen and (max-width: 767px) {
  .topics .topics_title01 {
    font-size: 1.25rem;
    line-height: 1.4;
  }
}
.topics .topics_title02 {
  color: #079636;
  font-weight: bold;
  border-bottom: 1px solid #079636;
  font-size: 1.25rem;
  position: relative;
  padding: 0.2em 1.1em;
  margin-top: 1em;
}
.topics .topics_title02:before {
  content: "";
  width: 5px;
  height: 1.5em;
  background: #079636;
  position: absolute;
  left: 0;
  bottom: 3px;
}
.topics .topics_title03 {
  color: #079636;
  font-weight: bold;
  font-size: 1.25rem;
  padding: 0.2em 0;
  margin-top: 1em;
}
.topics .topics_col2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.topics .btn_article_back {
  position: relative;
  color: #fff;
  font-weight: bold;
  font-size: 1.125rem;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 280px;
  margin: 2em auto;
  padding: 0.5em 1em;
  border-radius: 5px;
  background: #079636;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.topics .btn_article_back:before {
  content: "";
  width: 0.5em;
  height: 0.5em;
  rotate: -45deg;
  border-left: 2px solid #fff;
  border-top: 2px solid #fff;
  display: inline-block;
  margin-right: 0.5em;
}
.topics .scroll_area {
  overflow: auto;
}
.topics .scroll_area .nowrap {
  white-space: nowrap;
}
.topics .scoreup_pic_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .topics .scoreup_pic_list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.topics .scoreup_mid_list {
  display: grid;
  grid-template-columns: repeat(2, 196px);
  justify-content: center;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .topics .scoreup_mid_list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.topics .scoreup_list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .topics .scoreup_list {
    grid-template-columns: repeat(3, 1fr);
    justify-content: center;
  }
}

.topics {
  letter-spacing: 0.05em;
}
.topics .fc_primary {
  color: #0066ba;
}
.topics .bold {
  font-weight: bold;
}
.topics .underline {
  background: linear-gradient(transparent 60%, #ff6 60%);
}
.topics .kv {
  display: block;
  margin-top: 1em;
}
.topics .leadText_cont {
  margin-top: 1.5rem;
  background: #1a98ff;
  background: url(assets/images/summer_lead_bg.png) no-repeat top center/contain, linear-gradient(180deg, #1a98ff, #3aa1ff, #50abff, #63b4ff, #75bdff, #86c6ff, #96ceff, #a7d7ff);
  padding: 2.875rem 1rem 1rem;
}
@media screen and (min-width: 768px) {
  .topics .leadText_cont {
    background: url(assets/images/summer_lead_bg.png) no-repeat top left/40%, url(assets/images/summer_lead_bg.png) no-repeat top right/40%, linear-gradient(180deg, #1a98ff, #3aa1ff, #50abff, #63b4ff, #75bdff, #86c6ff, #96ceff, #a7d7ff);
    padding: 2.25rem 1rem 1rem;
  }
}
.topics .leadText_cont .leadText_ttl img {
  max-width: 278px;
  width: 100%;
  height: auto;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .topics .leadText_cont .leadText_ttl img {
    max-width: 398px;
  }
}
.topics .leadText_cont .leadText_box {
  background: #fff;
  padding: 1.25rem;
  margin-top: 0.75rem;
  font-size: 0.9375rem;
  border-radius: 5px;
}
@media screen and (min-width: 768px) {
  .topics .leadText_cont .leadText_box {
    font-size: 1.0625rem;
  }
}
.topics .leadText_cont .leadText_box p:not(:first-child) {
  margin-top: 1.5em;
}
.topics .leadText_cont .leadText_listWrap {
  margin-top: 1.5em;
}
.topics .leadText_cont .leatText_list {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  font-size: 1rem;
  line-height: 2;
  border: 1px dashed #0066ba;
  border-radius: 5px;
  padding: 0.5em;
}
@media screen and (min-width: 768px) {
  .topics .leadText_cont .leatText_list {
    font-size: 1.125rem;
    max-width: -moz-max-content;
    max-width: max-content;
    padding: 0.5em 0.8em 0.5em 0.5em;
  }
}
.topics .leadText_cont .leatText_list li {
  display: flex;
  gap: 0.1em;
}
.topics .leadText_cont .leatText_list li:before {
  content: "";
  width: 1.625em;
  height: 1.75em;
  background: url(assets/images/summer_lead_ico01.svg) no-repeat center center/contain;
  display: inline-block;
}
.topics .page_nav {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  font-weight: bold;
  padding: 1.25rem 0;
}
@media screen and (min-width: 768px) {
  .topics .page_nav {
    grid-template-columns: repeat(3, 1fr);
  }
}
.topics .page_nav a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 3px solid #0066ba;
  color: #0066ba;
  border-radius: 5px;
  font-size: 1.25rem;
  padding: 0.5em;
}
.topics .page_nav a:hover {
  opacity: 1;
  color: #fff;
  background: #0066ba;
}
.topics .page_nav a:hover .arrow:before {
  background: #fff;
}
.topics .page_nav a:hover .arrow:after {
  border-color: #0066ba;
}
.topics .page_nav .arrow {
  position: relative;
  width: 1em;
  height: 1em;
  display: block;
  justify-content: center;
  align-items: center;
}
.topics .page_nav .arrow:before {
  content: "";
  width: 100%;
  height: 100%;
  background: #0066ba;
  position: relative;
  display: block;
  border-radius: 50px;
}
.topics .page_nav .arrow:after {
  content: "";
  width: 30%;
  height: 30%;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  rotate: 45deg;
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
}
.topics .season_section_box {
  background: #f4fff7;
  border-radius: 10px;
  padding: 1em;
  position: relative;
}
.topics .title_label_elementary,
.topics .title_label_junior {
  border-radius: 50px;
  margin-right: auto;
  width: 60%;
  padding: 0.5em 1em;
}
@media screen and (min-width: 768px) {
  .topics .title_label_elementary,
  .topics .title_label_junior {
    min-width: 280px;
    width: -moz-max-content;
    width: max-content;
    margin-right: auto;
    margin-left: auto;
  }
}
.topics .title_label_elementary {
  background: #13c142;
}
.topics .title_label_junior {
  background: #079636;
}
.topics .season_section_text {
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .topics .season_section_text {
    font-size: 1rem;
  }
}
.topics .season_section_text .text {
  margin-top: 1em;
}
.topics .season_section_text .deco {
  background: #dcf5e3;
  padding: 0.2em;
}
.topics .img01 {
  position: absolute;
  right: 2%;
  bottom: calc(100% - 13vw);
  max-width: 35vw;
}
@media screen and (min-width: 768px) {
  .topics .img01 {
    left: 2%;
    right: unset;
    bottom: calc(100% - 80px);
    max-width: clamp(120px, 25vw, 252px);
  }
}
.topics .img02 {
  position: absolute;
  right: 2%;
  max-width: 35vw;
  bottom: calc(100% - 19vw);
}
@media screen and (min-width: 768px) {
  .topics .img02 {
    right: 5%;
    bottom: calc(100% - 95px);
    max-width: clamp(120px, 25vw, 252px);
  }
}
.topics .note {
  position: relative;
  background: linear-gradient(-155deg, rgba(0, 0, 0, 0) 1.5em, #f6f6f6 0%);
  border-radius: 6px;
  text-align: left;
  padding: 1em;
}
@media screen and (min-width: 768px) {
  .topics .note {
    padding: 2em 3em 2em 2em;
  }
}
.topics .note:after {
  position: absolute;
  top: 0;
  right: 0;
  content: "";
  width: 1.65507em;
  height: 3.5493em;
  background: linear-gradient(to left bottom, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.2));
  border-bottom-left-radius: 6px;
  box-shadow: -0.2em 0.2em 0.3em -0.1em rgba(0, 0, 0, 0.15);
  transform: translateY(-1.89424em) rotate(-40deg);
  transform-origin: bottom right;
}
.topics .text01,
.topics .text02,
.topics .text03 {
  font-weight: bold;
  padding: 0.1em;
}
.topics .text01 {
  color: #28babf;
  background: rgba(40, 186, 191, 0.1);
}
.topics .text02 {
  color: #ff6767;
  background: rgba(255, 103, 103, 0.1);
}
.topics .text03 {
  color: #2879bf;
  background: rgba(40, 121, 191, 0.1);
}
.topics table {
  font-size: 1rem;
  border-collapse: collapse;
  width: 100%;
}
.topics table th,
.topics table td {
  border: 1px solid #d3d3d3;
  padding: 0.5em;
}
@media screen and (min-width: 768px) {
  .topics table th,
  .topics table td {
    padding: 0.5em 1em;
  }
}
.topics table th {
  background-color: #f5f5f5;
}
.topics .price_area {
  max-width: 640px;
  margin-right: auto;
  margin-left: auto;
}
.topics .price_table {
  background: #fff;
}
.topics .price_table .num {
  font-size: 140%;
}
.topics .price_table td {
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .topics .price_table td {
    font-size: 0.875rem;
  }
}
.topics .price_table td.al-right {
  text-align: right;
}
.topics .schedule_table th {
  min-width: 7em;
}
.topics .time_table {
  width: 100%;
  table-layout: fixed;
}
.topics .time_table th,
.topics .time_table td {
  padding: 4px;
}
.topics .time_table col.time_col {
  width: 5.5rem;
}
@media screen and (min-width: 768px) {
  .topics .time_table col.time_col {
    width: 7em;
  }
}
.topics .time_table col.range_a,
.topics .time_table col.range_b {
  width: calc(calc(100% - 5.5em) * 0.15);
}
.topics .time_table col.range_mid {
  width: 11em;
}
.topics .time_table tr:first-child {
  background: #f5f5f5;
  font-size: 0.875rem;
}
.topics .time_table tr:first-child th,
.topics .time_table tr:first-child td {
  font-size: 0.625rem;
  background-color: #f5f5f5;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .topics .time_table tr:first-child th,
  .topics .time_table tr:first-child td {
    font-size: 0.875rem;
  }
}
.topics .time_table th {
  font-size: 0.6875rem;
}
@media screen and (min-width: 768px) {
  .topics .time_table th {
    font-size: 0.875rem;
  }
}
.topics .time_table tr:hover {
  background: rgba(0, 102, 186, 0.1);
}
.topics .fc_junior {
  color: #079636;
}
.topics .fc_elementary {
  color: #13c142;
}
.topics .elementary .label {
  border-color: #13c142;
}
.topics .course_price_lgArea_txt {
  display: flex;
  align-items: first baseline;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5px;
}
@media screen and (min-width: 768px) {
  .topics .course_price_lgArea_txt {
    font-size: 1.5rem;
  }
}
.topics .course_price_lgArea_txt .label {
  border: 1px solid;
  padding: 0.1em 0.5em;
  align-self: center;
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 767px) {
  .topics .course_price_lgArea_txt .label {
    width: -moz-max-content;
    width: max-content;
  }
}
.topics .course_price_lgArea_txt .price {
  font-size: 225%;
  line-height: 1;
}
.topics .course_price_lgArea_txt .mid {
  font-size: 133.333%;
}
.topics .bubble {
  padding: 0.5em 1.5em;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.3em;
  border: 1px solid;
  border-radius: 50px;
  background: #fff;
  width: 100%;
  margin: 54px auto 0;
  translate: 0 -30px;
  position: relative;
  font-size: 4.5vw;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .topics .bubble {
    font-size: 1.375rem;
    width: -moz-max-content;
    width: max-content;
  }
}
.topics .bubble:before, .topics .bubble:after {
  content: "";
  width: 16px;
  height: 16px;
  display: block;
  rotate: 45deg;
  position: absolute;
  right: 50%;
  bottom: -7.5px;
}
.topics .bubble:before {
  background: #fff;
  z-index: 2;
}
.topics .bubble:after {
  z-index: 1;
  bottom: -9px;
}
.topics .elem {
  color: #13c142;
  border-color: #13c142;
}
.topics .elem:after {
  background: #13c142;
}
.topics .juniorhigh {
  color: #079636;
  border-color: #079636;
}
.topics .juniorhigh:after {
  background: #079636;
}
.topics .btn_apply {
  background: linear-gradient(180deg, #ff9e57, #ff954c, #fe8c41, #fe8336, #fd792a, #fd6f1f, #fd6311, #fc5700);
}