@charset "utf-8";
/* Noto Sans JP Bold */
@font-face {
  font-family: 'Noto Sans JP';
  src:
    url('../font/NotoSansJP-Bold.woff2') format('woff2'),
    url('../font/NotoSansJP-Bold.woff') format('woff'),
    url('../font/NotoSansJP-Bold.ttf') format('truetype'),
    url('../font/NotoSansJP-Bold.eot') format('embedded-opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
/* Noto Sans JP Medium */
@font-face {
  font-family: 'Noto Sans JP';
  src:
    url('../font/NotoSansJP-Medium.woff2') format('woff2'),
    url('../font/NotoSansJP-Medium.woff') format('woff'),
    url('../font/NotoSansJP-Medium.ttf') format('truetype'),
    url('../font/NotoSansJP-Medium.eot') format('embedded-opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
/* Noto Sans JP SemiBold */
@font-face {
  font-family: 'Noto Sans JP';
  src:
    url('../font/NotoSansJP-SemiBold.woff2') format('woff2'),
    url('../font/NotoSansJP-SemiBold.woff') format('woff'),
    url('../font/NotoSansJP-SemiBold.ttf') format('truetype'),
    url('../font/NotoSansJP-SemiBold.eot') format('embedded-opentype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
/* Noto Serif JP Bold */
@font-face {
  font-family: 'Noto Serif JP';
  src:
    url('../font/NotoSerifJP-Bold.woff2') format('woff2'),
    url('../font/NotoSerifJP-Bold.woff') format('woff'),
    url('../font/NotoSerifJP-Bold.ttf') format('truetype'),
    url('../font/NotoSerifJP-Bold.eot') format('embedded-opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
/* Noto Serif JP Medium */
@font-face {
  font-family: 'Noto Serif JP';
  src:
    url('../font/NotoSerifJP-Medium.woff2') format('woff2'),
    url('../font/NotoSerifJP-Medium.woff') format('woff'),
    url('../font/NotoSerifJP-Medium.ttf') format('truetype'),
    url('../font/NotoSerifJP-Medium.eot') format('embedded-opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* common */
html {
  background: #eeeeee;
}
body {
  background: #fff;
}
/* body{font-size:80%;font-family:"ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;color:#333333;margin:0;padding:0;text-align:center;} */
body {
  font-size: 80%;
  /* font-family: '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; */
  font-family:
    'Noto Sans JP',
    -apple-system,
    BlinkMacSystemFont,
    'Helvetica Neue',
    YuGothic,
    'ヒラギノ角ゴ ProN W3',
    Hiragino Kaku Gothic ProN,
    Arial,
    'メイリオ',
    Meiryo,
    sans-serif;
  color: #333333;
  margin: 0;
  padding: 0;
  text-align: center;
}

body {
  -webkit-text-size-adjust: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ol,
ul,
dt,
dd {
  font-size: 100%;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.5em;
  margin: 0 0 1em;
  font-weight: 900;
}
p,
ol,
ul,
dt,
dd {
  line-height: 1.7em;
  margin: 0 0 1.5em;
}
table {
  line-height: 1.7em;
  margin: 0 0 1.5em;
}
strong {
  font-weight: 900;
}

img {
  border: none;
  max-width: 100%;
  height: auto;
}

/* コンテンツ向け 見出しスタイル */
.h1 {
  border: solid #080279;
  border-width: 1px 0 5px;
  padding: 15px 0;
  font-size: 220%;
}
.h1 img {
  float: right;
  margin: 15px 0 0;
}
.h1 img.line2 {
  margin: 0 0 0;
}
.h2 {
  height: 40px;
  line-height: 40px;
  color: #000000;
  background: #ffffff url('../images/h2_bg01.png') no-repeat 0 0;
  border: solid 1px #eeeeee;
  padding: 0 10px 0 20px;
}
.h2_large {
  color: #000000;
  background: #ffffff url('../images/h2_bg01.png') no-repeat 0 0;
  padding: 15px 10px 0 20px;
  font-size: 160%;
}
.h2_bdr_large {
  min-height: 55px;
  line-height: 1.4em;
  color: #00007a;
  background: #ffffff url('../images/h2_bg01.png') no-repeat 0 0;
  border: solid #080279;
  border-width: 0 0 1px;
  padding: 20px 0 10px 20px;
  font-size: 180%;
}
.h2_bdr_large span {
  float: right;
  font-size: 80%;
}
.h2_bdr_large span.red {
  float: none;
  font-size: 100%;
  color: #d80000;
}
.h2_bdr_large span strong {
  font-size: 180%;
  display: inline-block;
  margin: 0 0 0 5px;
}

.h3 {
  color: #000079;
  background: #ffffff url('../images/h3_bg01.png') no-repeat 0 0;
  padding: 7px 0 0 10px;
  font-size: 160%;
}
.h3_02 {
  color: #000079;
  background: #ffffff url('../images/h3_bg02.png') no-repeat 0 0;
  padding: 7px 0 0 10px;
  font-size: 160%;
}

.h3_bdr {
  color: #000079;
  border: solid #dddddd;
  border-width: 0 0 1px;
  font-size: 135%;
}
.h3_bdr span {
  display: inline-block;
  border: solid #00007b;
  border-width: 0 0 5px;
  padding: 0 0 5px;
  position: relative;
  top: 5px;
}

.h_bg_line {
  background: url('../images/h_bg_line.gif') repeat-x 0 50%;
  display: inline-block;
  padding: 0 140px;
  margin: 0 auto;
  font-size: 180%;
}
.h_bg_line span {
  background: #ffffff;
  padding: 0 15px;
}
.h_txt_xlarge {
  font-size: 250%;
}

.h_bg_navy {
  background: #080279;
  color: #ffffff;
  border: solid #dddddd;
  border-width: 0 0 5px;
  font-size: 170%;
  text-align: center;
  padding: 10px;
}

.blue_h {
  color: #000079;
}
.yellow_h {
  color: #d8a300;
  font-size: 120%;
}

@media screen and (max-width: 1020px) {
  .h1 {
    text-align: center;
    padding: 15px 0 5px;
  }
  .h1 img {
    float: none;
    margin: 15px auto 0 !important;
    display: block;
  }

  .h2_large {
    line-height: 1.3em;
  }
  .h2_bdr_large {
    height: auto;
    line-height: 1.3em;
    padding: 15px 0 10px 20px;
  }
}
@media screen and (max-width: 640px) {
  .h1 {
    font-size: 170%;
  }
  .h1 img {
    margin: 10px auto 0 !important;
  }

  .h2_large {
    font-size: 150%;
  }
  .h2_bdr_large {
    font-size: 150%;
  }
  .h2_bdr_large span {
    float: none;
    display: block;
    margin: 5px 0 0;
  }
  .h2_bdr_large span.red {
    float: none;
    font-size: 100%;
    color: #d80000;
    display: inline;
  }
  .h2_bdr_large span strong {
    font-size: 150%;
  }

  .h3,
  .h3_02 {
    font-size: 150%;
  }

  .h_bg_line {
    display: block;
    padding: 0 20px;
    margin: 0 auto;
    font-size: 150%;
  }
  .h_txt_xlarge {
    font-size: 200%;
  }

  .h_bg_navy {
    font-size: 150%;
  }
}
@media screen and (max-width: 480px) {
  .h1 {
    font-size: 150%;
  }

  .h2_large {
    font-size: 135%;
  }
  .h2_bdr_large {
    font-size: 135%;
  }

  .h3,
  .h3_02 {
    font-size: 135%;
  }

  .h_bg_line {
    font-size: 125%;
  }
  .h_bg_line span {
    padding: 0 10px;
  }
  .h_txt_xlarge {
    font-size: 150%;
  }

  .h_bg_navy {
    font-size: 130%;
    padding: 7px;
  }
}

/* テキストスタイル */
.indx_wide {
  /* font-family: '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; */
  font-family:
    'Noto Sans JP',
    -apple-system,
    BlinkMacSystemFont,
    'Helvetica Neue',
    YuGothic,
    'ヒラギノ角ゴ ProN W3',
    Hiragino Kaku Gothic ProN,
    Arial,
    'メイリオ',
    Meiryo,
    sans-serif;
  font-weight: 500;
}
.arrow_txt {
  background: url('../images/ico_arrow.png') no-repeat 0 6px;
  padding: 0 0 0 10px;
}

/* リスト通常使用 */
ul.normal {
  padding-left: 15px;
  margin-left: 15px;
  list-style: disc;
}
ul.normal li {
  margin-bottom: 5px;
}
ul.none {
  list-style: none;
}

ol.normal {
  padding-left: 15px;
  margin-left: 15px;
  list-style: decimal;
}
ol.normal li {
  margin-bottom: 5px;
}

ul.disc li {
  background: url('../images/ico_disc.png') no-repeat 0 7px;
  padding-left: 15px;
}

ul.alpha {
  padding-left: 15px;
  margin-left: 15px;
  list-style: lower-latin;
}
ul.alpha li {
  margin-bottom: 5px;
}

ul.katakana {
  padding-left: 15px;
  margin-left: 15px;
  list-style: katakana;
}
ul.katakana li {
  margin-bottom: 5px;
}

ul.note03 li {
  margin-bottom: 5px;
  text-indent: -3em;
}

dl {
  margin: 0;
  padding: 0;
}
dt {
  margin: 0;
  padding: 0;
}
dd {
  margin: 0;
  padding: 0;
}

a:link {
  text-decoration: underline;
  color: #000;
}
a:visited {
  text-decoration: underline;
  color: #000;
}
a:hover {
  text-decoration: none;
  color: #000;
}

a {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

a img {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

a:hover img {
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
}

a.win {
  background: url('../images/ico_win.png') no-repeat 100% 50%;
  padding-right: 18px;
}
a.top {
  background: url('../images/ico_link.png') no-repeat 100% 50%;
  padding: 10px 20px 10px 0;
  display: inline-block;
  text-decoration: none;
  font-size: 130%;
}
a.link {
  background: url('../images/ico_link.png') no-repeat 100% 50%;
  padding: 10px 20px 10px 0;
  display: inline-block;
  text-decoration: none;
  font-size: 130%;
}

img {
  max-width: 100%;
}

table {
  background: #dddddd;
  border-collapse: separate;
  border-spacing: 1px;
}
th,
td {
  padding: 5px;
}
th {
  background: #eeeeee;
}
td {
  background: #ffffff;
}

table.blue_tbl {
  background: #ffffff;
}
table.blue_tbl th {
  background: #e5e5f2;
  color: #000079;
  padding: 10px 5px;
}
table.blue_tbl td {
  background: #f1f1f1;
}

table.course_tbl {
  background: #ffffff;
}
table.course_tbl th {
  background: #d2ebee;
  color: #333333;
  padding: 10px;
  font-size: 110%;
}
table.course_tbl th.light {
  background: #f1f9fa;
}
table.course_tbl td {
  background: #f8fafb;
}
table.course_tbl tr.light td {
  background: #fcfdfd;
}

table.vm th,
table.vm td {
  vertical-align: middle;
}

@media screen and (max-width: 1020px) {
  .scroll {
    width: 100%;
    overflow: auto; /*tableをスクロールさせる*/
    white-space: nowrap; /*tableのセル内にある文字の折り返しを禁止*/
  }

  .scroll::-webkit-scrollbar {
    /*tableにスクロールバーを追加*/
    height: 5px;
  }
  .scroll::-webkit-scrollbar-track {
    /*tableにスクロールバーを追加*/
    background: #f1f1f1;
  }
  .scroll::-webkit-scrollbar-thumb {
    /*tableにスクロールバーを追加*/
    background: #bcbcbc;
  }

  table {
    width: 100%;
  }

  th,
  td {
    padding: 5px;
  }
  table.pad10 th,
  table.pad10 td {
    padding: 5px;
  }
}

@media screen and (max-width: 480px) {
  table.blue_tbl {
    font-size: 85%;
    overflow: auto;
    white-space: nowrap;
    display: block;
    width: 100%;
  }
}

hr.dot {
  height: 1px;
  line-height: 0;
  border: none;
  background: url('../images/dot.png') repeat-x center;
  margin: 0 0 2em;
}

.smf {
  display: none;
}
.spbr {
  display: none;
}

.br640 {
  display: inline-block;
}

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

@media screen and (max-width: 720px) {
  .pc {
    display: none;
  }
  .smf {
    display: block;
  }
}
@media screen and (max-width: 640px) {
  .br_none {
    display: none;
  }
  .spbr {
    display: inline-block;
  }

  .br640 {
    display: none;
  }
}

/* ヘッダー */
#header {
  width: 1000px;
  height: 78px;
  margin: 40px auto 0;
  position: relative;
  padding: 20px 0 0;
  box-sizing: border-box;
}
#indx #header {
  width: 100%;
  height: auto;
  padding: 0;
}

#logo {
  float: left;
}
#indx #logo {
  display: none;
}
#h_txt {
  float: left;
  margin: 31px 0 0 20px;
}
#ze_logo {
  position: absolute;
  top: 42px;
  right: 0;
}

#h_menu {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1001;
}
#stage {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}
@media screen and (max-width: 1020px) {
  #header {
    width: 100%;
    height: auto;
    padding: 0;
    margin: 58px auto 0;
  }

  #h_menu {
    position: relative;
    width: 50%;
    float: right;
    margin: 0;
    position: fixed;
  }
  #h_menu li {
    line-height: 0;
    margin: 0;
  }
  #h_menu img {
    width: 100%;
  }
  #stage {
    display: none;
  }

  #logo_box {
    width: 95%;
    margin: 0 auto 0;
    padding: 15px 0 0;
    clear: both;
  }

  #h_txt {
    margin: 0 3% 5% 3%;
    float: none;
    text-align: center;
  }
  #ze_logo {
    margin: 0 auto;
    position: inherit;
    top: 180px;
    left: 40%;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 720px) {
  #logo {
    width: 100%;
    margin: 0 auto 15px;
  }
  #h_txt {
    width: 100%;
    margin: 0;
  }
}

@media screen and (max-width: 480px) {
  #header {
    width: 100%;
    height: auto;
    padding: 0;
    margin: 35px auto 0;
  }
}

/* ナビ */
#nav {
  position: relative;
  top: 0;
  margin: 0 0 25px;
  clear: both;
  z-index: 999;
}
#indx #nav {
  top: -35px;
  z-index: 999;
  margin: 0;
}

#nav ul li ul li {
  float: none;
  margin: 0 0 1px;
}
#nav ul li ul li a {
  background: #dddddd !important;
  color: #080279;
  text-indent: 0;
  width: 200px;
  height: auto;
  text-align: left;
  padding: 10px;
  text-decoration: none;
}
#nav ul li ul li a:hover {
  background: #eeeeee !important;
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  opacity: 1;
}

#nav ul li:nth-child(1) ul li {
  margin-left: 25px;
  width: 200px !important;
}
#nav ul li:nth-child(2) ul li {
  width: 240px;
}
#nav ul li:nth-child(3) ul li {
  width: 240px;
}

#smf_nav {
  display: none;
}
#smf_close {
  display: none;
}
@media screen and (max-width: 1020px) {
  #nav {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }
  #indx #nav {
    top: 0;
  }

  #smf_nav {
    display: block;
    width: 50%;
    margin: 0;
    line-height: 0;
    position: fixed;
  }
  #smf_nav img {
    width: 100%;
  }

  #nav ul {
    position: absolute;
    width: 45%;
    left: -46%;
    background: url('../images/smf_menu_bg02.png');
    text-align: left;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  #nav.on ul {
    left: 0;
  }

  #nav ul li {
    float: none;
    width: auto;
    font-size: 120%;
  }
  #nav ul li a {
    display: block;
    width: auto;
    height: auto;
    text-indent: 0;
    text-decoration: none;
    background: url('../images/h2_bg01.png') no-repeat 0 0 !important;
    padding: 10px 5px 10px 15px;
  }
  #nav ul li a:hover {
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
  }

  #nav ul li ul {
    position: relative;
    display: block;
    width: 100%;
    padding: 10px 0;
    margin: 0;
    background: url('../images/smf_menu_bg01.png');
  }
  #nav ul li ul li {
    margin: 0;
    font-size: 90%;
  }
  #nav ul li ul li a {
    background: url('../images/ico_disc.png') no-repeat 10px 13px !important;
    color: #333333;
    padding: 5px 10px 5px 23px;
  }
  #nav ul li ul li a:hover {
    background: url('../images/ico_disc.png') no-repeat 10px 13px !important;
  }

  #nav ul li:nth-child(1) ul li {
    margin-left: 0;
    width: auto;
  }
  #nav ul li:nth-child(2) ul li {
    width: auto;
  }

  #nav ul li#smf_close {
    display: block;
    text-align: center;
  }
  #nav ul li#smf_close a {
    background: url('../images/smf_menu_bg03.png') !important;
    color: #ffffff !important;
  }
}
@media screen and (max-width: 640px) {
  #nav ul {
    width: 50%;
    left: -51%;
  }
}
@media screen and (max-width: 480px) {
  #nav ul {
    width: 60%;
    left: -61%;
  }
  #nav ul li {
    font-size: 100%;
  }
}
@media screen and (max-width: 380px) {
  #nav ul {
    width: 75%;
    left: -76%;
  }
}

/* パンくず */
#pan {
  margin: 0 0 20px;
  color: #000000;
}
#pan li {
  display: inline-block;
  margin: 0 5px 0 0;
}
#pan li a {
  color: #060079;
  padding: 0 5px 0 0;
  text-decoration: underline;
}
#pan li a:hover {
  text-decoration: none;
}
#pan li:after {
  content: ' > ';
}
#pan li.current:after {
  content: none;
}
#pan div {
  display: inline;
  padding: 0;
}

@media screen and (max-width: 1020px) {
  #pan {
    clear: both;
  }
}
@media screen and (max-width: 640px) {
  #pan {
    font-size: 85%;
    white-space: nowrap;
    overflow: auto;
  }
}

/* ページトップ */
@media screen and (max-width: 1020px) {
  #topcontrol {
    right: 0 !important;
    bottom: 0 !important;
  }
  #topcontrol img {
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
  }
}

/* フッター */
#footer {
  background: #eeeeee;
  padding: 20px;
  color: #111111;
  border: solid #cccccc;
  border-width: 2px 0 0;
}

#f_navi {
  width: 1100px;
  margin: 0 auto 20px;
  text-align: left;
}
#f_navi .nav_box {
  float: left;
  padding: 0 10px 0 0;
  margin: 0 10px 0 0;
  background: url('../images/f_bdr.png') repeat-y 100% 0;
  height: 200px;
}
#f_navi .nav_box.last {
  margin: 0;
  padding: 0;
  background: none;
}
#f_navi .nav_box h3 {
  font-size: 130%;
  margin: 0 0 10px;
}
#f_navi .nav_box ul {
  margin-left: 5px;
  font-size: 85%;
}
#f_navi .nav_box ul li {
  background: url('../images/ico_disc.png') no-repeat 0 7px;
  padding-left: 10px;
  margin: 0 0 3px;
}

#f_navi2 {
  text-align: center;
  margin: 0 0 10px;
  font-size: 90%;
}
#f_navi2 li {
  display: inline-block;
  margin: 0 5px 0 0;
  padding: 0 7px 0 0;
  line-height: 1em;
  border: solid #888888;
  border-width: 0 1px 0 0;
}
#f_navi2 li.last {
  border: none;
}

#f_navi3 {
  text-align: center;
  margin: 0 0 20px;
  font-size: 90%;
}
#f_navi3 li {
  display: inline-block;
  margin: 0 5px 0 0;
  padding: 0 5px 0 0;
  line-height: 1em;
}

#f_navi a,
#f_navi2 a,
#f_navi3 a {
  text-decoration: none;
}
#f_navi a:hover,
#f_navi2 a:hover,
#f_navi3 a:hover {
  text-decoration: underline;
}

#f_logo {
  text-align: center;
  margin: 0 0 5px;
}
#copy {
  font-size: 85%;
  margin: 0;
}

@media screen and (max-width: 1020px) {
  #footer {
    background: #ffffff;
    border: none;
    padding: 0 0 20px;
  }
  #f_navi {
    display: none;
  }

  #f_navi2 li {
    display: block;
    width: 50%;
    float: left;
    line-height: 1.5em;
    margin: 0;
    padding: 10px;
    background: #f5f5f5;
    border: solid #dddddd;
    border-width: 1px;
  }
  #f_navi2 li.last {
    border: solid #dddddd;
    border-width: 1px;
  }
  #f_navi2 li:nth-child(even) {
    margin-left: -1px;
  }
  #f_navi2 li:nth-child(3),
  #f_navi2 li:nth-child(4) {
    border-width: 0 1px 1px;
  }

  #f_navi3 {
    clear: both;
  }
}
@media screen and (max-width: 480px) {
  #f_navi2 li {
    font-size: 80%;
    padding: 5px;
  }
  #f_navi3 {
    font-size: 80%;
  }

  #copy {
    font-size: 80%;
  }
}

/* コンテンツ */
#wrap {
  width: 800px;
  margin: 0 auto 40px;
  text-align: left;
  position: relative;
}
#indx #wrap {
  width: 1000px;
  margin: 0 auto 20px;
  text-align: left;
}

.inner {
  width: 1000px;
  margin: 0 auto 20px;
  text-align: left;
}
.inner800 {
  width: 800px;
  margin: 0 auto;
}

@media screen and (max-width: 1020px) {
  #wrap {
    width: 95%;
    margin: 0 auto;
  }
  #indx #wrap {
    width: 100%;
    margin: 0 auto;
  }

  .inner {
    width: 100%;
    margin: 0 auto;
  }
  .inner800 {
    width: 100%;
    margin: 0 auto;
  }
}

#l_content {
  width: 740px;
  float: left;
}
#r_navi {
  width: 240px;
  float: right;
}

@media screen and (max-width: 1020px) {
  #l_content {
    width: 100%;
  }
  #r_navi {
    width: 100%;
  }
}

.bdr_box {
  border: solid 1px #eeeeee;
  padding: 15px;
}
.gray_bg_box {
  background: #f8f8f8;
  padding: 15px;
}

@media screen and (max-width: 640px) {
  table .tx_xxlarge {
    font-size: 100% !important;
  }

  .img_r {
    max-width: 40%;
  }
  .img_l {
    max-width: 40%;
  }
}

/* トップページ */
/* #indx_box01{background:url("../images/indx_bg01.png") repeat-x top;text-align:center;font-size:125%;padding:25px 0 0;}*/
#indx_box01 {
  background: url('../images/top_copy_bg.jpg') no-repeat bottom;
  font-size: 115%;
  padding: 0 150px 0 0;
}

#indx_box02 {
  width: 910px;
  margin: 0 auto 20px;
}
#indx_box02 .box01 {
  width: 290px;
  height: 550px;
  text-align: center;
}
#indx_box02 .box01 .txt {
  width: 280x;
  text-align: left;
  margin: 0 auto;
}

#indx_box03 {
  width: 880px;
  margin: 0 auto;
}
#indx_box03 .pic {
  width: 220px;
  float: left;
  text-align: right;
}
#indx_box03 .txt {
  width: 640px;
  float: right;
}
#indx_box03 .txt li {
  border: dotted #888888;
  border-width: 0 0 1px;
  padding: 0 0 10px 15px;
  margin: 0 0 10px;
}
#indx_box03 .txt li.last {
  border: none;
}
#indx_box03 .txt .w460 {
  width: 460px;
}

#indx_box04 {
  background: #f8f8f8;
  padding: 30px 0;
}
#indx_box04 .box01 {
  width: 360px;
  border: solid 1px #eeeeee;
  background: #ffffff;
}
#indx_box04 .box01 .txt {
  padding: 10px;
  height: 125px;
  position: relative;
}
#indx_box04 .box01 .txt h3 {
  margin: 0 0 5px;
}
#indx_box04 .box01 .txt p {
  font-size: 105%;
  margin: 0 0 10px;
}
#indx_box04 .box01 .txt p.more {
  text-align: right;
  position: absolute;
  right: 10px;
  bottom: 0;
}

.top_voice {
  width: 898px;
  margin: 20px auto 0;
}
.top_voice dt {
  margin-bottom: 10px;
  line-height: 160% !important;
}
.top_voice li {
  float: left;
  list-style: none;
  line-height: 0;
}

.news dl {
  font-size: 90%;
  margin: 0 0 15px;
}
.news dt {
  color: #060079;
  margin: 0;
  padding: 0;
}

#map_canvas {
  width: 100%;
  height: 239px;
  margin: 0;
}
#map_canvas2 {
  width: 100%;
  height: 239px;
  margin: 0;
}
#map_canvas3 {
  width: 100%;
  height: 178px;
  margin: 0;
}
#map_canvas4 {
  width: 100%;
  height: 178px;
  margin: 0;
}

#map_canvas label,
#map_canvas2 label,
#map_canvas3 label,
#map_canvas4 label {
  width: auto;
  display: inline;
}
#map_canvas img,
#map_canvas2 img,
#map_canvas3 img,
#map_canvas4 img {
  max-width: none;
}
.top_target {
  background: url('../images/top_target.png') no-repeat;
  width: 800px;
  height: 298px;
  text-indent: -9999px;
  display: block;
  margin: 0 auto;
}

.video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 1020px) {
  #indx_h01 {
    width: 95%;
    margin: 0 auto;
    text-align: center;
    padding: 0 0 20px;
    line-height: 0;
  }

  #indx_box01 {
    background: none;
    text-align: left;
    font-size: 125%;
    padding: 20px 2.5% 0;
    margin: 0;
    border: solid;
    border-width: 1px 0;
    border-color: #dddddd transparent #eeeeee;
  }
  #indx_box01 p {
    margin: 0;
  }
  #indx_box01 br {
    display: none;
  }

  #indx_box02 {
    width: 100%;
  }
  #indx_box02 .box01 {
    width: 100%;
    height: auto;
    float: none;
    text-align: left;
    background: url('../images/indx_bg_smf01.png') repeat-x 0 100%;
    padding: 20px 2.5% 0;
  }
  #indx_box02 .box01 h3 {
    text-align: center !important;
  }
  #indx_box02 .box01 .pic {
    float: right;
    margin: 0 0 0 20px;
  }
  #indx_box02 .box01 .txt {
    width: auto;
    margin: 0 auto 1em;
  }

  #indx_box03 {
    width: 95%;
    margin: 0 auto;
  }
  #indx_box03 .pic {
    width: 25%;
  }
  #indx_box03 .txt {
    width: 73%;
  }
  #indx_box03 .txt .w460 {
    width: 100%;
  }

  #indx_box04 {
    background: #ffffff;
    padding: 0;
  }
  #indx_box04 #l_content {
    background: #f8f8f8;
    padding: 20px 2.5% 0;
  }

  #indx_box04 .box01 {
    width: 100%;
    margin: 0 0 20px;
  }
  #indx_box04 .box01 .txt {
    max-width: 100%;
    height: auto;
    float: left;
  }
  #indx_box04 .box01 .txt p.more {
    position: relative;
    right: 0;
    bottom: 0;
    margin: 0;
  }
  #indx_box04 .box01 .pic {
    max-width: 28%;
    float: right;
  }
  #map_canvas,
  #map_canvas2,
  #map_canvas3,
  #map_canvas4 {
    width: 100%;
  }

  .top_target {
    background: url('../images/top_target.png') no-repeat;
    width: 100%;
    height: 220px;
    text-indent: -9999px;
    display: block;
    background-size: contain;
  }

  #indx_box04 #r_navi {
    padding: 20px 2.5% 0;
  }

  .news {
    margin: 0 0 1em;
  }
  .news dl {
    margin: 0 0 5px;
  }
  .news dt {
    display: inline-block;
  }
  .news dd {
    display: inline-block;
    margin-left: 2%;
    text-align: left;
  }

  .top_voice {
    width: 100%;
    margin: 20px auto 0;
  }
  .top_voice dt {
    margin-bottom: 5px !important;
  }
  .top_voice ul,
  .top_voice dd {
    margin: 0px !important;
  }
  .top_voice li {
    float: left;
    list-style: none;
    line-height: 0;
    width: 48%;
    margin: 1%;
  }
}
@media screen and (max-width: 640px) {
  #indx_box02 .box01 .pic {
    width: 30%;
    margin: 0 0 0 3%;
  }
  #indx_box02 .box01 h3 {
    width: 100%;
  }

  #indx_box03 .pic {
    width: 30%;
  }
  #indx_box03 .txt {
    width: 68%;
  }

  #indx_box04 .box01 .txt {
    width: 100%;
  }
  #indx_box04 .box01 .pic {
    max-width: 38%;
  }
  #map_canvas,
  #map_canvas2,
  #map_canvas3,
  #map_canvas4 {
    width: 100%;
    height: 150px;
  }
  .top_target {
    background: url('../images/top_target.png') no-repeat;
    width: 100%;
    height: 150px;
    text-indent: -9999px;
    display: block;
    background-size: contain;
  }

  .news dt {
    width: 10%;
  }
  .news dd {
    width: 100%;
    margin-left: 2%;
  }
}
@media screen and (max-width: 480px) {
  #indx_box01 {
    font-size: 110%;
  }

  #indx_box03 .pic {
    width: 35%;
  }
  #indx_box03 .txt {
    width: 63%;
  }
  #map_canvas,
  #map_canvas2,
  #map_canvas3,
  #map_canvas4 {
    height: 140px;
  }

  .news dt {
    width: 15%;
  }
  .news dd {
    width: 100%;
  }
}
@media screen and (max-width: 380px) {
  #indx_box01 {
    font-size: 100%;
  }

  .news dt {
    width: 20%;
  }
  .news dd {
    width: 100%;
  }
}

/* スライダー */
#main {
  width: 100%;
  height: 600px;
  background: url('../images/main_bg01.jpg');
  padding: 0;
  margin: 0;
  position: relative;
  top: 0;
}

#main #slide {
  width: 1200px;
  margin: 0 auto;
  position: relative;
}
#mainimg {
  list-style: none;
  width: 1000px;
  margin: 0 auto;
  padding: 0;
  line-height: 0;
  position: relative;
}
@media screen and (max-width: 1020px) {
  #main {
    height: auto;
    background: none;
    top: 0;
  }
  #main #slide {
    width: 100%;
  }
  #mainimg li img {
    margin: auto;
    width: 100%;
  }
}

.bxslider {
  line-height: 0;
}
.bx-controls-direction {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1200px;
  margin-left: -600px;
  margin-top: -28px;
  display: none;
}
.bx-controls-direction a {
  display: block;
  width: 33px;
  height: 57px;
  text-indent: -999em;
  overflow: hidden;
  position: absolute;
}
.bx-prev {
  background: url('../images/prev.png') no-repeat;
  left: 0px;
}
.bx-next {
  background: url('../images/next.png') no-repeat;
  right: 0px;
}

.bx-wrapper .bx-pager {
  text-align: center;
  position: absolute;
  width: 100%;
  bottom: -35px;
  display: none;
}
.bx-wrapper .bx-pager .bx-pager-item {
  display: inline-block;
  margin: 0 1px;
}

.bx-pager.bx-default-pager a {
  background: url('../images/slider_off.gif') no-repeat;
  text-indent: -9999px;
  display: block;
  width: 24px;
  height: 8px;
}
.bx-pager.bx-default-pager a.active {
  background: url('../images/slider_on.gif') no-repeat;
}
@media screen and (max-width: 1020px) {
  .bx-controls-direction {
    display: none;
  }
  .bx-wrapper .bx-pager .bx-pager-item {
    display: inline-block;
    margin: 0 2px;
  }
  .bx-pager.bx-default-pager a {
    background: url('../images/slider_off_smf.gif') no-repeat;
    width: 24px;
    height: 24px;
  }
  .bx-pager.bx-default-pager a.active {
    background: url('../images/slider_on_smf.gif') no-repeat;
  }
}
@media screen and (max-width: 480px) {
  .bx-pager.bx-default-pager a {
    width: 18px;
    height: 18px;
  }
}
@media screen and (max-width: 380px) {
  .bx-pager.bx-default-pager a {
    width: 12px;
    height: 12px;
  }
}

/* about */
.about_lead {
  text-align: center;
  margin: 0 auto 50px;
}

.about_box01 {
  border: solid 1px #eeeeee;
  padding: 5px;
}
.about_box01 .box_h01 {
  background: #eeeeee;
  font-size: 150%;
  text-align: center;
  padding: 10px;
}
.about_box01 .box_h02 {
  background: #00007d;
  color: #ffffff;
  font-size: 150%;
  text-align: center;
  padding: 10px;
}

.about_box02 {
  border: solid #080279;
  border-width: 5px 0 0;
  margin: 0 0 2em;
}
.about_box02 .cont {
  border: solid #dddddd;
  border-width: 0 5px 5px;
  padding: 15px;
}
.about_box02 .h {
  color: #000079;
  font-size: 135%;
}

.about_img_box01 {
  margin: 0 0 30px;
}
.about_img_box01 .img {
  float: right;
  margin: 0 0 0 10px;
}

.about_clm2 .clm2_l {
  width: 380px;
  float: left;
}
.about_clm2 .clm2_r {
  width: 380px;
  float: right;
}

@media screen and (max-width: 1020px) {
  .about_img_box01 .img {
    max-width: 45%;
  }

  .about_clm2 .clm2_l {
    width: 48%;
  }
  .about_clm2 .clm2_r {
    width: 48%;
  }
}
@media screen and (max-width: 640px) {
  .about_box01 .box_h01 {
    font-size: 135%;
  }
  .about_box01 .box_h02 {
    font-size: 135%;
  }

  .about_img_box01 .img {
    float: none;
    margin: 0 0 10px;
    text-align: center;
    max-width: none;
  }
}

@media screen and (max-width: 480px) {
  .about_lead {
    margin: 0 auto 30px;
  }
  .about_lead p {
    text-align: left;
    font-size: 115% !important;
  }

  .about_box01 .box_h01 {
    font-size: 120%;
    padding: 5px;
  }
  .about_box01 .box_h02 {
    font-size: 120%;
    padding: 5px;
  }

  .about_box02 .cont {
    padding: 10px;
  }
  .about_box02 .h {
    color: #000079;
    font-size: 115%;
  }

  .about_clm2 .clm2_l,
  .about_clm2 .clm2_r {
    width: 100%;
    float: none;
  }
  .about_clm2 table tr.tr_none {
    display: none;
  }
}

/* 生徒・保護者の声 */
.voice_sttl {
  background-color: #f0f0f0;
  padding: 10px;
  text-align: center;
  color: #00007d;
  font-size: 200%;
}
.voice_step {
  background: url('../images/voice/images/voice_bd_l.gif') no-repeat bottom;
  padding-bottom: 1px;
}
.voice_step .h3 {
  color: #000079;
  background-image: ('../images/h3_bg01.png') no-repeat 0 0;
  padding: 7px 0 0 10px;
  font-size: 160%;
}
.voice_step2 {
  background: url('../images/voice/images/voice_bd_s.gif') no-repeat bottom;
  padding-bottom: 1px;
}
.voice_input {
  background: #f2f2f8 url('../images/voice/images/voice_bd_s.gif') no-repeat bottom right;
  padding-bottom: 1px;
}
.voice_input .h3 {
  color: #000079;
  background: #f2f2f8 url('../images/h3_bg01.png') no-repeat 0 0;
  padding: 7px 0 0 10px;
  font-size: 160%;
  margin-top: 30px !important;
}
.voice_output {
  background: #f8f8f8 url('../images/voice/images/voice_bd_s.gif') no-repeat bottom right;
  padding-bottom: 1px;
}
.voice_output .h3 {
  color: #000079;
  background: #f8f8f8 url('../images/h3_bg01.png') no-repeat 0 0;
  padding: 7px 0 0 10px;
  font-size: 160%;
  margin-top: 30px !important;
}

.tool {
  background: url('../images/voice/images/tool_bg.jpg') no-repeat center top;
  position: relative;
  font-size: 0.9em;
  height: 800px;
}
.tool_midashi01 {
  background: url('../images/voice/images/tool_midashi01.jpg') no-repeat;
  position: absolute;
  top: 161px;
  left: 300px;
  text-indent: -9999px;
  display: block;
  height: 42px;
  width: 193px;
}
.tool h4 {
  color: #000079;
  margin-bottom: 5px;
  font-size: 1.1em;
}
.tool1 {
  position: absolute;
  width: 332px;
}
.tool1 h4 {
  margin-left: 159px;
}
.tool1 img {
  float: right;
  margin-left: 20px;
}

.tool2 {
  position: absolute;
  left: 510px;
  width: 290px;
}

.tool2 img {
  float: left;
  margin-right: 20px;
}

.tool3 {
  position: absolute;
  top: 228px;
  left: 0;
  width: 392px;
}
.tool3 h4 {
  margin-left: 258px;
  margin-top: 0;
  margin-bottom: 10px;
}
.tool3 img {
  float: right;
  margin-left: 20px;
}
.tool3 p {
  margin-top: 0px;
}

.tool_midashi02 {
  background: url('../images/voice/images/tool_midashi02.jpg') no-repeat;
  position: absolute;
  top: 530px;
  left: 282px;
  text-indent: -9999px;
  display: block;
  height: 38px;
  width: 232px;
}

.tool4 {
  position: absolute;
  top: 310px;
  left: 430px;
  width: 370px;
}
.tool4 h4 {
  margin-left: 0;
}
.tool4 img {
  float: left;
  margin-right: 20px;
}

.tool5 {
  position: absolute;
  top: 646px;
  left: 0px;
  width: 364px;
}
.tool5 h4 {
  margin-left: 200px;
  margin-top: 5px !important;
}
.tool5 img {
  float: right;
  margin-left: 20px;
  margin-right: 61px;
  margin-bottom: 5px;
}
.tool5 p {
  float: left;
  width: 180px;
  margin: 0;
}

.tool6 {
  position: absolute;
  top: 596px;
  left: 508px;
  width: 292px;
}
.tool6 h4 {
  float: left;
  margin-top: 5px;
}
.tool6 .img {
  float: left;
  width: 120px;
}
.tool6 p {
  float: right;
  width: 172px;
  margin: 0;
}

.tool6 {
  position: absolute;
  top: 596px;
  left: 508px;
  width: 292px;
}
.tool6 h4 {
  float: left;
  margin-top: 5px;
}
.tool6 .img {
  float: left;
  width: 120px;
}
.tool6 p {
  float: right;
  width: 172px;
  margin: 0;
}

.tool7 {
  position: absolute;
  width: 327px;
  top: 375px;
}
.tool7 h4 {
  margin-left: 184px;
}
.tool7 img {
  float: right;
  margin-left: 20px;
  margin-bottom: 50px;
}
.tool7 p {
  margin: 0;
}

.tool_midashi03 {
  background: url('../images/voice/images/tool_midashi03.jpg') no-repeat;
  margin-left: 284px;
  text-indent: -9999px;
  display: block;
  height: 41px;
  width: 232px;
  margin-bottom: 20px;
}
.tool_block:nth-child(even) {
  width: 390px;
  border: 1px solid #dddddd;
  padding: 20px;
  float: left;
  height: 180px;
  margin-bottom: 20px;
}
.tool_block:nth-child(odd) {
  width: 390px;
  border: 1px solid #dddddd;
  padding: 20px;
  float: right;
  height: 180px;
  margin-bottom: 20px;
}
.tool_block h4 {
  color: #000079;
  margin-bottom: 5px;
  font-size: 1.1em;
  border-bottom: 3px solid #dddddd;
  padding-bottom: 5px;
}

@media screen and (max-width: 1020px) {
  .tool_midashi01_sp {
    background: url('../images/voice/images/tool_midashi01.jpg') no-repeat;
    position: relative;
    margin: 0 auto 20px;
    text-indent: -9999px;
    display: block;
    height: 42px;
    width: 193px;
  }
  .tool_midashi02_sp {
    background: url('../images/voice/images/tool_midashi02.jpg') no-repeat;
    position: relative;
    margin: 0 auto 20px;
    text-indent: -9999px;
    display: block;
    height: 38px;
    width: 232px;
  }
  .tool_midashi03 {
    background: url('../images/voice/images/tool_midashi03.jpg') no-repeat;
    margin: 0 auto 20px;
    text-indent: -9999px;
    display: block;
    height: 41px;
    width: 232px;
  }
  .tool_block:nth-child(even) {
    width: 100%;
    border: 1px solid #dddddd;
    padding: 20px;
    float: none;
    margin-bottom: 20px;
  }
  .tool_block:nth-child(odd) {
    width: 100%;
    border: 1px solid #dddddd;
    padding: 20px;
    float: none;
    margin-bottom: 20px;
  }
  .tool_block2:nth-child(even) {
    width: 100%;
    border: 1px solid #dddddd;
    padding: 20px;
    float: none;
    margin-bottom: 20px;
  }
  .tool_block2:nth-child(odd) {
    width: 100%;
    border: 1px solid #dddddd;
    padding: 20px;
    float: none;
    margin-bottom: 20px;
  }
  .tool_block2 img {
    float: right;
    margin-left: 20px;
  }
  .tool_block h4,
  .tool_block2 h4 {
    color: #000079;
    margin-bottom: 5px;
    font-size: 1.1em;
    border-bottom: 3px solid #dddddd;
    padding-bottom: 5px;
  }
}

/* コースを探す */
.course_txt {
  padding-left: 120px;
  font-size: 110%;
}
.course_txt2 {
  padding-left: 100px;
}

.course_box01 {
  width: 800px;
  height: 90px;
  background: url('../images/course/images/course_bg01.jpg') no-repeat;
  padding: 22px;
}
.course_box01 h4 {
  font-size: 135%;
}
.course_box01 h4 a {
  color: #00047d;
}

.course_box01 .txt {
  float: left;
}
.course_box01 .btn {
  float: right;
}

.course_list {
  float: left;
  margin: 0 20px 1em 0;
}

.course_category {
  background-color: #488bc7;
  -webkit-border-radius: 5px !important;
  -moz-border-radius: 5px !important;
  border-radius: 5px !important;
  padding: 5px;
  color: #ffffff;
  margin-right: 10px;
}
.course_midashi {
  border: 2px solid #252a6b;
  width: 100%;
  padding: 20px;
  font-size: 1.4em;
  color: #252a6b;
  text-align: center;
  margin: 0;
}
.course_guide {
  background-color: #f5fafc;
  padding: 30px;
  margin-bottom: 30px;
}

.h4_course {
  background-color: #eff7fb;
  padding: 5px;
  color: #252a6b;
  font-size: 1.3em;
}
.course_result {
  background-color: #fff6db;
  padding: 30px 50px;
  text-align: center;
}
.course_result h4 a {
  color: #b05915;
  font-size: 1.4em;
}
.course_result table {
  background: none;
  width: 100%;
  text-align: center;
}
.course_result td.even {
  background: #fffbed;
}

@media screen and (max-width: 750px) {
  .course_result {
    background-color: #fff6db;
    padding: 20px;
    text-align: center;
  }
}

/* 学年別 */
.class_category {
  margin: 0;
  font-size: 1.2em;
  height: 40px;
}
.class_category li {
  float: left;
  margin-right: 4px;
}
.class_category li:last-child {
  margin-right: 0;
}
.class_category li div {
  width: 130px;
  border-width: 1px 1px 0 1px;
  border-style: solid;
  border-color: #cccccc;
  height: 40px;
  text-align: center;
  padding-top: 8px;
  font-weight: bold;
  color: #00047d;
  display: block;
}
.class_category li a {
  text-decoration: none;
  color: #00047d;
}
.class_category li a:hover div {
  border-color: #008bd1;
  background: #008bd1;
  color: #fff;
}
.class_category li.current div {
  border-color: #008bd1;
  background: #008bd1;
  color: #fff;
}
.class_category li.current a div {
  color: #fff;
}

.class_point {
  width: 100%;
}
.class_point li {
  float: left;
  height: auto;
  width: 50%;
}
.class_ttl {
  border: 1px solid #00047d;
  padding: 20px;
  font-size: 2em;
  color: #00047d;
  text-align: center;
  margin-bottom: 0;
}
.class_point li {
  float: left;
  height: 80px;
}

.class_copy {
  width: 800px;
  background: #f6f7f7;
  height: 224px;
  margin-bottom: 20px;
}
.class_copy h3 {
  color: #008bd1;
  font-size: 1.6em;
  text-align: center;
  padding: 40px 0 !important;
}
.class_copy img {
  float: right;
  width: 400px;
}

@media screen and (max-width: 850px) {
  .course_box01 {
    width: 100%;
    height: auto;
    background: #fbfbfb;
    border: solid #f5f5f5 5px;
  }

  .course_box01 .txt {
    width: 55%;
  }
  .course_box01 .btn {
    width: 42%;
  }

  .class_category {
    margin: 0 0 0 1%;
    font-size: 1.1em;
    height: 80px;
  }
  .class_category li {
    float: left;
    margin-right: 0;
    width: 33%;
    height: 40px;
  }
  .class_category li:last-child {
    margin-right: 0;
  }
  .class_category li div {
    width: 100%;
    border-width: 1px 1px 0 1px;
    border-style: solid;
    border-color: #cccccc;
    height: 40px;
    text-align: center;
    padding-top: 8px;
    font-weight: bold;
    color: #00047d;
    display: block;
    overflow: hidden;
    margin: 0;
  }

  .class_point {
    width: 100%;
  }
  .class_point li {
    float: left;
    height: auto;
    width: 100%;
  }
  .class_point li img {
    width: 100%;
  }

  .class_copy {
    width: 100%;
    background: #f6f7f7;
    height: auto;
    margin-bottom: 20px;
  }
  .class_copy h3 {
    color: #008bd1;
    font-size: 1.6em;
    text-align: center;
    padding: 40px 0 !important;
  }
  .class_copy img {
    float: none;
    width: 100%;
  }
}
@media screen and (max-width: 640px) {
  .course_txt {
    padding-left: 0;
  }
  .course_txt2 {
    padding-left: 0;
  }

  .course_box01 .txt {
    float: none;
    width: 100%;
    margin: 0 auto 10px;
    text-align: center;
  }
  .course_box01 .btn {
    float: none;
    width: 100%;
    text-align: center;
  }
}
@media screen and (max-width: 480px) {
  .course_txt {
    font-size: 100%;
  }

  .course_box01 {
    padding: 15px;
  }
  .course_box01 .txt {
    text-align: left;
  }
  .course_box01 h4 {
    font-size: 115%;
  }
}

/* mirai */
.mirai_box01 .txt {
  width: 415px;
  float: right;
  padding: 5px 0 0;
}
.mirai_box01 .txt p {
  font-size: 108%;
}
@media screen and (max-width: 1020px) {
  .mirai_box01 .fl {
    width: 42%;
  }
  .mirai_box01 .txt {
    width: 55%;
  }
}
@media screen and (max-width: 850px) {
  .mirai_box01 .txt {
    padding: 0;
  }
}
@media screen and (max-width: 640px) {
  .mirai_box01 {
    font-size: 100%;
  }
}
@media screen and (max-width: 480px) {
  .mirai_box01 .fl {
    width: 100%;
  }
  .mirai_box01 .txt {
    width: 100%;
    clear: left;
    padding: 10px 0 0;
  }
}

.mirai_box02 {
  font-size: 108%;
}
.mirai_box02 .clm_l,
.mirai_box02 .clm_c,
.mirai_box02 .clm_r {
  width: 240px;
  box-sizing: content-box;
}

.mirai_box02 .clm_l {
  float: left;
  border: solid #eeeeee;
  border-width: 0 1px 0 0;
  padding: 20px 20px 0 0;
}
.mirai_box02 .clm_c {
  float: left;
  border: solid #eeeeee;
  border-width: 0 1px 0 0;
  padding: 20px 20px 0 20px;
}
.mirai_box02 .clm_r {
  float: right;
  padding: 20px 0 0;
}
.mirai_box02 .txt {
  padding: 10px;
  text-align: left;
}
@media screen and (max-width: 1020px) {
  .mirai_box02 .clm_l,
  .mirai_box02 .clm_c,
  .mirai_box02 .clm_r {
    width: 31%;
    text-align: center;
  }
  .mirai_box02 .clm_l {
    padding: 20px 1.7% 0 0;
  }
  .mirai_box02 .clm_c {
    padding: 20px 1.7% 0 1.7%;
  }
}
@media screen and (max-width: 640px) {
  .mirai_box02 {
    font-size: 100%;
  }
}

.mirai_box03 .clm_l,
.mirai_box03 .clm_c,
.mirai_box03 .clm_r {
  width: 250px;
}
.mirai_box03 .clm_l {
  float: left;
  margin: 0 25px 0 0;
}
.mirai_box03 .clm_c {
  float: left;
  margin: 0;
}
.mirai_box03 .clm_r {
  float: right;
  margin: 0;
}
@media screen and (max-width: 1020px) {
  .mirai_box03 .clm_l,
  .mirai_box03 .clm_c,
  .mirai_box03 .clm_r {
    width: 31%;
    text-align: center;
  }
  .mirai_box03 .clm_l {
    margin: 0 3.5% 0 0;
  }
}

.mirai_box04 {
  border: solid 1px #eeeeee;
  margin-top: -1px;
  font-size: 108%;
}
.mirai_box04 .txt {
  padding: 15px 20px;
}
@media screen and (max-width: 1020px) {
  .mirai_box04 .fr {
    max-width: 48%;
  }
}
@media screen and (max-width: 640px) {
  .mirai_box04 {
    font-size: 100%;
  }
}
@media screen and (max-width: 480px) {
  .mirai_box04 .txt {
    padding: 10px 15px;
  }
}

.mirai_box05 {
  font-size: 125%;
}
.mirai_box05 .step01,
.mirai_box05 .step02,
.mirai_box05 .step03 {
  width: 100%;
  height: 120px;
  margin: 0 0 10px;
  display: table;
}
.mirai_box05 .step03 {
  margin: 0;
}

.mirai_box05 .step {
  display: table-cell;
  width: 150px;
  height: 120px;
  margin: 0;
  text-align: center;
  vertical-align: middle;
  padding: 10px;
  position: relative;
}
.mirai_box05 .step01 .step {
  background: #ff9326;
}
.mirai_box05 .step02 .step {
  background: #9fc058;
}
.mirai_box05 .step03 .step {
  background: #0085b2;
}

.mirai_box05 .step01 .step:after {
  content: url('/images/course/images/mirai_16_arrow.png');
  position: absolute;
  bottom: -36px;
  left: 50%;
  z-index: 10;
  margin-left: -20px;
}
.mirai_box05 .step02 .step:after {
  content: url('/images/course/images/mirai_17_arrow.png');
  position: absolute;
  bottom: -36px;
  left: 50%;
  z-index: 10;
  margin-left: -20px;
}

.mirai_box05 .txt {
  display: table-cell;
  width: 650px;
  height: 120px;
  vertical-align: middle;
  padding: 10px;
  margin: 0;
}
.mirai_box05 .step01 .txt {
  background: #fff4e5;
}
.mirai_box05 .step02 .txt {
  background: #f5f9ed;
}
.mirai_box05 .step03 .txt {
  background: #e5f2f7;
}
@media screen and (max-width: 1020px) {
  .mirai_box05 .step {
    width: 20%;
  }
  .mirai_box05 .txt {
    width: auto;
  }
}
@media screen and (max-width: 640px) {
  .mirai_box05 {
    font-size: 110%;
  }
  .mirai_box05 .step {
    width: 25%;
  }
  .mirai_box05 .txt {
    padding: 10px 10px 10px 5px;
  }
}
@media screen and (max-width: 480px) {
  .mirai_box05 .step {
    width: 30%;
  }
}

.mirai_box06 {
  font-size: 108%;
}
.mirai_box06 .bdr_box {
  border: solid 1px #dddddd;
  padding: 5px;
  font-size: 90%;
  text-align: center;
}
.mirai_box06 dl {
  border: 1px solid #ccc;
  background: #f1f9fa;
  border-bottom: none;
}
.mirai_box06 dl.end {
  border: 1px solid #ccc;
}
.mirai_box06 dt {
  float: left;
  width: 14%;
  clear: both;
  padding: 10px;
  display: block;
  text-align: center;
}
.mirai_box06 dd {
  float: right;
  width: 86%;
  padding: 10px;
  background: #fff;
  display: block;
}

@media screen and (max-width: 1020px) {
  .mirai_box06 .bdr_box {
    margin: 0 0 40px;
  }
}
@media screen and (max-width: 640px) {
  .mirai_box06 {
    font-size: 100%;
  }
  .mirai_box06 table {
    font-size: 100% !important;
  }
  .mirai_box06 dt {
    float: left;
    width: 30%;
    clear: both;
    padding: 10px;
    display: block;
    text-align: center;
  }
  .mirai_box06 dd {
    float: right;
    width: 70%;
    padding: 10px;
    background: #fff;
    display: block;
  }
}

/* 教室を探す */
.school_box01 {
  margin: 0 0 20px;
}
.school_box01 .clm2_l {
  float: left;
  margin: 0;
}
.school_box01 .clm2_r {
  float: right;
  margin: 0;
}

.school_ttl {
  text-align: center;
  position: relative;
  overflow: hidden;
}
.school_ttl h2 {
  font-size: 2.2em;
  color: #000079;
}
.school_ttl .tel {
  font-size: 1.6em;
  color: #000079;
}
.school_ttl .tel a {
  text-decoration: underline;
  color: #000079;
}

.open_announce {
  background: #cc0000;
  color: #ffffff;
  padding: 10px;
  line-height: 1em;
  border-radius: 5px;
  display: inline-block;
  font-size: 0.75em;
}

@media screen and (min-width: 768px) {
  .school_ttl .tel a {
    text-decoration: none;
  }
  a[href^='tel:'] {
    pointer-events: none;
  }
}

.school_ttl .submenu {
  width: 700px;
  margin: 0 auto;
  border-width: 1px 0 1px 0;
  border-style: solid;
  border-color: #ccc;
  padding: 10px 0;
}

.school_ttl ul {
  position: relative;
  left: 50%;
  float: left;
  margin: 0;
}
.school_ttl ul li {
  float: left;
  margin-right: 10px;
  padding-right: 10px;
  border-right: 1px solid #ccc;
  position: relative;
  left: -50%;
}
.school_ttl ul li:last-child {
  float: left;
  margin-right: 0px;
  padding-right: 0px;
  border-right: none;
}

@media screen and (max-width: 640px) {
  .school_ttl h2 {
    font-size: 1.8em;
    color: #000079;
  }
  .school_ttl .submenu {
    width: 80%;
    margin: 0 auto;
    border-width: 1px 1px 0px 1px;
    border-style: solid;
    border-color: #ccc;
    padding: 0;
  }

  .school_ttl ul {
    position: relative;
    left: 0%;
    float: none;
    margin: 0;
  }
  .school_ttl ul li {
    float: none;
    margin-right: 0px;
    padding: 8px 0px;
    border-right: none;
    position: relative;
    border-bottom: 1px solid #ccc;
    left: 0;
    width: 100%;
  }
  .school_ttl ul li:last-child {
    float: none;
    margin-right: 0px;
    padding-right: 0px;
    border-right: none;
  }
}

.school_announce {
  background: #ea69a2;
  padding: 10px;
  color: #ffff;
  font-weight: bold;
  text-align: center;
  margin: 10px 0;
  border-radius: 2px;
  clear: both;
  font-size: 1.1em;
  line-height: 1.4em;
  display: inline-block;
}

.school_midashi {
  border-width: 2px 7px;
  border-style: solid;
  border-color: #000079;
  background: #fff;
  padding: 10px;
  color: #000079;
  font-size: 1.6em;
  text-align: center;
}

.school_ph {
  width: 240px;
  float: right;
  margin-left: 20px;
}

.school_ph2 {
  width: 240px;
  float: left;
  margin-right: 20px;
}

.area3block ul li {
  background: url(../images/school/images/school_bg.jpg) repeat-x;
  border: 1px solid #eee;
  padding: 10px;
  text-align: center;
  width: 260px;
  float: left;
  margin-right: 10px;
}

.area3block ul li:last-child {
  margin-right: 0;
}

.area3block .w_wide {
  width: 540px;
  float: left;
}
.area3block .w_tight {
  width: 260px;
  float: left;
}

.area4block ul li {
  background: url(../images/school/images/school_bg.jpg) repeat-x;
  border: 1px solid #eee;
  padding: 10px;
  text-align: center;
  width: 192px;
  float: left;
  margin-right: 8px;
}

.area4block .w_half {
  width: 400px;
  float: left;
}

.area4block ul li:last-child {
  margin-right: 0;
}

.school_box02 {
  margin: 0 0 20px;
}
.school_box02 .clm2_l {
  float: left;
  width: 460px;
  margin: 0;
}
.school_box02 .clm2_r {
  float: right;
  width: 320px;
  margin: 0;
}
.school_box02 .clm2_r .map_box {
  border: solid 1px #eeeeee;
  padding: 9px;
  margin: 0 auto 10px;
  text-align: center;
}

.school_box03 {
  margin: 0 0 20px;
}
.school_box03 p {
  margin-top: 5px !important;
}
.school_box03 .photo_l {
  float: left;
}
.school_box03 .photo_r {
  float: right;
}
.school_box03 .photo2_l {
  float: left;
  width: 390px;
}
.school_box03 .photo2_r {
  float: right;
  width: 390px;
}
.school_box03 .photo3_l {
  float: left;
  width: 504px;
}
.school_box03 .photo3_r {
  float: right;
  width: 288px;
}
.school_box04 .photo_l {
  float: left;
  width: 370px;
}
.school_box04 .photo_r {
  float: right;
  width: 370px;
}

.school_box05 {
  margin: 20px auto;
  background: #f0f0f0;
  padding: 10px;
  width: 720px;
}
.school_box05 .clm2_l {
  float: left;
  width: 470px;
  margin: 0;
  text-align: left;
  font-size: 0.9em;
}
.school_box05 h5 {
  color: #666666;
  font-size: 1.2em;
  border-left: 5px solid #999999;
  padding-left: 5px;
  margin: 10px 0 20px;
}
.school_box05 .clm2_r {
  float: right;
  width: 220px;
  margin: 0;
}
.school_box05 .clm2_r .map_box {
  border: solid 1px #eeeeee;
  padding: 9px;
  margin: 0 auto;
  text-align: center;
  background: #ffffff;
}

.school_box_voice .clm2_l {
  width: 300px;
  float: left;
  margin-right: 20px;
}
.school_box_voice .clm2_r {
  width: 320px;
  float: right;
}
.school_box_voice .prof {
  width: 150px;
  float: right;
  margin-bottom: 20px;
}
.school_box_voice .clm2_l img,
.school_box_voice .clm2_r img {
  width: 24px;
  margin: 0 10px 20px;
  vertical-align: middle;
}

.media_news {
  background: #eaf7ff;
  border: 2px solid #1d2087;
  padding: 20px;
  margin-bottom: 50px;
}
.media_news {
  margin: 0 0 20px;
}
.media_news .photo2_l {
  float: left;
  width: 370px;
  margin-bottom: 10px;
}
.media_news .photo2_r {
  float: right;
  width: 370px;
  margin-bottom: 10px;
}
.media_news .ico {
  float: left;
  width: 70px;
  margin-right: 20px;
}
.media_news .ico img {
  width: 100%;
}
.media_news .media_btn {
  text-align: center !important;
  width: 280px;
  margin: 0 0 0 250px;
}

.event_news {
  background: #f2f8ee;
  border: 2px solid #7dc04d;
  padding: 20px;
  margin-bottom: 50px;
  text-align: center;
}
.event_news {
  margin: 0 0 20px;
}
.event_news h4 {
  color: #7dc04d;
  font-size: 2em !important;
  text-align: center;
}
.event_news strong {
  color: #7dc04d;
  font-weight: 900;
}
.event_news .event_sch {
  padding: 15px;
  color: #ffffff;
  background-color: #7dc04d;
  line-height: 1.6em;
  border-radius: 10px;
  font-size: 1.2em;
  margin: 0 auto 10px;
  width: 370px;
  font-weight: 900;
}
.event_news .event_sch dt {
  width: 110px;
  float: left;
  text-align: left;
}
.event_news .event_sch dd {
  width: 220px;
  float: left;
  text-align: left;
}

.event_news .event_notice {
  display: inline-block;
  padding: 6px 12px;
  border: 2px solid #cc0000;
  color: #cc0000;
  background-color: #ffffff;
}

.bygrade {
  background: url(../images/school/images/mitaka_waku02.png) repeat-y;
  padding: 5px 32px 0;
  background-size: 800px;
}

.school_voice01 {
  background: url(../images/school/images/school_voice_ico01.png) no-repeat top left;
  background-size: 30px;
  padding: 7px 0 3px 40px;
}
.school_voice02 {
  background: url(../images/school/images/school_voice_ico02.png) no-repeat top left;
  background-size: 30px;
  padding: 7px 0 3px 40px;
}
.school_voice03 {
  background: url(../images/school/images/school_voice_ico03.png) no-repeat top left;
  background-size: 30px;
  padding: 7px 0 3px 40px;
}
.school_voice04 {
  background: url(../images/school/images/school_voice_ico04.png) no-repeat top left;
  background-size: 30px;
  padding: 7px 0 3px 40px;
}

.school_promo {
  margin: 0 0 20px;
  border: 1px dotted #999;
  padding: 19px;
}
.school_promo h3 {
  background: url(../images/school/images/school_promo_ttl.gif) repeat-x;
  color: #fff;
  text-align: center;
  font-size: 1.8em;
  height: 55px;
  padding-top: 10px;
}
.school_promo #intro {
  background: #e5f3fa;
  padding: 10px;
  line-height: 160%;
  margin-bottom: 20px;
}
.school_promo #h4_area {
  background: url(../images/school/images/school_promo_sttl.gif) no-repeat;
  padding: 0 0 0 10px;
}
.school_promo #h4_area span {
  float: right;
  text-align: right;
  font-size: 1.2em;
  margin-top: 5px;
  line-height: 100%;
}
.school_promo #h4_area h4 {
  float: left;
  color: #00007d;
  font-size: 1.2em;
}

.school_promo #h4_area_h {
  background: url(../images/school/images/school_promo_sttl2.gif) no-repeat bottom;
  padding: 0 0 0 10px;
  height: 40px;
  margin-bottom: 10px;
}
.school_promo #h4_area_h span {
  float: right;
  text-align: right;
  font-size: 1.2em;
  margin-top: 5px;
  line-height: 100%;
}
.school_promo #h4_area_h h4 {
  float: left;
  color: #00007d;
  font-size: 1.2em;
}

.school_promo p.txt {
  clear: both;
  float: left;
  background: url(../images/school/images/school_promo_arrow.gif) no-repeat;
  padding-left: 10px;
  text-align: left;
}
.school_promo .comment {
  float: right;
  color: #00007d;
  text-align: right;
}
.school_promo hr {
  clear: both;
  border: 0;
  height: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

.trainer_prof {
  border: 1px solid #eeeeee;
  background-color: #f9f9f9;
  padding: 20px;
  margin-bottom: 20px;
}
.trainer_prof dl {
  font-weight: normal;
}
.trainer_prof dt {
  width: 8%;
  float: left !important;
  margin-bottom: 5px;
}
.trainer_prof dd {
  float: left;
  width: 92%;
  margin-bottom: 5px;
}

@media screen and (max-width: 1020px) {
  .school_box01 {
    width: 100%;
    max-width: 800px;
    margin: 0 auto 20px;
  }
  .school_box01 .clm2_l {
    width: 49%;
  }
  .school_box01 .clm2_r {
    width: 49%;
  }

  .area3block ul li,
  .area4block ul li {
    width: 49%;
  }
  .area3block ul li:nth-child(even),
  .area4block ul li:nth-child(even) {
    margin-right: 0;
  }

  .area3block .w_wide {
    width: 100%;
    float: left;
    margin-bottom: 20px;
  }
  .area3block .w_tight {
    width: 100%;
    float: left;
    margin-bottom: 20px;
  }
  .area4block .w_half {
    width: 100%;
    float: left;
    margin-bottom: 20px;
  }

  .school_box02 {
    width: 100%;
    margin: 0 auto 20px;
  }
  .school_box02 .clm2_l {
    width: 60%;
  }
  .school_box02 .clm2_r {
    width: 38%;
  }
  .school_box03 br {
    display: none;
  }
  .school_box03 .photo_l {
    width: 100%;
    float: none;
  }
  .school_box03 .photo_r {
    width: 100%;
    float: none;
  }
  .school_box03 .photo2_l {
    width: 100%;
    float: none;
  }
  .school_box03 .photo2_r {
    width: 100%;
    float: none;
  }

  .school_box03 .photo3_l {
    width: 100%;
    float: none;
  }
  .school_box03 .photo3_r {
    width: 100%;
    float: none;
  }

  .school_box04 .photo_l {
    width: 100%;
    float: none;
  }
  .school_box04 .photo_r {
    width: 100%;
    float: none;
  }

  .school_box05 {
    width: 100%;
    margin: 20px auto 20px;
  }
  .school_box05 .clm2_r {
    width: 100%;
    float: none;
  }
  .school_box05 .clm2_l {
    width: 100%;
    float: none;
    margin-bottom: 20px;
  }
  .school_box05 .clm2_r .map_box img {
    width: 70%;
  }

  .school_box03 .photo_l img,
  .school_box03 .photo_r img,
  .school_box03 .photo2_l img,
  .school_box03 .photo2_r img {
    width: 100%;
  }
}

@media screen and (max-width: 800px) {
  .school_box_voice .clm2_l {
    width: 100%;
    float: none;
  }
  .school_box_voice .clm2_r {
    width: 100%;
    float: none;
  }
  .school_box_voice .prof {
    width: 50%;
    float: none;
    margin-left: 25%;
  }
  .school_box_voice .prof img {
    width: 100%;
  }
  .media_news .photo2_l {
    float: none;
    width: 100%;
  }
  .media_news .photo2_r {
    float: none;
    width: 100%;
  }
  .media_news .media_btn {
    text-align: center;
  }
  .bygrade {
    background: url(../images/school/images/mitaka_waku02.png) repeat-y;
    padding: 10px 5%;
    background-size: 100%;
    line-height: 1.2em !important;
  }
}

@media screen and (max-width: 640px) {
  .school_ph,
  .school_ph2 {
    width: 100%;
    float: none;
    margin-left: 0;
    margin-bottom: 20px;
  }
  .school_ph img,
  .school_ph2 img {
    width: 100%;
  }
  .school_box02 .clm2_l:nth-child(3) {
    width: 100%;
    clear: both;
  }

  .event_news .event_sch {
    padding: 15px;
    color: #ffffff;
    background-color: #7dc04d;
    line-height: 1.6em;
    border-radius: 10px;
    font-size: 1.2em;
    margin: 0 auto 10px;
    width: 100%;
    font-weight: 900;
  }
  .event_news .event_sch dt {
    width: 35%;
    float: left;
    text-align: left;
  }
  .event_news .event_sch dd {
    width: 65%;
    float: left;
    text-align: left;
  }

  .school_promo {
    margin: 0 0 20px;
    border: 1px dotted #999;
    padding: 9px;
  }
  .school_promo h3 {
    padding-top: 13px;
    font-size: 1.3em;
  }
  .school_promo #h4_area h4 {
    float: none !important;
    color: #00007d;
    font-size: 1.3em;
    margin: 0 0 5px;
    clear: both;
    padding: 0;
  }
  .school_promo #h4_area {
    background: none !important;
    border-left: 4px solid #dddddd;
    border-bottom: 2px solid #00007d;
    padding: 0 0 5px 5px !important;
    margin-bottom: 10px;
  }
  .school_promo #h4_area span {
    float: left !important;
    text-align: left;
    line-height: 0;
    margin-top: 5px;
    margin-bottom: 5px;
    padding: 0 0 5px;
  }
  .school_promo p.txt {
    clear: both;
    float: none !important;
    background: url(../images/school/images/school_promo_arrow.gif) no-repeat;
    padding-left: 10px;
    text-align: left;
    margin: 0 0 10px;
  }

  .school_promo #h4_area_h h4 {
    float: none !important;
    color: #00007d;
    font-size: 1.3em;
    margin: 0 0 5px;
    clear: both;
    padding: 0;
  }
  .school_promo #h4_area_h {
    background: none !important;
    border-left: 4px solid #dddddd;
    border-bottom: 2px solid #00007d;
    padding: 0 0 80px 5px !important;
    margin-bottom: 10px;
  }
  .school_promo #h4_area_h span {
    float: left !important;
    text-align: left;
    line-height: 100%;
    margin-top: 5px;
    margin-bottom: 5px;
    padding: 0 0 5px;
  }

  .trainer_prof dt {
    width: 20%;
    float: left;
    margin-bottom: 5px;
  }
  .trainer_prof dd {
    float: left;
    width: 80%;
    margin-bottom: 5px;
  }

  .media_news .media_btn {
    text-align: center !important;
    width: 280px;
    margin: 0 auto;
  }
}

@media screen and (max-width: 480px) {
  .area3block ul li,
  .area4block ul li {
    width: 48%;
  }

  .school_box01 .clm2_l,
  .school_box01 .clm2_r {
    float: none;
    width: 100%;
    text-align: center;
  }

  .school_box02 .clm2_l,
  .school_box02 .clm2_r {
    float: none;
    width: 100%;
  }
}
@media screen and (max-width: 360px) {
  .event_news .event_sch {
    padding: 15px;
    color: #ffffff;
    background-color: #7dc04d;
    line-height: 1.6em;
    border-radius: 10px;
    font-size: 1em;
    margin: 0 auto 10px;
    width: 100%;
    font-weight: 900;
  }
  .event_news .event_sch dt {
    width: 40%;
    float: left;
    text-align: left;
  }
  .event_news .event_sch dd {
    width: 60%;
    float: left;
    text-align: left;
  }
}

@media screen and (max-width: 640px) {
  .zenis br {
    display: none;
  }
}

.more_btn {
  display: inline-block;
  width: 300px;
  background-color: #1d2087;
  color: #ffffff;
  padding: 15px;
  text-decoration: none;
  text-align: center;
  margin: 0 0 30px 250px;
  border-bottom: solid 2px #0e105a; /*少し濃い目の色に*/
  border-radius: 5px; /*角の丸み*/
  box-shadow:
    inset 0 2px 0 rgba(255, 255, 255, 0.2),
    0 2px 2px rgba(0, 0, 0, 0.19);
}

#routebox {
  display: none;
  overflow: hidden;
}

.more_btn2 {
  display: inline-block;
  width: 400px;
  background-color: #1d2087;
  color: #ffffff;
  padding: 15px;
  text-decoration: none;
  text-align: center;
  margin: 0 0 30px 200px;
  border-bottom: solid 2px #0e105a; /*少し濃い目の色に*/
  border-radius: 5px; /*角の丸み*/
  box-shadow:
    inset 0 2px 0 rgba(255, 255, 255, 0.2),
    0 2px 2px rgba(0, 0, 0, 0.19);
}

.course_btn a {
  display: inline-block;
  width: 300px;
  background-color: #008cce;
  color: #ffffff;
  padding: 15px;
  text-decoration: none;
  text-align: center;
  margin: 0 0 30px 250px;
  border-bottom: solid 2px #0e105a; /*少し濃い目の色に*/
  border-radius: 5px; /*角の丸み*/
  box-shadow:
    inset 0 2px 0 rgba(255, 255, 255, 0.2),
    0 2px 2px rgba(0, 0, 0, 0.19);
  clear: both;
}

.access_btn a {
  display: inline-block;
  width: 280px;
  background-color: #ffffff;
  color: #666666;
  padding: 15px;
  text-decoration: none;
  text-align: center;
  margin: 0 0 30px 90px;
  border: solid 2px #999999; /*少し濃い目の色に*/
  border-radius: 5px; /*角の丸み*/
}

#log {
  display: none;
  overflow: hidden;
}

#interviewone {
  display: none;
  overflow: hidden;
}
#interviewtwo {
  display: none;
  overflow: hidden;
}
#interviewthree {
  display: none;
  overflow: hidden;
}
#interviewfour {
  display: none;
  overflow: hidden;
}
#interviewfive {
  display: none;
  overflow: hidden;
}
#interviewsix {
  display: none;
  overflow: hidden;
}

.school_route li {
  width: 32%;
  margin: 0 2% 30px 0;
  float: left;
}
.school_route li img {
  width: 100%;
}
.school_route li:nth-child(3n) {
  margin-right: 0%;
}

@media screen and (max-width: 640px) {
  .more_btn {
    display: inline-block;
    width: 50%;
    background-color: #1d2087;
    color: #ffffff;
    padding: 15px;
    text-decoration: none;
    text-align: center;
    margin: 0 25% 30px;
  }
  .school_route li {
    width: 80%;
    margin: 0 10% 30px;
    float: none;
  }
  .school_route li img {
    width: 100%;
  }
  .school_route li:nth-child(3n) {
    margin: 0 10% 30px;
  }
  .more_btn2,
  .more_btn {
    display: inline-block;
    width: 64%;
    margin: 0 0 10px 18%;
    padding: 5px;
  }
  .course_btn a {
    display: inline-block;
    width: 80%;
    margin: 0 0 30px 10%;
  }
  .access_btn a {
    display: inline-block;
    width: 86%;
    margin: 0 0 30px;
  }
}

.eve_border_box {
  border: 1px solid #000;
  padding: 1em;
  margin-bottom: 1em;
}
.eve_border_box ul {
  margin-bottom: 0;
}
.eve_border_box li {
  list-style-type: none;
  position: relative;
  padding-left: 1em;
}
.eve_border_box li:before {
  border-radius: 50%;
  width: 6px;
  height: 6px;
  display: block;
  position: absolute;
  left: 0;
  top: 0.6em;
  content: '';
  background: #fc4a89;
}
.eve_border_box li:last-child {
  margin-bottom: 0;
}

.c_test_2023 {
  display: flex;
  width: 100%;
  flex-wrap: nowrap;
  justify-content: space-around;
}
.c_test_2023 div {
  width: 48%;
  text-align: center;
}
.c_test_2023 div img {
  width: 100%;
  max-height: 230px;
  margin-bottom: 0;
}
.c_test_2023 div .t_name {
  font-weight: bold;
  padding: 0.5em;
  margin-bottom: 0;
  border: solid 1px #000;
}

@media screen and (max-width: 375px) {
  .c_test_2023 {
    flex-direction: column;
  }
  .c_test_2023 div {
    width: 100%;
  }
  .c_test_2023 div:first-child {
    margin-bottom: 1em;
  }
}

/* FAQ */
.q {
  text-decoration: none;
  padding: 0 0 10px;
  margin: 0 0 10px;
}
.q dd {
  padding: 0;
  margin: 20px 0 0;
  position: relative;
}

.q a.open {
  background: url('../images/ico_open.png') no-repeat 100% 50%;
  padding: 0 15px 0 0;
}
.q a.close {
  position: absolute;
  top: 10px;
  right: 10px;
}

.q01 {
  background: url('../images/q01.png') no-repeat 0 50%;
  padding: 10px 0 10px 40px;
}
.q02 {
  background: url('../images/q02.png') no-repeat 0 50%;
  padding: 10px 0 10px 40px;
}
.q03 {
  background: url('../images/q03.png') no-repeat 0 50%;
  padding: 10px 0 10px 40px;
}
.q04 {
  background: url('../images/q04.png') no-repeat 0 50%;
  padding: 10px 0 10px 40px;
}
.q05 {
  background: url('../images/q05.png') no-repeat 0 50%;
  padding: 10px 0 10px 40px;
}
.q06 {
  background: url('../images/q06.png') no-repeat 0 50%;
  padding: 10px 0 10px 40px;
}
.q07 {
  background: url('../images/q07.png') no-repeat 0 50%;
  padding: 10px 0 10px 40px;
}
.q08 {
  background: url('../images/q08.png') no-repeat 0 50%;
  padding: 10px 0 10px 40px;
}
.q09 {
  background: url('../images/q09.png') no-repeat 0 50%;
  padding: 10px 0 10px 40px;
}

.answer_voice {
  border: 3px solid #eeeeee;
  padding: 20px;
  border-radius: 10px;
}
.answer_img {
  width: 120px;
  float: right;
  margin-left: 10px;
  margin-bottom: 10px;
}

.faq_admission_btn {
  text-align: center;
  margin: 30px 0;
  width: 100%;
}
.faq_admission_btn li {
  display: inline-block;
  margin: 0 3px;
}

@media screen and (max-width: 1020px) {
  .faq_admission_btn li {
    width: 30%;
    margin: 0 1% 30px;
  }
}

@media screen and (max-width: 640px) {
  .answer_img {
    width: 30%;
    float: right;
    margin-left: 10px;
    margin-bottom: 10px;
  }
}

/* フォーム */
#contact_tbl td {
  font-size: 90%;
}

#enq_tbl th.not {
  background-color: #bebebe !important;
}

.namebox {
  display: inline-block;
  margin: 0 20px 0 0;
}

label {
  margin-left: 5px;
  vertical-align: middle;
}
input[type='text'] {
  border: solid 1px #dddddd;
  height: 19px;
  vertical-align: middle;
}
textarea {
  border: solid 1px #dddddd;
}
input[type='checkbox'],
input[type='radio'] {
  width: 19px;
  height: 19px;
  vertical-align: middle;
}
input[type='image'] {
  max-width: 100%;
}
select {
  margin-right: 10px;
}
textarea {
  vertical-align: top;
}

input[type='image'] {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
input[type='image']:hover {
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
}

.privacy_box {
  padding: 15px;
  border: solid 1px #eeeeee;
  height: 300px;
  overflow-y: auto;
}

.btn_box {
  text-align: center;
  margin: 0 0 30px;
}

.btn_box input[type='submit'] {
  border: none;
  border-color: #ccc #ccc #bbb #ccc;
  border-radius: 3px;
  background: #004ba3 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.5),
    inset 0 15px 17px rgba(255, 255, 255, 0.5),
    inset 0 -5px 12px rgba(0, 0, 0, 0.05);
  color: #fff !important;
  cursor: pointer;
  font-size: 1.2em !important;
  -webkit-appearance: button;
  appearance: button;
  line-height: 1;
  padding: 1.5em 4.5em !important;
  margin-bottom: 50px;
}

@media screen and (max-width: 1020px) {
  .btn_box input[type='image'] {
    display: inline-block;
    max-width: 49%;
    margin: 0 0.5% auto !important;
  }
  .privacy_box {
    margin: 0 0 30px;
  }
}
@media screen and (max-width: 640px) {
  .namebox {
    margin: 0 0 5px 0;
  }

  input[type='checkbox'],
  input[type='radio'] {
    width: auto;
    height: auto;
  }

  label {
    margin-left: 0;
  }
  label.tx_large {
    font-size: 100% !important;
  }

  #contact_tbl span {
    display: inline-block;
  }

  #contact_tbl .w80 {
    width: 16% !important;
  }
  #contact_tbl .w200 {
    width: 40% !important;
  }
  #contact_tbl .w240 {
    width: 40% !important;
  }
  #contact_tbl .w320 {
    width: 90% !important;
  }

  #contact_tbl textarea.w500 {
    width: 98% !important;
  }

  #enq_tbl .w600,
  #enq_tbl .w600 {
    width: 90% !important;
  }

  .privacy_box {
    height: 200px;
    padding: 10px;
  }
}

@media screen and (max-width: 480px) {
  .namebox {
    display: block;
    margin: 0 0 5px 0;
  }

  #contact_tbl {
    font-size: 80%;
  }
  #enq_tbl {
    font-size: 80%;
  }

  #contact_tbl th,
  #entry_tbl02 td {
    padding: 3px;
  }
  #contact_tbl input[type='text'].w160 {
    width: 30% !important;
  }

  input[type='checkbox'],
  input[type='radio'] {
    width: auto;
    height: auto;
  }

  label {
    margin-left: 0;
  }
  label.tx_large {
    font-size: 100% !important;
  }

  .privacy_box {
    height: 150px;
  }
}

/* お知らせ */
.news_list li {
  padding: 5px 0;
  margin: 5px auto;
  border-bottom: 1px dotted #999999;
  width: 80%;
}
.news_list li .date {
  color: #080279;
  background: url(../news/images/arrow.gif) no-repeat right top;
  padding-right: 18px;
  margin-right: 10px;
}
.links {
  text-align: center;
}
.links a {
  display: inline-block;
  padding: 4px 7px;
  line-height: 100%;
  border: 1px solid #ddd;
  color: #333 !important;
  text-decoration: none !important;
  margin: 0 3px;
}
.links a.arrow {
  display: inline-block;
  padding: 5px 8px;
  line-height: 100%;
  margin: 0 3px;
  border: none !important;
  color: #0033a0 !important;
}
.links b {
  display: inline-block;
  padding: 5px 8px;
  background-color: #080279;
  line-height: 100%;
  color: #fff;
  margin: 0 3px;
}

.news_detail {
  margin: 5px auto;
  width: 80%;
}
.update {
  font-size: 0.9em;
  color: #080279;
  margin-bottom: 10px;
}

@media screen and (max-width: 1020px) {
  .news_list li .date {
    background: none;
    display: inline-block;
    width: 100%;
    padding-right: 0px;
    margin-right: 0px;
  }
  .news_list li .title {
    background: url(../news/images/arrow.gif) no-repeat left top;
    padding-left: 18px;
    margin-right: 10px;
  }
  .links {
    text-align: center;
    margin-bottom: 20px;
  }
}

#tagline {
  background: #f1f1f1;
  padding: 14px;
  height: 40px;
  text-align: left;
  line-height: 1;
  font-size: 0.8em;
  position: fixed;
  z-index: 1000;
  width: 100%;
  top: 0;
}
.contact_btn01 {
  position: fixed;
  right: 200px;
  top: 0;
}
.contact_btn02 {
  position: fixed;
  right: 80px;
  top: 0;
}
.contact_btn03 {
  position: fixed;
  right: 0;
  top: 0;
}

@media screen and (max-width: 1020px) {
  #tagline {
    display: none;
  }
}

.column_contents {
  width: 100%;
  float: none;
}

.column_contents ol,
.column_contents ul {
  list-style-position: inside;
}

.column_contents div ol,
.column_contents div ul {
  margin: 0 auto;
}

.column_contents ol {
  list-style-type: decimal;
}
.column_contents ul {
  list-style-type: disc;
}

.column_contents p:last-child {
  margin: 0 auto;
}

.column_contents ul li,
.column_contents ol li {
  margin-bottom: 1rem;
}
.column_contents ul li:last-child,
.column_contents ol li:last-child {
  margin-bottom: 0;
}

.column_contents td.column_td {
  background: #ccffff !important;
  padding: 20px !important;
}

.column_contents .more_detail a {
  display: inline-block;
  color: #020b79;
  border: solid 1px #020b79;
  padding: 10px 35px 10px 10px;
  font-weight: bold;
  text-decoration: none;
  font-size: 110%;
  position: relative;
  margin: 0 auto 20px;
  width: 130px;
  margin-left: 335px;
}
.column_contents .more_detail a:after {
  content: url('../images/course/images2019/summer_arrow01.png');
  position: absolute;
  right: 13px;
  top: 50%;
  line-height: 0;
  margin: -6px 0 0 0;
}

@media screen and (max-width: 640px) {
  .column_contents .more_detail a {
    display: inline-block;
    color: #020b79;
    border: solid 1px #020b79;
    padding: 10px 35px 10px 10px;
    font-weight: bold;
    text-decoration: none;
    font-size: 110%;
    position: relative;
    margin: 0 auto 20px;
    width: 40%;
    margin-left: 30%;
  }
}

.column_contents .h2_bdr_large {
  border: solid #dddddd;
  border-width: 0 0 1px;
}

.column_contents h2 {
  font-size: 1.6em;
  font-weight: bold;
  color: #1d2087;
  border-bottom: solid 2.5px;
}
.column_contents h3 {
  font-size: 1.3em;
  font-weight: bold;
  margin: 1.75em 0 1em;
  border-left: solid 6.5px;
  padding-left: 0.5rem;
}
.column_contents h4 {
  font-size: 1.1em;
  font-weight: bold;
  text-decoration: underline;
}

@media screen and (max-width: 640px) {
  .column_contents h2 {
    font-size: 1.4em;
    border-bottom: solid 2px;
  }
  .column_contents h3 {
    font-size: 1.2em;
  }
}

.column_update {
  color: #060079;
  font-size: 0.9em;
  margin-bottom: 30px;
}

.column_navi {
  margin-top: 30px;
  float: none;
  width: 100%;
}

.column_navi .h3 {
  border: solid #dddddd;
  border-width: 0 0 1px;
  font-size: 1.3em;
  padding-bottom: 10px;
}
.column_navi ul {
  margin: 0 0 20px 20px;
}
.column_navi li {
  list-style: disc;
}
.date_list li {
  padding: 0 0 10px;
  border-bottom: 1px dotted #cccccc;
  margin-bottom: 10px;
}

.widget-container {
  list-style: none !important;
}

.calendar_block {
  width: 260px;
  float: left;
  margin-right: 30px;
}
.category_block {
  width: 240px;
  float: left;
  margin-right: 30px;
}
.entry_block {
  width: 240px;
  float: left;
}

@media screen and (max-width: 1020px) {
  .column_contents {
    width: 100%;
    float: none;
  }
  .column_navi {
    float: none;
    width: 100%;
  }

  .calendar_block {
    width: 100%;
    float: none;
    margin-right: 0px;
  }
  .category_block {
    width: 100%;
    float: none;
    margin-right: 0px;
  }
  .entry_block {
    width: 100%;
    float: none;
  }
}

@media screen and (max-width: 780px) {
  .spring_l {
    background: #f6f8f6;
    width: 100%;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    float: none;
    padding: 20px;
    min-height: 60px;
    margin-bottom: 20px;
  }
  .spring_r {
    background: #f6f8f6;
    width: 100%;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    float: none;
    padding: 20px;
    min-height: 60px;
  }
  .spring_l dt {
    color: #156700;
    text-align: center;
    margin-bottom: 10px;
    font-size: 1.1em;
  }
  .spring_r dt {
    color: #156700;
    text-align: center;
    margin-bottom: 10px;
    font-size: 1.1em;
  }
  .spring_l br {
    display: none;
  }
}

.summer2018_title {
  background: url('../images/course/images/summer_2018_ttl.jpg') no-repeat;
  background-size: contain;
  width: 100%;
  padding-top: 50%;
  display: block;
  text-indent: -9999px;
  margin: 0 0 30px;
}
.summer2018_h3 {
  background: url('../images/course/images/summer_2018_h_bg.jpg') no-repeat;
  width: 800px;
  height: 50px;
  text-align: center;
  color: #ffffff;
  font-weight: bold;
  font-size: 1.4em;
  padding-top: 12px;
}
.summer2018_h4 {
  background-color: #eeeeee;
  padding: 10px;
  font-size: 1.2em;
}

dl.summer2018 {
  list-style: none !important;
}
dl.summer2018 dt {
  text-indent: -1em !important;
  padding-left: 1em !important;
  width: 100px;
  float: left;
  border-bottom: 1px dotted #dddddd;
  padding-bottom: 10px;
  margin-top: 10px;
}
dl.summer2018 dt:before {
  content: '● ';
  color: #179ad6;
}
dl.summer2018 dd {
  width: 700px;
  float: left;
  border-bottom: 1px dotted #dddddd;
  padding-bottom: 10px;
  margin-top: 10px;
}

@media screen and (max-width: 780px) {
  .summer2018_h3 {
    background-image: none;
    background-color: #179ad6;
    width: 100%;
    height: auto;
    text-align: center;
    color: #ffffff;
    font-weight: bold;
    font-size: 1.2em;
    padding: 10px 0;
  }
  dl.summer2018 dt {
    width: 100%;
    float: none;
    border: none;
    padding-bottom: 0px;
    margin-top: 10px;
  }
  dl.summer2018 dt:before {
    content: '● ';
    color: #179ad6;
  }
  dl.summer2018 dd {
    width: 100%;
    float: none;
    border-bottom: 1px dotted #dddddd;
    padding-bottom: 10px;
    margin-top: 0px;
    padding-left: 1.4em !important;
  }
}

.counseling {
  border: 1px solid #3ba0ce;
  padding: 30px 50px;
  margin-bottom: 50px;
  width: 800px;
  color: #3ba0ce;
  font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  border-radius: 5px; /* CSS3草案 */
  -webkit-border-radius: 5px; /* Safari,Google Chrome用 */
  -moz-border-radius: 5px; /* Firefox用 */
  font-size: 1.2em;
}

.counseling dt {
  border-bottom: 1px solid #3ba0ce;
  margin-bottom: 20px;
  padding-bottom: 10px;
  text-align: center;
  font-size: 1.4em;
  font-weight: bold;
}

@media screen and (max-width: 1020px) {
  .winter2016_sp {
    background: url('../images/campaign/images/winter_campaign_sp.png') no-repeat 0 0;
    width: 100%;
    height: 100%;
  }
}

.results_area {
  width: 800px;
  background-color: #fff6da;
  padding: 10px;
  margin-bottom: 30px;
}

.results_area h3 {
  font-size: 1.4em !important;
  text-align: center !important;
  margin-bottom: 5px;
  color: #b25900;
}

.results {
  border-left: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  width: 757px;
  background-color: #fff;
  margin: 0 auto 10px;
}

.results dl {
  width: 189px;
  border-top: 1px solid #ddd;
  border-right: 1px solid #ddd;
  padding: 10px;
  float: left;
  margin: 0;
}

.results dl dt {
  width: 135px;
  float: left;
  margin: 0;
  padding: 0;
}

.results dl dd {
  width: 24px;
  float: right;
  text-align: right;
  margin: 0;
  padding: 0;
  color: #f90;
}

.results_area p {
  margin-left: 10px;
  margin-bottom: 0;
}

#result2021,
#result2020,
#result2019,
#result2018 {
  display: none;
  overflow: hidden;
}

.result_date {
  background: #fc4a89;
  padding: 10px;
  text-align: right;
  color: #ffffff;
  line-height: 1em;
  margin: 0 0 20px;
  font-weight: bold;
  font-size: 1.1em;
}

@media screen and (max-width: 1020px) {
  .results_area {
    width: 100%;
  }

  .results {
    width: 90%;
  }

  .results dl {
    width: 50%;
  }

  .results dl dt {
    width: 80%;
  }

  .results dl dd {
    width: 20%;
  }
  .result_date {
    background: #ffaaab;
    padding: 5px;
    text-align: right;
    color: #ffffff;
    line-height: 1em;
    margin: 0 0 20px;
    font-weight: bold;
    font-size: 0.9em;
  }
}

/* campaign */
.camp_cont {
  border: solid #080279;
  border-width: 1px 0 0;
  padding: 20px 0 0;
}
.camp_box01 {
  position: relative;
}
.camp_box01 h1 {
  margin: 0;
}
.camp_box01 .btn {
  position: relative;
  top: -40px;
  width: 760px;
  margin: 0 auto;
}
.camp_box01 .btn_l {
  float: left;
}
.camp_box01 .btn_r {
  float: right;
}
@media screen and (max-width: 1020px) {
  .camp_box01 h1 img {
    width: 100%;
  }
}
@media screen and (max-width: 800px) {
  .camp_box01 .btn {
    width: 95%;
  }
  .camp_box01 .btn_l,
  .camp_box01 .btn_r {
    width: 48%;
  }
}
@media screen and (max-width: 640px) {
  .camp_box01 .btn {
    top: -25px;
  }
}
@media screen and (max-width: 420px) {
  .camp_box01 .btn {
    top: -15px;
  }
}

.camp_box02 {
  font-size: 115%;
}
.camp_box02 p {
  line-height: 2em;
}

.camp_box02 .cap {
  color: #ffffff;
  padding: 7px 10px;
  text-align: center;
  font-weight: normal;
}
.camp_box02 .green_box {
  float: left;
  width: 600px;
  background: #f3faeb;
  text-align: center;
}
.camp_box02 .green_box .cap {
  background: #87cd38;
}
.camp_box02 .green_box ul {
  display: inline-block;
  text-align: left;
  font-size: 110%;
  margin: 0 15px 1em;
}
.camp_box02 .green_box ul li {
  margin: 0 0 6px;
}
.camp_box02 .green_box ul li span:before {
  content: '●';
  color: #52b600;
  margin-right: 5px;
  font-size: 70%;
  vertical-align: top;
}

.camp_box02 .blue_box {
  float: left;
  width: 600px;
  background: #e5f3fb;
  text-align: center;
}
.camp_box02 .blue_box .cap {
  background: #0089d5;
}
.camp_box02 .blue_box ul {
  display: inline-block;
  text-align: left;
  font-size: 110%;
  margin: 0 0 1em 15px;
}
.camp_box02 .blue_box ul li {
  margin: 0 0 2px;
}
.camp_box02 .blue_box ul li span:before {
  content: '●';
  color: #0088d7;
  margin-right: 5px;
  font-size: 70%;
  vertical-align: top;
}
.camp_box02 .blue_box ul li:nth-child(2) span:before {
  margin-right: 0;
}

.camp_box02 .menu {
  margin: 0;
}
.camp_box02 .menu {
  width: 190px;
  float: right;
}
.camp_box02 .menu li {
  margin: 0 0 15px;
  line-height: 0;
}

@media screen and (max-width: 1020px) {
  .camp_box02 .green_box,
  .camp_box02 .blue_box {
    float: none;
    width: 100%;
    margin: 0 0 20px;
  }

  .camp_box02 .menu {
    width: 100%;
    float: none;
    text-align: center;
  }
  .camp_box02 .menu li {
    display: inline-block;
    margin: 0 5px;
  }
}
@media screen and (max-width: 480px) {
  .camp_box02 {
    font-size: 100%;
  }
  .camp_box02 .menu li {
    max-width: 45%;
    margin: 0 5px;
  }
}

.camp_box03 {
  text-align: center;
}
.camp_box03 .camp_h {
  border: solid #080279;
  border-width: 5px 0 0;
  margin: 0 0 20px;
}
.camp_box03 .camp_h span {
  display: block;
  padding: 15px;
  font-size: 170%;
  text-align: center;
  background: url('../images/event/images/camp_h_bg01.png') repeat-x 0 0;
  background-size: 100% 100%;
  border: solid #cccccc 1px;
}
@media screen and (max-width: 480px) {
  .camp_box03 .camp_h span {
    padding: 10px;
    font-size: 135%;
  }
}

.camp_box03 .date_box {
  display: inline-block;
  text-align: left;
  font-size: 130%;
}
.camp_box03 .date_box .h_green,
.camp_box03 .date_box .h_blue {
  font-weight: normal;
  margin: 0;
}
.camp_box03 .date_box .h_green span:before {
  content: '●';
  color: #52b600;
  margin-right: 5px;
  font-size: 70%;
  vertical-align: top;
}
.camp_box03 .date_box .h_blue span:before {
  content: '●';
  color: #0087da;
  margin-right: 5px;
  font-size: 70%;
  vertical-align: top;
}
.camp_box03 .date_box ul {
  margin-left: 20px;
}
.camp_box03 .date_box li {
  margin: 0;
  display: table;
}
.camp_box03 .date_box li span {
  display: table-cell;
}
.camp_box03 .date_box li .date {
  width: 120px;
}

@media screen and (max-width: 480px) {
  .camp_box03 .date_box {
    font-size: 100%;
  }
  .camp_box03 .date_box ul {
    margin-left: 15px;
  }
  .camp_box03 .date_box li .date {
    width: 100px;
  }
}

.camp_box03 .place_box {
  display: inline-block;
  text-align: left;
  font-size: 120%;
}
.camp_box03 .place_box li {
  margin: 0 0 10px;
}

.camp_box03 .place_box .place_l {
  float: left;
  padding: 0 20px 0 0;
}
.camp_box03 .place_box .place_r {
  float: left;
  padding: 0 0 0 20px;
  border: solid #cccccc;
  border-width: 0 0 0 1px;
}

.camp_box03 .place_box .place_l span.name,
.camp_box03 .place_box .place_r span.name {
  color: #1d2087;
  display: inline-block;
  width: 110px;
}

@media screen and (max-width: 640px) {
  .camp_box03 .place_box .place_l,
  .camp_box03 .place_box .place_r {
    float: none;
    padding: 0;
    border: none;
  }
}
@media screen and (max-width: 480px) {
  .camp_box03 .place_box {
    font-size: 100%;
  }
}

.anc {
  position: relative;
  height: 0;
  overflow: hidden;
}

.anc_pc {
  margin-top: -50px;
  padding-top: 50px;
}

@media screen and (max-width: 1020px) {
  .anc {
    top: -120px;
  }
  .anc_pc {
    margin-top: -80px;
    padding-top: 80px;
  }
}
@media screen and (max-width: 740px) {
  .anc {
    top: -90px;
  }
}
@media screen and (max-width: 540px) {
  .anc {
    top: -60px;
  }
}
@media screen and (max-width: 420px) {
  .anc {
    top: -40px;
  }
}

/* interview */
.interview_list li:nth-child(odd) {
  width: 390px;
  float: left;
  margin-bottom: 20px;
}
.interview_list li:nth-child(even) {
  width: 390px;
  float: right;
  margin-bottom: 20px;
}
.interview_area .h2 {
  height: 40px;
  line-height: 55px;
  color: #00007a;
  background: #ffffff url('../images/h2_bg01.png') no-repeat 0 0;
  padding: 0 10px 0 20px;
  font-size: 150%;
  border: none;
}
.interview_area p {
  margin: 0 0 20px;
}

.interview_list2 li {
  width: 390px;
  float: left;
  margin: 0 5px 10px;
}

.interview_cont_list dt {
  float: left;
  color: #fff;
  padding: 5px 15px;
  background-color: #008cce;
  -moz-border-radius: 15px;
  -webkit-border-radius: 15px;
  border-radius: 15px;
  margin: 0 10px 20px;
}

#sortbtn {
  display: none;
  overflow: hidden;
}

#sort {
  margin-bottom: 20px;
}
#sort li {
  list-style: none;
  float: left;
  color: #fff;
  padding: 5px 15px;
  background-color: #008cce;
  border-bottom: solid 2px #0878ad; /*少し濃い目の色に*/
  border-radius: 5px; /*角の丸み*/
  box-shadow:
    inset 0 2px 0 rgba(255, 255, 255, 0.2),
    0 2px 2px rgba(0, 0, 0, 0.19);
  margin-right: 10px;
}

#sort li:nth-of-type(2) {
  margin-right: 20px;
}
#sort li:nth-of-type(4) {
  margin-right: 20px;
}
#sort li:nth-of-type(6) {
  margin-right: 20px;
}
#sort li:nth-of-type(7) {
  margin-right: 20px;
}

#sort li.all {
  margin-right: 0px;
  border-bottom: solid 2px #cccccc; /*少し濃い目の色に*/
  border-radius: 5px; /*角の丸み*/
  box-shadow:
    inset 0 2px 0 rgba(255, 255, 255, 0.2),
    0 2px 2px rgba(0, 0, 0, 0.19);
  color: #666;
  padding: 5px 15px;
  background-color: #ddd;
}

#sort li#Keysort1,
#sort li#Keysort2,
#sort li#Keysort3,
#sort li#Keysort4,
#sort li#Keysort5,
#sort li#Keysort6,
#sort li#Keysort7,
#sort li#Keyall {
  cursor: pointer;
}
.sort_list li#name {
  float: none;
  display: none;
  text-align: center;
  margin: 0;
  line-height: 1em;
  font-size: 1.6em;
  font-weight: 900;
}

@media screen and (max-width: 800px) {
  .interview_list2 li:nth-child(odd) {
    width: 48%;
    float: left;
    margin-bottom: 20px;
  }
  .interview_list2 li:nth-child(even) {
    width: 48%;
    float: right;
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 640px) {
  .interview_area .h2 {
    height: auto;
    line-height: 1.5em;
    color: #00007a;
    background: #ffffff url('../images/h2_bg01.png') no-repeat 0 0;
    font-size: 120%;
    border: none;
    padding: 1em;
    margin-bottom: 0;
  }
  .interview_area br {
    display: none;
  }
  .interview_list li img {
    width: 100%;
  }
  .interview_list li:nth-child(odd) {
    width: 100%;
    float: none;
    margin: 0 auto 20px;
  }
  .interview_list li:nth-child(even) {
    width: 100%;
    float: none;
    margin: 0 auto 20px;
  }

  .interview_cont_list {
    margin-bottom: 20px;
  }
  .interview_list2 li {
    width: 100%;
    float: none;
    margin: 0 0 1%;
  }
  .interview_list2 li.img {
    vertical-align: bottom;
    line-height: 0em;
    overflow: hidden;
  }
  #sort {
    width: 100%;
    margin: 0 auto;
  }
  #sort li {
    width: 31%;
    margin: 0 1% 2% !important;
    text-align: center;
    padding: 2% 1%;
  }
  #sort li.all {
    width: 64%;
    margin: 0 0 8% 1% !important;
    text-align: center;
    padding: 2% 1%;
  }
  .sort_list li#name {
    font-size: 1.4em;
  }
}

/* メンバーインタビュー*/

.interview_cont {
  font-size: 115%;
}
#interview_nav {
  border: solid #000778;
  border-width: 0 0 5px;
  margin: 0 0 40px;
  text-align: center;
  line-height: 0;
}
#interview_nav li {
  line-height: 0;
  position: relative;
  display: inline-block;
  margin: 0 4px;
}
#interview_nav li.cur:after {
  content: url('../images/interview/images/interview_tab_cur01.png');
  position: absolute;
  bottom: -13px;
  left: 50%;
  margin-left: -9px;
}
#interview_nav li a {
  display: block;
}

#interview_nav_f {
  padding: 30px 0 0;
  text-align: center;
}
#interview_nav_f li {
  line-height: 0;
  position: relative;
  display: inline-block;
  margin: 0 4px;
}
#interview_nav_f li:last-child {
  margin: 0;
}
#interview_nav_f li.cur:after {
  content: url('../images/interview/images/interview_tab_cur02.png');
  position: absolute;
  top: -8px;
  left: 50%;
  margin-left: -9px;
}

@media screen and (max-width: 1020px) {
  #interview_nav {
    border: none;
  }
  #interview_nav li {
    width: 24%;
    margin: 0 1%;
  }
  #interview_nav li.cur:after {
    bottom: -8px;
  }

  #interview_nav_f li {
    width: 24%;
    margin: 0 1%;
  }

  #interview_navs li img,
  #interview_nav_f li img {
    width: 100%;
  }
}

.movie_interview {
  width: 65%;
  margin: 0 auto;
}

.movie_interview_wrap {
  border-bottom: solid 3px #00007a;
  padding-top: 1.5em;
}

.btn--navy {
  font-size: 1.1rem;
  font-weight: bold;
  line-height: 1.2;
  position: relative;
  display: inline-block;
  padding: 0.75rem 2.5rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none !important;
  letter-spacing: 0.05em;
  color: #fff !important;
  border-radius: 0.5rem;
  background-color: #00007a;
}

.btn--navy:hover {
  background-color: #12129e;
}

@media screen and (max-width: 768px) {
  .movie_interview {
    width: 80%;
  }

  .btn--navy {
    font-size: 1rem;
    padding: 0.5rem 2rem;
  }
}

/* 重要なお知らせパーツ */
.import_news {
  margin: 0 1.5rem;
  padding: 10px;
  border: solid 2px #ff0000;
  text-align: center;
}
.import_news .import_news_txt {
  margin: 0;
  text-align: left;
  margin-left: 4rem;
  text-indent: -2rem;
  color: #ff0000;
}
.import_news .import_news_txt span {
  display: inline-block;
  padding-right: 0.7rem;
  text-decoration: underline;
  color: #ff0000;
  font-weight: bold;
}

.blink {
  -webkit-animation: blink 1s ease infinite;
  animation: blink 1s ease infinite;
}
@-webkit-keyframes blink {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes blink {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@media screen and (max-width: 550px) {
  .import_news .import_news_txt {
    margin-left: 0rem;
    text-indent: 0rem;
  }
}

/* */
.interview_sec {
  padding: 0 0 40px;
  margin: 0 0 60px;
  background: url('../images/interview/images/interview_dot.png') no-repeat 50% 100%;
}
.interview_sec.last {
  background: none;
  margin: 0;
}

@media screen and (max-width: 640px) {
  .interview_sec {
    padding: 0 0 30px;
    margin: 0 0 30px;
  }
}

.interview_h01 {
  background: url('../images/interview/images/interview_ico01.png') no-repeat 0 0;
  font-size: 150%;
  padding: 5px 0 0 50px;
  color: #091378;
}
.interview_h01 span {
  display: inline-block;
  text-align: center;
}
.interview_h01 span.pink {
  display: inline-block;
  color: #efa1c3;
}
.interview_h01 span i {
  font-size: 50%;
  display: block;
  color: #333333;
}

@media screen and (max-width: 1020px) {
  .interview_h01 {
    background: url('../images/interview/images/interview_ico01.png') no-repeat 0 5px;
    padding: 0 0 0 50px;
  }
  .interview_h01 span {
    display: block;
    text-align: left;
  }
}

.interview_h02 {
  border: solid #1d2087 2px;
  padding: 15px 25px 10px 65px;
  background: url('../images/interview/images/interview_ico02.png') no-repeat 15px 10px;
  color: #1d2087;
  margin: 0 0 30px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}
.interview_h02 span {
  font-size: 155%;
  border: solid #1d2087;
  border-width: 0 0 1px;
  display: block;
  padding: 0 0 10px;
  margin: 0 0 10px;
  line-height: 1.4em;
}
.interview_h02 i {
  font-size: 100%;
}

@media screen and (max-width: 1020px) {
  .interview_h02 span {
    line-height: 1.3em;
  }
}

.interview_h03 {
  padding: 15px 0 0 20px;
  background: url('../images/interview/images/interview_h_bg01.png') no-repeat 0 0;
  color: #091378;
  margin: 0 0 15px;
  font-size: 128%;
}

.interview_pic_r {
  float: right;
  margin: 0 0 1em 30px;
}
.interview_pic_l {
  float: left;
  margin: 0 30px 1em 0;
}

.cap {
  display: block;
  margin: 0 0 20px;
  font-size: 80%;
}

@media screen and (max-width: 1020px) {
  .interview_pic_r {
    max-width: 40%;
    margin: 0 0 1em 3%;
  }
  .interview_pic_l {
    max-width: 40%;
    margin: 0 3% 1em 0;
  }
}
@media screen and (max-width: 640px) {
  .interview_pic_r,
  .interview_pic_l {
    max-width: 100%;
    margin: 0 0 1em;
    float: none;
    text-align: center;
  }
}

.recruit_box {
  border: 1px solid #f9dd97;
  background: url(../images/trainer/images/dot_bg.gif);
  padding: 9px;
  margin-bottom: 50px;
}
.recruit_box h2 {
  background: url(../images/trainer/images/s_ttl01.jpg);
  width: 780px;
  height: 50px;
  display: block;
  text-indent: -9999px;
  margin: 0;
}

.recruit_box div {
  background: url(../images/trainer/images/img01.jpg) no-repeat right top;
  width: 780px;
  padding: 20px 210px 20px 20px;
  height: 218px;
}
.recruit_box div p {
  line-height: 170%;
  font-size: 1.1em;
}

.recruit_box div .recruit_strong {
  color: #253358;
  font-size: 1.6em;
}

.recruit_point1 {
  background: url(../images/trainer/images/point1.jpg) no-repeat left top;
  padding-left: 120px;
}
.recruit_point1 dl {
  background: url(../images/trainer/images/img02.jpg) no-repeat right top;
  padding-right: 260px;
  line-height: 180%;
  min-height: 160px;
}

.recruit_point1_n {
  background: url(../images/trainer/images/point1.jpg) no-repeat left top;
  padding-left: 120px;
}
.recruit_point1_n dl {
  line-height: 180%;
  min-height: 160px;
}

.recruit_point2 {
  background: url(../images/trainer/images/point2.jpg) no-repeat left top;
  padding-left: 120px;
}
.recruit_point2 dl {
  background: url(../images/trainer/images/img03.jpg) no-repeat right top;
  padding-right: 260px;
  line-height: 180%;
  min-height: 160px;
}

.recruit_point2_n {
  background: url(../images/trainer/images/point2.jpg) no-repeat left top;
  padding-left: 120px;
}
.recruit_point2_n dl {
  line-height: 180%;
  min-height: 160px;
}

.recruit_point3 {
  background: url(../images/trainer/images/point3.jpg) no-repeat left top;
  padding-left: 120px;
}
.recruit_point3 dl {
  background: url(../images/trainer/images/img04.jpg) no-repeat right top;
  padding-right: 320px;
  line-height: 180%;
  min-height: 135px;
}

.recruit_point3_n {
  background: url(../images/trainer/images/point3.jpg) no-repeat left top;
  padding-left: 120px;
}
.recruit_point3_n dl {
  line-height: 180%;
  min-height: 135px;
}

.recruit_point4 {
  background: url(../images/trainer/images/point4.jpg) no-repeat left top;
  padding-left: 120px;
}

.recruit_point1 dt,
.recruit_point2 dt,
.recruit_point3 dt,
.recruit_point4 dt {
  padding: 16px 0 20px;
}

.recruit_dhr {
  background: url(../images/trainer/images/dot_bar.jpg) no-repeat center;
  height: 30px;
  border: none;
}

.recruit_hr {
  background: url(../images/trainer/images/bar.jpg) no-repeat center;
  height: 50px;
  border: none;
}

.recruit_tbl {
  width: 800px;
  margin: 0 auto;
}

.recruit_tbl th {
  width: 15%;
  text-align: left;
}
.recruit_tbl td {
  width: 85%;
  text-align: left;
}

.recruit_message {
  background: url(../images/trainer/images/message.jpg) no-repeat;
  display: block;
  height: 533px;
  width: 800px;
  text-indent: -9999px;
  margin: 0 auto 50px;
}

.recruit_fl {
  width: 500px;
  float: left;
}
.recruit_fr {
  width: 290px;
  float: right;
}

.recruit_midashi01 {
  background: url(../images/trainer/images/s_ttl04.jpg) no-repeat;
  display: block;
  height: 38px;
  width: 800px;
  text-indent: -9999px;
  margin: 0 0 10px;
}
.recruit_midashi02 {
  background: url(../images/trainer/images/s_ttl05.jpg) no-repeat;
  display: block;
  height: 38px;
  width: 800px;
  text-indent: -9999px;
  margin: 0 0 10px;
}

.recruit_box div p .recruit {
  display: none;
}

.recruit_point_img {
  float: right;
  margin: 0 0 0 20px;
}

.trainer_btn {
  text-align: center;
  margin: 30px 0 30px;
}

.trainer_btn a {
  border: none;
  border-color: #ccc #ccc #bbb #ccc;
  border-radius: 3px;
  background: #004ba3 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.5),
    inset 0 15px 17px rgba(255, 255, 255, 0.5),
    inset 0 -5px 12px rgba(0, 0, 0, 0.05);
  color: #fff !important;
  font-size: 1.4em !important;
  line-height: 1;
  padding: 1.5em 5.5em !important;
  margin: 0 0 10px !important;
  text-decoration: none !important;
}

.recruit_img {
  width: 300px;
  float: right;
  margin: 0 0 20px 20px;
}
.recruit_img2 {
  width: 150px;
  float: right;
  margin: 0 0 20px 20px;
}

@media screen and (max-width: 1020px) {
  .recruit_tbl {
    width: 100%;
  }
  .recruit_tbl th,
  .recruit_tbl td {
    width: 100%;
    display: block;
  }

  .recruit_box {
    border: 1px solid #f9dd97;
    background: url(../images/trainer/images/dot_bg.gif);
    padding: 9px;
    margin-bottom: 50px;
    width: 800px;
  }
  .recruit_box h2 {
    background: #7ec04d;
    border-left: 10px solid #468c00;
    width: 100%;
    display: inline-block;
    height: 40px;
    text-indent: 0;
    margin: 0;
    color: #fff;
    padding: 10px;
    font-size: 1.4em;
  }

  .recruit_box div {
    background: none;
    width: 100%;
    padding: 10px 0 0 0;
    height: auto;
  }
  .recruit_box div p {
    line-height: 170%;
    font-size: 1.1em;
  }
  .recruit_box div p .recruit {
    display: block;
    float: right;
    width: 20%;
    padding-left: 10px;
  }

  .recruit_box div .recruit_strong {
    color: #253358;
    font-size: 1.2em;
  }

  .recruit_point_img {
    float: none;
    margin: 10px 0;
  }

  .trainer_btn a {
    display: inline-block;
    width: 90%;
    margin: 0 0.5% auto !important;
    padding: 1.5em 1em !important;
  }
}

@media screen and (max-width: 840px) {
  .recruit_box {
    border: 1px solid #f9dd97;
    background: url(../images/trainer/images/dot_bg.gif);
    padding: 9px;
    margin-bottom: 50px;
    width: 100%;
  }

  .recruit_midashi01 {
    background: url(../images/trainer/images/s_ttl04.jpg) no-repeat;
    display: block;
    height: 38px;
    width: 100%;
    text-indent: -9999px;
    margin: 0 0 10px;
  }
  .recruit_midashi02 {
    background: url(../images/trainer/images/s_ttl05.jpg) no-repeat;
    display: block;
    height: 38px;
    width: 100%;
    text-indent: -9999px;
    margin: 0 0 10px;
  }

  .recruit_fl {
    width: 100%;
    float: none;
    margin-bottom: 10px;
  }
  .recruit_fl img {
    width: 100%;
  }
  .recruit_fr {
    width: 100%;
    float: none;
  }
  .recruit_fr p {
    width: 49%;
    float: left;
  }
  .recruit_fr p:nth-child(1) {
    width: 49%;
    float: right;
  }
  .recruit_message {
    background: url(../images/trainer/images/message_sp.jpg) no-repeat;
    background-size: contain;
    display: block;
    width: 100% !important;
    padding-top: 157.5%;
    margin: 0 auto 50px;
  }
}

@media screen and (max-width: 640px) {
  .recruit_point1 {
    background: url(../images/trainer/images/point1.jpg) no-repeat left top;
    padding-left: 90px;
    background-size: 20% auto;
  }
  .recruit_point1 dl {
    background: none;
    padding-right: 0px;
    line-height: 180%;
    min-height: 160px;
  }
  .recruit_point1 dd {
    background: url(../images/trainer/images/img02.jpg) no-repeat bottom left;
    padding-bottom: 180px;
  }

  .recruit_point2 {
    background: url(../images/trainer/images/point2.jpg) no-repeat left top;
    padding-left: 90px;
    background-size: 20% auto;
  }
  .recruit_point2 dl {
    background: none;
    padding-right: 0px;
    line-height: 180%;
    min-height: 160px;
  }
  .recruit_point2 dd {
    background: url(../images/trainer/images/img03.jpg) no-repeat bottom left;
    padding-bottom: 180px;
  }

  .recruit_point3 {
    background: url(../images/trainer/images/point3.jpg) no-repeat left top;
    padding-left: 90px;
    background-size: 20% auto;
  }
  .recruit_point3 dl {
    background: none;
    padding-right: 0px;
    line-height: 180%;
    min-height: 160px;
  }
  .recruit_point3 dd {
    background: url(../images/trainer/images/img04.jpg) no-repeat bottom left;
    padding-bottom: 135px;
  }

  .recruit_point4 {
    background: url(../images/trainer/images/point4.jpg) no-repeat left top;
    padding-left: 90px;
    background-size: 20% auto;
  }
  .recruit_point4 dl {
    background: none;
    padding-right: 0px;
    line-height: 180%;
    min-height: 160px;
  }

  .recruit_point1 dd br,
  .recruit_point2 dd br,
  .recruit_point3 dd br,
  .recruit_point4 dd br {
    display: none;
  }

  .recruit_box div p .recruit {
    display: block;
    float: right;
    width: 40%;
    padding-left: 10px;
  }

  .recruit_img {
    width: 100%;
    float: none;
    margin: 20px 0 20px 0px;
  }
  .recruit_img2 {
    width: 50%;
    float: none;
    margin: 20px auto 20px;
  }
}

@media screen and (max-width: 480px) {
  .recruit_box h2 {
    height: 70px;
  }
  .recruit_point1 {
    background: url(../images/trainer/images/point1.jpg) no-repeat left top;
    padding-left: 100px;
    background-size: 20% auto;
  }
  .recruit_point1 dl {
    background: none;
    padding-right: 0px;
    line-height: 180%;
    min-height: 160px;
  }
}

.english_menu li {
  float: left;
  margin-right: 10px;
}
.english_menu li:nth-child(3) {
  float: right;
  margin-right: 0;
}

.d_s_logo {
  width: 300px !important;
  float: right;
  margin-left: 20px;
}

@media screen and (max-width: 780px) {
  .d_s_logo {
    width: 60% !important;
    float: none;
    margin: 0px 0 10px 20%;
  }
  .english_menu li {
    float: none;
    margin-right: 0px;
  }
  .english_menu li img {
    width: 80%;
    margin-left: 10%;
  }
  .english_menu li:nth-child(3) {
    float: none;
    margin-right: 0;
  }
  .english_trainer img {
    width: 100%;
  }
}

/*------------------------------------------------
   Z会フッター
------------------------------------------------*/

body {
  padding: 0 !important;
}

#zkai_footer {
  background: #003b83;
}
#zkai_logo {
  line-height: 0;
  margin: 0;
  padding: 45px 0;
}
#zkai_logo img {
  width: 150px;
}

#topcontrol {
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
#topcontrol.bottom {
  bottom: 145px !important;
}

@media screen and (max-width: 1020px) {
}
@media screen and (max-width: 800px) {
  #zkai_footer {
    padding: 0;
  }
  #topcontrol.bottom {
    bottom: 145px !important;
  }
}
@media screen and (max-width: 640px) {
  #topcontrol.bottom {
    bottom: 145px !important;
  }
}
@media screen and (max-width: 540px) {
  #topcontrol.bottom {
    bottom: 145px !important;
  }
}

.wp-caption {
  width: auto !important;
}

/*------------------------------------------------
   コースマップ　新規コース
------------------------------------------------*/

.seiseki-up {
  display: block;
  width: 60%;
  margin: 0 auto 4em;
  padding: 0.75em 1em;
  color: #fff;
  font-size: 1.5rem;
  line-height: 2rem;
  background-color: #fc4a89;
}

.seiseki-up span {
  font-size: 1rem;
}

.training_box.training01 dd .in {
  height: 225px;
  display: flex;
  align-items: center;
}

.course-nav-wrap nav ul {
  display: flex;
  justify-content: space-between;
  margin: 10px auto 30px;
  padding: 0;
  list-style: none;
  border: #000778 solid;
  border-width: 0 0 5px;
}

.course-nav-wrap nav ul li {
  display: flex;
  width: calc(100% / 6 - 6px);
}

.course-nav-wrap nav ul li a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: auto;
  padding: 0.5em 0.2em;
  color: #2e3092;
  font-size: 0.8rem;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  background-color: #b9d5ee;
  border-radius: 5px 5px 0 0;
  cursor: pointer;
  transition: all 0.3s;
}

.course-nav-wrap nav ul li a:hover {
  color: #fff;
  background-color: #2e3092;
}

.course-nav-wrap nav ul li a.cur {
  color: #fff;
  background-color: #2e3092;
}

.course-nav-wrap nav ul li a.cur::before {
  content: '';
  position: absolute;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 11px solid transparent;
  border-right: 11px solid transparent;
  border-top: 11px solid #fc4a89;
}

@media screen and (max-width: 768px) {
  .course-nav-wrap nav ul {
    flex-wrap: wrap;
  }

  .course-nav-wrap nav ul li {
    width: calc(100% / 3 - 6px);
    margin-bottom: 0.5rem;
  }

  .course-nav-wrap nav ul li a {
    border-radius: 5px;
  }

  .course-nav-wrap nav ul li a.cur::before {
    display: none;
  }
}

@media screen and (max-width: 375px) {
  .course-nav-wrap nav ul li a {
    font-size: 0.7rem;
  }
}

.course-map a {
  position: relative;
  display: block;
  width: 100%;
  padding: 0.3em 0 0.2em;
  color: #1790d0;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.5rem;
  text-decoration: none;
  border: 1.5px solid #2e3092;
  border-radius: 50px;
}

.course-map a span {
  color: #2e3092;
  font-size: 0.9rem;
}

.course-map a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 0;
  height: 0;
  border-bottom: 11px solid transparent;
  border-left: 11px solid #fc4a89;
  border-top: 11px solid transparent;
}

/*------------------------------------------------
   スマホ用CVナビ
------------------------------------------------*/

.cv_navi_wrap {
  clear: both;
  margin-bottom: 1.5em;
}
.cv_navi_wrap .cv_navi {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  justify-content: space-between;
  margin: 0 auto 1em;
}
.cv_navi_wrap .cv_navi li {
  display: inline-flex;
  width: calc(100% / 4);
  border-right: 1px solid #fff;
}
.cv_navi_wrap .cv_navi li:last-child {
  border-right: none;
}
.cv_navi_wrap .cv_navi li a {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  padding: 0.3em 0.1em;
  font-weight: bold;
  color: #fff;
  background: #2e3092;
  text-decoration: none;
  transition: all 0.3s;
}
.cv_navi_wrap .cv_navi li a:hover {
  background: #4345c4;
}

#nav_fix .cv_navi_wrap {
  clear: both;
  margin-bottom: 1.5em;
}
#nav_fix .cv_navi_wrap .cv_navi {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  height: auto;
  justify-content: space-between;
  margin: 0 auto;
  border: none;
}
#nav_fix .cv_navi_wrap .cv_navi li {
  display: inline-flex;
  width: calc(100% / 4);
  border-right: 1px solid #fff;
}
#nav_fix .cv_navi_wrap .cv_navi li:last-child {
  border-right: none;
}
#nav_fix .cv_navi_wrap .cv_navi li a {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  padding: 0.3em 0.5em;
  font-weight: bold;
  color: #fff;
  background: #2e3092;
  text-decoration: none;
  transition: all 0.3s;
}
#nav_fix .cv_navi_wrap .cv_navi li a:hover {
  background: #4345c4;
}

/* スマホ用CVナビ230526追加 */
.course-nav-grid {
  padding: 10px 0 0;
  background: url('../images/about/images/about_dot01.png') no-repeat 50% 0;
}

.course-nav-wrap nav ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 0.6em;
  padding-bottom: 1em;
}

.course-nav-wrap nav ul li {
  width: 100%;
  margin-bottom: 0;
}

.course-nav-wrap nav ul li a {
  height: 55px;
  border-radius: 5px;
}

.course-nav-wrap nav ul li a.cur::before {
  display: none;
}

.course-nav-wrap nav ul li.special a {
  color: #1790d0;
  background-color: #fff;
  border: solid 2px #1790d0;
  box-sizing: border-box;
}

.course-nav-wrap nav ul li.special a:hover {
  color: #fff;
  background-color: #1790d0;
}

.course-nav-wrap nav ul li.special a.cur {
  color: #fff;
  background-color: #1790d0;
}

.course-nav-wrap nav ul li.special_navy a {
  color: #1d2087;
  background-color: #fff;
  border: solid 2px #1d2087;
  box-sizing: border-box;
}

.course-nav-wrap nav ul li.special_navy a:hover {
  color: #fff;
  background-color: #1d2087;
}

.course-nav-wrap nav ul li.special_navy a.cur {
  color: #fff;
  background-color: #1d2087;
}

@media screen and (max-width: 375px) {
  .course-nav-wrap nav ul li a {
    height: 45px;
  }
}

/* ディアロ@ イベント */
.open-dialo {
  display: block;
  margin: 0 auto;
  padding: 1.5rem;
  background: #2e3092;
}

.open-dialo .open-dialo-title {
  margin-bottom: 1rem;
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
}

.open-dialo p {
  color: #fff;
  text-align: center;
}

.open-dialo_schedule {
  display: block;
  margin: 0 auto;
  padding: 1.5rem;
  background: #f7f7f7;
}

@media (max-width: 768px) {
  .open-dialo .open-dialo-title {
    font-size: 1.25rem;
  }
  .open-dialo p {
    text-align: left;
  }
}

/*------------------------------------------------
   ミニバナー
------------------------------------------------*/

#slide_ad {
  position: fixed;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 300px;
  height: 240px;
  bottom: 100px;
  /* top: calc(65%); */
  right: 0;
  color: #2e3092;
  background: #ffffff;
  border: solid 2px #2e3092;
  border-right: none;
  box-shadow: 0px 0px 10px 0px rgba(56, 75, 248, 0.4);
  z-index: 999;
  overflow: initial !important;
}

#slide-in {
  padding: 5px 10px;
  overflow: hidden;
}

#slide_ad a {
  text-decoration: none;
  cursor: pointer;
}

#slide_ad h3 {
  margin-bottom: 10px;
  font-weight: bold;
}

#slide_ad #open-btn {
  position: absolute;
  left: 5px;
  top: 10px;
  width: 20px;
  height: 20px;
  cursor: pointer;
}

#slide_ad .mov_outer {
  margin: 0 auto;
}

.video-cont.active {
  visibility: visible;
}

.video-cont {
  visibility: hidden;
}

.arrow-left {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin: 0 10px;
  border-left: 3px solid #2e3092;
  border-bottom: 3px solid #2e3092;
  transform: rotate(45deg);
  transition: all 0.5s;
}

.active .arrow-left {
  position: absolute;
  top: -22px;
  left: -22px;
  width: 34px;
  height: 34px;
  margin: 0;
  border: 2px solid #2e3092;
  background: #fff;
  transform: rotate(0deg);
  transition: all 0.5s;
  z-index: 1000;
  cursor: pointer;
}

.active .arrow-left::before,
.active .arrow-left::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3px;
  height: 27px;
  background: #2e3092;
}

.active .arrow-left::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.active .arrow-left::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

@media screen and (max-width: 768px) {
  #slide_ad {
    display: none !important;
    bottom: 110px;
    /* top: calc(66%); */
  }
}

@media screen and (max-width: 540px) {
  #slide_ad {
    width: 205px;
    height: 155px;
    bottom: 78px;
    /* top: calc(67%); */
    overflow: initial !important;
  }
  #slide_ad h3 {
    font-size: clamp(0.7em, 0.85em, 1em);
    margin-bottom: 0.5em;
  }
  #slide_ad #open-btn {
    top: 7px;
    width: 10px;
    height: 10px;
  }
  .arrow-left {
    width: 12px;
    height: 12px;
    margin: 0 6px;
  }
  .active .arrow-left {
    top: -21px;
    left: -18px;
    width: 24px;
    height: 24px;
  }
  .active .arrow-left::before,
  .active .arrow-left::after {
    height: 18px;
  }

  #slide-contents p {
    font-size: clamp(0.67em, 0.8em, 1em);
    white-space: nowrap;
  }
}

@media screen and (max-width: 340px) {
  #slide_ad {
    /* top: calc(63%); */
    bottom: 65px;
  }
}

/* キャンペーンページ */

.l_blue_line {
  background: linear-gradient(transparent 60%, #97fbf8 60%);
}

h2.cp_h2 {
  position: relative;
  width: 100vw;
  margin: 0 calc(50% - 50vw) 1.5em;
  padding: 20px 10px;
  background: #020b79;
  color: #ffffff;
  font-size: 171%;
  text-align: center;
}

#cp-course01.cp_h2::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 130px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  display: inline-block;
  width: 120px;
  height: 120px;
  background-image: url(https://dialo.jp/wordpress/wp-content/uploads/2023/01/2023cp-icon01.png);
  background-size: contain;
  background-repeat: no-repeat;
  max-width: 1000px;
  margin: 0 calc(50% - 500px) 1.5em;
}

#cp-course02.cp_h2::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 130px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  display: inline-block;
  width: 120px;
  height: 120px;
  background-image: url(https://dialo.jp/wordpress/wp-content/uploads/2023/04/202304cp-icon02.png);
  background-size: contain;
  background-repeat: no-repeat;
  max-width: 1000px;
  margin: 0 calc(50% - 500px) 1.5em;
}

.cp-inner {
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
}

.bg_l_blue {
  background: #f5fafe;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  border-top: 2px solid #2e3092;
  border-bottom: 2px solid #2e3092;
}

.campaign_cv_box {
  margin: 0 auto;
  padding: 2.25em 1em;
}

.campaign_cv_box .cv_btn {
  width: 100%;
}

.campaign_cv_box .cv_btn .app-btn {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  justify-content: space-between;
  margin-bottom: 1.25em;
}

.cv_btn .app-btn li {
  width: 48.5%;
}

.cv_btn .app-btn li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 60px;
  color: #fff;
  font-size: 1.3em;
  font-weight: bold;
  text-decoration: none;
  border-radius: 50px;
}

.pink-btn {
  background: #fc4a89;
}

.l_blue-btn {
  background: #1790d0;
}

.tell-btn p {
  display: block;
  width: 100%;
}

.tell-btn p a {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 60px;
  align-items: center;
  justify-content: center;
  border: solid 2px #1790d0;
  color: #1790d0;
  border-radius: 50px;
  font-size: 1.3em;
  font-weight: bold;
  text-decoration: none;
  background: #fff;
}

.cp-info {
  width: 75%;
  min-width: 300px;
  margin: 0 auto;
  padding: 1.5em 1em;
  border: 1.5px solid #1790d0;
}

.limit-bnr {
  width: 100%;
  padding: 1.25em;
  border: 2px solid #1790d0;
  text-align: center;
  box-shadow: 5px 7px 7px 0 rgba(0, 0, 0, 0.2);
}

.limit-bnr p {
  line-height: 1.5em;
}

.annotation p {
  color: #878787;
  line-height: 1.4em;
}

.cp-topfv {
  border: 4px solid #2e3092;
  border-radius: 10px;
  text-align: center;
  box-shadow: 5px 7px 7px 0 rgba(0, 0, 0, 0.2);
}

.fv-title {
  background-color: #2e3092;
  padding: 1em;
  color: #fff;
}

.cp-date {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  padding: 0.5em 1em;
  color: #fff;
  font-weight: bold;
  background-color: #2e3092;
  border-radius: 5px;
}

.cp-course-link {
  position: relative;
  width: calc(100% / 2 - 20px);
}

.cp-course-link::before {
  content: '';
  position: absolute;
  top: -10px;
  left: -10px;
  display: inline-block;
  width: 80px;
  height: 80px;
  background-size: contain;
  background-repeat: no-repeat;
}

.cp-course-link:nth-child(1)::before {
  background-image: url(https://dialo.jp/wordpress/wp-content/uploads/2023/01/2023cp-icon01.png);
}

.cp-course-link:nth-child(2)::before {
  background-image: url(https://dialo.jp/wordpress/wp-content/uploads/2023/01/2023cp-icon02.png);
}

.cp-course-link a {
  display: block;
  border: 3px solid #2e3092;
  border-radius: 10px;
  text-align: center;
  text-decoration: none;
}

.cp-course-link .h2_link {
  display: block;
  margin: 0 auto;
  padding: 0.5em 1em;
  color: #fff;
  font-weight: bold;
  background-color: #2e3092;
  border-radius: 5px 5px 0 0;
}

.fv-c-txt {
  padding: 2em 1em;
}

.fv-c-txt p {
  line-height: 1.4em !important;
}

.showmore_wrap {
  position: relative;
  margin-bottom: 50px;
}

.showmore_list,
.campaign_add_box {
  border: 4px solid #2e3092;
  border-radius: 10px;
  overflow: hidden;
  transition: all 0.3s ease-in;
}

.campaign_add_box.d-l_blue {
  border: 4px solid #1790d0;
}

.main_ttl_h2 {
  background-color: #2e3092;
  border-radius: 5px 5px 0 0;
  color: #fff;
  margin: 0 auto;
  padding: 0.5em;
  text-align: center;
  font-size: 1.65em;
  font-weight: bold;
}

.main_ttl_h2.d-l_blue {
  background-color: #1790d0;
}

.showmore_list .list_box,
.campaign_add_box .list_box {
  padding: 20px;
}

.list_toggle {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  background-color: #fff;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 70%);
  background-color: transparent;
  width: 100%;
  height: 20%;
  position: absolute;
  bottom: 0;
}

.list_toggle.close_area {
  background: none;
  position: static;
  margin-top: 30px;
}

.list_toggle a,
.accordion-btn {
  width: 30%;
  color: #2e3092;
  background-color: #fff;
  border: 2px solid #2e3092;
  border-radius: 50px;
  display: block;
  font-weight: bold;
  padding: 10px 0;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
  transition: all 0.3s ease-in;
}

.accordion-btn.d-l_blue {
  color: #1790d0;
  border: 2px solid #1790d0;
}

.list_toggle a.open_link:before {
  content: 'もっと見る ▼';
  display: inline;
}

.list_toggle a.close_link:before {
  content: '閉じる ▲';
  display: inline;
}

.list_box .ob_student {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  align-items: center;
  justify-content: space-around;
  margin-bottom: 1em;
}

.list_box .ob_student div {
  display: block;
  width: 48.5%;
}

.list_box .ob_student .ob_info {
  width: 100%;
  padding: 1em;
  color: #fff;
  text-align: center;
  background-color: #1790d0;
}

.list_box .interview_box {
  margin-bottom: 2em;
}

.list_box .interview_box:last-child {
  margin-bottom: 0;
}

.list_box .interview_box .int_h3 {
  font-size: 1.3em;
  font-weight: bold;
  margin-bottom: 0.5em;
}

.list_box .interview_box .int_h3::before {
  content: '';
  display: inline;
  border-left: 7px solid #1790d0;
  margin-right: 0.35em;
}

.accordion {
  position: relative;
  margin-bottom: 9em;
}

/* ボタン */
.accordion-btn {
  bottom: -4em;
  cursor: pointer;
  display: inline-block;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  text-align: center;
  transition: all 0.3s ease-in;
  z-index: 1;
}

/* 続きを読むボタンの表記 */
.accordion-btn::after {
  content: 'もっと見る ▼';
  display: inline;
}

.accordion-text {
  overflow: hidden;
  /* テキストを隠す */
  position: relative;
}

/* 最初に見えてるテキストエリアの高さ */
.accordion-text.is-hide {
  height: 700px;
}

/* テキストをグラデーションで隠す */
.accordion-text::before {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 70%);
  bottom: 0;
  content: '';
  height: 70px;
  /* グラデーションで隠す高さ */
  position: absolute;
  width: 100%;
}

.accordion-text.is-hide::before {
  background: none;
}

/* 閉じるボタンの位置 */
.accordion-btn.is-show {
  bottom: -4em;
}

/* 閉じるボタンの表記 */
.accordion-btn.is-show::after {
  content: '閉じる ▲';
  display: inline;
}

/* 続きを見るボタンをクリックしたらテキストを隠しているグラデーションを消す */
.accordion-btn.is-show + .accordion-text::before {
  display: none;
}

.c-b-flex {
  position: relative;
  display: flex;
  width: 100%;
  justify-content: space-around;
  padding: 15px 10px;
}

.c-b-flex.list-c {
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 15px 0px;
}

.c-course-wrap {
  display: flex;
  flex-direction: column;
  width: calc(100% / 2 - 14px);
  border: solid 1.5px #2e3092;
  border-radius: 5px;
  padding: 1em;
  background: #f6fbff;
}

.c-course-wrap.list-c {
  position: relative;
  width: calc(100% / 3 - 12px);
  margin-bottom: 1.8em;
  padding: 1.5em 1em 1em;
}

.c-course-wrap.list-c:nth-last-child(-n + 1) {
  margin-bottom: 0em;
}

.c-b-flex.list-c::after {
  content: '';
  display: block;
  width: calc(100% / 3 - 12px);
}

.c-course-wrap.list-c.list-c-img {
  height: 100%;
  padding: 0;
}

.c-course-wrap.list-c.list-c-img img {
  object-fit: cover;
  height: 100%;
  max-height: 330px;
  border-radius: 3px;
}

.c-course-wrap p {
  margin-bottom: 0;
}

.c-name {
  font-size: 1.25em;
  line-height: 1.5em;
  margin-bottom: 0.5em;
}

.flx_end {
  margin-top: auto;
}

.c-course-wrap .subject {
  position: absolute;
  top: -13px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  background: #2e3092;
  color: #fff;
  font-size: 1.1em;
  font-weight: bold;
  padding: 0.5em 1.5em 0.3em;
  border-radius: 50px;
}

.eye-catch {
  width: calc(100% / 2 - 14px);
}

.cp-worry {
  margin-bottom: 2em;
  padding: 1em;
  align-items: flex-start;
}

.cp-worry p {
  position: relative;
  display: block;
  width: calc(100% / 3 - 14px);
  margin-bottom: 0;
  padding: 1em;
  color: #2e3092;
  font-size: 1.1em;
  font-weight: bold;
  background-color: #fff;
  border: solid 2px #2e3092;
  border-radius: 5px;
}

.cp-worry p::before,
.cp-worry p::after {
  content: '';
  position: absolute;
  left: 25%;
  transform: translateX(-25%);
  bottom: -1.5em;
  border-top: 1.5em solid #2e3092;
  border-right: 20px solid transparent;
  border-left: 4px solid transparent;
}

.cp-worry p::after {
  bottom: calc(4px - 1.5em);
  border-top: solid 1.5em #fff;
}

.cp-counsel {
  padding: 1em;
  color: #fff;
  background: #2e3092;
}

.study_box {
  width: calc(100% / 2 - 14px);
  border: 2px solid #fff;
  border-radius: 5px;
}

.study_box div {
  padding: 1em;
}

.cycle_img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.cycle_img img {
  width: 85%;
  max-width: 80px;
}

.cp-arrow {
  position: relative;
  margin-bottom: 5em;
}

.cp-arrow::before {
  content: '';
  display: block;
  position: absolute;
  top: -8px;
  left: 50%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border: 50px solid transparent;
  border-top: 25px solid #1790d0;
  border-bottom-width: 0;
}

.seasonal_mb {
  margin-bottom: 5em;
}

.link_seasonal {
  text-align: center;
}

.link_seasonal a {
  display: block;
  width: 100%;
  border: solid 2px #fc4a89;
  padding: 1em;
  color: #fc4a89;
  text-decoration: none;
  font-size: 1.2em;
  font-weight: bold;
}

.link_seasonal a:hover {
  color: #fff;
  background-color: #fc4a89;
}

@media screen and (max-width: 768px) {
  h2.cp_h2 {
    font-size: 150%;
  }

  .c-course-wrap.list-c {
    width: calc(100% / 2 - 12px);
  }

  .c-course-wrap.list-c:nth-last-child(-n + 3) {
    margin-bottom: 1.8em;
  }

  .c-b-flex.list-c::after {
    width: calc(100% / 2 - 12px);
  }

  .cv_btn .app-btn li a {
    font-size: 1.2em;
  }

  .tell-btn p a {
    font-size: 1.2em;
  }

  .cp-info {
    width: 95%;
  }

  #cp-course01.cp_h2::before {
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 220px;
    height: 75px;
    margin: 0 auto;
    background-image: url(https://dialo.jp/wordpress/wp-content/uploads/2023/01/2023cp-icon01_sp.png);
  }

  #cp-course02.cp_h2::before {
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 220px;
    height: 75px;
    margin: 0 auto;
    background-image: url(https://dialo.jp/wordpress/wp-content/uploads/2023/01/2023cp-icon02_sp.png);
  }

  .link_seasonal a {
    padding: 0.75em 1em;
  }
  .cpfv-img {
    width: 100vw;
    margin: 0 calc(50% - 50vw) 1.5em;
  }

  .c-b-flex.cp-worry {
    flex-direction: column;
  }
  .cp-worry p {
    width: 100%;
    margin-bottom: 1em;
    border: solid 2.5px #2e3092;
  }
  .cp-worry p:last-child {
    margin-bottom: 0;
  }
  .cp-worry p::before,
  .cp-worry p::after {
    top: 50%;
    bottom: 0;
    transform: translateY(-50%);
    left: -1.2em;
    border-top: 15px solid transparent;
    border-right: 1.2em solid #2e3092;
    border-bottom: 15px solid transparent;
    border-left: 0;
  }

  .cp-worry p::after {
    left: calc(4px - 1.2em);
    border-right: solid 1.2em #fff;
    bottom: 0;
  }

  .trouble_flex {
    align-items: flex-end;
  }
  .trouble_flex .trouble {
    margin-right: 1em;
  }
}

@media screen and (max-width: 475px) {
  h2.cp_h2 {
    font-size: 130%;
  }

  .main_ttl_h2 {
    font-size: 1.35em;
  }

  .c-b-flex {
    flex-wrap: wrap;
  }

  .c-course-wrap {
    width: 100%;
  }

  .c-course-wrap:first-child {
    margin-bottom: 1em;
  }

  .list_box .c-course-wrap:first-child {
    margin-bottom: 1.75em;
  }

  .c-course-wrap.list-c {
    width: 100%;
  }

  .c-b-flex.list-c::after {
    width: 100%;
  }

  .cp-course-link {
    width: 100%;
  }

  .cp-course-link:first-child {
    margin-bottom: 1.5em;
  }

  .cp-worry p {
    width: 100%;
    margin-bottom: 1em;
  }

  .cp-worry p:last-child {
    margin-bottom: 0;
  }

  .cp-topfv {
    border: 3px solid #2e3092;
  }

  .cp-course-link a {
    border: 2px solid #2e3092;
  }

  .showmore_list,
  .campaign_add_box {
    border: 3px solid #2e3092;
  }

  .list_box .ob_student {
    flex-wrap: wrap;
  }

  .list_box .ob_student div {
    width: 100%;
  }

  .list_box .ob_student div:first-child {
    margin-bottom: 1em;
  }

  .study_box {
    width: 100%;
  }

  .study_box:first-child {
    margin-bottom: 1.5em;
  }

  .campaign_cv_box .cv_btn .app-btn {
    flex-wrap: wrap;
  }

  .cv_btn .app-btn li {
    width: 100%;
  }

  .cv_btn .app-btn li:first-child {
    margin-bottom: 1em;
  }

  .cv_btn .app-btn li a {
    height: 50px;
  }

  .tell-btn p a {
    height: 50px;
  }

  .cycle_img img {
    max-width: 70px;
  }

  #cp-course01.cp_h2::before {
    width: 180px;
    height: 55px;
  }

  #cp-course02.cp_h2::before {
    width: 180px;
    height: 55px;
  }

  .trouble_flex {
    align-items: center;
    flex-direction: column-reverse;
  }

  .cp-worry p::before,
  .cp-worry p::after {
    content: '';
    position: absolute;
    top: initial;
    left: 50%;
    transform: translateX(-50%);
    bottom: -1em;
    border-top: 1em solid #2e3092;
    border-right: 15px solid transparent;
    border-left: 15px solid transparent;
    border-bottom: initial;
  }

  .cp-worry p::after {
    bottom: calc(4px - 1em);
    border-top: solid 1em #fff;
  }
}

.column_bnr {
  width: 86%;
  margin: 2em auto;
  text-align: center;
}
.interview_btn a {
  display: inline-block;
  margin: 0 auto;
  padding: 0.75em 2em;
  color: #1790d0;
  font-size: 1.1em;
  font-weight: bold;
  text-decoration: none;
  border: 2px solid #1790d0;
  border-radius: 50px;
}
.interview_btn a:hover {
  color: #fff;
  background-color: #1790d0;
}

/* ディアロTOP スワイパーcss */
body {
  overflow-x: hidden;
}
.main-carousel {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 1rem;
}

.main-carousel .swiper-wrapper {
  overflow: visible;
}

.main-carousel .swiper {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.main-carousel .swiper-slide {
  text-align: center;
  font-size: 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.main-carousel .swiper-slide a {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.main-carousel .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.swiper-pagination.main-carousel-pagination {
  position: relative;
  bottom: initial;
  margin: 0 auto 40px;
}

.swiper-pagination.main-carousel-pagination .swiper-pagination-bullet {
  width: 18px;
  height: 18px;
  margin: 0 7px;
}

#indx_wide .top__navlink--item {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 90px;
  /* margin: 0 auto 0; */
  list-style: none;
}
@media (max-width: 768px) {
  #indx_wide .top__navlink--item {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(0.7rem, 0.486rem + 1.07vw, 1rem);
    margin: 0 auto clamp(3.75rem, 2.411rem + 6.7vw, 5.625rem);
  }
}
#indx_wide .top__navlink--item li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 60px;
  border: solid 1px #45b0e9;
  color: #45b0e9;
  font-size: 1rem;
  font-weight: bold;
  text-align: left;
  text-decoration: none;
  -webkit-transition:
    color 0.2s ease,
    background-color 0.3s ease;
  transition:
    color 0.2s ease,
    background-color 0.3s ease;
}
@media (max-width: 768px) {
  #indx_wide .top__navlink--item li a {
    height: clamp(3.125rem, 2.679rem + 2.23vw, 3.75rem);
    font-size: clamp(0.787rem, 0.698rem + 0.45vw, 0.912rem);
    text-align: center;
    line-height: 1.3;
  }
}
#indx_wide .top__navlink--item li a:hover {
  color: #fff;
  background-color: #45b0e9;
}

/* 緊急のお知らせ */
.c-headNews {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  background-color: #ff0000;
}
.c-headNews__inner {
  max-width: 1000px;
  margin: 0 auto;
}
.c-headNews__inner p {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  width: 100%;
  min-height: 36px;
  margin: 0 auto;
  padding: 0 0.5rem;
  box-sizing: border-box;
}
@media (max-width: 1020px) {
  .c-headNews__inner p {
    padding: 0.5rem;
  }
}
.c-headNews__inner p a {
  width: fit-content;
  margin: 0 auto;
  color: #fff;
}

/* ディアロ生の１週間 */
.dialo-1week {
  margin: 0 auto 70px;
}
.dialo-1week .dialo-1week__thumb {
  margin: 0 auto 2rem;
}
.dialo-1week .dialo-1week__thumb img {
  width: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  border: solid 1px #e4e4e4;
}
.dialo-1week .dialo-1week__txt p {
  color: #2e3092;
  font-size: 15px;
  font-weight: bold;
  text-align: center;
  margin: 0;
}
.dialo-1week .dialo-1week__txt p + p {
  margin-top: 1rem;
}

.dialo-1week .dialo-1week__txt p span {
  color: #00a7e9;
}

.taiwashiki {
  width: 86%;
  max-width: 560px;
  margin: 0 auto 50px;
}
@media (max-width: 480px) {
  .taiwashiki {
    width: 94%;
  }
}
.taiwashiki .taiwashiki__title {
  width: 84%;
  max-width: 440px;
  margin: 0 auto 1rem;
}
@media (max-width: 480px) {
  .taiwashiki .taiwashiki__title {
    width: 90%;
  }
}
.taiwashiki .taiwashiki__frame {
  width: 100%;
  margin: 0 auto 0.5rem;
}
.taiwashiki .taiwashiki__frame img {
  width: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
.taiwashiki .taiwashiki__youtube {
  width: 100%;
  height: auto;
}
.taiwashiki .taiwashiki__youtube iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

.c-copy-share {
  width: 100%;
}
.c-copy-share .c-copy-btn {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 96%;
  max-width: 197px;
  margin: clamp(1rem, 0.642rem + 1.527vw, 1.375rem) auto 0;
  border: none;
  background: none;
  padding: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (min-width: 768px) {
  .c-copy-share .c-copy-btn {
    max-width: 340px;
    margin: 30px auto 0;
  }
}
.c-copy-share .c-copy-btn:hover {
  opacity: 0.8;
}

/* Google 評価 */
.p-google-evaluation {
  display: none;
}
@media (max-width: 1020px) {
  .p-google-evaluation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 auto 1.2em;
  }
}
.p-google-evaluation .p-google-evaluation__title {
  margin: 0 auto;
  font-size: 1em;
  font-weight: bold;
}
.p-google-evaluation .p-google-evaluation__title span {
  display: inline-block;
  margin-left: 1em;
  font-size: 0.65em;
  font-weight: normal;
}
.p-google-evaluation .rate-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  gap: 0 0.5em;
  margin: 0 auto;
  font-weight: bold;
}
.p-google-evaluation .rate-wrap .rate {
  position: relative;
  display: inline-block;
  width: 150px;
  height: 30px;
  font-size: 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  letter-spacing: 0;
}
.p-google-evaluation .rate-wrap .rate::before,
.p-google-evaluation .rate-wrap .rate::after {
  content: '★★★★★';
  position: absolute;
  display: inline-block;
  height: 30px;
  line-height: 30px;
}
.p-google-evaluation .rate-wrap .rate::before {
  color: #c4c4c4;
}
.p-google-evaluation .rate-wrap .rate::after {
  overflow: hidden;
  width: calc(var(--score) * 30px);
  color: #ffb906;
}
.p-google-evaluation .rate-wrap .evaluation {
  font-size: 1.5em;
  line-height: 1.5;
}
.p-google-evaluation .rate-wrap .num {
  position: relative;
  top: 2px;
  font-size: 1.2em;
  font-weight: normal;
  line-height: 1.5;
}
.p-google-evaluation a {
  margin-top: 1em;
  color: #333333;
  font-size: 0.9em;
  font-weight: bold;
}

/* (共通) 料金 & キャンペーンバナー */
.d-price-cont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  gap: min(1.388vw, 20px);
}
@media (max-width: 768px) {
  .d-price-cont {
    gap: 1px;
  }
}
.d-price-cont__item {
  width: 100%;
}
.d-price-cont__item.u-price {
  background-image: url(../images/renew-school/bg-thumb-price.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media (max-width: 768px) {
  .d-price-cont__item.u-price {
    background-image: url(../images/renew-school/bg-thumb-price_sp.jpg);
  }
}
.d-price-cont__item.u-cp {
  background-image: url(../images/renew-school/bg-thumb-cp.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media (max-width: 768px) {
  .d-price-cont__item.u-cp {
    background-image: url(../images/renew-school/bg-thumb-cp_sp.jpg);
  }
}
.d-price-cont__item a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  padding: 40px clamp(6.25rem, 5.682rem + 2.424vw, 7.5rem);
  height: min(18vw, 160px);
  background-color: rgba(29, 32, 135, 0.8);
  -webkit-transition: background-color 0.3s ease-out;
  transition: background-color 0.3s ease-out;
  text-decoration: none;
}
@media (max-width: 768px) {
  .d-price-cont__item a {
    padding: 0 105px 0 36px;
    height: 138px;
  }
}
.d-price-cont__item a:hover {
  background-color: rgba(29, 32, 135, 0.5);
}
.d-price-cont__item a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: clamp(1.25rem, -0.739rem + 8.485vw, 5.625rem);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background-image: url(../images/renew-school/icon-circle-arrow.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: min(7vw, 70px);
  height: min(7vw, 70px);
}
@media (max-width: 768px) {
  .d-price-cont__item a::after {
    right: 25.5px;
    width: 44px;
    height: 44px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}
.d-price-cont__item a h3 {
  margin: 0;
  margin-bottom: 0.4em;
  color: #ffffff;
  font-size: clamp(1.75rem, 1.693rem + 0.242vw, 1.875rem);
  font-weight: 600;
  line-height: 1;
}
@media (max-width: 768px) {
  .d-price-cont__item a h3 {
    font-size: 25px;
  }
}
.d-price-cont__item a p {
  color: #ffffff;
  font-size: 15px;
  font-weight: 500;
  margin: 0;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .d-price-cont__item a p {
    font-size: 14px;
    font-weight: 500;
  }
}

/* よくある質問 2025デザイン (共通) */
.common-faq-bk .p-faq {
  width: 100%;
}
.common-faq-bk .p-faq__item {
  overflow: hidden;
}
.common-faq-bk .p-faq__item + .p-faq__item {
  margin-top: 1em;
}
.common-faq-bk .p-faq__item--qes {
  position: relative;
  padding: 20px 80px;
  background-color: #e5f6fe;
  border-radius: 6px;
  color: #1d2087;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  cursor: pointer;
}
@media (max-width: 768px) {
  .common-faq-bk .p-faq__item--qes {
    padding: 1em 43px 1em 37px;
    font-size: 15px;
  }
}
.common-faq-bk .p-faq__item--qes::before {
  content: '';
  position: absolute;
  top: 29px;
  left: 50px;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background-image: url(../images/renew-school/Q.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 1.1em;
  height: 1.1em;
}
@media (max-width: 768px) {
  .common-faq-bk .p-faq__item--qes::before {
    top: 50%;
    left: 10px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 1.2em;
    height: 1.2em;
  }
}
.common-faq-bk .p-faq__item--qes::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 1em;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background-image: url(../images/renew-school/icon-plus.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 28px;
  height: 28px;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition:
    transform 0.3s ease,
    -webkit-transform 0.3s ease;
}
@media (max-width: 768px) {
  .common-faq-bk .p-faq__item--qes::after {
    right: 10px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
  }
}
.common-faq-bk .p-faq__item--qes:hover::after {
  -webkit-transform: translate(-50%, -50%) scale(1.15);
  transform: translate(-50%, -50%) scale(1.15);
}
@media (max-width: 768px) {
  .common-faq-bk .p-faq__item--qes:hover::after {
    -webkit-transform: translateY(-50%) scale(1.15);
    transform: translateY(-50%) scale(1.15);
  }
}
.common-faq-bk .p-faq__item--ans {
  max-height: 0;
  padding: 0 70px 0 40px;
}
@media (max-width: 768px) {
  .common-faq-bk .p-faq__item--ans {
    padding: 0;
  }
}
.common-faq-bk .p-faq__item--ans .c-ans {
  margin-top: 1em;
}
.common-faq-bk .p-faq__item--ans .c-ans__h2 {
  margin: 0 auto 1rem;
  color: #333333;
  font-size: clamp(1.375rem, 1.261rem + 0.485vw, 1.625rem);
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}
@media (max-width: 768px) {
  .common-faq-bk .p-faq__item--ans .c-ans__h2 {
    margin: 24px auto 1rem;
    font-size: 18px;
  }
}
.common-faq-bk .p-faq__item--ans .c-ans__h2 span {
  color: #1790d0;
}
.common-faq-bk .p-faq__item--ans .c-ans__h3 {
  color: #1d2087;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.6;
  margin: 0;
}
@media (max-width: 768px) {
  .common-faq-bk .p-faq__item--ans .c-ans__h3 {
    font-size: 16px;
  }
}
.common-faq-bk .p-faq__item--ans .c-ans p {
  margin: 0;
  color: #333333;
  font-size: 15px;
  line-height: 1.8;
}
.common-faq-bk .p-faq__item--ans .c-ans p a {
  color: #1d2087;
  text-decoration: underline !important;
}
.common-faq-bk .p-faq__item--ans .c-ans__sup {
  display: block;
  margin-top: 0.5em;
  color: #777777;
  font-size: 14px;
  font-weight: 500;
}
@media (max-width: 768px) {
  .common-faq-bk .p-faq__item--ans .c-ans__sup {
    font-size: 13px;
  }
}
.common-faq-bk .p-faq__item--ans .c-ans p + p {
  margin-top: 1em;
}
.common-faq-bk .p-faq__item--ans .c-ans .c-ans__h3 + p {
  margin-top: 10px;
}
.common-faq-bk .p-faq__item--ans .c-ans p + .c-ans__h2 {
  margin-top: 1rem;
}
@media (max-width: 768px) {
  .common-faq-bk .p-faq__item--ans .c-ans p + .c-ans__h2 {
    margin-top: 24px;
  }
}
.common-faq-bk .p-faq__item--ans .c-ans__voice-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 30px;
  padding: 32px 40px;
  background-color: #e5f6fe;
  border-radius: 8px;
}
@media (max-width: 768px) {
  .common-faq-bk .p-faq__item--ans .c-ans__voice-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 24px 20px;
    gap: 8px;
  }
}
.common-faq-bk .p-faq__item--ans .c-ans__voice-box.item-cnt {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.common-faq-bk .p-faq__item--ans .c-ans__voice-box + .c-ans__voice-box {
  margin-top: 1rem;
}
.common-faq-bk .p-faq__item--ans .c-ans__voice-box--thumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 24px;
  -webkit-box-flex: 198;
  -ms-flex: 198;
  flex: 198;
  max-width: 198px;
  padding: 32px 14px;
  background-color: #fff;
  border-radius: 8px;
}
@media (max-width: 768px) {
  .common-faq-bk .p-faq__item--ans .c-ans__voice-box--thumb {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 8px;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    width: 100%;
    max-width: 100%;
    padding: 12px;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
}
.common-faq-bk .p-faq__item--ans .c-ans__voice-box--thumb > div {
  width: 100%;
}
.common-faq-bk .p-faq__item--ans .c-ans__voice-box--thumb .thumb-student {
  width: 100%;
  height: 146px;
}
@media (max-width: 768px) {
  .common-faq-bk .p-faq__item--ans .c-ans__voice-box--thumb .thumb-student {
    width: 106px;
    height: 80px;
  }
}
.common-faq-bk .p-faq__item--ans .c-ans__voice-box--thumb .thumb-student img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
.common-faq-bk .p-faq__item--ans .c-ans__voice-box--gokaku {
  position: relative;
  display: block;
  width: 100%;
  margin: 0 auto 8px;
  text-align: center;
}
@media (max-width: 768px) {
  .common-faq-bk .p-faq__item--ans .c-ans__voice-box--gokaku {
    margin: 0 auto 0;
  }
}
.common-faq-bk .p-faq__item--ans .c-ans__voice-box--gokaku::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 2px;
  background-color: #1d2087;
  z-index: 0;
}
.common-faq-bk .p-faq__item--ans .c-ans__voice-box--gokaku span {
  position: relative;
  padding: 0 0.8em;
  background-color: #fff;
  color: #1d2087;
  font-size: 16px;
  font-weight: 600;
  word-break: keep-all;
  z-index: 1;
}
@media (max-width: 768px) {
  .common-faq-bk .p-faq__item--ans .c-ans__voice-box--gokaku span {
    top: -1px;
    font-size: 12px;
  }
}
.common-faq-bk .p-faq__item--ans .c-ans__voice-box--info span {
  display: block;
  text-align: center;
  font-weight: 600;
}
.common-faq-bk .p-faq__item--ans .c-ans__voice-box--info span.college {
  font-size: 18px;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .common-faq-bk .p-faq__item--ans .c-ans__voice-box--info span.college {
    font-size: 14px;
  }
}
.common-faq-bk .p-faq__item--ans .c-ans__voice-box--info span.faculty {
  font-size: 14px;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .common-faq-bk .p-faq__item--ans .c-ans__voice-box--info span.faculty {
    font-size: 10px;
    font-weight: 500;
  }
}
.common-faq-bk .p-faq__item--ans .c-ans__voice-box--info span.name {
  font-size: 16px;
}
@media (max-width: 768px) {
  .common-faq-bk .p-faq__item--ans .c-ans__voice-box--info span.name {
    font-size: 12px;
    font-weight: 500;
  }
}
.common-faq-bk .p-faq__item--ans .c-ans__voice-box--impr {
  -webkit-box-flex: 482;
  -ms-flex: 482;
  flex: 482;
}
@media (max-width: 768px) {
  .common-faq-bk .p-faq__item--ans .c-ans__voice-box--impr {
    display: contents;
  }
}
.common-faq-bk .p-faq__item--ans .c-ans__voice-box h4 {
  margin: 0;
  color: #1d2087;
  font-size: 20px;
  font-weight: 600;
}
@media (max-width: 768px) {
  .common-faq-bk .p-faq__item--ans .c-ans__voice-box h4 {
    font-size: 16px;
    text-align: center;
    letter-spacing: -0.016em;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}
.common-faq-bk .p-faq__item--ans .c-ans__voice-box p {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  text-align: justify;
}
@media (max-width: 768px) {
  .common-faq-bk .p-faq__item--ans .c-ans__voice-box p {
    font-size: 14px;
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
  }
}
.common-faq-bk .p-faq__item--ans .c-ans__voice-box p + p {
  margin-top: 1em;
}
.common-faq-bk .p-faq__item.active .p-faq__item--qes::after {
  background-image: url(../images/renew-school/icon-mainas.svg);
}

/* dialo top service */
#top-d-about {
  margin-top: -50px;
  padding-top: 50px;
}

#top-service {
  display: block;
  width: 100%;
  height: auto;
  margin: 64px auto 90px;
  font-family:
    'Noto Sans JP',
    -apple-system,
    BlinkMacSystemFont,
    'Helvetica Neue',
    YuGothic,
    'ヒラギノ角ゴ ProN W3',
    Hiragino Kaku Gothic ProN,
    Arial,
    'メイリオ',
    Meiryo,
    sans-serif;
}
@media (max-width: 768px) {
  #top-service {
    margin: 84px auto 70px;
  }
}
#top-service .p-top-service {
  position: relative;
  width: 100%;
  height: auto;
  margin: 0 auto;
}
#top-service .p-top-service__tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: left;
  -ms-flex-pack: left;
  justify-content: left;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  gap: 8px;
  padding-right: clamp(2.125rem, -0.358rem + 5.172vw, 2.875rem);
}
@media (max-width: 768px) {
  #top-service .p-top-service__tab {
    -webkit-box-align: initial;
    -ms-flex-align: initial;
    align-items: initial;
    gap: 4px;
    padding-right: clamp(1rem, 0.196rem + 4.018vw, 2.125rem);
  }
}
#top-service .p-top-service__tab button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 228px;
  height: 54px;
  background-color: #eeeeee;
  border: solid 2px #1d2087;
  border-radius: 8px 8px 0 0;
  color: #333333;
  font-size: 18px;
  font-weight: bold;
  font-family:
    'Noto Sans JP',
    -apple-system,
    BlinkMacSystemFont,
    'Helvetica Neue',
    YuGothic,
    'ヒラギノ角ゴ ProN W3',
    Hiragino Kaku Gothic ProN,
    Arial,
    'メイリオ',
    Meiryo,
    sans-serif;
  cursor: pointer;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
@media (max-width: 768px) {
  #top-service .p-top-service__tab button {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: auto;
    padding: 8px 2px;
    font-size: 15px;
  }
}
#top-service .p-top-service__tab button span {
  position: relative;
  top: 3px;
  font-size: 14px;
  line-height: 1.4;
}
@media (max-width: 768px) {
  #top-service .p-top-service__tab button span {
    font-size: clamp(0.5625rem, 0.429rem + 0.67vw, 0.75rem);
  }
}
#top-service .p-top-service__tab button.active {
  background-color: #1d2087;
  color: #fff;
}
#top-service .p-top-service__cont {
  position: relative;
  top: -4px;
  padding: 32px clamp(1.5rem, -4.5rem + 12.5vw, 3.3125rem);
  border: solid 4px #1d2087;
  border-radius: 0 16px 16px 16px;
}
@media (max-width: 768px) {
  #top-service .p-top-service__cont {
    padding: 24px 20px;
  }
}
#top-service .p-top-service__cont--item {
  padding: 20px 32px;
  background-color: #e5f6fe;
  border-radius: 8px;
  width: 57%;
  max-width: 500px;
}
@media (max-width: 928px) {
  #top-service .p-top-service__cont--item {
    width: 100%;
    max-width: 100%;
    padding: 18px clamp(0.75rem, 0.355rem + 1.974vw, 1.5rem);
  }
}
#top-service .p-top-service__cont--item.online {
  width: 43%;
  max-width: 377px;
}
@media (max-width: 928px) {
  #top-service .p-top-service__cont--item.online {
    width: 100%;
    max-width: 100%;
  }
}
#top-service .p-top-service__cont--item.hs .p-box-logo__cat {
  color: #1790d0;
}
#top-service .p-top-service__cont--item.hs .p-servicelink a {
  border: solid 2px #1790d0;
  color: #1790d0;
}
#top-service .p-top-service__cont--item.hs .p-servicelink a::after {
  -webkit-filter: invert(52%) sepia(13%) saturate(3799%) hue-rotate(161deg) brightness(88%) contrast(91%);
  filter: invert(52%) sepia(13%) saturate(3799%) hue-rotate(161deg) brightness(88%) contrast(91%);
}
#top-service .p-top-service__cont--item.hs .p-servicelink a:hover {
  background-color: #1790d0;
  color: #fff;
}
#top-service .p-top-service__cont--item.hs .p-servicelink a:hover::after {
  -webkit-filter: invert(100%);
  filter: invert(100%);
}
#top-service .p-top-service__cont--item.hs .p-servicelink a.is-reverse {
  background-color: #1790d0;
  color: #fff;
}
#top-service .p-top-service__cont--item.hs .p-servicelink a.is-reverse::after {
  -webkit-filter: invert(100%);
  filter: invert(100%);
}
#top-service .p-top-service__cont--item.hs .p-servicelink a.is-reverse:hover {
  background-color: #fff;
  color: #1790d0;
}
#top-service .p-top-service__cont--item.hs .p-servicelink a.is-reverse:hover::after {
  -webkit-filter: invert(52%) sepia(13%) saturate(3799%) hue-rotate(161deg) brightness(88%) contrast(91%);
  filter: invert(52%) sepia(13%) saturate(3799%) hue-rotate(161deg) brightness(88%) contrast(91%);
}
#top-service .p-top-service__cont .tabcontent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 16px;
  opacity: 0;
  display: none; /* 初期は非表示 */
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease; /* フェードの時間 */
}
@media (max-width: 928px) {
  #top-service .p-top-service__cont .tabcontent {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
#top-service .p-top-service__cont .tabcontent.show {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; /* 表示状態（flexで合わせる） */
  opacity: 1;
}
#top-service .p-top-service .p-box-logo {
  padding: 16px 30px;
  background-color: #fff;
  border-radius: 4px;
  text-align: center;
}
@media (max-width: 768px) {
  #top-service .p-top-service .p-box-logo {
    padding: 16px 14px;
  }
}
#top-service .p-top-service .p-box-logo p.p-box-logo__cat {
  margin: 0 auto 8px;
  color: #1d2087;
  font-size: 14px;
  line-height: 1.5;
  font-weight: bold;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  #top-service .p-top-service .p-box-logo p.p-box-logo__cat {
    font-size: 12px;
  }
}
#top-service .p-top-service .p-box-logo .p-box-logo__d-logo {
  display: block;
  height: 50px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  #top-service .p-top-service .p-box-logo .p-box-logo__d-logo {
    height: 35px;
  }
}
#top-service .p-top-service .p-box-logo .p-box-logo__d-logo a {
  display: block;
  height: 50px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  #top-service .p-top-service .p-box-logo .p-box-logo__d-logo a {
    height: 35px;
  }
}
#top-service .p-top-service .p-box-logo .p-box-logo__d-logo img {
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  margin: 0 auto;
}
#top-service .p-top-service .p-servicelink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  width: 100%;
  gap: 8px;
  margin: 12px auto 0;
  line-height: 1.5;
}
#top-service .p-top-service .p-servicelink.bt-3 li {
  width: 33.3333333333%;
}
#top-service .p-top-service .p-servicelink.bt-2 li {
  width: 50%;
}
#top-service .p-top-service .p-servicelink li {
  display: block;
}
#top-service .p-top-service .p-servicelink a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 36px;
  padding: 0;
  background-color: #fff;
  border: solid 2px #1d2087;
  color: #1d2087;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
  border-radius: 8px;
  text-decoration: none;
}
@media (max-width: 928px) {
  #top-service .p-top-service .p-servicelink a {
    height: 40px;
  }
}
@media (max-width: 640px) {
  #top-service .p-top-service .p-servicelink a {
    height: auto;
    padding: clamp(0.375rem, 0.196rem + 0.893vw, 0.625rem) 2px;
    font-size: clamp(0.6875rem, 0.554rem + 0.67vw, 0.875rem);
  }
}
#top-service .p-top-service .p-servicelink a::after {
  content: '';
  position: relative;
  top: 1px;
  right: 0;
  margin-left: 5px;
  background-image: url(https://dialo.jp/images/renew-school/icon-arrow-under.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 10px;
  height: 7px;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition:
    transform 0.3s ease,
    -webkit-transform 0.3s ease;
  -webkit-filter: invert(22%) sepia(26%) saturate(4284%) hue-rotate(213deg) brightness(80%) contrast(103%);
  filter: invert(22%) sepia(26%) saturate(4284%) hue-rotate(213deg) brightness(80%) contrast(103%);
}
#top-service .p-top-service .p-servicelink a:hover {
  background-color: #1d2087;
  color: #fff;
}
#top-service .p-top-service .p-servicelink a:hover::after {
  -webkit-filter: invert(100%);
  filter: invert(100%);
}
#top-service .p-top-service .p-servicelink a.d-link::after {
  content: '';
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}
#top-service .p-top-service .p-servicelink a.is-reverse {
  background-color: #1d2087;
  color: #fff;
}
#top-service .p-top-service .p-servicelink a.is-reverse::after {
  content: '';
  -webkit-filter: invert(100%);
  filter: invert(100%);
}
#top-service .p-top-service .p-servicelink a.is-reverse:hover {
  background-color: #fff;
  color: #1d2087;
}
#top-service .p-top-service .p-servicelink a.is-reverse:hover::after {
  -webkit-filter: invert(22%) sepia(26%) saturate(4284%) hue-rotate(213deg) brightness(80%) contrast(103%);
  filter: invert(22%) sepia(26%) saturate(4284%) hue-rotate(213deg) brightness(80%) contrast(103%);
}
#top-service .p-top-service .br-dl {
  display: none;
}
@media (max-width: 640px) {
  #top-service .p-top-service .br-dl {
    display: inline-block;
  }
}

/*------------------------------------------------
   汎用
------------------------------------------------*/

.tx_l {
  text-align: left !important;
}
.tx_c {
  text-align: center !important;
}
.tx_r {
  text-align: right !important;
}

.alignright {
  display: block;
  margin: 0 0 0 auto !important;
  text-align: right !important;
}
.alignleft {
  display: block;
  margin: 0 auto 0 0 !important;
  text-align: left !important;
}
.aligncenter {
  display: block;
  margin: 0 auto !important;
  text-align: center !important;
}

img.alignright {
  display: block;
  margin: 0 0 0 auto !important;
}
img.alignleft {
  display: block;
  margin: 0 auto 0 0 !important;
}
img.aligncenter {
  display: block;
  margin: 0 auto !important;
}

.vm {
  vertical-align: middle !important;
}
.vt {
  vertical-align: top !important;
}
.vb {
  vertical-align: bottom !important;
}

.tx_slarge {
  font-size: 110% !important;
}
.tx_large {
  font-size: 120% !important;
}
.tx_sxlarge {
  font-size: 135% !important;
}
.tx_xlarge {
  font-size: 150% !important;
  line-height: 170% !important;
}
.tx_sxxlarge {
  font-size: 175% !important;
}
.tx_xxlarge {
  font-size: 200% !important;
}
.tx_small {
  font-size: 90% !important;
}
.tx_xsmall {
  font-size: 75% !important;
}
.tx_xxsmall {
  font-size: 60% !important;
}

.f_bold {
  font-weight: bold !important;
}
.f_normal {
  font-weight: normal !important;
}

.suptext {
  font-size: 75.5%;
  vertical-align: top;
  position: relative;
  top: -0.1em;
}

.txt_under {
  text-decoration: underline !important;
}
.txt_strike {
  text-decoration: line-through !important;
}
.txt_non {
  text-decoration: none !important;
}

.inblock {
  display: inline-block !important;
}

.relative {
  position: relative !important;
}

.lh0 {
  line-height: 0em !important;
}
.lh1 {
  line-height: 1em !important;
}
.lh12 {
  line-height: 1.2em !important;
}
.lh15 {
  line-height: 1.5em !important;
}

ul.note {
  list-style: none !important;
}
ul.note li {
  text-indent: -1em !important;
  padding-left: 1em !important;
}
ul.note li:before {
  content: '※';
}
ul.point {
  list-style: disc !important;
}

.note01 {
  padding-left: 1em !important;
  text-indent: -1em !important;
}
.note015 {
  padding-left: 1.5em !important;
  text-indent: -1.5em !important;
}
.note02 {
  padding-left: 2em !important;
  text-indent: -2em !important;
}
.note03 {
  padding-left: 3em !important;
  text-indent: -3em !important;
}
.note04 {
  padding-left: 4em !important;
  text-indent: -4em !important;
}
.note05 {
  padding-left: 5em !important;
  text-indent: -5em !important;
}
.note06 {
  padding-left: 6em !important;
  text-indent: -6em !important;
}
.note07 {
  padding-left: 7em !important;
  text-indent: -7em !important;
}
.note08 {
  padding-left: 8em !important;
  text-indent: -8em !important;
}
.note09 {
  padding-left: 9em !important;
  text-indent: -9em !important;
}
.note10 {
  padding-left: 10em !important;
  text-indent: -10em !important;
}
.note11 {
  padding-left: 11em !important;
  text-indent: -11em !important;
}
.note12 {
  padding-left: 12em !important;
  text-indent: -12em !important;
}

.talk01 {
  padding-right: 1em !important;
}
.talk02 {
  padding-right: 2em !important;
}
.talk03 {
  padding-right: 3em !important;
}
.talk04 {
  padding-right: 4em !important;
}
.talk05 {
  padding-right: 5em !important;
}

.red {
  color: #d80000 !important;
}
.white {
  color: #ffffff !important;
}
.black {
  color: #333333 !important;
}
.navy {
  color: #1d2087 !important;
}
.blue {
  color: #008cce !important;
}
.orange {
  color: #fe9b20 !important;
}
.gray {
  color: #666666 !important;
}
.pink {
  color: #f50054 !important;
}
.skyblue {
  color: #5fc0d5 !important;
}
.yellow {
  color: #fbeb02 !important;
}
.l_blue {
  color: #1790d0 !important;
}

.w_full {
  width: 100% !important;
}
.wauto {
  width: auto !important;
}

.w80 {
  width: 80px !important;
}
.w100 {
  width: 100px !important;
}
.w160 {
  width: 160px !important;
}
.w200 {
  width: 200px !important;
}
.w240 {
  width: 240px !important;
}
.w260 {
  width: 260px !important;
}
.w300 {
  width: 300px !important;
}
.w320 {
  width: 320px !important;
}
.w400 {
  width: 400px !important;
}
.w460 {
  width: 460px !important;
}
.w500 {
  width: 500px !important;
}
.w540 {
  width: 540px !important;
}
.w600 {
  width: 600px !important;
}

.w60p {
  width: 60% !important;
}

.w03em {
  width: 3em !important;
}
.w04em {
  width: 4em !important;
}
.w05em {
  width: 5em !important;
}
.w06em {
  width: 6em !important;
}
.w07em {
  width: 7em !important;
}
.w08em {
  width: 8em !important;
}
.w09em {
  width: 9em !important;
}
.w10em {
  width: 10em !important;
}
.w11em {
  width: 11em !important;
}
.w12em {
  width: 12em !important;
}
.w13em {
  width: 13em !important;
}
.w14em {
  width: 14em !important;
}
.w15em {
  width: 15em !important;
}
.w16em {
  width: 16em !important;
}
.w17em {
  width: 17em !important;
}
.w18em {
  width: 18em !important;
}
.w19em {
  width: 19em !important;
}
.w20em {
  width: 20em !important;
}
.w21em {
  width: 21em !important;
}
.w22em {
  width: 22em !important;
}
.w23em {
  width: 23em !important;
}
.w24em {
  width: 24em !important;
}
.w25em {
  width: 25em !important;
}
.w26em {
  width: 26em !important;
}
.w27em {
  width: 27em !important;
}
.w28em {
  width: 28em !important;
}
.w29em {
  width: 29em !important;
}
.w30em {
  width: 30em !important;
}

.bdr {
  border: solid 1px #dddddd !important;
}
.bdr_dot {
  border: dotted 1px #dddddd !important;
}
.bdr_none {
  border: none !important;
}

.radius05 {
  -webkit-border-radius: 5px !important;
  -moz-border-radius: 5px !important;
  border-radius: 5px !important;
}
.radius10 {
  -webkit-border-radius: 10px !important;
  -moz-border-radius: 10px !important;
  border-radius: 10px !important;
}

.radius_top05 {
  -webkit-border-top-left-radius: 5px !important;
  border-top-left-radius: 5px !important;
  -webkit-border-top-right-radius: 5px !important;
  border-top-right-radius: 5px !important;
  -webkit-border-bottom-left-radius: 0px !important;
  border-bottom-left-radius: 0px !important;
  -webkit-border-bottom-right-radius: 0px !important;
  border-bottom-right-radius: 0px !important;
  -moz-border-radius: 5px 5px 0 0 !important;
  border-radius: 5px 5px 0 0 !important;
}
.radius_top10 {
  -webkit-border-top-left-radius: 10px !important;
  border-top-left-radius: 10px !important;
  -webkit-border-top-right-radius: 10px !important;
  border-top-right-radius: 10px !important;
  -webkit-border-bottom-left-radius: 0px !important;
  border-bottom-left-radius: 0px !important;
  -webkit-border-bottom-right-radius: 0px !important;
  border-bottom-right-radius: 0px !important;
  -moz-border-radius: 10px 10px 0 0 !important;
  border-radius: 10px 10px 0 0 !important;
}

.radius_bottom05 {
  -webkit-border-top-left-radius: 0px !important;
  border-top-left-radius: 0px !important;
  -webkit-border-top-right-radius: 0px !important;
  border-top-right-radius: 0px !important;
  -webkit-border-bottom-left-radius: 5px !important;
  border-bottom-left-radius: 5px !important;
  -webkit-border-bottom-right-radius: 5px !important;
  border-bottom-right-radius: 5px !important;
  -moz-border-radius: 0 0 5px 5px !important;
  border-radius: 0 0 5px 5px !important;
}
.radius_bottom10 {
  -webkit-border-top-left-radius: 0px !important;
  -webkit-border-top-right-radius: 0px !important;
  -webkit-border-bottom-left-radius: 10px !important;
  -webkit-border-bottom-right-radius: 10px !important;
  border-top-left-radius: 0px !important;
  border-top-right-radius: 0px !important;
  border-bottom-left-radius: 10px !important;
  border-bottom-right-radius: 10px !important;
  -moz-border-radius: 0 0 10px 10px !important;
  border-radius: 0 0 10px 10px !important;
}

.mauto {
  margin: auto !important;
}

.mt0 {
  margin-top: 0px !important;
}
.mt01 {
  margin-top: 1px !important;
}
.mt05 {
  margin-top: 5px !important;
}
.mt10 {
  margin-top: 10px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt22 {
  margin-top: 22px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.mt40 {
  margin-top: 40px !important;
}
.mt50 {
  margin-top: 50px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}
.mb05 {
  margin-bottom: 5px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb15 {
  margin-bottom: 15px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.mb40 {
  margin-bottom: 40px !important;
}
.mb50 {
  margin-bottom: 50px !important;
}
.mb60 {
  margin-bottom: 60px !important;
}
.mb70 {
  margin-bottom: 70px !important;
}
.mb80 {
  margin-bottom: 80px !important;
}
.mb90 {
  margin-bottom: 90px !important;
}
.mb100 {
  margin-bottom: 100px !important;
}

@media screen and (max-width: 800px) {
  .smb0 {
    margin-bottom: 0px !important;
  }
  .smb05 {
    margin-bottom: 5px !important;
  }
  .smb10 {
    margin-bottom: 10px !important;
  }
  .smb15 {
    margin-bottom: 15px !important;
  }
  .smb20 {
    margin-bottom: 20px !important;
  }
  .smb30 {
    margin-bottom: 30px !important;
  }
  .smb40 {
    margin-bottom: 40px !important;
  }
  .smb50 {
    margin-bottom: 50px !important;
  }
}

.ml0 {
  margin-left: 0px !important;
}
.ml05 {
  margin-left: 5px !important;
}
.ml10 {
  margin-left: 10px !important;
}
.ml15 {
  margin-left: 15px !important;
}
.ml20 {
  margin-left: 20px !important;
}
.ml30 {
  margin-left: 30px !important;
}
.ml40 {
  margin-left: 40px !important;
}
.ml50 {
  margin-left: 50px !important;
}

.mr0 {
  margin-right: 0px !important;
}
.mr01 {
  margin-right: 1px !important;
}
.mr05 {
  margin-right: 5px !important;
}
.mr10 {
  margin-right: 10px !important;
}
.mr15 {
  margin-right: 15px !important;
}
.mr20 {
  margin-right: 20px !important;
}
.mr30 {
  margin-right: 30px !important;
}
.mr40 {
  margin-right: 40px !important;
}
.mr50 {
  margin-right: 50px !important;
}

.pt0 {
  padding-top: 0 !important;
}
.pt05 {
  padding-top: 5px !important;
}
.pt10 {
  padding-top: 10px !important;
}
.pt15 {
  padding-top: 15px !important;
}
.pt20 {
  padding-top: 20px !important;
}
.pt30 {
  padding-top: 30px !important;
}
.pt40 {
  padding-top: 40px !important;
}
.pt50 {
  padding-top: 50px !important;
}

.pb0 {
  padding-bottom: 0 !important;
}
.pb05 {
  padding-bottom: 5px !important;
}
.pb10 {
  padding-bottom: 10px !important;
}
.pb15 {
  padding-bottom: 15px !important;
}
.pb20 {
  padding-bottom: 20px !important;
}
.pb30 {
  padding-bottom: 30px !important;
}
.pb40 {
  padding-bottom: 40px !important;
}
.pb50 {
  padding-bottom: 50px !important;
}
.pb60 {
  padding-bottom: 60px !important;
}
.pb70 {
  padding-bottom: 70px !important;
}
.pb80 {
  padding-bottom: 80px !important;
}
.pb90 {
  padding-bottom: 90px !important;
}
.pb100 {
  padding-bottom: 100px !important;
}

.pl0 {
  padding-left: 0 !important;
}
.pl05 {
  padding-left: 5px !important;
}
.pl10 {
  padding-left: 10px !important;
}
.pl15 {
  padding-left: 15px !important;
}
.pl20 {
  padding-left: 20px !important;
}
.pl30 {
  padding-left: 30px !important;
}
.pl40 {
  padding-left: 40px !important;
}
.pl50 {
  padding-left: 50px !important;
}

.pr0 {
  padding-right: 0 !important;
}
.pr05 {
  padding-right: 5px !important;
}
.pr10 {
  padding-right: 10px !important;
}
.pr15 {
  padding-right: 15px !important;
}
.pr20 {
  padding-right: 20px !important;
}
.pr30 {
  padding-right: 30px !important;
}
.pr40 {
  padding-right: 40px !important;
}
.pr50 {
  padding-right: 50px !important;
}

.pad0 {
  padding: 0 !important;
}
.pad05 {
  padding: 5px !important;
}
.pad10 {
  padding: 10px !important;
}
.pad15 {
  padding: 15px !important;
}
.pad20 {
  padding: 20px !important;
}
.pad30 {
  padding: 30px !important;
}
.pad40 {
  padding: 40px !important;
}
.pad50 {
  padding: 50px !important;
}

.plr05 {
  padding-left: 5px !important;
  padding-right: 5px !important;
}
.plr10 {
  padding-left: 10px !important;
  padding-right: 10px !important;
}
.plr15 {
  padding-left: 15px !important;
  padding-right: 15px !important;
}
.plr20 {
  padding-left: 20px !important;
  padding-right: 20px !important;
}
.plr30 {
  padding-left: 30px !important;
  padding-right: 30px !important;
}
.plr40 {
  padding-left: 40px !important;
  padding-right: 40px !important;
}
.plr50 {
  padding-left: 50px !important;
  padding-right: 50px !important;
}

.fl {
  float: left !important;
}
.fr {
  float: right !important;
}
.fl_block {
  float: left !important;
}
.fr_block {
  float: right !important;
}
.of {
  overflow: hidden;
}

.visi {
  display: block !important;
}
.hide {
  display: none !important;
}

.wrap {
  word-break: break-all;
}

.d-block {
  display: block;
}

/*tiny_edit*/
.y_mark {
  background: linear-gradient(transparent 35%, #fef900 35%);
}
.p_mark {
  background: linear-gradient(transparent 35%, #ffa1db 35%);
}

.log_cont_box {
  margin: 0 auto;
  background-color: #f2f2f2;
  padding: 1.5em 1.25em;
  margin-bottom: 1.5em;
}

.log_cont_box_b {
  margin: 0 auto;
  background-color: #cff7ff;
  padding: 1.5em 1.25em;
  margin-bottom: 1.5em;
}

/* clearfix */
.cls {
  clear: both;
}
/* For modern browsers */
.cf:before,
.cf:after {
  content: '';
  display: table;
}
.cf:after {
  clear: both;
}
/* For IE 6/7 (trigger hasLayout) */
.cf {
  zoom: 1;
} /* clearfixここまで */

@media screen and (max-width: 800px) {
  .fl_block {
    float: none !important;
    width: 100%;
  }
  .fr_block {
    float: none !important;
    width: 100%;
  }
}
/* 汎用ここまで */

/* コース追加 2025 */
.course_h span {
  line-height: 1.5;
}

/* ご案内ブロック 赤色 */
.c-info-bk {
  display: block;
  width: 100%;
  margin: 1rem auto 2rem;
  padding: 1rem;
  border: solid 1px red;
  text-align: center;
}
@media (max-width: 768px) {
  .c-info-bk {
    width: 96%;
  }
}
@media (max-width: 640px) {
  .c-info-bk {
    text-align: left;
  }
}
.c-info-bk p {
  color: red;
  margin: 0;
  line-height: 1.7;
}
.c-info-bk p a {
  color: #1d2087;
  text-decoration: underline;
}
.c-info-bk p.c-info-bk__title {
  position: relative;
  margin-bottom: 0.4rem;
  text-align: center;
}
