@charset "UTF-8";
/**
 * Main Stylesheet
 * 
 */

/*------------------------------------------
  色設定
--------------------------------------------*/
:root {
  /*----------------
  色設定
  ------------------*/
  --text-color: #3f3f3f;
  --main-color: #00439a;
  --dark-color: #003060;
  --light-color: #e2ecba;
  --high-color: #2068c8;
  --accent-color: #499475;
  --background-color: #f9f9f9;
  --logo-color: #00439a;
  --link-color: blue;
  --visited-color: red;
  --page-top-color: #00439a;
  --error-color: #e51221;
  /*----------------
  サイズ設定
  ------------------*/
  --main-2col-width: 810px;     /* 2カラム時のmainの幅 */
  --sidebar-2col_width: 240px;  /* 2カラム時のsidebarの幅 */
  --hamb_menu_size: 70px;       /* ハンバーガーメニューのサイズ(縦＆横) */
}

/* ==========================================================================
   Module
   ページを構成するスタイルを定義
========================================================================== */
/*---------------------------------------------------------------------------
   共通デザイン構成クラス
--------------------------------------------------------------------------- */
html {
  color: var(--text-color);
  font-size: 14px;
  line-height: 1;
}
@media screen and (max-width: 991px) {
  html {
    overflow-x: hidden;
  }
}

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
}

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

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

a.link-color,
a:link.link-color01,
a:hover.link-color01,
a:visited.link-color01,
a:active.link-color01 {
  color: #333;
}


.browserupgrade {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
}


h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 1rem 0;
}

/* 見出しの下マージンが邪魔な場合はここを0にしてから組んで下さい。 */
p {
  margin: 0;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5 {
  text-rendering: optimizelegibility;
  font-weight: 500;
}

@media screen and (max-width: 991px) {
  body {
    overflow-x: hidden;
  }
}
@media screen and (max-width: 767px) {

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin: 0 0 0.5rem 0;
  }
}

h1 a,
.h1 a,
h2 a,
.h2 a,
h3 a,
.h3 a,
h4 a,
.h4 a,
h5 a,
.h5 a {
  text-decoration: none;
}

h1,
.h1 {
  font-size: 2.5em;
  line-height: 1.333em;
}

h2,
.h2 {
  font-size: 1.75em;
  line-height: 1.4em;
  margin-bottom: 0.375em;
}

h3,
.h3 {
  font-size: 1.125em;
}

h4,
.h4 {
  font-size: 1.1em;
  font-weight: 700;
}

h5,
.h5 {
  font-size: 0.846em;
  line-height: 2.09em;
  text-transform: uppercase;
  letter-spacing: 2px;
}

section:has(>article#page01) {
  padding: 0;
}

/*------------------------------------------
  フォーム部品
--------------------------------------------*/
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

select { max-width: 100% }

textarea {
  resize: vertical;
}

.formbtn {
  display: table;
  text-align: center;
  background: #236ac9;
  color: #fff;
  padding: 20px;
  margin: 0 auto;
  border-radius: 10px;
  font-size: 18px;
  font-weight: bold;
}

.form-control > fieldset > legend  > span {
  font-weight: bold;
  font-size: 110%;
}

.form-control fieldset legend .req {
  font-weight: bold;
  font-size: 110%;
  color: red;
  margin-left: 1em;
}

.form-control fieldset p {
  margin-bottom: 16px;
  display: flex;
}

/*******************************
  フォームの調整 2025.02.04 甲斐
*******************************/

.course_value .horizontal-item {
  display: block;
}

.left .horizontal-item {
  display: block;
  
}

.mw_wp_form .left .horizontal-item + .horizontal-item {
  margin-left: 0;
}

/*------------------------------------------
  layout
--------------------------------------------*/
img {
  max-width: 100%;
  height: auto;
}

#logo,
#main-visual figure,
#movie-profile,
#youtube,
#director {
  text-align: center;
}

#content {
  margin-top: 70px;
}
@media screen and (max-width: 1070px) {
  #content {margin-top: 50px;}
}
@media screen and (max-width: 991px) {
  #content {
    margin-top: var(--hamb_menu_size);
  }
}

/* リキッドレイアウト用のサイズ指定ラッパークラス */
.common-wrap {
  max-width: 1300px;
  margin: 0 auto;
  display: block;
}

/* clearfix */
.clear::after {
  content: "";
  clear: both;
  display: block;
}

.block-link a {
  display: block;
}

#youtube {
  width: 80%;
  margin: 0 auto 2rem;
}

.youtube-resp {
  position: relative;
  height: 0;
  padding: 30px 0 47.97%;
  /*16:9比率 */
  overflow: hidden;
}

.youtube-resp iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.mov-tumb a {
  position: relative;
  display: block;
}

.mov-tumb a::before {
  content: url('../img/common/icon-play.png');
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 93px;
  height: 93px;
  z-index: 9999;
}

.anker-link {
  padding-top: 80px;
  margin-top: -80px;
}

/* link */
a:link {
  opacity: 1;
  text-decoration: none;
  transition: all .3s cubic-bezier(.55, 0, .1, 1);
}

a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  img {
    margin: 0 auto;
    display: block;
  }

  .common-wrap {
    max-width: 100%;
  }

  /* 消える改行 */
  .br-sp {
    display: none;
  }

}


/* common culm */
.col {
  width: 100%;
  display: flex;
}

.col:after {
  content: "";
  clear: both;
  display: block;
}

.col2 {
  display: block;
  width: 50%;
  align-items: center;
}

.col2:nth-of-type(1) {
  border-right: 1rem solid transparent;
}

.col2:nth-of-type(2) {
  border-left: 1rem solid transparent;
}

.col3>li,
.col4>li,
.col5>li {
  display: block;
  width: 25%;
  float: left;
  padding: 0 10px;
}

.col3 .col4 {
  margin: 0 -10px;
}

.col3>li {
  width: 33.33%;
}

.col5>li {
  width: 20%;
  padding: 0 6px;
}

.p-col1.right {
  text-align: right
}

/* ２カラム */
.p-col2 {
  width: calc(50% - 20px);
  float: left;
}

.p-col .p-col2:nth-of-type(odd) {
  margin: 0 20px 0 0;
}

.p-col .p-col2:nth-of-type(even) {
  margin: 0 0 0 20px;
}

/* 右に写真がある2カラム、SP時写真が上に */
.p-col .p-col2.rph-first:nth-of-type(odd) {
  margin: 0 0 0 20px;
  float: right;
}

.p-col .p-col2.rph-last:nth-of-type(even) {
  margin: 0 20px 0 0;
  float: left;
}

/* レイアウト切り替え用クラス、右に置きたい要素に付ける */
.last-col {
  float: right;
  /* margin-left: 50px !important; */
  margin-left: 50px;
}

@media screen and (max-width: 991px) {

}

@media screen and (max-width: 767px) {
  .col {
    display: block;
    margin-bottom: 2rem;
  }

  .col2 {
    display: block;
    width: 100%;
  }

  .col2:nth-of-type(1) {
    border-right: none;
  }

  .col2:nth-of-type(2) {
    border-left: none;
  }

  .col3>li,
  .col4>li {
    padding: 0;
  }

  .col3>li {
    width: 100%;
    float: none;
  }

  .col4>li {
    width: 50%;
  }

  .col4 {
    margin: 0;
  }

  .col5>li {
    width: 50%;
  }

  .col5 {
    margin: 0;
  }

  .last-col {
    float: none;
    padding-left: 0 !important;
    margin-left: 0;
  }

  .p-col2 {
    width: 100%;
    margin-bottom: 16px;
  }

  .p-col2 figure {
    width: 100%;
    display: block;
    text-align: center;
  }

  .p-col .p-col2:nth-of-type(odd),
  .p-col .p-col2:nth-of-type(even) {
    margin: 0;
    float: none;
  }

  .p-col .p-col2.rph-first:nth-of-type(odd),
  .p-col .p-col2.rph-last:nth-of-type(even) {
    margin: 0;
    float: none;
  }

}

@media screen and (min-width: 992px) {
  .has_sidebar main {
    max-width: var(--main-2col-width);
    width: 73%;
  }

  .has_sidebar .sidebar {
    max-width: var(--sidebar-2col_width);
    width: 25%;
  }

}

/* 固定ページ、投稿ページ共通デフォルト設定 -------------------------------------------------- */

/* 行間設定 */
.entry-content{
  line-height: 1.6;
  margin-top: 0;
}


/*------------------------------------------
 固定ページ用デフォルト設定
--------------------------------------------*/
.hentry {
  background-color: white;
  /*border-radius: 3px;*/
  margin-bottom: 1.5em;
/*border: 1px solid #cccccc;*/ }
.hentry header {
  border-bottom: 1px solid #f8f9fa;
/*padding: 1.5em;*/ }
footer {
  background-color: transparent;
  color: var(--text-color);
}
footer a {
  color: var(--text-color);
}
.hentry footer {
  /*padding: 1.5em;*/
/*border-top: 1px solid #f8f9fa;*/ }
.hentry footer p {
  margin: 0; }

/* end .hentry */
.single-title,
.page-title,
.entry-title {
  margin: 0; }

  /* want to style individual post classes? Booya! */
  /* post by id (i.e. post-3) */
  /* general post style */
  /* general article on a page style */
  /* general style on an attatchment */
  /* sticky post style */
  /* hentry class */
  /* style by category (i.e. category-videos) */
  /* style by tag (i.e. tag-news) */
  /* post meta */
.byline {
  color: #9fa6b4;
  font-style: italic;
  margin: 0; }


/*------------------------------------------
  text装飾
--------------------------------------------*/
.t-justify {
  text-align: justify;
}

.fontbig {
  font-size: 2rem;
  font-weight: bold;
}

.fontmidi {
  font-size: 1.4em;
  font-weight: bold;
}

.fontsmall {
  font-size: 12px;
}

/*SPで読める最小サイズ*/
.normal {
  font-weight: normal;
  font-size: 1em;
}
.f-normal {
  font-weight: normal !important;
}
.bold {
  font-weight: bold;
}

.red {
  color: #e60012;
}

.blue {
  color: #0445d8;
}

.t_line {
  text-decoration: underline;
}

.mincyo {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
}

.t_center {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .fontbig {
    font-size: 1.4rem;
  }
}

/*------------------------------------------
  その他装飾
--------------------------------------------*/
.blue_box {
  display: inline;
  color: #fff;
  background-color: #0445d8;
  padding: 3px 10px;
}

.red_box {
  display: inline;
  color: #fff;
  background-color: #e60012;
  padding: 3px 10px;
}

.border_dashed_top {
  border-top: 1px dashed #888;
  padding-top: 15px;
}

.border_solid_top {
  border-top: 1px solid #888;
  padding-top: 15px;
}

.border_dashed_bottom {
  border-bottom: 1px dashed #888;
  padding-bottom: 15px;
}

.border_solid_bottom {
  border-bottom: 1px solid #888;
  padding-bottom: 15px;
}

.stnd_table {
  width: 100%;
  border-right: 1px solid #555;
  border-bottom: 1px solid #555;
}

.stnd_table th,
.stnd_table td {
  border-left: 1px solid #555;
  border-top: 1px solid #555;
  padding: 5px 8px;
  text-align: center;
}

.stnd_table th {
  background-color: #e1e1e1;
}

/*------------------------------------------
  CSSアニメーション
--------------------------------------------*/
.shaker {
  display: inline-block;
  animation: shaker .1s infinite;
}

@keyframes shaker {
  0% {
    transform: translate(0px, 0px) rotateZ(0deg)
  }

  25% {
    transform: translate(2px, 2px) rotateZ(1deg)
  }

  50% {
    transform: translate(0px, 2px) rotateZ(0deg)
  }

  75% {
    transform: translate(2px, 0px) rotateZ(-1deg)
  }

  100% {
    transform: translate(0px, 0px) rotateZ(0deg)
  }
}

/*------------------------------------------
  動画モーダル表示
--------------------------------------------*/
.js-modal-btn-vimeo {
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .modal-video-close-btn {
    right: 8px !important;
  }
}

/*------------------------------------------
  5行ニュース
--------------------------------------------*/
.zen-wrap {
  border: 2px solid #97b4dc;
  padding: 20px;
  margin-bottom: 40px;
}

.zen-five-title {
  border-bottom: 1px dashed #97b4dc;
  color: #014099;
  padding-bottom: 10px;
  margin-bottom: 10px;
  font-size: 20px;
  font-weight: bold;
}

.zen-five-title a {
  color: #014099;
}

/*------------------------------------------
  重要なお知らせ
--------------------------------------------*/
.marquee-wrap {
  border: 2px solid #97b4dc;
  padding: 20px;
  margin-bottom: 40px;
}

.marquee-title {
  border-bottom: 1px dashed #97b4dc;
  color: #014099;
  padding-bottom: 10px;
  margin-bottom: 10px;
  font-size: 20px;
  font-weight: bold;
}

.marquee-title a {
  color: #014099;
}

/*------------------------------------------
  共通部品
--------------------------------------------*/
/* 矢印付きリンクボタン */
.arrowlink-box {
  display: block;
  max-width: 230px;
  border: 1px solid #777;
  padding: 10px 0;
  color: #777;
  text-align: center;
  position: relative;
  margin: 0 auto;
}

.arrowlink-box::after {
  content: "\002192";
  /* → の文字*/
  margin-left: 20px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  width: 14px;
  height: 14px;
  margin: auto;
}

/* 矢印付きリンクボタン */
.arrowlink-page {
  display: table;
  width: auto;
  border: 1px solid #777;
  padding: 10px 50px;
  color: #777 !important;
  text-align: center;
  position: relative;
  margin: 0 0 16px 0;
}

.nextlink .arrowlink-page {
  float: right;
}

.arrowlink-page::after {
  content: "\002192";
  /* → の文字*/
  margin-left: 20px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
  margin: auto;
}

.arrowlink-page.center {
  margin: 0 auto;
}

.arrowlink-box.ar-white {
  border-color: #fff;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .arrowlink-page {
    width: 100%;
    padding: 16px;
  }

  .nextlink .arrowlink-page {
    float: none;
  }

}

/*------------------------------------------
  共通フォームデザイン
--------------------------------------------*/
  .form-design01 .table-form01{border-collapse: separate; border-spacing: 6px 6px;}
  .form-design01 .table-form01 td:first-child{background:#e1edfb; text-align: center; padding: 10px;}
  .form-design01 .table-form01 td[colspan]{background:#fff;}

  .table-form01 td{padding: 10px;}

  @media only screen and (max-width: 736px) {
    .table-form01 td{padding: 0;}
  }

  @media only screen and (min-width: 737px) {
    .table-form01 td:first-child {width: 31%;}
  }


  /* MEDiC文字 */
  .medic-i{color: #f00; font-style: normal;}


  /* 重要なお知らせ */
.marquee-wrap{
border: 2px solid #97b4dc;
padding: 20px;
margin-bottom: 40px;
}

.marquee-title{
  border-bottom: 1px dashed #97b4dc;
  color: #014099;
  padding-bottom: 10px;
  margin-bottom: 10px;
  font-size: 20px;
  font-weight: bold;
}

.marquee-title a{color: #014099;}

/* 20220608追加 */
.table-design01{
  width: 100%;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
}

.table-design01 th,
.table-design01 td{
  padding: 10px;
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
  text-align: center;
}

.table-design01 thead th{background: #3499d6; color: #fff;}
.table-design01 tbody tr:nth-of-type(even){background: #dfeaf8;}
.table-design01 tbody tr td:nth-of-type(1){text-align: left;}
.table-design01 tbody tr td:nth-of-type(2){background: #fff;}

a.form-linkbtn{
  margin:20px auto;
  display:block;
  background: #236ac9;
  color:#fff;
  text-align:center;
  font-size:18px;
  font-weight:bold;
  width:100%;
  padding:10px 0;
  border-radius: 5px;
}

.form-linkbtn::after{content: "＞"; margin-left: 1em;}

@media only screen and (max-width: 736px) {
  .table-design01 th,
  .table-design01 td{
    padding: 5px;
    font-size: 12px;
  }
}

/*------------------------------------------
  共通ヘッダー
--------------------------------------------*/
.header-wrap{
  max-width: 1300px;
  margin: 0 auto;
}

.header-wrap .inner-header{
  display: table;
  width: 100%;
  position: fixed;
  top: 0;
  max-width: 1300px;
  background-color: #fff;
  z-index: 1000;
}
/* ハンバーガーメニュー表示時 */
@media only screen and (max-width: 991px) {
	.header-wrap .inner-header {
		height: var(--hamb_menu_size);
	}
}
/* 途中のレスポンシブに適用 by miyazaki */
@media only screen and (max-width: 1300px) {
  .header-wrap{
      max-width: 100%;
    }
  .header-wrap .inner-header{
      max-width: 100%;
    }
}

.logo, nav.global-nav{display: table-cell; vertical-align: middle;}

.logo { width: 250px; }
.logo a { display: block; padding: 10px 0 0 25px; }

nav.global-nav { width: 81%; }
@media only screen and (max-width: 767px) {

  .logo,nav.global-nav{ 
    width: 100%; 
    max-width: 100%; 
    float: none; 
    display: block; 
    text-align: center;
    padding-top: 5px;
  }

}

/*------------------------------------------
  ハンバーガーメニュー
--------------------------------------------*/
.hamb_menu .btn_menu {
  top: 0;
  right: 0;
  align-items: end;
  color: #fff;
  font-size: 90%;
  padding-bottom: 5px;
  background-color: var(--dark-color);
}

.hamb_menu .menu_contents {
  background-color: #fff;
	overflow-y: auto;
}
.hamb_menu .menu_contents ul {
	padding: 0;
}
.hamb_menu .menu_contents > ul {
  padding-top: var(--hamb_menu_size);
}
.hamb_menu .menu_contents li {
  border-bottom: 1px solid #ccc;
}
.hamb_menu .menu_contents li a {
  color: var(--text-color);
  /* font-size: 140%; */
  padding: 20px 0;
}

.hamb_menu .menu_contents li:nth-child(9) {
  transition-delay: 0.4s !important;
}

@media screen and (max-width: 991px) {
  .hamb_menu nav.global-nav li {
    display: block;
    width: 100%;
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
}

/*------------------------------------------
  グローバルメニュー
--------------------------------------------*/
nav.global-nav .top-nav {
  display: flex;
	width: 100%;
}
.nav.top-nav > li{
  display: block;
  text-align: center;
  width: 12%;
}
.nav.top-nav > li a{
  display: flex;
	align-items: center;
	justify-content: center;
  color: #777;
  text-align: center;
  line-height: 1;
	width: 100%;
  height: 70px;
}

/********************
  背景つきメニュー 
*********************/
.nav.top-nav > li:nth-last-of-type(3) a,
.nav.top-nav > li:nth-last-of-type(2) a,
.nav.top-nav > li:nth-last-of-type(1) a{
  color: #fff;
  position: relative;
  padding: 34px 0 0 0;
}
.nav.top-nav > li:nth-last-of-type(3) a{background-color: #e6002d;}
.nav.top-nav > li:nth-last-of-type(2) a{background-color: #014099;}
.nav.top-nav > li:nth-last-of-type(1) a{background-color: #00BFFE;}
/* 2023.12.12 twitter -> X */
/* .nav.top-nav > li:nth-last-of-type(1) a{background-color: #1da1f2;} */
/* .nav.top-nav > li:nth-last-of-type(1) a{background-color: #000;} */

.nav.top-nav > li:nth-last-of-type(3) a::before,
.nav.top-nav > li:nth-last-of-type(2) a::before,
.nav.top-nav > li:nth-last-of-type(1) a::before{
  display: block;
  content: "";
  position: absolute;
  top: 15px;
  left: 0;
  right: 0;
  width: 17px;
  height: 17px;
  margin: auto;
  background-size: contain;
  background-repeat: no-repeat;
}
.nav.top-nav > li:nth-last-of-type(3) a::before{background-image: url('../img/common/icon-mail.png')}
.nav.top-nav > li:nth-last-of-type(2) a::before{background-image: url('../img/common/icon-ball.png')}
.nav.top-nav > li:nth-last-of-type(1) a::before{background-image: url('../img/common/icon-tell.png')}
/* 2023.12.12 twitter -> X */
/* .nav.top-nav > li:nth-last-of-type(1) a::before{background-image: url('../img/common/icon-twitter.png')} */
/* .nav.top-nav > li:nth-last-of-type(1) a::before{background-image: url('../img/common/icon_x.png')} */

/* 2025.01.23 個別相談会メニューを大きくして目立たせる */
.nav.top-nav > li:nth-last-of-type(3) {
  width: 13%;
}
.nav.top-nav > li:nth-last-of-type(2) {
  width: 15%;
}

/* スマホ表示時以外は「お電話でのご相談」メニューを表示しない */
.nav.top-nav > li:nth-last-of-type(1) {display: none;}


/********************
  途中のレスポンシブに適用 
*********************/
@media only screen and (max-width: 1300px) {
  .logo a {
    padding-top:0;
  }
  .nav.top-nav {
    /*font-size: 85%;*/
    /* font-size: 50%; */
  }
  .nav.top-nav > li:nth-last-of-type(3) a,
  .nav.top-nav > li:nth-last-of-type(2) a {
    padding: 0;
  }

  .nav.top-nav > li:nth-last-of-type(3) a::before,
  .nav.top-nav > li:nth-last-of-type(2) a::before,
  .nav.top-nav > li:nth-last-of-type(1) a::before {
  /*.nav.top-nav > li:nth-last-of-type(1) a::before {*/
    /*background-image: none;*/
    background-size: 0% 0%;
  }
}

/********************
  タブレット表示以下の時の表示：ハンバーガーメニュー時のメニュー表示
*********************/
@media only screen and (max-width: 991px) {
	/* PC用グローバルナビは表示しない */
  nav.global-nav {
    display: none;
  }

  .logo a{height: 56px; text-align: left; padding:0; line-height: 56px;}/*menuボタンと同じ高さ*/
  .logo a img{display: inline-block; margin:0; padding-left: 10px;}


	.nav.top-nav .sp-only {
		display: block;
	}

  .nav.top-nav > li
  {display: block; width: 100%;}

  .nav.top-nav > li{border-bottom: 1px solid #ccc; background-color: white;}

  /* .nav.top-nav > li:nth-last-of-type(4), */
  .nav.top-nav > li:nth-last-of-type(3),
  .nav.top-nav > li:nth-last-of-type(2),
  .nav.top-nav > li:nth-last-of-type(1){border-bottom: none;}

  .nav.top-nav > li a {
		display: block;
    height: auto;
    line-height: 1.4;
    padding: 18px 0;
  }

  /* .top-nav > li:nth-last-of-type(4) a, */
  .nav.top-nav > li:nth-last-of-type(3) a,
  .nav.top-nav > li:nth-last-of-type(2) a,
  .nav.top-nav > li:nth-last-of-type(1) a{
    width: 100%;
    padding: 18px 0;
  }
  /* .top-nav > li:nth-last-of-type(1) a{
    color: #fff;
  } */

  /*非表示にしていた li:nth-last-of-type(1) をスマホでは表示する*/
  .nav.top-nav > li:nth-last-of-type(1) {display: block;}

  /* .top-nav > li:nth-last-of-type(4) a::before, */
  .nav.top-nav > li:nth-last-of-type(3) a::before,
  .nav.top-nav > li:nth-last-of-type(2) a::before,
  .nav.top-nav > li:nth-last-of-type(1) a::before{
    display: inline-block;
    content: "";
    position: static;
    top: 0;
    left: 0;
    right: 0;
    width: 17px;
    height: 17px;
    margin: 0 10px 0 0;
    vertical-align: middle;
    background-size: contain;
  }
  /*Twitterアイコンと文字列を同時に使用してはいけないことへの措置*/
  /* .top-nav > li:nth-last-of-type(1) a::before{
    background-size: 0% 0%;
  } */

}

/********************
  サブメニュー表示 
*********************/
.top-nav .sub-menu {
  position: relative;
  z-index: 1;
  display: none;
  width: 100%;
  border-top: none;
}
.top-nav .sub-menu li {
  display: block;
  float: none;
  padding: 0;
}

/* PC表示時のサブメニュー */
/* @media (min-width: 768px) { */
@media only screen and (min-width: 992px) {
  .nav.top-nav > li {
    /* width: 17%; */
  }
  .global-nav li a:hover,
  .global-nav li a:focus,
  .global-nav li a.active {
    background-color: #014099;
    color: #fff;
    opacity: 0.7;
  }

  .global-nav li:hover .sub-menu
  /* .global-nav li a:focus ~ .sub-menu { */
  {
    display: block;
  }
  .global-nav .sub-menu {
    position: absolute;
    width: 100%;
    left: 0;
    border-top: 1px solid #eee;
    text-align: left;
    padding: 20px 10px;
  }
  .global-nav .sub-menu:before {
    position: absolute;
    content: '';
    background-color: #014099;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0.8;
  }
  .global-nav .sub-menu li {
    position: relative;
    display: inline-block;
    width: calc( 100% / 4 - 10px);
    vertical-align: middle;
  }
  .global-nav .sub-menu li a {
    position: relative;
    font-size: 1em;
    font-weight: normal;
    width: auto;
    padding: 10px 10px 10px 20px;
    text-align: left;
    color: #333;
    border-radius: 3px;
    margin: 10px;
    display: flex;
    align-items: center;
    justify-content: left;
    opacity: 1;
    background-repeat: no-repeat;
    background-position: 100% 0;
    background-size: 200% auto;
    background-image: linear-gradient(
      to right,
      #0054cc 0%,
      #0054cc 50%,
      #ffffff 50%,
      #ffffff 100%
    );
    transition: all .2s ease-in;
  }
  .global-nav .sub-menu li a:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 10px;
    width: 3px;
    height: 1.5em;
    transform: translateY(-50%);
    background: rgb(151,180,220);
    background: linear-gradient(180deg, rgba(151,180,220,1) 0%, rgba(0,48,96,1) 100%);
  }
  .global-nav .sub-menu li a:hover,
  .global-nav .sub-menu li a:focus {
    background-position: 0 0;
    color: #fff;
    opacity: 1;
    transition: all .2s ease-in;
  }
}

/* スマホ・タブレット表示時のサブメニュー */
@media only screen and (max-width: 991px) {
  .top-nav li > a {
    position: relative;
  }
  .top-nav .menu-item-has-children > a:before {
    width: 1rem;
    height: 2px;
    content: '';
    background-color: #333;
    position:absolute;
    top: 50%;
    left: 10%;
    transform: translate(-50%,-50%);
    transition: .3s ease-in-out;
  }
  .top-nav .menu-item-has-children > a:after {
    width: 2px;
    height: 1rem;
    content: '';
    background-color: #333;
    position:absolute;
    top: 50%;
    left: 10%;
    transform: translate(-50%,-50%);
    transition: .3s ease-in-out;
  }
  .top-nav .menu-item-has-children > a.open:after {
    transform: translate(-50%,-50%) rotate(90deg);
  }
  .top-nav .sub-menu li a {
    color: #fff;
    background-color: #014099;
    border-bottom: 1px solid #fff;
  }
  .top-nav .sub-menu li a:hover {
    background-color: #fff;
    color: #333;
  }
}

/*------------------------------------------
  フッター
--------------------------------------------*/
.footer {
  background-color: #003060;
}

.footer a{color: #fff; display: block;}

/* スマホ用電話リンク非表示 */
.footer-formbtn .tellink{display: none;}

.yfont{
  color: #FFEF6C;
  font-weight: bold;
  font-size: 2.5rem;
}

@media only screen and ((min-width: 768px) and (max-width: 991px)) {
  .footer {
    font-size: 70%;
  }

  .footer-nav {
    width: 95%;
    margin: auto;
  }
}

@media only screen and (max-width: 767px) {
  .footer a{padding:0 10px;}
  .footer-formbtn .tellink{display: block;}
  .yfont{font-size: 1.9rem;}
}

/***************************
  資料請求・個別相談会ボタン
****************************/
.footer-formbtn{background-color: #fff; margin-bottom: 55px;}

/* .footer-formbtn .col2:nth-of-type(1),
.footer-formbtn .col2:nth-of-type(2){border-left:none; border-right:none;} */

.footer-formbtn div a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100px;
  line-height: 100px;
  color: #fff;
  text-align: center;
}
.footer-formbtn div a:before {
  display: block;
  content: '';
  width: 30px;
  height: 35px;
  background-repeat: no-repeat;
}

.footer-formbtn div:nth-of-type(1) a{background-color: #e6002d;}
.footer-formbtn div:nth-of-type(2) a{background-color: #014099;}
.footer-formbtn div:nth-of-type(3) a{background-color: #00BFFE;}

.footer-formbtn div:nth-of-type(1) a:before {
  background-image: url('../img/common/icon-mail.png');
}
.footer-formbtn div:nth-of-type(2) a:before {
  background-image: url('../img/common/icon-ball.png');
}
.footer-formbtn div:nth-of-type(3) a:before {
  background-image: url('../img/common/icon-tell.png');
}

.footer-formbtn div a span {vertical-align: middle;}
/* .footer-formbtn div a span:nth-of-type(1){margin-right: 16px;}
.footer-formbtn div a span:nth-of-type(2){font-size: 25px; margin-right: 25px;}
.footer-formbtn div a span:nth-of-type(3){font-size: 14px;} */
.footer-formbtn div a span:after{
  content: "\003009"; /* 〉の文字 */
}
@media only screen and (min-width: 992px) {
  .footer-formbtn div a {
    font-size: 25px;
  }
  .footer-formbtn div a:before {
    margin-right: 16px;
    margin-top: 10px;
  }
  .footer-formbtn div a span {
    margin-left: 25px;
    font-size: 14px;
  }
  .footer-formbtn div a span:after {
    margin-left: 28px;
  }
}

@media only screen and ((min-width: 768px) and (max-width: 991px)) {

  .footer-formbtn div a {
    font-size: 170%;
  }
  .footer-formbtn div a:before {
    margin-right: 10px;
    margin-top: 13px;
  }
  .footer-formbtn div a span {
    margin-left: 10px;
    font-size: 75%;
  }
  .footer-formbtn div a span:after {
    margin-left: 10px;
  }
}

@media screen and (max-width: 767px) {

  .footer-formbtn div a {
    height: auto;
    display: block;
    line-height: 1.4;
    padding: 20px 0;
    font-size: 200%;
  }
  .footer-formbtn div a:before {
    position: absolute;
    top: 26px;
    left: 50%;
  }
  .footer-formbtn div:nth-of-type(1) a:before {
    transform: translateX(-100px);
  }
  .footer-formbtn div:nth-of-type(2) a:before {
    transform: translateX(-125px);
  }
  .footer-formbtn div:nth-of-type(3) a:before {
    transform: translateX(-150px);
  }
  .footer-formbtn div a span {
    display: block;
    font-size: initial;
  }
  .footer-formbtn div a span:after {
    margin-left: 15px;
  }

}

/***************************
  ロゴ・住所・TEL
****************************/
.footer-logo {text-align: center; margin-bottom: 65px; color: #fff;}
.footer-logo img{padding: 20px 0;}
.footer-logo p{line-height: 1.6;}

/***************************
  フッターメニュー
****************************/
nav.footer-gnavi{float: none; margin: 0 auto 20px;}
nav.footer-gnavi ul{
  /* display: table; */
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
}
nav.footer-gnavi li{
  /* display: table-cell; */
  vertical-align: top;
  border-left: 1px solid #fff;
  text-align: center;
  margin-bottom: 10px;
}
nav.footer-gnavi li:last-child{border-right: 1px solid #fff;}

nav.footer-gnavi li a{display: block; padding: 0 10px;}

@media only screen and (max-width: 767px) {
  nav.footer-gnavi ul{flex-wrap: wrap;}
  nav.footer-gnavi li{display: block; border:none;width:100%;margin-bottom:0;}
  nav.footer-gnavi li a{display: block; padding: 10px 0; border-bottom: 1px dashed #fff;}
  nav.footer-gnavi li:first-child a{border-top: 1px dashed #fff;}
  nav.footer-gnavi li:last-child{border-right: none;}
}

/***************************
  Copyright
****************************/
.footer-copyright{
  text-align: center;
  color: #fff;
  padding-bottom: 20px;
  font-size: 12px;
}

.gakkengroup{padding-bottom:20px; text-align: center;}
.gakkengroup img{max-width: 160px;}

/*------------------------------------------
  パンくずリスト
--------------------------------------------*/
.breadcrumb_area {
  font-family: "Zen Kaku Gothic New", system-ui;
  padding: 8px;
  display: block;
  background-color: #f4f4f4;
  box-shadow: 0 3px 3px #ccc inset;
  max-width: 100%;
  width: 100%;
}

.breadcrumb {
  width: 85%;
  max-width: 1300px;
  margin: 0 auto;
  position: relative;
  vertical-align: middle;
  font-size: 100%;
}

.breadcrumb br {
  display: none;
}
@media screen and (min-width: 992px) {
  .breadcrumb_area {
    padding-left: 110px;
  }
}
@media screen and (max-width: 767px) {
  .breadcrumb {
    /* display: none; */
    width: 100%;
    flex-wrap: wrap;
    line-height: 1.4;
  }
}

/*------------------------------------------
 ページナビ
--------------------------------------------*/
.pagination,
.wp-prev-next {
  margin: 1.5em 0;
}

.pagination {
  text-align: center;
}

.pagination ul {
  display: inline-block;
  background-color: white;
  white-space: nowrap;
  padding: 0;
  clear: both;
  border-radius: 3px;
}

.pagination li {
  padding: 0;
  margin: 0;
  float: left;
  display: inline;
  overflow: hidden;
  /* border-right: 1px solid #eaedf2; */
}

.pagination a,
.pagination span {
  display: flex !important;
  align-items: center;
  height: 100%;
  margin: 0;
  text-decoration: none;
  line-height: 1em;
  font-size: 1em;
  font-weight: normal;
  min-width: 1em;
  color: #2980b9;
  padding: 10px 15px !important;
}

.pagination a:hover,
.pagination a:focus,
.pagination span:hover,
.pagination span:focus {
  background-color: #2980b9;
  color: white;
}

.pagination .current {
  cursor: default;
  /* color: #5c6b80; */
  color: #fff;
  background-color: var(--dark-color);
}

.pagination .current:hover,
.pagination .current:focus {
  background-color: white;
  color: #5c6b80;
}

/* end .bones_page_navi */
/* fallback previous & next links */
.wp-prev-next .prev-link {
  float: left;
}

.wp-prev-next .next-link {
  float: right;
}

/* 新着一覧のページネーション */
.archive-pagenation {
  padding: 20px 0;
}

.archive-pagenation a,
.archive-pagenation span {
  font-size: 16px;
  margin: 0;
  color: #333;
}

.archive-pagenation .page-numbers {
  width: 30px;
  height: 30px;
  line-height: 30px;
  display: inline-block;
  vertical-align: middle;
  text-align: center;
}

.archive-pagenation .page-numbers.current {
  background: #003060;
  color: #fff;
}

.archive-pagenation .page-numbers.prev,
.archive-pagenation .page-numbers.next {
  width: auto;
}

/*------------------------------------------
 コメント
--------------------------------------------*/
/* h3 comment title */
#comments-title {
  padding: 0.75em;
  margin: 0;
  border-top: 1px solid #f8f9fa;
/* number of comments span */ }

.commentlist {
  margin: 0;
  list-style-type: none; }

.comment {
  position: relative;
  clear: both;
  overflow: hidden;
  padding: 1.5em;
  border-bottom: 1px solid #f8f9fa;
  /* vcard */
  /* end .commentlist .vcard */
  /* end children */
  /* general comment classes */ 
}
.comment .comment-author {
  padding: 7px;
  border: 0; 
}
.comment .vcard {
  margin-left: 50px; 
}
.comment .vcard cite.fn {
  font-weight: 700;
  font-style: normal; 
}
.comment .vcard time {
  display: block;
  font-size: 0.9em;
  font-style: italic; 
}
.comment .vcard time a {
  color: #9fa6b4;
  text-decoration: none; 
}
.comment .vcard time a:hover {
  text-decoration: underline; 
}
.comment .vcard .avatar {
  position: absolute;
  left: 16px;
  border-radius: 50%; 
}
.comment:last-child {
  margin-bottom: 0; 
}
.comment .children {
  margin: 0;
  /* variations */
  /* change number for different depth */ 
}
.comment[class*=depth-] {
  margin-top: 1.1em; 
}
.comment.depth-1 {
  margin-left: 0;
  margin-top: 0; 
}
.comment:not(.depth-1) {
  margin-top: 0;
  margin-left: 7px;
  padding: 7px; 
}
.comment.odd {
  background-color: white; 
}
.comment.even {
  background: #f8f9fa; 
}

/* comment meta */
/* comment content */
.comment_content p {
  margin: 0.7335em 0 1.5em;
  font-size: 1em;
  line-height: 1.5em; 
}

/* end .commentlist .comment_content */
/* comment reply link */
.comment-reply-link {
  font-size: 0.9em;
  float: right; 
}

/* end .commentlist .comment-reply-link */
/* edit comment link */
.comment-edit-link {
  font-style: italic;
  margin: 0 7px;
  text-decoration: none;
  font-size: 0.9em; 
}

/*------------------------------------------
 コメントフォーム
--------------------------------------------*/
h2.form_enter{
  font-size: 20px;
  background-color: #f0f0f0;
  border-bottom: 2px solid #de1109;
  border-left: 8px solid #de1109;
  padding: 10px 0;
  padding-left: 15px;
  margin-bottom: 14px;
  font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}
h2.form_sub{font-size: 20px; color:#de1109;}
.comment-respond {
  padding: 1.5em;
  border-top: 1px solid #f8f9fa; 
}

span.form_va01{
  color:#fff;
  background-color:#de1109;
  font-size: 0.7em;
  font-weight: normal;
  padding: 2px 4px;
  border-radius:3px;
  position: relative;
  top:-2px;
}

#reply-title {
  margin: 0; 
}

.logged-in-as {
  color: #9fa6b4;
  font-style: italic;
  margin: 0; 
}
.logged-in-as a {
  color: #5c6b80; 
}

.comment-form-comment {
  margin: 1.5em 0 0.75em; 
}

.form-allowed-tags {
  padding: 1.5em;
  background-color: #f8f9fa;
  font-size: 0.9em; 
}

/* comment submit button */
#submit {
  float: right;
  font-size: 1em; 
}

/* comment form title */
#comment-form-title {
  margin: 0 0 1.1em; 
}

/* cancel comment reply link */
/* logged in comments */
/* allowed tags */
#allowed_tags {
  margin: 1.5em 10px 0.7335em 0; 
}

/* no comments */
.nocomments {
  margin: 0 20px 1.1em; 
}

/*------------------------------------------
 サイドバー
--------------------------------------------*/
#submenu{
  width: 100%;
  border-top: 3px solid #00439a;
}

#submenu li{border-bottom: 1px solid #d2d2d2;}
#submenu li br{display: none;}
#submenu li.parent_page_item{border-color: #00439a; font-size: 19px; text-align: center;}
#submenu li.current_page_item a{color: #00439a;}

#submenu a{display: block; padding: 20px 0; color: #333; font-size: 16px;}



.widget ul li {}

.no-widgets {}

/*------------------------------------------
 カテゴリー、シングルCSS
--------------------------------------------*/
.single h1.entry-title,
.archive h3.entry-title{font-size: 16px;}

.single #main{padding-top: 30px;}

.single h1.entry-title,
.archive h3.entry-title{
  font-size: 25px;
  padding: 0 0 5px 0;
  border-bottom: 2px solid #dae5f2;
  margin: 0 0 50px 0;
  position: relative;
  line-height: 1.8;
  font-weight: normal;
}

.single h1.entry-title::after,
.archive h3.entry-title::after{
  display: block;
  content: "";
  width: 165px;
  height: 2px;
  background: #00439a;
  position: absolute;
  bottom: -2px;
  left: 0;
}

.single h1.entry-title a,
.single h1.entry-title a:link,
.single h1.entry-title a:hover,
.single h1.entry-title a:visited,
.single h1.entry-title a:active,
.archive h3.entry-title a,
.archive h3.entry-title a:link,
.archive h3.entry-title a:hover,
.archive h3.entry-title a:visited,
.archive h3.entry-title a:active
{color: #333;}

.byline{text-align: right; font-style: normal;}

#tab ul{
  width:600px;
}
#tab li{
  float:left;
}
#tab li a{
  display:block;
  width:198px;
  height:48px;
  line-height:50px;
  text-align:center;
  border:#ccc 1px solid;
}
#tabBox1,#tabBox2,#tabBox3,#tabBox4{
  width:598px;
  height:300px;
  border:#ccc 1px solid;
}
#tabBox1{
  background:#FCF;
}
#tabBox2{
  background:#FFC;
  display:none;
}
#tabBox3{
  background:#ccc;
  display:none;
}
#tabBox4{
  background:#d33;
  display:none;
}

/* 共通テーブルデザイン --------------------------------------------- */
.table-blue04{width: 770px; border-collapse: collapse; margin-bottom: 20px;}
.table-blue04 th,
.table-blue04 td{text-align: center;}
.table-blue04 th{height: 2em; border:2px solid #FFF; background: #3b3b3b; color:#fff;}
.table-blue04 td{padding: 1em; border:2px solid #FFF; background: #eee;}
.table-blue04 .title{background: #5182cd; color: #fff; font-weight: bold;}
.form_btn01 {text-align:center;}
.form_btn01 a{background-color:#e6002d;color:#fff;font-size:1.5em;padding:10px 50px;border-radius:8px;font-weight:bold;margin:0 auto;}

/*** 寮について ***/
.table-blue05{width: 100%; border-collapse: collapse;margin-bottom: 20px;}
.table-blue05 th,
.table-blue05 td{padding: .8em; border:2px solid #FFF; text-align: center;}

.table-blue05 th{background: #3d3d3d; color: #fff;}
.table-blue05 td{background: #eee;}
.table-blue05 tr td:first-child{background: #5182cd; color: #fff; text-align: center; font-weight: bold;}
.table-blue05 tr td:nth-child(2){padding-left: 2em;}

@media only screen and (max-width: 736px) {
  .table-blue05 th{display: none;}

  .table-blue05,
  .table-blue05 tbody,
  .table-blue05 tr,
  .table-blue05 th,
  .table-blue05 td{display: block; width: 100%;}
}

/*------------------------------------------
 NEW TOPICS
--------------------------------------------*/
.arrowlink::before{
  display: inline-block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent transparent transparent #777;
  border-width: 3px 0px 3px 6px;
  vertical-align: middle;
  margin-right: 5px;
  font-size: 12px;
}

.topics_title{font-size: 1.8rem; font-weight: normal; color: #00316c;}
.topics_title > a{font-size: 12px; float: right; color: #777; margin-right: 30px;}

#topics{margin-bottom: 10px; display: none;}
#topics li{display: inline-block; background-color: #ccc; padding: 5px; cursor: pointer;}


.topics_wrap {
  position: relative; 
  display: block; 
  /* min-width: 850px; */
}
.topics_body {
  /* position: absolute;  */
  background-color: #fff; 
  width: 100%; 
  padding-right: 30px;
}
.topics_body li{
  border-bottom: 1px dashed #bbb;
  padding-bottom: 10px;
  margin-bottom: 10px;
  /* font-size: 12px; */
}
.archivelist:first-of-type .topics_body li {
  border-top: 1px dashed #bbb;
  padding-top: 12px;
}

.topics_body li div{display: inline-block; margin-right: 10px; vertical-align: middle;}
.post_cat {
  display: inline-block;
  color: #fff;
  background-color: #014099;
  padding:5px 8px;
  border-radius: 3px;
  font-size: 12px;
  text-align: center;
  width: 11em; /*カテゴリは最大１０文字表示*/
}

/* カテゴリ色 */
.tcate.cate_4_col{background-color: #00439a;}

.tsubj {max-width: 590px; word-break: break-all; line-height: 1.4;}
.tsubj a{color: #333;}

@media only screen and (max-width: 767px) {
  .newtopics{padding:10px;}
  .topics-left{margin-bottom: 20px;}
  .newtopics,
  .topics-left,
  .topics-right{display: block;}

  .topics-right{max-width: 100%; text-align: center;}

  .topics_wrap{min-width: 100%;}
  .topics_body{padding-right: 0;}
  .topics_body li div{
    /* display: block;  */
    margin-bottom: 5px;
  }
  .topics_title{padding: 0 15px;}
  .topics_title.sp-font{font-size: 1.4rem;}

  .topics_body .topics_meta {
    display: block;
  }

}


/*---------------------------------------------------------------------------
  プリントスタイル構成クラス
 --------------------------------------------------------------------------- */

  @media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]:after {
    content: " (" attr(href) ")";
  }

  abbr[title]:after {
    content: " (" attr(title) ")";
  }

  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}

/*---------------------------------------------------------------------------
  コンテンツエリア
  --------------------------------------------------------------------------- */
.content-wrap{
  /* max-width: 1300px; */
  margin: 0 auto;
}

.area-box{
  padding: 80px 0;
  text-align: center;
  background-repeat: no-repeat;
  background-position: bottom;
  margin: 0 auto;
}

/* 各コンテンツの背景色、高さ、画像設定 */
.box-teacher{
  background-color: #e5db85;
  height: 530px;
  background-image: url('../img/common/teacher-backimg.png');
}
.box-movie{
  height: 486px;
  background-color: #6ea9b7;
  background-image: url('../img/common/movie-backimg.jpg');
  background-position: 70% 0;
}

.box-voice {
  background-color: #f3f3f3;
  /* height: 560px; */
  /* background-image: url('../img/common/voice-backimg.jpg'); */
  /* background-position: right bottom; */
}

.box-voice .metaslider > div{margin:0;}

.area-box.box-voice{padding: 0;}

.box-voice ol.flex-control-nav{bottom: 15px;}

.box-system{background-color: #fffbeb; height: 600px;}
.box-course{background-color: #fff;}
.box-merit{background-color: #f5f9fe;}

.area-box h2, .area-box p{margin-bottom: 18px;}

.area-box h2{font-size: 40px; line-height: 1; color: #00316c; font-weight: normal;}
.area-box p{font-size: 16px;}

@media only screen and (max-width: 767px) {

  .content-wrap{
    width: 100%;
  }

  /* 各コンテンツの背景色、高さ、画像設定 */
  .area-box{padding: 40px 10px;}

  .area-box h2{font-size: 22px; font-weight: bold;}
  .area-box p{line-height: 1.4; margin-left: 0;}
}

/*---------------------------------------------------------------------------
  固定ページ共通レイアウト
  --------------------------------------------------------------------------- */
  /* メイン画像 */
  #page-mainimg{text-align: center; margin-bottom: 65px;}
  #page-mainimg > figure{display: inline-block; position: relative;}

  #page-mainimg .page-imgtitle{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 100px;
  /* min-width: 250px; */
  height: 250px;
  margin: auto;
  background: rgba(0, 64, 154, 0.8);
  padding: 0 50px;
  line-height: 250px;
  color: #fff;
  transform: skewX(-20deg);
  }

  #page-mainimg .page-imgtitle::after{clear: both; content: ""; display: block;}

  #page-mainimg .page-imgtitle p{
  position: relative;
  top: 50%;
  left: 0;
  transform: translateY(-50%) skewX(20deg);
  line-height: 1.6;
  float: left;
  text-align: left;
}

/* #main {
  width: 810px;
  float: left;
} */
.sidebar {
  width: 240px;
  float: left;
}

/* レイアウト切り替え用クラス、右に置きたい要素に付ける */
.last-col {
  float: right;
  margin-left: 50px !important;
}

@media only screen and (max-width: 767px) {
  .sidebar {display: none;}

  #main,.sidebar{float: none; width: 100%;}
  #main{padding: 0 10px;}

  .last-col {
    float: none;
    padding-left: 0 !important;
  }

  /* メイン画像 */
  #page-mainimg{margin-bottom: 30px;}
  #page-mainimg > figure{
    display: inline-block;
    position: relative;
    height: 128px;
    width: 100%;
    overflow: hidden;
  }

  #page-mainimg .page-imgtitle{
    font-size: 16px;
    left: 0;
    min-width: 80px;
    height: 80px;
    margin: 0;
    padding: 0 20px;
    top: 50%;
    left: 20px;
    transform: translateY(-50%) skewX(-20deg);
  }

  .page-mainimg{max-width: 600px; position: absolute; z-index: -1;}

  #page-mainimg .page-imgtitle::after{clear: both; content: ""; display: block;}

  #page-mainimg .page-imgtitle span{

  }

}

/* ==========================================================================
   固定ページ用 addquicking 登録CSS
  ========================================================================== */

@media only screen and (max-width: 767px) {
  /* スマホのみのマージン */
  .spm1{margin-bottom: 1em;}
}

/* ２カラム */
.p-col2{width: calc(50% - 20px); float: left;}
.p-col .p-col2:nth-of-type(odd){margin: 0 20px 0 0;}
.p-col .p-col2:nth-of-type(even){margin: 0 0 0 20px;}


/* マージン */
.p-col .p-col2.p-colundermargin:nth-of-type(odd){margin: 0 20px 20px 0;}
.p-col .p-col2.p-colundermargin:nth-of-type(even) {margin: 0 0 20px 20px;}

/* 右に写真がある2カラム、SP時写真が上に */
.p-col .p-col2.rph-first:nth-of-type(odd){margin: 0 0 0 20px; float: right;}
.p-col .p-col2.rph-last:nth-of-type(even){margin: 0 20px 0 0; float: left;}

/* 矢印付きリンクボタン */
.arrowlink-page{
  display: table;
  width: auto;
  border: 1px solid #777;
  padding: 5px 70px;
  color: #777;
  text-align: center;
  position: relative;
  margin: 0 0 16px 0;
}
.arrowlink-page::after{
  content: "\002192"; /* → の文字*/
  margin-left: 20px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
  margin: auto;
}

.arrowlink-page.center{margin: 0 auto;}


/* 見出しタイトル */
.page-contents-title{
  /* font-size: 25px; */
  font-size: 2.1em;
  padding: 0 0 5px 0;
  border-bottom: 2px solid #dae5f2;
  margin: 0 0 50px 0;
  position: relative;
  line-height: 1.8;
  /* font-weight: normal; */
}

.page-contents-title::after{
  display: block;
  content: "";
  width: 165px;
  height: 2px;
  background: #00439a;
  position: absolute;
  bottom: -2px;
  left: 0;
}

/* 見出しタイトル２ */
.page-lv2-title{
  font-size: 25px;
  margin-bottom: 1em;
  line-height: 1.4;
  vertical-align: top;
  position: relative;
  padding: 0 0 16px 35px;
  border-bottom: 1px solid #bfbfbf;
}

.page-lv2-title::before{
  position: absolute;
  top: 8px;
  left: 0;
  display: block;
  content: "";
  width: 12px;
  height: 12px;
  background: #80aee9;
  border: 4px solid #00439a;
  border-radius: 50%;
}

/* 見出しタイトル３ */
.page-lv3-title{
  position: relative;
  font-size: 20px;
  padding: 5px 0 5px 30px;
  background: #00316c;
  margin-bottom: 1em;
  font-weight: normal;
  color: #fff;
}

.page-lv3-title::before{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0px;
  display: block;
  content: "";
  width: 20px;
  height: 5px;
  background: #fff;
}

.page-lv3-title.pl3t-blue{color: #fff; background: #568bdd;}
.page-lv3-title.pl3t-blue::before{background: #fff;}


/* 見出しタイトル４ */
.page-lv4-title{
  text-align: center;
  background-color: #ccc;
  padding: 7px 0;
}

/* キーカラーと太文字 */
.kc-text01{color: #00316c; font-weight: bold;}
.kc-text01n{color: #00316c; font-weight: normal;}


/*@media only screen and (max-width: 736px) {*/
@media only screen and (max-width: 767px) {

  .p-col2{width: 100%; margin-bottom: 16px;}

  .p-col2 figure{width: 100%; display: block; text-align: center;}

  .p-col .p-col2:nth-of-type(odd),
  .p-col .p-col2:nth-of-type(even)
  {margin: 0; float: none;}

  /* マージン */
  .p-col .p-col2.p-colundermargin:nth-of-type(odd),
  .p-col .p-col2.p-colundermargin:nth-of-type(even){margin: 0 0 20px;}

  .arrowlink-page{
    width: 100%;
    padding: 16px;
  }

  .p-col .p-col2.rph-first:nth-of-type(odd),
  .p-col .p-col2.rph-last:nth-of-type(even)
  {margin: 0; float: none;}

  .page-contents-title{
    margin: 0 0 20px 0;
    font-size: 20px;
  }

  /* 見出しタイトル２ */
  .page-lv2-title{
    font-size: 20px;
  }


  /* 見出しタイトル３ */
  .page-lv3-title{
    font-size: 16px;
  }
}

/* ==========================================================================
   グローバルナビページCSS
  ========================================================================== */
/* helper class --------------------------------------------- */
.block-link a{display: block;}

a.link-color,
a:link.link-color01,
a:hover.link-color01,
a:visited.link-color01,
a:active.link-color01{color: #333;}

.mov-tumb a{position: relative; display: block;}
.mov-tumb a::before{
  content: url('../img/common/icon-play.png');
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 93px;
  height: 93px;
  z-index: 9999;
}

.hr-m20{margin:40px 0;}

/* ==========================================================================
  ページ個別スタイル
========================================================================== */
/* vvv page-addstyle.cssより START vvv------------------------- */
section:has(>article#page01) {
    /* padding: 1.5em 1.5em 0; */
    padding: 0;
}

/* 中ページ用共通マージン */
.mt1{padding-top: 1em;}
.mt2{padding-top: 2em;}
.mt3{padding-top: 3em;}

.p-col1.right{ text-align:right }

/* MEDiC - 合格体験記専用 */
.type-pass span.medic-color {
  font-weight: 500;
  /* boldにするとedgeで大きくなりすぎてずれる */
}
.type-pass span.medic-color:nth-letter(4) {color: yellow;}


/* MEDiC - スタッフブログ */
#staffblog-content>p {padding: 1em;}

#staffblog .blog-category {
  margin-top: 6px;
}
#staffblog .blog-category a {
  color: var(--text-color) !important;
}

/* MEDIC - 合格発表ページ用 */
#page01 .page-lv2-title-mini {
  font-size: 20px;
  margin-bottom: 1em;
  line-height: 1.4;
  vertical-align: top;
  position: relative;
  padding-left: 30px;
}
#page01 .page-lv2-title-mini::before {
  position: absolute;
  top: 3px;
  left: 0;
  display: block;
  content: "";
  width: 14px;
  height: 14px;
  background: #80aee9;
  border: 4px solid #00439a;
  border-radius: 50%;
}
#page01 ul.success_list{width: 100%;}
#page01 ul.success_list li:nth-of-type(odd){background: #f5f5f5;}
#page01 ul.success_list li:nth-of-type(even){background: #FFF;}
#page01 ul.success_list li{
  padding: 18px 10px;
  vertical-align: middle;
  font-size: 18px;
  position: relative;
  line-height: 0.5;
}
#page01 ul.success_list li span{font-size: 12px;}
#page01 ul.success_list li:first-child,
#page01 ul.success_list li:last-child{border-style: 0px solid; border-color: #d2d2d2;}
#page01 ul.success_list .num{
  font-size: 24px;
  color: #236ac9;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}
#page01 ul.success_list .num i{font-size: 15px; color: #333; font-style: normal;}
#page01 ul.success_list span> .nobe{font-size: 20px; color: #000; font-style: normal; }



#page01 div.h300>div.p-col2 {
  min-height: 300px;
}

#page01 hr.udm-2em{margin:2em 0;}

#page01 div.h320>div.p-col2 {
  min-height: 320px;
}

#page01 div.h380>div.p-col2 {
  min-height: 380px;
}

#page01 hr {
  width: 100%;
  display: block;
}

#page01 div.p-col2.right {
    margin: 0 0 0 20px;
}

#page01 .teacher-namebox {
    background: #d8e8fe;
    padding: 10px;
    display: block;
    width: 100%;
    min-height: 295px;
    margin-bottom: 10px;
    position: relative;
}
#page01 .teacher-namebox li:first-child {
    width: 100%;
    color: #000;
    font-size: 1.6em;
    display: block;
    text-align: center;
    padding-top: 20px;
}
#page01 .teacher-namebox li {
    width: 100%;
    color: #000;
    font-size: 1.2em;
    text-align: center;
    display: block;
}
#page01 .teacher-namebox li:last-child {
    display: block;
    font-size: 1em;
    text-align: left;
    padding: 20px;
}

#page01 .blue-box {
    display: block;
    max-width: 100%;
    min-height: 92px;
    padding: 0.6em;
    color: #FFF;
    text-align: center;
    position: relative;
    margin-bottom: 1em;
    border-radius: 5px;
    font-size: 1.5em;
    font-weight: normal;
    background: #003b8f;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
    align-items: center; /* 縦方向中央揃え */
    -webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
    justify-content: center; /* 横方向中央揃え */
}

/*** 寮について ***/
#page01 .incol-title-blue {
  font-weight: bold;
  color: #002b61;
}
  /* 丸付き見出しタイトル4 */
#page01 .lv4-title-circle{
    font-size: 20px;
    margin-bottom: 1em;
    vertical-align: top;
    position: relative;
    padding: 0 0 10px 25px;
  }

#page01 .lv4-title-circle::before{
    position: absolute;
    top: 6px;
    left: 0;
    display: block;
    content: "";
    width: 10px;
    height: 10px;
    background: #80aee9;
    border: 4px solid #00439a;
    border-radius: 50%;
  }


/* 講師ページ --------------------------------------------- */
#page02 .teacher-title{margin-bottom: 45px; display: table; table-layout: fixed;}

#page02 .teacher-title i,
#page02 .teacher-title span{display: table-cell; vertical-align: middle;}

#page02 .teacher-title i{
  background: #00439a;
  width: 80px;
  height: 80px;
  font-size: 15px;
  line-height: 1;
  font-style: normal;
  border-radius: 3px;
  text-align: center;
  color: #fff;
}

#page02 .teacher-title span{ font-size: 25px; padding-left: 0.5em;}

#page02 .lecturer-message{
  background: #ddebfd;
  padding: 35px 45px;
  display: table;
  margin: 0 0 125px 0; 
}

#page02 .lecturer-message > div{display: table-cell; vertical-align: middle;}
#page02 .lecturer-message > div:first-child{width: 220px;}
#page02 .lecturer-message > div:last-child{padding: 0 0 0 50px;}

#page02 .teacher-footer-link ul{display: table; width: 100%; table-layout: fixed;}
#page02 .teacher-footer-link ul li{
  display: table-cell;
  vertical-align: middle;
  padding: 10px;
  line-height: 1;
  text-align: center;
}

#page02 .teacher-footer-link > .p-col2 > a{display: block; margin-bottom: 10px; color: #333;}

#page02 .teacher-footer-link ul li:nth-of-type(1){width: 74px; padding: 0;}
#page02 .teacher-footer-link ul li:nth-of-type(2){background: #012a5e; color: #fff;}
#page02 .teacher-footer-link ul li:nth-of-type(3){background: #eeeeee; position: relative;}
#page02 .teacher-footer-link ul li:nth-of-type(3)::after{
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%) scaleY(2.5);
  font-size: 12px;
  content: "\00ff1e";
  display: block;
}

#page02 .indent1{text-indent: 1em;}
#page02 a.arrowlink-center{display: inline-block;}


/*-------------------------------------------------------
  TABLE
*/

/*** 寮について ***/
#page01 .table-blue01{width: 100%; border-collapse: collapse;}
#page01  .table-blue01 td{padding: .8em; border:2px solid #FFF; background: #eee;}
#page01  .table-blue01 tr td:first-child{background: #5182cd; color: #fff; text-align: center; font-weight: bold;}
#page01  .table-blue01 tr td:nth-child(2){padding-left: 2em;}
/*** 学費について ***/
#page01 .table-blue02{width: 100%; border-collapse: collapse;}
#page01  .table-blue02 th{height: 2em; border:2px solid #FFF; background: #3b3b3b; color:#fff;}
#page01  .table-blue02 td{height: 4em; border:2px solid #FFF; background: #eee;}
#page01  .table-blue02 tr td:first-child{background: #5182cd; color: #fff; text-align: center; font-weight: bold;}
#page01  .table-blue02 tr td:nth-child(2){padding-left: 2em;}
/*** 入学案内 ***/
#page01 .table-blue03{width: 100%; border-collapse: collapse;}
#page01  .table-blue03 th{height: 2em; border:2px solid #FFF; background: #3b3b3b; color:#fff;}
#page01  .table-blue03 td{padding: 1em; border:2px solid #FFF; background: #eee;}
#page01  .table-blue03 tr td:first-child{background: #5182cd; color: #fff; text-align: center; font-weight: bold;}
#page01  .table-blue03 tr td:nth-child(2){text-align: center;}
/*** 採用情報 ***/
#page01 .table-line01{width: 100%; border-collapse: collapse;}
#page01  .table-line01 td{padding: 0.3em; border-bottom:1px solid #888; background: #fff;}
#page01  .table-line01 tr td:first-child{color: #002b61; text-align: left; font-weight: bold;}
#page01  .table-line01 tr:last-child td{border-bottom: 0px;}

/*** プライバシーポリシー ***/
#page01 ul.policy-disc {padding-left: 2em;}
#page01 ul.policy-disc>li {
	list-style-type: disc;
}

/*** FAQ ***/
#page01 .qa-ankerlink{margin-bottom: 16px;}
#page01 .qa-ankerlink li{display: inline-block; padding-right: 20px;}
#page01 .qa-ankerlink li::before{
  content: "\0025bc"; /*"▼"の文字*/
  color: #002b61;
  margin-right: 5px;
}
#page01 .qa-ankerlink li a{text-decoration: underline;}
#page01 ul.faq-circle {padding-left: 2em;}
#page01 ul.faq-circle>li {
	list-style-type: circle;
}
#page01 .faq-title {
  width: 100%;
  display: block;
  position: relative;
  background: #cedaea;
  font-size: 1.5em;
  font-weight: normal;
  min-height: 42px;
  padding: 0.5em 0 0.5em 3em;
  cursor: pointer;
}
#page01 .faq-title::before {
  position: absolute;
  background: #002b61;
  border-radius: 50%;
  height: 42px;
  width: 42px;
  left: 10px;
  top: 51%;
  transform: translateY(-50%);
  display: block;
  line-height: 42px;
  text-align: center;
  font-size: 18px;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
  color: #fff;
  content: "Q";
}
#page01 .faq-title::after {
    content: url('../img/common/arrow.png');
    position: absolute;
    top: 52%;
    right: 10px;
    transform: translateY(-50%);
    line-height: 1;
}

@media only screen and (max-width: 767px) {
  #page01 .faq-title{padding: 0.5em 35px 0.5em 45px; font-size: 14px;}

  #page01 .faq-title::before {
  height: 30px;
  width: 30px;
  left: 8px;
  line-height: 30px;
  font-size: 14px;
}

#page01 .faq-title::after {
  transform: translateY(-50%) scale(0.7);
  right: 5px;
}

}

/*** 高等進学塾グループの紹介 ***/
#page01 .about-box,
#page01 .about-method{padding: 100px 10px; text-align: center;}
#page01 .about-box p,
#page01 .about-method p{text-align: left; line-height: 2; margin: 0 auto 2em; max-width: 510px;}
#page01 .about-box h3{font-size: 40px;}
#page01 .about-box{background: #f4f3f3;}

/*** 採用情報 ***/
#page01 ol.cnum	{position: relative; margin:0; padding:0}
#page01 ol.cnum li  {
  list-style: none;
  list-style-position:outside;
  margin:0;
  padding-left:1.25em
}
#page01 ol.cnum li span {
  position: absolute;
  left:0;
  margin:0
}

/*** Medicでは未使用 ***/
#page01 table.simple-table {
    width: 100%;
    border-left: 1px solid #999;
    border-top: 1px solid #999;
    margin-top: 20px;
}
#page01 table.simple-table th, table.simple-table td {
    border-right: 1px solid #999;
    border-bottom: 1px solid #999;
    padding: 10px;
    padding-bottom: 8px;
    text-align: left;
}
#page01 table.simple-table td:nth-of-type(1), table.simple-table td:nth-of-type(3) {
    background-color: #ecebeb;
    font-weight: bold;
    width: 25%;
}

/*-------------------------------------------------------
  青白バー
*/
#page01 .flow-row {
    width: 100%;
    margin-bottom: 12px;
    display: table;
    table-layout: fixed;
}
#page01 .flow-row i {
    background: #00439a;
    width: 40px;
    height: 40px;
    font-size: 1.4em;
    line-height: 1;
    font-style: normal;
    border-radius: 3px;
    text-align: center;
    color: #fff;
}
#page01 .flow-row i, #post-223 .flow-row span {
    display: table-cell;
    vertical-align: middle;
}
#page01 .flow-row span {
    display: table-cell;
    position: relative;
    vertical-align: middle;
    height: 40px;
    width: calc(100% - 50px);
    font-size: 1.3em;
    padding: 5px 5px 5px 15px;
    border-bottom: #333 1px solid;
    border-right: #333 1px solid;
    border-top: #333 1px solid;
}


#page01 a.underline {
  text-decoration: underline;
}
#page01 .f11 {
  font-size: 1.1em;
}
#page01 .f12 {
  font-size: 1.2em;
}
#page01 .f15 {
  font-size: 1.5em;
}
#page01 .f20 {
  font-size: 2em;
}
#page01 .p08 {
  padding: 0.8em !important;
}
#page01 .p10 {
  padding: 1em !important;
}
#page01 .p12 {
  padding: 1.2em !important;
}
#page01 .p15 {
  padding: 1.5em !important;
}
#page01 .p20 {
  padding: 2em !important;
}

#page01 .green {
  color: #30c17e;
  font-weight: bold;
}
#page01 .blue {
  color: #002b61;
  font-weight: bold;
}
#page01 .red {
  color: #e20013;
  font-weight: bold;
}
#page01 .bold {
  font-weight: bold;
}
#page01 .bg-gray {
  background: #eee;
  padding: 1.5em;
}
#page01 .bg-lightgreen {
  background: #d3f0e2;
  padding: 1.5em;
}
#page .center {
  text-align: center;
}

@media only screen and (max-width: 767px) {
  #page01 .p-col-l {
      width: 100%;
      float: none;
      margin-right: 0;
  }
  #page01 .p-col-r {
      width: 100%;
      float: none;
      margin-right: 0;
  }
  
  /* 消える改行 */
  .br-sp { display:none; }
  
  /* スマホで消える汎用 */
  /*.space-sp { display:none; }*/

/*** 寮についてTABLE ***/
  #page01 .table-blue01,
  #page01 .table-blue01 tbody,
  #page01 .table-blue01 tr,
  #page01 .table-blue01 td{
    display: block; width: 100%;
  }

  #page01 .table-blue01 tr td:nth-child(2){padding-left: 1em;}
  
  /*** 学費についてTABLE ***/
  #page01 .table-blue02 {
    border: 0;
  }
  #page01 .table-blue02 thead {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  #page01 .table-blue02 th {
    background: #30c17e;
    color: #fff;
    text-align: center;
    font-weight: bold;  
  }
  #page01 .table-blue02 tr {
    border-bottom: 3px solid #ddd;
    display: block;
    margin-bottom: .625em;
  }
  #page01 .table-blue02 td {
    border-bottom: 1px solid #ddd;
    display: block;
    font-size: 1em;
    text-align: left;
    padding: 0.8em;
    border: 2px solid #FFF;
    /* background: #eee; */
    height: auto;
    background:linear-gradient(-45deg, #eee 65%,#30c17e 65%,#30c17e)
  }
  #page01 .table-blue02 td:before {
    /* content: attr(data-label); */
    float: left;
    font-weight: bold;
    color: #ffffff;
  }
  #page01 .table-blue02 td:last-child {
    border-bottom: 0;
  }
  #page01 .table-blue02 tr td:first-child {
    text-align: left;
  }
  #page01  .table-blue02 tr td:nth-child(2){
    padding-left :0.8em;
  }
  /*
  #page01  .table-blue02 tr td:nth-child(2):before {
	content: "\A" ;
	white-space: pre ;
  }
  */

  #page01 .table-blue02 td:last-child{font-size: 14px;}
  #page01 .table-blue02 td:last-child:before {
    content: attr(data-label);
    float: none;
    display: block;
    color: #333;
  }
  
}
/* ^^^ page-addstyle.cssより E N D ^^^------------------------- */


/* vvv page.cssより START vvv---------------------------------- */

/* MEDiCの強み --------------------------------------------- */
#post-2 .about-box,
#post-2 .about-method{padding: 100px 10px; text-align: center;}

#post-2 .about-box p,
#post-2 .about-method p{text-align: left; line-height: 2; margin: 0 auto 2em; max-width: 510px;}

#post-2 .about-box h3{font-size: 40px;}
#post-2 .about-box{background: #f4f3f3;}

#post-2 .about-method h3{font-size: 20px;}
#post-2 .about-method h3 span{font-size: 28px; padding-top: 30px; display: block;}
#post-2 .about-method{text-align: center;}



#post-2 .about-method_text .p-col2{display: table; border-collapse: separate; border-spacing: 0 10px;}
#post-2 .about-method_text .p-col2 figure,
#post-2 .about-method_text .p-col2 p{display: table-cell; vertical-align: middle;}
#post-2 .about-method_text .p-col2 figure{width: 80px;}
#post-2 .about-method_text .p-col2 p{font-size: 20px; color: #042c5d; padding: 0 0 0 20px;}

#post-2 .about-gettext{font-size: 20px; text-align: center;}
#post-2 .about-gettext::after{
  display: block;
  content: '\0025bc\003000\0025bc\003000\0025bc'; /* "▼　▼　▼"の文字 */
  padding-top: 30px;
}

@media only screen and (max-width: 767px) {

  /* メイン画像位置調整 */
  .page-id-2 .page-mainimg{left: -180px;}

  #post-2 .about-box,
  #post-2 .about-method{padding: 50px 10px;}
  #post-2 .about-box h3{font-size: 20px;}
  #post-2 .about-method h3{font-size: 14px;}
  #post-2 .about-method h3 span{font-size: 21px; padding-top: 15px;}

  #post-2 .about-method_text .p-col2,
  #post-2 .about-method_text .p-col2 figure,
  #post-2 .about-method_text .p-col2 p{display: block; text-align: center; width: 100%;}

  #post-2 .about-method_text .p-col2{margin-bottom: 16px;}
}

#post-2 .about-point-box .p-col2{margin-bottom: 16px; margin-bottom: 80px;}
#post-2 .about-point-box .p-col2 figure{margin-bottom: 16px;}
#post-2 .about-point-box .p-col2 div.t_center a{ margin: 0 auto;}
#post-2 .about-point-box .p-col2 p{ margin-bottom: 15px;}

/* 講義による学習支援 */

.strong-box .t_right a{display: inline-block;}

@media only screen and (max-width: 767px) {
  .strong-box .p-col2:first-child{margin-bottom: 20px;}

  #post-2 .about-point-box .p-col2{margin-bottom: 16px; margin-bottom: 40px;}
}

/* 講師紹介 --------------------------------------------- */

#post-7 .teacher-anker {margin-bottom: 30px;}
#post-7 .teacher-anker li{display: inline-block; margin-right: 1em;}
#post-7 .teacher-anker li::before{content: "\0025bc"; margin-right: 5px; color: #00316c;}


#post-7 .teacher-namebox{
  background: #eeeeee;
  padding: 10px;
  display: table;
  width: 100%;
  margin-bottom: 40px;
  position: relative;
}

#post-7 .teacher-namebox::after
{
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%) scaleY(2.5);
  font-size: 12px;
  content: "\00ff1e";
  display: block;
}


#post-7 .teacher-namebox li{
  display: table-cell;
  vertical-align: middle;
  font-size: 25px;
}

#post-7 .teacher-namebox li:first-child{
  background: #042c5d;
  width: 80px;
  height: 80px;
  color: #fff;
  text-align: center;
}

#post-7 .teacher-namebox li:last-child{
  padding: 0 16px;
  color: #042c5d;
}
#post-7 .teacher-namebox li:last-child span{
  font-size: 12px;
  color: #959595;
  display: block;
}

#post-7 .p-col .p-col2.m1{padding: 0 0 1em 0;}

@media only screen and (max-width: 767px) {

  /* メイン画像位置調整 */
  .page-id-7 .page-mainimg{left: -80px;}

  .strong-box .p-col2:first-child{margin-bottom: 20px;}

  #post-7 .teacher-infobox .p-col2{width: 50%; float: left;}
  #post-7 .teacher-namebox{margin-bottom: 20px; padding: 0;}
  #post-7 .teacher-namebox li{font-size: 10px;}
  #post-7 .teacher-namebox li:first-child{font-size: 10px; width: 50px; height: 50px;}
  #post-7 .teacher-namebox li:last-child{padding: 0 10px;}
  #post-7 .block-link a{padding:0 5px;}
  #post-7 .teacher-namebox li:last-child span{font-size: 10px;}
  #post-7 .teacher-namebox::after{display: none;}
}


/* 講師紹介(2022) テスト用--------------------------------------------- */

#post-9230 .teacher-anker {margin-bottom: 30px;}
#post-9230 .teacher-anker li{display: inline-block; margin-right: 1em;}
#post-9230 .teacher-anker li::before{content: "\0025bc"; margin-right: 5px; color: #00316c;}


#post-9230 .teacher-namebox{
  background: #eeeeee;
  padding: 10px;
  display: table;
  width: 100%;
  margin-bottom: 40px;
  position: relative;
}

#post-9230 .teacher-namebox::after
{
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%) scaleY(2.5);
  font-size: 12px;
  content: "\00ff1e";
  display: block;
}


#post-9230 .teacher-namebox li{
  display: table-cell;
  vertical-align: middle;
  font-size: 25px;
}

#post-9230 .teacher-namebox li:first-child{
  background: #042c5d;
  width: 80px;
  height: 80px;
  color: #fff;
  text-align: center;
}

#post-9230 .teacher-namebox li:last-child{
  padding: 0 16px;
  color: #042c5d;
}
#post-9230 .teacher-namebox li:last-child span{
  font-size: 12px;
  color: #959595;
  display: block;
}

#post-9230 .p-col .p-col2.m1{padding: 0 0 1em 0;}

  @media only screen and (max-width: 767px) {

  /* メイン画像位置調整 */
  .page-id-7 .page-mainimg{left: -80px;}

  .strong-box .p-col2:first-child{margin-bottom: 20px;}

  #post-9230 .teacher-infobox .p-col2{width: 50%; float: left;}
  #post-9230 .teacher-namebox{margin-bottom: 20px; padding: 0;}
  #post-9230 .teacher-namebox li{font-size: 10px;}
  #post-9230 .teacher-namebox li:first-child{font-size: 10px; width: 50px; height: 50px;}
  #post-9230 .teacher-namebox li:last-child{padding: 0 10px;}
  #post-9230 .block-link a{padding:0 5px;}
  #post-9230 .teacher-namebox li:last-child span{font-size: 10px;}
  #post-9230 .teacher-namebox::after{display: none;}
}

/* 講師ページ --------------------------------------------- */
#post-223 .teacher-title{margin-bottom: 45px; display: table; table-layout: fixed;}

#post-223 .teacher-title i,
#post-223 .teacher-title span{display: table-cell; vertical-align: middle;}

#post-223 .teacher-title i{
  background: #00439a;
  width: 60px;
  height: 60px;
  font-size: 15px;
  line-height: 1;
  font-style: normal;
  border-radius: 3px;
  text-align: center;
  color: #fff;
}

#post-223 .teacher-title span{ font-size: 25px;}

#post-223 .lecturer-message{
  background: #ddebfd;
  padding: 35px 45px;
  display: table;
  margin: 0 0 125px 0; 
}

#post-223 .lecturer-message > div{display: table-cell; vertical-align: middle;}
#post-223 .lecturer-message > div:first-child{width: 220px;}
#post-223 .lecturer-message > div:last-child{padding: 0 0 0 50px;}

#post-223 .teacher-footer-link ul{display: table; width: 100%; table-layout: fixed;}
#post-223 .teacher-footer-link ul li{
  display: table-cell;
  vertical-align: middle;
  padding: 10px;
  line-height: 1;
  text-align: center;
}

#post-223 .teacher-footer-link > .p-col2 > a{display: block; margin-bottom: 10px; color: #333;}

#post-223 .teacher-footer-link ul li:nth-of-type(1){width: 74px; padding: 0;}
#post-223 .teacher-footer-link ul li:nth-of-type(2){background: #012a5e; color: #fff;}
#post-223 .teacher-footer-link ul li:nth-of-type(3){background: #eeeeee; position: relative;}
#post-223 .teacher-footer-link ul li:nth-of-type(3)::after{
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%) scaleY(2.5);
  font-size: 12px;
  content: "\00ff1e";
  display: block;
}


@media only screen and (max-width: 767px) {

  #post-223 .p-col .p-col2{margin: 0 0 16px 0;}

  #post-223 .lecturer-message,
  #post-223 .lecturer-message > div,
  #post-223 .lecturer-message > div:first-child,
  #post-223 .lecturer-message > div:last-child
  {display: block; width: 100%; padding: 10px;}

  #post-223 .lecturer-message{ margin: 0 0 30px 0; }

}

/* コースのご案内 --------------------------------------------- */
#post-23 .course-box h4{
  display: block;
  padding-left: 20px;
  font-size: 25px;
  color: #fff;
  height: 84px;
  line-height: 90px;
  background: #568bdd;
  border-left: 35px solid #1d4cc0;
  font-weight: normal;
}

#post-23 .course-box h4.ct02{
  background: #3aaade;
  border-left: 35px solid #0d71c1;
}

#post-23 .course-box h4.ct03{
  background: #27c0dc;
  border-left: 35px solid #0691be;
}

#post-23 .course-box{position: relative;}
#post-23 .course-box .arrowlink-page{display: block; position: absolute; bottom: 0; left: 100px;  margin: 0 auto;}

@media only screen and (max-width: 767px) {

  /* メイン画像位置調整 */
  .page-id-23 .page-mainimg{left: -60px;}

  #post-23 .course-box{margin-bottom: 30px;}

  #post-23 .course-box h4{height: auto; line-height: 1.4; font-size: 18px; padding: 5px; }
  #post-23 .course-box h4,
  #post-23 .course-box h4.ct02,
  #post-23 .course-box h4.ct03{
    border-width: 20px;
  }

  #post-23 .course-box .p-col p{margin-bottom: 16px;}

  #post-23 .course-box .arrowlink-page{display: block; position: static; margin-bottom: 16px;}

}

/* 国公立医学部 精鋭コース （略称：Eコース） */
.page-id-656 #page-mainimg .page-imgtitle{background: rgba(86, 139, 221, 0.8);}
.page-id-656 .page-contents-title::after,
.page-id-656 .page-lv3-title
{background: #568bdd;}

.course-list{background: #daebff; padding:16px;}
.course-list li::before{
  content: "\0025cb"; /* "○"の文字 */
  color: #333;
  margin-right: 5px;
}

/* 国公立私立医学部 選抜コース （Ｘクラス・一般クラス） */

.page-id-665 #page-mainimg .page-imgtitle{background: rgba(58, 170, 222, 0.8);}
.page-id-665 .page-contents-title::after,
.page-id-665 .page-lv3-title
{background: #3aaade;}

.page-id-665 #page-mainimg .small{font-size: 17px;}

.course02-list{margin-bottom: 30px;}
.course02-list li:first-child{
  color: #00316c;
  font-weight: bold;
  text-decoration: underline
}

/* 国公立医学部 精鋭コース （略称：Eコース） */
.page-id-673 #page-mainimg .page-imgtitle{background: rgba(39, 192, 220, 0.8);}
.page-id-673 .page-contents-title::after,
.page-id-673 .page-lv3-title
{background: #27c0dc;}


@media only screen and (max-width: 767px) {
  /* 国公立医学部 精鋭コース （略称：Eコース） */

  /* メイン画像位置調整 */
  .page-id-656 .page-mainimg{left: -50px;}

  /* 国公立私立医学部 選抜コース （Ｘクラス・一般クラス） */
  /* メイン画像位置調整 */
  .page-id-665 .page-mainimg{left: -50px;}

  /* 国公立医学部 精鋭コース （略称：Eコース） */
  /* メイン画像位置調整 */
  .page-id-673 .page-mainimg{left: -150px;}

}


/* 入塾について --------------------------------------------- */
@media only screen and (max-width: 767px) {

  /* メイン画像位置調整 */
  .page-id-779 .page-mainimg{left: -180px;}
  #post-779 .block-link .p-col2{width: calc(50% - 5px); float: left;}
  #post-779 .block-link .p-col2:first-child{margin-right: 5px;}
  #post-779 .block-link .p-col2:last-child{margin-left: 5px;}
  #post-779 .block-link.m2{margin-bottom: 0px;}
  #post-779 .page-lv3-title{font-size: 12px; padding: 5px 0 5px 15px;}
  #post-779 .page-lv3-title::before{width: 10px;}

}


/* 合格実績 --------------------------------------------- */
#post-25 .page-contents-title span{font-size: 18px;}
#post-25 p.m40{margin-bottom: 20px; font-size: 16px;}

#post-25 .success_table{width: 100%;}
#post-25 .success_table tr:nth-of-type(odd){background: #f5f5f5;}
#post-25 .success_table tr:nth-of-type(even){background: #FFF;}
#post-25 .success_table tr td{
  padding: 30px 15px;
  vertical-align: middle;
  font-size: 23px;
  position: relative;
  line-height: 1;
}
#post-25 .success_table tr td span{font-size: 17px;}
#post-25 .success_table tr td:first-child,
#post-25 .success_table tr td:last-child{border-style: solid; border-color: #d2d2d2;}
#post-25 .success_table tr td:first-child{border-width: 0 1px 1px 0;}
#post-25 .success_table tr td:last-child{border-width: 0 0 1px 0;}

#post-25 .success_table .num{
  font-size: 35px;
  color: #236ac9;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}
#post-25 .success_table .num i{font-size: 15px; color: #333; font-style: normal;}


#post-25 .success_table tr:last-child{background: #236ac9;}
#post-25 .success_table tr:last-child *{color: #fff;}


@media only screen and (max-width: 767px) {

  #post-25 .success_table tr td{text-align: center; padding: 15px;}
  #post-25 .success_table tr td span{display: block;padding-top: 8px; }

  #post-25 .success_table .num{
    position: static;
    width: 100%;
    display: block;
    text-align: center;
    transform: translateY(0);
    padding-top: 8px; 
  }

}


/* 合格体験記_一覧 --------------------------------------------- */
#post-27 .voice-link .p-col2{margin-bottom: 50px;}

#post-27 .voice-table{width: 100%;}
#post-27 .voice-table tr{border-bottom: 1px solid #bfbfbf;}
#post-27 .voice-table td{vertical-align: middle;}
#post-27 .voice-table thead td{font-size: 13px;}
#post-27 .voice-table thead td:nth-of-type(1){max-width: 366px;}
#post-27 .voice-table thead td:nth-of-type(2){max-width: 180px;}
#post-27 .voice-table tbody td{padding: 10px; font-size: 20px;}
#post-27 .voice-table tbody td span{
  display: inline-block;
  width: 40px;
  height: 40px;
  color: #fff;
  text-align: center;
  border-radius: 50%;
  font-size: 13px;
  line-height: 40px;
  margin-right: 15px;
}

#post-27 .voice-table .color01{background: #f42c2c;}
#post-27 .voice-table .color02{background: #556fb5;}
#post-27 .voice-table .color03{background: #22ac38;}

@media only screen and (max-width: 767px) {

  #post-27 .voice-table,
  #post-27 .voice-table tr,
  #post-27 .voice-table td,
  #post-27 .voice-table tbody,
  #post-27 .voice-table thead td:nth-of-type(1),
  #post-27 .voice-table thead td:nth-of-type(2)
  {display: block; max-width: 100%;}

  #post-27 .voice-table thead{display: none;}
  #post-27 .voice-table tr{border-bottom: none; padding: 0 0 16px 0;}
  #post-27 .voice-table tbody td{padding: 0;}

  #post-27 .voice-table tbody td:nth-of-type(3)::before{
    display: inline-block;
    content: "出身校";
    font-size: 13px;
    margin-right: 10px;
  }

  #post-27 .voice-table td{text-align: center; padding: 0;}
  #post-27 .voice-table tbody td span{
    display: block;
    width: 100%;
    height: auto;
    border-radius: 25px;
    line-height: 1;
    margin-right: 0;
    padding: 10px 0;
    margin-bottom: 10px;
  }

}


/* ケーススタディ --------------------------------------------- */

.casestudy-title{margin-bottom: 16px;}

.casestudy-title a{display: table; width: 100%;}
.casestudy-title span{display: table-cell; vertical-align: top; color: #fff;}
.casestudy-title span.mincyo{
	width: 72px;
	height: 74px;
	background: #3174c6; 
	text-align: center; 
	line-height: 74px; 
	font-size: 50px;
	font-style: italic;
	text-indent: -8px;
}
.casestudy-title span:last-child {width: calc(100% - 72px);}
.casestudy-title span:last-child em,
.casestudy-title span:last-child i{display: block; padding-left: 10px; font-style: normal;}
.casestudy-title span:last-child em{background: #042c5d; height: 40px; line-height: 40px;}
.casestudy-title span:last-child i{
  background: #6995cb;
  height: 34px;
  line-height: 34px;
  overflow: hidden;
}


/* 合格実績 --------------------------------------------- */

/* singleページ用 */
.voice-title{
  position: relative;
  margin-bottom: 40px;
}
.voice-title em{
  background: #d3deed;
  line-height: 60px;
  font-size: 25px;
  font-style: normal;
  height: 60px;
  display: inline-block;
  width: 100%;
  padding-left: 80px;
  border-radius: 40px 0 0 40px;
}
.voice-title span{
  position: absolute;
  display: inline-block;
  background: #00439a;
  width: 60px;
  height: 60px;
  border-radius: 40px;
  font-size: 10px;
  text-align: center;
  color: #fff;
  line-height: 1;
  vertical-align: middle;
}

.voice-title em::after{
  display: block;
  content: "";
  border-style: solid;
  border-color: #d3deed transparent transparent transparent;
  border-width: 16px;
  width: 0;
  height: 0;
  position: absolute;
  left: 50%;
}

.voice-title span i{display: block; font-style: normal;}
.voice-title span i:first-child{font-size: 10px; padding-top: 16px; margin-bottom: 3px;}
.voice-title span i:last-child{font-size: 15px;}

.voice-casebox p{ margin-bottom: 2em; }



@media only screen and (max-width: 767px) {

  .voice-title em{font-size: 14px;}


}

/* 合格体験記 --------------------------------------------- */

.pass-title a{ display: block; color: #fff;}
.pass-title a span,
.pass-title a i{ border-left: 17px solid #3174c6; padding: 8px 0 8px 20px; display: block;}
.pass-title a span{ background: #042c5d; font-size: 19px;}
.pass-title a i{ background: #6995cb; font-size: 15px; font-style: normal;}

.pass-content{background: #eeeeee; padding:7px; margin-top: 0; margin-bottom: 16px;}

#pass #pagination li {
  margin-bottom: 10px;
}

/* 校舎案内 --------------------------------------------- */

/* 共通電話リンク */
a.tellink{font: 20px bold; color: #e60012;}

#post-597 .school-point h4{color: #0055af; margin-bottom: 16px; font-size: 20px;}

#post-597 .school-course ul{margin-bottom: 35px;}
#post-597 .school-course li{
  line-height: 2.2;
  font-size: 17px;
  position: relative;
  text-decoration: underline;
}

#post-597 .school-course li a{color: #333;}
#post-597 .school-course li:not(:first-child){padding-left: 1em;}

#post-597 .school-course li:not(:first-child)::before{
  content: "\0025a0"; /*"■"の文字*/
  position: absolute;
  margin-left: -1em;

}

#post-597 .school-course ul li:first-child{font-weight: bold; text-decoration: none;}

/* 学年の色 */
#post-597 .school-course ul.course01 li:first-child,
#post-597 .school-course ul.course01 li::before{color: #568bdd;}

#post-597 .school-course ul.course02 li:first-child,
#post-597 .school-course ul.course02 li::before{color: #3aaade;}

#post-597 .school-course ul.course03 li:first-child,
#post-597 .school-course ul.course03 li::before{color: #27c0dc;}

#post-597 .school-detail table{width: 100%; border-collapse: collapse;}
#post-597 .school-detail table td{border: 1px solid #ccc; padding: 10px; border-right: none;}
#post-597 .school-detail table td:first-child{background: #eee; font-weight: bold; border-left: none;}

#post-597 .schedule-link{ background: #0055af;text-align: center;}

#post-597 .schedule-link a{
  color: #fff;
  font-size: 18px;
  display: block;
  position: relative;
  padding: 5px 0;
}

#post-597 .schedule-link a::after{
  content: "\003009";
  font-size: 12px;
  color: #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 16px;
}

#post-597 .jr-info h5{margin-bottom: 0; color: #00316c; font-size: 14px; font-weight: bold;}
#post-597 .jr-info p{margin-bottom: 1em;}
#post-597 .spm1{margin-bottom: 16px;}

@media only screen and (max-width: 767px) {
  #post-597 .school-detail table{margin-bottom: 16px;}
}


/* 合格実績追記CSS */
#page01 ul.success_list .num{font-size: 35px;}
#page01 ul.success_list .num i{margin-left: 5px;}
#page01 ul.success_list .num em{font-size: 25px; font-style: normal;}

/* サイトマップ --------------------------------------------- */
#post-58 .wsp-posts-list ul{display: none;}

#post-58 .wsp-container h2{
  font-size: 25px;
  padding: 0 0 5px 0;
  border-bottom: 2px solid #dae5f2;
  margin: 0 0 30px 0;
  position: relative;
  line-height: 1.8;
  font-weight: normal;
}

#post-58 .wsp-container h2::after{
  display: block;
  content: "";
  width: 165px;
  height: 2px;
  background: #00439a;
  position: absolute;
  bottom: -2px;
  left: 0;
}

#post-58 .wsp-container .page_item > a{
  display: block;
  background: #00439a;
  color: #fff;
  padding: 5px 10px;
  width: 100%;
  margin-bottom: 16px;
}
#post-58 .wsp-container .page_item .children .page_item > a{
  background: transparent;
  color: #333;
  margin-bottom: 0;
}

#post-58 .wsp-container .page_item_has_children{margin-bottom: 30px;}
#post-58 .wsp-container .wsp-casestudys-list,
#post-58 .wsp-container .wsp-posts-list{margin-bottom: 16px;}
#post-58 .wsp-container .wsp-category-title{font-size: 18px;}


/* 寮・寮生食堂のご案内 --------------------------------------------- */
#post-29 .dormitory-app{margin-bottom: 40px;}
#post-29 .dormitory-app dl::after{display: block; content: "↓"; text-align: center; font-size: 30px;}
#post-29 .dormitory-app dl:last-child::after{display: none; content: none;}
#post-29 .dormitory-app dd{margin:0;}


#post-29 .table-blue03 th,
#post-29 .table-blue03 td{text-align: center;}



/* 個別指導ZEUS --------------------------------------------- */
@media only screen and (max-width: 767px) {
  .page-template-page-zeus .page-mainimg{max-width: 100%; position: static;}
  .page-template-page-zeus #page-mainimg{margin-bottom: 20px;}
  .page-template-page-zeus #page-mainimg > figure{height: 100%;}
}


/* ------------------------------------保存用--------------------------------------- */
/* 選抜クラス受講希望の方へ */
.sh-info-box{margin: 0 -20px;}
.sh-info-link{display: table; width: 100%; border-collapse: separate; border-spacing: 20px;}
.sh-info-link li{display: table-cell; width: calc(100% / 3); vertical-align: top;}

@media only screen and (max-width: 767px) {
  .sh-info-box{margin: 0;}
  .sh-info-link,
  .sh-info-link li{display: block; width: 100%; margin-bottom: 15px;}

  #post-476 .m20{margin-bottom: 20px;}
}

/* 入塾の流れ */
#post-500 .fontbig.red{font-size: 17px; margin-bottom: 1em;}

.sh-link-anker{
  display: block;
  width: 100%;
  height: 80px;
  background: #00439a;
  text-align: center;
  line-height: 80px;
  font-size: 20px;
  color: #fff;
  border-radius: 10px;
  margin-bottom: 16px;
}

/* 面接・小論文の指導 --------------------------------------------- */

/* メイン画像位置調整 */
.page-id-754 .page-mainimg{left: -160px;}

/* 入学案内 --------------------------------------------- */
@media only screen and (max-width: 767px) {

  .school-info .table-blue03 thead tr{display: none;} 
  .school-info .table-blue03 tbody tr td{display: block; font-size: 14px;}
  .school-info .table-blue03 tbody tr td::before{
    content: attr(data-label);
    display: block;
    font-weight: bold;
    color: #5182cd;
    background: #fff;
    border-radius: 10px;
    margin-bottom: 10px;
    text-align: center;
  }
}
/* 保護者の方へ --------------------------------------------- */

@media only screen and (max-width: 767px) {
  /* メイン画像位置調整 */
  .page-id-703 .page-mainimg{left: -180px;}

}

/* 採用情報 --------------------------------------------- */

@media only screen and (max-width: 767px) {
  /* メイン画像位置調整 */
  .page-id-54 .page-mainimg{left: -80px;}

  #page01 .table-line01 tr td{display: block; width: 100%;}
  #page01 .table-line01 tr td:first-child{border:none; padding-bottom:0;}

}

/* 高3生対象　夏期講習 20210618 */

.hs3summer_sp_teacher{
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

.hs3summer_sp_teacher > div{width: calc((100% / 3) - 20px); margin: 0 10px;}

@media only screen and (max-width: 767px) {
  .hs3summer_sp_teacher > div{width: calc(100% - 20px); margin: 0 10px 20px;}

}

/* 私立医学部合同説明会 20210813 */

.session .time-table{
  font-size: 18px; 
  width: 80%; 
  
}
.session .time-table th{padding: 10px 0;width: 30%; background-color: #213977;color:#FFF;border: 1px solid #EFEFEF;}
.session .time-table td{padding: 10px 20px; text-align: left; font-weight: bold; color: #213977;border: 1px solid #EFEFEF; background-color: #eef6f8;}
@media only screen and (max-width: 767px) {
  .session .time-table{font-size: 16px; width: 100%;}
}

.session .time-table .orange{color: #e66000;}
.session .time-table .green{color: #027e00;}


/* 関西4私立医直前対策 20211110 */

.classtimetable.session .time-table{width: 100%;}
.classtimetable.session .time-table th{width: 50%; text-align: left; padding: 0 10px;}

.classtimetable.session .class-wrap{margin-bottom: 30px;}
.classtimetable.session .class-wrap h4{
  margin-bottom: 5px;
  padding-bottom: 5px;
  font-size: 18px;
  border-bottom: 1px solid #ccc;
}
.classtimetable.session .class-wrap p{margin-bottom: 10px;}


/* 入学までの流れ ----------------------------------------- */
.nagare_box {
  position: relative;
  border: 4px solid #ccc;
  border-radius: 15px;
  padding: 10px;
  margin-bottom: 60px;
}
.nagare_box:after {
  content: '';
  display: inline-block;
  width: 50px;
  height: 50px;
  background-image: url('../img/nagare/img_arrow_down.png');
  background-size: contain;
  position: absolute;
  left: 50%;
  bottom: -57px;
  transform: translateX(-50%);
}
.nagare_box:last-child:after {
  background-image: none;
}
.nagare_box h4 {
  color: #003586;
  text-align: center;
  font-size: 150%;
}
.nagare_text {

}
.nagare_text ul {
  margin: 15px 10px;
}
.nagare_text ul li {
  margin-bottom: 10px;
  padding-left: 1em;
  text-indent: -1em;
}
.nagare_text ul li:before {
  content: "■";
}
.nagare_inq {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 200%;
}
.nagare_inq_left {
  width: 40%;
  text-align: right;
}
.nagare_inq_left figure {
  display: inline-block;
}
.nagare_inq_tel {
  display: inline-block;
}
.nagare_inq_center {
  width: 10%;
  text-align: center;
}
.nagare_inq_right {
  width: 40%;
}
.nagare_strong {
  background-color: #003586;
  color: #fff;
  padding: 5px;
  font-weight: bold;
  margin: 10px 10px 0 10px;
}
.nagare_bold {
  font-weight: bold;
  font-size: 150%;
}
.nagare_nittei {
  background-color: #003586;
  color: #fff;
  padding: 3px 20px;
  font-weight: bold;
  font-size: 150%;
  margin: 0 10px;
}
.nagare_kaishi {
  width: 70%;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .nagare_box h4 {
    font-size: 110%;
  }
  .nagare_inq {
    line-height: 1;
  }
  .nagare_inq_left {
    width: 100%;
    text-align: center;
  }
  .nagare_inq_center {
    width: 100%;
  }
  .nagare_inq_right {
    width: 100%;
  }
  .nagare_bold {
    font-size: 110%;
  }
  .nagare_nittei {
    font-size: 110%;
  }
}

/* 指導システム */

.sidousystem-wrap{margin-bottom: 80px;}
.sidousystem-wrap div.photo{display: flex; justify-content: space-between;}
.sidousystem-wrap div.photo figure{width: calc(50% - 10px);}
.sidousystem-wrap p{margin-bottom: 20px;}



.sidousystem-wrap .graduate_commnet{
  position: relative;
  font-size: 20px;
  font-weight: bold;
  padding-left: 40px;
}
.sidousystem-wrap .graduate_commnet::before{
  position: absolute;
  content: url('../img/common/icon-ballon.png');
  top: 3px;
  left: 0;
}
.sidousystem-wrap .graduate_commnet-list{margin-bottom: 40px;}
.sidousystem-wrap .graduate_commnet-list li{
  padding: 14px;
  border-radius: 10px;
  border: 1px solid #00316c;
  margin-bottom: 10px;
}


/* 20220614_追加 */
.table-form02{width: 100%;}
.table-form02 th,
.table-form02 td{padding: 10px;}
.table-form02 th{width: 30%; text-align: left;}
.table-form02 td{width: 70%;}

.table-form02 input{margin: 0;}

@media only screen and (max-width: 767px) {
  .table-form02 table,
  .table-form02 tbody,
  .table-form02 th,
  .table-form02 td{
    display: block;
    width: 100%;
  }
}

/*------------------------------------------
  アーカイブページ
--------------------------------------------*/
.archivelist{margin-bottom: 0;}

.archivelist-box{}

.archivelist-box > a{display: block;}

.archivelist-box ul{
  /* border-top: 1px solid #ccc; */
  border-bottom: 1px solid #ccc;
  display: table;
  width: 100%;
  padding: 13px 0;
}

/* .archive-contents article:last-child .archivelist-box ul{
  border-bottom: 1px solid #ccc;
} */
.archive-contents article:first-child .archivelist-box ul{
  border-top: 1px solid #ccc;
}

.archivelist-box ul li{
  display: table-cell;
  vertical-align: middle;
}

.archivelist-box ul li:nth-of-type(1){width: 15%;}
.archivelist-box ul li:nth-of-type(2){width: 15%;}
.archivelist-box ul li:nth-of-type(3){width: 70%;}

.archivelist-box.notterm ul li:nth-of-type(1){width: 15%;}
.archivelist-box.notterm ul li:nth-of-type(2){width: 85%;}

.archivelist-category a{
  display: inline-block;
  background:rgba(0, 64, 154, 0.8);
  padding: 5px 0;
  line-height: 1;
  color: #fff;
  font-size: 12px;
  width: 8em;
  text-align: center;
  margin: 0 10px;
}

.archivelist-title a{
  display: table-cell;
  height: 100%;
  vertical-align: middle;
  padding: 10px 0;
  color: var(--text-color) !important;
}

/* 続きを見る（共通） */
a.excerpt-read-more{display: block; color: #999; text-decoration: underline; font-weight: bold;}


@media only screen and (max-width: 767px) {
  .archivelist-box ul,
  .archivelist-box ul li,
  .archivelist-box ul li:nth-of-type(3)
  {
    display: block; width: 100%; height: auto;
  }

  .archivelist-box ul li:nth-of-type(1),
  .archivelist-box ul li:nth-of-type(2){display: inline-block;}

  .archivelist-box ul li:nth-of-type(1){width: 9em;}

  .archivelist-box ul li:nth-of-type(3){padding-top: 16px;}

  .archivelist-box.notterm ul li:nth-of-type(1),
  .archivelist-box.notterm ul li:nth-of-type(2){width: 100%;}

  .archivelist-date{font-weight: bold;}
}

/* ^^^ page.cssより E N D ^^^---------------------------------- */


/* ==========================================================================
   XXXX
   XXXXXXX
   ========================================================================== */
/*---------------------------------------------------------------------------
  XXXX
  --------------------------------------------------------------------------- */
/*------------------------------------------
  XXXX
--------------------------------------------*/


@media (min-width: 992px) {
}
@media (max-width: 991px) {
}

@media (min-width: 768px){ 
}
@media (max-width: 767px){ 
}

