@charset "UTF-8";
/******************************************************************************
******************************************************************************
**
** style.cssにおいて ( var.3.1.3 )
** -- baseでは基本タグとサイト大枠のCSS指定
** -- headerではヘッダーのCSS指定
** -- global navではグローバルナビのCSS指定
** -- contentではコンテント・メイン・サイドナビのCSS指定
** -- footerではフッターのCSS指定
** -- pagetopではページトップボタンのCSS指定
** -- indexではトップページのCSS指定
** -- pageでは汎用ページのCSS指定
** -- styleでは汎用ページのコンテンツ（データ入れ）で使用する基本タグのCSS指定
**
** 注意事項
** -- CSSの命名規則はApplicatsオリジナルの命名規則を採用しています。
** -- 初期フォントサイズはreset.cssにて13pxにリセットしています。
** -- 行間は1.6にリセットしています。
**        単位は不要です。(スタイル崩れする可能性有)
** -- コンテンツ内のフォントサイズ・行間は
**        [ base ]のcontentsクラスで指定しています。
**        変更する場合はこちらを変更してください。
**
******************************************************************************
******************************************************************************/
/*-------------------------------------------------------------------------------------------------------
*********************************************************************************************************
*********************************************************************************************************
******
****** PCスタイル
******
*********************************************************************************************************
*********************************************************************************************************
-------------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
******************************************************************************
** color
******************************************************************************
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
******************************************************************************
** base
******************************************************************************
----------------------------------------------------------------------------*/
html, body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

body {
  position: relative;
  min-height: 100vh;
}

.w_base {
  max-width: 1300px;
  width: 100%;
  margin-inline: auto;
  padding-inline: 50px;
}

.sp_only {
  display: none;
}

/*----------------------------------------------------------------------------
******************************************************************************
** header
******************************************************************************
----------------------------------------------------------------------------*/
.hd_bg {
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 100;
  -webkit-box-shadow: 1px 1px rgba(0, 0, 0, 0.1);
          box-shadow: 1px 1px rgba(0, 0, 0, 0.1);
  z-index: 1000;
}
.hd_bg .hd {
  padding-block: 0.7rem;
}
.hd_bg a {
  text-decoration: none;
  color: #3D3D3D;
  display: inline-block;
}
.hd_bg a .hd_logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  font-size: 2.14rem;
  white-space: nowrap;
  font-weight: 700;
  line-height: 1.3;
}
.hd_bg a .hd_logo img {
  width: 60px;
  height: 100%;
  margin-right: 0.7rem;
}
.hd_bg a .hd_logo span {
  display: block;
  font-weight: 500;
  font-size: 0.4em;
}

/*----------------------------------------------------------------------------
******************************************************************************
** global nav
******************************************************************************
----------------------------------------------------------------------------*/
.hd-nav {
  max-width: 1070px;
  margin-inline: auto;
}
.hd-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.hd-nav__list a {
  text-decoration: none;
  color: #3D3D3D;
  padding-bottom: 0.7rem;
}
.hd-nav__list > li a {
  font-size: 1rem;
  font-weight: 700;
  -webkit-transition: 0.2s all;
  transition: 0.2s all;
}
.hd-nav__list > li.current a,
.hd-nav__list > li a:hover {
  color: #FF6600;
  border-bottom: 4px solid #FF6600;
}

/*----------------------------------------------------------------------------
******************************************************************************
** content
******************************************************************************
----------------------------------------------------------------------------*/
.con {
  margin-block: 2.5rem 5rem;
}

.page_con {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.page_con .main {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 2;
  width: calc(100% - 230px - 40px);
}
.page_con .side {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 1;
  width: 230px;
}
.page_con .side h3 {
  background-color: #EEE;
  color: #111;
  font-size: 1.1em;
  font-weight: bold;
  margin-bottom: 6px;
  padding: 8px;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .page_con {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .page_con > * {
    width: 100% !important;
    max-width: 100% !important;
  }
}

.side_nav_list {
  position: sticky;
  top: 150px;
}
.side_nav_list li a {
  background: url(../images/icon_arrow_gray.png) no-repeat left center;
  color: #3D3D3D;
  display: inline-block;
  padding-block: 12px;
  text-decoration: none;
  font-weight: 600;
}
.side_nav_list li a:hover, .side_nav_list li a.current {
  color: #FF6600;
}
@media screen and (max-width: 1024px) {
  .side_nav_list {
    border: 1px solid #ccc;
    margin-block: 0 1rem;
  }
  .side_nav_list li {
    padding-inline: 10px;
  }
  .side_nav_list li a {
    padding-block: 10px;
    display: block;
  }
  .side_nav_list li + li a {
    border-top: 1px dotted #ccc;
  }
}

/*----------------------------------------------------------------------------
******************************************************************************
** footer
******************************************************************************
----------------------------------------------------------------------------*/
.ft__bg {
  margin-top: auto;
  background: #3D3D3D;
}
.ft__bg a {
  color: #fff;
  text-decoration: none;
}
.ft__top .ft-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2rem;
  padding-block: 2.85rem;
  border-bottom: 1px solid #fff;
}
.ft__top .ft-nav__list li a {
  font-size: 1rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.ft__top .ft-nav__list li a:hover {
  color: #FF6600;
}
.ft__top .ft-nav__list li:first-child {
  padding-left: 0;
}
.ft__top .siteinfo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-block: 1.8rem 4.2rem;
}
.ft__top .siteinfo__left {
  width: calc(100% - 270px - 2rem);
}
.ft__top .siteinfo__left a {
  display: block;
  margin-bottom: 0.7rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.ft__top .siteinfo__left a.site-ttl {
  font-size: 1.35rem;
}
.ft__top .siteinfo__left a:hover {
  color: #FF6600;
}
.ft__top .siteinfo__right {
  max-width: 270px;
  width: 100%;
  color: #fff;
}
.ft__top .siteinfo__right img {
  display: block;
  width: 80%;
  max-width: 206px;
  margin-bottom: 0.7rem;
}
.ft__top .siteinfo__right .contact-tel {
  position: relative;
  padding-left: 18px;
}
.ft__top .siteinfo__right .contact-tel::before {
  content: "";
  margin-right: 0.7rem;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%) rotate(-35deg);
          transform: translateY(-50%) rotate(-35deg);
  background: url(../images/icon/contact_tel.svg) no-repeat;
  width: 22px;
  height: 22px;
}
.ft__top .siteinfo__right .contact-mail {
  display: block;
  text-align: center;
  margin-top: 0.7rem;
  margin-inline: auto;
  border: 1px solid #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.ft__top .siteinfo__right .contact-mail span {
  position: relative;
  display: inline-block;
  padding-block: 0.7rem;
  padding-left: 25px;
  text-align: center;
}
.ft__top .siteinfo__right .contact-mail span::before {
  content: "";
  margin-right: 0.7rem;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../images/icon/contact_mail.svg) no-repeat;
  width: 20px;
  height: 15px;
}
.ft__top .siteinfo__right .contact-mail:hover {
  background: #FF6600;
}
.ft__bottom {
  background: #A82C29;
  text-align: center;
  color: #fff;
  font-size: 0.85rem;
  line-height: 1;
  padding-block: 1.07rem;
}

/*----------------------------------------------------------------------------
******************************************************************************
** pagetop
******************************************************************************
----------------------------------------------------------------------------*/
.pt {
  position: absolute;
  border-radius: 50%;
  background-color: #FF6600;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 60px;
  right: 30px;
  width: 60px;
  z-index: 100;
}
.pt:hover {
  opacity: 0.6;
}

.pt_btn {
  cursor: pointer;
  display: block;
  width: 20px;
  height: 20px;
  margin-top: 8px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: relative;
}
.pt_btn::before, .pt_btn::after {
  background-color: #FFF;
  content: "";
  display: block;
  top: 0;
  left: 0;
  position: absolute;
}
.pt_btn::before {
  width: 2px;
  bottom: 0;
}
.pt_btn::after {
  height: 2px;
  right: 0;
}

/*----------------------------------------------------------------------------
******************************************************************************
** index
******************************************************************************
----------------------------------------------------------------------------*/
.index_slider_bg {
  position: relative;
  max-height: 603px;
  overflow: hidden;
}
.index_slider_bg .slider_slick img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.index_slider_bg .slider_txt {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
  color: #fff;
  font-weight: 700;
  font-size: clamp(1.44rem, 0.423rem + 2.11vw, 2.14rem);
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.8);
  line-height: 2.3;
  white-space: nowrap;
}

#news {
  padding-bottom: 4rem;
}
#news h2 {
  margin-bottom: 1.57rem;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}
#news h2:before {
  margin-right: 0.7rem;
  padding-bottom: 7px;
  content: "";
  width: 30px;
  height: 30px;
  background: url(../images/icon/h2_news.svg) no-repeat;
  display: inline-block;
  vertical-align: middle;
}
#news .news__wrap {
  max-width: 950px;
  margin-inline: auto;
  margin-bottom: 2rem;
}
#news .news__wrap a {
  text-decoration: none;
  color: #3D3D3D;
}
#news .news__wrap a:hover time span {
  background: #FF6600;
  -webkit-box-shadow: 0 0 3px #fff;
          box-shadow: 0 0 3px #fff;
}
#news .news__wrap dl {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0.7rem;
  position: relative;
  margin-inline: auto;
  padding: 1.07rem 1.4rem;
  font-weight: bold;
  color: #3D3D3D;
  background: #fff;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  border: 1px solid #FF6600;
}
#news .news__wrap dl::before {
  content: "";
  position: absolute;
  bottom: -10px;
  right: -10px;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  -webkit-transition: 0.2s;
  transition: 0.2s;
  background: url(../images/icon/news_item_bg.png) no-repeat;
  background-size: cover;
  z-index: -1;
}
#news .news__wrap dl dt {
  max-width: 363px;
}
#news .news__wrap dl dt img {
  width: 100%;
  height: 100%;
  aspect-ratio: 22/10;
  -o-object-fit: cover;
     object-fit: cover;
}
#news .news__wrap dl dd {
  max-width: calc(100% - 363px);
  min-width: 300px;
}
#news .news__wrap dl dd time {
  position: relative;
  display: block;
  padding-right: 33px;
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
}
#news .news__wrap dl dd time span {
  position: absolute;
  right: 0;
  top: 70%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: #3D3D3D;
  width: 33px;
  height: 33px;
  border-radius: 50%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#news .news__wrap dl dd time span:after {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  position: absolute;
  top: 50%;
  left: 45%;
  -webkit-transform: translate(-50%, -50%) rotate(-40deg);
          transform: translate(-50%, -50%) rotate(-40deg);
}
#news .news__wrap dl dd .news__ttl {
  position: relative;
  margin-bottom: 1rem;
  padding-left: 0.7rem;
  font-size: 1.3rem;
  font-weight: 500;
  color: #FF6600;
}
#news .news__wrap dl dd .news__ttl:before {
  content: "";
  width: 5px;
  height: 16px;
  background: #FF6600;
  position: absolute;
  top: 0.5rem;
  left: 0;
}
#news .news__wrap dl dd .news__txt {
  margin-bottom: 0.5rem;
}
#news .news__wrap dl + dl {
  margin-top: 1rem;
}
#news .more-link {
  text-align: center;
}
#news .more-link a {
  display: inline-block;
  position: relative;
  padding: 0.7rem 3.7rem 0.7rem 2rem;
  text-decoration: none;
  color: #fff;
  background: #3D3D3D;
  font-weight: 500;
  font-size: 1rem;
  text-align: center;
  border-radius: 30px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#news .more-link a:after {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  position: absolute;
  top: 51%;
  right: 15px;
  -webkit-transform: translateY(-50%) rotate(-40deg);
          transform: translateY(-50%) rotate(-40deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#news .more-link a:hover {
  background: #FF6600;
}
#news .more-link a:hover:after {
  right: 10px;
}

#course {
  padding-block: 5rem;
  background: #F5F3F3;
  font-size: 1.14rem;
  line-height: 1.8;
}
#course h2 {
  margin-bottom: 1.57rem;
  font-size: 2rem;
  font-weight: 700;
}
#course h2:before {
  margin-right: 0.7rem;
  padding-bottom: 7px;
  content: "";
  width: 40px;
  height: 40px;
  background: url(../images/icon/h2_about.svg) no-repeat;
  display: inline-block;
  vertical-align: middle;
}
#course .course__contents {
  margin-top: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  list-style: none;
  counter-reset: number;
}
#course .course__contents li {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 2rem;
}
#course .course__contents li .course__img {
  position: relative;
  width: 320px;
}
#course .course__contents li .course__img:after {
  content: "";
  margin-right: 0.7rem;
  display: inline-block;
  position: absolute;
  top: 13px;
  left: 18px;
  background: url(../images/icon/course_item.svg) no-repeat;
  width: 90px;
  height: 47px;
  z-index: 10;
}
#course .course__contents li .course__img::before {
  counter-increment: number;
  content: counter(number, decimal-leading-zero);
  position: absolute;
  top: -10px;
  left: 23px;
  font-family: "DM Serif Display", serif;
  font-size: 7.2rem;
  color: #fff;
  z-index: 100;
}
#course .course__contents li .course__img span {
  display: block;
  position: relative;
  z-index: 10;
  display: block;
  text-decoration: none;
  color: #3D3D3D;
}
#course .course__contents li .course__img span::before {
  content: "";
  position: absolute;
  bottom: -10px;
  right: -10px;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  -webkit-transition: 0.2s;
  transition: 0.2s;
  background: url(../images/icon/course_item_bg.png) no-repeat;
  background-size: cover;
  z-index: -1;
}
#course .course__contents li .course__img img {
  display: block;
  width: 100%;
}
#course .course__contents li .course__txt {
  width: calc(100% - 320px - clamp(0.875rem, -1.032rem + 3.96vw, 2.188rem));
  font-weight: 500;
}
#course .course__contents li .course__txt h3.course {
  font-size: 1.5rem;
  margin-bottom: 0.7em;
  font-weight: 500;
}

#suitable-for {
  background: #3D3D3D;
  padding-block: 5rem;
  color: #fff;
}
#suitable-for h2 {
  margin-bottom: 2rem;
  padding-bottom: 7px;
  font-size: 2.4rem;
  font-weight: 700;
}
#suitable-for h2:before {
  margin-right: 0.7rem;
  padding-bottom: 7px;
  content: "";
  width: 28px;
  height: 33px;
  background: url(../images/icon/h2_suitable-for.svg) no-repeat;
  display: inline-block;
  vertical-align: middle;
}
#suitable-for .suitable-for__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 900px) {
  #suitable-for .suitable-for__contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.7rem;
  }
  #suitable-for .suitable-for__contents > * {
    width: 100% !important;
    max-width: 100% !important;
  }
}
#suitable-for .suitable-for__txt {
  width: calc(60% - 4.7rem);
  font-size: 1.42rem;
}
#suitable-for .suitable-for__txt > p {
  margin-bottom: 1.7rem;
}
#suitable-for .suitable-for__txt__list {
  font-size: 1.1rem;
}
#suitable-for .suitable-for__txt__list u {
  -webkit-text-decoration: #FFF700;
          text-decoration: #FFF700;
  text-decoration-line: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 6px;
}
#suitable-for .suitable-for__txt__list li {
  position: relative;
  margin-block: 1rem;
  padding-left: 1.6rem;
  line-height: 2;
}
#suitable-for .suitable-for__txt__list li::before {
  margin-right: 0.7rem;
  content: "";
  width: 12px;
  height: 14px;
  background: url(../images/icon/h2_suitable-for.svg) no-repeat;
  background-size: contain;
  display: inline-block;
  position: absolute;
  top: 0.7rem;
  left: 0;
}
#suitable-for img {
  width: 40%;
  max-width: 600px;
  height: 100%;
}

#qualifications {
  padding-block: 5.7rem 3.5rem;
  font-size: 1.14rem;
  line-height: 1.8;
}
#qualifications .w_base {
  position: relative;
  counter-reset: number 0;
}
#qualifications h2 {
  margin-bottom: 2rem;
  font-size: 2.5rem;
  font-weight: 700;
}
#qualifications h2:before {
  margin-right: 0.7rem;
  padding-bottom: 7px;
  content: "";
  width: 35px;
  height: 31px;
  background: url(../images/icon/h2_qualifications.svg) no-repeat;
  display: inline-block;
  vertical-align: middle;
}
#qualifications p span {
  color: #FF6600;
}
#qualifications .qualifications__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  margin: 30px 0 -20px;
  font-size: 1.5rem;
  font-weight: 500;
}
#qualifications .qualifications__ttl::before {
  counter-increment: number;
  content: counter(number);
  font-family: "DM Serif Display", serif;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 33px;
  height: 33px;
  background: #FF6600;
  font-size: 1.7rem;
  color: #fff;
  border-radius: 50vh;
}
#qualifications .qualifications__list {
  margin-top: 2.7rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#qualifications .qualifications__list:after {
  content: "";
  width: calc(33.3333333333% - clamp(0.5rem, -1.498rem + 4.15vw, 1.875rem));
  display: inline-block;
}
#qualifications .qualifications__item {
  position: relative;
  width: calc(33.3333333333% - clamp(0.5rem, -1.498rem + 4.15vw, 1.875rem));
  margin-bottom: 1.7rem;
  padding-block: 1.1rem;
  padding-right: 1rem;
  border: 1px solid #FF6600;
  background: #fff;
  font-size: 1.57rem;
  font-weight: 500;
}
#qualifications .qualifications__item:before {
  content: "";
  margin-right: 0.7rem;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
#qualifications .qualifications__item.icon--license {
  padding-left: 4.2rem;
}
#qualifications .qualifications__item.icon--license:before {
  background: url(../images/icon/qualifications_license.svg) no-repeat;
  background-size: contain;
  width: 25px;
  height: 36px;
}
#qualifications .qualifications__item.icon--qualifications {
  padding-left: 8.3rem;
  line-height: 1.3;
}
#qualifications .qualifications__item.icon--qualifications:before {
  content: "資格";
  background: url(../images/icon/qualifications_qualifications.svg) no-repeat;
  background-size: contain;
  width: 36px;
  height: 30px;
  white-space: nowrap;
  padding-left: 3.5rem;
  font-size: 1.2rem;
}
#qualifications .qualifications__item::after {
  content: "";
  position: absolute;
  bottom: -10px;
  right: -10px;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  -webkit-transition: 0.2s;
  transition: 0.2s;
  background: url(../images/icon/qualifications_item_bg.png) no-repeat;
  background-size: cover;
  z-index: -1;
}
#qualifications .qualifications__item small {
  display: block;
  font-size: 0.85rem;
}
#qualifications .qualifications__item span {
  position: absolute;
  right: 8px;
  bottom: 7px;
  font-size: 16px;
}
#qualifications .qualifications__annotation {
  position: absolute;
  bottom: -20px;
  right: 65px;
  font-size: 1rem;
  line-height: 1.9;
}
@media screen and (max-width: 950px) {
  #qualifications .qualifications__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #qualifications .qualifications__list > * {
    width: 100% !important;
  }
  #qualifications .qualifications__annotation {
    position: initial;
  }
}

#study {
  font-size: 1.14rem;
  line-height: 1.8;
}
#study h2 {
  margin-bottom: 2rem;
  font-size: 2.5rem;
  font-weight: 700;
}
#study h2:before {
  margin-right: 0.7rem;
  padding-bottom: 7px;
  content: "";
  width: 32px;
  height: 32px;
  background: url(../images/icon/h2_study.svg) no-repeat;
  display: inline-block;
  vertical-align: middle;
}
#study .study__list {
  width: 100%;
  max-width: 930px;
  margin-inline: auto;
  padding-block: 3.57rem 2.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.85rem;
  list-style: none;
  counter-reset: number;
}
#study .study__item {
  position: relative;
}
#study .study__item__con {
  position: relative;
  border: 1px solid #FF6600;
  padding: 1.4rem 2.1rem 1.4rem 8.57rem;
  background: #fff;
  font-weight: 500;
}
#study .study__item__con::after {
  content: "";
  position: absolute;
  bottom: -10px;
  right: -10px;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  -webkit-transition: 0.2s;
  transition: 0.2s;
  background: url(../images/icon/news_item_bg.png) no-repeat;
  background-size: cover;
  z-index: -1;
}
#study .study__item__con:before {
  content: "";
  margin-right: 0.7rem;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 35px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../images/icon/study_item.svg) no-repeat;
  width: 60px;
  height: 60px;
}
#study .study__item::before {
  counter-increment: number;
  content: counter(number);
  position: absolute;
  top: 50%;
  left: 8px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  font-family: "DM Serif Display", serif;
  font-size: 4.9rem;
  color: #FF6600;
}
#study .study__item:first-child::before {
  left: 20px;
}
#study .study__item:after {
  position: absolute;
  bottom: -32px;
  left: 50px;
  content: "";
  background: url(../images/icon/study_item_02.svg) no-repeat;
  background-size: contain;
  width: 15px;
  height: 13px;
}
#study .study__item:last-child:after {
  content: none;
}
#study .study__item u {
  -webkit-text-decoration: #FFF700;
          text-decoration: #FFF700;
  text-decoration-line: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 6px;
}

/*----------------------------------------------------------------------------
******************************************************************************
** page
******************************************************************************
----------------------------------------------------------------------------*/
/*カリキュラム紹介*/
.fukidashi {
  position: relative;
  display: inline-block;
  margin: 1rem 0.3em;
  padding: 0 5px;
  width: 100%;
  height: 100%;
  padding: 1em;
  color: #3D3D3D;
  background: #F5F3F3;
  border-radius: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.fukidashi:before {
  content: "";
  position: absolute;
  top: -25px;
  left: 30px;
  margin-left: -15px;
  border: 15px solid transparent;
  border-bottom: 15px solid #F5F3F3;
  z-index: 0;
}
.fukidashi .fukidashi_ttl {
  margin-bottom: 0.5rem;
}
.fukidashi .fukidashi_ttl span {
  color: #3D3D3D;
  border-bottom: 1px solid #3D3D3D;
}

h3.curriculum {
  font-family: "DM Serif Display", serif;
  font-size: 1.6rem;
  font-style: italic;
}
h3.curriculum:first-letter {
  color: #FF6600;
  font-size: 2.5rem;
}

/*教員紹介*/
.teachers_tbl tr th:nth-child(-n+2), .teachers_tbl tr td:nth-child(-n+2) {
  text-align: center;
  white-space: nowrap;
}

/*教育探究コースでの学び*/
h3.academics {
  text-align: center;
  color: #fff;
  font-size: 2rem;
  line-height: 1;
  margin-bottom: 2rem;
}
h3.academics span {
  display: inline-block;
  position: relative;
  padding-left: 35px;
}
h3.academics span:before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

h4.academics {
  display: inline-block;
  color: #fff;
  margin-bottom: 0.5rem;
  padding: 0.2em 1.5em;
  border-radius: 20px;
  font-size: 1.1rem;
  letter-spacing: 0.1em;
}

.academic__wrap {
  padding-block: 3rem;
}
.academic__con {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.academic__con__txt {
  width: calc(100% - 300px - 2em);
}
.academic__con__img {
  width: 300px;
}
.academic--education h3.academics span {
  padding-left: 40px;
  color: #0095d9;
}
.academic--education h3.academics span:before {
  background: url(../images/academics/h2-education.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 30px;
}
.academic--education h4.academics {
  background: #0095d9;
}
.academic--psychology h3.academics span {
  color: #EB7377;
}
.academic--psychology h3.academics span:before {
  background: url(../images/academics/h2-psychology.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 30px;
}
.academic--psychology h4.academics {
  background: #EB7377;
}
.academic--morals h3.academics span {
  color: #FAAF18;
}
.academic--morals h3.academics span:before {
  background: url(../images/academics/h2-morals.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 30px;
}
.academic--morals h4.academics {
  background: #FAAF18;
}
.academic--language h3.academics span {
  color: #3eb370;
}
.academic--language h3.academics span:before {
  background: url(../images/academics/h2-lang.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 30px;
}
.academic--language h4.academics {
  background: #3eb370;
}
.academic--life h3.academics span {
  color: #FF6600;
}
.academic--life h3.academics span:before {
  background: url(../images/academics/h2-life.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 30px;
}
.academic--life h4.academics {
  background: #FF6600;
}

.accordion_title {
  position: relative;
  background: #F5F3F3;
  color: #3D3D3D;
  cursor: pointer;
}
.accordion_title h3 {
  font-size: 1rem;
  padding: 1em 0.5em;
  border: 1px solid #fff;
}

.accordion-trigger {
  position: absolute;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 10;
  width: 35px;
  height: 35px;
  cursor: pointer;
}
.accordion-trigger:before, .accordion-trigger:after {
  position: absolute;
  content: "";
  width: 15px;
  height: 2px;
  background: #3D3D3D;
}
.accordion-trigger::before {
  top: 50%;
  left: 50%;
  -webkit-transform: rotate(0deg) translateX(-50%);
  transform: rotate(0deg) translateX(-50%);
}
.accordion-trigger:after {
  top: 50%;
  left: 10px;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.accordion-trigger.close:after {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.accordion_con {
  display: none;
}

.academics_list li small {
  color: #191970;
  font-weight: 500;
  vertical-align: middle;
  display: inline-block;
  padding-bottom: 5px;
}

/*進路・就職情報*/
.graph__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 3rem;
}
.graph__item {
  width: 48%;
  text-align: center;
  margin-bottom: 3rem;
}
.graph__item__ttl {
  display: inline-block;
  padding-inline: 2rem;
  margin-bottom: 1.5rem;
  border-bottom: 2px solid #3D3D3D;
  font-weight: 700;
  font-size: 1.5rem;
}
.graph__item img {
  width: 100%;
  max-width: 446px !important;
}

/*----------------------------------------------------------------------------
******************************************************************************
** style
******************************************************************************
----------------------------------------------------------------------------*/
/*パンくず*/
.breadcrumb {
  width: 100%;
}
.breadcrumb ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.breadcrumb ul li {
  position: relative;
  margin-right: 22px;
  color: #3D3D3D;
  font-size: 1rem;
  white-space: nowrap;
  line-height: 2.5;
}
.breadcrumb ul li::after {
  position: absolute;
  content: ">";
  margin-left: 5px;
  font-size: 1rem;
  line-height: 2.5;
  color: #3D3D3D;
}
.breadcrumb ul li:last-child::after {
  content: none;
}

/*ページタイトル*/
.page_ttl {
  text-align: center;
  width: auto;
  height: 150px;
  background-color: rgba(255, 102, 0, 0.1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.page_ttl h1 {
  font-size: 28px;
  font-weight: 500;
  color: #FF6600;
  text-align: left;
}

.main {
  word-wrap: break-word;
  font-size: 1.14rem;
  line-height: 1.8;
}
.main a img:hover {
  opacity: 0.8;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.main h1 {
  font-size: 20px;
  margin-bottom: 20px;
}
.main h2.default {
  position: relative;
  font-size: 1.6rem;
  margin-bottom: 10px;
  margin-top: 2em;
  padding-bottom: 5px;
  color: #FF6600;
  border-bottom: 2px solid #F5F3F3;
}
.main h2.default:before {
  content: "";
  width: 50px;
  height: 2px;
  background: #FF6600;
  position: absolute;
  left: 0;
  bottom: 0;
}
.main h3.default {
  font-size: 16px;
  margin-bottom: 8px;
  margin-top: 16px;
  border-left: 3px solid #FF6600;
  padding-left: 10px;
}
.main h4.default {
  font-size: 1.14rem;
  margin-bottom: 5px;
  margin-top: 5px;
}
.main h5, .main h6 {
  font-size: 1.14rem;
  margin-bottom: 2px;
  margin-top: 5px;
}
.main hr {
  border: none;
  border-top: 1px dotted #000;
}
.main iframe {
  max-width: 100%;
}
.main img {
  max-width: 100%;
  height: auto;
}
.main ol {
  margin-top: 1em;
  margin-bottom: 0.5em;
}
.main ol li {
  margin-left: 2em;
  margin-bottom: 0.5em;
}
.main p {
  margin-bottom: 1em;
}
.main ul {
  margin-top: 1em;
  margin-bottom: 0.5em;
}
.main ul li {
  list-style-type: disc;
  margin-left: 1.5em;
  margin-bottom: 0.5em;
}
.main .tbl table {
  width: 100%;
  margin-bottom: 0;
}
.main .tbl table th {
  background-color: #F9F9F9;
  text-align: center;
}
.main .tbl table td, .main .tbl table th {
  border: 1px solid #CCCCCC;
  padding: 8px 20px;
  font-size: 15px;
}/*# sourceMappingURL=style.css.map */


/*心理ページお勧めコース*/
.psych-course tr th:nth-child(-n+2), .teachers_tbl tr td:nth-child(-n+2) {
  text-align: center;
  white-space: nowrap;
}
/*心理ページ教員紹介*//* テーブル全体のスタイル */
.psych-staff {
  width: 100%;
  border-collapse: collapse;
}

/*心理ページ教員紹介*//* すべてのセルに対する基本スタイル */
.psych-staff th,
.psych-staff td {
  border: 1px solid #ddd;
  padding: 8px;
}

/*心理ページ教員紹介*//* ヘッダーと通常のセルを中央揃えに */
.psych-staff th,
.psych-staff td {
  text-align: center;
}

/*心理ページ教員紹介*//* 最後の2列のデータセルのみを左揃えに */
.psych-staff  td:nth-last-child(-n+2) {
  text-align: left;
}

/*心理ページ教員紹介*//* 特定画像はスマホ非表示 */
.hide-on-mobile {
  width: 300px;
}

@media screen and (max-width: 767px) {
  .hide-on-mobile {
    display: none; /* スマホサイズでは非表示 */
  }
}