@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,600;1,300&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lato&display=swap");
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  box-sizing: border-box;
  word-wrap: break-word !important;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after {
  content: "";
  content: none;
}

q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  outline: none;
  box-sizing: border-box;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

ul, ol {
  list-style: none;
}

img {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

main {
  display: block;
}

@media screen and (min-width: 769px) {
  .text {
    display: bolck;
  }
}
@media screen and (max-width: 1050px) {
  .text {
    display: bolck;
  }
}
/*====================================
目次
┗【 初期設定 】
┗【 ヘッダー 】
┗【 フッター 】
┗【 共通パーツ 】
=====================================*/
/*====================================
* 初期設定
=====================================*/
body {
  -webkit-text-size-adjust: 100%;
  background: #fff;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
  color: #000;
  letter-spacing: 0.04em;
  padding-top: 100px;
}
@media screen and (max-width: 1135px) {
  body {
    padding-top: 60px;
    font-size: 0.875rem;
  }
}
body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}

#loading_archive {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  background-color: #fff;
  z-index: 99999999;
  opacity: 1;
}
#loading_archive.on {
  opacity: 0;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

#loading {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  background-color: #fff;
  transform-origin: 0% 50%;
  transform: perspective(1800px) rotateY(0deg);
  z-index: 99999999;
}
#loading.on {
  transform: perspective(1800px) rotateY(-200deg);
  transition: 1.5s ease;
}
#loading .loader {
  width: 275px;
  opacity: 0;
}
#loading .loader img {
  opacity: 0;
}
#loading .loader img.loading_logo {
  margin-top: 40px;
}
#loading .loader.on {
  opacity: 1;
}
#loading .loader.on img.loading_your_door {
  opacity: 1;
  transition: opacity 0.2s ease 0s;
}
#loading .loader.on img.loading_logo {
  opacity: 1;
  transition: opacity 0.2s ease 0.3s;
}

a {
  color: #000;
  text-decoration: none;
  transition: 0.4s;
}
@media screen and (min-width: 1051px) {
  a.tel {
    pointer-events: none;
  }
}

a:hover {
  color: #000;
}

.content_wrap {
  padding-left: 55px;
  padding-right: 55px;
}
@media screen and (min-width: 1051px) {
  .content_wrap {
    max-width: 1210px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 1050px) {
  .content_wrap {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.content_wrap_s {
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1051px) {
  .content_wrap_s {
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
  }
}

#modal {
  position: fixed;
  top: 60px;
  width: 100vw;
  height: calc(100% - 60px - 58px);
  background: rgba(91, 52, 104, 0.9);
  z-index: 998;
  display: none;
}
@media screen and (min-width: 1051px) {
  #modal {
    height: calc(100% - 60px);
  }
}

#btn_set {
  position: fixed;
  z-index: 99;
}
@media screen and (min-width: 1051px) {
  #btn_set {
    top: 140px;
    right: 0;
    width: 50px;
    text-align: center;
  }
  #btn_set li {
    position: relative;
    z-index: 99;
  }
  #btn_set li a {
    display: block;
  }
  #btn_set li:nth-child(1) img, #btn_set li:nth-child(2) img {
    position: relative;
    z-index: 999;
  }
  #btn_set li:nth-child(1) a {
    padding: 19px 0 13px;
    background: #000;
  }
  #btn_set li:nth-child(1) a:hover {
    background: #5B3468;
  }
  #btn_set li:nth-child(2) {
    margin-bottom: 6px;
  }
  #btn_set li:nth-child(2) > span {
    position: relative;
    display: block;
    padding: 13px 0 19px;
    background: #fff;
    cursor: pointer;
    z-index: 999;
  }
  #btn_set li:nth-child(3), #btn_set li:nth-child(4), #btn_set li:nth-child(5), #btn_set li:nth-child(6) {
    background: #5B3468;
  }
  #btn_set li:nth-child(3) a:hover img, #btn_set li:nth-child(4) a:hover img, #btn_set li:nth-child(5) a:hover img, #btn_set li:nth-child(6) a:hover img {
    opacity: 0.7;
  }
  #btn_set li:nth-child(3) img, #btn_set li:nth-child(4) img, #btn_set li:nth-child(5) img, #btn_set li:nth-child(6) img {
    transition: 0.4s;
  }
  #btn_set li:nth-child(3) a {
    padding: 22px 0 11.5px;
  }
  #btn_set li:nth-child(3) a img {
    width: 22.8px;
  }
  #btn_set li:nth-child(4) a {
    padding: 11.5px 0 11px;
  }
  #btn_set li:nth-child(4) a img {
    width: 20px;
  }
  #btn_set li:nth-child(5) a {
    padding: 11px 0 11.5px;
  }
  #btn_set li:nth-child(5) a img {
    width: 22.44px;
  }
  #btn_set li:nth-child(6) a {
    padding: 11.5px 0 22px;
  }
  #btn_set li:nth-child(6) a img {
    width: 23.58px;
  }
  #btn_set li:last-child a {
    padding: 14px 0;
  }
  #btn_set li:last-child a img {
    width: 23.58px;
  }
}
#btn_set li:last-child {
  background-color: #06C755;
}
#btn_set dl {
  position: fixed;
  height: 228px;
  padding: 25px 37px;
  background: rgba(255, 255, 255, 0.8);
  color: #000;
  text-align: center;
  z-index: 88;
  transition: 0.2s;
  opacity: 0;
  visibility: hidden;
}
@media screen and (min-width: 1051px) {
  #btn_set dl {
    top: 232px;
    right: 51px;
    width: 409px;
    height: 228px;
  }
}
@media screen and (max-width: 1050px) {
  #btn_set dl {
    bottom: 58px;
    left: 0;
    width: 100%;
    height: 282px;
    padding: 56px 37px 0;
  }
}
#btn_set dl a {
  color: #000;
}
#btn_set dl.active {
  opacity: 1;
  transition: 0.4s;
  visibility: visible;
}
@media screen and (min-width: 1051px) {
  #btn_set dl.active {
    width: 409px;
  }
}
#btn_set dl.active dt, #btn_set dl.active dd, #btn_set dl.active img {
  opacity: 1;
  transition-delay: 0s;
  transition: 0s;
}
#btn_set dl .arrow {
  position: absolute;
  width: 10px;
  height: 13px;
  background: url(../img/common/ico_arrow_black.svg) no-repeat 0 0/100% auto;
  content: "";
  cursor: pointer;
}
@media screen and (min-width: 1051px) {
  #btn_set dl .arrow {
    top: 0;
    left: 18px;
    bottom: 0;
    margin: auto 0;
    transform: rotate(-90deg);
  }
}
@media screen and (max-width: 1050px) {
  #btn_set dl .arrow {
    top: 20px;
    right: 0;
    left: 0;
    width: 23px;
    height: 12px;
    margin: 0 auto;
    background: url(../img/common/ico_arrow_black.svg) no-repeat 0 0/100%;
  }
}
#btn_set dl dt {
  margin-bottom: 16px;
  font-size: 1rem;
}
@media screen and (max-width: 1050px) {
  #btn_set dl dt {
    margin-bottom: 18px;
  }
}
#btn_set dl div {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1050px) {
  #btn_set dl div {
    justify-content: center;
  }
}
#btn_set dl div dt, #btn_set dl div dd {
  opacity: 0;
  transition: 0.4s;
  transition-delay: 0.5s;
}
#btn_set dl div dd {
  width: 160px;
}
@media screen and (max-width: 1050px) {
  #btn_set dl div dd + dd {
    margin-left: 15px;
  }
}
#btn_set dl div dd img {
  width: 160px;
  margin-bottom: 10px;
  opacity: 0;
  transition: 0.4s;
  transition-delay: 0.5s;
}
@media screen and (max-width: 1050px) {
  #btn_set dl div dd img {
    margin-bottom: 11px;
  }
}
@media screen and (max-width: 1050px) {
  #btn_set {
    display: flex;
    align-items: center;
    justify-content: space-between;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 58px;
    background: #5B3468;
  }
  #btn_set li {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 16.6666666667% !important;
  }
  #btn_set li > a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #btn_set li:nth-child(1) {
    justify-content: flex-start;
  }
  #btn_set li:nth-child(1) img {
    width: 33.75px;
  }
  #btn_set li:nth-child(2) > span > img {
    display: block;
    width: 33px;
    margin: 0 auto;
  }
  #btn_set li:nth-child(2).active {
    background: #fff;
  }
  #btn_set li:nth-child(2).active span.active {
    display: block;
    width: 34px;
    height: 25px;
    margin: 0 auto;
    background: url(../img/common/ico_exam_sp2.svg) no-repeat 0 0/100% auto;
  }
  #btn_set li:nth-child(2).active span.active img {
    display: none;
  }
  #btn_set li:nth-child(3) img {
    width: 24.21px;
  }
  #btn_set li:nth-child(4) img {
    width: 19.04px;
  }
  #btn_set li:nth-child(5) img {
    width: 24.9px;
  }
  #btn_set li:nth-child(6) img {
    width: 28.76px;
  }
  #btn_set li:last-child {
    justify-content: flex-end;
  }
  #btn_set li:last-child img {
    width: 27px;
  }
}

/*====================================
* ヘッダー
=====================================*/
header {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100px;
  padding: 0 40px;
  background: #fff;
  z-index: 999;
}
@media screen and (max-width: 1200px) {
  header {
    padding: 0 10px 0 20px;
  }
}
@media screen and (max-width: 1135px) {
  header {
    height: 60px;
  }
}
header .logo img {
  transition: 0.4s;
}
@media screen and (max-width: 1135px) {
  header .logo img {
    height: 26px;
    width: auto;
  }
}
header .logo a:hover img {
  opacity: 0.7;
}
header .btn_search {
  position: fixed;
  width: 35px;
  top: 36px;
  right: 229px;
  cursor: pointer;
}
@media screen and (max-width: 1260px) {
  header .btn_search {
    right: 205px;
  }
}
@media screen and (max-width: 1260px) {
  header .btn_search {
    right: 205px;
  }
}
@media screen and (max-width: 1200px) {
  header .btn_search {
    right: 175px;
  }
}
@media screen and (max-width: 1135px) {
  header .btn_search {
    top: 15px;
    right: 65px;
  }
}
header .search_content {
  position: fixed;
  top: 100px;
  left: 0;
  display: flex;
  align-items: center;
  width: 100%;
  height: 113px;
  background: rgba(255, 255, 255, 0.8);
  z-index: 999999;
  opacity: 0;
  transition: 0.4s;
  visibility: hidden;
}
@media screen and (max-width: 1135px) {
  header .search_content {
    top: 60px;
  }
}
header .search_content.active {
  opacity: 1;
  transition: 0.4s;
  visibility: visible;
}
@media screen and (min-width: 769px) {
  header .search_content dl {
    display: flex;
    align-items: center;
    width: 617px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  header .search_content dl {
    padding: 0 20px;
  }
}
header .search_content dl dt {
  width: 109px;
  font-size: 1rem;
}
@media screen and (max-width: 768px) {
  header .search_content dl dt {
    margin-bottom: 5px;
    font-size: 0.875rem;
  }
}
header .search_content dl dd {
  width: 508px;
}
@media screen and (max-width: 768px) {
  header .search_content dl dd {
    width: 320px;
  }
}
header .search_content dl dd .gsc-control-cse {
  padding: 0;
}
header .search_content dl dd form.gsc-search-box,
header .search_content dl dd table.gsc-search-box {
  margin-bottom: 0;
}
header .search_content dl dd form.gsc-search-box .gsib_a,
header .search_content dl dd table.gsc-search-box .gsib_a {
  padding: 0;
}
header .search_content dl dd form.gsc-search-box .gsc-input-box,
header .search_content dl dd table.gsc-search-box .gsc-input-box {
  border: none;
  background: transparent;
}
header .search_content dl dd form.gsc-search-box td.gsc-input,
header .search_content dl dd table.gsc-search-box td.gsc-input {
  display: block;
  border-radius: 3px;
  border: 1px solid #BFBFBF !important;
  background: #EFEFEF;
}
header .search_content dl dd form.gsc-search-box input.gsc-input,
header .search_content dl dd table.gsc-search-box input.gsc-input {
  padding: 8px 10px 8px 10px !important;
  background: transparent;
  font-size: 16px !important;
}
header .search_content dl dd form.gsc-search-box td.gsc-search-button,
header .search_content dl dd table.gsc-search-box td.gsc-search-button {
  padding-left: 8px;
}
header .search_content dl dd form.gsc-search-box button.gsc-search-button,
header .search_content dl dd table.gsc-search-box button.gsc-search-button {
  width: 58px;
  border-radius: 20px;
  position: relative;
  cursor: pointer;
}
header .search_content dl dd form.gsc-search-box button.gsc-search-button:after,
header .search_content dl dd table.gsc-search-box button.gsc-search-button:after {
  position: absolute;
  top: 1px;
  left: 0;
  right: 0;
  width: 3em;
  height: 1em;
  margin: 0 auto;
  color: #fff;
  font-size: 0.9375rem;
  content: "検索";
}
@media screen and (max-width: 1050px) {
  header .search_content dl dd form.gsc-search-box button.gsc-search-button:after,
header .search_content dl dd table.gsc-search-box button.gsc-search-button:after {
    top: 2px;
    font-size: 0.875rem;
  }
}
header .search_content dl dd form.gsc-search-box .gsc-search-button-v2,
header .search_content dl dd table.gsc-search-box .gsc-search-button-v2 {
  padding: 5px 10px;
}
header .search_content dl dd form.gsc-search-box .gsc-search-button-v2 path,
header .search_content dl dd table.gsc-search-box .gsc-search-button-v2 path {
  display: none;
}
@media screen and (min-width: 1136px) {
  header .sp_menu {
    display: none;
  }
}
@media screen and (max-width: 1135px) {
  header .sp_menu {
    position: absolute;
    top: 0;
    right: 0;
    width: 60px;
    height: 60px;
    cursor: pointer;
  }
  header .sp_menu:before, header .sp_menu:after {
    content: "";
    width: 25px;
    height: 2px;
    background: #5B3468;
    display: block;
    position: absolute;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    transition: 0.4s;
  }
  header .sp_menu:before {
    transform: translateY(-10px);
  }
  header .sp_menu:after {
    transform: translateY(10px);
  }
  header .sp_menu span {
    width: 25px;
    height: 2px;
    background: #5B3468;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    transition: 0.4s;
  }
  header .sp_menu.active {
    background: #5B3468;
  }
  header .sp_menu.active:before {
    transform: translateY(0) rotate(-45deg);
  }
  header .sp_menu.active:after {
    transform: translateY(0) rotate(45deg);
  }
  header .sp_menu.active:before, header .sp_menu.active:after, header .sp_menu.active span {
    background: #fff;
  }
  header .sp_menu.active span {
    opacity: 0;
  }
}
header .header_nav {
  align-items: center;
}
@media screen and (min-width: 1261px) {
  header .header_nav {
    display: flex;
    width: 840px;
  }
}
@media screen and (max-width: 1260px) {
  header .header_nav {
    display: flex;
    width: 740px;
  }
}
@media screen and (max-width: 1135px) {
  header .header_nav {
    display: block;
    position: fixed;
    top: 60px;
    left: 0;
    width: 100%;
    height: calc(100% - 60px - 58px);
    padding: 20px;
    z-index: 99999;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    visibility: hidden;
    opacity: 0;
  }
  header .header_nav.active {
    transition: 0.4s;
    visibility: visible;
    opacity: 1;
  }
}
@media screen and (min-width: 1136px) {
  header .header_nav > ul {
    display: flex;
    align-items: center;
    height: 100px;
  }
}
@media screen and (max-width: 1135px) {
  header .header_nav > ul {
    margin-bottom: 20px;
  }
}
header .header_nav > ul > li {
  font-size: 1rem;
}
@media screen and (max-width: 1260px) {
  header .header_nav > ul > li {
    font-size: 0.9375rem;
  }
}
header .header_nav > ul > li:nth-child(4), header .header_nav > ul > li:nth-child(5) {
  margin-left: 17px;
}
@media screen and (max-width: 1260px) {
  header .header_nav > ul > li:nth-child(4), header .header_nav > ul > li:nth-child(5) {
    margin-left: 13px;
  }
}
@media screen and (max-width: 1135px) {
  header .header_nav > ul > li:nth-child(4), header .header_nav > ul > li:nth-child(5) {
    margin-left: 0;
  }
}
header .header_nav > ul > li:nth-child(1), header .header_nav > ul > li:nth-child(2), header .header_nav > ul > li:nth-child(3) {
  position: relative;
}
@media screen and (max-width: 1135px) {
  header .header_nav > ul > li:nth-child(1), header .header_nav > ul > li:nth-child(2), header .header_nav > ul > li:nth-child(3) {
    width: 100% !important;
  }
}
@media screen and (min-width: 1136px) {
  header .header_nav > ul > li:nth-child(1) > a, header .header_nav > ul > li:nth-child(2) > a, header .header_nav > ul > li:nth-child(3) > a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100px;
  }
  header .header_nav > ul > li:nth-child(1) > a:after, header .header_nav > ul > li:nth-child(2) > a:after, header .header_nav > ul > li:nth-child(3) > a:after {
    position: absolute;
    bottom: 26px;
    left: 50%;
    margin-left: -2px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 2.5px 0 2.5px;
    border-color: #000000 transparent transparent transparent;
    content: "";
  }
}
header .header_nav > ul > li:nth-child(1).active a, header .header_nav > ul > li:nth-child(2).active a, header .header_nav > ul > li:nth-child(3).active a {
  color: #fff;
}
header .header_nav > ul > li:nth-child(1).active a:after, header .header_nav > ul > li:nth-child(2).active a:after, header .header_nav > ul > li:nth-child(3).active a:after {
  border-top-color: #fff;
}
header .header_nav > ul > li:nth-child(1) {
  width: 100px;
}
@media screen and (max-width: 1260px) {
  header .header_nav > ul > li:nth-child(1) {
    width: 83px;
  }
}
header .header_nav > ul > li:nth-child(1) span.sp_about {
  display: none;
}
@media screen and (max-width: 1135px) {
  header .header_nav > ul > li:nth-child(1) > a {
    display: none;
  }
  header .header_nav > ul > li:nth-child(1) > span.sp_about {
    display: block;
    position: relative;
    padding: 10px 0 17px 37px;
    border-bottom: none;
    color: #fff;
    font-weight: bold;
    cursor: pointer;
  }
  header .header_nav > ul > li:nth-child(1) > span.sp_about:before, header .header_nav > ul > li:nth-child(1) > span.sp_about:after {
    position: absolute;
    top: 18px;
    left: 12px;
    width: 12px;
    height: 1px;
    background: #fff;
    content: "";
  }
  header .header_nav > ul > li:nth-child(1) > span.sp_about:after {
    transform: rotate(90deg);
  }
  header .header_nav > ul > li:nth-child(1) > span.sp_about.active:after {
    display: none;
  }
}
@media screen and (min-width: 1136px) {
  header .header_nav > ul > li:nth-child(1).active {
    background: #5B3468;
  }
}
@media screen and (min-width: 1136px) {
  header .header_nav > ul > li:nth-child(1) .sub_nav {
    background: rgba(91, 52, 104, 0.9);
  }
  header .header_nav > ul > li:nth-child(1) .sub_nav h2 span {
    display: none;
  }
}
@media screen and (max-width: 1135px) {
  header .header_nav > ul > li:nth-child(1) .sub_nav {
    display: none;
    margin-bottom: 20px;
  }
  header .header_nav > ul > li:nth-child(1) .sub_nav a {
    position: relative;
    padding: 13px 0 13px 37px;
    display: block;
    color: #fff;
  }
  header .header_nav > ul > li:nth-child(1) .sub_nav a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 15px;
    width: 0;
    height: 0;
    margin: auto 0;
    border-style: solid;
    border-width: 2.5px 0 2.5px 3px;
    border-color: transparent transparent transparent #fff;
    content: "";
  }
  header .header_nav > ul > li:nth-child(1) .sub_nav h2 {
    font-weight: normal;
  }
}
header .header_nav > ul > li:nth-child(2) > a, header .header_nav > ul > li:nth-child(3) > a {
  font-weight: bold;
}
@media screen and (max-width: 1135px) {
  header .header_nav > ul > li:nth-child(2) > a, header .header_nav > ul > li:nth-child(3) > a {
    display: none;
  }
  header .header_nav > ul > li:nth-child(2) .sub_nav, header .header_nav > ul > li:nth-child(3) .sub_nav {
    display: block;
    padding: 10px 15px 0;
    border-radius: 5px;
    background: #fff;
  }
  header .header_nav > ul > li:nth-child(2) .sub_nav h2 a, header .header_nav > ul > li:nth-child(3) .sub_nav h2 a {
    display: block;
    padding: 11px 10px;
    color: #fff;
  }
}
header .header_nav > ul > li:nth-child(2) {
  width: 133px;
}
@media screen and (max-width: 1260px) {
  header .header_nav > ul > li:nth-child(2) {
    width: 118px;
  }
}
header .header_nav > ul > li:nth-child(2) > a {
  color: #00437C;
}
header .header_nav > ul > li:nth-child(2).active {
  background: #00437C;
}
@media screen and (min-width: 1136px) {
  header .header_nav > ul > li:nth-child(2) .sub_nav {
    background: rgba(0, 67, 124, 0.9);
  }
}
@media screen and (max-width: 1135px) {
  header .header_nav > ul > li:nth-child(2) h2 a {
    background: #00437C;
  }
  header .header_nav > ul > li:nth-child(2) dl:not(:last-child) {
    border-bottom: 1px solid #00437C;
  }
  header .header_nav > ul > li:nth-child(2) dl a {
    display: block;
    padding: 6px 0;
    color: #00437C !important;
  }
}
header .header_nav > ul > li:nth-child(3) {
  width: 148px;
}
@media screen and (max-width: 1260px) {
  header .header_nav > ul > li:nth-child(3) {
    width: 128px;
  }
}
header .header_nav > ul > li:nth-child(3).active {
  background: #861C3C;
}
@media screen and (min-width: 1136px) {
  header .header_nav > ul > li:nth-child(3) .sub_nav {
    background: rgba(134, 28, 60, 0.9);
  }
}
@media screen and (max-width: 1135px) {
  header .header_nav > ul > li:nth-child(3) {
    margin-top: 10px;
  }
  header .header_nav > ul > li:nth-child(3) h2 a {
    background: #861C3C;
  }
  header .header_nav > ul > li:nth-child(3) dl:not(:last-child) {
    border-bottom: 1px solid #861C3C;
  }
  header .header_nav > ul > li:nth-child(3) dl a {
    display: block;
    padding: 6px 0;
    color: #861C3C !important;
  }
}
header .header_nav > ul > li:nth-child(3) > a {
  color: #861C3C;
}
@media screen and (min-width: 1136px) {
  header .header_nav > ul > li:nth-child(4) a:hover, header .header_nav > ul > li:nth-child(5) a:hover {
    opacity: 0.7;
  }
}
header .header_nav > ul > li:nth-child(4) a {
  padding-left: 0;
}
@media screen and (max-width: 1135px) {
  header .header_nav > ul > li:nth-child(5) {
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
  }
  header .header_nav > ul > li:nth-child(5) a {
    font-weight: normal;
    font-size: 0.875rem;
    text-align: center;
  }
}
@media screen and (max-width: 1135px) {
  header .header_nav > ul > li:nth-child(6), header .header_nav > ul > li:last-child {
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
  }
}
@media screen and (min-width: 1136px) {
  header .header_nav > ul > li:nth-child(6), header .header_nav > ul > li:last-child {
    display: none;
  }
}
header .header_nav > ul > li:nth-child(6) a, header .header_nav > ul > li:last-child a {
  font-weight: normal;
  font-size: 0.875rem;
  text-align: center;
}
header .header_nav > ul > li > a {
  display: block;
}
@media screen and (min-width: 1051px) {
  header .header_nav > ul > li > a {
    transition: 0.4s;
  }
  header .header_nav > ul > li > a:before {
    transition: 0.4s;
  }
}
@media screen and (max-width: 1050px) {
  header .header_nav > ul > li > a {
    padding: 20px;
    color: #fff;
    font-weight: bold;
    border-bottom: 1px solid #fff;
  }
}
@media screen and (max-width: 1135px) {
  header .header_nav > ul > li .sub_nav figure, header .header_nav > ul > li .sub_nav dd {
    display: none;
  }
  header .header_nav > ul > li .sub_nav .sub_nav_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  header .header_nav > ul > li .sub_nav dl {
    width: 46.9841269841%;
    padding: 13px 0;
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 1136px) {
  header .header_nav > ul > li .sub_nav {
    position: fixed;
    top: 100px;
    left: 0;
    width: 100%;
    opacity: 0;
    transition: 0.4s;
    visibility: hidden;
  }
  header .header_nav > ul > li .sub_nav.sub_nav_active {
    opacity: 1;
    visibility: visible;
    transition: 0.4s;
    z-index: 999;
  }
  header .header_nav > ul > li .sub_nav_inner {
    display: flex;
    justify-content: space-between;
    max-width: 1140px;
    margin: 0 auto;
    padding: 60px 20px;
  }
  header .header_nav > ul > li .sub_nav_inner h2.about {
    width: 106px;
    margin-right: 40px;
    border-right: 1px solid #fff;
  }
  header .header_nav > ul > li .sub_nav_inner ul {
    display: flex;
    flex-wrap: wrap;
    width: 953px;
  }
  header .header_nav > ul > li .sub_nav_inner ul li {
    margin-right: 90px;
    font-weight: bold;
  }
  header .header_nav > ul > li .sub_nav_inner ul li:nth-child(4), header .header_nav > ul > li .sub_nav_inner ul li:nth-child(5) {
    margin-top: 26px;
  }
  header .header_nav > ul > li .sub_nav_inner .sub_nav_tit {
    width: 160px;
    margin-right: 40px;
    border-right: 1px solid #fff;
  }
  header .header_nav > ul > li .sub_nav_inner .sub_nav_tit figure {
    width: 120px;
    margin-top: 20px;
  }
  header .header_nav > ul > li .sub_nav_inner .sub_nav_list {
    display: flex;
    width: 900px;
    font-size: 0.9375rem;
  }
  header .header_nav > ul > li .sub_nav_inner .sub_nav_list dl:first-child {
    width: 350px;
  }
  header .header_nav > ul > li .sub_nav_inner .sub_nav_list dl:nth-child(2) {
    width: 205px;
    margin-left: 30px;
  }
  header .header_nav > ul > li .sub_nav_inner .sub_nav_list dl:nth-child(3) {
    width: 300px;
  }
  header .header_nav > ul > li .sub_nav_inner .sub_nav_list dl.junior_education {
    width: 250px;
  }
  header .header_nav > ul > li .sub_nav_inner .sub_nav_list dl dt {
    margin-bottom: 33px;
    font-weight: bold;
  }
  header .header_nav > ul > li .sub_nav_inner .sub_nav_list dl dd {
    margin-top: 14px;
  }
  header .header_nav > ul > li .sub_nav_inner .sub_nav_list dl .dd_wrap {
    display: flex;
    flex-wrap: wrap;
    margin-top: -14px;
  }
  header .header_nav > ul > li .sub_nav_inner .sub_nav_list dl .dd_wrap dd {
    width: 50%;
  }
  header .header_nav > ul > li .sub_nav_inner .sub_nav_list dl .dd_wrap dd.w {
    width: 100%;
  }
  header .header_nav > ul > li .sub_nav a {
    color: #fff;
  }
}
header .header_nav p.btn {
  width: 165px;
  margin-left: auto;
}
@media screen and (max-width: 1260px) {
  header .header_nav p.btn {
    width: 145px;
  }
}
@media screen and (max-width: 1135px) {
  header .header_nav p.btn {
    width: 100%;
  }
}
header .header_nav p.btn a {
  display: block;
  position: relative;
  padding: 12px 20px 12px 38px;
  background: #5B3468;
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
}
@media screen and (max-width: 1260px) {
  header .header_nav p.btn a {
    padding: 12px 10px 12px 28px;
    font-size: 0.9375rem;
  }
}
@media screen and (max-width: 1135px) {
  header .header_nav p.btn a {
    padding: 20px;
    background: #fff;
    color: #5B3468;
    font-size: 0.875rem;
    text-align: center;
  }
}
@media screen and (min-width: 1136px) {
  header .header_nav p.btn a:hover {
    background: #000;
  }
  header .header_nav p.btn a:before {
    position: absolute;
    top: 16px;
    left: 18px;
    width: 17px;
    height: 12px;
    background: url(../img/common/ico_mail.svg) no-repeat 0 0/100% auto;
    content: "";
  }
}
@media screen and (min-width: 1136px) and (max-width: 1260px) {
  header .header_nav p.btn a:before {
    width: 14px;
    left: 10px;
  }
}

/*====================================
* フッター
=====================================*/
footer {
  line-height: 1.8666666667;
  padding: 80px 0;
  background: #5B3468;
  color: #fff;
}
@media screen and (max-width: 1050px) {
  footer {
    padding: 40px 0 70px;
  }
}
footer a {
  color: #fff;
}
footer a:hover {
  color: #fff;
  opacity: 0.7;
}
footer .footer_nav {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1050px) {
  footer .footer_nav {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 1050px) {
  footer .footer_nav dl {
    width: 50%;
    margin-bottom: 1.5em;
  }
  footer .footer_nav dl:first-child {
    width: 100%;
  }
}
footer .footer_nav dl dt {
  margin-bottom: 0.6em;
  font-weight: bold;
  font-size: 1rem;
}
footer .footer_nav dl dd {
  font-size: 0.875rem;
}
footer .footer_nav dl dd + dd {
  margin-top: 0.4em;
}
@media screen and (max-width: 1050px) {
  footer .footer_nav ul {
    width: 50%;
    margin-top: 0.5em;
    padding-top: 1.5em;
    border-top: 1px solid #2B0936;
  }
}
footer .footer_nav ul li {
  font-size: 0.8125rem;
}
footer .footer_nav ul li + li {
  margin-top: 0.5em;
}
footer ul.link_nav {
  display: flex;
  justify-content: center;
  margin: 53px 0;
  padding: 40px 0;
  border: 1px solid #2B0936;
  border-width: 1px 0;
}
@media screen and (max-width: 600px) {
  footer ul.link_nav {
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: 33px 0;
    padding: 30px 0;
  }
}
footer ul.link_nav li {
  width: 160px;
  font-size: 0.8125rem;
  text-align: center;
}
footer ul.link_nav li a {
  display: block;
  padding: 0.7em 0;
  border: 1px solid #fff;
}
footer ul.link_nav li + li {
  margin-left: 15px;
}
@media screen and (max-width: 600px) {
  footer ul.link_nav li {
    width: 47.7611940299%;
  }
  footer ul.link_nav li:last-child {
    margin-left: 0;
    margin-top: 15px;
  }
}
footer .footer_info {
  margin-bottom: 45px;
  font-size: 0.875rem;
  text-align: center;
}
@media screen and (max-width: 600px) {
  footer .footer_info {
    margin-bottom: 33px;
  }
}
footer .footer_info .addr {
  margin: 1em 0 0.8em;
}
@media screen and (max-width: 600px) {
  footer .footer_info .addr {
    margin: 0.8em 0 0.7em;
  }
}
footer p.copy {
  font-family: "Roboto", sans-serif;
  font-size: 0.875rem;
  text-align: center;
}

/*====================================
* 共通パーツ
=====================================*/
main {
  line-height: 1.8666666667;
}
@media screen and (max-width: 1050px) {
  main {
    line-height: 1.5714285714;
  }
}

@media screen and (min-width: 1051px) {
  .sp_only {
    display: none;
  }
}

@media screen and (max-width: 1050px) {
  .pc_only {
    display: none;
  }
}

.underline01 {
  background: linear-gradient(transparent 80%, #FFEB00 20%);
}

.underline02 {
  padding-bottom: 2px;
  border-bottom: 1px solid;
}

.btn_bg {
  max-width: 320px;
  margin: 0 auto;
}
.btn_bg a {
  position: relative;
  display: block;
  padding: 12px 20px;
  color: #fff;
  text-align: center;
}
.btn_bg a:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 13px;
  width: 0;
  height: 0;
  margin: auto 0;
  border-style: solid;
  border-width: 3.5px 0 3.5px 5px;
  border-color: transparent transparent transparent #fff;
  content: "";
}
.btn_bg a:hover {
  background: #000;
}
.btn_bg.purple {
  background: #5B3468;
}
.btn_bg.junior {
  background: #00437C;
}
.btn_bg.high {
  background: #861C3C;
}

.btn_border {
  margin: 0 auto;
  text-align: center;
}
@media screen and (min-width: 1051px) {
  .btn_border {
    width: 320px;
  }
}
.btn_border a {
  position: relative;
  display: block;
  padding: 8px;
  border: 1px solid #666666;
}
.btn_border a:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 13px;
  width: 0;
  height: 0;
  margin: auto 0;
  border-style: solid;
  border-width: 3.5px 0 3.5px 5px;
  border-color: transparent transparent transparent #666666;
  content: "";
}
.btn_border a:hover {
  border-color: #5B3468;
  background: #5B3468;
  color: #fff;
}
.btn_border a:hover:after {
  border-left-color: #fff;
}

.tit_01 {
  margin-bottom: 42px;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .tit_01 {
    margin-bottom: 18px;
  }
}
.tit_01 .jp {
  display: block;
  font-weight: normal;
  font-size: 1.125rem;
}
@media screen and (max-width: 1050px) {
  .tit_01 .jp {
    font-size: 1rem;
  }
}

.tit_02 {
  position: relative;
  margin-bottom: 50px;
  color: #5B3468;
  font-size: 1.5rem;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .tit_02 {
    margin-bottom: 30px;
    font-size: 1.0625rem;
  }
}
.tit_02:after {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -12px;
  width: 28px;
  height: 2px;
  margin: 0 auto;
  background: #5B3468;
  content: "";
}
@media screen and (max-width: 1050px) {
  .tit_02:after {
    width: 20px;
    bottom: -6px;
  }
}
.tit_02.purple {
  color: #5B3468;
}
.tit_02.purple:after {
  background: #5B3468;
}
.tit_02.junior {
  color: #00437C;
}
.tit_02.junior:after {
  background: #00437C;
}
.tit_02.high {
  color: #861C3C;
}
.tit_02.high:after {
  background: #861C3C;
}

.tit_03 {
  margin-bottom: 35px;
  padding-bottom: 14px;
  border-bottom: 1px solid #5B3468;
  font-size: 1.25rem;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .tit_03 {
    margin-bottom: 20px;
    padding-bottom: 7px;
    font-size: 0.9375rem;
  }
}

.tit_04 {
  line-height: 1.5;
  margin-bottom: 32px;
  font-size: 1.5rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .tit_04 {
    margin-bottom: 15px;
    font-size: 1.0625rem;
  }
}
.tit_04.border {
  position: relative;
  margin-top: 50px;
  margin-bottom: 54px;
  padding-bottom: 15px;
  border-bottom: 1px solid;
}
@media screen and (max-width: 1050px) {
  .tit_04.border {
    margin: 40px 0 37px;
  }
}
.tit_04.border:after {
  position: absolute;
  bottom: -16px;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 16px 27.5px 0 27.5px;
  margin: 0 auto;
  content: "";
}
.tit_04.purple {
  color: #5B3468;
}
.tit_04.purple.border {
  border-color: #5B3468;
}
.tit_04.purple.border:after {
  border-color: #5B3468 transparent transparent transparent;
}
.tit_04.junior {
  color: #00437C;
}
.tit_04.junior.border {
  border-color: #00437C;
}
.tit_04.junior.border:after {
  border-color: #00437C transparent transparent transparent;
}
.tit_04.high {
  color: #861C3C;
}
.tit_04.high.border {
  border-color: #861C3C;
}
.tit_04.high.border:after {
  border-color: #861C3C transparent transparent transparent;
}

.tit_05 {
  margin-top: 40px;
  margin-bottom: 19px;
  padding-bottom: 5px;
  border-bottom: 1px solid #5B3468;
  font-size: 1.25rem;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 1050px) {
  .tit_05 {
    margin-top: 30px;
    margin-bottom: 10px;
    padding-bottom: 3px;
    font-size: 0.9375rem;
  }
}
.tit_05 .small {
  font-size: 0.9375rem;
}
@media screen and (max-width: 1050px) {
  .tit_05 .small {
    font-size: 0.6875rem;
  }
}
.tit_05.purple {
  border-color: #5B3468;
  color: #5B3468;
}
.tit_05.junior {
  border-color: #00437C;
  color: #00437C;
}
.tit_05.high {
  border-color: #861C3C;
  color: #861C3C;
}

.tit_06 {
  margin: 60px 0 40px;
  padding: 10px 0;
  border: 2px solid;
  border-width: 2px 0;
  font-size: 1.25rem;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .tit_06 {
    margin-bottom: 20px;
    font-size: 1.0625rem;
  }
}
.tit_06.purple {
  border-color: #5B3468;
  color: #5B3468;
}
.tit_06.junior {
  border-color: #00437C;
  color: #00437C;
}
.tit_06.high {
  border-color: #861C3C;
  color: #861C3C;
}

.tit_07 {
  margin: 30px 0 20px;
  padding: 11px 10px;
  background: #D3D5D5;
  font-size: 1.125rem;
  font-weight: normal;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .tit_07 {
    font-size: 1rem;
  }
}

.tit_08 {
  width: 230px;
  margin: 40px auto 20px;
  padding: 5px;
  border-radius: 29px;
  color: #fff;
  font-size: 1.125rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .tit_08 {
    font-size: 1rem;
  }
}
.tit_08.color01 {
  background: #5B3468;
}
.tit_08.color02 {
  background: #2A4D69;
}
.tit_08.color03 {
  background: #375B4C;
}

.tit_09 {
  max-width: 343px;
  margin: 60px auto 23px;
  padding: 14px 5px;
  border: 1px solid;
  font-size: 1.25rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .tit_09 {
    width: 80%;
    font-size: 1.0625rem;
  }
}
.tit_09.purple {
  box-shadow: 3px 3px 0 #5B3468;
  border-color: #5B3468;
  color: #5B3468;
}
.tit_09.junior {
  box-shadow: 3px 3px 0 #00437C;
  border-color: #00437C;
  color: #00437C;
}
.tit_09.high {
  box-shadow: 3px 3px 0 #861C3C;
  border-color: #861C3C;
  color: #861C3C;
}

.tit_10 {
  margin: 30px 0 30px;
  padding: 6px 10px;
  background: #EDEDED;
  font-size: 1.25rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .tit_10 {
    margin: 30px 0 15px;
    font-size: 1rem;
  }
}

.tit_11 {
  line-height: 1.6;
  margin-bottom: 3px;
  padding: 6px 10px;
  border: 1px solid #861C3C;
  color: #861C3C;
  font-size: 1.125rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .tit_11 {
    font-size: 1rem;
  }
}

.tit_12 {
  margin-bottom: 14px;
  padding: 7px 10px;
  background: #E9D6DC;
  color: #861C3C;
  font-size: 1.125rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .tit_12 {
    font-size: 1rem;
  }
}
.tit_12 .small {
  font-size: 0.9375rem;
}
@media screen and (max-width: 1050px) {
  .tit_12 .small {
    font-size: 0.8125rem;
  }
}
.tit_12.margin2 {
  margin: 40px 0 30px;
}
@media screen and (max-width: 1050px) {
  .tit_12.margin2 {
    margin: 40px 0 10px;
  }
}

/* レイアウト */
.col_4 {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 1050px) {
  .col_4 {
    justify-content: space-between;
  }
}
.col_4 li {
  width: 23.9090909091%;
  margin-bottom: 24px;
}
@media screen and (min-width: 1051px) {
  .col_4 li:not(:nth-child(4n+1)) {
    margin-left: 1.4545454545%;
  }
}
@media screen and (max-width: 1050px) {
  .col_4 li {
    width: 49%;
  }
}

@media screen and (min-width: 1051px) {
  .col_2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.col_2 li, .col_2 > div {
  margin-bottom: 24px;
}
@media screen and (min-width: 1051px) {
  .col_2 li, .col_2 > div {
    width: 47.2727272727%;
  }
}

@media screen and (min-width: 1051px) {
  .col_2_w {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.col_2_w li, .col_2_w > div {
  margin-bottom: 24px;
}
@media screen and (min-width: 1051px) {
  .col_2_w li, .col_2_w > div {
    width: 48.1818181818%;
  }
}

.table_01 {
  width: 100%;
}
.table_01 th, .table_01 td {
  padding: 5px 10px;
  border: 1px solid #000;
  border-width: 1px 0;
}
.table_01 th {
  vertical-align: middle;
  background: #EDEDED;
  font-weight: normal;
}
.table_01 td {
  padding-right: 5px;
}
.table_01 + .table_01 {
  margin-top: 10px;
}
.table_01 + p {
  margin-top: 4px;
}

.table_02 {
  width: 100%;
}
.table_02 th, .table_02 td {
  padding: 5px 10px;
  border: 1px solid #000;
  border-width: 1px 0;
}
.table_02 th {
  width: 150px;
  text-align: left;
  vertical-align: middle;
  background: #EDEDED;
  font-weight: normal;
}
.table_02 td {
  padding-right: 5px;
}
.table_02 + .table_02 {
  margin-top: 20px;
}
@media screen and (min-width: 1051px) {
  .table_02 + .table_02 {
    margin-top: 80px;
  }
}
.table_02 + p {
  margin-top: 4px;
}

.c-container_01 {
  margin: 0 auto;
  width: 100%;
  max-width: 760px;
}
@media screen and (min-width: 769px) {
  .c-container_01 {
    display: flex;
    align-items: flex-start;
  }
}
.c-container_01 .tit {
  width: 200px;
}
.c-container_01 .tit h3 {
  padding-right: 10px;
  width: 150px;
  text-align: right;
  color: #851C3D;
  background-color: #F3DE60;
  position: relative;
  line-height: 1.4;
  font-weight: bold;
  font-size: 1.25rem;
}
@media screen and (max-width: 1050px) {
  .c-container_01 .tit h3 {
    font-size: 1.0625rem;
  }
}
.c-container_01 .tit h3::after {
  content: "";
  position: absolute;
  top: 0px;
  right: -28px;
  height: 28px;
  width: 28px;
  -webkit-clip-path: polygon(0% 0%, 50% 50%, 0% 100%);
          clip-path: polygon(0% 0%, 50% 50%, 0% 100%);
  background-color: #F3DE60;
}
@media screen and (max-width: 1050px) {
  .c-container_01 .tit h3::after {
    height: 24px;
  }
}
.c-container_01 .box {
  padding-right: 5px;
  flex: 1;
}
@media screen and (max-width: 768px) {
  .c-container_01 .box {
    margin-top: 10px;
  }
}
.c-container_01 .box p + ul {
  margin-top: 20px;
}
.c-container_01 .box p.note {
  margin-top: 20px;
  font-size: 1rem;
}
@media screen and (max-width: 1050px) {
  .c-container_01 .box p.note {
    font-size: 0.875rem;
  }
}
.c-container_01 .box p.note span {
  display: block;
  padding-left: 20px;
}
.c-container_01 .box p.note span:first-child {
  position: relative;
}
.c-container_01 .box p.note span:first-child::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
.c-container_01 .box ul li {
  font-weight: bold;
  font-size: 1.25rem;
}
@media screen and (max-width: 1050px) {
  .c-container_01 .box ul li {
    font-size: 1.0625rem;
  }
}
.c-container_01 .box ul li span.small {
  font-size: 1.0625rem;
}
@media screen and (max-width: 1050px) {
  .c-container_01 .box ul li span.small {
    font-size: 0.9375rem;
  }
}
.c-container_01 .box ul li span.normal {
  font-weight: normal;
}
.c-container_01 + p {
  margin: 60px 0 30px;
  text-align: center;
}

.red {
  color: #FF0000;
}

.clear {
  clear: both;
}

@media screen and (max-width: 1050px) {
  .scroll {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    white-space: nowrap;
  }
  .scroll img {
    width: 100%;
    min-width: 768px;
  }
}

@media screen and (max-width: 1050px) {
  .scroll_timetable img {
    width: 408px;
    max-width: 408px;
  }
}

.txt_center {
  text-align: center;
}

.txt_right {
  text-align: right;
}

@media screen and (max-width: 1050px) {
  .sp_txt_left {
    text-align: left;
  }
}

.txt_small {
  font-size: 80%;
}

.info_list {
  margin: -40px 0 40px;
}
@media screen and (max-width: 1050px) {
  .info_list {
    margin: -20px 0 20px;
  }
}
.info_list li {
  border-bottom: 1px dotted #666666;
}
.info_list li a {
  display: block;
  padding: 16px 0;
}
@media screen and (min-width: 1051px) {
  .info_list li a {
    display: flex;
    align-items: baseline;
    padding: 24px 0;
  }
}
.info_list li a:hover {
  background: #F3EDF5;
  color: #5B3468;
}
.info_list li time {
  margin-right: 10px;
  font-size: 0.875rem;
}
@media screen and (max-width: 1050px) {
  .info_list li time {
    font-size: 0.75rem;
  }
}
.info_list li .cat {
  display: inline-block;
  line-height: 1.5;
  min-width: 85px;
  margin-right: 30px;
  padding: 0 5px;
  background: #666666;
  color: #fff;
  font-size: 0.75rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .info_list li .cat {
    min-width: 67px;
    font-size: 0.5625rem;
  }
}
.info_list li .cat.info {
  background: #5B3468;
}
.info_list li .cat.info-junior {
  background: #00437C;
}
.info_list li .cat.info-high {
  background: #861C3C;
}

.blog_list {
  clear: both;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 1050px) {
  .blog_list {
    justify-content: space-between;
  }
}
.blog_list.-reunion li span.cat {
  background-color: #5B3468;
}
.blog_list.top {
  margin-bottom: 40px;
}
@media screen and (max-width: 1050px) {
  .blog_list.top {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1051px) {
  .blog_list.top li {
    margin-bottom: 0;
  }
}
.blog_list li {
  width: 23.6363636364%;
  margin-bottom: 68px;
}
@media screen and (max-width: 1050px) {
  .blog_list li {
    width: 47.7611940299%;
    margin-bottom: 37px;
  }
}
@media screen and (min-width: 1051px) {
  .blog_list li + li {
    margin-left: 1.8181818182%;
  }
}
.blog_list li:nth-child(4n+1) {
  margin-left: 0;
}
.blog_list li a {
  display: block;
}
.blog_list li a:hover img {
  transform: scale(1.1, 1.1);
}
.blog_list li a:hover p {
  color: #5B3468;
}
.blog_list li figure {
  position: relative;
  padding-top: 75%;
  height: 0;
  overflow: hidden;
  margin-bottom: 12px;
}
@media screen and (max-width: 1050px) {
  .blog_list li figure {
    padding-top: 100%;
    margin-bottom: 3px;
  }
}
.blog_list li figure img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.4s;
}
.blog_list li time {
  font-family: "Roboto", sans-serif;
  font-size: 0.875rem;
}
@media screen and (min-width: 1051px) {
  .blog_list li time {
    margin-right: 12px;
  }
}
@media screen and (max-width: 1050px) {
  .blog_list li time {
    display: block;
    margin-top: 7px;
    line-height: 1.3333333333;
    font-size: 0.75rem;
  }
}
.blog_list li span.cat {
  display: inline-block;
  line-height: 1.5;
  min-width: 85px;
  padding: 0 5px;
  background: #666666;
  color: #fff;
  font-size: 0.75rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .blog_list li span.cat {
    min-width: 67px;
    font-size: 0.5625rem;
  }
}
.blog_list li span.cat.info {
  background: #5B3468;
}
.blog_list li span.cat.junior, .blog_list li span.cat.info-junior {
  background: #00437C;
}
.blog_list li span.cat.high, .blog_list li span.cat.info-high {
  background: #861C3C;
}
.blog_list li span.cat.-reunion {
  background: #5B3468;
}
@media screen and (max-width: 1050px) {
  .blog_list li p {
    margin-top: 3px;
    line-height: 1.5714285714;
    font-size: 0.875rem;
  }
}

@media screen and (min-width: 1051px) {
  .bnr_support_system {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1051px) {
  .bnr_support_system li {
    width: 48.1818181818%;
  }
}
@media screen and (max-width: 1050px) {
  .bnr_support_system li + li {
    margin-top: 28px;
  }
}
.bnr_support_system img {
  transition: 0.4s;
}
.bnr_support_system a:hover img {
  opacity: 0.7;
}

/*====================================
* ページ送り アーカイブ
=====================================*/
.navigation {
  padding-bottom: 80px;
}
@media screen and (max-width: 1050px) {
  .navigation {
    padding-bottom: 40px;
  }
}
.navigation .nav-links {
  display: flex;
  justify-content: center;
}
.navigation .nav-links a, .navigation .nav-links span {
  display: block;
  width: 33px;
  height: 33px;
  line-height: 33px;
  border-radius: 50%;
  background: #ECE4EF;
  color: #5B3468;
  font-size: 0.875rem;
  font-family: "Roboto", sans-serif;
  text-align: center;
}
.navigation .nav-links a + span, .navigation .nav-links a + a, .navigation .nav-links span + span, .navigation .nav-links span + a {
  margin-left: 20px;
}
@media screen and (max-width: 1050px) {
  .navigation .nav-links a + span, .navigation .nav-links a + a, .navigation .nav-links span + span, .navigation .nav-links span + a {
    margin-left: 10px;
  }
}
.navigation .nav-links a.current, .navigation .nav-links span.current {
  background: #5B3468;
  color: #fff;
}
.navigation .nav-links a.dots, .navigation .nav-links span.dots {
  border: none;
}
.navigation .nav-links a {
  position: relative;
  transition: 0.3s;
}
.navigation .nav-links a:hover {
  opacity: 0.6;
}
.navigation .nav-links a.next:after, .navigation .nav-links a.prev:after {
  position: absolute;
  top: 15px;
  left: 15px;
  width: 0;
  height: 0;
  border-style: solid;
  content: "";
}
.navigation .nav-links a.next:after {
  border-width: 2.5px 0 2.5px 4px;
  border-color: transparent transparent transparent #5B3468;
}
.navigation .nav-links a.prev:after {
  border-width: 2.5px 4px 2.5px 0;
  border-color: transparent #5B3468 transparent transparent;
}

/*====================================
* ページ送り 詳細ページ
=====================================*/
.page_detail_navi {
  position: relative;
  display: flex;
  justify-content: space-between;
  max-width: 900px;
  margin: 0 auto 100px;
}
@media screen and (max-width: 1050px) {
  .page_detail_navi {
    margin-bottom: 50px;
  }
}
.page_detail_navi li.btn_border {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
@media screen and (max-width: 1050px) {
  .page_detail_navi li.btn_border {
    width: 180px;
  }
}
.page_detail_navi li.next, .page_detail_navi li.prev {
  position: relative;
  width: 48px;
}
@media screen and (max-width: 1050px) {
  .page_detail_navi li.next, .page_detail_navi li.prev {
    width: 40px;
  }
}
.page_detail_navi li.next a, .page_detail_navi li.prev a {
  display: block;
  position: relative;
  width: 48px;
  height: 0;
  padding-top: 48px;
  border-radius: 50%;
  border: 1px solid #666666;
  text-indent: -99999;
  overflow: hidden;
}
@media screen and (max-width: 1050px) {
  .page_detail_navi li.next a, .page_detail_navi li.prev a {
    width: 40px;
    padding-top: 40px;
  }
}
.page_detail_navi li.next a:after, .page_detail_navi li.prev a:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
  border-width: 3.5px 0 3.5px 5px;
  border-color: transparent transparent transparent #666666;
  content: "";
}
.page_detail_navi li.next a:hover, .page_detail_navi li.prev a:hover {
  border-color: #5B3468;
  background: #5B3468;
}
.page_detail_navi li.next a:hover:after, .page_detail_navi li.prev a:hover:after {
  border-left-color: #fff;
}
.page_detail_navi li.prev a:after {
  transform: rotate(180deg);
}

/*====================================
* カテゴリーセレクト
=====================================*/
.select_cat {
  position: relative;
  width: 206px;
  margin: 0 0 40px auto;
  background: #ff0000;
}
.select_cat:after {
  position: absolute;
  top: 27px;
  right: 20px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 2.5px 0 2.5px;
  border-color: #707070 transparent transparent transparent;
  pointer-events: none;
  content: "";
}
.select_cat select {
  width: 100%;
  width: 206px;
  padding: 20px 27px;
  border-radius: 0px;
  border: 1px solid #707070;
  box-sizing: border-box;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

/*====================================
* Slider
=====================================*/
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
  margin: 0 auto;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Arrows */
.slick-prev,
.slick-next {
  display: block;
  position: absolute;
  bottom: -77px;
  width: 60px;
  height: 60px;
  line-height: 0;
  padding: 0;
  border-radius: 50%;
  border: 2px solid #5B3468;
  outline: none;
  background: #fff;
  color: transparent;
  font-size: 0;
  cursor: pointer;
  z-index: 99;
}
@media screen and (max-width: 768px) {
  .slick-prev,
.slick-next {
    width: 50px;
    height: 50px;
  }
}
.slick-prev:after,
.slick-next:after {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #5B3468;
  content: "";
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  color: transparent;
  outline: none;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  opacity: 0.75;
  color: white;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: 20px;
}
@media screen and (max-width: 768px) {
  .slick-prev {
    left: 10px;
  }
}
.slick-prev:after {
  transform: scale(-1, 1);
}

.slick-next {
  right: 20px;
}
@media screen and (max-width: 768px) {
  .slick-next {
    right: 10px;
  }
}

.slick-dots {
  display: flex;
  justify-content: center;
  margin-top: 33px;
}
.slick-dots li {
  width: 14px !important;
  margin: 0 !important;
}
.slick-dots li:only-child {
  display: none;
}
.slick-dots li + li {
  margin: 0 0 0 9px !important;
}
.slick-dots li button {
  position: relative;
  width: 14px !important;
  height: 0;
  padding: 12px 0 0;
  margin: 0;
  border: none;
  border-radius: 50%;
  border: 1px solid #5B3468;
  background: #fff;
  outline: none;
  text-indent: -999px;
  cursor: pointer;
  transition: 0.3s all ease-out;
  overflow: hidden;
}
.slick-dots li button:hover {
  background-color: #5B3468;
}
.slick-dots li.slick-active button:after {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #5B3468;
  content: "";
}

.slider {
  opacity: 0;
  transition: opacity 0.3s linear;
}

.slider.slick-initialized {
  opacity: 1;
}

.mv_slide {
  margin-bottom: 70px;
  overflow: hidden;
}
@media screen and (max-width: 1050px) {
  .mv_slide {
    margin-bottom: 40px;
  }
}
.mv_slide li img {
  width: 100%;
}
@media screen and (max-width: 1050px) {
  .mv_slide li img.pc {
    display: none !important;
  }
}
@media screen and (min-width: 1051px) {
  .mv_slide li img.sp {
    display: none !important;
  }
}
.mv_slide .slick-dots {
  position: absolute;
  bottom: 10px;
  right: 80px;
}
@media screen and (max-width: 1050px) {
  .mv_slide .slick-dots {
    bottom: 0;
    right: 20px;
  }
}

.top_bnr {
  margin-bottom: 70px;
}
@media screen and (max-width: 1050px) {
  .top_bnr {
    margin-bottom: 57px;
  }
}
.top_bnr ul {
  margin: 0 auto;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 40px;
}
@media screen and (max-width: 1050px) {
  .top_bnr ul {
    width: 96%;
    gap: 0 20px;
  }
}
.top_bnr ul li a {
  display: inline-block;
  transition: 0.4s;
}
.top_bnr ul li a:hover {
  opacity: 0.7;
}

.blog_content {
  margin-bottom: 70px;
}
@media screen and (max-width: 1050px) {
  .blog_content {
    margin-bottom: 57px;
  }
}

ul.tab_btn {
  display: flex;
  width: 100%;
  margin-bottom: 40px;
}
@media screen and (max-width: 1050px) {
  ul.tab_btn {
    margin-bottom: 20px;
  }
}
ul.tab_btn li {
  flex-grow: 1;
  padding: 14px;
  background: #CBCBCB;
  letter-spacing: 0;
  text-align: center;
  cursor: pointer;
  transition: 0.4s;
}
@media screen and (max-width: 1050px) {
  ul.tab_btn li {
    font-size: 0.625rem;
  }
}
ul.tab_btn li + li {
  margin-left: 1px;
}
ul.tab_btn li.active {
  background: #CEE0F7;
}

.tab_content {
  display: none;
  opacity: 0;
  transition: 0.4s;
}
.tab_content.active {
  display: block;
  opacity: 1;
}

.support_system_content {
  padding-bottom: 75px;
}
@media screen and (max-width: 1050px) {
  .support_system_content {
    padding-bottom: 62px;
  }
}
.support_system_content h2 {
  text-align: center;
}
@media screen and (min-width: 1051px) {
  .support_system_content {
    text-align: center;
  }
}
.support_system_content p {
  margin: 16px 0 54px;
}
@media screen and (max-width: 1050px) {
  .support_system_content p {
    margin-bottom: 29px;
  }
}

.course_content {
  position: relative;
  padding: 100px 0 100px;
  background: #F6F0E5;
}
.course_content:before {
  position: absolute;
  top: 0;
  right: 0;
  width: 362px;
  height: 319px;
  background: url(../img/top/bg_course.jpg) no-repeat 0 0/100% auto;
  content: "";
  z-index: 1;
}
@media screen and (max-width: 1050px) {
  .course_content:before {
    width: 200px;
  }
}
@media screen and (max-width: 1050px) {
  .course_content {
    padding: 58px 0 55px;
  }
}
.course_content_inner {
  max-width: 1210px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1051px) {
  .course_content_inner {
    padding-left: 55px;
    padding-right: 55px;
  }
}
.course_content h2 {
  position: relative;
  margin-bottom: 55px;
  text-align: center;
  z-index: 2;
}
@media screen and (max-width: 1050px) {
  .course_content h2 {
    margin-bottom: 46px;
  }
}
.course_content_box {
  position: relative;
  border-radius: 10px;
  padding: 80px 5.4545454545% 60px;
  background: #fff;
  z-index: 2;
}
@media screen and (max-width: 1135px) {
  .course_content_box {
    padding: 120px 30px 40px;
  }
}
@media screen and (max-width: 1050px) {
  .course_content_box {
    padding: 45px 20px 39px;
  }
}
.course_content_box + .course_content_box {
  margin-top: 120px;
}
.course_content_box h2 {
  position: absolute;
  top: -22px;
  left: 0;
  right: 0;
  max-width: 376px;
  margin: 0 auto;
}
@media screen and (max-width: 1050px) {
  .course_content_box h2 {
    width: 87.7611940299%;
  }
}
.course_content_box h2 a {
  position: relative;
  display: block;
  padding: 12px;
  color: #fff;
  font-size: 1.25rem;
  letter-spacing: 0.18em;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .course_content_box h2 a {
    padding: 8px 12px;
  }
}
.course_content_box h2 a:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  width: 0;
  height: 0;
  margin: auto 0;
  border-style: solid;
  border-width: 4.5px 0 4.5px 7px;
  border-color: transparent transparent transparent #fff;
  content: "";
}
.course_content_box h2 a:hover {
  background: #000;
}
.course_content_box > h3 {
  font-weight: normal;
}
@media screen and (min-width: 1051px) {
  .course_content_box > h3 {
    margin-bottom: 22px;
    font-size: 1.5rem;
    text-align: center;
  }
}
@media screen and (max-width: 1050px) {
  .course_content_box > h3 {
    line-height: 1.4444444444;
    margin-bottom: 21px;
    font-size: 1.125rem;
  }
}
.course_content_box h4 {
  position: relative;
  margin-bottom: 17px;
  font-size: 1.5rem;
  font-weight: normal;
}
.course_content_box h4 span {
  display: block;
}
@media screen and (max-width: 1050px) {
  .course_content_box h4 {
    margin: 17px 0 18px;
    font-size: 1.125rem;
    text-align: center;
  }
}
.course_content_box h4 + p {
  margin-bottom: 43px;
}
@media screen and (max-width: 1050px) {
  .course_content_box h4 + p {
    margin-bottom: 29px;
  }
}
.course_content_box .class {
  margin-bottom: 40px;
}
.course_content_box .class h5 {
  font-size: 1rem;
  font-weight: normal;
}
@media screen and (min-width: 1051px) {
  .course_content_box .class h5 {
    font-size: 1.125rem;
  }
}
.course_content_box .class > div {
  margin-top: 10px;
  padding: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  line-height: 1.4;
  font-size: 1.375rem;
  color: #fff;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0;
  background-color: #00437C;
}
@media screen and (max-width: 1050px) {
  .course_content_box .class > div {
    font-size: 1.125rem;
  }
}
.course_content_box .class > div span {
  padding: 2px 6px;
  font-size: 0.875rem;
  border: 1px solid #fff;
}
@media screen and (max-width: 1050px) {
  .course_content_box .class > div span {
    font-size: 0.75rem;
  }
}
.course_content_box .class p {
  margin-top: 6px;
}
.course_content_box .class p + h5 {
  margin-top: 24px;
}
@media screen and (min-width: 1051px) {
  .course_content_box .layout01 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 57px;
  }
}
@media screen and (max-width: 1050px) {
  .course_content_box .layout01 {
    margin-bottom: 37px;
  }
}
@media screen and (min-width: 1051px) {
  .course_content_box .layout01 .txt_box {
    width: 47.9591836735%;
  }
}
@media screen and (max-width: 1050px) {
  .course_content_box .layout01 .txt_box {
    margin-bottom: 20px;
  }
}
.course_content_box .layout01 .txt_box h3 {
  margin-bottom: 18px;
  font-size: 1.5rem;
}
@media screen and (max-width: 1050px) {
  .course_content_box .layout01 .txt_box h3 {
    margin-bottom: 11px;
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 1051px) {
  .course_content_box .layout01 figure {
    width: 45.9183673469%;
  }
}
@media screen and (min-width: 1051px) {
  .course_content_box .layout02 {
    display: flex;
    justify-content: space-between;
  }
  .course_content_box .layout02 figure {
    width: 42.8571428571%;
  }
  .course_content_box .layout02 .txt_box {
    width: 51.0204081633%;
  }
}
@media screen and (min-width: 1051px) {
  .course_content_box .course_content_news {
    display: flex;
    justify-content: space-between;
    margin-bottom: 36px;
  }
  .course_content_box .course_content_news > figure {
    width: 42.8571428571%;
  }
}
.course_content_box .course_content_news ul {
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 1051px) {
  .course_content_box .course_content_news ul {
    width: 51.0204081633%;
  }
}
@media screen and (max-width: 1050px) {
  .course_content_box .course_content_news ul {
    margin: 20px 0 22px;
  }
}
.course_content_box .course_content_news ul li {
  width: 48%;
}
@media screen and (max-width: 1050px) {
  .course_content_box .course_content_news ul li {
    width: 47.619047619%;
  }
}
.course_content_box .course_content_news ul li a {
  display: block;
}
.course_content_box .course_content_news ul li a:hover img {
  transform: scale(1.1, 1.1);
}
.course_content_box .course_content_news ul li a:hover p {
  color: #5B3468;
}
.course_content_box .course_content_news ul li figure {
  position: relative;
  padding-top: 75%;
  height: 0;
  overflow: hidden;
  margin-bottom: 16px;
}
@media screen and (max-width: 1050px) {
  .course_content_box .course_content_news ul li figure {
    padding-top: 100%;
    margin-bottom: 3px;
  }
}
.course_content_box .course_content_news ul li figure img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.4s;
}
.course_content_box .course_content_news ul li time {
  margin-right: 12px;
  font-family: "Roboto", sans-serif;
  font-size: 0.875rem;
}
@media screen and (max-width: 1050px) {
  .course_content_box .course_content_news ul li time {
    line-height: 1.3333333333;
    font-size: 0.75rem;
  }
}
.course_content_box .course_content_news ul li span.cat {
  display: inline-block;
  line-height: 1.5;
  min-width: 85px;
  color: #fff;
  font-size: 0.8125rem;
  text-align: center;
}
.course_content_box .course_content_news ul li span.cat.junior {
  background: #00437C;
}
@media screen and (max-width: 1050px) {
  .course_content_box .course_content_news ul li span.cat {
    display: none;
  }
}
@media screen and (max-width: 1050px) {
  .course_content_box .course_content_news ul li p {
    line-height: 1.5714285714;
    font-size: 0.875rem;
  }
}
.course_content_box p.btn {
  max-width: 320px;
}
@media screen and (max-width: 1050px) {
  .course_content_box p.btn {
    margin: 0 auto;
  }
}
.course_content_box p.btn a {
  position: relative;
  display: block;
  padding: 12px 20px;
  color: #fff;
  text-align: center;
}
.course_content_box p.btn a:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 13px;
  width: 0;
  height: 0;
  margin: auto 0;
  border-style: solid;
  border-width: 3.5px 0 3.5px 5px;
  border-color: transparent transparent transparent #fff;
  content: "";
}
.course_content_box p.btn a:hover {
  background: #000;
}
.course_content_box .comprehensive_type {
  margin-top: 51px;
}
@media screen and (max-width: 1050px) {
  .course_content_box .comprehensive_type {
    margin-top: 30px;
  }
}
.course_content_box.junior h2,
.course_content_box.junior p.btn,
.course_content_box.junior .cat {
  background: #00437C;
}
.course_content_box.junior h3, .course_content_box.junior h4, .course_content_box.junior h5 {
  color: #00437C;
}
.course_content_box.high {
  margin-top: 122px;
}
@media screen and (max-width: 1050px) {
  .course_content_box.high {
    margin-top: 63px;
  }
}
.course_content_box.high h2,
.course_content_box.high p.btn,
.course_content_box.high .cat {
  background: #861C3C;
}
.course_content_box.high h3, .course_content_box.high h4, .course_content_box.high h5 {
  color: #861C3C;
}
.course_content_box.high .comprehensive_type h2,
.course_content_box.high .comprehensive_type p.btn,
.course_content_box.high .comprehensive_type .cat {
  background: #7F618B;
}
.course_content_box.high .comprehensive_type h3, .course_content_box.high .comprehensive_type h4, .course_content_box.high .comprehensive_type h5 {
  color: #7F618B;
}

.movie_content {
  padding: 68px 0 80px;
}
.movie_content_inner {
  max-width: 1210px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
.movie_content h2 {
  margin-bottom: 40px;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .movie_content h2 {
    margin-bottom: 9px;
  }
}
@media screen and (min-width: 1051px) {
  .movie_content_box {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .movie_content_box > a {
    display: block;
    width: 50%;
  }
  .movie_content_box .txt_box {
    width: 45.4545454545%;
  }
}
.movie_content_box figure {
  transition: 0.4s;
}
.movie_content_box > a:hover figure {
  opacity: 0.7;
}
@media screen and (max-width: 1050px) {
  .movie_content_box p {
    margin-top: 14px;
  }
}
@media screen and (min-width: 1051px) {
  .movie_content_box p.btn {
    width: 240px;
    margin: 33px 0 21px;
  }
}
.movie_content_box p.btn a {
  display: block;
  padding: 10px;
  border-radius: 5px;
  background: #FB1A18;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .movie_content_box p.btn a {
    padding: 8px;
    font-size: 1.125rem;
    font-weight: normal;
  }
}
.movie_content_box p.btn a:hover {
  background: #000;
}
.movie_content_box .link {
  position: relative;
  padding-right: 20px;
  color: #FB1A18;
}
.movie_content_box .link:hover {
  color: #000;
}
.movie_content_box .link:after {
  position: absolute;
  top: 0.4em;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3.5px 0 3.5px 5px;
  border-color: transparent transparent transparent #FB1A18;
  content: "";
}
.movie_content_box .link:hover:after {
  border-left-color: #000;
}

.my_favorite_content {
  position: relative;
  padding: 50px 0;
  background: #E3DCE5;
}
@media screen and (max-width: 1050px) {
  .my_favorite_content {
    padding: 118px 0 40px;
  }
}
.my_favorite_content_inner {
  max-width: 1210px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1051px) {
  .my_favorite_content_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-left: 55px;
    padding-right: 55px;
  }
}
@media screen and (min-width: 1051px) {
  .my_favorite_content figure {
    width: 46.4545454545%;
  }
}
@media screen and (min-width: 1051px) {
  .my_favorite_content .txt_box {
    width: 50.9090909091%;
  }
}
@media screen and (max-width: 1050px) {
  .my_favorite_content .txt_box h2 {
    position: absolute;
    top: 40px;
    left: 20px;
    width: 89.3333333333%;
  }
}
.my_favorite_content .txt_box h2 img {
  transition: 0.4s;
}
.my_favorite_content .txt_box h2 a:hover img {
  opacity: 0.7;
}
.my_favorite_content .txt_box p:not([class]) {
  padding: 45px 0 34px;
}
@media screen and (max-width: 1050px) {
  .my_favorite_content .txt_box p:not([class]) {
    padding: 14px 0 28px;
  }
}
.my_favorite_content .txt_box p.btn {
  width: 320px;
}
@media screen and (max-width: 1050px) {
  .my_favorite_content .txt_box p.btn {
    width: 295px;
    margin: 0 auto;
  }
}
.my_favorite_content .txt_box p.btn a {
  display: block;
  padding: 13px;
  background: #5B3468;
  color: #fff;
  text-align: center;
}
.my_favorite_content .txt_box p.btn a:hover {
  background: #000;
}

.pickpu_content {
  padding: 88px 0 120px;
}
@media screen and (max-width: 768px) {
  .pickpu_content {
    padding-bottom: 100px;
  }
}
.pickpu_content h2 {
  margin-bottom: 20px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .pickpu_content .swiper {
    padding: 0 15px;
  }
}
@media screen and (min-width: 769px) {
  .pickpu_content ul.pickup li {
    width: 200px;
  }
}
.pickpu_content ul.pickup li a {
  display: block;
}
.pickpu_content ul.pickup li a img {
  margin-bottom: 10px;
  border: 1px solid #ccc;
  transition: 0.4s;
}
.pickpu_content ul.pickup li a:hover img {
  opacity: 0.65;
}

.swiper {
  position: relative;
  padding-bottom: 74px !important;
}

.swiper-button-next,
.swiper-button-prev {
  display: block;
  position: absolute;
  top: auto !important;
  bottom: 0 !important;
  width: 60px !important;
  height: 60px !important;
  line-height: 0;
  padding: 0;
  margin: 0 !important;
  border-radius: 50%;
  border: 1px solid #5B3468 !important;
  outline: none;
  background: #fff;
  color: transparent;
  font-size: 0;
  cursor: pointer;
  z-index: 99;
}
@media screen and (max-width: 768px) {
  .swiper-button-next,
.swiper-button-prev {
    width: 50px !important;
    height: 50px !important;
  }
}
.swiper-button-next:after,
.swiper-button-prev:after {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #5B3468;
  content: "";
}

.swiper-button-next,
.swiper-button-prev {
  color: transparent !important;
}

.swiper-button-prev:after {
  transform: scale(-1, 1);
}

@media screen and (min-width: 1051px) {
  .swiper-button-prev {
    left: 60px !important;
  }
  .swiper-button-next {
    right: 60px !important;
  }
}
/*====================================
* アーカイブタイトル　＋　パンくずリスト
=====================================*/
.page_wrap_tit {
  padding: 1px 0;
}
.page_wrap_tit.junior {
  background: #00437C;
}
.page_wrap_tit.junior, .page_wrap_tit.junior a, .page_wrap_tit.junior h1, .page_wrap_tit.junior span {
  color: #fff;
}
.page_wrap_tit.high {
  background: #861C3C;
}
.page_wrap_tit.high, .page_wrap_tit.high a, .page_wrap_tit.high h1, .page_wrap_tit.high span {
  color: #fff;
}
.page_wrap_tit.comprehensive-type {
  background: #5B3468;
}
.page_wrap_tit.comprehensive-type, .page_wrap_tit.comprehensive-type a, .page_wrap_tit.comprehensive-type h1, .page_wrap_tit.comprehensive-type span {
  color: #fff;
}

.page_tit01 {
  margin: 79px 0 43px;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .page_tit01 {
    margin: 40px 0 34px;
  }
  .page_tit01 img {
    max-height: 18px;
  }
}
.page_tit01 .jp {
  display: block;
  margin-top: 9px;
  color: #5B3468;
  font-size: 1.25rem;
  font-weight: bold;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 1050px) {
  .page_tit01 .jp {
    font-size: 0.75rem;
  }
}

.page_tit02 {
  margin: 80px 0 60px;
  color: #5B3468;
  font-size: 2rem;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .page_tit02 {
    margin: 40px 0 34px;
    font-size: 1.125rem;
  }
}

.breadcrumb {
  display: flex;
  margin-bottom: 52px;
}
@media screen and (max-width: 768px) {
  .breadcrumb {
    margin-bottom: 20px;
    overflow-x: scroll;
    word-break: keep-all;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
}
.breadcrumb li {
  font-size: 0.8125rem;
}
@media screen and (max-width: 1050px) {
  .breadcrumb li {
    font-size: 0.5625rem;
  }
}
.breadcrumb li a:hover {
  color: #5B3468;
}
.breadcrumb li + li {
  position: relative;
  margin-left: 0.5em;
}
.breadcrumb li + li:before {
  position: relative;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  margin-right: 0.5em;
  content: ">";
}

.page_mv {
  margin-bottom: 60px;
}
@media screen and (max-width: 1050px) {
  .page_mv {
    margin-bottom: 30px;
  }
}
.page_mv.top_m {
  margin-top: 75px;
}
@media screen and (max-width: 1050px) {
  .page_mv.top_m {
    margin-top: 30px;
  }
}

/*====================================
* 下層ページ　タイトル下画像なし
=====================================*/
.page_content {
  padding-top: 80px;
}
@media screen and (max-width: 1050px) {
  .page_content {
    padding-top: 40px;
  }
}

/*====================================
* 下層ページ　カテゴリーナビゲーションなし
=====================================*/
.page_content_btm {
  padding-bottom: 100px;
}
@media screen and (max-width: 1050px) {
  .page_content_btm {
    padding-bottom: 50px;
  }
}

/*====================================
* コンテンツトップナビ
=====================================*/
.nav_list {
  margin-bottom: 40px;
}
@media screen and (min-width: 1051px) {
  .nav_list {
    display: flex;
    margin-bottom: 75px;
  }
}
@media screen and (min-width: 1051px) {
  .nav_list li:nth-child(3n+2) {
    margin: 0 1px;
  }
}
@media screen and (max-width: 1050px) {
  .nav_list li + li {
    margin-top: 20px;
  }
}
.nav_list li a {
  display: block;
}
.nav_list li a figure {
  overflow: hidden;
}
.nav_list li a figure img {
  width: 100%;
  transition: 0.4s;
}
.nav_list li a .tit {
  position: relative;
  display: block;
  padding: 13px 50px 13px 20px;
  font-size: 1.125rem;
  transition: 0.4s;
}
@media screen and (max-width: 1050px) {
  .nav_list li a .tit {
    font-size: 0.9375rem;
  }
}
.nav_list li a .tit:before {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 26px;
  height: 26px;
  border: 1px solid #666666;
  border-radius: 50%;
  content: "";
  transition: 0.4s;
}
@media screen and (max-width: 1050px) {
  .nav_list li a .tit:before {
    top: 13px;
  }
}
.nav_list li a .tit:after {
  position: absolute;
  top: 31px;
  right: 31px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.5px 0 2.5px 4px;
  border-color: transparent transparent transparent #666666;
  content: "";
  transition: 0.4s;
}
@media screen and (max-width: 1050px) {
  .nav_list li a .tit:after {
    top: 25px;
  }
}
.nav_list li a:hover img {
  transform: scale(1.1, 1.1);
}
.nav_list li a:hover .tit {
  color: #5B3468;
}
.nav_list li a:hover .tit:before {
  background: #5B3468;
  border-color: #5B3468;
}
.nav_list li a:hover .tit:after {
  border-left-color: #fff;
}

/*====================================
* コンテンツ フッターナビ
=====================================*/
.content_footer_nav {
  margin-top: 80px;
  padding: 73px 0 60px;
  background: #EFEFEF;
}
@media screen and (max-width: 1050px) {
  .content_footer_nav {
    margin-top: 50px;
    padding: 30px 0 15px;
  }
}
.content_footer_nav dl {
  max-width: 1210px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1051px) {
  .content_footer_nav dl {
    display: flex;
    justify-content: space-between;
  }
}
.content_footer_nav dl dt {
  position: relative;
  line-height: 1;
  font-size: 0.9375rem;
  font-weight: bold;
}
@media screen and (min-width: 1051px) {
  .content_footer_nav dl dt {
    width: 17.7272727273%;
    font-size: 1.125rem;
  }
  .content_footer_nav dl dt:after {
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: calc(100% - 12px);
    background: #000;
    content: "";
  }
}
@media screen and (max-width: 1050px) {
  .content_footer_nav dl dt {
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #000;
  }
}
.content_footer_nav dl dt a {
  position: relative;
  padding-right: 40px;
}
@media screen and (max-width: 1050px) {
  .content_footer_nav dl dt a {
    padding-right: 25px;
  }
}
.content_footer_nav dl dt a:before, .content_footer_nav dl dt a:after {
  position: absolute;
  content: "";
  transition: 0.4s;
}
.content_footer_nav dl dt a:before {
  top: 4px;
  right: 0;
  width: 20px;
  height: 20px;
  border: 1px solid #666666;
  border-radius: 50%;
}
@media screen and (max-width: 1050px) {
  .content_footer_nav dl dt a:before {
    width: 17px;
    height: 17px;
  }
}
.content_footer_nav dl dt a:after {
  top: 12px;
  right: 9px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.5px 0 2.5px 3px;
  border-color: transparent transparent transparent #666666;
}
@media screen and (max-width: 1050px) {
  .content_footer_nav dl dt a:after {
    top: 11px;
    right: 7px;
  }
}
.content_footer_nav dl dt a:hover {
  color: #5B3468;
}
.content_footer_nav dl dt a:hover:before {
  border-color: #5B3468;
  background: #5B3468;
}
.content_footer_nav dl dt a:hover:after {
  border-left-color: #fff;
}
@media screen and (min-width: 1051px) {
  .content_footer_nav dl div {
    display: flex;
    flex-wrap: wrap;
    width: 78.1818181818%;
  }
}
.content_footer_nav dl div dd {
  margin-bottom: 14px;
  margin-right: 30px;
}
.content_footer_nav dl div dd a {
  position: relative;
  padding-right: 12px;
}
.content_footer_nav dl div dd a:after {
  position: absolute;
  top: 10px;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.5px 0 2.5px 3px;
  border-color: transparent transparent transparent #666666;
  content: "";
}
.content_footer_nav dl div dd a:hover {
  color: #5B3468;
}
@media screen and (min-width: 1051px) {
  .content_footer_nav dl.about dt {
    width: 14.0909090909%;
  }
  .content_footer_nav dl.about div {
    width: 82.7272727273%;
  }
}

/*====================================
* アクセス
=====================================*/
.access_info {
  margin-bottom: 66px;
  border: 1px solid #5B3468;
}
@media screen and (max-width: 1050px) {
  .access_info {
    margin-bottom: 36px;
  }
}
.access_info dt {
  padding: 11px;
  background: #5B3468;
  color: #fff;
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .access_info dt {
    font-size: 0.9375rem;
  }
}
.access_info .dl_in {
  padding: 15px;
}
@media screen and (min-width: 1051px) {
  .access_info .dl_in {
    display: flex;
    justify-content: center;
    padding: 30px 20px;
  }
}
.access_info dd {
  position: relative;
  padding-left: 15px;
}
.access_info dd:before {
  position: absolute;
  top: 0.75em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #5B3468;
  content: "";
}
@media screen and (max-width: 1050px) {
  .access_info dd:before {
    top: 0.5em;
  }
}
@media screen and (min-width: 1051px) {
  .access_info dd + dd {
    margin-left: 50px;
  }
}
@media screen and (max-width: 1050px) {
  .access_info dd + dd {
    margin-top: 10px;
  }
}

ul.access_list01 {
  padding-top: 4px;
}
ul.access_list01 li {
  position: relative;
  padding-left: 15px;
  margin-top: 8px;
}
ul.access_list01 li:before {
  position: absolute;
  top: 0.75em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #5B3468;
  content: "";
}
@media screen and (max-width: 1050px) {
  ul.access_list01 li:before {
    top: 0.5em;
  }
}

ul.access_list02 {
  margin-top: 8px;
}
ul.access_list02 li {
  position: relative;
  padding-left: 1em;
}
ul.access_list02 li:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  content: "※";
}

/*====================================
* お問い合わせ
=====================================*/
ol.form_step {
  line-height: 1;
  display: table;
  width: 100%;
  margin: 55px 0 30px;
  overflow: hidden;
}
@media screen and (max-width: 1050px) {
  ol.form_step {
    margin: 30px 0 20px;
  }
}
ol.form_step li {
  position: relative;
  display: table-cell;
  width: 33.3%;
  height: 70px;
  vertical-align: middle;
  background: #F7F7F7;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  ol.form_step li {
    height: 65px;
  }
}
ol.form_step li:after, ol.form_step li:before {
  position: absolute;
  width: 0;
  height: 0;
  content: "";
}
ol.form_step li:before {
  top: 0px;
  right: -14px;
  border-top: 38px solid transparent;
  border-bottom: 38px solid transparent;
  border-left: 13px solid #D5D5D5;
  z-index: 9;
}
@media screen and (max-width: 1050px) {
  ol.form_step li:before {
    border-width: 32px 0 32px 13px;
  }
}
ol.form_step li:after {
  top: 0;
  right: -13px;
  border-top: 38px solid transparent;
  border-bottom: 38px solid transparent;
  border-left: 13px solid #F7F7F7;
  z-index: 9;
}
@media screen and (max-width: 1050px) {
  ol.form_step li:after {
    border-width: 32px 0 32px 13px;
  }
}
ol.form_step li.on {
  background: #5B3468;
  color: #fff;
}
ol.form_step li.on:before {
  top: 0px;
  right: -14px;
  border-top: 38px solid transparent;
  border-bottom: 38px solid transparent;
  border-left: 13px solid #eee;
  z-index: 9;
}
@media screen and (max-width: 1050px) {
  ol.form_step li.on:before {
    border-width: 32px 0 32px 13px;
  }
}
ol.form_step li.on:after {
  top: 0;
  right: -13px;
  border-top: 38px solid transparent;
  border-bottom: 38px solid transparent;
  border-left: 13px solid #5B3468;
  z-index: 9;
}
@media screen and (max-width: 1050px) {
  ol.form_step li.on:after {
    border-width: 32px 0 32px 13px;
  }
}
ol.form_step li:last-child:after, ol.form_step li:last-child:before {
  display: none;
}
ol.form_step li span.en {
  display: block;
  margin: 0 0 5px;
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-size: 0.75rem;
  letter-spacing: 0;
}
@media screen and (max-width: 1050px) {
  ol.form_step li span.en {
    font-size: 0.5625rem;
  }
}

table.form {
  width: 100%;
  border: 1px solid #707070;
  border-width: 1px 0;
}
table.form tr.js-check-change, table.form tr.js-check-stop {
  display: none;
}
table.form th, table.form td {
  padding: 40px 0;
  border-bottom: 1px dotted #707070;
}
@media screen and (max-width: 1050px) {
  table.form th, table.form td {
    padding: 20px 0;
    display: block;
    width: 100%;
  }
}
@media screen and (max-width: 1050px) {
  table.form tr:last-child td {
    border-bottom: none;
  }
}
table.form th {
  vertical-align: top;
  text-align: left;
}
@media screen and (min-width: 1051px) {
  table.form th {
    width: 22.7272727273%;
  }
}
@media screen and (max-width: 1050px) {
  table.form th {
    padding-bottom: 0;
    border-bottom: none;
  }
}
table.form td.wrapper input + p:not(.ex),
table.form td.wrapper .box + p:not(.ex) {
  margin-top: 23px;
  font-weight: bold;
}
table.form td .box {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
table.form td .box div p:not(.ex) {
  font-weight: bold;
}
table.form td .box div input, table.form td .box div select {
  width: 200px;
}
table.form td .mwform-radio-field {
  display: inline-block;
}
table.form td .mwform-radio-field label {
  display: flex;
}
table.form td input[type=radio] {
  width: auto;
}
table.form td .month {
  display: flex;
  align-items: center;
  gap: 10px;
}
@media screen and (max-width: 1050px) {
  table.form td .month {
    display: grid;
    grid-template-columns: auto 50px;
  }
}
table.form td.is_error input, table.form td.is_error textarea, table.form td.is_error select {
  background: #FFE8E8;
}
table.form span.ico {
  display: inline-block;
  line-height: 1;
  padding: 4px 10px;
  margin: 0 5px;
  border-radius: 3px;
  font-weight: normal;
  font-size: 0.8125rem;
  letter-spacing: 0.04em;
  color: #fff;
}
@media screen and (max-width: 1050px) {
  table.form span.ico {
    font-size: 0.625rem;
  }
}
table.form span.ico.optional {
  background-color: #ccc;
}
table.form span.ico.must {
  background-color: #FD5252;
}
table.form input, table.form textarea, table.form select {
  width: 100%;
  padding: 12px;
  border: 1px solid #BFBFBF;
  border-radius: 3px;
  box-sizing: border-box;
  font-size: 1rem;
}
@media screen and (min-width: 1051px) {
  table.form input.input_m, table.form textarea.input_m, table.form select.input_m {
    width: 41.7163289631%;
  }
}
table.form input.input_s, table.form textarea.input_s, table.form select.input_s {
  width: 200px;
}
table.form textarea {
  height: 195px;
}
table.form select {
  padding-right: 30px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
table.form .select_box {
  position: relative;
  display: inline-block;
}
table.form .select_box:after {
  position: absolute;
  top: 17px;
  right: 10px;
  width: 0.4em;
  height: 0.4em;
  padding: 0;
  content: "";
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  pointer-events: none;
  transform: rotateZ(45deg);
}
table.form p.ex {
  color: #999999;
}
table.form dl dt {
  margin-bottom: 1px;
  font-weight: bold;
}
table.form dl dd + dt {
  margin-top: 17px;
}
@media screen and (min-width: 1051px) {
  table.form dl.add01 {
    display: flex;
    margin-bottom: 20px;
  }
  table.form dl.add01 .dl_in + .dl_in {
    margin-left: 30px;
  }
}
@media screen and (max-width: 1050px) {
  table.form dl.add01 .dl_in {
    margin-bottom: 17px;
  }
}

.mw_wp_form_confirm p.ex {
  display: none;
}
.mw_wp_form_confirm .select_box:after {
  display: none;
}

.btn_submit {
  display: flex;
  justify-content: center;
  margin-top: 60px;
}
@media screen and (max-width: 1050px) {
  .btn_submit {
    margin-top: 30px;
  }
}
.btn_submit input {
  width: 320px;
  padding: 11px;
  border: 1px solid #666666;
  background: #fff;
  font-size: 1rem;
  cursor: pointer;
  transition: 0.4s;
}
@media screen and (max-width: 1050px) {
  .btn_submit input {
    width: 100%;
  }
}
.btn_submit input:hover {
  background: #5B3468;
  color: #fff;
}
.btn_submit .btn_form_back {
  margin-right: 20px;
}
.btn_submit .btn_form_back input {
  width: 150px;
}
@media screen and (max-width: 1050px) {
  .btn_submit .btn_form_back input {
    width: 100%;
  }
}

.thanks_content .tit_05 + p {
  margin-top: 30px;
}
.thanks_content .btn {
  margin: 20px auto 0;
  max-width: 320px;
}
.thanks_content .btn a {
  position: relative;
  display: block;
  padding: 12px 20px;
  width: 100%;
  border: 1px solid #666666;
  text-align: center;
}
.thanks_content .btn a:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 13px;
  width: 0;
  height: 0;
  margin: auto 0;
  border-style: solid;
  border-width: 3.5px 0 3.5px 5px;
  border-color: transparent transparent transparent #666666;
  content: "";
}
.thanks_content .btn a:hover {
  background: #5B3468;
  color: #fff;
}

/*====================================
* 資料請求
=====================================*/
.request_list {
  margin-top: 15px;
}
@media screen and (min-width: 1051px) {
  .request_list {
    display: flex;
    justify-content: space-between;
    margin-top: 35px;
  }
}
@media screen and (min-width: 1051px) {
  .request_list li {
    width: 46.6666666667%;
  }
}
@media screen and (max-width: 1050px) {
  .request_list li + li {
    margin-top: 10px;
  }
  .request_list li + li.pamphlet {
    margin-top: 30px;
  }
}
.request_list li a.pamphlet {
  display: block;
  margin-bottom: 10px;
}
.request_list li a.pamphlet:hover {
  opacity: 0.6;
}
.request_list li a.high, .request_list li a.junior {
  position: relative;
  display: block;
  padding: 15px 50px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  transition: 0.4s;
}
.request_list li a.high.high, .request_list li a.junior.high {
  background: #861C3C;
}
.request_list li a.high.junior, .request_list li a.junior.junior {
  background: #00437C;
}
.request_list li a.high:hover, .request_list li a.junior:hover {
  background: #000;
}
.request_list li a.high:before, .request_list li a.high:after, .request_list li a.junior:before, .request_list li a.junior:after {
  position: absolute;
  content: "";
  transition: 0.4s;
  z-index: 8;
}
.request_list li a.high:before, .request_list li a.junior:before {
  top: 0;
  bottom: 0;
  right: 20px;
  width: 26px;
  height: 26px;
  margin: auto 0;
  border: 1px solid #fff;
  border-radius: 50%;
}
@media screen and (max-width: 1050px) {
  .request_list li a.high:before, .request_list li a.junior:before {
    right: 15px;
    width: 25px;
    height: 25px;
  }
}
.request_list li a.high:after, .request_list li a.junior:after {
  top: 0;
  bottom: 0;
  right: 32px;
  width: 0;
  height: 0;
  margin: auto 0;
  border-style: solid;
  border-width: 2.5px 0 2.5px 3px;
  border-color: transparent transparent transparent #fff;
}
@media screen and (max-width: 1050px) {
  .request_list li a.high:after, .request_list li a.junior:after {
    top: 1px;
    right: 26px;
    border-width: 3px 0 3px 4px;
  }
}

/*====================================
* いじめ対策基本方針
=====================================*/
.bullying-prevention_content > ol {
  list-style: decimal;
}
.bullying-prevention_content > ol > li {
  margin-left: 1.5em;
}
.bullying-prevention_content > ol > li + li {
  margin-top: 0.5em;
}
.bullying-prevention_content > ol > li + li h4 {
  margin-top: 1.5em;
}
.bullying-prevention_content > ol > li > ol > li {
  position: relative;
  margin-top: 0.5em;
  padding-left: 2.5em;
  counter-increment: count;
}
.bullying-prevention_content > ol > li > ol > li:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 3em;
  height: 1em;
  content: "（" counter(count) "）";
}
.bullying-prevention_content > ol > li > ol > li ul li {
  position: relative;
  padding-left: 1em;
}
.bullying-prevention_content > ol > li > ol > li ul li:before {
  position: absolute;
  top: 0.75em;
  left: 3px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #5B3468;
  content: "";
}
@media screen and (max-width: 1050px) {
  .bullying-prevention_content > ol > li > ol > li ul li:before {
    top: 0.5em;
  }
}

/*====================================
* 同窓会
=====================================*/
.reunion_contents ul.tab_btn li {
  width: 100%;
  padding: clamp(0.625rem, 0.5454545455rem + 0.4848484848vw, 0.875rem);
}
.reunion_contents .reunion-nav ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
}
@media screen and (min-width: 1051px) {
  .reunion_contents .reunion-nav ul {
    grid-template-columns: repeat(2, 1fr);
  }
}
.reunion_contents .reunion-nav ul li a figure {
  overflow: hidden;
}
.reunion_contents .reunion-nav ul li a figure img {
  transition: scale 0.3s;
}
.reunion_contents .reunion-nav ul li a div {
  padding: 13px;
  width: 100%;
  text-align: center;
  color: #fff;
  background-color: #5B3468;
  position: relative;
  transition: 0.4s;
}
.reunion_contents .reunion-nav ul li a div::before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 13px;
  width: 0;
  height: 0;
  margin: auto 0;
  border-style: solid;
  border-width: 3.5px 0 3.5px 5px;
  border-color: transparent transparent transparent #fff;
  content: "";
}
.reunion_contents .reunion-nav ul li a:hover figure img {
  scale: 1.05;
}
.reunion_contents .reunion-nav ul li a:hover div {
  background-color: #000;
}

.newsletter_contents {
  text-align: center;
}
.newsletter_contents .reunion_list {
  margin-top: 40px;
  display: grid;
  gap: 55px 20px;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (min-width: 769px) {
  .newsletter_contents .reunion_list {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  }
}
.newsletter_contents .reunion_list li p {
  margin-top: 15px;
  color: #5B3468;
  font-weight: bold;
}

.subsidy_content .tit_02 {
  margin-top: 50px;
}
.subsidy_content .table01 {
  width: 100%;
}
.subsidy_content .table01 tbody tr th {
  width: 126px;
  text-align: center;
  border-top: 1px solid #5B3468;
  color: #5B3468;
  font-weight: bold;
  background-color: #F4EDF5;
}
.subsidy_content .table01 tbody tr td {
  padding: 21px;
  border-top: 1px solid #C4C4C4;
}
.subsidy_content .table01 tbody tr:last-child th {
  border-bottom: 1px solid #5B3468;
}
.subsidy_content .table01 tbody tr:last-child td {
  border-bottom: 1px solid #C4C4C4;
}
.subsidy_content .table01 + p {
  margin-top: 20px;
}
.subsidy_content .table01 + p + b {
  display: block;
  margin-top: 40px;
}
.subsidy_content .box {
  margin-top: 20px;
  padding: 42px clamp(1.25rem, -17.3333333333rem + 26.6666666667vw, 3.75rem) 33px;
  border: 1px solid #5B3468;
}
.subsidy_content .box ul {
  padding-bottom: 34px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px clamp(2.5rem, -25.3333333333rem + 40vw, 6.25rem);
  border-bottom: 1px solid #C4C4C4;
}
.subsidy_content .box ul li {
  max-width: 320px;
  width: 100%;
}
.subsidy_content .box ul li a {
  padding: 15px;
  display: block;
  width: 100%;
  text-align: center;
  color: #fff;
  background-color: #5B3468;
  position: relative;
}
.subsidy_content .box ul li a:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 14px;
  width: 16px;
  height: 20px;
  margin: auto 0;
  background: url(../img/common/ico_doc.svg) no-repeat 0 0/100% auto;
  content: "";
}
@media screen and (max-width: 1050px) {
  .subsidy_content .box ul li a:after {
    right: 10px;
  }
}
.subsidy_content .box ul li a:hover {
  background-color: #000;
}
.subsidy_content .box ul li a + span {
  display: block;
  text-align: center;
  font-weight: bold;
}
.subsidy_content .box ul li:nth-child(2) a:after {
  background: url(../img/common/ico_pdf-wh.svg) no-repeat 0 0/100% auto;
}
.subsidy_content .box .table02 {
  margin: 40px auto 0;
  max-width: 440px;
}
.subsidy_content .box .table02 tr + tr th, .subsidy_content .box .table02 tr + tr td {
  padding-top: 18px;
}
.subsidy_content .box .table02 tr th {
  width: 123px;
  text-align: left;
  font-weight: bold;
}
.subsidy_content .box .table02 tr td {
  margin-left: 16px;
}
.subsidy_content .box + p {
  margin-top: 20px;
}

.date-change_content .tit_02 {
  margin-top: 50px;
}
.date-change_content .tit_02 + p {
  margin-bottom: 20px;
}
.date-change_content .btn {
  margin: 20px auto 0;
  max-width: 320px;
  background: #5B3468;
}
.date-change_content .btn a {
  position: relative;
  display: block;
  padding: 12px 20px;
  width: 100%;
  color: #fff;
  text-align: center;
}
.date-change_content .btn a:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 13px;
  width: 0;
  height: 0;
  margin: auto 0;
  border-style: solid;
  border-width: 3.5px 0 3.5px 5px;
  border-color: transparent transparent transparent #fff;
  content: "";
}
.date-change_content .btn a:hover {
  background: #000;
}
.date-change_content ol li + li {
  margin-top: 30px;
}

/*====================================
* 404
=====================================*/
.not_found_content {
  text-align: center;
}
.not_found_content h1 {
  margin-bottom: 95px;
  color: #000;
}
@media screen and (max-width: 1050px) {
  .not_found_content h1 {
    margin-bottom: 35px;
  }
}
.not_found_content h2 {
  line-height: 1;
  color: #5B3468;
  font-size: 6.75rem;
  font-style: italic;
  font-family: "Roboto", sans-serif;
}
@media screen and (max-width: 1050px) {
  .not_found_content h2 {
    font-size: 6.125rem;
  }
}
.not_found_content h2 span {
  display: block;
  margin-top: 10px;
  font-size: 1.625rem;
}
@media screen and (max-width: 1050px) {
  .not_found_content h2 span {
    font-size: 1.25rem;
  }
}
.not_found_content h2 + p {
  margin: 30px 0 60px;
}
@media screen and (max-width: 1050px) {
  .not_found_content h2 + p {
    margin: 20px 0 30px;
  }
}

/*====================================
* 教育理念/校長挨拶
=====================================*/
.philosophy_content {
  max-width: 1210px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
.philosophy_content .copy {
  max-width: 449px;
  margin: 0 auto 75px;
}
@media screen and (max-width: 1050px) {
  .philosophy_content .copy {
    margin-bottom: 30px;
  }
}
.philosophy_content .goal {
  margin-bottom: 40px;
}
@media screen and (min-width: 1051px) {
  .philosophy_content .goal {
    display: flex;
    justify-content: space-between;
    margin-bottom: 66px;
  }
}
.philosophy_content .goal > li {
  border: 1px solid #000;
}
@media screen and (min-width: 1051px) {
  .philosophy_content .goal > li {
    width: 48.1818181818%;
  }
}
@media screen and (max-width: 1050px) {
  .philosophy_content .goal > li + li {
    margin-top: 15px;
  }
}
.philosophy_content .goal > li h3 {
  padding: 8px;
  color: #fff;
  font-size: 1.25rem;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .philosophy_content .goal > li h3 {
    font-size: 1rem;
  }
}
.philosophy_content .goal > li ul {
  padding: 30px;
}
@media screen and (max-width: 1050px) {
  .philosophy_content .goal > li ul {
    padding: 15px;
  }
}
.philosophy_content .goal > li ul li {
  position: relative;
  padding-left: 16px;
  font-size: 0.875rem;
}
@media screen and (max-width: 1050px) {
  .philosophy_content .goal > li ul li {
    font-size: 0.75rem;
  }
}
.philosophy_content .goal > li ul li:before {
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  content: "";
}
@media screen and (max-width: 1050px) {
  .philosophy_content .goal > li ul li:before {
    top: 0.6em;
  }
}
.philosophy_content .goal > li ul li + li {
  margin-top: 10px;
}
.philosophy_content .goal > li:first-child {
  border-color: #00437C;
}
.philosophy_content .goal > li:first-child h3, .philosophy_content .goal > li:first-child li:before {
  background: #00437C;
}
.philosophy_content .goal > li:last-child {
  border-color: #861C3C;
}
.philosophy_content .goal > li:last-child h3, .philosophy_content .goal > li:last-child li:before {
  background: #861C3C;
}
.philosophy_content .message {
  max-width: 900px;
  margin: 30px auto;
}
@media screen and (max-width: 1050px) {
  .philosophy_content .message {
    margin: 20px 0;
  }
}
.philosophy_content .message h3 {
  margin-bottom: 15px;
  color: #5B3468;
  font-size: 1.5rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .philosophy_content .message h3 {
    font-size: 1rem;
  }
}
.philosophy_content .message p {
  margin-bottom: 1.5em;
}
.philosophy_content .message p.name {
  font-weight: bold;
  text-align: right;
}
.philosophy_content .message p.name .in {
  font-size: 1.125rem;
}
@media screen and (max-width: 1050px) {
  .philosophy_content .message p.name .in {
    font-size: 1rem;
  }
}

/*====================================
* 学校沿革 / 校歌・応援歌
=====================================*/
.history_content {
  max-width: 1210px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
.history_content table.history_table {
  width: 100%;
  margin-bottom: 67px;
}
@media screen and (max-width: 1050px) {
  .history_content table.history_table {
    margin-bottom: 55px;
  }
}
.history_content table.history_table tr {
  display: flex;
}
.history_content table.history_table tr:last-child th {
  border-bottom: 1px solid #5B3468;
}
.history_content table.history_table tr:last-child td {
  border-bottom: 1px solid #C4C4C4;
}
.history_content table.history_table th, .history_content table.history_table td {
  display: block;
  width: 100%;
  padding: 12px 20px;
}
@media screen and (max-width: 1050px) {
  .history_content table.history_table th, .history_content table.history_table td {
    padding: 10px 5px;
    font-size: 0.75rem;
  }
}
.history_content table.history_table th {
  width: 188px;
  padding-right: 0;
  margin-right: 20px;
  border-top: 1px solid #5B3468;
  font-weight: normal;
  text-align: left;
}
@media screen and (max-width: 1050px) {
  .history_content table.history_table th {
    width: 178px;
    margin-right: 10px;
  }
}
.history_content table.history_table td {
  border-top: 1px solid #C4C4C4;
}
.history_content .song {
  max-width: 620px;
  margin: 0 auto 40px;
}
@media screen and (max-width: 1050px) {
  .history_content .song {
    margin-bottom: 20px;
  }
}
.history_content p.btn_bg {
  margin-bottom: 60px;
}
@media screen and (max-width: 1050px) {
  .history_content p.btn_bg {
    margin-bottom: 40px;
  }
}

.audio_box {
  display: block;
  margin: 0 auto;
  margin-bottom: 60px;
}
@media screen and (max-width: 1050px) {
  .audio_box {
    margin-bottom: 40px;
  }
}

/*====================================
* 施設・設備
=====================================*/
.facilities_content {
  max-width: 1210px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
.facilities_content ul.photo_list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
@media screen and (max-width: 1050px) {
  .facilities_content ul.photo_list {
    justify-content: space-between;
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 1051px) {
  .facilities_content ul.photo_list li {
    width: 30.9090909091%;
    margin-bottom: 35px;
  }
  .facilities_content ul.photo_list li:nth-child(3n+2) {
    margin-left: 1.8181818182%;
    margin-right: 1.8181818182%;
  }
}
@media screen and (max-width: 1050px) {
  .facilities_content ul.photo_list li {
    width: 48%;
    margin-bottom: 30px;
  }
}
.facilities_content ul.photo_list li figure {
  position: relative;
  overflow: hidden;
  margin-bottom: 5px;
}
.facilities_content ul.photo_list li figure:after {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 30px;
  height: 30px;
  background: url(../img/common/ico_zoom.svg) no-repeat 0 0/100% auto;
  content: "";
}
.facilities_content ul.photo_list li img {
  transition: 0.4s;
}
.facilities_content ul.photo_list li .txt {
  font-size: 1rem;
}
@media screen and (max-width: 1050px) {
  .facilities_content ul.photo_list li .txt {
    font-size: 0.8125rem;
  }
}
.facilities_content ul.photo_list li a:hover {
  color: #5B3468;
}
.facilities_content ul.photo_list li a:hover img {
  transform: scale(1.1, 1.1);
}
.facilities_content .facilities_piukup {
  margin-bottom: 60px;
  background: #5B3468;
  color: #fff;
}
@media screen and (max-width: 1050px) {
  .facilities_content .facilities_piukup {
    margin-bottom: 40px;
  }
}
.facilities_content .facilities_piukup h2 {
  margin-bottom: 40px;
  padding: 54px 20px 24px;
  border-bottom: 1px solid #fff;
  font-size: 1.25rem;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .facilities_content .facilities_piukup h2 {
    margin-bottom: 20px;
    padding: 24px 20px 14px;
    font-size: 1rem;
  }
}
.facilities_content .facilities_piukup_inner {
  max-width: 940px;
  margin: 0 auto;
  padding: 0 20px 65px;
}
@media screen and (max-width: 1050px) {
  .facilities_content .facilities_piukup_inner {
    padding: 0 20px 35px;
  }
}
.facilities_content .facilities_piukup_inner figure {
  margin-bottom: 30px;
}
@media screen and (max-width: 1050px) {
  .facilities_content .facilities_piukup_inner figure {
    margin-bottom: 15px;
  }
}
.facilities_content .facilities_piukup_inner p + p {
  margin-top: 1.5em;
}
.facilities_content .street_view {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 72.5555555556%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .facilities_content .street_view {
    padding-top: 160%;
  }
}
.facilities_content .street_view iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.facilities_content .street_view + p.btn_bnr {
  max-width: 390px;
  margin: 50px auto 100px;
}
.facilities_content .street_view + p.btn_bnr a:hover {
  opacity: 0.6;
}
@media screen and (max-width: 768px) {
  .facilities_content .street_view + p.btn_bnr {
    margin: 30px auto 50px;
  }
}

/*====================================
* Open DOOR[自立支援サポート] / Next DOOR[進路実現サポート]
=====================================*/
.door_content {
  max-width: 1210px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 1051px) {
  .door_content .door_lead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 60px;
    padding: 0 150px 0 100px;
  }
}
@media screen and (min-width: 1051px) {
  .door_content .door_lead_txt {
    width: 71.2941176471%;
  }
}
.door_content .door_lead_txt h2 {
  margin-bottom: 15px;
  color: #5B3468;
  font-size: 1.5rem;
}
@media screen and (max-width: 1050px) {
  .door_content .door_lead_txt h2 {
    font-size: 1rem;
  }
}
.door_content .door_lead figure {
  width: 20.4705882353%;
}
@media screen and (max-width: 1050px) {
  .door_content .door_lead figure {
    max-width: 174px;
    width: 30%;
    margin: 10px auto 30px;
  }
}
@media screen and (min-width: 1051px) {
  .door_content ul {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1051px) {
  .door_content ul li {
    width: 48.1818181818%;
  }
}
@media screen and (max-width: 1050px) {
  .door_content ul li + li {
    margin-top: 15px;
  }
}
.door_content ul li a:hover {
  opacity: 0.6;
}

/*====================================
* トピックス
=====================================*/
@media screen and (min-width: 1051px) {
  h2.news_cat_tit {
    max-width: 200px;
    margin: -100px auto 50px;
  }
}

.blog_main {
  max-width: 900px;
  margin: 0 auto;
}
.blog_main time {
  margin-right: 20px;
  font-family: "Roboto", sans-serif;
  font-size: 0.875rem;
}
@media screen and (max-width: 1050px) {
  .blog_main time {
    font-size: 0.75rem;
  }
}
.blog_main .cat {
  display: inline-block;
  min-width: 80px;
  line-height: 1;
  padding: 4px 3px;
  background: #666;
  color: #fff;
  font-size: 0.75rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .blog_main .cat {
    font-size: 0.5625rem;
  }
}
.blog_main .cat.info {
  background: #5B3468;
}
.blog_main .cat.junior, .blog_main .cat.info-junior {
  background: #00437C;
}
.blog_main .cat.high, .blog_main .cat.info-high {
  background: #861C3C;
}
.blog_main h1 {
  margin: 6px 0 50px;
  padding-bottom: 10px;
  border-bottom: 1px solid #DDDDDD;
  font-size: 1.5rem;
}
@media screen and (max-width: 1050px) {
  .blog_main h1 {
    margin-bottom: 25px;
    font-size: 1.125rem;
  }
}
.blog_main .blog_entry {
  margin-bottom: 35px;
  padding-bottom: 60px;
  border-bottom: 1px solid #DDDDDD;
}
@media screen and (max-width: 1050px) {
  .blog_main .blog_entry {
    margin-bottom: 20px;
    padding-bottom: 25px;
  }
}
@media screen and (min-width: 769px) {
  .blog_main .blog_entry .text {
    display: bolck;
  }
}
@media screen and (max-width: 1050px) {
  .blog_main .blog_entry .text {
    display: bolck;
  }
}
.blog_main .blog_entry .has-red-color {
  color: #ff0000 !important;
}
.blog_main .blog_entry a {
  color: #3678a9;
  text-decoration: underline;
  transition: 0.4s;
}
.blog_main .blog_entry a:hover {
  text-decoration: none;
}
.blog_main .blog_entry h2 {
  line-height: 1.2083333333;
  margin-top: 1.5em;
  margin-bottom: 0.23em;
  font-size: 1.5rem;
  color: #5B3468;
}
@media screen and (max-width: 1050px) {
  .blog_main .blog_entry h2 {
    font-size: 1.0625rem;
  }
}
.blog_main .blog_entry h3 {
  line-height: 1.2;
  margin-top: 1.7em;
  margin-bottom: 0.25em;
  padding-bottom: 13px;
  border-bottom: 2px solid #5B3468;
  font-size: 1.25rem;
}
@media screen and (max-width: 1050px) {
  .blog_main .blog_entry h3 {
    font-size: 1rem;
  }
}
.blog_main .blog_entry h4 {
  line-height: 1.2;
  margin-top: 1.7em;
  margin-bottom: 0.45em;
  padding-bottom: 11px;
  border-bottom: 1px solid #DECAE5;
  font-size: 1.25rem;
}
@media screen and (max-width: 1050px) {
  .blog_main .blog_entry h4 {
    font-size: 0.9375rem;
  }
}
.blog_main .blog_entry h5 {
  line-height: 1.5;
  margin-top: 1.8em;
  margin-bottom: 0.4em;
  color: #5B3468;
  font-size: 1.125rem;
}
@media screen and (max-width: 1050px) {
  .blog_main .blog_entry h5 {
    font-size: 0.9375rem;
  }
}
.blog_main .blog_entry h6 {
  line-height: 1.5;
  margin-top: 1.8em;
  margin-bottom: 0.15em;
  font-size: 1.125rem;
}
@media screen and (max-width: 1050px) {
  .blog_main .blog_entry h6 {
    font-size: 0.9375rem;
  }
}
.blog_main .blog_entry h2 + h3,
.blog_main .blog_entry h3 + h4,
.blog_main .blog_entry h4 + h5,
.blog_main .blog_entry h5 + h6 {
  margin-top: 0.5em;
}
.blog_main .blog_entry figure {
  margin-bottom: 1.5em;
}
.blog_main .blog_entry figure + h3 {
  margin-top: 0;
}
.blog_main .blog_entry figure figcaption {
  margin-top: 5px;
  color: #666;
  font-size: 0.75rem;
  text-align: center;
}
.blog_main .blog_entry .wp-block-group {
  position: relative;
  margin-bottom: 1.5em;
  padding: 30px 25px 0;
  border: 2px solid #5B3468;
  background: #fff;
}
.blog_main .blog_entry .wp-block-button .wp-block-button__link,
.blog_main .blog_entry .wp-block-button a.wp-block-button__link {
  position: relative;
  margin: 0 auto 30px;
  padding: 12px 20px;
  border-radius: 0;
  background: #5B3468 !important;
  color: #fff !important;
  text-decoration: none;
}
.blog_main .blog_entry .wp-block-button .wp-block-button__link:hover,
.blog_main .blog_entry .wp-block-button a.wp-block-button__link:hover {
  background: #000 !important;
}
.blog_main .blog_entry .wp-block-button .wp-block-button__link:after,
.blog_main .blog_entry .wp-block-button a.wp-block-button__link:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 13px;
  width: 0;
  height: 0;
  margin: auto 0;
  border-style: solid;
  border-width: 3.5px 0 3.5px 5px;
  border-color: transparent transparent transparent #fff;
  content: "";
}
.blog_main .blog_entry hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 2px solid #5B3468;
  margin: 3em 0;
  padding: 0;
}
.blog_main .blog_entry hr.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
  max-width: 100px;
  margin-left: auto;
  margin-right: auto;
}
.blog_main .blog_entry hr.wp-block-separator.is-style-dots:before {
  color: #5B3468 !important;
}
.blog_main .blog_entry p {
  line-height: 2;
  margin-bottom: 1.5em;
}
.blog_main .blog_entry table {
  width: 100%;
  margin-bottom: 1.5em;
  border: 1px solid #5B3468;
}
.blog_main .blog_entry table th, .blog_main .blog_entry table td {
  vertical-align: middle;
  line-height: 1.75;
  padding: 0.9em 1.4em;
  border-bottom: 1px solid #5B3468;
}
@media screen and (max-width: 768px) {
  .blog_main .blog_entry table th, .blog_main .blog_entry table td {
    padding: 0.9em 0.9em;
  }
}
.blog_main .blog_entry table thead {
  border-bottom: 2px solid #5B3468;
}
.blog_main .blog_entry table thead th + th {
  border-left: 1px solid #5B3468;
}
.blog_main .blog_entry table tr td:first-child,
.blog_main .blog_entry table th {
  background: #DECAE5;
  font-weight: bold;
}
.blog_main .blog_entry table td {
  background: #fff;
}
.blog_main .blog_entry table td + td {
  border-left: 1px solid #5B3468;
}
.blog_main .blog_entry .wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}
.blog_main .blog_entry .wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.blog_main .blog_entry ul, .blog_main .blog_entry ol {
  line-height: 1.5;
  margin-bottom: 1.5em;
}
.blog_main .blog_entry ul li, .blog_main .blog_entry ol li {
  margin-bottom: 0.5em;
}
.blog_main .blog_entry ul:not(.blocks-gallery-grid) {
  list-style: none;
}
.blog_main .blog_entry ul:not(.blocks-gallery-grid) li {
  position: relative;
  padding-left: 20px;
}
.blog_main .blog_entry ul:not(.blocks-gallery-grid) li:before {
  position: absolute;
  top: 0.5em;
  left: 5px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #5B3468;
  content: "";
}
.blog_main .blog_entry ol {
  list-style: decimal;
}
.blog_main .blog_entry ol li {
  margin-left: 1.5em;
}
.blog_main .blog_entry blockquote {
  position: relative;
  margin-bottom: 1.5em;
  padding: 30px 60px 0;
  background: #F8F8F8;
}
@media screen and (max-width: 1050px) {
  .blog_main .blog_entry blockquote {
    padding: 30px 30px 0;
  }
}
.blog_main .blog_entry blockquote:before, .blog_main .blog_entry blockquote:after {
  position: absolute;
  line-height: 1;
  color: #DECAE5;
  font-size: 5.625rem;
  font-family: "Lato", sans-serif;
  content: "”";
}
.blog_main .blog_entry blockquote:before {
  top: -45px;
  left: 15px;
  transform: scale(-1, -1);
}
@media screen and (max-width: 1050px) {
  .blog_main .blog_entry blockquote:before {
    left: 5px;
  }
}
.blog_main .blog_entry blockquote:after {
  bottom: -45px;
  right: 15px;
}
@media screen and (max-width: 1050px) {
  .blog_main .blog_entry blockquote:after {
    right: 5px;
  }
}
.blog_main .blog_entry blockquote cite {
  display: block;
  padding-bottom: 45px;
  text-align: right;
  font-style: normal;
}
@media screen and (max-width: 1050px) {
  .blog_main .blog_entry blockquote cite {
    padding-bottom: 40px;
  }
}
@media screen and (min-width: 1051px) {
  .blog_main .blog_entry a > img.alignleft {
    width: 48%;
  }
}
@media screen and (max-width: 1050px) {
  .blog_main .blog_entry a > img.alignleft {
    display: block;
    margin: 0 auto 10px;
  }
}
@media screen and (min-width: 1051px) {
  .blog_main .blog_entry a + a > img.alignleft {
    float: right;
  }
}
@media screen and (max-width: 1050px) {
  .blog_main .blog_entry .wp-container-2 {
    display: block;
  }
  .blog_main .blog_entry .wp-container-2 figure {
    width: 100% !important;
  }
  .blog_main .blog_entry .wp-container-2 figure + figure {
    margin-top: 10px !important;
  }
}
@media screen and (max-width: 1050px) {
  .blog_main .blog_entry .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
    width: 100%;
  }
}

.blog_cat_tit {
  margin-bottom: 24px;
  color: #5B3468;
  font-size: 1.125rem;
}
@media screen and (max-width: 1050px) {
  .blog_cat_tit {
    margin-bottom: 10px;
    font-size: 1rem;
  }
}

@media screen and (min-width: 1051px) {
  .blog_content_w {
    display: flex;
    justify-content: space-between;
  }
}

@media screen and (min-width: 1051px) {
  .blog_content_main {
    width: 74.5454545455%;
  }
}

.blog_list2 {
  margin-bottom: 45px;
  border-top: 1px solid #CBCBCB;
}
.blog_list2 li {
  border-bottom: 1px solid #CBCBCB;
}
.blog_list2 li a {
  display: flex;
  justify-content: space-between;
  padding: 30px 0;
}
@media screen and (max-width: 1050px) {
  .blog_list2 li a {
    padding: 10px 0;
  }
}
.blog_list2 li a:hover img {
  transform: scale(1.1, 1.1);
}
.blog_list2 li a:hover p, .blog_list2 li a:hover h2 {
  color: #5B3468;
}
.blog_list2 li figure {
  position: relative;
  width: 31.7073170732%;
  padding-top: 23.7804878049%;
  height: 0;
  overflow: hidden;
}
.blog_list2 li figure img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.4s;
}
.blog_list2 li .txt_box {
  width: 64.6341463415%;
}
.blog_list2 li .txt_box time {
  margin-right: 15px;
  font-family: "Roboto", sans-serif;
  font-size: 0.875rem;
}
@media screen and (max-width: 1050px) {
  .blog_list2 li .txt_box time {
    font-size: 0.75rem;
  }
}
.blog_list2 li .txt_box .cat {
  display: inline-block;
  padding: 0 10px;
  background: #666666;
  color: #fff;
  font-size: 0.75rem;
}
@media screen and (max-width: 1050px) {
  .blog_list2 li .txt_box .cat {
    padding: 0 5px;
    font-size: 0.5625rem;
  }
}
.blog_list2 li .txt_box .cat.info {
  background: #5B3468;
}
.blog_list2 li .txt_box .cat.junior, .blog_list2 li .txt_box .cat.info-junior {
  background: #00437C;
}
.blog_list2 li .txt_box .cat.high, .blog_list2 li .txt_box .cat.info-high {
  background: #861C3C;
}
.blog_list2 li .txt_box h2 {
  margin: 10px 0 5px;
  font-size: 1.125rem;
}
@media screen and (max-width: 1050px) {
  .blog_list2 li .txt_box h2 {
    margin-top: 0;
    font-size: 0.875rem;
  }
}
.blog_list2 li .txt_box p {
  margin-top: 14px;
}
@media screen and (max-width: 1050px) {
  .blog_list2 li .txt_box p {
    display: none;
  }
}

@media screen and (min-width: 1051px) {
  .blog_content_sub {
    width: 21.8181818182%;
  }
}
.blog_content_sub h2 {
  padding: 0 5px 10px;
  font-size: 1.125rem;
  font-weight: normal;
}
@media screen and (max-width: 1050px) {
  .blog_content_sub h2 {
    font-size: 1rem;
  }
}
.blog_content_sub section {
  margin-bottom: 30px;
}
.blog_content_sub ul.latest {
  border-bottom: 1px solid #CBCBCB;
}
.blog_content_sub ul.latest li {
  border-top: 1px solid #CBCBCB;
}
.blog_content_sub ul.latest li a {
  display: block;
  padding: 5px 10px 12px;
}
.blog_content_sub ul.latest li a:hover {
  background: #F3EDF5;
}
.blog_content_sub ul.latest li a time {
  line-height: 1;
  color: #5B3468;
  font-family: "Roboto", sans-serif;
  font-size: 0.8125rem;
}
.blog_content_sub ul.latest li a p {
  line-height: 1.4;
}
.blog_content_sub ul.cat_list {
  border-bottom: 1px solid #CBCBCB;
}
.blog_content_sub ul.cat_list li {
  border-top: 1px solid #CBCBCB;
}
.blog_content_sub ul.cat_list li a {
  display: block;
  padding: 10px 10px;
}
.blog_content_sub ul.cat_list li a:hover {
  background: #F3EDF5;
}
.blog_content_sub h3 {
  position: relative;
  padding: 10px;
  border-bottom: 1px solid #CBCBCB;
  font-weight: normal;
  cursor: pointer;
}
.blog_content_sub h3:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 9px;
  margin: auto 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 2.5px 0 2.5px;
  border-color: #000 transparent transparent transparent;
  content: "";
}
.blog_content_sub h3.active:after {
  transform: scale(1, -1);
}
.blog_content_sub ul.month_list {
  border-bottom: 1px solid #CBCBCB;
}
.blog_content_sub ul.month_list li {
  border-top: 1px solid #CBCBCB;
}
.blog_content_sub ul.month_list li a {
  display: block;
  padding: 10px 10px;
}
.blog_content_sub ul.month_list li a:hover {
  background: #F3EDF5;
}

/*====================================
* 学校TOP
=====================================*/
.school_top {
  position: relative;
  margin-bottom: 40px;
}
@media screen and (max-width: 1050px) {
  .school_top {
    padding: 20px;
  }
}
.school_top, .school_top a {
  color: #fff;
}
.school_top:after {
  position: absolute;
  right: 44px;
  bottom: 40px;
}
@media screen and (min-width: 1051px) {
  .school_top .txt_box {
    float: left;
    width: 39.0909090909%;
    margin: 50px 0 0 60px;
  }
}
.school_top .txt_box h2 {
  margin-bottom: 3px;
  font-size: 1.5rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .school_top .txt_box h2 {
    margin-bottom: 0;
    font-size: 1.125rem;
  }
}
.school_top .txt_box h2, .school_top .txt_box h2 span.in {
  display: block;
  position: relative;
  padding: 10px 0 27px;
}
@media screen and (max-width: 1050px) {
  .school_top .txt_box h2, .school_top .txt_box h2 span.in {
    padding: 5px 0 15px;
  }
}
.school_top .txt_box h2:before, .school_top .txt_box h2:after, .school_top .txt_box h2 span.in:before, .school_top .txt_box h2 span.in:after {
  position: absolute;
  width: 44px;
  height: 1px;
  background: #fff;
  content: "";
}
.school_top .txt_box h2:before, .school_top .txt_box h2 span.in:before {
  width: 1px;
  height: 44px;
}
.school_top .txt_box h2:after, .school_top .txt_box h2 span.in:after {
  width: 44px;
  height: 1px;
}
.school_top .txt_box h2 span.in:before, .school_top .txt_box h2 span.in:after {
  bottom: 0;
  right: 0;
}
.school_top .txt_box h2:before, .school_top .txt_box h2:after {
  top: 0;
  left: 0;
}
.school_top .txt_box dl {
  margin: 20px 0 20px;
}
@media screen and (max-width: 1050px) {
  .school_top .txt_box dl {
    margin: 15px 0 20px;
  }
}
.school_top .txt_box dl dt {
  margin-bottom: 10px;
  font-weight: bold;
  text-align: center;
}
.school_top .txt_box dl .dd_wrap {
  display: flex;
  justify-content: space-between;
}
.school_top .txt_box dl dd {
  line-height: 1.4;
  width: 31.3953488372%;
  padding: 8px 0;
  border-radius: 35px;
  font-size: 0.875rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .school_top .txt_box dl dd {
    border-radius: 30px;
    font-size: 0.75rem;
  }
}
.school_top .txt_box ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 9px;
  margin-top: 28px;
}
@media screen and (max-width: 1050px) {
  .school_top .txt_box ul {
    margin: 15px 0 20px;
  }
}
.school_top .txt_box ul li {
  line-height: 1.4;
  padding: 8px 0;
  border-radius: 35px;
  font-size: 0.875rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .school_top .txt_box ul li {
    border-radius: 30px;
    font-size: 0.75rem;
  }
}
.school_top .txt_box .class {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 9px;
  margin-top: 30px;
}
@media screen and (max-width: 1050px) {
  .school_top .txt_box .class {
    margin: 15px 0 20px;
  }
}
.school_top .txt_box .class > div {
  padding: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  line-height: 1.4;
  font-size: 1.125rem;
  color: #00437C;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0;
  background-color: #fff !important;
}
@media screen and (max-width: 1050px) {
  .school_top .txt_box .class > div {
    font-size: 0.875rem;
  }
}
.school_top .txt_box .class > div span {
  padding: 2px 6px;
  font-size: 0.75rem;
  border: 1px solid #00437C;
}
@media screen and (max-width: 1050px) {
  .school_top .txt_box .class > div span {
    font-size: 0.625rem;
  }
}
@media screen and (min-width: 1051px) {
  .school_top figure {
    float: right;
    width: 50%;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 1050px) {
  .school_top figure {
    margin-bottom: 15px;
  }
}
.school_top p {
  font-size: 0.875rem;
}
.school_top p.btn {
  margin: 0 auto 60px;
}
@media screen and (min-width: 1051px) {
  .school_top p.btn {
    padding-top: 20px;
    width: 29.0909090909%;
    clear: both;
  }
}
@media screen and (max-width: 1050px) {
  .school_top p.btn {
    width: 70%;
    max-width: 320px;
    margin: 15px auto 25px;
  }
}
.school_top p.btn a {
  display: block;
  position: relative;
  padding: 15px;
  border-radius: 35px;
  text-align: center;
}
.school_top p.btn a:before, .school_top p.btn a:after {
  position: absolute;
  content: "";
  transition: 0.4s;
}
.school_top p.btn a:before {
  top: 0;
  bottom: 0;
  right: 22px;
  width: 40px;
  height: 40px;
  margin: auto 0;
  border: 1px solid #fff;
  border-radius: 50%;
}
@media screen and (max-width: 1050px) {
  .school_top p.btn a:before {
    right: 15px;
    width: 25px;
    height: 25px;
  }
}
.school_top p.btn a:after {
  top: 0;
  bottom: 0;
  right: 38px;
  width: 0;
  height: 0;
  margin: auto 0;
  border-style: solid;
  border-width: 4.5px 0 4.5px 6px;
  border-color: transparent transparent transparent #fff;
}
@media screen and (max-width: 1050px) {
  .school_top p.btn a:after {
    top: 1px;
    right: 26px;
    border-width: 3px 0 3px 4px;
  }
}
.school_top p.btn a:hover {
  background: #000 !important;
}
@media screen and (min-width: 1051px) {
  .school_top ul.link {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 60px;
    padding-bottom: 80px;
  }
}
.school_top ul.link li {
  border: 1px solid #fff;
  border-width: 1px 0;
}
@media screen and (min-width: 1051px) {
  .school_top ul.link li {
    width: 46.4285714286%;
  }
  .school_top ul.link li:nth-child(n+3) {
    border-top: 0px;
  }
}
@media screen and (max-width: 1050px) {
  .school_top ul.link li:nth-child(n+2) {
    border-top: 0px;
  }
}
.school_top ul.link li a {
  position: relative;
  display: block;
  padding: 15px 20px;
  font-size: 1rem;
}
@media screen and (max-width: 1050px) {
  .school_top ul.link li a {
    padding: 13px 10px;
    font-size: 0.875rem;
  }
}
.school_top ul.link li a:hover {
  background: #000 !important;
}
.school_top ul.link li a:before, .school_top ul.link li a:after {
  position: absolute;
  content: "";
  transition: 0.4s;
}
.school_top ul.link li a:before {
  top: 0;
  bottom: 0;
  right: 22px;
  width: 27px;
  height: 27px;
  margin: auto 0;
  border: 1px solid #fff;
  border-radius: 50%;
}
@media screen and (max-width: 1050px) {
  .school_top ul.link li a:before {
    right: 0;
    width: 17px;
    height: 17px;
  }
}
.school_top ul.link li a:after {
  top: 0;
  bottom: 0;
  right: 34px;
  width: 0;
  height: 0;
  margin: auto 0;
  border-style: solid;
  border-width: 3px 0 3px 4px;
  border-color: transparent transparent transparent #fff;
}
@media screen and (max-width: 1050px) {
  .school_top ul.link li a:after {
    top: 1px;
    right: 7px;
  }
}
.school_top.purple {
  background: #5B3468;
}
.school_top.purple:after {
  background: url(../img/junior/bg01.png) no-repeat 0 0/100% auto;
}
.school_top.purple .txt_box ul li {
  background: #009ee6;
}
.school_top.purple .txt_box dd {
  background: #009ee6;
}
.school_top.purple p.btn a {
  background: #003c6f;
}
.school_top.junior {
  background: #00437C;
}
.school_top.junior:after {
  background: url(../img/junior/bg01.png) no-repeat 0 0/100% auto;
}
.school_top.junior .txt_box ul li {
  background: #009ee6;
}
.school_top.junior .txt_box dd {
  background: #009ee6;
}
.school_top.junior p.btn a {
  background: #003c6f;
}
.school_top.high {
  background: #861C3C;
}
.school_top.high:after {
  background: url(../img/junior/bg01.png) no-repeat 0 0/100% auto;
}
.school_top.high .txt_box ul li {
  background: #c45174;
}
.school_top.high .txt_box dd {
  background: #c45174;
}
.school_top.high p.btn a {
  background: #690a27;
}

/*====================================
* コンテンツトップナビ_border
=====================================*/
@media screen and (min-width: 1051px) {
  .nav_list_border {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1051px) {
  .nav_list_border li {
    width: 48.1818181818%;
  }
}
@media screen and (max-width: 1050px) {
  .nav_list_border li + li {
    margin-top: 15px;
  }
}
.nav_list_border li a {
  display: block;
  border-width: 5px;
  border-style: solid;
  color: #fff;
}
.nav_list_border li a figure {
  overflow: hidden;
}
.nav_list_border li a figure img {
  width: 100%;
  transition: 0.4s;
}
.nav_list_border li a .tit {
  position: relative;
  display: block;
  padding: 24px 35px;
  transition: 0.4s;
}
@media screen and (max-width: 1050px) {
  .nav_list_border li a .tit {
    padding: 15px 15px;
  }
}
.nav_list_border li a .tit:before, .nav_list_border li a .tit:after {
  position: absolute;
  content: "";
  transition: 0.4s;
}
.nav_list_border li a .tit:before {
  top: 0;
  bottom: 0;
  right: 35px;
  width: 27px;
  height: 27px;
  margin: auto 0;
  border: 1px solid #fff;
  border-radius: 50%;
}
@media screen and (max-width: 1050px) {
  .nav_list_border li a .tit:before {
    right: 15px;
    width: 17px;
    height: 17px;
  }
}
.nav_list_border li a .tit:after {
  top: 0;
  bottom: 0;
  right: 46px;
  width: 0;
  height: 0;
  margin: auto 0;
  border-style: solid;
  border-width: 3px 0 3px 4px;
  border-color: transparent transparent transparent #fff;
}
@media screen and (max-width: 1050px) {
  .nav_list_border li a .tit:after {
    top: 1px;
    right: 22px;
  }
}
.nav_list_border li a:hover {
  border-color: #000 !important;
}
.nav_list_border li a:hover .tit {
  background: #000 !important;
}
.nav_list_border li a:hover img {
  transform: scale(1.1, 1.1);
}
.nav_list_border.purple li a {
  border-color: #5B3468;
}
.nav_list_border.purple li a .tit {
  background: #5B3468;
}
.nav_list_border.junior li a {
  border-color: #00437C;
}
.nav_list_border.junior li a .tit {
  background: #00437C;
}
.nav_list_border.high li a {
  border-color: #861C3C;
}
.nav_list_border.high li a .tit {
  background: #861C3C;
}

/*====================================
* 教育内容
=====================================*/
@media screen and (min-width: 1051px) {
  .education_nav {
    display: flex;
  }
}
.education_nav.bottom {
  margin-top: 60px;
}
@media screen and (min-width: 1051px) {
  .education_nav li {
    width: 33.3333333333%;
  }
}
.education_nav li:nth-child(2) {
  border: 1px solid #fff;
  border-width: 0 1px;
}
@media screen and (max-width: 1050px) {
  .education_nav li:nth-child(2) {
    border-width: 1px 0;
  }
}
.education_nav li:nth-child(1) a:before {
  height: 54px;
  background: url(../img/common/ico_open_door.svg) no-repeat 0 0/100% auto;
}
.education_nav li:nth-child(1) a:after {
  background: url(../img/common/txt_open_door.svg) no-repeat 0 0/auto 100%;
}
.education_nav li:nth-child(1) a span {
  padding-left: 92px;
}
@media screen and (max-width: 1050px) {
  .education_nav li:nth-child(1) a span {
    padding-left: 58px;
  }
}
.education_nav li:nth-child(2) a:before {
  height: 38px;
  background: url(../img/common/ico_next_door.svg) no-repeat 0 0/100% auto;
}
.education_nav li:nth-child(2) a:after {
  background: url(../img/common/txt_next_door.svg) no-repeat 0 0/auto 100%;
}
.education_nav li:nth-child(2) a span {
  padding-left: 88px;
}
@media screen and (max-width: 1050px) {
  .education_nav li:nth-child(2) a span {
    padding-left: 58px;
  }
}
.education_nav li a {
  position: relative;
  display: block;
  background: #00437C;
  color: #fff;
  font-size: 1.125rem;
  font-weight: bold;
}
@media screen and (max-width: 1050px) {
  .education_nav li a {
    font-size: 1rem;
  }
}
.education_nav li a:before, .education_nav li a:after {
  position: absolute;
  content: "";
}
.education_nav li a:before {
  top: 0;
  bottom: 0;
  left: 38px;
  width: 26px;
  margin: auto 0;
}
@media screen and (max-width: 1050px) {
  .education_nav li a:before {
    left: 18px;
  }
}
.education_nav li a:after {
  bottom: 0;
  right: 0;
  width: 247px;
  height: 24px;
}
.education_nav li a:hover {
  background: #000 !important;
}
.education_nav li a span {
  position: relative;
  display: block;
  padding: 42px 40px;
}
@media screen and (max-width: 1050px) {
  .education_nav li a span {
    padding: 22px 30px;
  }
}
.education_nav li a span:before, .education_nav li a span:after {
  position: absolute;
  content: "";
  transition: 0.4s;
  z-index: 8;
}
.education_nav li a span:before {
  top: 0;
  bottom: 0;
  right: 20px;
  width: 26px;
  height: 26px;
  margin: auto 0;
  border: 1px solid #fff;
  border-radius: 50%;
}
@media screen and (max-width: 1050px) {
  .education_nav li a span:before {
    right: 15px;
    width: 25px;
    height: 25px;
  }
}
.education_nav li a span:after {
  top: 0;
  bottom: 0;
  right: 32px;
  width: 0;
  height: 0;
  margin: auto 0;
  border-style: solid;
  border-width: 2.5px 0 2.5px 3px;
  border-color: transparent transparent transparent #fff;
}
@media screen and (max-width: 1050px) {
  .education_nav li a span:after {
    top: 1px;
    right: 26px;
    border-width: 3px 0 3px 4px;
  }
}

.education_nav2 {
  margin-bottom: 40px;
}
@media screen and (min-width: 1051px) {
  .education_nav2 {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 77px;
  }
}
.education_nav2.bottom {
  margin-top: 60px;
}
.education_nav2 li {
  margin-bottom: 1px;
}
@media screen and (min-width: 1051px) {
  .education_nav2 li {
    width: 50%;
    height: 120px;
  }
  .education_nav2 li:nth-child(even) {
    border-left: 1px solid #fff;
  }
}
.education_nav2 li:nth-child(1) a:before {
  height: 54px;
  background: url(../img/common/ico_open_door.svg) no-repeat 0 0/100% auto;
}
.education_nav2 li:nth-child(1) a:after {
  background: url(../img/high/education/txt_open_door.svg) no-repeat 0 0/auto 100%;
}
.education_nav2 li:nth-child(1) a span {
  padding-left: 92px;
}
@media screen and (max-width: 1050px) {
  .education_nav2 li:nth-child(1) a span {
    padding-left: 58px;
  }
}
.education_nav2 li:nth-child(2) a:before {
  height: 38px;
  background: url(../img/common/ico_next_door.svg) no-repeat 0 0/100% auto;
}
.education_nav2 li:nth-child(2) a:after {
  background: url(../img/high/education/txt_next_door.svg) no-repeat 0 0/auto 100%;
}
.education_nav2 li:nth-child(2) a span {
  padding-left: 88px;
}
@media screen and (max-width: 1050px) {
  .education_nav2 li:nth-child(2) a span {
    padding-left: 58px;
  }
}
.education_nav2 li a {
  position: relative;
  display: block;
  background: #861C3C;
  color: #fff;
  font-size: 1.125rem;
  font-weight: bold;
}
@media screen and (max-width: 1050px) {
  .education_nav2 li a {
    font-size: 1rem;
  }
}
.education_nav2 li a:before, .education_nav2 li a:after {
  position: absolute;
  content: "";
}
.education_nav2 li a:before {
  top: 0;
  bottom: 0;
  left: 38px;
  width: 26px;
  margin: auto 0;
}
@media screen and (max-width: 1050px) {
  .education_nav2 li a:before {
    left: 18px;
  }
}
.education_nav2 li a:after {
  bottom: 0;
  right: 0;
  width: 247px;
  height: 24px;
}
.education_nav2 li a:hover {
  background: #000 !important;
}
.education_nav2 li a span {
  position: relative;
  display: block;
  padding: 42px 40px;
}
@media screen and (max-width: 1050px) {
  .education_nav2 li a span {
    padding: 22px 30px;
  }
}
.education_nav2 li a span:before, .education_nav2 li a span:after {
  position: absolute;
  content: "";
  transition: 0.4s;
  z-index: 8;
}
.education_nav2 li a span:before {
  top: 0;
  bottom: 0;
  right: 20px;
  width: 26px;
  height: 26px;
  margin: auto 0;
  border: 1px solid #fff;
  border-radius: 50%;
}
@media screen and (max-width: 1050px) {
  .education_nav2 li a span:before {
    right: 15px;
    width: 25px;
    height: 25px;
  }
}
.education_nav2 li a span:after {
  top: 0;
  bottom: 0;
  right: 32px;
  width: 0;
  height: 0;
  margin: auto 0;
  border-style: solid;
  border-width: 2.5px 0 2.5px 3px;
  border-color: transparent transparent transparent #fff;
}
@media screen and (max-width: 1050px) {
  .education_nav2 li a span:after {
    top: 1px;
    right: 26px;
    border-width: 3px 0 3px 4px;
  }
}

.tit_education_top {
  position: relative;
  width: 284px;
  margin: 80px auto -35px;
  padding: 15px;
  color: #fff;
  font-size: 1.5rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .tit_education_top {
    margin: 60px auto 0px;
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 1050px) {
  .tit_education_top + figure {
    margin: 0 -20px;
  }
}
.tit_education_top.purple {
  background: #5B3468;
}
.tit_education_top.junior {
  background: #00437C;
}
.tit_education_top.high {
  background: #861C3C;
}

.education_figure {
  position: relative;
  max-width: 236px;
}
@media screen and (min-width: 1051px) {
  .education_figure {
    float: left;
    width: 21.4545454545%;
    margin: -53px 0 60px 40px;
  }
}
@media screen and (max-width: 1050px) {
  .education_figure {
    margin: 10px auto;
  }
}
@media screen and (min-width: 1051px) {
  .education_figure + p {
    float: right;
    width: 66.7272727273%;
    margin-top: 30px;
  }
}

@media screen and (min-width: 1051px) {
  .content_col3 {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1051px) {
  .content_col3 .box {
    width: 31.1818181818%;
  }
}
@media screen and (max-width: 1050px) {
  .content_col3 .box {
    margin-top: 30px;
  }
}
.content_col3 .box h4, .content_col3 .box h3 {
  margin-bottom: 13px;
  padding: 10px 20px;
  color: #fff;
  font-weight: normal;
  font-size: 1.125rem;
}
@media screen and (max-width: 1050px) {
  .content_col3 .box h4, .content_col3 .box h3 {
    margin-bottom: 10px;
    padding: 8px 15px;
    font-size: 1rem;
  }
}
.content_col3 .box h3 + h4,
.content_col3 .box h5 {
  margin-bottom: 8px;
  font-size: 1rem;
}
@media screen and (max-width: 1050px) {
  .content_col3 .box h3 + h4,
.content_col3 .box h5 {
    font-size: 0.9375rem;
  }
}
.content_col3 .box h3 + h4 {
  padding: 0;
  background: #fff;
  color: #000;
  font-weight: bold;
}
.content_col3 .box figure {
  margin-bottom: 12px;
}
.content_col3 .box figure img {
  width: 100%;
}
.content_col3.purple h4, .content_col3.purple h3 {
  background: #5B3468;
}
.content_col3.junior h4, .content_col3.junior h3 {
  background: #00437C;
}
.content_col3.high h4, .content_col3.high h3 {
  background: #861C3C;
}

.study_abroad {
  position: relative;
  margin-top: 62px;
}
@media screen and (min-width: 1051px) {
  .study_abroad {
    padding-left: 21.8181818182%;
  }
  .study_abroad:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 21.8181818182%;
    height: 100%;
    background: url(../img/junior/education/img_junior04.jpg) no-repeat 50% 0;
    background-size: cover;
    content: "";
  }
}
.study_abroad_in {
  padding: 40px 60px;
  background: #00437C;
}
@media screen and (max-width: 1050px) {
  .study_abroad_in {
    padding: 20px 20px;
  }
}
.study_abroad_in h3 {
  position: relative;
  margin-bottom: 30px;
  padding: 4px;
  background: #F8E53C;
  color: #00437C;
  font-size: 1.5rem;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .study_abroad_in h3 {
    margin-bottom: 20px;
    font-size: 1.125rem;
  }
}
.study_abroad_in h3:before {
  position: absolute;
  top: -85px;
  right: -97px;
  width: 23.6486486486%;
  height: 175px;
  background: url(../img/junior/education/ico_pickup.svg) no-repeat 0 0/100% auto;
  content: "";
}
@media screen and (max-width: 1050px) {
  .study_abroad_in h3:before {
    width: 90px;
    height: 90px;
    top: -60px;
    right: -40px;
  }
}
.study_abroad_in h3:after {
  position: absolute;
  bottom: -9px;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  margin: 0 auto;
  border-style: solid;
  border-width: 9px 10.5px 0 10.5px;
  border-color: #F8E53C transparent transparent transparent;
  content: "";
}
.study_abroad_in h4 {
  margin-bottom: 7px;
  font-size: 1.125rem;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .study_abroad_in h4 {
    font-size: 1rem;
  }
}
.study_abroad_in h4 + p {
  color: #fff;
}
.study_abroad_in h5 {
  width: 236px;
  padding: 5px 0;
  margin: 38px auto 10px;
  border-radius: 24px;
  background: #CEE0F7;
  color: #00437C;
  font-size: 1.125rem;
  letter-spacing: 0.06em;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .study_abroad_in h5 {
    margin: 28px auto 10px;
    font-size: 0.9375rem;
  }
}
.study_abroad_in ul {
  line-height: 1.4666666667;
}
@media screen and (min-width: 1051px) {
  .study_abroad_in ul {
    display: flex;
    justify-content: space-between;
  }
}
.study_abroad_in ul li {
  border-radius: 10px;
  background: #fff;
}
@media screen and (min-width: 1051px) {
  .study_abroad_in ul li {
    width: 32.7027027027%;
  }
}
@media screen and (max-width: 1050px) {
  .study_abroad_in ul li {
    margin-top: 15px;
  }
}
.study_abroad_in ul li h6 {
  padding: 8px 0;
  border-radius: 10px 10px 0 0;
  background: #4EA6F2;
  color: #fff;
  text-align: center;
}
.study_abroad_in ul li dl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-start;
  padding: 20px 10px;
}
@media screen and (max-width: 1050px) {
  .study_abroad_in ul li dl {
    padding: 15px 10px 5px;
  }
}
.study_abroad_in ul li dl dt, .study_abroad_in ul li dl dd {
  margin-bottom: 15px;
}
.study_abroad_in ul li dl dt {
  width: 30%;
  border: 1px solid #000;
  border-radius: 36px;
  font-weight: bold;
  text-align: center;
}
.study_abroad_in ul li dl dd {
  width: 66.8181818182%;
}
.study_abroad_in ul li p {
  padding: 0 10px;
  margin: -10px 0 10px;
}
@media screen and (max-width: 1050px) {
  .study_abroad_in ul li p {
    padding: 0 10px 15px;
  }
}

.program_list {
  border: 1px solid;
}
.program_list li {
  display: flex;
  padding: 4px;
}
@media screen and (min-width: 1051px) {
  .program_list li {
    align-items: center;
    justify-content: space-between;
  }
}
@media screen and (max-width: 1050px) {
  .program_list li {
    flex-direction: column-reverse;
  }
}
.program_list li .txt_box {
  padding: 15px;
}
@media screen and (min-width: 1051px) {
  .program_list li .txt_box {
    width: 52.3636363636%;
    padding: 0 6.3636363636% 0 3.6363636364%;
  }
}
.program_list li .txt_box h4, .program_list li .txt_box h3 {
  margin-bottom: 10px;
  font-size: 1.125rem;
}
@media screen and (max-width: 1050px) {
  .program_list li .txt_box h4, .program_list li .txt_box h3 {
    font-size: 1rem;
  }
}
.program_list li .txt_box h3 + h4 {
  margin: -2px 0 6px;
  color: #000;
  font-weight: normal;
}
@media screen and (max-width: 1050px) {
  .program_list li .txt_box h3 + h4 {
    font-weight: bold;
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 1051px) {
  .program_list li figure {
    width: 47.2727272727%;
  }
}
.program_list li figure img {
  width: 100%;
}
.program_list li + li {
  border-top: 1px solid;
}
.program_list.purple, .program_list.purple li {
  border-color: #5B3468;
}
.program_list.purple h4, .program_list.purple h3 {
  color: #5B3468;
}
.program_list.junior, .program_list.junior li {
  border-color: #00437C;
}
.program_list.junior h4, .program_list.junior h3 {
  color: #00437C;
}
.program_list.high, .program_list.high li {
  border-color: #861C3C;
}
.program_list.high h4, .program_list.high h3 {
  color: #861C3C;
}

.voice_box {
  margin-top: 60px;
}
@media screen and (min-width: 1051px) {
  .voice_box {
    display: flex;
    justify-content: space-between;
  }
}
.voice_box li {
  position: relative;
}
@media screen and (min-width: 1051px) {
  .voice_box li {
    width: 48.1818181818%;
  }
}
@media screen and (max-width: 1050px) {
  .voice_box li {
    margin-top: 30px;
  }
}
.voice_box li .voice_box_header {
  margin-bottom: 12px;
}
@media screen and (min-width: 1051px) {
  .voice_box li .voice_box_header {
    width: 59.2452830189%;
  }
}
@media screen and (min-width: 1051px) {
  .voice_box li .voice_box_header figure {
    position: absolute;
    top: 0;
    right: 0;
    width: auto;
    height: 212px;
  }
  .voice_box li .voice_box_header figure img {
    width: auto;
    height: 100%;
  }
}
@media screen and (max-width: 1050px) {
  .voice_box li .voice_box_header figure {
    margin: 0 auto 10px;
    max-width: 195px;
    width: 60%;
  }
}
.voice_box li h3 {
  margin-bottom: 12px;
  color: #BFBFBF;
  font-family: "Poppins", sans-serif;
  font-style: italic;
  font-weight: bold;
  font-size: 2.375rem;
  white-space: nowrap;
}
@media screen and (max-width: 1050px) {
  .voice_box li h3 {
    font-size: 2.0625rem;
    text-align: center;
  }
}
.voice_box li h4 {
  line-height: 1.6;
  margin-bottom: 10px;
  font-size: 1.125rem;
}
@media screen and (max-width: 1050px) {
  .voice_box li h4 {
    font-size: 1rem;
    text-align: center;
  }
}
.voice_box li h4 span {
  display: block;
  font-weight: normal;
  font-size: 1rem;
}
@media screen and (max-width: 1050px) {
  .voice_box li h4 span {
    font-size: 0.875rem;
  }
}
.voice_box li h5 {
  line-height: 1.5555555556;
  font-size: 1.125rem;
}
@media screen and (max-width: 1050px) {
  .voice_box li h5 {
    font-size: 1rem;
  }
}
.voice_box.purple h5 {
  color: #5B3468;
}
.voice_box.junior h5 {
  color: #00437C;
}
.voice_box.high h5 {
  color: #861C3C;
}

.pickup_program {
  margin-top: 46px;
  padding: 35px 40px 40px;
  background: #F2E9EB;
}
@media screen and (max-width: 1050px) {
  .pickup_program {
    padding: 25px 20px 20px;
  }
}
.pickup_program h3 {
  position: relative;
  display: inline-block;
  margin-left: -40px;
  padding: 17px 51px 17px 30px;
  border-radius: 0 36px 36px 0;
  background: #861C3C;
  color: #fff;
  font-size: 1.25rem;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 1050px) {
  .pickup_program h3 {
    margin-left: -20px;
    margin-right: -10px;
    padding: 12px 11px 12px 20px;
    border-radius: 0 36px 36px 0;
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
.pickup_program h3 .sub {
  position: absolute;
  top: -13px;
  left: 0;
  padding: 1px 20px 1px 40px;
  border-radius: 0 14px 14px 0;
  background: #5B3468;
  font-family: "Poppins", sans-serif;
  font-size: 0.75rem;
}
@media screen and (max-width: 1050px) {
  .pickup_program h3 .sub {
    top: -10px;
    padding: 1px 10px 1px 20px;
    font-size: 0.625rem;
  }
}
.pickup_program h3 .small {
  font-size: 0.9375rem;
}
@media screen and (max-width: 1050px) {
  .pickup_program h3 .small {
    font-size: 0.8125rem;
  }
}
.pickup_program h3 + p {
  margin: 14px 0 39px;
}
@media screen and (max-width: 1050px) {
  .pickup_program h3 + p {
    margin: 10px 0 15px;
  }
}
.pickup_program ul {
  padding: 20px 20px 20px;
  background: #E0CBD0;
}
@media screen and (min-width: 1051px) {
  .pickup_program ul {
    display: flex;
    justify-content: space-between;
    padding: 30px 40px 40px;
  }
}
@media screen and (min-width: 1051px) {
  .pickup_program ul li {
    width: 47.5531914894%;
  }
}
@media screen and (max-width: 1050px) {
  .pickup_program ul li + li {
    margin-top: 20px;
  }
}
.pickup_program ul li h4 {
  margin-bottom: 20px;
  color: #861C3C;
  font-size: 1.125rem;
}
@media screen and (max-width: 1050px) {
  .pickup_program ul li h4 {
    margin-bottom: 10px;
    font-size: 0.9375rem;
  }
}
.pickup_program ul li figure {
  margin-bottom: 11px;
}

.tit_type_wrap {
  margin: 60px 0 2px;
}
@media screen and (min-width: 1051px) {
  .tit_type_wrap {
    display: flex;
    justify-content: space-between;
  }
}
.tit_type_wrap .tit_type {
  font-weight: bold;
  font-size: 1.125rem;
}
@media screen and (min-width: 1051px) {
  .tit_type_wrap .tit_type, .tit_type_wrap .tit_type + p {
    width: 50%;
  }
}
.tit_type_wrap p {
  text-align: right;
}
@media screen and (max-width: 1050px) {
  .tit_type_wrap p {
    margin: 5px 0;
    font-size: 0.8125rem;
  }
}

@media screen and (min-width: 1051px) {
  .type_content {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1051px) {
  .type_content li {
    width: 48.1818181818%;
  }
}
.type_content li h4 {
  margin-bottom: 13px;
  padding: 12px;
  color: #fff;
  font-size: 1.5rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .type_content li h4 {
    font-size: 1.125rem;
  }
}
.type_content li h5 {
  margin-bottom: 13px;
  font-size: 1.125rem;
}
@media screen and (max-width: 1050px) {
  .type_content li h5 {
    margin-bottom: 8px;
    font-size: 0.9375rem;
  }
  .type_content li h5 + p img {
    display: block;
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
  }
}
.type_content li ul.photo {
  display: flex;
  justify-content: space-between;
  margin: 25px 0 13px;
}
@media screen and (max-width: 1050px) {
  .type_content li ul.photo {
    margin: 10px 0;
  }
}
.type_content li ul.photo li {
  width: 30.7547169811%;
}
.type_content li ul.course {
  padding: 15px 5px 15px 15px;
}
@media screen and (min-width: 1051px) {
  .type_content li ul.course {
    display: flex;
    flex-wrap: wrap;
    padding: 20px 5px 20px 20px;
  }
}
.type_content li ul.course li {
  position: relative;
  line-height: 1.3333333333;
  margin-bottom: 9px;
  padding-left: 15px;
}
@media screen and (min-width: 1051px) {
  .type_content li ul.course li:nth-child(even) {
    width: 40%;
  }
  .type_content li ul.course li:nth-child(odd) {
    width: 60%;
  }
}
.type_content li ul.course li:before {
  position: absolute;
  top: 0.45em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  content: "";
}
@media screen and (max-width: 1050px) {
  .type_content li.purple {
    margin-top: 40px;
  }
}
@media screen and (min-width: 1051px) {
  .type_content li.purple ul.course li:nth-child(even) {
    width: 45%;
  }
  .type_content li.purple ul.course li:nth-child(odd) {
    width: 55%;
  }
}
.type_content li.purple h4 {
  background: #5B3468;
}
.type_content li.purple ul.course {
  background: #EAE6EC;
  color: #5B3468;
}
.type_content li.purple ul.course li:before {
  background: #5B3468;
}
.type_content li.junior h4 {
  background: #00437C;
}
.type_content li.junior ul.course {
  background: #003c6f;
  color: #00437C;
}
.type_content li.junior ul.course li:before {
  background: #00437C;
}
.type_content li.high h4 {
  background: #861C3C;
}
.type_content li.high ul.course {
  background: #EBDDE1;
  color: #861C3C;
}
.type_content li.high ul.course li:before {
  background: #861C3C;
}

.tit_method {
  margin-bottom: 15px;
  font-size: 1.25rem;
  font-weight: normal;
  text-align: center;
}
.tit_method img {
  display: block;
  width: 26.0909090909%;
  margin: 0 auto 33px;
}
@media screen and (max-width: 1050px) {
  .tit_method img {
    max-width: 287px;
    width: 60%;
    margin: 0 auto 23px;
  }
}
@media screen and (max-width: 1050px) {
  .tit_method {
    font-size: 1.125rem;
  }
}
.tit_method + p {
  margin-bottom: 48px;
}
@media screen and (max-width: 1050px) {
  .tit_method + p {
    margin-bottom: 30px;
  }
}

.education_concept_high {
  padding: 40px;
  background: #861C3C;
  color: #fff;
}
@media screen and (max-width: 1050px) {
  .education_concept_high {
    padding: 20px;
  }
}
.education_concept_high h3 {
  margin-bottom: 13px;
  font-size: 1.25rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .education_concept_high h3 {
    font-size: 1rem;
  }
}
.education_concept_high .concept01 {
  margin-bottom: 30px;
}
@media screen and (min-width: 1051px) {
  .education_concept_high .concept01 {
    display: flex;
    justify-content: space-between;
    margin-bottom: 52px;
  }
}
.education_concept_high .concept01 li {
  border: 1px solid #fff;
  border-radius: 10px;
}
@media screen and (min-width: 1051px) {
  .education_concept_high .concept01 li {
    width: 30.6862745098%;
  }
}
@media screen and (max-width: 1050px) {
  .education_concept_high .concept01 li + li {
    margin-top: 15px;
  }
}
.education_concept_high .concept01 li h4 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 117px;
  line-height: 1.3;
  font-size: 1.5rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .education_concept_high .concept01 li h4 {
    height: 70px;
    font-size: 1.0625rem;
  }
}
.education_concept_high .concept01 li h4 span {
  display: block;
  font-weight: normal;
  font-size: 0.9375rem;
}
@media screen and (max-width: 1050px) {
  .education_concept_high .concept01 li h4 span {
    font-size: 0.75rem;
  }
}
.education_concept_high .concept01 li p {
  padding: 15px 20px;
  border-radius: 0 0 8px 8px;
  background: #fff;
  color: #861C3C;
}
.education_concept_high .concept02 {
  margin-bottom: 50px;
}
@media screen and (max-width: 1050px) {
  .education_concept_high .concept02 {
    max-width: 298px;
    margin: 0 auto 30px;
  }
}
.education_concept_high .concept03 {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 1050px) {
  .education_concept_high .concept03 {
    flex-wrap: wrap;
  }
}
.education_concept_high .concept03 li {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 18.1818181818%;
  line-height: 1.3333333333;
  border-radius: 50%;
  background: #fff;
  color: #861C3C;
  font-weight: bold;
  font-size: 1.125rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .education_concept_high .concept03 li {
    width: 45%;
    max-width: 250px;
    font-size: 0.9375rem;
  }
}
.education_concept_high .concept03 li:after {
  display: block;
  padding-bottom: 100%;
  content: "";
}
@media screen and (min-width: 1051px) {
  .education_concept_high .concept03 li + li {
    margin-left: 1.8181818182%;
  }
}
@media screen and (max-width: 1050px) {
  .education_concept_high .concept03 li:nth-child(odd) {
    margin-right: 15px;
  }
  .education_concept_high .concept03 li:nth-child(n+3) {
    margin-top: 15px;
  }
}

.course_high01 {
  position: relative;
  overflow: hidden;
  margin-top: 15px;
  padding-bottom: 60px;
}
@media screen and (min-width: 1051px) {
  .course_high01 {
    display: flex;
    justify-content: space-between;
    margin: 22px 0 0;
  }
}
.course_high01:before {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 18px;
  width: 0;
  height: 0;
  margin: 0 auto;
  border-style: solid;
  border-width: 75px 550px 0 550px;
  border-color: #E2E2E2 transparent transparent transparent;
  content: "";
  z-index: -1;
}
@media screen and (max-width: 1050px) {
  .course_high01:before {
    bottom: 0;
    border-width: 45px 150px 0 150px;
  }
}
.course_high01 li {
  padding: 22px 20px;
  color: #fff;
}
@media screen and (min-width: 1051px) {
  .course_high01 li {
    width: 31.1818181818%;
  }
}
.course_high01 li:nth-child(1) {
  background: #869E9A;
}
.course_high01 li:nth-child(2) {
  background: linear-gradient(#b75e64 0%, #841d3c 100%);
}
@media screen and (max-width: 1050px) {
  .course_high01 li:nth-child(2) {
    margin: 15px 0;
  }
}
.course_high01 li:nth-child(3) {
  background: linear-gradient(#b38ab0 0%, #7f618b 100%);
}
.course_high01 li h4 {
  margin-bottom: 9px;
  padding-bottom: 22px;
  border-bottom: 1px dotted #fff;
  font-size: 1.125rem;
  text-align: center;
}

@media screen and (min-width: 1051px) {
  .course_high02 {
    display: flex;
    justify-content: space-between;
    margin: 22px 0 0;
  }
}
@media screen and (min-width: 1051px) {
  .course_high02 li {
    width: 31.1818181818%;
  }
}
.course_high02 li h4 {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  line-height: 1.5555555556;
  height: 112px;
  margin-bottom: 40px;
  border: 2px solid #707070;
  font-size: 1.125rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .course_high02 li h4 {
    height: 92px;
    margin-bottom: 28px;
    font-size: 1rem;
  }
}
.course_high02 li h4:after {
  position: absolute;
  bottom: -28px;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  margin: 0 auto;
  border-style: solid;
  border-width: 10px 17px 0 17px;
  border-color: #707070 transparent transparent transparent;
  content: "";
}
@media screen and (max-width: 1050px) {
  .course_high02 li h4:after {
    bottom: -22px;
  }
}
.course_high02 li p {
  display: flex;
  align-items: center;
  height: 112px;
}
@media screen and (max-width: 1050px) {
  .course_high02 li p {
    height: 92px;
  }
}
.course_high02 li p span {
  display: block;
}
.course_high02 li p span + span {
  border-top: 2px solid #fff;
}
.course_high02 li:nth-child(1) h4 {
  color: #5D385D;
}
.course_high02 li:nth-child(1) p {
  justify-content: center;
  background: #E8D6E8;
  color: #5D385D;
}
@media screen and (max-width: 1050px) {
  .course_high02 li:nth-child(2) {
    margin: 20px 0;
  }
}
.course_high02 li:nth-child(2) h4 {
  color: #2A4D69;
}
.course_high02 li:nth-child(2) h4 span {
  text-align: left;
}
.course_high02 li:nth-child(2) h4 span + span {
  margin-left: 20px;
}
.course_high02 li:nth-child(2) p {
  flex-wrap: wrap;
  justify-content: center;
  background: #CAD5DD;
  color: #2A4D69;
}
.course_high02 li:nth-child(2) p span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 50%;
}
.course_high02 li:nth-child(3) h4 {
  flex-direction: column;
  color: #375B4C;
}
.course_high02 li:nth-child(3) h4 span {
  font-size: 0.9375rem;
  font-weight: normal;
}
.course_high02 li:nth-child(3) p {
  padding: 20px;
  background: #DCEAE4;
  color: #375B4C;
}

/*====================================
* 自立推進プログラム
=====================================*/
.tit_open-door {
  position: relative;
  width: 40.9090909091%;
  margin: 80px auto 20px;
  padding: 14px 0;
  border: 1px solid #707070;
  border-left: 0;
  font-size: 1.25rem;
  font-weight: normal;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .tit_open-door {
    width: 276px;
    margin: 50px auto 20px;
    padding: 9px 0;
    font-size: 1.125rem;
  }
}
.tit_open-door:before {
  position: absolute;
  top: 0;
  left: -32px;
  width: 24px;
  height: 68px;
  content: "";
}
@media screen and (max-width: 1050px) {
  .tit_open-door:before {
    left: -24px;
    width: 17px;
    height: 48px;
  }
}
.tit_open-door + p {
  margin-bottom: 55px;
  font-size: 1.125rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .tit_open-door + p {
    margin-bottom: 25px;
    font-size: 0.875rem;
  }
}
.tit_open-door.purple:before {
  background: url(../img/purple/education/open-door/ico_door.svg) no-repeat 0 0/100% auto;
}
.tit_open-door.junior:before {
  background: url(../img/junior/education/open-door/ico_door.svg) no-repeat 0 0/100% auto;
}
.tit_open-door.high:before {
  background: url(../img/high/education/open-door/ico_door.svg) no-repeat 0 0/100% auto;
}

.content_wrap > .tit_open-door:first-child {
  margin-top: 0;
}

.program_box {
  display: flex;
  margin-bottom: 30px;
}
@media screen and (min-width: 1051px) {
  .program_box {
    justify-content: space-between;
    margin-bottom: 60px;
  }
  .program_box .txt_box {
    width: 47.2727272727%;
  }
  .program_box figure {
    width: 47.2727272727%;
  }
}
@media screen and (max-width: 1050px) {
  .program_box {
    flex-direction: column-reverse;
  }
  .program_box figure {
    margin-bottom: 20px;
  }
  .program_box.txt_only {
    flex-direction: column;
  }
  .program_box .txt_box + .txt_box {
    margin-top: 30px;
  }
}
.program_box h4 {
  position: relative;
  margin-bottom: 20px;
  padding: 9px;
  border: 1px solid #707070;
  font-size: 1.125rem;
  font-weight: normal;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .program_box h4 {
    margin-bottom: 13px;
    padding: 7px;
    font-size: 1rem;
  }
}
.program_box h4:before {
  position: absolute;
  top: -1px;
  left: -1px;
  width: 20px;
  height: calc(100% + 2px);
  content: "";
}
@media screen and (max-width: 1050px) {
  .program_box h4:before {
    width: 14px;
  }
}
.program_box h5 {
  margin-bottom: 16px;
  font-size: 1.125rem;
}
@media screen and (max-width: 1050px) {
  .program_box h5 {
    margin-bottom: 10px;
    font-size: 1rem;
  }
}
.program_box p {
  margin-bottom: 12px;
}
@media screen and (max-width: 1050px) {
  .program_box p {
    margin-bottom: 19px;
  }
}
.program_box ul {
  margin-bottom: 20px;
}
.program_box ul li {
  position: relative;
  padding-left: 20px;
}
@media screen and (max-width: 1050px) {
  .program_box ul li {
    margin-bottom: 5px;
    padding-left: 15px;
  }
}
.program_box ul li:before {
  position: absolute;
  top: 0.75em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  content: "";
}
@media screen and (max-width: 1050px) {
  .program_box ul li:before {
    top: 0.5em;
  }
}
.program_box .pickup_wrap {
  background: #FFF4D3;
  margin-top: -30px;
}
@media screen and (min-width: 1051px) {
  .program_box .pickup_wrap {
    display: flex;
    justify-content: space-between;
    margin-top: -40px;
  }
}
@media screen and (min-width: 1051px) {
  .program_box .pickup_wrap dl {
    width: 47.2727272727%;
  }
}
@media screen and (min-width: 1051px) {
  .program_box .pickup_wrap dl dd {
    padding-right: 20px;
  }
  .program_box .pickup_wrap dl dd:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }
}
.program_box .pickup_wrap dl dd figure {
  margin-bottom: 5px;
}
@media screen and (min-width: 1051px) {
  .program_box .pickup_wrap dl dd figure {
    float: right;
    width: 38.4615384615%;
    margin-left: 27px;
  }
}
.program_box dl {
  background: #FFF4D3;
}
.program_box dl dt {
  vertical-align: middle;
  font-size: 1rem;
  font-weight: bold;
}
@media screen and (max-width: 1050px) {
  .program_box dl dt {
    font-size: 0.9375rem;
  }
}
.program_box dl dt .pickup {
  display: inline-block;
  margin: 13px 19px 0 0;
  padding: 3px 15px 0;
  background: #fff;
  font-size: 0.875rem;
  font-weight: bold;
  font-family: "Poppins", sans-serif;
}
@media screen and (max-width: 1050px) {
  .program_box dl dt .pickup {
    font-size: 0.8125rem;
  }
}
.program_box dl dd {
  padding: 9px 20px 15px;
}
.program_box.purple h4:before {
  background: #EAE6EC;
}
.program_box.purple ul li:before {
  background: #5B3468;
}
.program_box.purple dl dt .pickup {
  color: #5B3468;
}
.program_box.junior h4:before {
  background: #7CA8D3;
}
.program_box.junior ul li:before {
  background: #00437C;
}
.program_box.junior dl dt .pickup {
  color: #00437C;
}
.program_box.high h4:before {
  background: #CE91A4;
}
.program_box.high ul li:before {
  background: #861C3C;
}
.program_box.high dl dt .pickup {
  color: #861C3C;
}

.tit_program_ex {
  padding: 17px 10px;
  background: #00437C;
  color: #fff;
  font-size: 1rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .tit_program_ex {
    font-size: 0.9375rem;
  }
}

.program_ex {
  background: #FFF4D3;
  padding: 15px 20px;
}
@media screen and (min-width: 1051px) {
  .program_ex {
    display: flex;
    justify-content: space-between;
    padding: 30px 40px;
  }
}
@media screen and (min-width: 1051px) {
  .program_ex dl {
    width: 32.0235756385%;
  }
}
@media screen and (max-width: 1050px) {
  .program_ex dl + dl {
    margin-top: 20px;
  }
}
.program_ex dl dt {
  margin-bottom: 20px;
  padding: 15px;
  background: #888EB2;
  color: #fff;
  font-size: 1rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .program_ex dl dt {
    margin-bottom: 10px;
    padding: 10px;
    font-size: 0.9375rem;
  }
}
.program_ex dl dd {
  position: relative;
  padding-left: 20px;
}
@media screen and (max-width: 1050px) {
  .program_ex dl dd {
    margin-bottom: 5px;
    padding-left: 15px;
  }
}
.program_ex dl dd:before {
  position: absolute;
  top: 0.75em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #00437C;
  content: "";
}
@media screen and (max-width: 1050px) {
  .program_ex dl dd:before {
    top: 0.5em;
  }
}

/*====================================
* 進路実現プログラム
=====================================*/
.tit_astem {
  width: 300px;
  margin: 30px auto 20px;
  text-align: center;
}
.tit_astem .main {
  font-size: 1.5rem;
}
.tit_astem .small {
  font-size: 0.9375rem;
}
.tit_astem .sub {
  display: block;
  margin-top: -2px;
  padding: 1px 0;
  color: #fff;
}
.tit_astem.purple .main, .tit_astem.purple .small {
  color: #5B3468;
}
.tit_astem.purple .sub {
  background: #5B3468;
}
.tit_astem.junior .main, .tit_astem.junior .small {
  color: #00437C;
}
.tit_astem.junior .sub {
  background: #00437C;
}
.tit_astem.high .main, .tit_astem.high .small {
  color: #861C3C;
}
.tit_astem.high .sub {
  background: #861C3C;
}

@media screen and (min-width: 1051px) {
  .astm {
    position: relative;
    float: left;
    width: 23.3636363636%;
    margin: -80px 0 35px;
  }
}
@media screen and (max-width: 1050px) {
  .astm {
    width: 70%;
    max-width: 257px;
    margin: 10px auto;
  }
}
@media screen and (min-width: 1051px) {
  .astm + p {
    float: right;
    width: 73.0909090909%;
    margin-top: 35px;
  }
}
.astm + h3 {
  margin: 13px 0 10px;
  color: #861C3C;
  font-weight: normal;
  font-size: 0.9375rem;
}
@media screen and (min-width: 1051px) {
  .astm + h3 {
    float: right;
    width: 73.0909090909%;
    margin: 13px 0 17px;
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 1050px) {
  .astm + h3 {
    text-align: center;
  }
}
@media screen and (min-width: 1051px) {
  .astm + h3 + p {
    float: right;
    width: 73.0909090909%;
  }
}

.astm_content {
  clear: both;
}
@media screen and (min-width: 1051px) {
  .astm_content {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1051px) {
  .astm_content_box {
    width: 31.1818181818%;
  }
}
@media screen and (max-width: 1050px) {
  .astm_content_box {
    margin-top: 30px;
  }
}
.astm_content_box h3 {
  margin-bottom: 13px;
  padding: 10px 20px;
  color: #fff;
  font-weight: normal;
  font-size: 1.125rem;
}
@media screen and (max-width: 1050px) {
  .astm_content_box h3 {
    margin-bottom: 10px;
    padding: 8px 15px;
    font-size: 1rem;
  }
}
.astm_content_box h4 {
  margin-bottom: 8px;
  font-size: 1rem;
}
@media screen and (max-width: 1050px) {
  .astm_content_box h4 {
    font-size: 0.9375rem;
  }
}
.astm_content.purple h3 {
  background: #5B3468;
}
.astm_content.junior h3 {
  background: #00437C;
}
.astm_content.high h3 {
  background: #861C3C;
}

.tit_next-door {
  max-width: 480px;
  margin: 80px auto 30px;
  padding: 11px 10px 8px 55px;
  background: url(../img/junior/education/next-door/tit_next_door.svg) no-repeat 0 100%/auto 50px;
  font-size: 1.25rem;
  font-weight: normal;
}
@media screen and (max-width: 1050px) {
  .tit_next-door {
    max-width: 100%;
    margin: 60px auto 20px;
    padding: 11px 10px 8px 44px;
    font-size: 1.125rem;
    background-size: auto 40px;
  }
}
.tit_next-door + p {
  margin-bottom: 35px;
  font-size: 1.125rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .tit_next-door + p {
    margin-bottom: 25px;
    font-size: 0.875rem;
    text-align: left;
  }
}
.tit_next-door.purple {
  background: url(../img/purple/education/next-door/tit_next_door.svg) no-repeat 0 100%/auto 50px;
}
.tit_next-door.junior {
  background: url(../img/junior/education/next-door/tit_next_door.svg) no-repeat 0 100%/auto 50px;
}
.tit_next-door.high {
  background: url(../img/high/education/next-door/tit_next_door.svg) no-repeat 0 100%/auto 50px;
}

.program_box2 {
  display: flex;
  margin-bottom: 40px;
}
@media screen and (min-width: 1051px) {
  .program_box2 {
    justify-content: space-between;
    margin-bottom: 60px;
  }
  .program_box2 .txt_box {
    width: 47.2727272727%;
  }
  .program_box2 figure {
    width: 47.2727272727%;
  }
}
@media screen and (max-width: 1050px) {
  .program_box2 {
    flex-direction: column-reverse;
  }
  .program_box2 figure {
    margin-bottom: 15px;
  }
  .program_box2.txt_only {
    flex-direction: column;
  }
  .program_box2 .txt_box + .txt_box {
    margin-top: 40px;
  }
}
.program_box2 h3 {
  position: relative;
  margin-bottom: 5px;
  padding-left: 45px;
  font-size: 1.125rem;
}
@media screen and (max-width: 1050px) {
  .program_box2 h3 {
    margin-bottom: 10px;
    font-size: 1rem;
    padding-left: 32px;
  }
}
.program_box2 h3:before {
  position: absolute;
  top: 0.3em;
  left: 0;
  width: 26px;
  height: 26px;
  background: #00437C;
  content: "";
}
@media screen and (max-width: 1050px) {
  .program_box2 h3:before {
    width: 18px;
    height: 18px;
  }
}
.program_box2 h4 {
  margin-bottom: 13px;
  font-size: 1.125rem;
  font-weight: normal;
}
@media screen and (max-width: 1050px) {
  .program_box2 h4 {
    margin-bottom: 10px;
    font-size: 1rem;
  }
}
.program_box2.purple h3:before {
  background: #5B3468;
}
.program_box2.junior h3:before {
  background: #00437C;
}
.program_box2.high h3:before {
  background: #861C3C;
}

/*====================================
* Vコース紹介＆カリキュラム
=====================================*/
.curriculum_lead {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 1050px) {
  .curriculum_lead {
    flex-direction: column-reverse;
  }
}
@media screen and (min-width: 1051px) {
  .curriculum_lead figure {
    width: 47.2727272727%;
  }
}
@media screen and (min-width: 1051px) {
  .curriculum_lead .txt_box {
    width: 47.2727272727%;
  }
}
@media screen and (max-width: 1050px) {
  .curriculum_lead .txt_box:has(dl) {
    width: 100%;
  }
}
.curriculum_lead .txt_box h2 {
  margin-bottom: 10px;
  line-height: 1.6666666667;
  font-size: 1.5rem;
  font-weight: normal;
}
@media screen and (max-width: 1050px) {
  .curriculum_lead .txt_box h2 {
    margin-top: 10px;
    font-size: 1.0625rem;
  }
}
.curriculum_lead .txt_box dl {
  display: flex;
  align-items: center;
  gap: 30px;
}
@media screen and (max-width: 1050px) {
  .curriculum_lead .txt_box dl {
    flex-direction: column;
    margin-top: 20px;
    gap: 16px;
  }
}
.curriculum_lead .txt_box dl + dl {
  margin-top: 36px;
}
@media screen and (min-width: 1051px) {
  .curriculum_lead .txt_box dl + dl {
    margin-top: 40px;
  }
}
.curriculum_lead .txt_box dl dt {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 68px;
  color: #fff;
  font-weight: bold;
  font-size: 1.125rem;
  background-color: #00437C;
}
@media screen and (min-width: 1051px) {
  .curriculum_lead .txt_box dl dt {
    width: 180px;
    min-width: 180px;
    height: auto;
    min-height: 125px;
    font-size: 1.375rem;
  }
}
.curriculum_lead .txt_box dl dt span {
  margin-top: 2px;
  padding: 0 6px;
  font-size: 0.875rem;
  border: 1px solid #fff;
}
.curriculum_lead .txt_box dl dd h3 {
  font-size: 1.125rem;
  color: #00437C;
  font-weight: normal;
  line-height: 1.6;
}
@media screen and (max-width: 1050px) {
  .curriculum_lead .txt_box dl dd h3 {
    font-size: 1.0625rem;
  }
}
@media screen and (max-width: 1050px) {
  .curriculum_lead .txt_box dl dd h3 br {
    display: none;
  }
}
.curriculum_lead .txt_box dl dd p {
  margin-top: 10px;
}
@media screen and (max-width: 1050px) {
  .curriculum_lead .txt_box dl dd p {
    margin-top: 6px;
  }
}
.curriculum_lead.purple h2 {
  color: #5B3468;
}
.curriculum_lead.junior h2 {
  color: #00437C;
}
.curriculum_lead.high h2 {
  color: #861C3C;
}

.curriculum_course {
  margin: 58px auto 0;
  max-width: 800px;
}
@media screen and (max-width: 1050px) {
  .curriculum_course {
    margin-top: 46px;
  }
}
.curriculum_course-header h2 {
  color: #00437C;
  font-size: 1.5rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .curriculum_course-header h2 {
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 1051px) {
  .curriculum_course-header h2 br {
    display: none;
  }
}
.curriculum_course-header h2 + p {
  margin-top: 18px;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .curriculum_course-header h2 + p {
    margin-top: 15px;
    text-align: left;
  }
}
.curriculum_course-header .class {
  margin-top: 34px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  gap: 40px;
}
@media screen and (max-width: 1050px) {
  .curriculum_course-header .class {
    margin-top: 30px;
    gap: 16px;
  }
}
.curriculum_course-header .class li {
  padding: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  height: 80px;
  line-height: 1.4;
  font-size: 1.375rem;
  color: #fff;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0;
  background-color: #00437C;
}
@media screen and (max-width: 1050px) {
  .curriculum_course-header .class li {
    height: 82px;
    font-size: 1rem;
  }
}
.curriculum_course-header .class li span {
  padding: 2px 6px;
  font-size: 0.875rem;
  border: 1px solid #fff;
}
@media screen and (max-width: 1050px) {
  .curriculum_course-header .class li span {
    font-size: 0.75rem;
  }
}
.curriculum_course-body ul {
  margin-top: 20px;
}
.curriculum_course-body ul + figure {
  margin-top: 30px;
}
@media screen and (max-width: 1050px) {
  .curriculum_course-body ul + figure {
    margin-top: 20px;
  }
}

@media screen and (min-width: 1051px) {
  .v_course_box {
    display: flex;
  }
  .v_course_box > div, .v_course_box figure {
    width: 50%;
  }
}
.v_course_box h3 {
  padding: 30px 0;
  border-bottom: 1px solid #fff;
  background: #00437C;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  .v_course_box h3 {
    padding: 20px 0;
  }
}
.v_course_box h3 img {
  width: 71.8181818182%;
}
@media screen and (max-width: 1200px) {
  .v_course_box h3 img {
    width: 55.4545454545%;
  }
}
@media screen and (max-width: 1050px) {
  .v_course_box h3 img {
    max-width: 395px;
    width: 80%;
  }
}
.v_course_box .txt_box {
  border: 1px solid #00437C;
}
.v_course_box .txt_box h4 {
  margin-bottom: 5px;
  font-weight: normal;
  font-size: 1.125rem;
}
@media screen and (max-width: 1200px) {
  .v_course_box .txt_box h4 {
    font-size: 0.9375rem;
  }
}
.v_course_box .txt_box .box {
  padding: 18px 20px 20px;
}
.v_course_box .txt_box .box.high {
  font-size: 1.125rem;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  .v_course_box .txt_box .box.high {
    font-size: 0.9375rem;
  }
}
.v_course_box .txt_box .box ul {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
}
.v_course_box .txt_box .box ul li {
  width: 49.2156862745%;
}
.v_course_box .txt_box .box ul li a {
  position: relative;
  display: block;
  padding: 10px;
  color: #fff;
}
.v_course_box .txt_box .box ul li a:before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 13px;
  width: 0;
  height: 0;
  margin: auto 0;
  border-style: solid;
  border-width: 3.5px 0 3.5px 5px;
  border-color: transparent transparent transparent #fff;
  content: "";
}
.v_course_box .txt_box .box ul li a:hover {
  background: #000 !important;
}
.v_course_box .txt_box .box ul li:nth-child(1) a {
  background: #861C3C;
}
.v_course_box .txt_box .box ul li:nth-child(2) a {
  background: #81628C;
}
.v_course_box .txt_box .box p a {
  color: #81628C;
}
.v_course_box .txt_box.bg {
  background: #00437C;
  color: #fff;
}
.v_course_box .txt_box.bg .box {
  padding: 10px 25px;
}
@media screen and (max-width: 1200px) {
  .v_course_box .txt_box.bg .box {
    padding: 10px 20px;
    font-size: 0.875rem;
  }
}

.class_box {
  padding: 14px 20px 32px;
  background: #D1E2EC;
}
.class_box h3 {
  margin-bottom: 38px;
  padding-bottom: 12px;
  border-bottom: 1px solid #000;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .class_box h3 {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 1051px) {
  .class_box .box_wrap {
    display: flex;
  }
}
@media screen and (min-width: 1051px) {
  .class_box .box_wrap .box {
    width: 33.3333333333%;
  }
  .class_box .box_wrap .box:nth-child(1) {
    padding-right: 20px;
  }
  .class_box .box_wrap .box:nth-child(3) {
    padding-left: 20px;
  }
}
.class_box .box_wrap .box:nth-child(2) {
  border: 1px dotted #000;
  border-width: 0 1px;
}
@media screen and (min-width: 1051px) {
  .class_box .box_wrap .box:nth-child(2) {
    padding: 0 20px;
  }
}
@media screen and (max-width: 1050px) {
  .class_box .box_wrap .box:nth-child(2) {
    margin: 20px 0;
    padding: 20px 0;
    border-width: 1px 0;
  }
}
@media screen and (max-width: 1050px) {
  .class_box .box_wrap .box:nth-child(3) {
    padding-bottom: 20px;
    border-bottom: 1px dotted #000;
  }
}
.class_box .box_wrap .box h4 {
  color: #00437C;
  font-size: 1.125rem;
}
@media screen and (max-width: 1050px) {
  .class_box .box_wrap .box h4 {
    font-size: 1rem;
  }
}
.class_box .box_wrap .box p + h4 {
  margin-top: 1em;
}
.class_box > p {
  margin-top: 20px;
  text-align: right;
}
@media screen and (max-width: 1050px) {
  .class_box > p {
    font-size: 0.75rem;
  }
}
@media screen and (min-width: 1051px) {
  .class_box ul.class_list {
    display: flex;
  }
}
.class_box ul.class_list li {
  color: #00437C;
  font-size: 1.125rem;
  font-weight: bold;
}
@media screen and (min-width: 1051px) {
  .class_box ul.class_list li {
    width: 25%;
  }
}
@media screen and (min-width: 1051px) {
  .class_box ul.class_list li:not(:first-child) {
    padding-left: 20px;
    border-left: 1px dotted #000;
  }
}
@media screen and (max-width: 1050px) {
  .class_box ul.class_list li:not(:first-child) {
    margin-top: 20px;
    padding: 20px 0 0;
    border-top: 1px dotted #000;
  }
}
@media screen and (max-width: 1050px) {
  .class_box ul.class_list li {
    font-size: 1rem;
  }
}
.class_box ul.class_list li .block {
  display: block;
  margin-top: 0.5em;
}

.txt_curriculum_attention {
  max-width: 340px;
  margin: 20px 0 0 auto;
}

.timetable {
  max-width: 760px;
  margin: 0 auto;
}

.timetable_p {
  max-width: 760px;
  margin: 5px auto 0;
  text-align: right;
}

.arrow_bottom {
  position: relative;
  margin-bottom: 40px;
}
.arrow_bottom:after {
  position: absolute;
  bottom: -30px;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  margin: 0 auto;
  border-style: solid;
  border-width: 10px 61px 0 61px;
  border-color: #00437C transparent transparent transparent;
  content: "";
}

/*====================================
* 選抜類型
=====================================*/
.type_lead_box {
  margin-bottom: 75px;
}
.type_lead_box:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
@media screen and (max-width: 1050px) {
  .type_lead_box {
    margin-bottom: 40px;
  }
}
.type_lead_box h2 {
  margin-bottom: 3px;
}
@media screen and (max-width: 1050px) {
  .type_lead_box h2 {
    margin-bottom: 10px;
  }
}
.type_lead_box h2 + p {
  margin-bottom: 38px;
}
@media screen and (max-width: 1050px) {
  .type_lead_box h2 + p {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 1051px) {
  .type_lead_box .ico {
    position: relative;
    float: left;
    width: 21.4545454545%;
    margin: -43px 0 0 40px;
  }
}
@media screen and (max-width: 1050px) {
  .type_lead_box .ico {
    max-width: 236px;
    width: 80%;
    margin: 10px auto 10px;
  }
}
@media screen and (min-width: 1051px) {
  .type_lead_box .txt_box {
    float: right;
    width: 71.1818181818%;
    padding-top: 25px;
  }
}
.type_lead_box dl {
  margin-top: 17px;
}
@media screen and (min-width: 1051px) {
  .type_lead_box dl {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding-top: 18px;
    border-top: 1px solid;
  }
}
@media screen and (max-width: 1050px) {
  .type_lead_box dl {
    padding-bottom: 15px;
    border-bottom: 1px solid;
  }
}
.type_lead_box dl dt {
  padding: 8px 0;
  border-radius: 26px;
  color: #fff;
  font-size: 1rem;
  text-align: center;
}
@media screen and (min-width: 1051px) {
  .type_lead_box dl dt {
    width: 15.1979565773%;
  }
}
@media screen and (min-width: 1051px) {
  .type_lead_box dl .dl_in {
    display: flex;
    flex-wrap: wrap;
    width: 80.9706257982%;
  }
}
.type_lead_box dl dd {
  position: relative;
}
@media screen and (min-width: 1051px) {
  .type_lead_box dl dd {
    width: 50%;
    padding-left: 20px;
  }
  .type_lead_box.purple dl dd:nth-child(odd) {
    width: 40%;
  }
  .type_lead_box.purple dl dd:nth-child(even) {
    width: 60%;
  }
}
@media screen and (max-width: 1050px) {
  .type_lead_box dl dd {
    margin-top: 5px;
    padding-left: 35px;
  }
}
.type_lead_box dl dd:before {
  position: absolute;
  top: 0.75em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  content: "";
}
@media screen and (max-width: 1050px) {
  .type_lead_box dl dd:before {
    top: 0.5em;
    left: 20px;
  }
}
.type_lead_box.purple dl {
  border-color: #5B3468;
}
.type_lead_box.purple dl dt, .type_lead_box.purple dl dd:before {
  background: #5B3468;
}
.type_lead_box.purple dl dd {
  color: #5B3468;
}
.type_lead_box.junior dl {
  border-color: #00437C;
}
.type_lead_box.junior dl dt, .type_lead_box.junior dl dd:before {
  background: #00437C;
}
.type_lead_box.junior dl dd {
  color: #00437C;
}
.type_lead_box.high dl {
  border-color: #861C3C;
}
.type_lead_box.high dl dt, .type_lead_box.high dl dd:before {
  background: #861C3C;
}
.type_lead_box.high dl dd {
  color: #861C3C;
}

.voice_box3 {
  position: relative;
  padding: 40px;
  border: 1px solid;
}
@media screen and (min-width: 1051px) {
  .voice_box3 {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (max-width: 1050px) {
  .voice_box3 {
    padding: 25px 20px 20px;
  }
}
.voice_box3 .txt_box {
  position: relative;
}
@media screen and (min-width: 1051px) {
  .voice_box3 .txt_box {
    width: 52.2549019608%;
  }
}
@media screen and (min-width: 1051px) {
  .voice_box3 > figure {
    width: 44.6078431373%;
  }
}
@media screen and (max-width: 1050px) {
  .voice_box3 > figure {
    margin-top: 15px;
  }
}
@media screen and (min-width: 1051px) {
  .voice_box3 .voice_box_header {
    width: 59.2452830189%;
  }
}
@media screen and (min-width: 1051px) {
  .voice_box3 .voice_box_header figure {
    position: absolute;
    top: 0;
    right: 0;
    width: auto;
    height: 219px;
  }
  .voice_box3 .voice_box_header figure img {
    width: auto;
    height: 100%;
  }
}
@media screen and (max-width: 1050px) {
  .voice_box3 .voice_box_header figure {
    margin: 0 auto 10px;
    max-width: 195px;
    width: 60%;
  }
}
.voice_box3 h2 {
  margin-bottom: 13px;
  color: #BFBFBF;
  font-family: "Poppins", sans-serif;
  font-style: italic;
  font-weight: bold;
  font-size: 2.375rem;
  white-space: nowrap;
}
@media screen and (max-width: 1050px) {
  .voice_box3 h2 {
    margin-bottom: -15px;
    font-size: 2.0625rem;
    text-align: center;
  }
}
.voice_box3 h3 {
  line-height: 1.6;
  font-size: 1.125rem;
}
@media screen and (max-width: 1050px) {
  .voice_box3 h3 {
    font-size: 1rem;
    text-align: center;
  }
}
.voice_box3 h3 span.small {
  font-size: 0.9375rem;
}
@media screen and (max-width: 1050px) {
  .voice_box3 h3 span.small {
    font-size: 0.75rem;
  }
}
.voice_box3 h3 span.sub {
  display: block;
  font-weight: normal;
  font-size: 1rem;
}
@media screen and (max-width: 1050px) {
  .voice_box3 h3 span.sub {
    font-size: 0.875rem;
  }
}
.voice_box3 h4 {
  margin: 6px 0 15px;
  line-height: 1.5555555556;
  font-size: 1.125rem;
}
@media screen and (max-width: 1050px) {
  .voice_box3 h4 {
    font-size: 1rem;
    text-align: center;
  }
}
.voice_box3.purple {
  border-color: #5B3468;
}
.voice_box3.purple h4 {
  color: #5B3468;
}
.voice_box3.junior {
  border-color: #00437C;
}
.voice_box3.junior h4 {
  color: #00437C;
}
.voice_box3.high {
  border-color: #861C3C;
}
.voice_box3.high h4 {
  color: #861C3C;
}

/*====================================
* 海外交流・研修旅行
=====================================*/
.tit_study-abroad_01_a {
  position: relative;
  margin: 80px 0 30px;
}
@media screen and (max-width: 1050px) {
  .tit_study-abroad_01_a {
    margin: 40px 0 20px;
  }
}
.tit_study-abroad_01_a:after {
  position: absolute;
  top: -8px;
  right: 0;
  width: 294px;
  height: 91px;
  background: url(../img/high/education/study-abroad/txt_study-abroad.svg) no-repeat 0 0/100% auto;
  content: "";
}
@media screen and (max-width: 1050px) {
  .tit_study-abroad_01_a:after {
    width: 120px;
  }
}

.tit_study-abroad_01_b {
  position: relative;
  margin: 80px 0 20px;
}
@media screen and (max-width: 1050px) {
  .tit_study-abroad_01_b {
    margin: 50px 0 -20px;
  }
}
.tit_study-abroad_01_b:after {
  position: absolute;
  top: -5px;
  right: 0;
  width: 235px;
  height: 75px;
  background: url(../img/high/education/study-abroad/txt_study-trips.svg) no-repeat 0 0/100% auto;
  content: "";
}
@media screen and (max-width: 1050px) {
  .tit_study-abroad_01_b:after {
    width: 120px;
  }
}

@media screen and (min-width: 1051px) {
  .study-abroad_content01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.study-abroad_content01 .study-abroad_box {
  margin-bottom: 40px;
}
@media screen and (min-width: 1051px) {
  .study-abroad_content01 .study-abroad_box {
    width: 47.2727272727%;
  }
}
.study-abroad_content01 .study-abroad_box h3 + p {
  margin-bottom: 11px;
  line-height: 1.6;
  color: #861C3C;
  font-size: 1.125rem;
}
@media screen and (max-width: 1050px) {
  .study-abroad_content01 .study-abroad_box h3 + p {
    font-size: 0.9375rem;
  }
}
.study-abroad_content01 .study-abroad_box h4 {
  position: relative;
  margin-bottom: 15px;
  padding-left: 35px;
  color: #861C3C;
  font-weight: normal;
  font-size: 1.125rem;
}
@media screen and (max-width: 1050px) {
  .study-abroad_content01 .study-abroad_box h4 {
    margin-bottom: 10px;
    padding-left: 25px;
    font-size: 0.9375rem;
  }
}
.study-abroad_content01 .study-abroad_box h4:before {
  position: absolute;
  top: 0.3em;
  left: 0;
  width: 26px;
  height: 26px;
  background: #861C3C;
  content: "";
}
@media screen and (max-width: 1050px) {
  .study-abroad_content01 .study-abroad_box h4:before {
    width: 18px;
    height: 18px;
  }
}
.study-abroad_content01 .study-abroad_box h5 {
  margin-bottom: 9px;
  padding-bottom: 5px;
  border-bottom: 1px solid #000;
}
.study-abroad_content01 .study-abroad_box table + h4 {
  margin-top: 24px;
}

.study-abroad_content02 {
  margin-top: 44px;
  margin-bottom: 15px;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1050px) {
  .study-abroad_content02 {
    flex-direction: column-reverse;
  }
  .study-abroad_content02.reverse {
    margin-top: 10px;
    flex-direction: column;
  }
  .study-abroad_content02.reverse figure {
    margin-top: 10px;
  }
}
@media screen and (min-width: 1051px) {
  .study-abroad_content02 .txt_box {
    width: 47.2727272727%;
  }
}
.study-abroad_content02 .txt_box h3 {
  padding-bottom: 4px;
  margin-bottom: 10px;
  border-bottom: 2px solid #861C3C;
  color: #861C3C;
  font-size: 1.125rem;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 1050px) {
  .study-abroad_content02 .txt_box h3 {
    font-size: 0.9375rem;
  }
}
.study-abroad_content02 .txt_box p + p {
  margin-top: 1.5em;
}
@media screen and (min-width: 1051px) {
  .study-abroad_content02 figure {
    width: 47.2727272727%;
  }
}
@media screen and (max-width: 1050px) {
  .study-abroad_content02 figure {
    margin-bottom: 10px;
  }
}

/*====================================
* 海外交流・研修旅行
=====================================*/
p.txt_college_lead {
  font-size: 1.5rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  p.txt_college_lead {
    font-size: 1.125rem;
  }
}
p.txt_college_lead + .tit_college {
  margin-top: 50px !important;
}
@media screen and (max-width: 1050px) {
  p.txt_college_lead + .tit_college {
    margin-top: 30px !important;
  }
}

.tit_college {
  position: relative;
  margin: 60px 0 7px;
  color: #861C3C;
  font-size: 1.25rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .tit_college {
    font-size: 1.0625rem;
  }
}
.tit_college img:not([class]) {
  display: block;
  width: 90px;
  margin: 0 auto 20px;
}
@media screen and (max-width: 1050px) {
  .tit_college img:not([class]) {
    margin-bottom: 10px;
  }
}
.tit_college img.ico_best {
  margin-right: 15px;
}
@media screen and (max-width: 1050px) {
  .tit_college img.ico_best {
    width: 60px;
    margin-right: 5px;
  }
}
.tit_college img.topic {
  width: 90px;
}
.tit_college + p {
  margin-bottom: 38px;
}
@media screen and (max-width: 1050px) {
  .tit_college + p {
    margin-bottom: 20px;
  }
}

.college_dl {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 1050px) {
  .college_dl {
    justify-content: space-between;
  }
}
.college_dl .dl_in {
  display: flex;
  width: 24.4545454545%;
  margin-bottom: 10px;
  border: 1px solid #861C3C;
  border-width: 1px 0;
  color: #861C3C;
  text-align: center;
}
@media screen and (min-width: 1051px) {
  .college_dl .dl_in:not(:nth-child(4n+1)) {
    margin-left: 0.7272727273%;
  }
}
@media screen and (max-width: 1050px) {
  .college_dl .dl_in {
    width: 48.5%;
    font-size: 0.8125rem;
  }
}
.college_dl .dl_in dt {
  width: 74.3494423792%;
  background: #E9D6DC;
  font-weight: bold;
}
.college_dl .dl_in dd {
  width: 25.6505576208%;
}
.college_dl .dl_in dt, .college_dl .dl_in dd {
  padding: 10px 0;
  height: 100%;
}
.college_dl + p {
  margin-top: -8px;
  color: #861C3C;
  text-align: right;
}

@media screen and (min-width: 1051px) {
  .college_dl2 {
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(8, auto);
  }
  .college_dl2.private {
    grid-template-rows: repeat(15, auto);
  }
}
@media screen and (max-width: 1050px) {
  .college_dl2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.college_dl2 .dl_in {
  display: flex;
  align-items: center;
  border: 1px solid #000;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .college_dl2 .dl_in {
    width: 50%;
    border-width: 0 1px 1px 0;
    font-size: 0.8125rem;
  }
  .college_dl2 .dl_in:nth-child(odd) {
    border-left-width: 1px;
  }
  .college_dl2 .dl_in:nth-child(1), .college_dl2 .dl_in:nth-child(2) {
    border-top-width: 1px;
  }
}
@media screen and (min-width: 1051px) {
  .college_dl2 .dl_in {
    border-width: 1px 1px 0 0;
  }
  .college_dl2 .dl_in:nth-child(-n+8) {
    border-left-width: 1px;
  }
  .college_dl2 .dl_in:last-child {
    border-bottom-width: 1px;
  }
  .college_dl2:not(.private) .dl_in:nth-child(8n) {
    border-bottom-width: 1px;
  }
  .college_dl2.private .dl_in:nth-child(-n+15) {
    border-left-width: 1px;
  }
  .college_dl2.private .dl_in:nth-child(15n) {
    border-bottom-width: 1px;
  }
}
.college_dl2 .dl_in dt {
  display: grid;
  place-content: center;
  line-height: 1.2;
  width: 72.7272727273%;
  background: #EDEDED;
  font-weight: bold;
}
.college_dl2 .dl_in dd {
  width: 27.2727272727%;
}
.college_dl2 .dl_in dt, .college_dl2 .dl_in dd {
  padding: 10px 0;
  height: 100%;
}

dl.total {
  display: flex;
  justify-content: flex-end;
  font-size: 1.125rem;
  margin-top: 16px;
}
@media screen and (max-width: 1050px) {
  dl.total {
    font-size: 1rem;
  }
}
dl.total dt {
  font-weight: bold;
  padding-right: 1em;
}
dl.total dt, dl.total dd {
  position: relative;
}
dl.total dt:after, dl.total dd:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #000;
  content: "";
}

.college_box .tit_12 {
  margin-bottom: 30px;
}
@media screen and (max-width: 1050px) {
  .college_box .tit_12 {
    margin-bottom: 15px;
  }
}
.college_box .table_01 th {
  width: 146px;
}
.college_box p {
  position: relative;
  padding-left: 1.5em;
}
.college_box p:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  content: "※ ";
}

.voice_box2 {
  position: relative;
  padding: 35px 40px 30px;
  background: #F8F2EE;
}
@media screen and (max-width: 1050px) {
  .voice_box2 {
    padding: 25px 20px 30px;
  }
}
@media screen and (min-width: 1051px) {
  .voice_box2 .voice_box_header {
    width: 59.2452830189%;
  }
}
@media screen and (min-width: 1051px) {
  .voice_box2 .voice_box_header figure {
    position: absolute;
    top: 40px;
    right: 40px;
    width: auto;
    height: 219px;
  }
  .voice_box2 .voice_box_header figure img {
    width: auto;
    height: 100%;
  }
}
@media screen and (max-width: 1050px) {
  .voice_box2 .voice_box_header figure {
    margin: 0 auto 10px;
    max-width: 195px;
    width: 60%;
  }
}
.voice_box2 h3 {
  margin-bottom: 8px;
  color: #BFBFBF;
  font-family: "Poppins", sans-serif;
  font-style: italic;
  font-weight: bold;
  font-size: 2.375rem;
  white-space: nowrap;
}
@media screen and (max-width: 1050px) {
  .voice_box2 h3 {
    margin-bottom: -15px;
    font-size: 2.0625rem;
    text-align: center;
  }
}
.voice_box2 h4 {
  line-height: 1.6;
  margin-bottom: 10px;
  font-size: 1.125rem;
}
@media screen and (max-width: 1050px) {
  .voice_box2 h4 {
    font-size: 1rem;
    text-align: center;
  }
}
.voice_box2 h4 span.sub2 {
  display: block;
  margin-bottom: 2px;
  font-size: 0.9375rem;
}
@media screen and (max-width: 1050px) {
  .voice_box2 h4 span.sub2 {
    font-size: 0.8125rem;
  }
}
.voice_box2 h4 span.sub {
  display: block;
  margin-top: 5px;
  font-weight: normal;
  font-size: 1rem;
}
@media screen and (max-width: 1050px) {
  .voice_box2 h4 span.sub {
    font-size: 0.875rem;
  }
}
.voice_box2 h5 {
  margin: 25px 0 15px;
  line-height: 1.5555555556;
  color: #861C3C;
  font-size: 1.125rem;
}
@media screen and (max-width: 1050px) {
  .voice_box2 h5 {
    font-size: 1rem;
  }
}

/*====================================
* 学校行事
=====================================*/
.event_list {
  position: relative;
  max-width: 900px;
  margin: 42px auto 0;
}
@media screen and (min-width: 1051px) {
  .event_list:before {
    position: absolute;
    top: 80px;
    left: 70px;
    width: 11px;
    height: calc(100% - 230px);
    content: "";
    z-index: -1;
  }
}
.event_list.junior:before {
  background: #FEE13C;
}
.event_list.high:before {
  background: #FEA43C;
}
.event_list > li {
  position: relative;
  margin-bottom: 56px;
}
@media screen and (min-width: 1051px) {
  .event_list > li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
  }
}
.event_list > li h2 {
  width: 16.3333333333%;
}
@media screen and (max-width: 1050px) {
  .event_list > li h2 {
    position: absolute;
    top: -30px;
    left: 0;
    width: 60px;
  }
}
@media screen and (min-width: 1051px) {
  .event_list > li .event_box {
    display: flex;
    width: 78.4444444444%;
    padding: 20px 30px;
    align-items: center;
  }
}
@media screen and (max-width: 1050px) {
  .event_list > li .event_box {
    padding: 40px 18px 23px;
  }
}
.event_list > li .event_box figure img {
  width: 100%;
}
@media screen and (min-width: 1051px) {
  .event_list > li .event_box figure {
    width: 42.7244582043%;
  }
}
@media screen and (min-width: 1051px) {
  .event_list ul {
    width: 56.6563467492%;
  }
  .event_list ul.col2 {
    display: flex;
    flex-wrap: wrap;
  }
  .event_list ul.col2 li {
    width: 50%;
  }
}
@media screen and (max-width: 1050px) {
  .event_list ul {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 15px;
  }
}
.event_list ul li {
  position: relative;
  padding-left: 20px;
}
@media screen and (max-width: 1050px) {
  .event_list ul li {
    width: 50%;
    margin-bottom: 3px;
    padding-left: 13px;
  }
  .event_list ul li.w100 {
    width: 100%;
  }
}
.event_list ul li:before {
  position: absolute;
  top: 0.75em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  content: "";
}
@media screen and (max-width: 1050px) {
  .event_list ul li:before {
    top: 0.5em;
    width: 6px;
    height: 6px;
  }
}
.event_list.purple .event_box {
  background: #FFFCEA;
}
.event_list.purple .event_box ul li:before {
  background: #5B3468;
}
.event_list.junior .event_box {
  background: #FFFCEA;
}
.event_list.junior .event_box ul li:before {
  background: #00437C;
}
.event_list.high .event_box {
  background: #FFF6EA;
}
.event_list.high .event_box ul li:before {
  background: #861C3C;
}

.event_img {
  margin-top: 70px;
}
@media screen and (max-width: 1050px) {
  .event_img {
    margin-top: 40px;
  }
}
.event_img ul {
  position: relative;
}
.event_img ul:before {
  position: absolute;
  top: -74px;
  right: -47px;
  width: 138px;
  height: 138px;
  background: url(../img/high/school-life/event/ico_pickup.svg) no-repeat 0 0/100% auto;
  content: "";
}
@media screen and (max-width: 1050px) {
  .event_img ul:before {
    top: -40px;
    right: -15px;
    width: 80px;
    height: 80px;
  }
}

.message_box {
  position: relative;
  margin-top: 82px;
  background: #F2E9EB;
  padding: 20px;
}
@media screen and (min-width: 1051px) {
  .message_box {
    display: flex;
    justify-content: space-between;
    margin-top: 112px;
    padding: 40px 38px 40px 30px;
  }
}
.message_box h2 {
  position: absolute;
  top: -52px;
  left: 0;
  display: inline-block;
  height: 52px;
  line-height: 2.0833333333;
  padding: 3px 20px 0;
  border-radius: 10px 10px 0 0;
  background: #F2E9EB;
  color: #861C3C;
  font-size: 1.5rem;
}
@media screen and (max-width: 1050px) {
  .message_box h2 {
    top: -42px;
    height: 42px;
    font-size: 1rem;
  }
}
@media screen and (min-width: 1051px) {
  .message_box_name {
    display: flex;
    width: 52.2549019608%;
    justify-content: space-between;
    align-items: center;
  }
}
.message_box_name figure {
  width: 37.8167641326%;
}
@media screen and (max-width: 1050px) {
  .message_box_name figure {
    max-width: 194px;
    width: 50%;
    margin: 0 auto;
  }
}
@media screen and (min-width: 1051px) {
  .message_box_name .txt_box {
    width: 54.7842401501%;
  }
}
@media screen and (max-width: 1050px) {
  .message_box_name .txt_box h3 {
    margin-top: 5px;
    text-align: center;
  }
}
.message_box_name .txt_box h3 span {
  display: block;
}
.message_box_name .txt_box h3 span.name {
  font-size: 1.125rem;
}
@media screen and (max-width: 1050px) {
  .message_box_name .txt_box h3 span.name {
    font-size: 1rem;
  }
}
.message_box_name .txt_box h3 span.sub {
  line-height: 1.25;
  font-weight: normal;
}
.message_box_name .txt_box h4 {
  line-height: 1.5555555556;
  margin-top: 24px;
  color: #861C3C;
  font-size: 1.125rem;
}
@media screen and (max-width: 1050px) {
  .message_box_name .txt_box h4 {
    margin: 10px 0;
    font-size: 0.9375rem;
  }
}
@media screen and (min-width: 1051px) {
  .message_box p {
    width: 47.5490196078%;
  }
}

/*====================================
* クラブ活動
=====================================*/
.tab_btn_club {
  display: flex;
  margin: 64px 0 40px;
}
@media screen and (max-width: 1050px) {
  .tab_btn_club {
    font-size: 0.9375rem;
    margin: 34px 0 10px;
  }
}
.tab_btn_club li {
  width: 50%;
  padding: 11px;
  border-top: 1px solid;
  font-size: 1.125rem;
  text-align: center;
  cursor: pointer;
  transition: 0.4s;
}
@media screen and (max-width: 1050px) {
  .tab_btn_club li {
    font-size: 0.9375rem;
  }
}
.tab_btn_club li.active {
  color: #fff !important;
}
.tab_btn_club.purple li {
  border-top-color: #5B3468;
  color: #5B3468;
}
.tab_btn_club.purple li.active {
  background: #5B3468;
}
.tab_btn_club.junior li {
  border-top-color: #00437C;
  color: #00437C;
}
.tab_btn_club.junior li.active {
  background: #00437C;
}
.tab_btn_club.high li {
  border-top-color: #861C3C;
  color: #861C3C;
}
.tab_btn_club.high li.active {
  background: #861C3C;
}

.club_list {
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 17px;
}
@media screen and (max-width: 1050px) {
  .club_list {
    justify-content: space-between;
  }
}
.club_list li {
  display: flex;
  flex-direction: column;
  width: 49.8%;
  margin-bottom: 1px;
}
@media screen and (min-width: 1051px) {
  .club_list li {
    width: 33.1818181818%;
  }
  .club_list li:nth-child(3n+2) {
    margin-left: 1px;
    margin-right: 1px;
  }
}
.club_list li.student-council {
  width: 100%;
}
@media screen and (min-width: 1051px) {
  .club_list li.student-council {
    width: 66.5454545455%;
  }
}
.club_list li figure {
  position: relative;
  overflow: hidden;
}
.club_list li figure:after {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 30px;
  height: 30px;
  background: url(../img/common/ico_zoom.svg) no-repeat 0 0/100% auto;
  content: "";
}
.club_list li figure img {
  transition: 0.4s;
}
.club_list li a {
  display: block;
}
.club_list li a:hover img {
  transform: scale(1.1, 1.1);
}
.club_list li span.txt {
  display: block;
  padding: 11px 20px;
  color: #fff;
}
@media screen and (max-width: 1050px) {
  .club_list li span.txt {
    padding: 5px 10px;
  }
}
.club_list.purple li {
  background: #5B3468;
}
.club_list.purple span.txt {
  background: #5B3468;
}
.club_list.junior li {
  background: #00437C;
}
.club_list.junior span.txt {
  background: #00437C;
}
.club_list.high li {
  background: #861C3C;
}
.club_list.high span.txt {
  background: #861C3C;
}

a.club_link {
  display: inline-block;
  position: relative;
  padding: 13px 20px;
  border-radius: 6px;
  background: #5B3468;
  color: #fff;
}
a.club_link:hover {
  opacity: 0.6;
}

/*====================================
* 制服・制定品
=====================================*/
.uniform_content {
  position: relative;
  padding: 60px 40px 50px;
  margin-bottom: 50px;
}
@media screen and (max-width: 1050px) {
  .uniform_content {
    padding: 30px 20px 20px;
  }
}
.uniform_content:before {
  position: absolute;
  top: 0;
  right: 0;
  width: 318px;
  height: 44px;
  background: url(../img/common/txt_uniform.svg) no-repeat 0 0/100% auto;
  content: "";
  z-index: 2;
}
@media screen and (max-width: 1050px) {
  .uniform_content:before {
    width: 60%;
    max-width: 258px;
  }
}
.uniform_content h2 {
  position: relative;
  margin-bottom: 10px;
  text-align: center;
  z-index: 1;
}
.uniform_content ul {
  margin-top: 15px;
}
@media screen and (min-width: 1051px) {
  .uniform_content ul {
    display: flex;
    margin-top: 35px;
  }
}
@media screen and (min-width: 1051px) {
  .uniform_content ul li {
    display: flex;
    width: 50%;
  }
}
@media screen and (min-width: 1051px) {
  .uniform_content ul li dl {
    display: flex;
    flex-direction: column;
    width: 45.0980392157%;
  }
}
.uniform_content ul li dl .dl_in {
  padding: 15px;
}
@media screen and (min-width: 1051px) {
  .uniform_content ul li dl .dl_in {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 50%;
  }
}
.uniform_content ul li dl dt {
  font-weight: bold;
}
@media screen and (min-width: 1051px) {
  .uniform_content ul li figure {
    width: 54.9019607843%;
  }
}
@media screen and (max-width: 1050px) {
  .uniform_content ul li figure {
    text-align: center;
  }
}
.uniform_content ul li:nth-child(1) {
  flex-direction: row-reverse;
}
@media screen and (max-width: 1050px) {
  .uniform_content ul li:nth-child(1) {
    margin-bottom: 15px;
  }
}
.uniform_content.purple {
  background: #EAE6EC;
}
.uniform_content.purple h2 {
  color: #5B3468;
}
.uniform_content.purple li:nth-child(1) dl {
  background: #5B3468;
  color: #fff;
}
.uniform_content.purple li:nth-child(1) dl .dl_in + .dl_in {
  border-top: 1px solid #fff;
}
.uniform_content.purple li:nth-child(2) dl {
  background: #fff;
  color: #5B3468;
}
.uniform_content.purple li:nth-child(2) dl .dl_in + .dl_in {
  border-top: 1px solid #EAE6EC;
}
.uniform_content.junior {
  background: #DAE2EA;
}
.uniform_content.junior h2 {
  color: #00437C;
}
.uniform_content.junior li:nth-child(1) dl {
  background: #00437C;
  color: #fff;
}
.uniform_content.junior li:nth-child(1) dl .dl_in + .dl_in {
  border-top: 1px solid #fff;
}
.uniform_content.junior li:nth-child(2) dl {
  background: #fff;
  color: #00437C;
}
.uniform_content.junior li:nth-child(2) dl .dl_in + .dl_in {
  border-top: 1px solid #DAE2EA;
}
.uniform_content.high {
  background: #EBDDE1;
}
.uniform_content.high h2 {
  color: #861C3C;
}
.uniform_content.high li:nth-child(1) dl {
  background: #861C3C;
  color: #fff;
}
.uniform_content.high li:nth-child(1) dl .dl_in + .dl_in {
  border-top: 1px solid #fff;
}
.uniform_content.high li:nth-child(2) dl {
  background: #fff;
  color: #861C3C;
}
.uniform_content.high li:nth-child(2) dl .dl_in + .dl_in {
  border-top: 1px solid #EBDDE1;
}

.uniform_list {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 1050px) {
  .uniform_list {
    justify-content: space-between;
  }
}
.uniform_list li {
  width: 18.5454545455%;
  margin-bottom: 25px;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 1051px) {
  .uniform_list li:not(:nth-child(5n+1)) {
    margin-left: 1.8181818182%;
  }
}
@media screen and (max-width: 1050px) {
  .uniform_list li {
    width: 49%;
  }
}
.uniform_list li figure {
  margin-bottom: 6px;
}
.uniform_list.purple span {
  color: #5B3468;
}
.uniform_list.junior span {
  color: #00437C;
}
.uniform_list.high span {
  color: #861C3C;
}

/*====================================
* 入試情報
=====================================*/
.admission_top_link {
  margin-bottom: 20px;
}
@media screen and (min-width: 1051px) {
  .admission_top_link {
    display: flex;
    margin-bottom: 40px;
  }
  .admission_top_link > div {
    width: 50%;
  }
}
.admission_top_link .img_box {
  position: relative;
}
.admission_top_link .img_box p {
  display: inline-block;
  position: absolute;
  bottom: 42px;
  right: 0;
  padding: 0 24px;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  font-size: 1.75rem;
}
@media screen and (max-width: 1050px) {
  .admission_top_link .img_box p {
    bottom: 22px;
    padding: 5px 15px;
    font-size: 1.125rem;
  }
}
.admission_top_link .btn_box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #fff;
}
@media screen and (max-width: 1050px) {
  .admission_top_link .btn_box {
    padding: 20px 10px;
  }
}
.admission_top_link .btn_box h2 {
  margin-bottom: 18px;
  font-size: 1.25rem;
  text-align: center;
}
@media screen and (max-width: 1050px) {
  .admission_top_link .btn_box h2 {
    margin-bottom: 10px;
    font-size: 1rem;
  }
}
.admission_top_link .btn_box p {
  width: 70.9090909091%;
  max-width: 390px;
  margin: 0 auto;
  font-size: 1rem;
}
@media screen and (max-width: 1050px) {
  .admission_top_link .btn_box p {
    max-width: 300px;
    font-size: 0.9375rem;
  }
}
.admission_top_link .btn_box p a {
  position: relative;
  display: block;
  padding: 12px 35px;
  border: 1px solid #fff;
  border-radius: 35px;
  color: #fff;
}
.admission_top_link .btn_box p a:before, .admission_top_link .btn_box p a:after {
  position: absolute;
  content: "";
  transition: 0.4s;
}
.admission_top_link .btn_box p a:before {
  top: 0;
  bottom: 0;
  right: 20px;
  width: 26px;
  height: 26px;
  margin: auto 0;
  border: 1px solid #fff;
  border-radius: 50%;
}
@media screen and (max-width: 1050px) {
  .admission_top_link .btn_box p a:before {
    width: 17px;
    height: 17px;
  }
}
.admission_top_link .btn_box p a:after {
  top: 0;
  bottom: 0;
  right: 31px;
  width: 0;
  height: 0;
  margin: auto 0;
  border-style: solid;
  border-width: 2.5px 0 2.5px 3px;
  border-color: transparent transparent transparent #fff;
}
@media screen and (max-width: 1050px) {
  .admission_top_link .btn_box p a:after {
    right: 28px;
  }
}
.admission_top_link.purple .btn_box {
  background: #5B3468;
}
.admission_top_link.purple .btn_box p a {
  background: #003c6f;
}
.admission_top_link.purple .btn_box p a:hover {
  background: #000;
}
.admission_top_link.junior .btn_box {
  background: #00437C;
}
.admission_top_link.junior .btn_box p a {
  background: #003c6f;
}
.admission_top_link.junior .btn_box p a:hover {
  background: #000;
}
.admission_top_link.high .btn_box {
  background: #861C3C;
}
.admission_top_link.high .btn_box p a {
  background: #690a27;
}
.admission_top_link.high .btn_box p a:hover {
  background: #000;
}

.list_btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.list_btn.opc {
  justify-content: center;
}
@media screen and (min-width: 1051px) {
  .list_btn.opc li + li {
    margin-left: 2px;
  }
}
.list_btn li {
  width: 100%;
  margin-bottom: 2px;
}
@media screen and (min-width: 1051px) {
  .list_btn li {
    width: calc(50% - 1px);
  }
}
.list_btn li a {
  position: relative;
  display: block;
  padding: 43px 40px;
  color: #fff;
  font-size: 1.125rem;
}
@media screen and (max-width: 1050px) {
  .list_btn li a {
    padding: 23px 20px;
    font-size: 0.9375rem;
  }
}
.list_btn li a:before, .list_btn li a:after {
  position: absolute;
  content: "";
  transition: 0.4s;
}
.list_btn li a:before {
  top: 0;
  bottom: 0;
  right: 40px;
  width: 26px;
  height: 26px;
  margin: auto 0;
  border: 1px solid #fff;
  border-radius: 50%;
}
@media screen and (max-width: 1050px) {
  .list_btn li a:before {
    right: 20px;
    width: 17px;
    height: 17px;
  }
}
.list_btn li a:after {
  top: 0;
  bottom: 0;
  right: 51px;
  width: 0;
  height: 0;
  margin: auto 0;
  border-style: solid;
  border-width: 2.5px 0 2.5px 3px;
  border-color: transparent transparent transparent #fff;
}
@media screen and (max-width: 1050px) {
  .list_btn li a:after {
    right: 27px;
  }
}
.list_btn li a.external:before {
  display: none;
}
.list_btn li a.external:after {
  right: 40px;
  width: 21px;
  height: 19px;
  border: none;
  background: url(../img/common/ico_external_link.svg) no-repeat 0 0/100% auto;
}
@media screen and (max-width: 1050px) {
  .list_btn li a.external:after {
    right: 20px;
  }
}
.list_btn li a:hover {
  background: #000 !important;
}
.list_btn.purple li a {
  background: #5B3468;
}
.list_btn.junior li a {
  background: #00437C;
}
.list_btn.high li a {
  background: #861C3C;
}

/*====================================
* 学校説明会・入試イベント
=====================================*/
.opc_time_table {
  display: flex;
  flex-wrap: wrap;
}
.opc_time_table li {
  width: 31.1818181818%;
  margin-bottom: 34px;
  padding-bottom: 35px;
  border: 1px solid;
  border-radius: 11px 11px 10px 10px;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 1051px) {
  .opc_time_table li:nth-child(3n+2) {
    margin-left: 3.1818181818%;
    margin-right: 3.1818181818%;
  }
}
@media screen and (max-width: 1050px) {
  .opc_time_table li {
    width: 100%;
    margin-bottom: 15px;
    padding-bottom: 20px;
  }
}
.opc_time_table li h3 {
  padding: 9px 9px 12px;
  border-radius: 10px 10px 0 0;
  color: #fff;
  font-size: 1.25rem;
}
@media screen and (max-width: 1050px) {
  .opc_time_table li h3 {
    font-size: 0.9375rem;
  }
}
.opc_time_table li p:not([class]) {
  margin: 19px 0 8px;
  font-size: 1.25rem;
}
@media screen and (max-width: 1050px) {
  .opc_time_table li p:not([class]) {
    margin: 10px 0 8px;
    font-size: 0.9375rem;
  }
}
.opc_time_table li p.time {
  width: 68.5131195335%;
  margin: 0 auto;
  border-radius: 21px;
}
.opc_time_table.junior li {
  border-color: #00B59A;
}
.opc_time_table.junior h3 {
  background: #00B59A;
}
.opc_time_table.junior p:not([class]) {
  color: #FF6C00;
}
.opc_time_table.junior p.time {
  background: #CEE0F7;
}
.opc_time_table.high li {
  border-color: #EF8203;
}
.opc_time_table.high h3 {
  background: #EF8203;
}
.opc_time_table.high p:not([class]) {
  color: #097700;
}
.opc_time_table.high p.time {
  background: #CEF7F1;
}

.mini_opc {
  display: flex;
  margin-bottom: 20px;
  border: 2px solid #227CB5;
  border-radius: 10px;
}
@media screen and (max-width: 1050px) {
  .mini_opc {
    margin-top: 10px;
    flex-direction: column;
  }
}
.mini_opc h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  background: #227CB5;
  color: #fff;
  font-size: 0.9375rem;
}
@media screen and (min-width: 1261px) {
  .mini_opc h3 {
    width: 39.5454545455%;
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 1260px) {
  .mini_opc h3 {
    width: 30%;
  }
}
@media screen and (max-width: 1050px) {
  .mini_opc h3 {
    width: 100%;
  }
}
@media screen and (min-width: 1261px) {
  .mini_opc .txt_box {
    width: 60.4545454545%;
    padding: 33px 60px 33px 60px;
  }
}
@media screen and (max-width: 1260px) {
  .mini_opc .txt_box {
    width: 70%;
    padding: 20px 30px;
  }
}
@media screen and (max-width: 1050px) {
  .mini_opc .txt_box {
    width: 100%;
    padding: 20px;
  }
}
.mini_opc .txt_box ul {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 10px;
  padding-bottom: 4px;
  border-bottom: 1px dotted #000;
}
@media screen and (max-width: 1050px) {
  .mini_opc .txt_box ul {
    justify-content: space-between;
  }
}
.mini_opc .txt_box ul li {
  position: relative;
  width: 24.9541284404%;
  margin-bottom: 10px;
  padding-left: 11px;
}
@media screen and (max-width: 1050px) {
  .mini_opc .txt_box ul li {
    width: 48%;
  }
}
.mini_opc .txt_box ul li:before {
  position: absolute;
  top: 0.75em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #227CB5;
  content: "";
}
@media screen and (max-width: 1050px) {
  .mini_opc .txt_box ul li:before {
    top: 0.55em;
  }
}
.mini_opc.off-campus ul {
  display: block;
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.mini_opc.off-campus ul li {
  width: 100%;
  margin-bottom: 0;
}
.mini_opc.off-campus ul li + li {
  margin-top: 10px;
}

.opc_attention {
  margin-bottom: 50px;
  padding: 60px 60px;
  border-radius: 10px;
  background: #E6E6E6;
}
@media screen and (max-width: 1050px) {
  .opc_attention {
    margin-top: 40px;
    padding: 20px;
  }
}
.opc_attention li {
  position: relative;
  padding-left: 1em;
}
.opc_attention li:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  content: "※";
}

/*====================================
* 募集要項
=====================================*/
.essential-point_content {
  max-width: 900px;
  margin: 0 auto;
  padding: 54px 20px 60px;
  border: 2px solid;
}
@media screen and (max-width: 1050px) {
  .essential-point_content {
    padding: 24px 15px 30px;
  }
}
.essential-point_content p:not([class]) {
  text-align: center;
}
.essential-point_content p.pdf {
  max-width: 340px;
  margin: 20px auto 0;
  border: 1px solid;
}
.essential-point_content p.pdf a {
  position: relative;
  display: block;
  padding: 13px 40px 13px 20px;
  font-size: 1rem;
}
@media screen and (max-width: 1050px) {
  .essential-point_content p.pdf a {
    font-size: 0.875rem;
  }
}
.essential-point_content p.pdf a:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  width: 16px;
  height: 20px;
  margin: auto 0;
  content: "";
}
.essential-point_content.purple {
  border-color: #5B3468;
}
.essential-point_content.purple p.pdf {
  border-color: #5B3468;
}
.essential-point_content.purple p.pdf a {
  color: #5B3468;
}
.essential-point_content.purple p.pdf a:after {
  background: url(../img/common/ico_pdf_purple.svg) no-repeat 0 0/100% auto;
}
.essential-point_content.purple p.pdf a:hover {
  background: #CEE0F7;
}
.essential-point_content.junior {
  border-color: #00437C;
}
.essential-point_content.junior p.pdf {
  border-color: #00437C;
}
.essential-point_content.junior p.pdf a {
  color: #00437C;
}
.essential-point_content.junior p.pdf a:after {
  background: url(../img/common/ico_pdf_junior.svg) no-repeat 0 0/100% auto;
}
.essential-point_content.junior p.pdf a:hover {
  background: #CEE0F7;
}
.essential-point_content.high {
  border-color: #861C3C;
}
.essential-point_content.high p.pdf {
  border-color: #861C3C;
}
.essential-point_content.high p.pdf a {
  color: #861C3C;
}
.essential-point_content.high p.pdf a:after {
  background: url(../img/common/ico_pdf_high.svg) no-repeat 0 0/100% auto;
}
.essential-point_content.high p.pdf a:hover {
  background: #FFEFF3;
}

/*====================================
* 募集要項
=====================================*/
table.table01 {
  width: 100%;
  margin: 20px 0;
}
table.table01 th, table.table01 td {
  padding: 15px 20px;
}
@media screen and (max-width: 1050px) {
  table.table01 th, table.table01 td {
    padding: 5px 10px;
  }
}
table.table01 th {
  border: 1px solid;
  border-width: 1px 0;
  text-align: left;
}
table.table01 th.th_w01 {
  min-width: 9em;
}
@media screen and (max-width: 1050px) {
  table.table01 th.th_w01 {
    min-width: 8em;
  }
}
table.table01 th.th_w02 {
  width: 21em;
}
@media screen and (max-width: 1050px) {
  table.table01 th.th_w02 {
    width: 10em;
  }
}
table.table01 td {
  border: 1px solid #C4C4C4;
  border-width: 1px 0;
}
table.table01.purple th {
  border-color: #5B3468;
  background: #CEE0F7;
  color: #5B3468;
}
table.table01.junior th {
  border-color: #00437C;
  background: #CEE0F7;
  color: #00437C;
}
table.table01.high th {
  border-color: #861C3C;
  background: #FFEFF3;
  color: #861C3C;
}

/*====================================
* Q&A
=====================================*/
.faq_content {
  margin-top: 60px;
}
@media screen and (max-width: 1050px) {
  .faq_content {
    margin-top: 30px;
  }
}
.faq_content_box {
  margin-bottom: 20px;
  border: 1px solid;
}
@media screen and (max-width: 1050px) {
  .faq_content_box {
    margin-bottom: 10px;
  }
}
.faq_content_box h3 {
  position: relative;
  cursor: pointer;
  transition: 0.4s;
}
.faq_content_box h3:before {
  position: absolute;
  top: 5px;
  left: 20px;
  font-family: "Roboto", sans-serif;
  font-size: 1.5rem;
  font-weight: bold;
  content: "Q";
}
@media screen and (max-width: 1050px) {
  .faq_content_box h3:before {
    left: 10px;
  }
}
.faq_content_box h3 span.in {
  position: relative;
  display: block;
  padding: 13px 50px 13px 55px;
}
@media screen and (max-width: 1050px) {
  .faq_content_box h3 span.in {
    padding: 13px 40px 13px 40px;
  }
}
.faq_content_box h3 span.in:after, .faq_content_box h3 span.in:before {
  position: absolute;
  content: "";
  transition: 0.4s;
}
.faq_content_box h3 span.in:after {
  top: 27px;
  right: 20px;
  width: 16px;
  height: 1px;
}
@media screen and (max-width: 1050px) {
  .faq_content_box h3 span.in:after {
    top: 23px;
    right: 15px;
  }
}
.faq_content_box h3 span.in:before {
  top: 20px;
  right: 27px;
  width: 1px;
  height: 16px;
}
@media screen and (max-width: 1050px) {
  .faq_content_box h3 span.in:before {
    top: 16px;
    right: 22px;
  }
}
.faq_content_box h3.active span.in:before {
  opacity: 0;
}
.faq_content_box .a_content {
  display: none;
  position: relative;
  padding: 13px 50px 13px 55px;
}
@media screen and (max-width: 1050px) {
  .faq_content_box .a_content {
    padding: 13px 40px 13px 40px;
  }
}
.faq_content_box .a_content:before {
  position: absolute;
  top: 5px;
  left: 20px;
  color: #FF1A5F;
  font-family: "Roboto", sans-serif;
  font-size: 1.5rem;
  font-weight: bold;
  content: "A";
}
@media screen and (max-width: 1050px) {
  .faq_content_box .a_content:before {
    left: 10px;
  }
}
.faq_content_box .a_content figure {
  text-align: center;
}
.faq_content_box .a_content p {
  margin-bottom: 1.5em;
}
.faq_content_box .a_content h4 {
  margin-bottom: 1em;
}
.faq_content_box .a_content dl {
  padding: 10px 5px 10px 10px;
  background: #FFEFF3;
}
.faq_content_box .a_content dl dt {
  font-weight: bold;
}
.faq_content_box .a_content dl dd {
  position: relative;
  padding-left: 25px;
}
.faq_content_box .a_content dl dd:before {
  position: absolute;
  top: 0.75em;
  left: 10px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #861C3C;
  content: "";
}
@media screen and (max-width: 1050px) {
  .faq_content_box .a_content dl dd:before {
    top: 0.5em;
  }
}
@media screen and (max-width: 1050px) {
  .faq_content_box .a_content dl dd {
    font-size: 0.8125rem;
  }
}
.faq_content.purple .faq_content_box {
  border-color: #5B3468;
}
.faq_content.purple .faq_content_box h3, .faq_content.purple .faq_content_box h3:before {
  color: #5B3468;
}
.faq_content.purple .faq_content_box h3 span.in:before, .faq_content.purple .faq_content_box h3 span.in:after {
  background: #5B3468;
}
.faq_content.junior .faq_content_box {
  border-color: #00437C;
}
.faq_content.junior .faq_content_box h3, .faq_content.junior .faq_content_box h3:before {
  color: #00437C;
}
.faq_content.junior .faq_content_box h3 span.in:before, .faq_content.junior .faq_content_box h3 span.in:after {
  background: #00437C;
}
.faq_content.high .faq_content_box {
  border-color: #861C3C;
}
.faq_content.high .faq_content_box h3, .faq_content.high .faq_content_box h3:before {
  color: #861C3C;
}
.faq_content.high .faq_content_box h3 span.in:before, .faq_content.high .faq_content_box h3 span.in:after {
  background: #861C3C;
}

.img_faq {
  max-width: 496px;
  margin: 60px auto;
}
@media screen and (max-width: 1050px) {
  .img_faq {
    margin: 30px auto;
  }
}

.faq_data {
  margin-top: 60px;
}
@media screen and (max-width: 1050px) {
  .faq_data {
    margin-top: 40px;
  }
}
@media screen and (min-width: 1051px) {
  .faq_data li {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
.faq_data li figure {
  width: 35.5555555556%;
  margin-right: 8.3333333333%;
}
@media screen and (max-width: 1050px) {
  .faq_data li figure {
    margin: 10px auto 0 !important;
    width: 80% !important;
    max-width: 340px;
  }
}
.faq_data li:nth-child(2) {
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px dotted #000;
}
.faq_data li:nth-child(2) figure {
  width: 38%;
  margin-right: 5.7777777778%;
}
.faq_data li p {
  font-weight: bold;
  text-align: center;
  font-size: 0.9375rem;
}
@media screen and (min-width: 1051px) {
  .faq_data li p {
    width: 41.1111111111%;
    font-size: 1.125rem;
    text-align: right;
  }
}

/*====================================
* 入試結果
=====================================*/
ul.list_pdf {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-bottom: 20px;
}
@media screen and (min-width: 1051px) {
  ul.list_pdf {
    max-width: 900px;
    margin: 0 auto;
  }
}
ul.list_pdf li {
  width: 100%;
  border: 1px solid;
  margin-bottom: 2px;
}
@media screen and (min-width: 1051px) {
  ul.list_pdf li {
    width: 49.8888888889%;
  }
}
ul.list_pdf li a {
  position: relative;
  display: block;
  padding: 13px 40px 13px 20px;
  font-size: 1rem;
}
@media screen and (max-width: 1050px) {
  ul.list_pdf li a {
    font-size: 0.875rem;
  }
}
ul.list_pdf li a:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  width: 16px;
  height: 20px;
  margin: auto 0;
  content: "";
}
ul.list_pdf.purple li {
  border-color: #5B3468;
}
ul.list_pdf.purple li a {
  color: #5B3468;
}
ul.list_pdf.purple li a:after {
  background: url(../img/common/ico_pdf_purple.svg) no-repeat 0 0/100% auto;
}
ul.list_pdf.purple li a:hover {
  background: #CEE0F7;
}
ul.list_pdf.junior li {
  border-color: #00437C;
}
ul.list_pdf.junior li a {
  color: #00437C;
}
ul.list_pdf.junior li a:after {
  background: url(../img/common/ico_pdf_junior.svg) no-repeat 0 0/100% auto;
}
ul.list_pdf.junior li a:hover {
  background: #CEE0F7;
}
ul.list_pdf.high li {
  border-color: #861C3C;
}
ul.list_pdf.high li a {
  color: #861C3C;
}
ul.list_pdf.high li a:after {
  background: url(../img/common/ico_pdf_high.svg) no-repeat 0 0/100% auto;
}
ul.list_pdf.high li a:hover {
  background: #FFEFF3;
}
/*# sourceMappingURL=style.css.map */