@charset "UTF-8";
/*--------------------------------
font
---------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Noto+Sans+JP:wght@100..900&display=swap&family=Sono:wght,MONO@200..800,1&display=swap");
/*--------------------------------
color
---------------------------------*/
/*--------------------------------
common 全体に共通するクラス
---------------------------------*/
body {
  font-size: 16px;
  color: #333333;
  background: #ffffff;
  line-height: 1.5;
  font-family: "Noto Sans JP", sans-serif, "ヒラギノ角ゴシック", "ヒラギノ角ゴ ProN", "ヒラギノ角ゴ Pro", "Yu Gothic", "Meiryo", sans-serif;
}

img {
  width: 100%;
}

ul{
  text-decoration: none;
}

li{
  padding:0;
}

.inner {
  max-width: 1280px;
  margin: 0 auto;
  box-sizing: border-box;
}

@media (min-width: 1280px) {
  .is-sp {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 1279px) {
  .inner {
    padding: 0 40px;
  }
  .is-pc {
    display: none;
  }
}
@media (max-width: 767px) {
  .inner {
    padding: 0 20px;
  }
  .is-pc {
    display: none;
  }
}
/*--------------------------------
main
---------------------------------*/
/*--------------------------------
section
---------------------------------*/
.section {
  padding-top: 40px;
  padding-bottom: 100px;
}

@media (min-width: 768px) and (max-width: 1279px) {
  .section {
    padding-top: 100px;
    padding-bottom: 80px;
  }
}
@media (max-width: 767px) {
  .section {
    padding-top: 80px;
    padding-bottom: 60px;
  }
}
/*--------------------------------
util
---------------------------------*/
.util_title {
  font-size: 48px;
  font-weight: 600;
  text-align: center;
  color: #333333;
  position: relative;
  margin-bottom: 100px;
}
.util_title::after {
  position: absolute;
  content: "";
  display: block;
  border-bottom: 3px solid #eb5405;
  width: 150px;
  left: 50%;
  bottom: -20px;
  transform: translateX(-50%);
}

.util_text {
  text-align: center;
}
.util_text.passed {
  max-width: 900px;
  text-align: left;
  margin: 0 auto;
  line-height: 1.8;
}

@media (min-width: 1280px) {
  .util_text {
    font-size: 24px;
  }
  .util_text.passed {
    max-width: 900px;
    text-align: left;
    margin: 0 auto;
    line-height: 1.8;
  }
}
@media (min-width: 768px) and (max-width: 1279px) {
  .util_text {
    font-size: 18px;
  }
}
@media (min-width: 768px) and (max-width: 1279px) {
  .util_title {
    font-size: 42px;
  }
}
@media (max-width: 767px) {
  .util_title {
    font-size: 22px;
    margin-bottom: 60px;
  }
  .util_title::after {
    border-bottom: 2px solid #eb5405;
    width: 100px;
  }
}
/*--------------------------------
header
---------------------------------*/
.header {
  background: #fff;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 100;
}

.header_inner {
  display: flex;
  align-items: center;
  height: 80px;
}

.header_logo {
  width: 250px;
}

.header_menu {
  margin-left: auto;
  font-size: 14px;
}

.header_nav_link {
  color: #333333;
}

@media (min-width: 1280px) {
  .header_nav {
    display: flex;
  }
  .header_nav_list:not(:first-child) {
    margin-left: 64px;
  }
}
@media (min-width: 768px) and (max-width: 1279px) {
  .header_logo {
    width: 200px;
  }
  .header_nav {
    margin-top: 80px;
  }
  .header_nav_list {
    text-align: center;
    padding: 20px 0;
    margin: 0 auto;
    width: 100%;
    font-size: 16px;
  }
  .header_nav_link {
    width: 100%;
  }
  .header_pamphlet_list {
    margin-top: 30px;
  }
  .header_pamphlet_link {
    color: #ffffff;
    background: #00bf29;
    padding: 20px 92px;
    display: block;
  }
  .header_oc_list {
    margin-top: 30px;
    width: 100%;
  }
  .header_oc_link {
    color: #ffffff;
    background: #326CCB;
    padding: 20px;
    display: block;
  }
}
@media (max-width: 767px) {
  .header_inner {
    padding: 0 20px;
    height: 60px;
  }
  .header_logo {
    width: 200px;
  }
  .header_nav {
    margin-top: 80px;
  }
  .header_nav_list {
    text-align: center;
    padding: 20px 0;
    width: 100%;
    max-width: 90%;
    margin: 0 auto;
  }
  .header_nav_link {
    width: 100%;
  }
  .header_pamphlet_list {
    top: 20px;
  }
  .header_pamphlet_link {
    color: #ffffff;
    background: #00bf29;
    padding: 20px 82px;
  }
  .header_oc_list {
    margin-top: 20px;
    width: 100%;
  }
  .header_oc_link {
    color: #ffffff;
    background: #326CCB;
    padding: 20px;
    width: 100%;
    display: block;
  }
}
/*drawer*/
@media (min-width: 1280px) {
  .drawer-toggle {
    display: none;
  }
}

.drawer--right .drawer-hamburger {
  top: 10px;
  right: 15px;
}
@media (min-width: 768px) and (max-width: 1279px) {
  .drawer--right .drawer-hamburger {
    right: 35px;
  }
}

.drawer-hamburger-icon {
  background-color: #eb5405;
  width: 40px;
  height: 3px;
}
.drawer-open .drawer-hamburger-icon {
  background-color: transparent;
}
.drawer-hamburger-icon::before, .drawer-hamburger-icon::after {
  background-color: #eb5405;
  width: 40px;
  height: 3px;
}

@media (min-width: 768px) and (max-width: 1279px) {
  .drawer--right.drawer-open .drawer-hamburger {
    right: 400px;
  }
  .drawer-nav {
    width: 400px;
    padding: 0 10px;
  }
  .drawer--right .drawer-nav {
    right: -400px;
  }
}
@media (max-width: 767px) {
  .drawer--right.drawer-open .drawer-hamburger {
    right: 250px;
  }
  .drawer--right .drawer-hamburger {
    top: 0;
  }
  .drawer-nav {
    width: 300px;
    padding: 0 10px;
  }
  .drawer--right .drawer-nav {
    right: -300px;
  }
}
/*--------------------------------
top
---------------------------------*/
.top {
  background: url(../img/top_image.webp) no-repeat center center/cover;
  aspect-ratio: 144/65;
  height: 100%;
  margin-top: 80px;
}

@media (max-width: 767px) {
  .top {
    background: url(../img/sp/top_image_sp.webp) no-repeat center center/cover;
    aspect-ratio: 15/16;
    height: 100%;
    margin-top: 60px;
  }
}
/*--------------------------------
floating
---------------------------------*/
.floating {
  position: fixed;
  z-index: 10;
  top: 25%;
  right: 0;
  width: 64px;
}

.floating a{
  transform: scale(1,1);
  border-radius: 10px 0 0 10px;
  transition: all 0.2s;
}

.floating a:hover{
  transform: scale(1.1,1.1);
  transition: all 0.2s;
}

.floating_pamphlet {
  display: block;
  background: #00bf29;
  color: #ffffff;
  writing-mode: vertical-rl;
  padding: 60px 20px 20px;
  font-weight: 600;
  letter-spacing: 3px;
  position: relative;
}
.floating_pamphlet::after {
  position: absolute;
  content: "";
  display: block;
  background: url(../img/cv_oc_icon.png) no-repeat center center/contain;
  width: 35px;
  height: 35px;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
}

.floating_oc {
  display: block;
  background: #326CCB;
  color: #ffffff;
  writing-mode: vertical-rl;
  padding: 50px 20px 20px;
  font-weight: 600;
  position: relative;
  margin-top: 20px;
}
.floating_oc::after {
  position: absolute;
  content: "";
  display: block;
  background: url(../img/cv_pamphlet_icon.png) no-repeat center center/contain;
  width: 35px;
  height: 35px;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
}

/*--------------------------------
top_btn
---------------------------------*/
.page-top {
  position: fixed;
  z-index: 10;
  bottom: 50px;
  right: 10px;
  width: 56px;
}
.page-top img {
  width: 100%;
}

/*--------------------------------
about
---------------------------------*/
.about {
  display: none;
}

@media (max-width: 767px) {
  .about {
    display: block;
    background: #eb5405;
    font-weight: 600;
    padding: 50px 0;
  }
  .about_body {
    max-width: 575px;
    margin: 0 auto;
  }
  .about_title {
    font-size: 20px;
    color: #ffffff;
  }
  .about_title .strong {
    color: #FFF700;
    font-size: 24px;
  }
  .about_title:not(:first-child) {
    margin-top: 20px;
  }
}
.admission-schedule {
  background: #fff;
}

.admission-dates {
  max-width: 1240px;
  margin: 0 auto 64px;
  color: #242421;
}



.admission-dates_item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(16px, 3vw, 48px);
  max-width: 920px;
  margin-left: auto;
  padding: 8px 24px;
}

.admission-dates_item dt {
  flex: 0 0 32%;
  font-size: clamp(1.25rem, 2vw, 2rem);
  font-weight: 700;
  text-align: justify;
  max-width: 800px;
}

.admission-dates_item dd {
  flex: 1;
  font-size: clamp(1.5rem, 3.4vw, 3.25rem);
  font-weight: 700;
  white-space: nowrap;
}

.admission-dates_online {
  display: inline-block;
  color: #242421;
  font-size: clamp(0.7rem, 0.9vw, 1.2rem);
  line-height: 1.4;
}

.admission-dates_application {
  display: block;
  max-width: none;
  margin: 0 0 8px;
  padding: 0;
  background: transparent;
}

.admission-dates_application dt {
  max-width: none;
  text-align: center;
}

.admission-dates_application dd {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  color: #242421;
  font-size: inherit;
  white-space: normal;
}

.admission-dates_application dd > span:not(.admission-dates_online) {
  display: block;
  font-size: clamp(1.125rem, 2.5vw, 2rem);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.admission-schedule_inner > .util_title {
  margin-bottom: 40px;
}

.admission-dates_item:not(.admission-dates_application) {
  display: grid;
  grid-template-columns: 12rem max-content;
  justify-content: start;
  align-items: center;
  gap: clamp(16px, 3vw, 40px);
  width: 100%;
  max-width: 920px;
  margin-inline: auto;
  border: 1px solid #d5d1c8;
}

.admission-dates_item dt{
  position: relative;
}

.admission-dates_item dt::after{
  content: "";
  display: block;
  position: absolute;
  right: -16px;
  top: 50%;
  transform: translate(0,-50%);
  width:1px;
  height: 40px;
  border-left: 3px solid #d5d1c8;
}

.admission-dates_item:not(.admission-dates_application) dt {
  white-space: nowrap;
  text-align: justify;
  text-align-last: justify;
}

.admission-dates_item:not(.admission-dates_application) dd {
  display: flex;
  justify-content: flex-start;
  margin: 0;
  font-size: clamp(1.25rem, 2.8vw, 2.5rem);
  text-align: left;
}

.admission-dates_value {
  display: grid;
  grid-template-columns: max-content max-content;
  column-gap: 0.25em;
  width: max-content;
}

.admission-dates_period {
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}

.admission-dates_period .admission-dates_value {
  grid-template-columns: max-content max-content;
  column-gap: 0.25em;
}

.selection-method {
  max-width: 1240px;
  margin: 0 auto 64px;
}

.selection-method_title {
  margin: 0 0 24px auto;
  padding: 8px 24px;
  border-bottom: 10px solid #eb5405;
  color: #242421;
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 700;
}

.selection-method_list {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 8px;
  padding: 0;
  list-style: none;
}

.selection-method_item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1 1 0;
  min-width: 0;
  border: 4px solid #f3a000;
  background: #fff;
}

.selection-method_name {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  flex: 1;
  padding: 12px 18px;
  background: #fff;
  color: #242421;
  font-size: clamp(1rem, 1.8vw, 1.5rem);
  font-weight: 700;
  text-align: center;
}

.selection-method_label {
  white-space: nowrap;
}

.selection-method_detail {
  font-size: 0.75em;
  line-height: 1.4;
  white-space: nowrap;
}

.selection-method_score {
  display: grid;
  place-items: center;
  width: 100%;
  padding: 12px 18px;
  background: #f3a000;
  border: 2px solid #f3a000;
  color: #fff;
  font-size: clamp(1.25rem, 2.2vw, 1.75rem);
  font-weight: 700;
  text-align: center;
}

.selection-method_operator {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  color: #eb5405;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 700;
  line-height: 1;
}

.selection-method_operator--arrow {
  justify-content: center;
}

.selection-method_total {
  flex: 0 1 320px;
  border-color: #df6111;
}

.selection-method_total .selection-method_name {
  background: #fff;
}

.selection-method_total .selection-method_score {
  background: #df6111;
  border-color: #df6111;
  color: #fff;
}

.admission-points {  
  background: #ffe5d9;
  padding:40px 0;
}

.admission-points_title {
  position: relative;
  z-index: 1;
  width: fit-content;
  margin: 0 auto 64px;
  padding: 16px 28px;
  border-radius: 10px;
  background: #eb5405;
  color: #fff;
  font-size: clamp(1.75rem, calc(1.25rem + 2.25vw), 3rem);
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
}

.admission-points_title::after {
  position: absolute;
  z-index: -1;
  bottom: -12px;
  left: 50%;
  width: 28px;
  height: 28px;
  background: #eb5405;
  content: "";
  transform: translateX(-50%) rotate(45deg);
}

.admission-points_title br {
  display: block;
}

.admission-points_list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 24px);
  padding: 0;
  list-style: none;
}

.admission-points_card {
  min-width: 0;
  padding: clamp(20px, 2.2vw, 28px) clamp(16px, 1.8vw, 24px);
  border: 2px solid #eb5405;
  border-radius: 16px;
  background: #fff;
  text-align: center;
}

.admission-points_number {
  display: block;
  margin-bottom: 16px;
  color: #fff;
  font-family: "Roboto", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  background-color: #eb5405;
  border-radius: 50px;
  letter-spacing: 0.1em;
}
.admission-points_number span{
font-size: 2rem;
}

.admission-points_icon {
  display: block;
  width: min(200px, 70%);
  aspect-ratio: 1;
  margin: 0 auto 20px;
  object-fit: contain;
}

.admission-points_heading {
  display: flex;
  min-height: 2.8em;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  color: #eb5405;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.4;
}

.admission-points_text {
  font-size: 1.25rem;
  line-height: 1.8;
  text-align: left;
}

@media (min-width: 768px) and (max-width: 1279px) {
  /*
  .admission-dates_application {
    grid-template-columns: 36% minmax(0, 1fr);
    padding-right: 24px;
  }

  .admission-dates_application::before {
    width: 34%;
  }

  .admission-dates_application dt {
    padding-left: 32px;
  }

  .admission-dates_application dd {
    font-size: clamp(1.375rem, 3vw, 2rem);
  }
  */

  .admission-points_list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admission-points_heading {
    min-height: 4.2em;
    font-size: clamp(1.375rem, 2.5vw, 1.75rem);
  }

  .admission-points_icon {
    width: min(160px, 60%);
  }

  .admission-points_text {
    font-size: 1.125rem;
  }

  .admission-points_card:last-child {
    grid-column: 1 / -1;
    width: calc(50% - 12px);
    justify-self: center;
  }
}

@media (max-width: 767px) {
  .admission-dates {
    margin-bottom: 44px;
  }

  /*
  .admission-dates_application {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 16px;
  }

  .admission-dates_application::before {
    width: 100%;
    height: 90px;
    clip-path: polygon(0 0, 100% 0, 100% 78%, 50% 100%, 0 78%);
  }

  .admission-dates_application dt {
    padding: 0 0 10px;
    font-size: 1.25rem;
    text-align: center;
    align-items: center;
  }

  .admission-dates_application dd {
    align-items: center;
  }

  .admission-dates_application dd {
    padding-top: 18px;
    font-size: clamp(1.25rem, 5.6vw, 1.625rem);
    white-space: normal;
    text-align: center;
  }
  */

  .admission-schedule_inner > .util_title {
    margin-bottom: 28px;
  }

  .admission-dates_application dd > span:not(.admission-dates_online) {
    width: 100%;
    font-size: clamp(0.875rem, 4.5vw, 1.125rem);
    white-space: normal;
    text-align: center;
  }

  .admission-dates_online {
    font-size: 0.75rem;
    white-space: nowrap;
  }

  .admission-dates_item dt::after{
    right: -10px;
  }

  .admission-dates_item:not(.admission-dates_application) {
    grid-template-columns: 5em max-content;
    justify-content: start;
    gap: 20px;
    padding: 14px 8px;
  }

  .admission-dates_item:not(.admission-dates_application) dt {
    min-width: 0;
    font-size: 1rem;
  }

  .admission-dates_item:not(.admission-dates_application) dd {
    font-size: clamp(1rem, 4.5vw, 1.25rem);
  }

  .admission-dates_item:not(.admission-dates_application) dd.admission-dates_period {
    font-size: clamp(0.675rem, 3.5vw, 1.125rem);
  }

  .selection-method_title {
    margin-bottom: 18px;
    padding: 6px 12px;
    border-bottom-width: 6px;
  }

  .selection-method_list {
    flex-direction: column;
    align-items: center;
  }

  .selection-method_item {
    flex: none;
    width: 100%;
    align-self: stretch;
  }

  .selection-method_operator--arrow {
    transform: rotate(90deg);
  }

  .selection-method_name {
    padding: 12px;
    font-size: 0.9375rem;
  }

  .selection-method_detail {
    font-size: 0.9em;
  }

  .selection-method_score {
    padding: 10px 8px;
    font-size: 1rem;
  }

  .selection-method_total {
    flex: none;
    width: 100%;
  }

  .selection-method_total .selection-method_name {
    font-size: 1rem;
  }

  .admission-points_list {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .admission-points_card {
    padding: 24px 20px;
  }

  .admission-points_number {
    margin-bottom: 12px;
    font-size: 1.25rem;
  }

  .admission-points_number span {
    font-size: 1.75rem;
  }

  .admission-points_icon {
    width: 96px;
    margin-bottom: 16px;
  }

  .admission-points_heading {
    min-height: 0;
    margin-bottom: 10px;
    font-size: 1.25rem;
  }

  .admission-points_text {
    font-size: 1rem;
  }
}

.money {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(640px, 100%);
  margin-inline: auto;
  border: 4px solid #eb5405;
  background: #fff;
}

.money_title {
  display: flex;
  flex: 1;
  align-self: stretch;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 16px 20px;
  color: #242421;
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 700;
  text-align: center;
}

.money_box {
  display: grid;
  place-items: center;
  align-self: stretch;
  min-width: 45%;
  margin: 0;
  border: 2px solid #eb5405;
  background: #eb5405;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  padding: 12px 18px;
  letter-spacing: 0.2em;
  text-align: center;
}

@media (max-width: 767px) {
  .money_box {
    font-size: 2rem;
  }
}

/*--------------------------------
topics
---------------------------------*/
.topics{
  position: relative;
  /* border-top:2px dotted #eb5405;
  border-bottom:2px dotted #eb5405; */
  margin-bottom: clamp(24px, 4vw, 40px) clamp(24px, 4vw, 40px) 0;
  padding: clamp(32px, 5vw, 64px) 0 0;
}

.topics_title{
  margin: 0 auto 10px;
  padding: 30px 10px 20px;
  font-size: clamp(2rem, 5.5vw, 4rem);
  font-weight: 600;
  font-family: "Sono", monospace;
  text-align: center;
  color: #fff;
  background-color: #eb5405;
  border-radius: 20px;
  letter-spacing: clamp(0.15em, 0.75vw, 0.4em);
  display: flex;
  justify-content: space-around;
  position: relative;
  align-items: center;
  width: 90%;
}


.topics_title_lefticon,.topics_title_righticon{
  width:25%;
}

.topics_titleinner{
  position: relative;
}

.topics_titleinner .topics_cate_cover{
  color: #fff;
  position: absolute;
  top:18px;
  left: 50%;
  transform: translate(-50%,0);
  z-index: 10;
  font-size: 16px;
}

.topics_titleinner .topics_cate_cover::before,.topics_titleinner .topics_cate_cover::after{
  background-color: #fff;
}

.topics_inner{
  box-sizing: border-box;
  border-radius: 20px;
  padding:clamp(40px, 5vw, 60px)  clamp(24px, 4vw, 60px) ;
  position: relative;
  overflow: hidden;
}

.topics_inner.economics{
  background-color: rgba(29, 33, 136, 0.2);
  margin-bottom: 40px;
}

.topics_inner.international{
  background-color: rgba(0, 152, 217, 0.2);
  margin-bottom: 40px;
}

.economics .topics_item_texstline{
  border-bottom: 3px dotted #1d2088;
  margin-bottom: 10px;
  padding-bottom: 10px;
  display: block;
}

.economics .topics_item_num{
  border: 3px solid #1d2088;
  color: #1d2088;
}

.economics .topics_item_text{
  border: 3px solid #1d2088;
  background-color: #fff;
}

.international .topics_item_num{
  border: 3px solid #0099d9;
  color: #0099d9;
}

.international .topics_item_text{
  border: 3px solid #0099d9;
  background-color: #fff;
}

.topics_text_marker{
  position: relative;
}

.topics_text_marker::after{
  content: "";
  position: absolute;
  width: 100%;
  height: 3px;
  display: block;
  background-color: #eb5405;
  left: 0;
  bottom:0;
}

.topics_cate_cover{
  font-size: clamp(1.5rem, 3.5vw, 2.5rem);
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.15em;
  padding-bottom: 5px;
  position: relative;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
}

.topics_cate_cover_char {
  display: inline-block;
}

.topics_cate_cover.is-visible .topics_cate_cover_char {
  animation: topics-cate-cover-bounce 1s ease-out both;
  animation-delay: calc(var(--char-index) * 0.06s);
}

@keyframes topics-cate-cover-bounce {
  0%,
  100% {
    transform: translateY(0);
  }

  35% {
    transform: translateY(-0.8em);
  }

  65% {
    transform: translateY(0.3em);
  }
}

@media (prefers-reduced-motion: reduce) {
  .topics_cate_cover_char {
    animation: none !important;
  }
}

.topics_cate_cover::before{
  content: "";
  position: absolute;
  left: -0.5em;
  bottom: 0.2em;
  display: block;
  width: 0.1em;
  height: 0.8em;
  transform: rotate(-30deg);
}

.topics_cate_cover::after{
  content: "";
  position: absolute;
  right: -0.5em;
  bottom: 0.2em;
  display: block;
  width: 0.1em;
  height: 0.8em;
  transform: rotate(30deg);
}

.economics .topics_cate_cover{
  color: #1d2088;
}

.international .topics_cate_cover{
  color: #0099d9;
}

.economics .topics_cate_cover::before,.economics .topics_cate_cover::after{
  background-color: #1d2088;
}

.international .topics_cate_cover::before,.international .topics_cate_cover::after{
  background-color: #0099d9;
}

.topics_cate{
  color: #fff;
  text-align: center;
  display: block;
  width: fit-content;
  margin: 0 auto 40px;
  padding: 8px clamp(16px, 2vw, 20px);
  font-size: clamp(1.25rem, 2.7vw, 2rem);
  border-radius: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  position: relative;
}
.topics_heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: clamp(2px, 4vw, 48px);
  /* width: min(96%, 1000px); */
  margin: 0 auto clamp(24px, 3vw, 40px);
}

.topics_title_cate {
  text-align: center;
  min-width: 0;
}

.topics_cate_text {
  color: #202387;
  font-size: clamp(1rem, 2.7vw, 2rem);
  font-weight: 700;
  letter-spacing: clamp(0.03em, 0.1vw, 0.1em);
  margin: 0 0 clamp(8px, 1.2vw, 12px);
}

.topics_cate {
  color: #fff;
  background: #202387;
  text-align: center;
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
  padding: clamp(5px, 0.8vw, 8px) clamp(10px, 2vw, 20px);
  font-size: clamp(1rem, 2.7vw, 2rem);
  border-radius: clamp(6px, 1vw, 10px);
  font-weight: 700;
  letter-spacing: clamp(0.02em, 0.1vw, 0.1em);
}

.topics_icons {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(4px, 1.5vw, 24px);
  min-width: 0;
}

.topics_icons img {
  display: block;
  width: clamp(18px, 4vw, 52px);
  max-width: 100%;
  height: auto;
  flex: 0 1 auto;
  opacity: 0.7;
}

.topics_list{
  width: min(850px, 100%);
  margin: 0 auto;
  position: relative;
  z-index: 20;
}

.economics .topics_cate,.economics .topics_item_name{
  background-color: #1d2088;
}

.international .topics_cate,.international .topics_item_name{
  background-color: #0099d9;
}

.topics_item{
  margin-bottom: clamp(20px, 2.5vw, 30px);
}

.topics_item_name{
  box-sizing: border-box;
  color: #fff;
  padding: 12px clamp(16px, 3vw, 40px) 12px clamp(48px, 5vw, 64px);
  position: relative;
  border-radius: 20px 20px 0 0;
  font-weight: 700;
  font-size: clamp(1rem, 2.2vw, 1.75rem);
  line-height: 1.5;
  letter-spacing: clamp(0.02em, 0.5vw, 0.2em);
  overflow-wrap: anywhere;
}

.topics_item_num{
  position: absolute;
  top: 50%;
  left: -0.6em;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 2.4em;
  aspect-ratio: 1;
  box-sizing: border-box;
  background-color: #fff;
  padding: 0;
  font-weight: 700;
  border-radius: 50%;
  text-align: center;
  font-size: clamp(1rem, 1.7vw, 1.5rem);
  letter-spacing: 0;
}

.topics_item_text{
  box-sizing: border-box;
  padding: 12px clamp(16px, 3vw, 40px);
  font-size: clamp(0.9375rem, 1.5vw, 1.25rem);
  line-height: 1.8;
  letter-spacing: clamp(0.01em, 0.35vw, 0.12em);
  border-radius: 0 0 20px 20px;
  overflow-wrap: anywhere;
}

.topics_deco {
  position: absolute;
  z-index: 0;
  width: clamp(40px, 5vw, 80px);
  height: auto;
}

@media (max-width: 767px) {

  .topics_title span{
    position: relative;
    top:5px;
  }

  .topics_inner {
    border-radius: 14px;
    padding:30px 24px 20px;
  }

  .topics_cate {
    border-radius: 8px;
  }

  .topics_heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: clamp(16px, 1.75vw, 24px);
  }

  .topics_icons {
    justify-content: space-around;
    gap: clamp(4px, 1.5vw, 16px);
  }

  .topics_icons img{
    width: clamp(8px, 7vw, 32px);
  }

  .topics_icons img:nth-child(1){
    display: none;
  }

  .topics_item_name {
    border-radius: 14px 14px 0 0;
    padding: 10px 12px 10px 42px;
  }

  .topics_item_num {
    left: -0.55em;
  }

  .topics_item_text {
    padding: 10px 14px;
    border-radius: 0 0 14px 14px;
  }

  .economics .topics_item_texstline {
    border-bottom-width: 2px;
  }
}


/*--------------------------------
btnstyle
---------------------------------*/

.linkbtn{
  margin-bottom: 40px;
}

.point_btn,
.linkbtn_btnwrap {
  display: flex;
  justify-content: space-around;
}

.btnstyle {
  display: flex;
  width: 30%;
  padding: 20px 40px;
  transition: all 0.2s ease;
  color: #fff;
  text-align: center;
  justify-content: center;
  align-items: center;
  font-size: 24px;
  font-weight: 800;
  box-shadow: 8px 8px 8px rgba(0, 0, 0, 0.2);
  border-radius: 12px;
  letter-spacing: 0.08em;

  position: relative;
  top: 0;
  left: 0;
}

.btnstyle:active {
  position: relative;
  top: 5px;
  left: 5px;
  box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
  transition: all 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  .btnstyle:hover {
    top: 5px;
    left: 5px;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
    transition: all 0.3s ease;
  }
}

.btnstyle_text {
  padding: 10px;
}

.point_btnicon{
  width: 32px;
}

.bg_1{
  background-color: #df6111;
}

.bg_2{
  background-color: #326CCB;
}

.bg_3{
  color: #eb5405;
  background-color: #fff;
  border:1px solid #eb5405;
}

.bg_3 .point_btnicon {
  background-color: #eb5405;
  -webkit-mask: url("../img/icon_jump.png") center / contain no-repeat;
  mask: url("../img/icon_jump.png") center / contain no-repeat;
}

.bg_3 .point_btnicon img {
  opacity: 0;
}

@media (min-width: 1280px) {
  .linkbtn_btnwrap .bg_2 {
    order: 3;
  }

  .linkbtn_btnwrap .bg_3 {
    order: 2;
  }
}

@media (min-width: 768px) and (max-width: 1279px) {
  .point_btn,
  .linkbtn_btnwrap {
    justify-content: space-around;
  }

  .linkbtn_btnwrap {
    flex-wrap: wrap;
  }

  .btnstyle {
    margin: 0 5px 10px;
    padding: 10px 30px;
    width: 50%;
    max-width: 450px;
  }

  .linkbtn_btnwrap .btnstyle {
    width: calc(50% - 10px);
  }

  .btnstyle_text {
    font-size: 16px;
  }

  .point_btnicon{
    width:24px;
  }
}
@media (max-width: 767px) {
  .point_btn,
  .linkbtn_btnwrap {
    display: flex;
    flex-direction: column;
  }

  .linkbtn_btnwrap .bg_3 {
    order: -1;
  }

  .btnstyle:hover {
    top: 0;
    left: 0;
    box-shadow: 8px 8px 8px rgba(0, 0, 0, 0.2);
    transition: all 0.2s ease;
  }

  .btnstyle:active {
    top: 5px;
    left: 5px;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.5);
    transition: all 0.3s ease;
  }

  .btnstyle {
    margin: 0 auto 20px;
    padding: 20px;
    width: 100%;
    max-width: 400px;
    font-size: 18px;
  }

  .point_btnicon{
    width:18px;
  }
}

/*--------------------------------
scholarship
---------------------------------*/
.scholarship {
  background: #ffe5d9;
}

.qa {
  max-width: 970px;
  margin: 0 auto;
}

.qa_box {
  border-bottom: 1px solid #878787;
}
.qa_box:not(:first-child) {
  margin-top: 30px;
}

.question {
  display: flex;
  justify-content: space-between;
  padding: 40px 0 30px 90px;
  position: relative;
}
.question::before {
  position: absolute;
  content: "";
  display: block;
  background: url(../img/scholarship_circle.webp) no-repeat center center/contain;
  width: 60px;
  height: 60px;
  left: 0;
  top: 24px;
}
.question.one {
  position: relative;
}
.question.one:after {
  position: absolute;
  content: "1";
  display: block;
  font-size: 36px;
  font-family: "Lato", sans-serif;
  color: #ffffff;
  top: 24px;
  left: 19px;
}
.question.two {
  position: relative;
}
.question.two:after {
  position: absolute;
  content: "2";
  display: block;
  font-size: 36px;
  font-family: "Lato", sans-serif;
  color: #ffffff;
  top: 24px;
  left: 19px;
}
.question.three {
  position: relative;
}
.question.three:after {
  position: absolute;
  content: "3";
  display: block;
  font-size: 36px;
  font-family: "Lato", sans-serif;
  color: #ffffff;
  top: 24px;
  left: 19px;
}
.question.four {
  position: relative;
}
.question.four:after {
  position: absolute;
  content: "4";
  display: block;
  font-size: 36px;
  font-family: "Lato", sans-serif;
  color: #ffffff;
  top: 24px;
  left: 19px;
}

.question_title {
  font-size: 20px;
}

.question_btn {
  transition: all 0.3s ease 0s;
}
.question_btn.is-open {
  transform: rotate(180deg);
  transition: all 0.3s ease 0s;
}
.question_btn img {
  width: 28px;
}

.answer {
  display: none;
  padding: 10px 0px 30px 90px;
}

.answer_text {
  line-height: 1.8;
}
.answer_text .scholarship_link {
  color: #eb5405;
  text-decoration: underline;
}

@media (min-width: 1280px) {
  .answer_text {
    width: 800px;
  }
}
@media (max-width: 767px) {
  .question {
    padding: 10px 0 30px 56px;
  }
  .question::before {
    width: 40px;
    height: 40px;
    left: 0;
    top: 4px;
  }
  .question.one {
    position: relative;
  }
  .question.one:after {
    position: absolute;
    content: "1";
    display: block;
    font-size: 24px;
    font-family: "Lato", sans-serif;
    color: #ffffff;
    top: 6px;
    left: 13px;
  }
  .question.two {
    position: relative;
  }
  .question.two:after {
    position: absolute;
    content: "2";
    display: block;
    font-size: 24px;
    font-family: "Lato", sans-serif;
    color: #ffffff;
    top: 6px;
    left: 13px;
  }
  .question.three {
    position: relative;
  }
  .question.three:after {
    position: absolute;
    content: "3";
    display: block;
    font-size: 24px;
    font-family: "Lato", sans-serif;
    color: #ffffff;
    top: 6px;
    left: 13px;
  }
  .question.four {
    position: relative;
  }
  .question.four:after {
    position: absolute;
    content: "4";
    display: block;
    font-size: 24px;
    font-family: "Lato", sans-serif;
    color: #ffffff;
    top: 6px;
    left: 13px;
  }
  .question_title {
    font-size: 16px;
  }
  .answer {
    padding: 10px 30px 30px 56px;
  }
  .answer_text {
    font-size: 14px;
  }
}
/*--------------------------------
passed
---------------------------------*/
.passed_admission-policy {
  margin-top: 80px;
}

.passed_admission-policy_links {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 60px;
}

.passed_link {
  width: 600px;
  height: 300px;
  color: #ffffff;
  position: relative;
  cursor: pointer;
  overflow: hidden;
}
.passed_link img {
  width: 600px;
  transition: transform 0.6s ease;
}
.passed_link:nth-child(n+3) {
  margin-top: 60px;
}
.passed_link:hover img {
  transform: scale(1.1);
}

.passed_name {
  position: absolute;
  content: "";
  display: block;
  top: 45%;
  left: 50%;
  transform: translate(-50%);
  font-size: 32px;
  font-weight: 600;
}

.passed_mark {
  position: absolute;
  content: "";
  display: block;
  bottom: 10%;
  left: 45%;
  transform: translate(-50%);
  font-size: 32px;
  font-weight: 600;
  letter-spacing: 5px;
}
.passed_mark::after {
  position: absolute;
  content: "";
  display: block;
  background: url(../img/passed_link_arrow.png) no-repeat center center/contain;
  width: 50px;
  height: 15px;
  bottom: 10px;
  right: -65px;
}

@media (min-width: 768px) and (max-width: 1279px) {
  .passed_link {
    width: 48%;
    height: 100%;
  }
  .passed_link img {
    width: 100%;
  }
  .passed_link:nth-child(n+3) {
    margin-top: 40px;
  }
  .passed_name {
    font-size: 24px;
    letter-spacing: 5px;
    top: 40%;
  }
  .passed_mark {
    font-size: 20px;
  }
  .passed_mark::after {
    position: absolute;
    content: "";
    display: block;
    background: url(../img/passed_link_arrow.png) no-repeat center center/contain;
    width: 30px;
    height: 9px;
    bottom: 6px;
    right: -40px;
  }
}
@media (max-width: 767px) {
  .passed_admission-policy {
    margin-top: 40px;
  }
  .passed_link {
    width: 48%;
    height: 100%;
  }
  .passed_link img {
    width: 100%;
  }
  .passed_link:nth-child(n+3) {
    margin-top: 40px;
  }
  .passed_name {
    font-size: 14px;
    letter-spacing: 2px;
    top: 40%;
  }
  .passed_mark {
    font-size: 12px;
  }
  .passed_mark::after {
    position: absolute;
    content: "";
    display: block;
    background: url(../img/passed_link_arrow.png) no-repeat center center/contain;
    width: 16px;
    height: 5px;
    bottom: 6px;
    right: -20px;
  }
}
/*--------------------------------
oc
---------------------------------*/
.oc {
  background: #ffe5d9;
}

.oc_slider {
  display: flex;
  justify-content: space-evenly;
}

.oc_item {
  width: 400px;
  box-shadow: 0 0 20px #5e5e5e;
  background-color: #fff;
}

.oc_item_image img {
  width: 100%;
}

.oc_item_body {
  width: 100%;
  height: auto;
  padding: 50px;
}

.oc_item_title {
  text-align: center;
  font-size: 24px;
  margin: 0 0 24px;
}

.oc_item_title.first{
  font-size: 20px;
margin: 0 0 18px;
}


.oc_slider:first-child .oc_item_title{
  margin: 0 0 18px;
}


.oc_text_small{
  font-size: 14px;
}

.oc_item_text {
  line-height: 1.8;
}

@media (min-width: 1280px) {
  .oc_item {
    margin-top: 40px;
  }
  .slick-slide img.is-sp {
    display: none;
  }
}

@media (min-width: 768px) and (max-width: 1279px) {
  .oc_item {
    width: 300px;
  }
  .oc_item_body {
    height: fit-content;
    padding: 40px 10px;
  }

  .oc_item_text {
    margin-top: 25px;
  }
}
@media (max-width: 767px) {
  .oc_slider {
    width: 220px;
    height: 300px;
    box-shadow: 0 0 20px #5e5e5e;
    margin: 0 auto;
    position: relative;
  }
  .slick-slide img.is-pc {
    display: none;
  }
  .oc_item_body {
    height: 180px;
    background: #ffffff;
    padding: 20px 10px 0;
  }
  .oc_item_title {
    font-size: 14px;
    margin: 0 0 18px;
  }


  .oc_item_title.first{
    font-size: 14px;
    margin: 0 0 10px;
  }


  .oc_item_text {
    font-size: 12px;
  }
/* 
  .oc_item_text.first{
    padding: 0 16px;
  } */

  .slick-prev {
    position: absolute;
    content: "";
    display: block;
    background: url(../img/sp/passed_prev_btn_sp.png) no-repeat center center/contain;
    width: 16px;
    height: 33px;
    top: 50%;
    left: -40px;
    transform: translateY(-50%);
  }
  .slick-next {
    position: absolute;
    content: "";
    display: block;
    background: url(../img/sp/passed_next_btn_sp.png) no-repeat center center/contain;
    width: 16px;
    height: 33px;
    top: 50%;
    right: -40px;
    transform: translateY(-50%);
  }
}
/*--------------------------------
cv
---------------------------------*/
.cv_pamphlet {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  width: 50%;
}
.cv_pamphlet:hover .cv_pamphlet_link img {
  transform: scale(1.04);
}

.cv_pamphlet_link {
  display: block;
}

.cv_pamphlet_image {
  width: 100%;
  position: relative;
}
.cv_pamphlet_image img {
  transition: transform 0.6s ease;
}

.cv_pamphlet_btn {
  position: absolute;
  content: "";
  display: block;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  padding: 16px 0 16px 100px;
  width: 400px;
  color: #ffffff;
  background: rgba(255, 138, 0, 0.8);
  font-weight: 600;
  border: 2px solid #ffffff;
  z-index: 10;
}
.cv_pamphlet_btn::after {
  position: absolute;
  content: "";
  display: block;
  background: url(../img/cv_pamphlet_icon.png) no-repeat center center/contain;
  width: 40px;
  height: 40px;
  top: 50%;
  left: 40px;
  transform: translateY(-50%);
}

.cv_oc {
  width: 50%;
  position: relative;
  cursor: pointer;
  overflow: hidden;
}
.cv_oc:hover .cv_oc_image img {
  transform: scale(1.04);
}

.cv_oc_image {
  width: 100%;
  position: relative;
}
.cv_oc_image img {
  transition: transform 0.6s ease;
}

.cv_oc_btn {
  position: absolute;
  content: "";
  display: block;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  padding: 16px 0 16px 80px;
  width: 400px;
  color: #ffffff;
  background: rgba(50, 108, 203, 0.8);
  font-weight: 600;
  border: 2px solid #ffffff;
  z-index: 10;
}
.cv_oc_btn::after {
  position: absolute;
  content: "";
  display: block;
  background: url(../img/cv_oc_icon.png) no-repeat center center/contain;
  width: 40px;
  height: 40px;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
}

@media (min-width: 1280px) {
  .cv {
    display: flex;
  }
}
@media (min-width: 768px) and (max-width: 1279px) {
  .cv {
    display: flex;
  }
  .cv_pamphlet_btn {
    bottom: 15px;
    padding: 13px 38px 13px 63px;
    border: 1px solid #ffffff;
    font-size: 12px;
    width: 280px;
  }
  .cv_pamphlet_btn::after {
    width: 30px;
    height: 30px;
    left: 30px;
  }
  .cv_oc_btn {
    bottom: 15px;
    padding: 13px 0 13px 55px;
    border: 1px solid #ffffff;
    font-size: 12px;
    width: 280px;
  }
  .cv_oc_btn::after {
    width: 30px;
    height: 30px;
  }
}
@media (max-width: 767px) {
  .cv_pamphlet{
    width: 100%;
  }
  
  .cv_pamphlet_btn {
    bottom: 15px;
    padding: 12px 22px 12px 55px;
    border: 1px solid #ffffff;
    font-size: 12px;
    width: 250px;
  }
  .cv_pamphlet_btn::after {
    width: 30px;
    height: 30px;
    left: 15px;
  }
  .cv_oc{
    width: 100%;
  }
  .cv_oc_btn {
    bottom: 15px;
    padding: 12px 0 12px 36px;
    border: 1px solid #ffffff;
    font-size: 12px;
    width: 250px;
  }
  .cv_oc_btn::after {
    width: 30px;
    height: 30px;
    left: 5px;
  }
}
/*--------------------------------
footer
---------------------------------*/
.footer {
  background: #eb5405;
  color: #ffffff;
  padding-top: 120px;
  padding-bottom: 100px;
}

.footer_inner {
  display: flex;
  justify-content: space-between;
}

.footer_campus {
  display: flex;
}

.footer_campus_name {
  display: inline-block;
  font-size: 24px;
  padding-left: 40px;
  position: relative;
}
.footer_campus_name::after {
  position: absolute;
  content: "";
  display: block;
  background: url(../img/footer_access_icon.png) no-repeat center center/contain;
  width: 40px;
  height: 40px;
  top: -3px;
  left: 0;
}

.footer_campus_info {
  margin-top: 30px;
  line-height: 1.8;
}

.footer_nav {
  max-width: 400px;
}

.footer_nav_top {
  display: flex;
  justify-content: space-between;
}

.footer_nav a {
  display: block;
  padding: 12px 16px;
  background: #f57939;
  color: #fff;
  text-decoration: none;
  border-radius: 6px;
  transition: all 0.2s ease;
}

.footer_nav a:hover {
  background: #ffa475;
}

.footer_nav_bottom {
  display: flex;
  justify-content: space-evenly;
  margin-top: 40px;
}

.footer_list_link {
  color: #ffffff;
  font-size: 14px;
}

.footer_copy-right {
  margin-top: 50px;
  font-weight: 300;
}

@media (min-width: 1280px) {
  .footer_campus_item:first-child {
    margin-right: 40px;
  }
  .footer_campus_info {
    padding-left: 10px;
  }
  .footer_detail {
    max-width: 440px;
  }
}
@media (min-width: 768px) and (max-width: 1279px) {
  .footer {
    padding-top: 80px;
    padding-bottom: 60px;
  }
  .footer_inner {
    display: block;
  }
  .footer_campus {
    display: block;
    text-align: center;
  }
  .footer_campus_item:not(:first-child) {
    margin-top: 30px;
  }
  .footer_campus_name {
    font-size: 16px;
    padding-left: 30px;
  }
  .footer_campus_name::after {
    width: 30px;
    height: 30px;
    top: -3px;
    left: 0;
  }
  .footer_campus_info {
    font-size: 12px;
    margin-top: 10px;
  }
  .footer_nav {
    margin: 40px auto;
  }
  .footer_list_link {
    font-size: 13px;
  }
  .footer_copy-right {
    margin-top: 40px;
    font-size: 11px;
    text-align: center;
  }
}
@media (max-width: 767px) {
  .footer {
    padding-top: 80px;
    padding-bottom: 60px;
  }
  .footer_inner {
    display: block;
  }
  .footer_campus {
    display: block;
    text-align: center;
  }
  .footer_campus_item:not(:first-child) {
    margin-top: 30px;
  }
  .footer_campus_name {
    font-size: 16px;
    padding-left: 30px;
  }
  .footer_campus_name::after {
    width: 30px;
    height: 30px;
    top: -3px;
    left: 0;
  }
  .footer_campus_info {
    font-size: 12px;
    margin-top: 10px;
  }
  .footer_nav {
    margin: 40px auto;
  }
  .footer_list_link {
    font-size: 13px;
  }
  .footer_copy-right {
    margin-top: 40px;
    font-size: 11px;
    text-align: center;
  }
}/*# sourceMappingURL=style.css.map */