@charset "UTF-8";
/*
 *
 * ===== 駿台甲府学園：標準CSS =====
 *
 */
/* ========================================


		要素のリセット


   ======================================== */
/* --- HTML5 --- */
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary {
  display: block;
  margin: 0;
  padding: 0; }

/* --- 要素 ---*/
html, body, div, h1, h2, h3, h4, h5, p, blockquote, ul, ol, li, dl, dt, dd, form {
  margin: 0;
  padding: 0; }

/* ========================================


		標準スタイル


   ======================================== */
/*
 * --- 文書全体 ---
 */
html {
  overflow-y: scroll; }

body {
  font-size: 14px;
  text-autospace: ideograph-alpha ideograph-numeric ideograph-parenthesis;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility; }

/*
 * --- フォント指定 ---
 */
body,
h1, h2, h3, h4, h5,
input, button, select, textarea {
  font-family: 'メイリオ', 'Meiryo', 'ヒラギノ角ゴPro W3', 'Hiragino Kaku Gothic Pro', 'system-ui', sans-serif; }

/*
 * --- テキスト ---
 */
p {
  line-height: 1.6;
  margin-bottom: 10px;
  text-align: justify;
  text-justify: inter-ideograph; }

p:last-child {
  margin-bottom: 0; }

em,
strong,
dfn,
b,
i {
  text-decoration: none;
  font-style: normal;
  font-weight: bold; }

em,
strong {
  color: #F03030; }

i {
  font-weight: normal; }

/*
 * --- 画像 ---
 */
/*
 * --- 区切り ---
 */
hr {
  display: block;
  width: 70%;
  height: 1px;
  margin: 8px auto 5px auto;
  border: none;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 91, 172, 0.2), rgba(0, 0, 0, 0)); }

/*
 * --- リスト ---
 */
ul,
ol {
  padding-left: 1.1em; }

dt {
  font-weight: normal; }

/*
 * --- リンク ---
 */
a {
  color: #4A89DC;
  outline: none !important;
  text-decoration: none !important;
  transition: color 0.2s, background-color 0.2s; }

a:hover {
  color: #3BAFDA; }

/*
 * --- フォーム ---
 */
form {
  margin: 0; }

button {
  outline: none !important; }

fieldset {
  margin-top: 10px; }

legend {
  margin-bottom: 10px;
  font-size: 13px;
  color: #707070;
  border-bottom: 1px solid #E9E9E9; }

figure figcaption {
  padding-top: 10px;
  text-align: center;
  font-size: 12px;
  color: #606060; }

/* ========================================


		Bootstrap コンポーネント



   ======================================== */
/*
 * --- グリッド ---
 */
.row {
  margin-left: -10px;
  margin-right: -10px; }

.row > div {
  padding-left: 10px;
  padding-right: 10px; }

/*
 * --- フォント ---
 */
.btn,
.tooltip,
.popover {
  font-family: 'メイリオ', 'Meiryo', 'ヒラギノ角ゴPro W3', 'Hiragino Kaku Gothic Pro', 'system-ui', sans-serif; }

/*
 * --- ボタン ---
 */
.btn {
  box-shadow: 0 2px #D0D0D0;
  margin-bottom: 2px !important;
  white-space: normal; }

.btn:active {
  box-shadow: none;
  margin-top: 2px !important;
  margin-bottom: 0 !important; }

.btn-block {
  display: inline-block; }

/*
 * --- ラベル ---
 */
.label {
  display: inline-block;
  font-size: 100%;
  font-weight: normal;
  white-space: normal;
  line-height: 1;
  padding: 6px 15px 5px 15px;
  background-color: #A0A0A0;
  border-radius: 20px; }

.label-sm {
  padding: 4px 12px 3px 12px; }

/*
 * --- リスト ---
 */
/* --- 定義リスト --- */
.dl-horizontal dd {
  margin-bottom: 5px; }

/*
 * --- ツールチップ ---
 */
.tooltip {
  z-index: 20; }

.tooltip-inner {
  background-color: #4FC1E9;
  padding: 5px 10px; }

.tooltip.top .tooltip-arrow {
  border-top-color: #4FC1E9; }

.tooltip.right .tooltip-arrow {
  border-right-color: #4FC1E9; }

.tooltip.left .tooltip-arrow {
  border-left-color: #4FC1E9; }

.tooltip.bottom .tooltip-arrow {
  border-bottom-color: #4FC1E9; }

/*
 * --- ヘルパー ---
 */
/* --- 表示／非表示 --- */
span.visible-xs {
  display: inline !important; }

/* --- SMサイズ以上 --- */
@media screen and (min-width: 768px) {
  span.visible-xs {
    display: none !important; } }
/* --- 回り込み --- */
.pull-clear {
  clear: both; }

/*
 * --- 印刷時の調整 ---
 */
@media print {
  a[href]::after {
    content: '' !important; }

  abbr[title]::after {
    content: '' !important; } }
/* ========================================


		そのほかのコンポーネント



   ======================================== */
/*
 * --- アイコン ---
 */
[class^='ti-'] {
  vertical-align: -5%; }

/*
 * --- アニメーション ---
 */
.animated-slow {
  -webkit-animation-duration: 1.4s;
  -webkit-animation-delay: 0.3s;
  animation-duration: 1.4s;
  animation-delay: 0.3s; }

.animated-slower {
  -webkit-animation-duration: 2s;
  -webkit-animation-delay: 0.5s;
  animation-duration: 2s;
  animation-delay: 0.5s; }

/* ========================================


		汎用


   ======================================== */
/* ----------------------------------------

		テキスト


   ---------------------------------------- */
/* --- 行揃え --- */
.text-center {
  text-align: center !important; }

.text-right {
  text-align: right !important; }

.text-justify,
.text-justify > p {
  text-align: justify !important;
  text-justify: inter-ideograph !important; }

.text-center p {
  text-align: center !important; }

/* --- 行間 --- */
.line-height-narrow {
  line-height: 1.4; }

.line-height-10 {
  line-height: 1 !important; }

.line-height-11 {
  line-height: 1.1 !important; }

.line-height-12 {
  line-height: 1.2 !important; }

.line-height-13 {
  line-height: 1.3 !important; }

.line-height-14 {
  line-height: 1.4 !important; }

.line-height-15 {
  line-height: 1.5 !important; }

/* --- 備考 --- */
.notes {
  font-size: 85%;
  color: #808080; }

.notes-comment:before {
  content: '※';
  margin-right: 5px; }

/* ----------------------------------------

		フォント


   ---------------------------------------- */
/* --- フォント --- */
.font-mincho {
  font-family: 'ＭＳ Ｐ明朝', 'MS PMincho', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', serif; }

.font-oswald {
  font-family: 'Oswald', sans-serif; }

.font-ubuntu {
  font-family: 'Ubuntu', sans-serif; }

.font-lora {
  font-family: 'Lora', sans-serif; }

.font-bold {
  font-weight: bold; }

/* --- サイズ --- */
.font-size-11 {
  font-size: 11px !important; }

.font-size-12 {
  font-size: 12px !important; }

.font-size-13 {
  font-size: 13px !important; }

.font-size-14 {
  font-size: 14px !important; }

.font-size-16 {
  font-size: 16px !important; }

.font-size-18 {
  font-size: 18px !important; }

.font-size-20 {
  font-size: 20px !important; }

.font-size-22 {
  font-size: 22px !important; }

.font-size-24 {
  font-size: 24px !important; }

.font-size-26 {
  font-size: 26px !important; }

.font-size-28 {
  font-size: 28px !important; }

.font-size-30 {
  font-size: 30px !important; }

/* --- XSサイズ --- */
@media screen and (max-width: 767px) {
  .font-size-xs-20 {
    font-size: 20px !important; }

  .font-size-xs-24 {
    font-size: 24px !important; } }
/* ----------------------------------------

		リンク

   ---------------------------------------- */
a.new-window-icon::after {
  content: '\e732';
  font-family: 'themify';
  font-size: 75%;
  vertical-align: top;
  margin-left: 3px;
  margin-right: 5px; }

a.no-icon::after {
  display: none; }

/* ----------------------------------------

		画像


   ---------------------------------------- */
/*
 * --- 画像 ---
 */
/* --- 幅を最大に --- */
.img-fruid {
  width: 100%;
  max-width: none; }

/* ----------------------------------------

		デザイン

   ---------------------------------------- */
/*
 * --- ボーダー ---
 */
.borderless {
  border: none !important; }

/* ----------------------------------------

		位置・サイズ

   ---------------------------------------- */
/*
 * --- 位置 ---
 */
.pos-relative {
  position: relative !important; }

.pos-absolute {
  position: absolute !important; }

/*
 * --- 表示 ---
 */
.overflow-visible {
  overflow: visible !important; }

.overflow-hidden {
  overflow: hidden !important; }

/*
 * --- 縦位置をセンタリング ---
 */
/* --- SMサイズ以上 --- */
@media screen and (min-width: 768px) {
  .vertical-center {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    transform: translateY(-50%); } }
/*
 * --- マージン ---
 */
.margin-0 {
  margin: 0 !important; }

.margin-10 {
  margin: 10px !important; }

.margin-20 {
  margin: 20px !important; }

.margin-40 {
  margin: 40px !important; }

.margin-top-0 {
  margin-top: 0 !important; }

.margin-top-5 {
  margin-top: 5px !important; }

.margin-top-10 {
  margin-top: 10px !important; }

.margin-top-20 {
  margin-top: 20px !important; }

.margin-top-30 {
  margin-top: 30px !important; }

.margin-top-40 {
  margin-top: 40px !important; }

.margin-top-50 {
  margin-top: 50px !important; }

.margin-top-60 {
  margin-top: 60px !important; }

.margin-left-10 {
  margin-left: 10px !important; }

.margin-left-20 {
  margin-left: 20px !important; }

.margin-left-30 {
  margin-left: 30px !important; }

.margin-left-40 {
  margin-left: 40px !important; }

.margin-bottom-0 {
  margin-bottom: 0 !important; }

.margin-bottom-5 {
  margin-bottom: 5px !important; }

.margin-bottom-10 {
  margin-bottom: 10px !important; }

.margin-bottom-20 {
  margin-bottom: 20px !important; }

.margin-bottom-30 {
  margin-bottom: 30px !important; }

.margin-bottom-40 {
  margin-bottom: 40px !important; }

.margin-bottom-50 {
  margin-bottom: 50px !important; }

.margin-bottom-60 {
  margin-bottom: 60px !important; }

.margin-right-10 {
  margin-right: 10px !important; }

.margin-right-20 {
  margin-right: 20px !important; }

.margin-right-30 {
  margin-right: 30px !important; }

.margin-right-40 {
  margin-right: 40px !important; }

/*
 * --- パディング ---
 */
.padding-0 {
  padding: 0 !important; }

.padding-10 {
  padding: 10px !important; }

.padding-20 {
  padding: 20px !important; }

.padding-40 {
  padding: 40px !important; }

.padding-top-0 {
  padding-top: 0 !important; }

.padding-top-10 {
  padding-top: 10px !important; }

.padding-top-20 {
  padding-top: 20px !important; }

.padding-top-30 {
  padding-top: 30px !important; }

.padding-top-40 {
  padding-top: 40px !important; }

.padding-left-0 {
  padding-left: 0 !important; }

.padding-left-10 {
  padding-left: 10px !important; }

.padding-left-20 {
  padding-left: 20px !important; }

.padding-left-30 {
  padding-left: 30px !important; }

.padding-left-40 {
  padding-left: 40px !important; }

.padding-bottom-0 {
  padding-bottom: 0 !important; }

.padding-bottom-10 {
  padding-bottom: 10px !important; }

.padding-bottom-20 {
  padding-bottom: 20px !important; }

.padding-bottom-30 {
  padding-bottom: 30px !important; }

.padding-bottom-40 {
  padding-bottom: 40px !important; }

.padding-bottom-60 {
  padding-bottom: 60px !important; }

.padding-right-0 {
  padding-right: 0 !important; }

.padding-right-10 {
  padding-right: 10px !important; }

.padding-right-20 {
  padding-right: 20px !important; }

.padding-right-30 {
  padding-right: 30px !important; }

.padding-right-40 {
  padding-right: 40px !important; }

/*
 * --- 幅 ---
 */
.width-100 {
  width: 100px; }

.width-120 {
  width: 120px; }

.width-150 {
  width: 150px; }

.width-200 {
  width: 200px; }

.width-250 {
  width: 250px; }

.width-300 {
  width: 300px; }

.width-400 {
  width: 400px; }

.width-500 {
  width: 500px; }

.width-600 {
  width: 600px; }

.max-width-200 {
  max-width: 200px; }

.max-width-250 {
  max-width: 250px; }

.max-width-300 {
  max-width: 300px; }

.max-width-400 {
  max-width: 400px; }

/* --- SMサイズ --- */
@media screen and (min-width: 768px) and (max-width: 991px) {
  .margin-top-sm-20 {
    margin-top: 20px !important; }

  .margin-top-sm-30 {
    margin-top: 30px !important; } }
/* --- XSサイズ --- */
@media screen and (max-width: 767px) {
  .margin-top-xs-20 {
    margin-top: 20px !important; }

  .margin-left-xs-0 {
    margin-left: 0 !important; }

  .margin-right-xs-0 {
    margin-right: 0 !important; }

  .margin-bottom-xs-20 {
    margin-bottom: 20px !important; }

  .margin-bottom-xs-40 {
    margin-bottom: 40px !important; } }
/* ----------------------------------------

		リスト


   ---------------------------------------- */
/*
 * --- 箇条書きリスト ---
 */
/* --- ブレットリスト --- */
ul.list-bullet {
  list-style: none;
  margin-bottom: 5px; }

ul.list-bullet > li {
  position: relative; }

ul.list-bullet > li:before {
  content: ' ';
  position: absolute;
  left: -12px;
  top: 7px;
  width: 6px;
  height: 6px;
  font-size: 1px;
  background-color: #808080;
  border-radius: 4px; }

/* --- 角丸数字リスト --- */
ol.list-number {
  list-style: none;
  counter-reset: listNumberCount; }

ol.list-number > li {
  position: relative;
  margin-left: 32px;
  padding-bottom: 15px; }

ol.list-number > li:before {
  content: counter(listNumberCount);
  counter-increment: listNumberCount;
  position: absolute;
  left: -32px;
  min-width: 22px;
  padding: 2px;
  color: #FFFFFF;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
  background: #87CEEB;
  border-radius: 5px; }

/* --- XSサイズ --- */
@media screen and (max-width: 767px) {
  ul.list-bullet {
    margin-left: 10px; } }
/* --- 丸数字リスト --- */
ol.list-number-circle {
  padding-left: 0;
  list-style: none;
  counter-reset: listNumberCircleCount; }

ol.list-number-circle > li {
  position: relative;
  padding-left: 18px; }

ol.list-number-circle > li:before {
  content: counter(listNumberCircleCount);
  counter-increment: listNumberCircleCount;
  position: absolute;
  width: 14px;
  height: 14px;
  left: 0;
  top: 2px;
  text-align: center;
  font-size: 10px;
  line-height: 12px;
  border: 1px solid #505050;
  border-radius: 100%; }

/*
 * --- テーブル型リスト（DL） ---
 */
dl.list-table {
  overflow: hidden; }

dl.list-table > dt {
  float: left;
  width: 120px;
  white-space: nowrap; }

dl.list-table > dd {
  min-height: 1em;
  padding-left: 150px; }

/* --- DT幅 --- */
dl.list-table-w60 > dt {
  width: 60px; }

dl.list-table-w60 > dd {
  padding-left: 90px; }

dl.list-table-w80 > dt {
  width: 80px; }

dl.list-table-w80 > dd {
  padding-left: 110px; }

dl.list-table-w100 > dt {
  width: 100px; }

dl.list-table-w100 > dd {
  padding-left: 130px; }

dl.list-table-w150 > dt {
  width: 150px; }

dl.list-table-w150 > dd {
  padding-left: 180px; }

dl.list-table-w180 > dt {
  width: 180px; }

dl.list-table-w180 > dd {
  padding-left: 210px; }

/* --- ボーダー --- */
dl.list-table-bordered > dd {
  margin-bottom: 8px;
  padding-bottom: 5px;
  border-bottom: 1px solid #E6E6E6; }

/* --- 区切り --- */
dl.list-table-separate > dd {
  margin-left: 15px; }

dl.list-table-separate > dd::before {
  content: ':';
  margin-left: -15px;
  margin-right: 10px;
  color: #C0C0C0; }

/* --- XSサイズ --- */
@media screen and (max-width: 767px) {
  dl.list-table > dt {
    float: none;
    width: auto;
    margin-bottom: 5px; }

  dl.list-table > dd {
    margin-left: 0;
    padding-left: 15px; }

  dl.list-table-separate > dd::before {
    display: none; } }
/*
 * --- テーブル型リスト（UL） ---
 */
ul.list-table {
  list-style: none;
  padding-left: 0; }

ul.list-table-bordered li {
  margin-bottom: 8px;
  padding-bottom: 5px;
  border-bottom: 1px solid #E6E6E6; }

/*
 * --- FAQリスト ---
 */
dl.list-faq {
  margin-left: 20px; }

dl.list-faq dt,
dl.list-faq dd {
  position: relative;
  padding-top: 2px;
  padding-left: 40px;
  min-height: 35px; }

dl.list-faq dd {
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: 1px solid #F0F0F0; }

dl.list-faq dt::before,
dl.list-faq dd::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 24px;
  height: 24px;
  font-family: 'Roboto', sans-serif;
  font-size: 18px;
  text-align: center;
  color: #FFFFFF;
  border-radius: 30px; }

dl.list-faq dt::before {
  content: 'Q';
  background-color: #2196F3; }

dl.list-faq dd::before {
  content: 'A';
  background-color: #E53935; }

/* --- XSサイズ --- */
@media screen and (max-width: 767px) {
  dl.list-faq {
    margin-left: 0; } }
/* ----------------------------------------

		カード


   ---------------------------------------- */
/*
 * --- カード ---
 */
.card {
  display: block;
  position: relative;
  box-sizing: content-box;
  margin: 0 auto 20px auto;
  padding: 0;
  border: 1px solid #E9E9E9;
  background-color: #FFFFFF; }

a.card {
  display: block;
  color: #404040;
  border: 1px solid #D0D0D0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.3s; }

a.card:hover {
  box-shadow: 0 1px 12px rgba(0, 168, 212, 0.3); }

/* --- 角丸カード --- */
.card-rounded {
  border-radius: 15px; }

/* --- ボーダーカード --- */
.card-borderd {
  border: 8px solid #E0E0E0; }

.card-no-border {
  border: none; }

/* --- 続きを見るカード --- */
.card-more {
  padding-bottom: 10px; }

.card-more::before {
  content: '続きを読む';
  position: absolute;
  width: 100%;
  height: 30px;
  bottom: 0;
  left: 0;
  padding: 7px 25px 0 0;
  text-align: right;
  font-size: 11px;
  color: #4A89DC;
  transition: color 0.3s; }

.card-more::after {
  content: '\e649';
  font-family: 'themify';
  position: absolute;
  bottom: 9px;
  right: 10px;
  color: #4A89DC;
  font-size: 10px; }

/* --- カードの内容 --- */
.card h3 {
  padding: 15px 10px;
  font-weight: bold;
  text-align: center;
  color: #303030; }

.card h3.header-line {
  margin-left: 15px;
  margin-right: 15px; }

.card h3 {
  font-size: 15px; }

.card-content {
  padding: 15px 25px; }

.card-content p {
  line-height: 1.4; }

.card h3 + .card-content {
  padding-top: 0; }

.card-image {
  width: 100%;
  margin-bottom: 5px; }

.card-text {
  font-size: 13px;
  color: #606060;
  text-align: justify;
  text-justify: inter-ideograph; }

/* --- カードの幅 --- */
.card-width-280 .card {
  max-width: 280px; }

.card-width-300 .card {
  max-width: 300px; }

.card-width-380 .card {
  max-width: 380px; }

.card-width-auto {
  max-width: none !important; }

/* --- カードの高さ --- */
.card-height-120 .card {
  min-height: 120px; }

.card-height-150 .card {
  min-height: 150px; }

.card-height-200 .card {
  min-height: 200px; }

.card-height-250 .card {
  min-height: 250px; }

.card-height-260 .card {
  min-height: 260px; }

.card-height-270 .card {
  min-height: 270px; }

.card-height-300 .card {
  min-height: 300px; }

.card-height-350 .card {
  min-height: 350px; }

.card-height-400 .card {
  min-height: 400px; }

.card-height-auto {
  min-height: 0 !important; }

/* --- MDサイズ --- */
@media screen and (max-width: 1199px) {
  .card-height-md-270 .card {
    min-height: 270px; } }
/* --- SMサイズ --- */
@media screen and (max-width: 991px) {
  .card-height-sm-270 .card {
    min-height: 270px; } }
/* --- XSサイズ --- */
@media screen and (max-width: 767px) {
  .card {
    height: auto !important;
    min-height: 0 !important; } }
/* ----------------------------------------

		ボタン関連

   ---------------------------------------- */
/*
 * --- ゴーストボタン ---
 */
a.btn-ghost {
  display: inline-block;
  padding: 4px 15px;
  line-height: 1.1;
  color: #3BAFDA;
  border: 2px solid #3BAFDA;
  border-radius: 20px;
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s; }

a.btn-ghost:hover {
  color: #2B9FCA;
  border-color: #2B9FCA;
  background-color: #F0FCFF; }

/* ----------------------------------------

		フォト枠

   ---------------------------------------- */
/*
 * --- フォト ---
 */
img.photo,
div.photo,
figure.photo {
  box-sizing: content-box;
  padding: 6px;
  background-color: #FFFFFF;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
  border: 1px solid #E0E0E0; }

figure.photo figcaption {
  padding: 10px 0 0 5px;
  text-align: center;
  line-height: 1.2;
  font-size: 12px; }

/* ----------------------------------------

		装飾

   ---------------------------------------- */
/*
 * --- コーナー ---
 */
.corner-ribbon::after {
  position: absolute;
  font-family: Arial, Helvetica, sans-serif;
  width: 100px;
  height: 30px;
  top: -10px;
  right: -45px;
  padding: 17px 0 0 0;
  text-align: center;
  font-size: 10px;
  color: #FFFFFF;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg); }

.lt-ie9 .corner-ribbon::after {
  display: none; }

.corner-new::after {
  content: 'NEW';
  background-color: #D93131; }

.corner-topics::after {
  content: 'TOPICS';
  height: 60px;
  top: -25px;
  padding-top: 44px;
  font-size: 12px;
  background-color: #FFB300; }

/* --- XSサイズ --- */
@media screen and (max-width: 767px) {
  .corner-topics::after {
    display: none; } }
/* ----------------------------------------

		カラー／テーマ


   ---------------------------------------- */
/* --- カラー --- */
.color-gray {
  color: #C0C0C0; }

.color-darkgray {
  color: #808080; }

.color-red {
  color: #DA4453; }

.color-green {
  color: #8CC152; }

.color-aqua {
  color: #3BAFDA; }

.color-white {
  color: #FFFFFF !important; }

/*
 * --- ボタン ---
 */
.btn-std, .btn-std:hover, .btn-std:focus,
.btn-secondary, .btn-secondary:hover, .btn-secondary:focus,
.btn-optional, .btn-optional:hover, .btn-optional:focus,
.btn-notice, .btn-notice:hover, .btn-notice:focus {
  color: #FFFFFF;
  padding-left: 20px;
  padding-right: 20px;
  border-radius: 50px; }

.btn-std:disabled,
.btn-secondary:disabled,
.btn-optional:disabled,
.btn-notice:disabled {
  color: #808080 !important;
  background-color: #E0E0E0 !important;
  box-shadow: 0 2px #D0D0D0; }

.btn-std {
  background-color: #3BAFDA; }

.btn-std:hover {
  background-color: #4BBFFA; }

.btn-secondary {
  background-color: #8CC152; }

.btn-secondary:hover {
  background-color: #9CD162; }

.btn-optional {
  background-color: #90A0A0; }

.btn-optional:hover {
  background-color: #A0B0B0; }

.btn-notice {
  background-color: #ED5565; }

.btn-notice:hover {
  background-color: #FD6575; }

/*
 * --- 背景 ---
 */
.color-bg-white {
  background-color: #FFFFFF; }

.color-bg-lightgray {
  background-color: #F6F6F9; }

.color-bg-gray {
  background-color: #F3F3F3; }

.color-bg-red {
  background-color: #EC6B51; }

.color-bg-blue {
  background-color: #3DA5CD; }

.color-bg-green {
  background-color: #8BC34A; }

.color-bg-lightblue {
  background-color: #F0F9FF; }

.color-bg-lightgreen {
  background-color: #F6FcF6; }

.color-bg-lightpurple {
  background-color: #F9F6FF; }

.color-bg-lightturquoise {
  background-color: #F0FCF9; }

.color-bg-lightorange {
  background-color: #FFF9F0; }

.color-bg-lightred {
  background-color: #FFF3F3; }

/*
 * --- ボーダー ---
 */
.color-border-white {
  border-color: #FFFFFF !important; }

/*
 * --- 専用カラー ---
 */
/* --- 学校ごと --- */
.color-school-elementary,
.color-school-junior,
.color-school-high,
.color-school-art,
.color-school-corr {
  color: #FFFFFF !important; }

.color-school-elementary {
  background-color: #F282B7 !important; }

.color-school-junior {
  background-color: #15C6E5 !important; }

.color-school-high {
  background-color: #4473E9 !important; }

.color-school-art {
  background-color: #FF8C2E !important; }

.color-school-corr {
  background-color: #3A6EBB !important; }

.color-bg-school-elementary {
  background-color: #FEF2F8 !important; }

.color-bg-school-junior {
  background-color: #EDFCFF !important; }

.color-bg-school-high {
  background-color: #E3F3FF !important; }

.color-bg-school-art {
  background-color: #FFF9F0 !important; }

.color-bg-school-corr {
  background-color: #F3F3FA !important; }

/* --- 組織 --- */
.color-org-gec {
  color: #FFFFFF !important; }

.color-org-gec {
  background-color: #318399 !important; }

/* ========================================


		ドラフト用


   ======================================== */
/*
 * --- ドラフト ---
 */
.draft-text,
.draft-image,
.draft-construction {
  position: relative;
  margin-bottom: 40px;
  padding: 25px 0 20px 0;
  text-align: center;
  color: #606060;
  background-color: #FFFDE7;
  border: 4px solid #FFD54F; }

.draft-text::before,
.draft-image::before {
  content: 'DRAFT';
  position: absolute;
  left: 0;
  top: 0;
  padding: 0 10px;
  font-size: 12px;
  color: #FFFFFF;
  background-color: #FFD54F; }

/* --- 画像 --- */
.draft-image::before {
  content: 'NOW PRINTING'; }

/* --- 作成中 --- */
.draft-construction::after {
  content: "レイアウト作成中"; }

/* --- 注意 --- */
.draft-text-notice {
  background-color: #FFF6E9;
  border: 4px solid #F05252; }

.draft-text-notice::before {
  content: 'NOTICE';
  background-color: #F05252; }

/* ========================================


		レイアウト



   ======================================== */
/* ----------------------------------------

		全体


   ---------------------------------------- */
/*
 * --- 制限付きの幅 ---
 */
.container-limit,
.row-limit {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto; }

.container-limit-lg,
.row-limit-lg {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto; }

/* ----------------------------------------

		ヘッダー

   ---------------------------------------- */
/*
 * --- ヘッダー ---
 */
#page-header {
  position: fixed;
  width: 100%;
  left: 0;
  top: 0;
  height: 45px;
  text-align: center;
  background-color: #F0F0F0;
  z-index: 10;
  transition: top 0.5s; }

/*
#page-header.minimize {
  top: -36px;
}
*/
#page-header:hover {
  top: 0 !important; }

/*
 * --- 学校リンク ---
 */
#header-school-link {
  display: none;
  /* display: table; */
  /* トップページで表示 */
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  list-style: none; }

#header-school-link li {
  display: table-cell;
  vertical-align: top;
  z-index: 2; }

#header-school-link li a {
  display: table-cell;
  position: relative;
  width: 140px;
  height: 45px;
  vertical-align: middle;
  line-height: 1.2;
  transition: height 0.3s, opacity 0.4s; }

#header-school-link li a small {
  display: block;
  font-size: 12px; }

#header-school-link:hover a {
  opacity: 0.3; }

#header-school-link li a:hover {
  opacity: 1;
  color: #FFFFFF;
  height: 65px; }

#header-school-link li a:focus {
  color: #FFFFFF; }

/* --- ホバー時の要素 --- */
/*
#header-school-link li a .hover-item::after {
  content: 'ホームページを開く';
  display: block;
  position: absolute;
  opacity: 0;
  width: 140px;
  left: 0;
  bottom: 10px;
  text-align: center;
  font-size: 11px;
  letter-spacing: 1px;
  transition: opacity 0.5s;
}
*/
#header-school-link li a:hover .hover-item::after {
  opacity: 1; }

/* --- XSサイズ --- */
@media screen and (max-width: 767px) {
  #header-school-link li a {
    font-size: 12px; }

  #header-school-link li a small {
    font-size: 9px; }

  #header-school-link li a .hover-item::after {
    display: none; } }
/* ----------------------------------------

		サブヘッダー

   ---------------------------------------- */
#page-header-sub {
  position: fixed;
  width: 100%;
  left: 0;
  top: 0;
  height: 45px;
  text-align: center;
  background-color: #F6F7F9;
  z-index: 5; }

#header-sub-link {
  display: table;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  list-style: none; }

#header-sub-link li {
  display: table-cell;
  vertical-align: top;
  z-index: 2; }

#header-sub-link li a {
  display: table-cell;
  position: relative;
  height: 45px;
  padding: 0 15px;
  vertical-align: middle;
  line-height: 1.2;
  font-size: 12px;
  color: #808080;
  transition: background-color 0.3s; }

#header-sub-link li a:hover {
  background-color: #DCDCDC; }

/* --- ホーム --- */
#header-sub-link li.home a {
  width: 50px; }

/* --- XSサイズ --- */
@media screen and (max-width: 767px) {
  #header-sub-link {
    width: 95%; }

  #header-sub-link li {
    width: 14%; }

  #header-sub-link li a {
    display: block;
    width: 100%;
    padding: 16px 2px 0 2px; }

  #header-sub-link li.icon a {
    width: 100%;
    padding-top: 14px;
    font-size: 14px; } }
/*
 * --- 現在地 ---
 */
.doc-about-message #header-sub-link li:nth-child(2) a,
.doc-about-result #header-sub-link li:nth-child(3) a,
.doc-about-recruit #header-sub-link li:nth-child(4) a,
.doc-about-access #header-sub-link li:nth-child(6) a,
.doc-about-contact #header-sub-link li:nth-child(7) a {
  background-color: #E6E6E6; }

/* ----------------------------------------

		メインコンテンツ


   ---------------------------------------- */
/*
 * --- ページ本文 ---
 */
#page-body {
  padding-top: 45px; }

#page-content > header,
#page-content > section > header {
  margin-left: 20px;
  margin-right: 20px; }

#page-content > section {
  position: relative;
  padding: 50px 50px; }

#page-content > section:last-child {
  padding-bottom: 60px; }

/* --- XSサイズ --- */
@media screen and (max-width: 767px) {
  #page-body {
    margin-left: 0; }

  #page-body section {
    padding: 30px 10px; }

  #page-content > section:last-child {
    padding-bottom: 40px; } }
/* ----------------------------------------

		パンくずリスト


   ---------------------------------------- */
/*
 * --- パンくずリスト ---
 */
#breadcrumb {
  overflow: hidden;
  margin-top: 20px;
  padding: 5px 0; }

#breadcrumb ol {
  font-size: 12px;
  list-style: none; }

#breadcrumb li {
  float: left;
  margin-right: 8px; }

#breadcrumb li::after {
  content: '\e649';
  font-family: 'themify';
  margin-left: 8px;
  font-size: 10px;
  color: #A0A0A0; }

#breadcrumb li:last-child::after {
  content: ''; }

/* ----------------------------------------

		フッター

   ---------------------------------------- */
/*
 * --- フッター ---
 */
#page-footer {
  position: relative;
  padding: 25px 0 0;
  background-color: #FFFFFF; }
  #page-footer .footer-address {
    display: none; }
    #page-footer .footer-address p {
      line-height: 1.4;
      text-align: center; }

/*
 * --- フッターリンク ---
 */
#footer-link ul {
  margin-bottom: 2px;
  list-style: none;
  text-align: center; }
  #footer-link ul li {
    display: inline-block;
    padding: 0; }
    #footer-link ul li:not(:last-child)::after {
      content: '';
      border-right: 1px dotted #606060;
      margin: 5px 5px 10px 10px;
      font-size: 8px;
      vertical-align: middle; }
    #footer-link ul li a {
      color: #404040;
      font-size: 12px; }
      #footer-link ul li a:hover {
        color: #3BAFDA; }
#footer-link .outbound-link {
  margin-top: 5px; }
  #footer-link .outbound-link li a {
    font-size: 14px; }

@media (max-width: 767px) {
  #page-footer .footer-address {
    display: block; }

  #footer-link {
    display: none; } }
/*
 * --- コピーライト ---
 */
#page-footer .copyright {
  margin-top: 10px;
  color: #fff;
  font-size: 11px;
  letter-spacing: 0.5px;
  background-color: #0085CD;
  padding: 1.6em 0; }

#page-footer .copyright p {
  text-align: center; }

/* --- XSサイズ --- */
@media screen and (max-width: 767px) {
  #page-footer {
    padding-bottom: 0px; } }
/* ========================================


		主要要素


   ======================================== */
/* ----------------------------------------

		見出し


   ---------------------------------------- */
/* --- ページの見出し --- */
#page-content > header {
  margin-top: 50px;
  margin-bottom: 10px;
  text-align: center; }

#page-content > header h1 {
  font-size: 34px; }

#page-content > header h1::after {
  content: '';
  display: block;
  width: 70%;
  height: 1px;
  margin: 8px auto 5px auto;
  border: none;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 91, 172, 0.2), rgba(0, 0, 0, 0)); }

#page-content > header h1 + .caption {
  text-align: center;
  font-family: 'Oswald', sans-serif;
  font-size: 15px;
  letter-spacing: 0.8px;
  color: #404040; }

/* --- セクションの見出し --- */
#page-content section > header {
  text-align: center;
  margin-bottom: 40px; }

#page-content section > header h2 {
  font-size: 28px; }

#page-content section > header h2 + .caption {
  text-align: center;
  margin-top: 2px;
  margin-bottom: 10px; }

/* --- セクションの英語見出し --- */
#page-content header.en h2 {
  font-family: 'Oswald', sans-serif;
  font-size: 26px;
  margin-bottom: 5px; }

/* --- XSサイズ --- */
@media screen and (max-width: 767px) {
  #page-content > header h1 {
    font-size: 26px; }

  #page-content section > header {
    margin-bottom: 20px; }

  #page-content section > header h2 {
    font-size: 20px; } }
/* ----------------------------------------

		背景

   ---------------------------------------- */
/* --- 背景画像 --- */
.background-image {
  background-size: auto;
  background-position: top center;
  background-repeat: no-repeat;
  overflow: hidden; }

.background-image-fixed {
  background-attachment: fixed; }

.doc-global-education {
  /* --- XSサイズ --- */ }
  .doc-global-education .gec-caption {
    overflow: hidden; }
    .doc-global-education .gec-caption > p {
      float: left;
      width: 30%;
      margin-left: 3%;
      font-size: 12px;
      line-height: 1.2;
      letter-spacing: 0.5px;
      color: #606060; }
      .doc-global-education .gec-caption > p img {
        margin-bottom: 5px; }
  @media screen and (max-width: 767px) {
    .doc-global-education #global-gec {
      padding-bottom: 10px !important; } }

.doc-ict-education .feature {
  display: flex;
  justify-content: center;
  align-content: center;
  flex-wrap: wrap; }
  .doc-ict-education .feature p {
    margin: 2px 2px 2px 0;
    padding: 3px 10px;
    border-radius: 3px; }
.doc-ict-education .header-step {
  padding: 10px 5px; }
  .doc-ict-education .header-step p {
    margin-bottom: 5px;
    text-align: center;
    font-family: 'Oswald', sans-serif;
    font-size: 18px;
    letter-spacing: 0.5px; }
  .doc-ict-education .header-step .color-school-elementary {
    border-radius: 20px; }
  .doc-ict-education .header-step h2 {
    text-align: center;
    font-size: 28px; }
.doc-ict-education .color-elementary {
  color: #F282B7 !important; }
.doc-ict-education .color-junior {
  color: #15C6E5 !important; }
.doc-ict-education .color-high {
  color: #4473E9 !important; }
.doc-ict-education .color-art {
  color: #FF8C2E !important; }
.doc-ict-education .color-corr {
  color: #3A6EBB !important; }

.doc-history, .doc-philosophy {
  /* --- XSサイズ --- */ }
  .doc-history .history, .doc-philosophy .history {
    margin-left: 30px;
    padding: 20px 10px;
    border-left: 2px solid #D0D0D0; }
    .doc-history .history > dl > dt, .doc-philosophy .history > dl > dt {
      position: relative;
      float: left;
      margin-bottom: 10px;
      padding-left: 5px; }
      .doc-history .history > dl > dt::before, .doc-philosophy .history > dl > dt::before {
        content: '';
        position: absolute;
        left: -19px;
        top: 1px;
        width: 15px;
        height: 15px;
        background-color: #FFFFFF;
        border: 2px solid #2684C9;
        border-radius: 100%; }
    .doc-history .history > dl > dd, .doc-philosophy .history > dl > dd {
      margin-bottom: 10px;
      padding-left: 10em; }
  @media screen and (max-width: 767px) {
    .doc-history .history, .doc-philosophy .history {
      margin-left: 10px; }
      .doc-history .history > dl > dt, .doc-philosophy .history > dl > dt {
        float: none;
        margin-bottom: 5px; }
      .doc-history .history > dl > dd, .doc-philosophy .history > dl > dd {
        padding-left: 10px; } }

/* ----------------------------------------

		ニュース記事


   ---------------------------------------- */
#news-list {
  margin: 0 0 10px 0;
  padding: 0; }

#news-list li {
  margin: 0;
  padding: 0;
  list-style: none; }

#news-list li > a,
#news-list li > div {
  display: block;
  position: relative;
  margin: 0 20px;
  padding: 8px 10px 3px 0;
  color: #404040;
  border-bottom: 1px solid #E0E0E0; }

#news-list li > a {
  transition: padding 0.3s, background-color 0.3s; }

#news-list li > a::after {
  content: '';
  position: absolute;
  display: block;
  top: 0;
  left: -40px;
  width: 20px;
  height: 100%;
  background-color: #3BAFDA;
  transition: left 0.3s; }

#news-list li > a:hover {
  padding-left: 10px;
  padding-right: 0;
  background-color: #F9FCFF; }

#news-list li > a:hover p {
  color: #3BAFDA; }

#news-list li > a:hover::after {
  left: -20px; }

/* --- テキスト --- */
#news-list li p {
  margin: 3px 0 0 0;
  transition: color 0.3s; }

/* --- 日付 --- */
#news-list li time {
  display: inline-block;
  padding: 5px 5px 3px 5px;
  line-height: 1;
  font-size: 11px;
  color: #606060;
  background-color: #E9E9E9; }

/* --- 学校分類 --- */
#news-list li > a::before,
#news-list li > div::before {
  display: inline-block;
  margin-right: 5px;
  padding: 5px 5px 3px 5px;
  line-height: 1;
  font-size: 11px;
  color: #FFFFFF; }

#news-list li.elementary > a::before,
#news-list li.elementary > div:before {
  content: '小学校'; }

#news-list li.elementary > a::before,
#news-list li.elementary > div:before,
#news-list li.elementary > a::after {
  background-color: #F282B7; }

#news-list li.junior > a::before,
#news-list li.junior > div::before {
  content: '中学校'; }

#news-list li.junior > a::before,
#news-list li.junior > div::before,
#news-list li.junior > a::after {
  background-color: #15C6E5; }

#news-list li.high > a::before,
#news-list li.high > div::before {
  content: '高校 普通科'; }

#news-list li.high > a::before,
#news-list li.high > div::before,
#news-list li.high > a::after {
  background-color: #4473E9; }

#news-list li.art > a::before,
#news-list li.art > div::before {
  content: '高校 美術デザイン科'; }

#news-list li.art > a::before,
#news-list li.art > div::before,
#news-list li.art > a::after {
  background-color: #FF8C2E; }

#news-list li.corr > a::before,
#news-list li.corr > div::before {
  content: '高校 通信制課程'; }

#news-list li.corr > a::before,
#news-list li.corr > div::before,
#news-list li.corr > a::after {
  background-color: #3A6EBB; }

/* ----------------------------------------

		合格実績

   ---------------------------------------- */
/*
 * --- サマリー ---
 */
.doc-about-result #page-content .result {
  color: #FFFFFF;
  max-width: 400px;
  margin: 0 auto 30px auto;
  padding: 10px 0;
  text-align: center;
  line-height: 1;
  font-size: 20px;
  border-radius: 40px; }

.doc-about-result #page-content h3.result {
  font-size: 16px;
  max-width: 280px;
  margin: 20px auto 10px auto;
  padding: 5px 0; }

.doc-about-result #page-content .result-summary {
  font-size: 24px;
  margin-bottom: 20px;
  background-color: #0068B7; }

.doc-about-result .student-summary {
  max-width: 400px;
  margin: 0 auto 30px auto;
  padding: 5px;
  text-align: center;
  font-size: 20px;
  color: #FFFFFF;
  background-color: #42A5F5; }

.doc-about-result .student-summary small {
  display: block;
  font-size: 14px; }

/* --- XSサイズ --- */
@media screen and (max-width: 767px) {
  .doc-about-result #page-content .result-summary {
    font-size: 20px; } }
/*
 * --- サマリーカード ---
 */
.doc-about-result .summary h3 {
  width: 120px;
  height: 120px;
  margin: 0 auto 10px auto;
  padding-top: 36px;
  font-size: 24px;
  text-align: center;
  color: #FFFFFF;
  border-radius: 100%; }

.doc-about-result .summary h4 {
  width: 100px;
  height: 100px;
  margin: 0 auto 10px auto;
  padding-top: 25px;
  text-align: center;
  line-height: 1.3;
  color: #FFFFFF;
  border-radius: 100%; }

.doc-about-result .summary .summary-score {
  margin: 0 10px 10px 10px;
  padding: 2px 2px 4px 2px;
  text-align: center;
  font-size: 16px;
  color: #FFFFFF;
  background-color: #42A5F5; }

.doc-about-result .summary .summary-score .font-oswald {
  margin-left: 5px;
  margin-right: 2px;
  font-size: 24px; }

.doc-about-result .summary .list-university {
  margin: 10px 0 0 10px;
  font-size: 14px; }

.doc-about-result .summary .list-university > dt {
  width: 160px; }

.doc-about-result .summary .list-university > dd {
  padding-left: 160px; }

.doc-about-result .summary .list-university > dt.indent,
.doc-about-result .summary .list-university > dt.indent + dd {
  font-size: 13px;
  margin-left: 5px; }

.doc-about-result .summary .list-university > dt.indent::before {
  content: '-';
  padding-right: 5px;
  color: #C0C0C0; }

/*
 * --- 大学リスト ---
 */
.doc-about-result .list-university {
  font-size: 13px; }

.doc-about-result .list-university > dt {
  width: 180px;
  padding-left: 21px;
  line-height: 1.6; }

.doc-about-result .list-university > dd {
  padding-left: 180px;
  line-height: 1.6; }

/*
 * --- 追加アイコン ---
 */
.doc-about-result .list-university .highly::before,
.doc-about-result .list-university .medical::before,
.doc-about-result .list-university .outside::before {
  display: inline-block;
  margin-right: 4px;
  padding: 0 3px;
  font-size: 11px;
  vertical-align: 2px;
  color: #FFFFFF; }

/* --- 難関 --- */
.doc-about-result .list-university .highly {
  padding-left: 0; }

.doc-about-result .list-university .highly::before {
  content: '難';
  background-color: #ED5565; }

/* --- 医学部 --- */
.doc-about-result .list-university .medical {
  padding-left: 0; }

.doc-about-result .list-university .medical::before {
  content: '医';
  background-color: #7E57C2; }

/* --- うち --- */
.doc-about-result .list-university > dt.inside {
  margin-left: 6px; }

.doc-about-result .list-university > dt.inside.medical {
  margin-left: 0; }

.doc-about-result .list-university > dt.inside.medical::before {
  margin-right: 10px; }

.doc-about-result .list-university > dt.inside,
.doc-about-result .list-university > dt.inside + dd {
  font-size: 11px; }

.doc-about-result .list-university > dt.inside + dd {
  margin-bottom: 2px; }

.doc-about-result .list-university > dt.inside.medical + dd {
  margin-top: 2px; }

/* --- そと --- */
.doc-about-result .list-university .outside {
  padding-left: 0; }

.doc-about-result .list-university .outside::before {
  content: '外';
  background-color: #A0A0A0; }

/* --- ボーダー --- */
.doc-about-result .list-university dt.border {
  padding-top: 20px;
  padding-left: 0; }

.doc-about-result .list-university dt.border + dd {
  margin-top: 15px;
  padding-top: 10px;
  border-top: 1px dashed #E0E0E0; }

/* --- 難関説明 --- */
.doc-about-result .card-highly {
  max-width: 200px; }

.doc-about-result .card-highly h3 {
  padding: 10px;
  font-weight: normal;
  color: #FFFFFF;
  background-color: #ED5565;
  margin-bottom: 10px; }

/* --- XSサイズ --- */
@media screen and (max-width: 767px) {
  .doc-about-result .list-university {
    max-width: 300px;
    margin-left: auto;
    margin-right: auto; }

  .doc-about-result .list-university > dt {
    float: left;
    width: 150px;
    margin-bottom: 0; }

  .doc-about-result .list-university > dd {
    margin-left: 15px;
    padding-left: 180px; }

  .doc-about-result .list-university > dd::before {
    display: inline; }

  .doc-about-result .junior-college {
    text-align: center; } }
/* ----------------------------------------

		教職員採用、お問い合わせ


   ---------------------------------------- */
/*
 * --- 共通 ---
 */
/* --- 見出し --- */
.doc-about-recruit #page-content > header,
.doc-about-contact #page-content > header {
  margin-bottom: 50px; }

/* --- カード --- */
.doc-about-recruit #page-content .card,
.doc-about-contact #page-content .card {
  margin-bottom: 0; }

/*
 * --- 教職員採用 ---
 */
.doc-about-recruit #page-content .row h2 {
  font-size: 20px; }

.doc-about-recruit #page-content .row h2 small {
  margin-top: 5px;
  display: block;
  font-size: 15px;
  color: #606060; }

/* --- カミングスーン --- */
.doc-about-recruit .card .comming-soon {
  margin: 10px;
  text-align: center;
  color: #909090; }

/* --- 詳細 --- */
.doc-about-recruit .card-inside {
  margin-bottom: 20px;
  padding: 20px 20px 0 20px;
  background-color: #FCFCFC;
  border: 1px solid #E0E0E0;
  border-radius: 5px; }

.doc-about-recruit .card-inside h4 {
  margin-bottom: 8px;
  padding-bottom: 15px;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  border-bottom: 1px solid #E6E6E6; }

/* --- お問い合わせ先 --- */
.doc-about-recruit .contact {
  margin-bottom: 10px;
  padding: 10px 15px;
  background-color: #FFFDE7;
  border-radius: 5px; }

/* --- XSサイズ --- */
@media screen and (max-width: 767px) {
  .doc-about-recruit #page-content .row h2,
  .doc-about-contact #page-content .row h2 {
    margin-bottom: 10px; } }
/* --- NEW!ラベル --- */
.new {
  background: #fa0003;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  text-shadow: none;
  margin-left: 8px;
  padding: 2px 6px 1px;
  line-height: 1em;
  border-radius: 4px;
  -webkit-animation: blink 0.7s ease-in-out infinite alternate;
  -moz-animation: blink 0.7s ease-in-out infinite alternate;
  animation: blink 0.7s ease-in-out infinite alternate; }

@-webkit-keyframes blink {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-moz-keyframes blink {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes blink {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.doc-about-contact #page-content h2 {
  font-size: 22px;
  font-weight: bold; }
  .doc-about-contact #page-content h2 small {
    display: block;
    margin-top: 5px;
    font-size: 16px;
    font-weight: bold; }
.doc-about-contact #page-content .tel {
  font-size: 24px;
  letter-spacing: 1px; }

@media (max-width: 991px) {
  .doc-about-contact #page-content h2 {
    margin-bottom: 30px;
    text-align: center; }
    .doc-about-contact #page-content h2 small {
      display: inline;
      margin-left: 5px; } }
#release-container {
  padding: 10px 20px;
  background-color: #FFFFFF; }

#release-list {
  margin: 0;
  padding: 0;
  list-style: none; }
  #release-list > li {
    margin: 0;
    padding: 0; }
    #release-list > li:not(:last-child) {
      border-bottom: 1px solid #E9E9E9; }
    #release-list > li > a,
    #release-list > li > div {
      display: block;
      padding: 8px 10px 6px 10px;
      color: #404040; }
      #release-list > li > a time,
      #release-list > li > div time {
        float: left;
        display: inline-block;
        font-size: 13px;
        line-height: 1.8;
        width: 15rem; }
      #release-list > li > a p,
      #release-list > li > div p {
        margin-left: 15rem;
        margin-top: 1px;
        line-height: 1.4; }
        #release-list > li > a p.ac, #release-list > li > a p.elem, #release-list > li > a p.jr, #release-list > li > a p.high, #release-list > li > a p.art, #release-list > li > a p.corr,
        #release-list > li > div p.ac,
        #release-list > li > div p.elem,
        #release-list > li > div p.jr,
        #release-list > li > div p.high,
        #release-list > li > div p.art,
        #release-list > li > div p.corr {
          display: inline-block;
          min-width: 11em;
          margin: 0 10px 5px 0;
          padding: 3px 10px 1px 10px;
          line-height: 1.4;
          vertical-align: 0;
          text-align: center;
          font-size: 12px;
          color: #FFFFFF; }
        #release-list > li > a p.ac,
        #release-list > li > div p.ac {
          background-color: #005BAC; }
          #release-list > li > a p.ac::after,
          #release-list > li > div p.ac::after {
            content: '駿台甲府学園'; }
        #release-list > li > a p.elem,
        #release-list > li > div p.elem {
          background-color: #F282B7; }
          #release-list > li > a p.elem::after,
          #release-list > li > div p.elem::after {
            content: '小学校'; }
        #release-list > li > a p.jr,
        #release-list > li > div p.jr {
          background-color: #15C6E5; }
          #release-list > li > a p.jr::after,
          #release-list > li > div p.jr::after {
            content: '中学校'; }
        #release-list > li > a p.high,
        #release-list > li > div p.high {
          background-color: #4473E9; }
          #release-list > li > a p.high::after,
          #release-list > li > div p.high::after {
            content: '高校普通科'; }
        #release-list > li > a p.art,
        #release-list > li > div p.art {
          background-color: #FF8C2E; }
          #release-list > li > a p.art::after,
          #release-list > li > div p.art::after {
            content: '高校美術デザイン科'; }
        #release-list > li > a p.corr,
        #release-list > li > div p.corr {
          background-color: #3A6EBB; }
          #release-list > li > a p.corr::after,
          #release-list > li > div p.corr::after {
            content: '通信制課程'; }
    #release-list > li > a:hover {
      color: #3BAFDA;
      background-color: #F6FCFF; }

/* --- XSサイズ --- */
@media screen and (max-width: 767px) {
  #release-container {
    padding-left: 10px;
    padding-right: 10px; }

  #release-list > li > a p.ac, #release-list > li > a p.elem, #release-list > li > a p.jr, #release-list > li > a p.high, #release-list > li > a p.art, #release-list > li > a p.corr,
  #release-list > li > div p.ac,
  #release-list > li > div p.elem,
  #release-list > li > div p.jr,
  #release-list > li > div p.high,
  #release-list > li > div p.art,
  #release-list > li > div p.corr {
    position: static;
    margin-left: 0;
    margin-right: 5px;
    min-width: 0; }
  #release-list > li > a time,
  #release-list > li > div time {
    display: block;
    float: none;
    width: auto; }
  #release-list > li > a p,
  #release-list > li > div p {
    margin-left: 0; } }
/* ----------------------------------------

		交通アクセス

   ---------------------------------------- */
/* --- 見出し --- */
.doc-about-access #page-content header h2 {
  color: #FFFFFF;
  margin: 0 auto 30px auto;
  padding: 10px 0;
  text-align: center;
  line-height: 1;
  font-size: 20px;
  background-color: #0068B7; }

/* --- 画像の地図 --- */
.doc-about-access .campus-map {
  border: 1px solid #E0E0E0;
  padding: 10px; }

.doc-about-access .campus-map figcaption {
  margin-top: 10px;
  padding: 5px;
  text-align: center; }

/* --- Googleマップ --- */
.doc-about-access .google-map iframe {
  border: 1px solid #E0E0E0;
  width: 100%;
  min-height: 340px; }

/* --- Googleインドアビュー --- */
.doc-about-access .indoor-view a {
  display: block;
  max-width: 250px;
  margin-bottom: 10px;
  transition: box-shadow 0.3s; }

.doc-about-access .indoor-view a:hover {
  box-shadow: 0 1px 12px rgba(0, 168, 212, 0.3); }

.doc-about-access .indoor-view a h3 {
  padding: 4px;
  font-size: 12px;
  text-align: center; }

.doc-about-access .indoor-view a img {
  transition: opacity 0.3s; }

.doc-about-access .indoor-view a:hover img {
  opacity: 0.8; }

/* --- XSサイズ --- */
@media screen and (max-width: 767px) {
  .doc-about-access .indoor-view {
    overflow: hidden;
    margin-left: auto;
    margin-right: auto;
    max-width: 500px; }

  .doc-about-access .indoor-view a {
    float: left;
    width: 45%;
    margin: 5px 2%; }

  .doc-about-access .indoor-view-high a {
    margin-left: 30%; } }
.swiper-slide {
  margin-bottom: 1em; }
  .swiper-slide img {
    max-width: 100%;
    vertical-align: bottom; }
  .swiper-slide figcaption {
    font-size: 1.5rem;
    color: #000000; }

[data-slide-single] .swiper-controls,
[data-slide-single] .swiper-thumbs {
  display: none; }

.swiper-thumbs .swiper-slide {
  transition: filter 0.2s;
  cursor: pointer; }
  .swiper-thumbs .swiper-slide:hover {
    filter: brightness(110%); }
.swiper-thumbs .swiper-slide-thumb-active::after {
  content: '';
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 0 3px #4FC3F7; }

.swiper-controls .swiper-button-prev,
.swiper-controls .swiper-button-next {
  width: 3em;
  height: 4.5em;
  margin-top: 0;
  color: #000000;
  background-color: rgba(207, 216, 220, 0.8);
  transform: translateY(-50%);
  transition: filter 0.2s; }
  .swiper-controls .swiper-button-prev::after,
  .swiper-controls .swiper-button-next::after {
    font-size: 2.6rem; }
  .swiper-controls .swiper-button-prev:hover,
  .swiper-controls .swiper-button-next:hover {
    filter: brightness(110%); }
.swiper-controls .swiper-button-prev {
  left: 0;
  border-radius: 0 10px 10px 0; }
.swiper-controls .swiper-button-next {
  right: 0;
  border-radius: 10px 0 0 10px; }
@media (max-width: 767px) {
  .swiper-controls .swiper-button-prev,
  .swiper-controls .swiper-button-next {
    width: 2em;
    height: 3.5em; }
    .swiper-controls .swiper-button-prev::after,
    .swiper-controls .swiper-button-next::after {
      font-size: 2rem; } }

#page-footer .page-to-top {
  position: fixed;
  right: 20px;
  bottom: 30px;
  transform: translateY(80px);
  transition: transform 0.5s;
  z-index: 100; }
  #page-footer .page-to-top a {
    display: block;
    width: 45px;
    height: 45px;
    padding-top: 10px;
    text-align: center;
    font-size: 16px;
    border-radius: 25px;
    background-color: #FFFFFF;
    background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJhIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOSAyNiI+PGRlZnM+PHN0eWxlPi5ie2ZpbGw6IzAwODVjZDt9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImIiIGQ9Ik0xMC42MiwyNC44OFY4LjI3bDUuMyw1LjMsMS40LTEuNC03LTctLjctLjctLjcuN0wxLjkyLDEyLjE4bDEuNCwxLjQsNS4zLTUuM3YxNi42aDJaTTE4LjYyLDIuODhWLjg4SC42MnYyaDE4WiIvPjwvc3ZnPg==");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 24px 24px;
    transform: translateY(2px);
    transition: color 0.2s, transform 0.2s; }
    #page-footer .page-to-top a:hover {
      transform: translateY(-3px); }
    #page-footer .page-to-top a i {
      display: none; }
@media (max-width: 767px) {
  #page-footer .page-to-top {
    bottom: 70px;
    transform: translateY(120px); } }

[data-scroll-down] #page-footer .page-to-top {
  transform: translateY(0); }

.doc-about-facility .section-map {
  padding-left: 0 !important;
  padding-right: 0 !important; }

.doc-about-facility .campus-map {
  text-align: center; }
  .doc-about-facility .campus-map .campus-map-root {
    display: inline-block;
    position: relative; }
    .doc-about-facility .campus-map .campus-map-root img {
      max-width: 100%; }
  .doc-about-facility .campus-map .map-selector > a {
    position: absolute;
    padding: 0.5em 1.2em 0.4em 1.2em;
    white-space: nowrap;
    font-size: 1.6rem;
    color: #FFFFFF;
    background-color: rgba(41, 182, 246, 0.9);
    border-radius: 3em;
    transition: filter 0.2s;
    transform: translate(-50%, -50%); }
    .doc-about-facility .campus-map .map-selector > a:hover {
      filter: brightness(110%); }
  @media (max-width: 767px) {
    .doc-about-facility .campus-map .map-selector > a {
      font-size: 1rem; } }

.doc-about-facility .campus-map-shiobe .map-selector .point-01 {
  left: 18%;
  top: 20%; }
.doc-about-facility .campus-map-shiobe .map-selector .point-02 {
  left: 45%;
  top: 15%; }
.doc-about-facility .campus-map-shiobe .map-selector .point-03 {
  left: 68%;
  top: 20%; }
.doc-about-facility .campus-map-shiobe .map-selector .point-04 {
  left: 90%;
  top: 22%; }
.doc-about-facility .campus-map-shiobe .map-selector .point-05 {
  left: 16%;
  top: 87%; }
.doc-about-facility .campus-map-shiobe .map-selector .point-06 {
  left: 55%;
  top: 77%; }
.doc-about-facility .campus-map-shiobe .map-selector .point-07 {
  left: 84%;
  top: 87%; }

.doc-about-facility .campus-map-imai .map-selector .point-01 {
  left: 28%;
  top: 41%; }
.doc-about-facility .campus-map-imai .map-selector .point-02 {
  left: 38%;
  top: 67%; }
.doc-about-facility .campus-map-imai .map-selector .point-03 {
  left: 68%;
  top: 17%; }
.doc-about-facility .campus-map-imai .map-selector .point-04 {
  left: 82%;
  top: 66%; }

.doc-about-facility .section-slide {
  padding-top: 40px !important; }
  .doc-about-facility .section-slide h2 {
    margin-bottom: 0.5em;
    text-align: center;
    font-size: 2.2rem; }
  .doc-about-facility .section-slide .swiper {
    max-width: 640px; }
  .doc-about-facility .section-slide .swiper-controls .swiper-button-prev,
  .doc-about-facility .section-slide .swiper-controls .swiper-button-next {
    margin-top: -1em; }

.color-bg-sundai-blue {
  background-color: #0085CD; }

.flex-space-between {
  display: flex;
  justify-content: space-between;
  align-items: center; }

.information-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: normal;
  flex-wrap: wrap; }

.information-wrap-item {
  width: calc(100%/3);
  text-align: center; }

@media screen and (max-width: 580px) {
  .information-wrap-item {
    width: 100%; } }
.color-bg-sundai-blue {
  background-color: #0085CD; }

.video-btn-wrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  line-height: normal;
  flex-wrap: wrap; }

.video-btn-wrap-item {
  width: calc(100%/3);
  text-align: center; }

@media screen and (max-width: 580px) {
  .video-btn-wrap-item {
    width: 100%; } }
.video-wrap {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  line-height: normal;
  flex-wrap: wrap; }

.video-wrap-item {
  width: calc(100%/3);
  text-align: center;
  margin-bottom: 1.5em; }
  .video-wrap-item img {
    width: 100%;
    margin-bottom: 5px; }
  .video-wrap-item p {
    color: #333 !important; }

@media screen and (max-width: 800px) {
  .video-wrap-item {
    width: calc(100%/2); } }
@media screen and (max-width: 580px) {
  .video-wrap-item {
    width: 100%; } }
.color-text {
  color: #333 !important; }
