@charset "utf-8";
  
/******************************************************

reset css

******************************************************/
html {
  overflow-y: scroll;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
}


p {
  line-height:22px;
}


table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset,img {
  border: 0;
}

img {
  vertical-align: bottom;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal;
}

li {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

q:before, q:after { 
  content: '';
}
abbr, acronym {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}
sub {
  vertical-align: text-bottom;
}

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}


/*to enable resizing for IE*/
input, textarea, select {
  *font-size:100%;
}
/*because legend doesn't inherit in IE */
legend {
  color: #000;
}
del, ins {
  text-decoration:none;
}

@media all and (min-width: 768px) {
  /******************************************************

  body

  ******************************************************/
  body {
    width: 100%;
    margin: 0 auto;
    color: #3f3f3f;
    font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic",
      "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
    font-size: 12px;
    line-height: 150%;
    z-index: 50;
  }
  img {
    max-width: 100%;
  }

  #wrapper {
    width: 1023px;
    margin: 0 auto;
    clear: both;
  }
  .left {
    float: left;
  }
  .right {
    float: right;
  }
  .imgL {
    float: left;
    margin-right: 20px;
    margin-bottom: 10px;
    max-width: initial;
  }
  .imgR {
    float: right;
    margin-left: 20px;
    margin-bottom: 10px;
  }
  .clear {
    clear: both;
  }
  p {
    margin-top: 10px;
    margin-bottom: 10px;
  }
  a:link,
  a:visited {
    color: #4248b7;
  }
  a:hover,
  a:active {
    text-decoration: none;
  }
  span.blank:after {
    content: "";
    background: url(/images/common/ico_blank.png) no-repeat left top/100% auto;
    display: inline-block;
    width: 15px;
    height: 20px;
    margin-left: 3px;
    vertical-align: text-top;
  }
  strong {
    font-weight: bold;
  }
  .ml30 {
    margin-left: 30px;
  }
  .ml20 {
    margin-left: 20px;
  }
  .mb0 {
    margin-bottom: 0;
  }
  .mb10 {
    margin-bottom: 10px;
  }
  .mb15 {
    margin-bottom: 15px;
  }
  .mb20 {
    margin-bottom: 20px;
  }
  .mb30 {
    margin-bottom: 30px;
  }

  .mb20 {
    margin-bottom: 20px;
  }

  .mb10 {
    margin-bottom: 10px;
  }

  .mt0 {
    margin-top: 0;
  }
  .mt10 {
    margin-top: 10px;
  }
  .mt20 {
    margin-top: 10px;
  }
  .mt30 {
    margin-top: 30px;
  }
  .mr10 {
    margin-right: 10px;
  }
  .mr20 {
    margin-right: 20px;
  }

  .mr30 {
    margin-right: 30px;
  }
  .pt05 {
    padding-top: 5px !important;
  }
  .pb05 {
    padding-bottom: 5px !important;
  }
  .fs16 {
    font-size: 16px;
  }

  .f_bold {
    font-weight: bold;
  }
  .center {
    display: block;
    margin: 0 auto;
    text-align: center;
  }
  .t_left {
    text-align: left;
  }

  .red {
    color: #c00;
  }

  .alert {
    color: #c00;
    padding: 10px;
    margin: 20px 10px;
    border: 1px solid #c03;
  }

  .blue {
    color: #4046b7;
  }
  hr.hrGray {
    border: none;
    border-bottom: #ccc 1px dotted;
    margin: 20px 10px;
    height: 1px;
    clear: both;
  }

  /******************************************************

  header

  ******************************************************/
  #header{
    padding: 20px 0 0;
  }
  #header .headerInner{
    max-width: 1023px;
    margin: 0 auto;
  }
  #header .logo img {
    width: 350px;
  }
  #header .h_top{
    display:flex;
    justify-content: space-between;
    margin-bottom: 20px;
  }
  #header .h_top ul{
    display: flex;
  }
  #header .h_top ul li{
    margin: 10px;
  }
  #header .h_top a{
    text-decoration: none;
  }
  #header .btnMenu {
    display: none;
  }

  #snsBtn {
    position: absolute;
    top: 26px;
    right: 0;
    text-align: right;
    width: 260px;
  }

  #snsBtn td {
    padding-left: 10px;
    vertical-align: top;
    text-align: right;
  }

  /******************************************************

  globalNav

  ******************************************************/

  #globalNav {
    z-index: 10;
    border-top: solid 1px #cecece;
  }
  #globalNav ul {
    margin: 0px auto;
    display: flex;
    justify-content: space-evenly;
  }
  #globalNav ul li {
    list-style: none;
    z-index: 1;
  }
  .opacity {
    filter: alpha(opacity=0);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=0)";
    -moz-opacity: 0;
    opacity: 0;
  }
  .wordsopacity {
    background-color: #309dff;
    filter: alpha(opacity=80);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=80)";
    -moz-opacity: 0.8;
    -khtml-opacity: 0.8;
    opacity: 0.8;
  }

  /******************************************************

  container

  ******************************************************/

  #container {
    max-width: 1005px;
    background-color: #fff;
    margin: 0 auto 10px auto;
  }
  #container a:hover img,
  #footer a:hover img,
  #footerLink a:hover img,
  #containerTop a:hover img {
    filter: alpha(opacity=65);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=65)";
    -moz-opacity: 0.65;
    opacity: 0.65;
  }
  #main_row {
    display: flex;
    justify-content: space-between;
  }
  #mainLeft {
    width: 730px;
    flex: 1;
    padding-left: 10px;
    float: left;
  }
  .hdg2-type01 {
    margin-bottom: 10px;
  }
  .hdg1-type02 {
    font-size: 27px;
    clear: both;
    background: url(../images/common/h2_bg.gif) no-repeat bottom;
    line-height: 1;
    min-height: 30px;
    padding: 30px 0 5px 0;
    margin-bottom: 20px;
  }
  .hdg1-type02.hdg1-type02-mb0 {
    margin-bottom: 0;
  }
  .hdg1-type02.font_s {
    font-size: 25px;
  }
  .hdg1-type02.font_ss {
    font-size: 21px;
  }
  .hdg1-type02.font_sss {
    font-size: 18px;
  }

  .hdg3-type01 {
    margin-top: 30px;
    margin-bottom: 20px;
    border-bottom: solid 1px #4248b7;
    border-left: solid 4px #4248b7;
    font-size: 20px;
    padding-left: 10px;
    line-height: 38px;
  }
  .hdg3-type01.font_s {
    font-size: 25px;
  }

  .hdg3-type01.font_ss {
    font-size: 14px;
    line-height: 18px;
  }
  .hdg4-type01 {
    border-left: #000000 4px solid;
    padding-left: 10px;
    font-size: 16px;
    line-height: 16px;
    margin-top: 30px;
    margin-bottom: 10px;
    z-index: 50;
  }
  .hdg5-type01 {
    color: #4147b7;
    background: url(../images/common/li_blue.gif) no-repeat 0 4px;
    padding-left: 15px;
    margin-bottom: 10px;
    margin-top: 10px;
  }
  .hdg5-type02 {
    display: block;
    max-width: 310px;
    height: 26px;
    font-size: 14px;
    line-height: 26px;
    font-weight: bold;
    background-color: #eaeaea;
    padding-left: 10px;
  }
  .hdg5-type03 {
    display: block;
    margin-bottom: 8px;
  }
  .hdg5-type04 {
    font-size: 14px;
    color: #4248b7;
    background: url(/images/sp/exam/qualifying/qualifying_mark01.png) 0 3px
      no-repeat;
    background-size: 12px;
    margin-bottom: 8px;
    text-indent: 17px;
    font-weight: bold;
    margin-left: 10px;
  }
  .hdg5-type05 {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.8;
    margin-bottom: 10px;
  }
  .hdg5-type05 span {
    width: 30px;
    display: inline-block;
    text-align: center;
    font-size: 18px;
    margin-right: 6px;
    font-weight: bold;
    background: linear-gradient(to bottom, #F9F9FC, #E7E8F6);
  }

  /******************************************************

  List

  ******************************************************/

  .listBlue li {
    background: url(../images/common/li_blue.gif) no-repeat 0 4px;
    padding-left: 15px;
    margin-bottom: 10px;
    margin-top: 10px;
  }

  ol li {
    list-style: outside decimal;
    margin-left: 20px;
    margin-top: 10px;
  }
  /******************************************************

  side

  ******************************************************/
  #side {
    margin: 0 0 10px auto;
    width: 232px;
    /* margin-left: 20px; */
  }
  .sideNavi {
    background-color: #dbdcf2;
    padding-left: 12px;
    padding-right: 12px;
    margin-bottom: 30px;
    padding-bottom: 12px;
  }

  .sideNavi .sideNaviName {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ",
      Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    padding-top: 21px;
    padding-bottom: 20px;
    font-weight: bold;
    font-size: 14px;
    background: url(../images/common/sidettl_bg.gif) no-repeat 0 20px;
    padding-left: 10px;
  }

  .sideNavi .sidettl {
    margin-bottom: 10px;
    margin-top: 20px;
  }
  .sideExam {
    background-color: #fff;
    width: 205px;
  }
  .sideExam li {
    background: url(../exam/images/side_li.gif) no-repeat 0;
    line-height: 10px;
    background-color: #fff;
    margin: 20px 10px 20px 5px;
    padding-left: 15px;
  }

  .sideExam li a {
    color: #595ec0;
    font-weight: bold;
    text-decoration: none;
  }

  .sideExam li a.current {
    color: #000;
    font-weight: bold;
    text-decoration: none;
  }

  .sideExam dt a.current {
    filter: alpha(opacity=80);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=80)";
    -moz-opacity: 0.8;
    opacity: 0.8;
  }

  .sideExam li a:hover {
    color: #999cdb;
    font-weight: bold;
    text-decoration: none;
  }

  .sideBtn {
    margin: 25px auto 20px auto;
    text-align: center;
    display: block;
  }
  .sideBnr img {
    margin-bottom: 10px;
  }
  .sideBnr .box {
    margin-bottom: 30px;
  }
  .sideBnr .box .category_ttl {
    font-size: 14px;
    font-weight: bold;
    background: #dbdcf2;
    padding: 5px;
  }
  .sideBnr .box ul li {
    font-size: 14px;
    font-weight: bold;
    border-bottom: solid 1px #cecece;
    margin-bottom: 10px;
    padding-bottom: 10px;
  }
  .sideBnr .box ul li a {
    text-decoration: none;
  }
  .sideBnr .box ul li a:before {
    content: "▶";
  }
  .sideBnr .box ul li a span {
    font-size: 12px;
    color: #333333;
  }
  .sideBnr_02 h3 {
    font-size: 14px;
    font-weight: bold;
    background: #dbdcf2;
    padding: 5px;
  }
  .sideBnr_02 .name {
    color: #4248b7;
    font-size: 14px;
    line-height: 1.2;
  }
  .sideBnr_02 .name:before {
    content: "▶";
  }
  .sideBnr_02 a {
    border-bottom: 1px solid #efefef;
    color: inherit;
    display: block;
    font-weight: 600;
    padding: 10px 0;
    text-decoration: none;
  }
  .sideBnr_02 p {
    line-height: 1.5;
    margin-bottom: 0;
    margin-top: 0;
  }

  .sideOpen {
    float: left;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 11px;
    cursor: pointer;
  }

  .sideIndex {
    background: url(../images/common/side_ttl_bg.gif) no-repeat;
    width: 205px;
    padding-top: 9px;
    height: 42px;
  }

  /*-------------------------------
  side menu
  -------------------------------*/
  .side_menu {
    margin: 3em auto;
    max-width: 60vw;
  }
  .side_menu ul li {
    background: #4248b7;
    border: solid 1px #ccc;
  }
  .side_menu ul li a {
    position: relative;
    color: #fff;
    display: block;
    padding: 15px;
    text-decoration: none;
  }
  .side_menu ul li a:after {
    position: absolute;
    content: "▶";
    right: 1.25em;
  }
  .side_menu ul li a:hover {
    opacity: 0.65;
  }
  .toggle {
    display: none;
  }
  .option {
    position: relative;
  }
  .title,
  .menu_inner {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: all 0.3s;
  }
  .title {
    background: #4248b7;
    border: solid 1px #ccc;
    padding: 1em;
    display: block;
    color: #fff;
    font-weight: bold;
  }
  .title_w {
    background: #f7f7fd;
    color: #4248b7;
  }
  .title::after,
  .title::before {
    content: "";
    position: absolute;
    right: 1.25em;
    top: 1.25em;
    width: 2px;
    height: 0.75em;
    background-color: #fff;
    transition: all 0.3s;
  }
  .title_w::after,
  .title_w::before {
    background-color: #4248b7;
  }
  .title::after {
    transform: rotate(90deg);
  }
  .side_menu .menu_inner {
    max-height: 0;
    overflow: hidden;
  }
  .side_menu .menu_inner ul li a {
    margin: 0;
    line-height: 1.5;
    background: #f7f7fd;
    color: #4248b7;
    text-decoration: none;
  }
  .toggle:checked + .title + .menu_inner {
    max-height: 600px;
    transition: all 1.5s;
  }
  .toggle:checked + .title::before {
    transform: rotate(90deg) !important;
  }

  /******************************************************

  pankuzu

  ******************************************************/
  #pankuzu {
    margin: 20px auto 30px 0;
    color: #333333;
  }
  #pankuzu li {
    float: left;
    margin-right: 10px;
  }
  #pankuzu li a {
    background: url(../images/common/pankuzu.gif) no-repeat right;
    padding-right: 25px;
  }
  /******************************************************

  pagetop

  ******************************************************/

  /***追従するトップへ戻るボタン***/
  #page_top {
      position: fixed;
      right: 30px;
      bottom: 15%;
      height: 50px;
      text-decoration: none;
      font-weight: bold;
      transform: rotate(90deg);
      font-size: 90%;
      line-height: 1.5rem;
      color: #737373;
      padding: 0 0 0 35px;
      border-top: solid 1px;
  }
  #page_top::before {
      content: "";
      display: block;
      position: absolute;
      top: -1px;
      left: 0px;
      width: 15px;
      border-top: solid 1px;
      transform: rotate(35deg);
      transform-origin: left top;
  }
  /***トップへ戻るボタンここまで***/


  /******************************************************

  footer

  ******************************************************/

  #footer {
    margin-top: 90px;
  }
  #footerInner {
    width: 1023px;
    margin: 0 auto 15px auto;
  }
  #footerInner li {
    float: left;
  }
  #footerInner p {
    margin: 20px;
  }
  #footerLink {
    padding: 5px 10px;
    background: #373568;
  }
  #footerLink .inner{
    max-width: 1023px;
    margin: 10px auto;
  }

  #footerLink address {
    font-size: 10px;
    text-align: right;
    color: #fff;
  }
  #footerLink li {
    float: left;
  }
  #footerLink #sidr {
    display: none;
  }


  /******************************************************

  clear fix

  ******************************************************/
  /* For modern browsers */
  .clearfix:before,
  .clearfix:after {
    content: "";
    display: table;
  }
  .clearfix:after {
    clear: both;
  }
  /* For IE 6/7 (trigger hasLayout) */
  .clearfix {
    zoom: 1;
  }

  .flow {
    border: 3px solid rgb(107, 144, 219);
  }
  .flow > li {
    padding: 30px;
  }
  .flow > li:not(:last-child) {
    border-bottom: 3px solid rgb(107, 144, 219);
    position: relative;
  }
  .flow > li:not(:last-child)::before,
  .flow > li:not(:last-child)::after {
    content: "";
    border: solid transparent;
    position: absolute;
    top: 100%;
    left: 15%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .flow > li:not(:last-child)::before {
    border-width: 22px;
    border-top-color: rgb(107, 144, 219);
  }
  .flow > li:not(:last-child)::after {
    border-width: 18px;
    border-top-color: #fff;
  }
  .flow > li dl {
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .flow > li dl dt {
    font-size: 15px;
    font-weight: 600;
    color: rgb(107, 144, 219);
    margin-right: 1vw;
    text-align: center;
  }
  .flow > li dl dt .icon {
    font-size: 12px;
    color: #fff;
    background: rgb(107, 144, 219);
    background: -moz-linear-gradient(
      left,
      rgba(107, 144, 219, 1) 0%,
      rgba(102, 213, 233, 1) 100%
    );
    background: -webkit-linear-gradient(
      left,
      rgba(107, 144, 219, 1) 0%,
      rgba(102, 213, 233, 1) 100%
    );
    background: linear-gradient(
      to right,
      rgba(107, 144, 219, 1) 0%,
      rgba(102, 213, 233, 1) 100%
    );
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6b90db', endColorstr='#66d5e9',GradientType=1 );
    padding: 5px 10px;
    margin-bottom: 10px;
    display: block;
    border-radius: 20px;
  }

  /* イークリエイト記述 2022/03/08～ */
  #globalNav ul li {
    text-align: center;
    width: 131px;
  }
  #globalNav ul li a {
    color: #333333;
    display: block;
    font-size: 14px;
    font-weight: 600;
    padding: 20px 0;
    text-decoration: none;
    border-bottom: solid 1px #fff;
  }
  #globalNav ul li a:hover {
    border-bottom: solid 1px #888888;
  }
  .sideNavi {
    padding-top: 1px;
  }

  .sideNavi h4 {
    border-left: #000000 3px solid;
    color: #000;
    font-size: 14px;
    line-height: 18px;
    font-weight: 500;
    margin-top: 20px;
  }

  #side .sideOpen img {
    vertical-align: text-top;
  }
  #side .h4_type02 {
    border-left: none;
    color: #000;
    font-size: 14px;
    font-weight: 500;
    padding-left: 0;
  }

  #side .h4_type02::before {
    background-color: #dbdcf2;
    content: "";
    display: inline-block;
    height: 12px;
    margin-right: 5px;
    width: 12px;
  }

  #side dt:not(:last-of-type) {
    border-bottom: solid 1px #ccc;
  }

  #side dl:not([class]) {
    background: #4248b7;
    border-left: 3px solid #fff;
    width: 100%;
    box-sizing: border-box;
    border-top: 1px solid #fff;
  }

  #side dl:not([class]) a {
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    display: block;
    padding: 16px 10px;
  }

  #side dl:not([class]) a:hover {
    opacity: 0.7;
  }

  #side dt {
    background-size: cover;
    width: 100%;
  }

  #side .sideIndex a {
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    display: block;
    padding-top: 8px;
  }

  #footerInner li {
    border-left: 1px solid #4248b7;
  }

  #footerInner li:last-of-type {
    border-right: 1px solid #4248b7;
  }

  #footerInner li a {
    color: #4248b7;
    display: block;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    padding: 0 20px;
    text-align: center;
    text-decoration: none;
  }

  #footerInner li a:hover {
    opacity: 0.7;
  }

  #footerLink li:nth-of-type(n + 2) {
    margin-left: 20px;
  }

  #footerLink li a {
    color: #fff;
    font-size: 11px;
    text-decoration: none;
  }

  #footerLink li img {
    vertical-align: baseline;
  }
}

  /******************************************************

  NEWS

  ******************************************************/
  .news .listBlue {
    margin-top: 30px;
  }
  .news .listBlue a {
    color: #4248b7;
    text-decoration: underline;
  }