@charset "utf-8";
/* ↓↓↓ follow_btn ↓↓↓ */
.follow_btn {
  position: fixed;
  border: 2px solid #fff;
  border-right: unset;
  background-color: #001A72;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(0.6782945736434108vw,7px);
  padding: min(2.3255813953488373vw,24px) min(1.744186046511628vw,18px);
  top: 136px;
  right: 0;
  z-index: 9;
}
@media screen and (max-width: 768px) {
  .follow_btn {
    flex-direction: row;
    gap: 24px;
    border-bottom: unset;
    padding: 18px 30px 18px 16px;
    top: unset;
    bottom: 0;
  }
}
.follow_btn .follow_icon {
  position: relative;
  width: min(2.810077519379845cqw,29px);
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 768px) {
  .follow_btn .follow_icon {
    width: 28px;
  }
}
.follow_btn .follow_icon :is(.icon_on,.icon_off) {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transition: opacity ease .3s;
}
.follow_btn .follow_icon .icon_on {
  opacity: 0;
}
@media screen and (min-width: 769px) {
  .follow_btn:hover .follow_icon .icon_off {
    opacity: 0;
  }
  .follow_btn:hover .follow_icon .icon_on {
    opacity: 1;
  }
}
.follow_btn .follow_txt {
  font-size:  clamp(1.6rem,1.937984496124031cqw,2rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  writing-mode: vertical-lr;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .follow_btn .follow_txt {
    font-size: 1.6rem;
    writing-mode: unset;
  }
}
/* ↑↑↑ follow_btn ↑↑↑ */
/* ↓↓↓ page_head ↓↓↓ */
.page_head {
  padding: 0 30px;
  margin: min(13.515625vw,173px) auto 0;
}
@media screen and (max-width: 768px) {
  .page_head {
    padding: 0 25px;
    margin: 144px auto 0;
  }
}
.page_head .page_head_inner {
  max-width: 1032px;
  container-type: inline-size;
  margin: 0 auto;
}
.page_head .ttl {
  line-height: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}
.page_head .ttl .en {
  font-size: 9.689922480620156cqw;
  font-family: var(--quantico);
  font-weight: 700;
  font-style: italic;
  line-height: 1.33;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .page_head .ttl .en {
    font-size: 5.6rem;
  }
}
.page_head .ttl .ja {
  font-size: clamp(1.6rem,1.937984496124031cqw,2rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .page_head .ttl .ja {
    font-size: 1.8rem;
  }
}
.page_head .head_lead {
  font-size: 3.10077519379845cqw;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
  color: #fff;
  text-align: center;
  margin-top: 7.751937984496124cqw;
}
@media screen and (max-width: 768px) {
  .page_head .head_lead {
    font-size: 2.4rem;
    margin-top: 55px;
  }
}
.page_head .head_lead .head_num {
  font-size: 6.2015503875969cqw;
  font-family: var(--quantico);
  font-weight: 700;
  font-style: italic;
  letter-spacing: 0;
  line-height: 1;
  color: #78DEF0;
  padding: 0 0.7751937984496124cqw;
}
@media screen and (max-width: 768px) {
  .page_head .head_lead .head_num {
    font-size: 4.8rem;
    padding: 0 8px;
  }
}
.page_head .head_list {
  display: flex;
  gap: 1.1627906976744187cqw;
  margin: 6.976744186046512cqw auto 0;
}
@media screen and (max-width: 768px) {
  .page_head .head_list {
    flex-wrap: wrap;
    gap: 42px 13px;
    margin: 61px auto 0;
  }
}
.page_head .head_list .head_item {
  position: relative;
  flex: 1;
  min-height: 11.627906976744185cqw;
  border: 1px solid #fff;
  background: linear-gradient(135deg, transparent 20%, rgba(109, 208, 219, .36) 75%, #84FFDE 100%);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.9689922480620154cqw 0;
}
@media screen and (max-width: 768px) {
  .page_head .head_list .head_item {
    flex: unset;
    width: calc((100% - 13px)/2);
    min-height: 120px;
    padding: 10px 5px;
  }
}
.page_head .head_list .head_item:nth-of-type(even) {
  translate: 0 2.9069767441860463cqw;
}
@media screen and (max-width: 768px) {
  .page_head .head_list .head_item:nth-of-type(even) {
    translate: 0 24px;
  }
}
.page_head .head_list .head_item .cat_txt {
  position: absolute;
  font-size: clamp(1.2rem,1.550387596899225cqw,1.6rem);
  font-family: var(--quantico);
  font-weight: 700;
  font-style: italic;
  line-height: 1;
  letter-spacing: 0;
  color: #fff;
  translate: 0 -100%;
  top: 0.3875968992248062cqw;
  left: 0;
}
@media screen and (max-width: 768px) {
  .page_head .head_list .head_item .cat_txt {
    font-size: 1.4rem;
    top: 4px;
  }
}
.page_head .head_list .head_item .cat_txt .cat_num {
  font-size: 3.10077519379845cqw;
}
@media screen and (max-width: 768px) {
  .page_head .head_list .head_item .cat_txt .cat_num {
    font-size: 2.4rem;
  }
}
.page_head .head_list .head_item .item_txt {
  font-size: clamp(1.6rem,1.937984496124031cqw,2rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .page_head .head_list .head_item .item_txt {
    font-size: 1.8rem;
  }
}
.page_head .lead {
  font-size: clamp(1.2rem,1.550387596899225cqw,1.6rem);
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.75;
  color: #fff;
  text-align: center;
  margin: 7.55813953488372cqw auto 0;
}
@media screen and (max-width: 768px) {
  .page_head .lead {
    font-size: 1.6rem;
    margin: 64px auto 0;
  }
}
/* ↑↑↑ page_head ↑↑↑ */
/* ↓↓↓ pickup_block ↓↓↓ */
.pickup_block {
  overflow-x: clip;
  padding: 0 30px;
  margin: min(9.375vw,120px) auto 0;
}
@media screen and (max-width: 768px) {
  .pickup_block {
    padding: 0 25px;
    margin: 74px auto 0;
  }
}
.pickup_block .pickup_inner {
  max-width: 1032px;
  container-type: inline-size;
  margin: 0 auto;
}
.pickup_block .ttl_group {
  position: relative;
  display: flex;
  justify-content: center;
}
.pickup_block .ttl_group .pickup_ttl {
  position: relative;
  font-size: 3.875968992248062cqw;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #fff;
  display: inline-block;
  padding: 0 2.3255813953488373cqw;
}
@media screen and (max-width: 768px) {
  .pickup_block .ttl_group .pickup_ttl {
    font-size: 2.4rem;
    padding: 0 16px;
  }
}
.pickup_block .ttl_group .pickup_ttl::before,
.pickup_block .ttl_group .pickup_ttl::after {
  content: '';
  position: absolute;
  width: 6.5891472868217065cqw;
  height: 0.3875968992248062cqw;
  background-color: #fff;
  bottom: 0;
}
@media screen and (max-width: 768px) {
  .pickup_block .ttl_group .pickup_ttl::before,
  .pickup_block .ttl_group .pickup_ttl::after {
    width: 45px;
    height: 4px;
  }
}
.pickup_block .ttl_group .pickup_ttl::before {
  translate: -100% 0;
  transform-origin: right;
  rotate: 60deg;
  left: 0;
}
.pickup_block .ttl_group .pickup_ttl::after {
  translate: 100% 0;
  transform-origin: left;
  rotate: -60deg;
  right: 0;
}
.pickup_block .ttl_group .bg_txt {
  position: absolute;
  width: 100vw;
  pointer-events: none;
  translate: 0 -50%;
  top: 0;
  left: calc(-(50vw - 50%));
}
.pickup_block .ttl_group .bg_txt .bg_item {
  width: max-content;
  font-size: 14.534883720930234cqw;
  font-family: var(--quantico);
  font-weight: 700;
  font-style: italic;
  letter-spacing: 0.04em;
  line-height: 1;
  color: rgba(255,255,255,.2);
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .pickup_block .ttl_group .bg_txt .bg_item {
    font-size: 4.4rem;
  }
}
.pickup_block .course_slider {
  width: calc(100% + ((100vw - min(100cqw,1032px))/2));
  margin: 4.069767441860465cqw auto 0;
}
@media screen and (max-width: 768px) {
  .pickup_block .course_slider {
    width: calc(100% + 25px);
    margin: 27px auto 0;
  }
}
.pickup_block .course_slider .course_item {
  width: 31.782945736434108cqw;
  display: flex;
}
@media screen and (max-width: 768px) {
  .pickup_block .course_slider .course_item {
    width: 325px;
  }
}
.pickup_block .course_slider .course_item .course_inner {
  width: 100%;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 2.3255813953488373cqw;
}
@media screen and (max-width: 768px) {
  .pickup_block .course_slider .course_item .course_inner {
    padding: 24px;
  }
}
.pickup_block .course_slider .course_item .course_num {
  font-size: clamp(1.6rem,1.937984496124031cqw,2rem);
  font-family: var(--quantico);
  font-weight: 700;
  font-style: italic;
  line-height: 1;
  color: #fff;
  background-color: #001A72;
  display: inline-block;
  padding: 0.7751937984496124cqw 1.1627906976744187cqw 0.7751937984496124cqw;
}
@media screen and (max-width: 768px) {
  .pickup_block .course_slider .course_item .course_num {
    font-size: 2rem;
    padding: 5px 12px;
  }
}
.pickup_block .course_slider .course_item .course_head {
  height: 11.155378486055776cqw;
  font-size: clamp(1.4rem,1.744186046511628cqw,1.8rem);
  font-weight: 700;
  line-height: 1.5555555555555556;
  letter-spacing: 0.08em;
  word-break: break-all;
  text-align: justify;
  color: #001A72;
  margin-top: 0.3875968992248062cqw;
}
@media screen and (max-width: 768px) {
  .pickup_block .course_slider .course_item .course_head {
    height: 112px;
    font-size: 1.8rem;
    margin-top: 4px;
  }
}
.pickup_block .course_slider .course_item .tag_list {
  width: 100%;
  height: 18.410852713178294cqw;
  display: flex;
  flex-wrap: wrap;
  gap: 0.7751937984496124cqw;
  align-content: flex-start;
  margin-top: 1.550387596899225cqw;
}
@media screen and (max-width: 768px) {
  .pickup_block .course_slider .course_item .tag_list {
    height: 200px;
    gap: 8px;
    margin: 16px auto 0;
  }
}
.pickup_block .course_slider .course_item .tag_list .tag {
  height: fit-content;
  font-size: clamp(1.2rem,1.744186046511628cqw,1.6rem);
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #001A72;
  border: 1px solid #001A72;
  padding: 0.1937984496124031cqw 0.5813953488372093cqw;
}
@media screen and (max-width: 768px) {
  .pickup_block .course_slider .course_item .tag_list .tag {
    font-size: 1.6rem;
    padding: 3px 7px;
  }
}
.pickup_block .course_slider .course_item .course_txt {
  flex: 1;
  font-size: clamp(1rem,1.3565891472868217cqw,1.4rem);
  font-weight: 400;
  line-height: 1.714286;
  letter-spacing: 0.08em;
  text-align: justify;
  margin-top: 1.550387596899225cqw;
}
@media screen and (max-width: 768px) {
  .pickup_block .course_slider .course_item .course_txt {
    font-size: 1.4rem;
    margin-top: 16px;
  }
}
.pickup_block .course_slider .course_item .course_btn {
  width: 27.131782945736433cqw;
  height: 6.2015503875969cqw;
  font-size: clamp(2rem,2.3255813953488373cqw,2.4rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 3.10077519379845cqw;
}
@media screen and (max-width: 768px) {
  .pickup_block .course_slider .course_item .course_btn {
    width: 100%;
    height: 62px;
    font-size: 2.4rem;
    margin-top: 24px;
  }
}
.pickup_block .controller {
  width: fit-content;
  translate: calc(-1*(((100vw - min(100cqw, 1032px))/2)/2)) 0;
  margin: 3.875968992248062cqw auto 0;
}
@media screen and (max-width: 768px) {
  .pickup_block .controller {
    translate: calc(-25px/2) 0;
    margin: 32px auto 0;
  }
}
.pickup_block .splide__arrows {
  display: flex;
  gap: 3.10077519379845cqw;
}
@media screen and (max-width: 768px) {
  .pickup_block .splide__arrows {
    gap: 22px;
  }
}
.pickup_block .splide__arrow {
  position: relative;
  width: 5.426356589147287cqw;
  height: auto;
  aspect-ratio: 1/1;
  background-color: #fff;
  border: unset;
  cursor: pointer;
  transform-origin: center;
  transition: background-color ease .3s;
}
@media screen and (min-width: 769px) {
  .pickup_block .splide__arrow:hover {
    background-color: rgba(255,255,255,.6);
  }
}
@media screen and (max-width: 768px) {
  .pickup_block .splide__arrow {
    width: 56px;
  }
}
.pickup_block .splide__arrow--prev {
  rotate: 90deg;
}
.pickup_block .splide__arrow--next {
  rotate: -90deg;
}
.pickup_block .splide__arrow::before {
  content: '';
  position: absolute;
  width: 1.8410852713178296cqw;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url(../img/theme/course_arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  translate: -50% -50%;
  transform-origin: center;
  top: 46%;
  left: 50%;
}
@media screen and (max-width: 768px) {
  .pickup_block .splide__arrow::before {
    width: 19px;
  }
}
.pickup_block .course_pagination {
  gap: 1.1627906976744187cqw;
}
.splide:not(.is-overflow) .splide__pagination {
  display: flex;
}
@media screen and (max-width: 768px) {
  .pickup_block .course_pagination {
    gap: 8px;
  }
}
.pickup_block .course_pagination .course_dot {
  width: 1.1627906976744187cqw;
  height: auto;
  aspect-ratio: 1/1;
  border: 2px solid #fff;
  border-radius: 50%;
  background-color: #001A72;
  cursor: pointer;
}
.pickup_block .course_pagination .course_dot.is-active {
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .pickup_block .course_pagination .course_dot {
    width: 8px;
  }
}
/* ↑↑↑ pickup_block ↑↑↑ */
/* ↓↓↓ search_block ↓↓↓ */
.search_block {
  padding: 0 30px;
  margin: min(11.5625vw,148px) auto 0;
}
@media screen and (max-width: 768px) {
  .search_block {
    padding: 0 25px;
    margin: 104px auto 0;
  }
}
.search_block .search_inner {
  max-width: 1032px;
  container-type: inline-size;
  margin: 0 auto;
}
.search_block .key_block {
  position: relative;
  background-color: #fff;
  padding: 4.651162790697675cqw 6.2015503875969cqw;
}
@media screen and (max-width: 768px) {
  .search_block .key_block {
    padding: 43px 24px 86px;
  }
}
.search_block .key_block .key_ttl {
  position: absolute;
  width: max-content;
  background-color: #fff;
  font-size: clamp(1.6rem,1.937984496124031cqw,2rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #001A72;
  display: flex;
  justify-content: center;
  gap: 1.550387596899225cqw;
  clip-path: polygon(3.10077519379845cqw 0%, calc(100% - 3.10077519379845cqw) 0%, 100% 100%, 0% 100%);
  padding: 1.550387596899225cqw 8.13953488372093cqw 0;
  translate: -50% -100%;
  top: 0;
  left: 50%;
}
@media screen and (max-width: 768px) {
  .search_block .key_block .key_ttl {
    font-size: 1.8rem;
    gap: 8px;
    clip-path: polygon(24px 0%, calc(100% - 24px) 0%, 100% 100%, 0% 100%);
    top: 1px;
    padding: 12px 40px 3px;
  }
}
.search_block .key_block .key_ttl .icon {
  width: 3.10077519379845cqw;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .search_block .key_block .key_ttl .icon {
    width: 24px;
  }
}
.search_block .key_wrap {
  display: flex;
  flex-direction: column;
  gap: 1.937984496124031cqw;
}
@media screen and (max-width: 768px) {
  .search_block .key_wrap {
    gap: 24px;
  }
}
.search_block .key_wrap .key_box {
  position: relative;
  display: flex;
  gap: 16px 1.937984496124031cqw;
}
@media screen and (max-width: 768px) {
  .search_block .key_wrap .key_box {
    flex-direction: column;
  }
}
.search_block .key_wrap .key_box::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 1px;
  background-image: url(../img/top/modal_line.svg);
  background-repeat: repeat-x;
  background-position: center;
  background-size: contain;
  bottom: 0;
  left: 0;
}
.search_block .key_box .key_head {
  position: relative;
  width: 13.953488372093023cqw;
  font-size: clamp(1.6rem,1.937984496124031cqw,2rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #001A72;
  border-bottom: 2px solid #001A72;
  flex-shrink: 0;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .search_block .key_box .key_head {
    min-width: 132px;
    width: max-content;
    font-size: 1.8rem;
  }
}
.search_block .key_box .key_conts {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1.550387596899225cqw;
  padding: 0 2.9069767441860463cqw 1.937984496124031cqw 0;
}
@media screen and (max-width: 768px) {
  .search_block .key_box .key_conts {
    gap: 16px;
    padding: 0 0 24px 0;
  }
}
.search_block .key_box .key_list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7751937984496124cqw;
}
@media screen and (max-width: 768px) {
  .search_block .key_box .key_list {
    gap: 8px;
  }
}
.search_block .key_box .key_list .key_place {
  position: relative;
  width: 100%;
  font-size: clamp(1.2rem,1.744186046511628cqw,1.6rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #001A72;
  padding-left: 1.937984496124031cqw;
}
@media screen and (max-width: 768px) {
  .search_block .key_box .key_list .key_place {
    font-size: 1.6rem;
    padding-left: 20px;
  }
}
.search_block .key_box .key_list .key_place::before {
  content: '';
  position: absolute;
  width: 0.7751937984496124cqw;
  height: 100%;
  background-color: #78DEF0;
  translate: 0 -50%;
  top: 50%;
  left: 0;
}
@media screen and (max-width: 768px) {
  .search_block .key_box .key_list .key_place::before {
    width: 8px;
  }
}
.search_block .key_box .key_list .key {
  width: max-content;
  font-size: clamp(1.2rem,1.744186046511628cqw,1.6rem);
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #001A72;
  border: 1px solid #001A72;
  display: inline-block;
  cursor: pointer;
  transition: color ease .3s, background-color ease .3s;
  padding: 0.1937984496124031cqw 0.5813953488372093cqw;
}
.search_block .key_box .key_list .key.-active {
  background-color: #001A72;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .search_block .key_box .key_list .key:hover {
    background-color: #001A72;
    color: #fff;
  }
}
@media screen and (max-width: 768px) {
  .search_block .key_box .key_list .key {
    font-size: 1.6rem;
    padding: 3px 7px;
  }
}
.search_block .key_box .key_list .key_flex {
  display: flex;
}
.search_block .key_box .key_list .key_flex .flex_head {
  flex-shrink: 0;
}
.search_block .display_item {
  font-size: 6.2015503875969cqw;
  font-family: var(--quantico);
  font-style: italic;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
  text-align: center;
  color: #001A72;
  margin: 2.906976744186046cqw auto 0;
}
@media screen and (max-width: 768px) {
  .search_block .display_item {
    font-size: 4.8rem;
    margin: 30px auto 0;
  }
}
.search_block .reset-btn {
  position: absolute;
  width: 19.379844961240313cqw;
  height: 5.426356589147287cqw;
  font-size: clamp(1.2rem,1.744186046511628cqw,1.6rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #001A72;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #78DEF0;
  cursor: pointer;
  transition: background-color ease .3s;
  bottom: 0;
  right: 0;
}
@media screen and (min-width: 769px) {
  .search_block .reset-btn:hover {
    background-color: rgba(120, 222, 240, .6);
  }
}
@media screen and (max-width: 768px) {
  .search_block .reset-btn {
    width: 157px;
    height: 56px;
    font-size: 1.6rem;
    padding-right: 15px;
  }
}
.search_block .reset-btn .icon {
  position: absolute;
  width: 2.3255813953488373cqw;
  height: auto;
  aspect-ratio: 24/28;
  translate: 0 -50%;
  top: 50%;
  right: 1.744186046511628cqw;
}
@media screen and (max-width: 768px) {
  .search_block .reset-btn .icon {
    width: 24px;
    right: 16px;
  }
}
.search_block .item_block {
  margin: 7.751937984496124cqw auto 0;
}
@media screen and (max-width: 768px) {
  .search_block .item_block {
    margin: 48px auto 0;
  }
}
.search_block .item_block .item_list {
  max-width: 82.94573643410853cqw;
  display: flex;
  flex-direction: column;
  gap: 3.875968992248062cqw;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .search_block .item_block .item_list {
    max-width: unset;
    gap: 40px;
  }
}
.search_block .item_block .item_list .item {
  width: 100%;
  background-color: #fff;
}
.search_block .item_block .item .head_group {
  display: flex;
  flex-wrap: wrap;
  gap: 0 2.3255813953488373cqw;
  padding: 3.875968992248062cqw 6.2015503875969cqw 0;
}
@media screen and (max-width: 768px) {
  .search_block .item_block .item .head_group {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 24px 24px 0;
  }
}
.search_block .item_block .item .head_group .head_num {
  font-size: clamp(2rem,2.3255813953488373cqw,2.4rem);
  font-family: var(--quantico);
  font-weight: 700;
  font-style: italic;
  line-height: 1;
  letter-spacing: 0;
  color: #fff;
  background-color: #001A72;
  align-self: baseline;
  padding: 1.937984496124031cqw 2.0348837209302326cqw;
}
@media screen and (max-width: 768px) {
  .search_block .item_block .item .head_group .head_num {
    font-size: 2rem;
    padding: 6px 12px;
  }
}
.search_block .item_block .item .head_group .head_txt {
  font-size: clamp(1.6rem,1.937984496124031cqw,2rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.6;
  color: #001A72;
  align-self: center;
  flex: 1;
}
@media screen and (max-width: 768px) {
  .search_block .item_block .item .head_group .head_txt {
    font-size: 1.8rem;
  }
}
.search_block .item_block .item .item_inner {
  display: none;
  padding: 0 6.2015503875969cqw;
  margin-top: 3.10077519379845cqw;
}
@media screen and (max-width: 768px) {
  .search_block .item_block .item .item_inner {
    padding: 0 24px;
    margin-top: 24px;
  }
}
.search_block .item_block .item .tag_group {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 0.7751937984496124cqw;
  margin-top: 2.3255813953488373cqw;
}
@media screen and (max-width: 768px) {
  .search_block .item_block .item .tag_group {
    gap: 8px;
    margin-top: 8px;
  }
}
.search_block .item_block .item .tag_group .tag {
  width: max-content;
  font-size: clamp(1.2rem,1.744186046511628cqw,1.6rem);
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #001A72;
  border: 1px solid #001A72;
  display: inline-block;
  transition: color ease .3s, background-color ease .3s;
  padding: 0.1937984496124031cqw 0.5813953488372093cqw;
}
@media screen and (max-width: 768px) {
  .search_block .item_block .item .tag_group .tag {
    font-size: 1.6rem;
    padding: 3px 7px;
  }
}
.search_block .item_block .item .item_txt {
  font-size: clamp(1.2rem,1.744186046511628cqw,1.6rem);
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.75;
  text-align: justify;
}
@media screen and (max-width: 768px) {
  .search_block .item_block .item .item_txt {
    font-size: 1.6rem;
  }
}
.search_block .item_block .item_requirements {
  display: flex;
  flex-direction: column;
  gap: 2.3255813953488373cqw;
  margin-top: 4.554263565891473cqw;
}
@media screen and (max-width: 768px) {
  .search_block .item_block .item_requirements {
    gap: 24px;
    margin-top: 32px
  }
}
.search_block .item_requirements .req_unit {
  position: relative;
  display: flex;
  gap: 16px 2.3255813953488373cqw;
}
@media screen and (max-width: 768px) {
  .search_block .item_requirements .req_unit {
    flex-direction: column;
  }
}
.search_block .item_requirements .req_unit::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 1px;
  background-image: url(../img/top/modal_line.svg);
  background-repeat: repeat-x;
  background-position: center;
  background-size: contain;
  bottom: 0;
  left: 0;
}
.search_block .item_requirements .req_unit .req_head {
  position: relative;
  width: 17.05426356589147cqw;
  font-size: clamp(1.2rem,1.744186046511628cqw,1.6rem);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.08em;
  text-align: center;
  color: #001A72;
  border-bottom: 2px solid #001A72;
  padding-bottom: 3.10077519379845cqw;
  flex-shrink: 0;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .search_block .item_requirements .req_unit .req_head {
    min-width: 144px;
    width: max-content;
    font-size: 1.6rem;
    text-align: start;
    padding-bottom: 8px;
  }
}
.search_block .item_requirements .req_unit .req_conts {
  align-self: center;
  flex: 1;
  font-size: clamp(1.2rem,1.744186046511628cqw,1.6rem);
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.75;
  padding-bottom: 3.10077519379845cqw;
}
@media screen and (max-width: 768px) {
  .search_block .item_requirements .req_unit .req_conts {
    font-size: 1.6rem;
    align-self: flex-start;
    padding-bottom: 24px;
  }
}
.search_block .item_requirements .req_unit .req_date {
  display: flex;
}
.search_block .item_requirements .req_unit .req_date .date_head {
  flex-shrink: 0;
}
.search_block .item .item_indent {
  display: block;
  text-indent: -1em;
  padding-left: 1em;
}
.search_block .item .item_btn {
  width: 27.131782945736433cqw;
  height: 6.2015503875969cqw;
  font-size: clamp(2rem,2.3255813953488373cqw,2.4rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 3.875968992248062cqw auto 0;
}
@media screen and (max-width: 768px) {
  .search_block .item .item_btn {
    width: min(73.86666666666667cqw,300px);
    height: 64px;
    font-size: 2.4rem;
    margin: 32px auto 0;
  }
}
.search_block .item .item_toggle {
  width: 100%;
  height: 4.651162790697675cqw;
  background-color: #78DEF0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.550387596899225cqw;
  cursor: pointer;
  margin-top: 3.875968992248062cqw;
}
@media screen and (max-width: 768px) {
  .search_block .item .item_toggle {
    height: 48px;
    gap: 8px;
    margin-top: 32px;
  }
}
.search_block .item .item_toggle .toggle_txt {
  height: clamp(1.2rem,1.744186046511628cqw,1.6rem);
  font-size: clamp(1.2rem,1.744186046511628cqw,1.6rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  text-align: center;
  color: #001A72;
  display: flex;
  flex-direction: column;
  gap: 5px;
  overflow: clip;
}
@media screen and (max-width: 768px) {
  .search_block .item .item_toggle .toggle_txt {
    height: 1.6rem;
    font-size: 1.6rem;
  }
}
.search_block .item .item_toggle .toggle_txt :is(.open,.close) {
  transition: translate ease .3s;
}
.search_block .item.-active .item_toggle .toggle_txt :is(.open,.close) {
  width: max-content;
  translate: 0 calc(-1em - 5px);
}
.search_block .item .item_toggle .close_icon {
  position: relative;
  width: 2.7131782945736433cqw;
  height: auto;
  aspect-ratio: 1/1;
  background-color: #fff;
  transition: background-color ease .3s;
  border-radius: 50%;
}
@media screen and (min-width: 769px) {
  .search_block .item .item_toggle:hover .close_icon {
    background-color: #001A72;
  }
}
@media screen and (max-width: 768px) {
  .search_block .item .item_toggle .close_icon {
    width: 24px;
  }
}
.search_block .item .item_toggle .close_icon::before {
  content: '';
  position: absolute;
  width: 1.2596899224806202cqw;
  height: auto;
  aspect-ratio: 1/1;
  mask-image: url(../img/theme/acco_icon.svg);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  background-color: #001A72;
  transition: rotate ease .3s, top ease .3s, background-color ease .3s;
  transform-origin: center;
  translate: -50% -50%;
  top: 44%;
  left: 50%;
}
@media screen and (min-width: 769px) {
  .search_block .item .item_toggle:hover .close_icon::before {
    background-color: #fff;
  }
}
.search_block .item.-active .item_toggle .close_icon::before {
  rotate: Z 180deg;
  top: 56%;
}
@media screen and (max-width: 768px) {
  .search_block .item .item_toggle .close_icon::before {
    width: 13px;
  }
}
.search_block .item-nohit {
  font-size: clamp(1.2rem,1.744186046511628cqw,1.6rem);
  font-weight: 500;
  letter-spacing: 0.08em;
  letter-spacing: 0.1em;
  color: #fff;
  text-align: center;
  display: none;
}
@media screen and (max-width: 768px) {
  .search_block .item-nohit {
    font-size: 1.6rem;
  }
}
.search_block .-show {
  display: block;
}
.search_block .-none {
  display: none;
}
/* ↑↑↑ search_block ↑↑↑ */
footer {
  margin-top: min(9.375vw,120px);
}
@media screen and (max-width: 768px) {
  footer {
    margin-top: 64px;
  }
}