@charset "UTF-8";
/* grid_sp */
@media (min-width: 767px) {
  .row {
    display: flex;
    justify-content: space-between; }

  .column {
    margin-left: 4%; }

  .column:first-child {
    margin-left: 0; }

  .one.column {
    width: 4.66666666667%; }

  .two.column {
    width: 13.3333333333%; }

  .three.column {
    width: 22%; }

  .four.column {
    width: 30.6666666667%; }

  .five.column {
    width: 39.3333333333%; }

  .six.column {
    width: 48%; }

  .seven.column {
    width: 56.6666666667%; }

  .eight.column {
    width: 65.3333333333%; }

  .nine.column {
    width: 74.0%; }

  .ten.column {
    width: 82.6666666667%; }

  .eleven.column {
    width: 91.3333333333%; }

  .twelve.column {
    width: 100%; } }
@media (max-width: 480px) {
  .row .column + .column {
    margin-top: 2em; } }
body {
  font-size: 1.6rem; }

img {
  max-width: 100%;
  width: 100%;
  height: auto; }

:target {
  scroll-margin-top: 72px; }

/*----------------------------------------------

  header

----------------------------------------------*/
.site_header_nav {
  display: none !important; }

.site_header {
  height: 72px; }
  .site_header .site_header_wrap {
    flex-direction: row;
    justify-content: flex-start; }
  .site_header .site_header_logo {
    max-width: 230px;
    width: calc(100% - 100px); }

.site_header .call_nav {
  top: 1.6rem; }

.site_header.chg .call_nav {
  top: 1.2rem; }

/*----------------------------------------------

  call_nav / #drawer

----------------------------------------------*/
.call_nav {
  position: absolute;
  right: 10px;
  top: 2em;
  z-index: 9990;
  display: inline-block;
  background: #202020;
  border: 1px solid #202020;
  padding: .8em .8em;
  font-size: 1.5rem;
  margin-top: 0px;
  color: #fff;
  font-weight: 600;
  letter-spacing: .06em;
  border-radius: 0.2em;
  line-height: 1.2; }
  .call_nav:hover {
    cursor: pointer;
    background: #fff; }
  .call_nav i {
    margin-right: .3em;
    color: #FFF; }
  .call_nav:hover, .call_nav:hover i {
    color: #202020;
    transition: all 0.5s ease;
    zoom: 1; }

#drawer {
  position: fixed;
  top: 0;
  right: -280px;
  width: 280px;
  height: 100%;
  overflow-x: hidden;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  -webkit-transition: 0.2s all ease;
  -moz-transition: 0.2s all ease;
  -ms-transition: 0.2s all ease;
  -o-transition: 0.2s all ease;
  transition: 0.2s all ease;
  background: #EEEEEE;
  color: #202020;
  z-index: 9999; }
  #drawer.open {
    -webkit-transform: translate3d(-280px, 0, 0);
    -moz-transform: translate3d(-280px, 0, 0);
    transform: translate3d(-280px, 0, 0);
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.4); }

.lte-ie9 #wrap.open {
  right: 0; }

#drawer nav a {
  display: block;
  color: #202020;
  text-decoration: none;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 52px;
  padding-left: 1.5em; }
  #drawer nav a:hover {
    color: #1E1E1E;
    background: #2870cd;
    transition: all 0.5s ease;
    zoom: 1; }
#drawer nav ul {
  list-style: none;
  margin: 2.4em auto 1.2em;
  padding: .5em 0; }
  #drawer nav ul li {
    list-style: none;
    margin: 0;
    border-bottom: 1px solid #ccc; }
    #drawer nav ul li:hover {
      background: rgba(255, 255, 255, 0.5); }
    #drawer nav ul li:first-child {
      border-top: 1px solid #ccc; }

.drawer-close {
  position: absolute;
  top: 10px;
  right: 10px;
  color: #fff;
  line-height: 1;
  width: 1em;
  font-size: 24px;
  text-align: right;
  cursor: pointer;
  font-weight: 600;
  color: #202020; }

#drawer ul.bn_list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  padding: 0;
  list-style-type: none;
  width: 84%; }
  #drawer ul.bn_list li {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    margin: 0 0 .5em;
    padding: 0;
    flex: 0 0 100%;
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: 100%;
    max-width: 100%; }
    #drawer ul.bn_list li img {
      width: 100%; }

#drawer nav a span {
  font-size: 1.1rem;
  margin-left: .5em; }
  #drawer nav a span::before {
    content: " - "; }

/*----------------------------------------------

  footer

----------------------------------------------*/
.site_footer .site_footer_wrap .site_footer_logo img {
  width: auto;
  max-width: 100%; }

/*----------------------------------------------

  article

----------------------------------------------*/
article {
  padding-top: 72px; }

/*----------------------------------------------

  layout

----------------------------------------------*/
.stack_box .stack_doc {
  padding: 1.2em 1.2em; }

.txt_center_sp {
  text-align: center; }

.sp_big {
  font-size: 120%; }

.sp_big_s {
  font-size: 110%; }

.sp_big_m {
  font-size: 150%; }

.sp_big_l {
  font-size: 180%;
  margin: 0; }

.sp_none {
  display: none; }

/*----------------------------------------------

  section

----------------------------------------------*/
section {
  padding: 1.2em 0;
  margin-top: 0; }

/*----------------------------------------------

  container

----------------------------------------------*/
.container {
  padding: 0 1em; }

/*----------------------------------------------

  article

----------------------------------------------*/
/*----------------------------------------------

  asset

----------------------------------------------*/
.page_title {
  font-size: 2.6rem; }

.page_copy {
  font-size: 2rem; }

.sec_title {
  font-size: 2.4rem;
  margin: 1.2em auto 1em; }

.sub_title {
  font-size: 1.8rem; }

.lead_title {
  font-size: 2.2rem; }

.sec_copy {
  text-align: left;
  font-size: 1.8rem; }
  @media screen and (max-width: 480px) {
    .sec_copy {
      font-size: 1.6rem; }
      .sec_copy br {
        display: none; } }

@media (max-width: 767px) {
  .sp_img_md {
    width: 72%;
    max-width: 360px;
    margin: 0 auto; }

  .sp_img_sm {
    width: 48%;
    max-width: 360px;
    margin: 0 auto; } }
ul.tag_list li {
  font-size: 66%;
  padding: .6em .3em !important; }

.summary_table tr td {
  padding-left: 1em !important; }
@media (max-width: 480px) {
  .summary_table {
    margin: 0 auto 2em;
    text-align: left; }
    .summary_table tr th, .summary_table tr td {
      padding: .5em 0;
      font-size: 1.4rem;
      line-height: 1.4; }
    .summary_table tr th {
      width: 8em; } }

/*----------------------------------------------

  タブコンテンツ

----------------------------------------------*/
@media screen and (max-width: 767px) {
  .tab-wrap {
    gap: 10px;
    /* アクティブなタブ */ }
    .tab-wrap:after {
      display: none; }
    .tab-wrap .tab-label {
      border: solid 1px #a0a0a0; }
      .tab-wrap .tab-label:not(:last-of-type) {
        margin-right: 5px; }
    .tab-wrap .tab-content {
      width: 100%;
      height: 0;
      overflow: hidden;
      opacity: 0; }
    .tab-wrap .tab-switch:checked + .tab-label {
      background: #FFF;
      color: #2870cd; }
    .tab-wrap .tab-switch:checked + .tab-label + .tab-content {
      padding: 0 0 2em; } }
.menu_list {
  flex-direction: column; }
  .menu_list li {
    width: 100%; }

/*----------------------------------------------

  index

----------------------------------------------*/
.page_header .page_header_title_wrap {
  min-width: 280px; }
.page_header .page_header_title {
  font-size: 2.4rem; }
  .page_header .page_header_title span {
    font-size: 1.3rem; }
@media screen and (max-width: 767px) {
  .page_header {
    flex-direction: column-reverse; } }

.news_wrap {
  flex-direction: column;
  gap: 2rem;
  padding: 4%; }
  .news_wrap .news_title {
    margin-bottom: 0;
    text-align: center; }
    .news_wrap .news_title::before {
      font-size: 3.2rem; }
  .news_wrap .news_more {
    position: relative;
    top: 0;
    left: 0;
    text-align: center; }
    .news_wrap .news_more .more_btn {
      display: inline-block; }

.about_wrap {
  padding: 6%; }
  .about_wrap .about_info_wrap {
    flex-direction: column; }
    .about_wrap .about_info_wrap .about_info_doc {
      max-width: 100%; }
      .about_wrap .about_info_wrap .about_info_doc .about_title br {
        display: none; }
      @media screen and (max-width: 480px) {
        .about_wrap .about_info_wrap .about_info_doc .about_title {
          font-size: 2.4rem; } }

.point_wrap .point_title {
  font-size: 2rem; }
.point_wrap .point_list_wrap {
  padding: 1em; }
  .point_wrap .point_list_wrap .point_list {
    font-size: 1.4rem; }
    .point_wrap .point_list_wrap .point_list li::before {
      top: 6px;
      border: solid 3px #000; }

.index_about_sec .container .str_title {
  font-size: 2.4rem; }
.index_about_sec .container .str_doc {
  padding: 4%; }

.curriculum_wrap .curriculum_list > li {
  width: calc((100% - 2rem) /2); }
  .curriculum_wrap .curriculum_list > li .curriculum_title {
    line-height: 1.4;
    margin: 1em 0;
    padding-left: .5em;
    border-left: solid 8px;
    font-family: 'BIZ UDPMincho',"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "Shippori Mincho", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    font-size: 2.0rem; }
@media screen and (max-width: 767px) {
  .curriculum_wrap .curriculum_list {
    flex-direction: column;
    padding: 0 4%; }
    .curriculum_wrap .curriculum_list > li {
      width: 100%; } }

@media screen and (max-width: 767px) {
  .license_wrap {
    padding: 4% 6%; }
    .license_wrap .license_list {
      font-size: 1.4rem; } }

@media screen and (max-width: 767px) {
  .teacher_sec .container {
    margin: 0;
    padding: 0; }
  .teacher_sec .teacher_list {
    display: block; }
    .teacher_sec .teacher_list > li {
      border: solid 1px #f3f3f3;
      width: 100%; }
      .teacher_sec .teacher_list > li + li {
        margin-top: 1em; }
      .teacher_sec .teacher_list > li a {
        padding: 1em .5em;
        display: flex;
        align-items: center; }
        .teacher_sec .teacher_list > li a figure {
          max-width: 80px;
          min-width: 80px; }
        .teacher_sec .teacher_list > li a .teacher_doc {
          padding: 0 0 0 1rem;
          flex: 1; }
          .teacher_sec .teacher_list > li a .teacher_doc .teacher_name {
            font-size: 1.6rem;
            line-height: 1; }
            .teacher_sec .teacher_list > li a .teacher_doc .teacher_name span {
              display: block;
              display: inline-block; }
          .teacher_sec .teacher_list > li a .teacher_doc .teacher_field li {
            font-size: 1.2rem; } }

/*----------------------------------------------

  教員紹介

----------------------------------------------*/
.prof_wrap .container {
  padding: 4%; }

.prof_header_sec .prof_header {
  flex-direction: column; }
  .prof_header_sec .prof_header .prof_header_main {
    align-items: center; }
    .prof_header_sec .prof_header .prof_header_main .prof_header_main_name .prof_header_name {
      font-size: 2.8rem; }
      .prof_header_sec .prof_header .prof_header_main .prof_header_main_name .prof_header_name span {
        font-size: 1.8rem; }
  @media screen and (max-width: 480px) {
    .prof_header_sec .prof_header .prof_header_main {
      flex-direction: column;
      align-items: center; }
      .prof_header_sec .prof_header .prof_header_main .prof_header_main_fig figure {
        margin: 0 auto;
        text-align: center; }
      .prof_header_sec .prof_header .prof_header_main .prof_header_main_name .prof_header_name {
        font-size: 2.8rem; }
        .prof_header_sec .prof_header .prof_header_main .prof_header_main_name .prof_header_name span {
          font-size: 1.8rem; } }
  .prof_header_sec .prof_header .prof_header_link {
    max-width: 250px; }
    @media screen and (max-width: 480px) {
      .prof_header_sec .prof_header .prof_header_link {
        margin: 0 auto; } }
    .prof_header_sec .prof_header .prof_header_link ul {
      text-align: left; }

.prof_info_sec .prof_info_wrap {
  padding: 4%; }

.prof_title {
  flex-direction: column;
  gap: 0;
  margin: .6em auto;
  line-height: 1.4;
  font-size: 3.2rem; }
  .prof_title::after {
    font-size: 2rem; }
  .prof_title::before {
    display: none; }

.prf_subject {
  gap: 0; }
  @media screen and (max-width: 767px) {
    .prf_subject {
      display: block; } }

.prof_seminar_wrap {
  padding: 0; }
  .prof_seminar_wrap + p {
    margin-top: 2em; }
