@charset "UTF-8";
/* =====================================
	全体設定
===================================== */
a, a:link, a:visited {
  text-decoration: none;
  color: #242c3f; }

a:hover, a:active {
  text-decoration: underline; }

a:hover, a:hover dl {
  opacity: .5;
  -webkit-opacity: .5;
  -moz-opacity: .5;
  filter: alpha(opacity=50);
  /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)";
  /* IE 8 */ }

a, a dl {
  -webkit-transition: opacity 0.2s ease-out;
  -moz-transition: opacity 0.2s ease-out;
  -ms-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out; }

html, body {
  min-height: 100%; }

html {
  font-size: 10px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

body {
  margin: 0;
  height: 100%;
  color: #242c3f;
  line-height: 1.7;
  font-size: 1.5rem;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
  background: #fff; }

.en {
  font-family: 'Montserrat', "游ゴシック", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
  font-weight: 700; }

.colorW {
  color: #fff !important; }
  .colorW span {
    border-color: #fff !important; }

.sun {
  color: #ff00aa; }

.sat {
  color: #00c9ff; }

.fixedBg {
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover; }

/*  メインビジュアル 見出し
===================================== */
.page-bar {
  display: table;
  table-layout: fixed;
  width: 100%;
  height: 72px;
  padding: 0 24px;
  color: #fff;
  background: #242c3f; }
  .page-bar-title {
    display: table-cell;
    vertical-align: middle; }
    .page-bar-title-en, .page-bar-title-jp {
      display: block;
      line-height: 1.5; }
    .page-bar-title-en {
      letter-spacing: 0.05em;
      font-family: 'Montserrat', "游ゴシック", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
      font-weight: 700; }
    .page-bar-title-jp {
      font-size: 1.2rem;
      font-weight: bold; }

/* =====================================
	header
===================================== */
.header {
  z-index: 10;
  position: fixed;
  top: 0;
  left: 0;
  width: 240px;
  height: 100vh;
  border-left: 4px solid #242c3f;
  background: #f4f4f4; }

.siteLogo {
  display: block;
  text-align: center;
  font-size: 1.3rem;
  font-weight: bold; }
  .siteLogo a {
    display: block;
    padding: 20px 0; }
    .siteLogo a:hover {
      text-decoration: none !important; }
  .siteLogo span {
    display: block;
    margin: 8px 0 0; }

.drawer-hamburger {
  display: none; }

.gNav ul {
  margin: 0 0 32px; }

.gNav-item a,
.gNav-item-contact a,
.gNav-item-oiuvoice a {
  display: table-cell;
  vertical-align: middle;
  line-height: 1;
  font-weight: bold; }
  .gNav-item a:before,
  .gNav-item-contact a:before,
  .gNav-item-oiuvoice a:before {
    content: '';
    display: inline-block;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    vertical-align: middle; }
.gNav-item span,
.gNav-item-contact span,
.gNav-item-oiuvoice span {
  display: inline-block;
  vertical-align: middle; }

.gNav-item {
  display: table;
  width: 100%;
  height: 65px;
  border-top: 1px solid #dfe0e2;
  font-size: 1.6rem; }
  .gNav-item a {
    padding-left: 40px;
    color: #000;
    -webkit-transition: all 0.2s ease-out;
    -moz-transition: all 0.2s ease-out;
    -ms-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out; }
    .gNav-item a:before {
      width: 32px;
      height: 32px;
      margin-right: 24px; }
    .gNav-item a:hover {
      opacity: 1;
      background: #fff; }
  .gNav-item:last-of-type {
    border-bottom: 1px solid #dfe0e2; }
  .gNav-item.gNav-item-entry a:before {
    width: 47px;
    margin-left: -10px;
    background-image: url("../images/icn-info.svg"); }
  .gNav-item.gNav-item-event a:before {
    background-image: url("../images/icn-calendar.svg"); }
  .gNav-item.gNav-item-movie a:before {
    background-image: url("../images/icn-movie.svg"); }
  .gNav-item.gNav-item-qa a:before {
    background-image: url("../images/icn-qa.svg"); }

.gNav-item-contact {
  display: table;
  width: 100%;
  height: 60px;
  padding: 0 16px; }
  .gNav-item-contact a {
    background: #e8ff00;
    text-align: center;
    font-size: 1.8rem; }
    .gNav-item-contact a:before {
      width: 36px;
      height: 26px;
      margin-right: 18px;
      background-image: url("../images/icn-catalogue.svg"); }

.gNav-item-oiuvoice {
  display: table;
  width: 100%;
  height: 60px;
  margin-bottom: 8px;
  padding: 0 16px; }
  .gNav-item-oiuvoice a {
    background: #242c3f;
    color: #fff;
    text-align: center;
    font-size: 1.8rem; }

/* =====================================
	topicPath
===================================== */
/* =====================================
	content
===================================== */
.container {
  clear: both; }

.content {
  z-index: 0;
  margin: 0 0 0 240px; }
  .content:before {
    z-index: 10;
    content: '';
    position: fixed;
    top: 0;
    left: 240px;
    display: block;
    background: rgba(36, 44, 63, 0.1);
    width: 4px;
    height: 100%; }

.main {
  background-position: top center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover; }
  .main.page-other {
    background-image: url(/assets_2017/images/examination-bg.jpg); }

/* =====================================
  components
===================================== */
/* heading
------------------------------------- */
h3 {
  font-size: 1.8rem;
  font-weight: bold; }

.block-title {
  color: #fff;
  background: #242c3f;
  padding: 16px 20px;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1; }

.section-label {
  margin-bottom: 32px;
  font-size: 2.4rem;
  text-align: center;
  font-family: 'Montserrat', "游ゴシック", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
  font-weight: 700; }
  .section-label span {
    display: inline-block;
    padding: 0 28px;
    background: #fff;
    line-height: 1; }

.element-title {
  margin-bottom: 16px !important;
  font-size: 1.6rem; }
  .element-title span {
    display: inline-block;
    padding: 0 0 2px;
    border-bottom: 2px solid #dfe0e2; }

h2, .title {
  margin: 0 0 32px;
  text-align: center;
  font-size: 4.8rem;
  letter-spacing: 1px;
  color: #242c3f;
  font-family: 'Montserrat', "游ゴシック", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
  font-weight: 700; }
  h2 span, .title span {
    border-bottom: 3px solid #242c3f; }
  h2.img-title, .title.img-title {
    line-height: 0; }
  h2.img-title-narrow + .sub-title, h2.img-title-narrow + .sub-title-white, .title.img-title-narrow + .sub-title, .title.img-title-narrow + .sub-title-white {
    margin-bottom: 50px; }

.section-title {
  font-size: 2.4rem; }
  .section-title span {
    display: inline-block; }
  .section-title-w {
    color: white; }
    .section-title-w span {
      border-bottom-color: white; }

/* text
------------------------------------- */
.notes {
  font-size: 1.2rem; }

.sub-title, .sub-title-white {
  font-size: 1.6rem;
  font-weight: bold;
  margin: 0 0 16px;
  color: #242c3f;
  text-align: center; }
  .sub-title.sub-title-l, .sub-title-l.sub-title-white {
    font-size: 2rem; }

.sub-title-white {
  color: #fff; }

.lead-copy {
  font-size: 1.3rem;
  text-align: center;
  color: #242c3f; }

.lead-copy-white {
  color: #fff; }

.tag {
  display: inline-block;
  min-width: 80px;
  margin: 0 16px 0 0;
  padding: 1px 0 2px;
  color: #fff;
  background: #242c3f;
  text-align: center;
  font-size: 1.2rem;
  font-weight: bold;
  vertical-align: top; }

.attention {
  color: red; }
  .attention a {
    color: red;
    text-decoration: underline; }
    .attention a:hover {
      text-decoration: none; }

.text-blue {
  color: #3A2E74; }

/* button
------------------------------------- */
.btn, .btn-yellow {
  display: block;
  padding: 13px 0;
  background: #f3f3f3;
  color: #242c3f;
  text-align: center;
  font-weight: bold;
  line-height: 1;
  text-decoration: none !important; }
  .btn:hover, .btn-yellow:hover {
    text-decoration: none !important; }

.btn-primary {
  font-weight: bold;
  color: #fff !important;
  text-decoration: none !important;
  background: #242c3f; }

.btn-white {
  background: #fff; }

.btn-yellow {
  background: #e8ff00; }

.btn-mail:before {
  display: inline-block;
  content: '';
  width: 22px;
  height: 14px;
  margin-right: 8px;
  background: url("../images/icn-mail.svg") center center no-repeat;
  background-size: 100% auto;
  vertical-align: middle; }

.btn-more, .btn-more-white, .btn-more-emphasize, .btn-down, .btn-more-red-fixed {
  position: relative;
  display: inline-block;
  min-width: 300px;
  padding: 12px 40px;
  border: 2px solid #242c3f;
  color: #242c3f;
  text-align: center;
  text-decoration: none !important;
  letter-spacing: 1px;
  line-height: 1;
  font-size: 1.5rem;
  font-family: 'Montserrat', "游ゴシック", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
  font-weight: 700; }
  .btn-more:after, .btn-more-white:after, .btn-more-emphasize:after, .btn-down:after, .btn-more-red-fixed:after {
    position: absolute;
    top: 50%;
    right: 10px;
    display: block;
    content: '';
    width: 12px;
    height: 12px;
    margin-top: -7px;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("../images/icn-arrow.svg");
    margin-left: 5px; }
  .btn-more:hover, .btn-more-white:hover, .btn-more-emphasize:hover, .btn-down:hover, .btn-more-red-fixed:hover {
    text-decoration: none !important; }
  .btn-more.sBtn, .sBtn.btn-more-white, .sBtn.btn-more-emphasize, .sBtn.btn-down, .sBtn.btn-more-red-fixed {
    padding: 8px 16px;
    width: 80%;
    min-width: 110px;
    font-size: 1.2rem; }

.btn-more-white {
  border-color: #fff;
  color: #fff; }
  .btn-more-white:after {
    background-image: url("/assets_2017/images/icn-arrow-white.svg"); }

.btn-more-emphasize {
  border-color: #e8ff00;
  background: #e8ff00; }
  .btn-more-emphasize-gray {
    background: #f4f4f4;
    border: none; }
  .btn-more-emphasize-key {
    background: #242c3f;
    border: none; }
    .btn-more-emphasize-key a {
      color: #fff !important; }
  .btn-more-emphasize-w100 {
    width: 100% !important; }
  .btn-more-emphasize.btn-more-emphasize-off {
    opacity: 0.5; }
  .btn-more-emphasize.btn-more-emphasize-pdf:after {
    width: 19px;
    height: 24px;
    top: 36%;
    background-image: url(/assets_2017/images/icn-pdf-blue.svg); }
  .btn-more-emphasize.btn-more-emphasize-l {
    padding: 16px 32px 16px 16px;
    width: 90%;
    max-width: 640px;
    min-width: 240px;
    font-size: 2rem; }
    .btn-more-emphasize.btn-more-emphasize-l span {
      display: block;
      margin-top: 8px;
      text-align: center;
      font-size: 1.6rem; }
    .btn-more-emphasize.btn-more-emphasize-l:after {
      width: 24px;
      height: 24px;
      margin-top: -10px;
      background-size: 24px 24px; }

.btn-down {
  width: 120px;
  min-width: 120px;
  padding-right: 10px;
  padding-left: 10px; }
  .btn-down:after {
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    transform: rotate(90deg); }

.btn-more-red-fixed {
  border-color: #cc0000;
  color: #cc0000;
  background-color: #fff; }
  .btn-more-red-fixed:after {
    background-image: none; }

.btn-thumb {
  display: block;
  height: 100%;
  padding: 0 0 24px;
  font-size: 1.7rem; }
  .btn-thumb figure {
    margin-bottom: 24px; }
  .btn-thumb img {
    width: 100%; }
  .btn-thumb span {
    display: block;
    margin-top: 10px;
    font-weight: normal;
    font-size: 1.2rem;
    line-height: 1.4; }
  .btn-thumb .figure-caption {
    padding: 0 16px; }
    .btn-thumb .figure-caption span {
      line-height: 1.6; }
  .btn-thumb.btn-bnr-m {
    padding: 0; }
    .btn-thumb.btn-bnr-m figure {
      margin-bottom: 0; }
    .btn-thumb.btn-bnr-m span {
      margin-top: 0; }

.btn-icn {
  position: relative;
  display: table;
  height: 100%;
  width: 100%;
  padding: 0; }
  .btn-icn span {
    display: table-cell;
    padding-top: 105px;
    padding-top: 53%;
    vertical-align: middle;
    font-size: 1.4rem;
    line-height: 1.4; }
  .btn-icn:before {
    position: absolute;
    top: 50%;
    left: 50%;
    content: '';
    display: block;
    width: 60px;
    height: 60px;
    margin-top: -50px;
    margin-left: -30px;
    background-position: center center;
    background-repeat: no-repeat; }
  .btn-icn-honor:before {
    background-image: url("../images/icn-honor.svg"); }
  .btn-icn-scholarship:before {
    background-image: url("../images/icn-scholarship.svg"); }
  .btn-icn-examination:before {
    background-image: url("../images/icn-examination.svg"); }
  .btn-icn-support:before {
    background-image: url("../images/icn-support.svg"); }
  .btn-icn-club:before {
    background-image: url("../images/icn-club.svg"); }
  .btn-icn-faq:before {
    background-image: url("../images/icn-faq.svg"); }
  .btn-icn-test:before {
    background-image: url("../images/icn-test.svg"); }
  .btn-icn-form:before {
    background-image: url("../images/icn-form.svg"); }
  .btn-icn-memo:before {
    background-image: url("../images/icn-memo.svg"); }
  .btn-icn-star:before {
    background-image: url("../images/icn-star.svg"); }
  .btn-icn-yen:before {
    background-image: url("../images/icn-yen.svg"); }
  .btn-icn-pin:before {
    background-image: url("../images/icn-pin.svg"); }
  .btn-icn-letter:before {
    background-image: url("../images/icn-letter.svg"); }
  .btn-icn-flow:before {
    background-image: url("../images/icn-flow.svg"); }
  .btn-icn-entry:before {
    background-image: url("../images/icn-entry.svg"); }
  .btn-icn-howto:before {
    background-image: url("../images/icn-baloon.svg"); }

.item-headerbtn {
  position: absolute;
  bottom: 0;
  right: 0; }

.btn-pdf {
  position: relative;
  display: inline-block;
  padding: 8px 24px;
  font-feature-settings: "palt" 1; }
  .btn-pdf:before {
    position: relative;
    top: -2px;
    content: '';
    display: inline-block;
    width: 19px;
    height: 24px;
    margin-right: 12px;
    background: url("/assets_2017/images/icn-pdf.svg") center center no-repeat;
    vertical-align: middle; }
  .btn-pdf:hover {
    text-decoration: none !important; }

.btn-small {
  min-width: 240px;
  padding: 9px 40px; }

.item-btns {
  margin: 20px 0 0; }

.btns-center {
  text-align: center; }

/* list
------------------------------------- */
.banner-item {
  margin-bottom: 40px;
  text-align: center;
  background-color: #fff; }
  .banner-item img {
    max-width: 100%;
    margin: 0 auto; }

.index-item {
  padding: 20px 0;
  border-bottom: 1px dotted #858585; }
  .index-item:last-of-type {
    border-bottom: 0; }

.index-item-label,
.index-item-content {
  float: left;
  font-size: 1.5rem;
  font-weight: bold;
  color: #242c3f; }

.index-item-label {
  width: 175px; }

.index-item-content {
  float: right;
  width: calc( 100% - 180px ); }

.snsBtn-list {
  position: relative;
  top: 5px; }

.snsBtn-item {
  display: inline-block;
  margin-left: 10px; }

.pageLink-list {
  padding-bottom: 20px;
  text-align: center; }

.pageLink-item {
  display: inline-block;
  padding: 0 8px; }

.qa-list {
  padding: 32px 24px;
  border-bottom: 1px dotted #858585; }
  .qa-list:last-of-type {
    border: 0; }

.qa-section .qa-list {
  padding: 32px 0; }
  .qa-section .qa-list:first-of-type {
    padding-top: 0; }

.qa-title,
.qa-content {
  position: relative;
  padding: 6px 0 6px 56px; }
  .qa-title:before,
  .qa-content:before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    content: '';
    width: 40px;
    height: 40px;
    padding-top: 2px;
    color: #242c3f;
    overflow: hidden;
    font-size: 2rem;
    text-align: center;
    background: #e8ff00;
    font-family: 'Montserrat', "游ゴシック", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
    font-weight: 700;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%; }

.qa-title {
  margin: 0 0 16px;
  font-size: 1.7rem;
  font-weight: bold; }
  .qa-title:before {
    content: 'Q'; }

.qa-content {
  font-size: 1.5rem; }
  .qa-content a {
    text-decoration: underline; }
  .qa-content:before {
    content: 'A'; }
  .qa-content p {
    margin-top: 16px; }

.expand-title {
  position: relative;
  cursor: pointer;
  -webkit-transition: opacity 0.2s ease-out;
  -moz-transition: opacity 0.2s ease-out;
  -ms-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out; }
  .expand-title:after {
    position: absolute;
    top: 50%;
    right: 20px;
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    background-image: url("../images/icn-plus.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    -webkit-transition: opacity 0.2s ease-out;
    transition: opacity 0.2s ease-out; }
  .expand-title:hover {
    opacity: 0.7; }

.expand-content {
  display: none;
  background: #f4f4f5; }

.expand-block-expanded .expand-title:after {
  background-image: url("../images/icn-minus.svg"); }

/* block
------------------------------------- */
.sp {
  display: none; }

.section-header {
  position: relative; }
  .section-header .sub-title, .section-header .sub-title-white {
    text-align: left; }

.inner-block {
  position: relative;
  max-width: 736px;
  width: 80%;
  margin: 0 auto; }

.clmn-2-block {
  position: relative;
  float: left;
  width: calc( ( 100% - 16px ) / 2 );
  margin-bottom: 16px;
  background: white; }
  .clmn-2-block:nth-of-type(2n) {
    float: right; }

.clmn-3-block {
  position: relative;
  float: left;
  width: calc( ( 100% - 16px* 2 ) / 3 );
  margin: 0 16px 16px 0;
  background: white; }
  .clmn-3-block:nth-child(3n) {
    margin-right: 0; }

.clmn-4-block {
  position: relative;
  float: left;
  width: calc( ( 100% - 16px * 3 ) / 4 );
  margin: 0 16px 16px 0;
  background: white; }
  .clmn-4-block:nth-of-type(4n) {
    margin-right: 0; }

.square-block {
  position: relative; }
  .square-block:before {
    content: '';
    display: block;
    padding-top: 100%; }
  .square-block a {
    text-decoration: none !important; }

.square-inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.icon {
  position: absolute;
  top: -26px;
  left: -18px; }

.section {
  position: relative;
  padding: 80px 0 0;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover; }
  .section-bg-gray {
    padding: 80px 0;
    background: #f4f4f4; }

.block {
  margin-bottom: 32px; }

.element {
  margin: 32px 0 0; }
  .element-border {
    padding: 0 0 32px;
    border-bottom: 1px solid #f1f1f1; }
    .element-border:last-of-type {
      padding-bottom: 0;
      border: 0; }
  .element h3 {
    margin: 0 0 16px; }

.frame-block {
  position: relative;
  padding: 48px 0 32px;
  border: 2px solid #242c3f; }
  .frame-block .section-label {
    position: absolute;
    top: -18px;
    left: 0;
    width: 100%;
    font-size: 3.6rem;
    line-height: 1; }
  .frame-block a:link {
    text-decoration: underline; }

.bgGray-block {
  padding: 24px;
  background: #f1f1f1; }

.ib-block {
  display: inline-block; }

.info-content {
  text-align: center; }

.info-title-desc {
  font-size: 1.6rem;
  vertical-align: middle; }

.info-title {
  display: inline-block;
  padding: 0 3px;
  margin-bottom: 16px;
  font-size: 2.4rem;
  font-weight: bold;
  border-bottom: 3px solid #e8ff00; }
  .info-title span {
    vertical-align: middle; }

.col3-block-element {
  display: inline-block;
  width: 33.33333%;
  padding-right: 16px; }
  .col3-block-element:nth-child(3n) {
    padding-right: 0; }

/* page-header
------------------------------------- */
.breadcrumbs {
  padding: 4px 16px;
  font-size: 1.2rem; }

.page-header {
  display: table;
  width: 100%;
  height: calc( 100vw * .360 );
  min-height: 160px;
  text-align: center; }
  .page-header.ud {
    height: calc( 100vw * auto ); }
  .page-header-blue {
    background: rgba(36, 44, 63, 0.8);
    color: #fff; }
  .page-header-small {
    height: calc( 100vw * .3 );
    min-height: 320px; }
  .page-header-lp {
    height: auto;
    min-height: 320px; }
    .page-header-lp img {
      width: 100%;
      height: auto; }
  .page-header-inner {
    display: table-cell;
    padding: 5px 0 0;
    vertical-align: middle; }
  .page-header-icon, .page-header-icon-solution, .page-header-icon-exam {
    display: block;
    width: 42px;
    height: 42px;
    margin: 0 auto 24px; }
    .page-header-icon-solution {
      background: url("../images/icn-qa-header.svg") center center no-repeat;
      background-size: contain; }
    .page-header-icon-exam {
      width: 46px;
      height: 30px;
      background: url("/assets_2017/images/icn-write.svg") center center no-repeat;
      background-size: contain; }
  .page-header-credit {
    position: relative;
    display: inline-block;
    margin-bottom: 8px;
    font-size: 2.4rem;
    font-family: 'Montserrat', "游ゴシック", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
    font-weight: 700; }
    .page-header-credit-exam {
      margin-left: -48px; }
      .page-header-credit-exam:before {
        content: '';
        position: relative;
        display: inline-block;
        width: 46px;
        height: 30px;
        margin-right: 12px;
        background: url("/assets_2017/images/icn-write.svg") center center no-repeat;
        background-size: contain; }
  .page-header-title {
    margin-bottom: 32px;
    font-size: 4rem;
    font-weight: bold;
    line-height: 1;
    font-family: 'Montserrat', "游ゴシック", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
    font-weight: 700; }
    .page-header-title.ud {
      margin-top: -16px;
      font-size: 1.8rem; }
    .page-header-title-jp {
      font-size: 2rem;
      font-weight: bold;
      line-height: 1; }
    .page-header-title-en {
      display: block;
      margin-bottom: 8px;
      font-size: 1.6rem;
      font-family: 'Montserrat', "游ゴシック", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
      font-weight: 700; }
    .page-header-title-caption {
      font-size: 1.6rem;
      vertical-align: middle; }
  .page-header-desc {
    font-size: 1.5rem;
    line-height: 1.8; }
  .page-header-large {
    height: calc( 100vw * .45 ); }
    .page-header-large .page-header-inner {
      padding-top: 20%;
      vertical-align: top; }
    .page-header-large .page-header-title {
      margin-bottom: 16px;
      font-size: 4.8rem;
      line-height: 1.2; }
  .page-header-catchphrase {
    margin-bottom: 8px;
    font-size: 1.8rem;
    font-weight: bold; }

/* pageごとのindexmenu
------------------------------------- */
.page-indexmenu, .page-indexmenu-hasBg {
  padding: 60px 0; }
  .page-indexmenu-title {
    font-size: 3.2rem;
    text-align: center;
    font-family: 'Montserrat', "游ゴシック", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
    font-weight: 700; }
  .page-indexmenu-list {
    font-size: 0;
    text-align: center; }
  .page-indexmenu-item {
    display: inline-block;
    font-size: 1.6rem;
    font-weight: bold; }
    .page-indexmenu-item a {
      text-decoration: none; }
    .page-indexmenu-item:after {
      content: '｜';
      margin: 0 8px; }
    .page-indexmenu-item:last-of-type:after {
      display: none; }
  .page-indexmenu-hasBg .page-indexmenu-title,
  .page-indexmenu-hasBg .page-indexmenu-item a,
  .page-indexmenu-hasBg .page-indexmenu-item:after {
    color: #fff; }
  .page-indexmenu-examAo {
    background: url("/assets_2017/images/exam-admission-menubg.jpg") center center no-repeat;
    background-size: cover; }

/* page-content
------------------------------------- */
.page-content, .page-content-bg-gray {
  padding: 0 0 96px;
  background: rgba(255, 255, 255, 0.95); }
  .page-content a:link, .page-content-bg-gray a:link, .page-content a:visited, .page-content-bg-gray a:visited {
    text-decoration: underline; }
    .page-content a:link:hover, .page-content-bg-gray a:link:hover, .page-content a:visited:hover, .page-content-bg-gray a:visited:hover {
      text-decoration: none; }
  .page-content.noAlp, .noAlp.page-content-bg-gray {
    background: white; }
  .page-content-bg-gray {
    background: #f4f4f4; }

.page-content-header {
  text-align: center; }

.page-content-title {
  padding: 64px 0 0;
  font-size: 3rem;
  font-weight: bold; }

.page-content-headline {
  display: inline-block;
  width: 48px;
  height: 2px;
  background: #dfe0e2; }

.page-cotent-intro {
  padding: 16px 0 0; }

.txt-list {
  text-align: center; }
  .txt-list .txt-list-content {
    display: inline-block;
    text-align: left; }
    .txt-list .txt-list-content .txt-list-title {
      font-weight: bold; }

.txtLC {
  text-align: center; }
  .txtLC .txtLC-cont {
    display: inline-block;
    margin: 0 auto;
    padding-left: 8px;
    padding-right: 8px;
    text-align: left; }

/* table-content
------------------------------------- */
table {
  width: 100%;
  table-layout: fixed; }

th, td {
  padding: 14px;
  border: 1px solid #242c3f; }

td.city, td.date, td.week, td.time {
  padding-left: 0;
  padding-right: 0;
  text-align: center; }
td.city {
  width: 10%; }
td.date {
  width: 13%; }
td.week {
  width: 8%; }
td.time {
  width: 20%; }

/* =====================================
  pages
===================================== */
/* top
------------------------------------- */
.keyVisual {
  z-index: 10;
  position: relative;
  width: 100%; }

.keyVisual-item {
  position: relative;
  overflow: auto;
  width: calc( ( 100vw - 240px ) / 2 );
  width: 50%;
  background-position: center center;
  background-repeat: no-repeat; }
  .keyVisual-item a {
    display: block;
    height: 100%;
    color: #fff; }
    .keyVisual-item a:hover {
      opacity: 1;
      text-decoration: none !important; }
  .keyVisual-item .keyVisual-inner {
    z-index: 1;
    position: relative;
    display: table;
    width: 100%;
    height: 100%;
    text-align: center; }
  .keyVisual-item .keyVisual-inner-box {
    display: table-cell;
    vertical-align: middle; }
  .keyVisual-item.item-02 {
    float: none;
    height: calc( ( 100vw - 240px ) / 4 ); }
    .keyVisual-item.item-02 span {
      display: block;
      height: 100%; }
  .keyVisual-item.item-03 {
    float: none;
    height: calc( ( 100vw - 240px ) / 4 ); }
    .keyVisual-item.item-03 span {
      display: block;
      height: 100%; }
  .keyVisual-item.item-01 {
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0;
    height: calc( ( 100vw - 240px ) / 2 );
    font-size: 1.5rem;
    font-weight: bold;
    background-image: url("../images/index-kv-01.jpg");
    -webkit-transition: opacity 0.2s ease-out;
    -moz-transition: opacity 0.2s ease-out;
    -ms-transition: opacity 0.2s ease-out;
    transition: opacity 0.2s ease-out; }
    .keyVisual-item.item-01.item-01woc {
      background-image: none; }
    .keyVisual-item.item-01 img {
      margin-bottom: 5px; }
    .keyVisual-item.item-01 p {
      margin-bottom: 20px; }
    .keyVisual-item.item-01:hover {
      opacity: 0.7; }
    .keyVisual-item.item-01-half {
      right: 0;
      top: auto;
      bottom: 0;
      height: calc( ( 100vw - 240px ) / 4 ); }
  .keyVisual-item.item-02 {
    background: none; }
    .keyVisual-item.item-02 a, .keyVisual-item.item-02 span {
      background-position: center center;
      background-repeat: no-repeat;
      background-size: cover; }
    .keyVisual-item.item-02 img {
      width: 100%;
      vertical-align: middle; }
    .keyVisual-item.item-02 a:hover {
      opacity: 0.7; }
  .keyVisual-item.item-04 {
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0;
    background: none; }
    .keyVisual-item.item-04 img {
      width: 100%;
      vertical-align: middle; }
    .keyVisual-item.item-04 a:hover {
      opacity: 0.7; }
  .keyVisual-item.item-05 {
    overflow: hidden;
    position: absolute;
    right: 0;
    bottom: 0;
    background: none; }
    .keyVisual-item.item-05 img {
      width: 100%;
      vertical-align: middle; }
    .keyVisual-item.item-05 a:hover {
      opacity: 0.7; }

#video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 0; }
  #video video {
    opacity: 0; }

.tablet #video, .mobile #video {
  display: none !important; }
.tablet .keyVisual-item.item-01, .mobile .keyVisual-item.item-01 {
  background-image: url("../images/index-kv-01-sp.jpg");
  background-size: cover; }
  .tablet .keyVisual-item.item-01.item-01woc, .mobile .keyVisual-item.item-01.item-01woc {
    background-image: url("../images/index-kv-web-oc-sp.jpg"); }

.win .keyVisual-item.item-01, .win .keyVisual-item.item-02, .win .keyVisual-item.item-03, .win .keyVisual-item.item-04, .win .keyVisual-item.item-05 {
  width: 50%; }
.win .keyVisual-item.item-03 span img {
  height: 100%;
  width: auto; }

.keyVisual-item-child {
  float: left;
  width: 25%;
  height: calc( ( 100vw - 240px ) / 4 );
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-transition: opacity 0.2s ease-out;
  -moz-transition: opacity 0.2s ease-out;
  -ms-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out;
  vertical-align: middle;
  text-align: center; }
  .keyVisual-item-child > a {
    display: block;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 2px;
    vertical-align: middle;
    width: 100%;
    height: calc( ( 100vw - 240px ) / 4 ); }
  .keyVisual-item-child.item-03-01 {
    background-image: url("/assets_2017/images/index-kv-fbae-s.jpg"); }
  .keyVisual-item-child.item-03-02 {
    background-image: url("/assets_2017/images/index-kv-sports-s.jpg"); }
  .keyVisual-item-child.item-oc2017 {
    background-image: url("/assets_2017/images/index-kv-oc-s.jpg"); }
  .keyVisual-item-child:hover {
    opacity: 0.7; }

.main-nav {
  padding: 24px 22px 18px 0;
  background: #f4f4f4; }

.main-nav-icn, .main-nav-list {
  float: left;
  text-align: center; }

.main-nav-icn {
  width: 90px;
  padding: 6px 0; }

.main-nav-list {
  width: calc( 100% - 90px ); }

.main-nav-item {
  display: table;
  float: left;
  min-height: 60px;
  width: calc( ( 100% - 31px ) / 4 );
  margin-right: 10px;
  background-color: #fff; }
  .main-nav-item a {
    display: table-cell;
    padding: 8px 5px;
    vertical-align: middle;
    font-weight: bold;
    font-size: 1.5rem;
    line-height: 1.4;
    background: #fff; }
    .main-nav-item a:hover {
      text-decoration: none !important; }
  .main-nav-item span {
    display: block;
    font-size: 1.2rem; }
  .main-nav-item:last-of-type {
    margin-right: 0; }

.news-ticker {
  position: relative;
  z-index: 10;
  border-bottom: 2px solid #dfe0e2; }

.news-mt {
  display: none; }

.news-ticker-label,
.news-ticker-content {
  float: left; }

.news-ticker-label {
  min-height: 39px; }
  .news-ticker-label img, .news-ticker-label span {
    vertical-align: middle; }
  .news-ticker-label img {
    margin-right: 10px; }

.news-ticker-content {
  width: calc( 100% - 185px ); }

.news-ticker-list {
  height: 100%; }

.news-ticker-item {
  display: table;
  height: 100%; }
  .news-ticker-item a {
    display: table-cell;
    padding-left: 5px;
    vertical-align: middle;
    text-decoration: none; }

.index-section {
  padding-bottom: 80px; }

.bnr-list {
  padding-bottom: 0 !important; }
  .bnr-list .banner-item {
    margin-bottom: 0; }

.topics-carousel-item {
  position: relative;
  width: calc( ( 100vw - 240px ) / 3 );
  margin-right: 2px; }
  .topics-carousel-item > span, .topics-carousel-item a {
    position: relative;
    display: block;
    text-decoration: none; }

.topics-item-label {
  display: table;
  width: 100%;
  height: calc( ( ( 100vw - 240px ) / 3 ) * .62 );
  margin: 0;
  overflow: hidden;
  text-align: center;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover; }
  .topics-item-label span {
    display: table-cell;
    vertical-align: middle; }
  .topics-item-label img {
    margin: 0 auto;
    max-width: 65%; }

.topics-item-text {
  padding: 15px 15px 5px;
  font-size: 1.5rem;
  font-weight: bold; }

.topics-item-01 .topics-item-label {
  background-image: url("../images/index-bnr-01.jpg"); }

.topics-item-02 .topics-item-label {
  background-image: url("../images/index-bnr-02.jpg"); }

.topics-item-03 .topics-item-label {
  background-image: url("../images/index-bnr-oicnews.jpg"); }

.index-section.events {
  background-image: url("../images/index-bg-events.jpg"); }
  .index-section.events h2 {
    margin-bottom: 42px; }
  .index-section.events .lead-copy {
    margin-bottom: 42px; }
  .index-section.events .btn, .index-section.events .btn-yellow {
    padding: 36px 0;
    font-size: 1.6rem; }

.index-section.department h2 {
  text-align: left;
  line-height: 1; }

.index-section.knowledge {
  background-position: top center;
  background-image: url("../images/index-bg-knowledge.jpg"); }
  .index-section.knowledge h2 {
    margin-bottom: 20px; }
  .index-section.knowledge .sub-title, .index-section.knowledge .sub-title-white {
    margin-bottom: 50px; }
  .index-section.knowledge .clmn-4-block {
    background-color: rgba(255, 255, 255, 0.93); }
  .index-section.knowledge .btn, .index-section.knowledge .btn-yellow {
    background-color: transparent; }

.index-section.news {
  background-color: #e9e9eb; }

/* event/oc_info
------------------------------------- */
.entryArea {
  padding: 64px 0;
  background: #fff; }
  .entryArea .txtC {
    max-width: 736px;
    margin: 0 auto; }

.num-list-area {
  margin-top: 40px; }
  .num-list-area .num-list {
    display: table;
    margin-bottom: 24px;
    text-align: left; }
    .num-list-area .num-list dt {
      display: table-cell; }
      .num-list-area .num-list dt span {
        display: inline-block;
        width: 64px;
        height: 64px;
        line-height: 64px;
        color: #e8ff00;
        font-size: 3rem;
        text-align: center;
        font-family: 'Montserrat', "游ゴシック", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
        font-weight: 700;
        background: #242c3f;
        border-radius: 50% 50%; }
        .num-list-area .num-list dt span.red {
          background: #E50012; }
    .num-list-area .num-list dd {
      display: table-cell;
      padding-left: 20px;
      text-align: left;
      vertical-align: middle;
      font-size: 1.4rem; }
      .num-list-area .num-list dd strong {
        font-size: 1.8rem; }
      .num-list-area .num-list dd .num-list-sub p {
        margin-top: 16px; }
        .num-list-area .num-list dd .num-list-sub p strong {
          font-size: 1.6rem; }
          .num-list-area .num-list dd .num-list-sub p strong:before {
            content: "●"; }

.entryArea-lblue {
  padding: 120px 16px 160px;
  color: #fff;
  text-align: center;
  background: #26B9D0; }
  .entryArea-lblue.lPink {
    background: #DA3080; }
  .entryArea-lblue h2 {
    margin-bottom: 8px;
    color: #fff; }
    .entryArea-lblue h2 span {
      border-bottom: 3px solid #fff; }
  .entryArea-lblue.lgray {
    color: #333;
    background-color: #f3f3f3; }
    .entryArea-lblue.lgray h2 {
      color: #333; }
      .entryArea-lblue.lgray h2 span {
        border-bottom: 3px solid #333; }
    .entryArea-lblue.lgray p {
      margin-top: 30px;
      font-size: 18px; }
  .entryArea-lblue .sub-title, .entryArea-lblue .sub-title-white {
    color: #fff; }
  .entryArea-lblue .btn-more-emphasize {
    padding: 24px 32px 16px 16px;
    width: 80%;
    max-width: 640px;
    min-width: 240px;
    font-size: 2rem; }
    .entryArea-lblue .btn-more-emphasize span {
      display: block;
      margin-top: 8px;
      text-align: center;
      font-size: 1.6rem; }
    .entryArea-lblue .btn-more-emphasize:after {
      width: 24px;
      height: 24px;
      margin-top: -10px;
      background-size: 24px 24px; }

.schedule {
  padding: 24px 8px 80px;
  margin: 0 auto;
  text-align: left;
  font-size: 0; }
  .schedule li {
    display: inline-block;
    padding: 0 4px;
    width: 25%;
    text-align: center; }
    .schedule li .day {
      margin: 0 0 8px 0;
      padding: 24px 0 16px;
      font-size: 3.6rem;
      line-height: 2.8rem;
      background: white;
      border: 3px solid #eee; }
    .schedule li span {
      display: block;
      font-size: 1.4rem; }
  .schedule.schedule-type2 li {
    width: 20%; }
    .schedule.schedule-type2 li .day {
      padding: 32px 0 0;
      background: white;
      border: none; }
    .schedule.schedule-type2 li .sBtn {
      width: 100%; }

.event-sp {
  width: 100%;
  padding: 32px 64px;
  border: 2px solid #dfe0e2; }

.dayTtl {
  display: inline-block;
  margin: 0 0 16px;
  font-size: 3rem;
  line-height: 2.8rem;
  border-bottom: 3px solid #dfe0e2; }
  .dayTtl img {
    vertical-align: middle; }
  .dayTtl span {
    margin: 0 0 0 4px;
    font-size: 1.4rem; }

/* =====================================
	footer
===================================== */
.section.contact {
  padding: 80px 0;
  background-image: url("../images/index-bg-contact.jpg"); }
  .section.contact .title {
    color: #fff;
    margin-bottom: 20px; }
    .section.contact .title span {
      border-color: #fff; }
  .section.contact .sub-title-white {
    margin-bottom: 50px; }
  .section.contact .contact-banner-item {
    padding: 25px 0;
    background: rgba(255, 255, 255, 0.3);
    color: #fff;
    text-align: center; }
  .section.contact .contact-banner-item-phone a {
    color: #fff !important;
    opacity: 1;
    text-decoration: none; }
  .section.contact .contact-banner-label {
    margin: 0 0 16px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.4; }
  .section.contact .btn-mail {
    margin: 0 40px; }
  .section.contact .phone-num {
    font-size: 2.2rem;
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
    font-weight: bold;
    letter-spacing: 1px; }
    .section.contact .phone-num:before {
      display: inline-block;
      content: '';
      width: 36px;
      height: 36px;
      margin: 0 10px 0 0;
      margin-top: -2px;
      background: url("../images/icn-tel.svg") center center no-repeat;
      background-size: contain;
      vertical-align: middle; }

.footer {
  clear: both;
  background: #242c3f;
  color: #fff; }
  .footer a {
    color: #fff; }

.footer-navs {
  padding: 35px 40px 30px; }

.footer-nav-list {
  padding: 20px 0 0; }

.footer-nav-item {
  display: inline-block;
  margin: 0 25px 0 0;
  vertical-align: middle; }

.footer-sitemap-item {
  font-size: 1.2rem; }

.copyright {
  padding: 13px 0;
  border-top: 1px solid #666;
  text-align: center;
  font-size: 1rem;
  font-weight: bold;
  font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif; }

/* =====================================
  @media only screen （pc 1100px 以下）
===================================== */
@media only screen and (max-width: 1100px) {
  /*
    pages
  ===================================== */
  /* top
  ------------------------------------- */
  .keyVisual-item-child > a {
    font-size: 1.5rem; }

  .main-nav-item a {
    padding-left: 0;
    padding-right: 0; }
  .main-nav-item span {
    font-size: .9rem; } }
/* =====================================
  @media only screen（tablet）
===================================== */
@media only screen and (max-width: 980px) {
  .page-bar {
    height: 56px;
    padding: 0 20px; }
    .page-bar-title-en {
      font-size: 1.3rem; }
    .page-bar-title-jp {
      font-size: 1rem; }

  /*
    header
  ===================================== */
  .header {
    position: relative;
    width: 100%;
    height: auto;
    border: 0;
    z-index: 101;
    background: white; }

  .header-inner {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 70px;
    padding: 5px;
    background: #fff; }

  .siteLogo {
    font-size: 1.2rem; }
    .siteLogo a {
      padding: 0;
      text-align: left;
      vertical-align: middle; }
    .siteLogo img {
      display: inline-block;
      height: 60px;
      margin: 0 10px 0 0;
      vertical-align: middle; }
    .siteLogo span {
      display: inline-block;
      margin: 0;
      vertical-align: middle; }

  .drawer-hamburger {
    display: block; }

  .drawer-icon-text {
    display: block;
    margin-top: 13px;
    font-size: 1rem;
    font-family: 'Montserrat', "游ゴシック", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
    font-weight: 700; }

  .drawer-open .drawer-icon-text {
    opacity: 0; }

  .drawer-nav {
    background: #f4f4f4 !important; }

  .drawer-nav-inner {
    padding-bottom: 90px; }
    .drawer-nav-inner .gNav-list {
      margin-bottom: 25px; }
    .drawer-nav-inner .gNav-item {
      border: 0;
      border-bottom: 1px solid #dfe0e2; }
      .drawer-nav-inner .gNav-item a {
        padding-left: 30px; }
    .drawer-nav-inner .footer-navs {
      padding: 20px 20px 0; }
      .drawer-nav-inner .footer-navs img {
        height: 38px; }

  .header > .gNav {
    padding-top: 70px; }
    .header > .gNav ul, .header > .gNav p {
      float: left; }
    .header > .gNav ul {
      margin: 0;
      width: 80%;
      background: #dee0e2; }
    .header > .gNav .gNav-item,
    .header > .gNav .gNav-item-contact {
      height: 60px;
      border: 0; }
      .header > .gNav .gNav-item a,
      .header > .gNav .gNav-item-contact a {
        font-size: .9rem;
        text-align: center;
        text-decoration: none; }
        .header > .gNav .gNav-item a:before,
        .header > .gNav .gNav-item-contact a:before {
          display: block;
          width: 100%;
          height: 22px;
          margin: 0 auto 7px;
          background-size: auto 100%; }
      .header > .gNav .gNav-item span,
      .header > .gNav .gNav-item-contact span {
        display: block; }
    .header > .gNav .gNav-item {
      float: left;
      width: 25%; }
      .header > .gNav .gNav-item a {
        padding-left: 0;
        background: #dee0e2; }
    .header > .gNav .gNav-item-contact {
      width: 20%;
      padding: 0; }
      .header > .gNav .gNav-item-contact a {
        border-radius: 0;
        -webkit-border-radius: 0;
        -moz-border-radius: 0; }

  /*
    content
  ===================================== */
  .content {
    margin-left: 0; }
    .content:before {
      left: 0;
      height: 4px;
      width: 100%; }

  .section {
    padding: 80px 0 75px; }
    .section h2, .section .title {
      margin: 0 0 30px;
      font-size: 3rem; }
      .section h2 img, .section .title img {
        height: 30px; }
      .section h2.img-title-narrow, .section .title.img-title-narrow {
        margin-bottom: 8px; }
        .section h2.img-title-narrow img, .section .title.img-title-narrow img {
          height: 22px; }
        .section h2.img-title-narrow + .sub-title, .section h2.img-title-narrow + .sub-title-white, .section .title.img-title-narrow + .sub-title, .section .title.img-title-narrow + .sub-title-white {
          margin-bottom: 24px; }

  /*
    components
  ===================================== */
  /* list
  ------------------------------------- */
  .banner-item {
    margin-bottom: 30px; }

  .page-header-large .page-header-inner {
    padding-top: 0;
    vertical-align: middle; }

  /*
    pages
  ===================================== */
  /* top
  ------------------------------------- */
  .keyVisual-item.item-01, .keyVisual-item.item-02, .keyVisual-item.item-03, .keyVisual-item.item-04, .keyVisual-item.item-05 {
    position: relative;
    width: calc( 100vw / 2 ); }
  .keyVisual-item.item-02, .keyVisual-item.item-03, .keyVisual-item.item-04, .keyVisual-item.item-05 {
    height: calc( 100vw / 4 ); }
  .keyVisual-item.item-01, .keyVisual-item.item-01-half {
    position: absolute;
    background-image: url("../images/index-kv-01.jpg");
    background-size: cover;
    height: calc( 100vw / 2 ); }
    .keyVisual-item.item-01.item-01woc, .keyVisual-item.item-01-half.item-01woc {
      background-image: url("../images/index-kv-web-oc-sp.jpg");
      background-size: 100% auto; }
      .keyVisual-item.item-01.item-01woc img, .keyVisual-item.item-01-half.item-01woc img {
        display: none; }

  #video, video {
    display: none !important; }

  .keyVisual-item-child {
    height: calc( ( 100vw ) / 4 ); }
    .keyVisual-item-child > a {
      font-size: 1.5rem; }

  .main-nav-item span {
    font-size: .9rem;
    font-weight: normal; }

  .topics-carousel-item {
    position: relative;
    width: calc( 100vw / 3 ); }

  .topics-item-label {
    height: calc( ( 100vw / 3 ) * .62 ); }
    .topics-item-label img {
      max-width: 60%; }

  .index-section.events h2 {
    margin-bottom: 20px; }
  .index-section.events .lead-copy {
    margin-bottom: 20px; }

  .schedule li {
    width: 33.3333%;
    text-align: center; }
  .schedule.schedule-type2 li {
    width: 33.3333%; }

  .index-section.knowledge h2 {
    margin-bottom: 20px; }
  .index-section.knowledge .sub-title, .index-section.knowledge .sub-title-white {
    margin-bottom: 30px; } }
/* =====================================
  @media only screen（mobile）
===================================== */
@media only screen and (max-width: 767px) {
  body {
    font-size: 1.4rem; }

  /*
    content
  ===================================== */
  .content:before {
    display: none; }

  .main {
    background: none; }
    .main:before {
      background-position: top 70px center;
      background-repeat: no-repeat;
      background-size: auto calc( 100vh - 70px );
      display: block;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      content: "";
      z-index: -1; }

  /*
    components
  ===================================== */
  /* heading
  ------------------------------------- */
  h3 {
    font-size: 1.5rem;
    font-weight: bold; }

  .block-title {
    color: #fff;
    background: #242c3f;
    padding: 16px 12px;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1; }

  .section-label {
    margin-bottom: 16px;
    font-size: 1.6rem; }
    .section-label span {
      padding: 0 16px; }

  /* text
  ------------------------------------- */
  .sub-title, .sub-title-white {
    font-size: 1.2rem;
    margin: 0 0 5px; }
    .sub-title.sub-title-l, .sub-title-l.sub-title-white {
      font-size: 1.6rem; }

  .lead-copy {
    padding: 0 16px;
    font-size: 1.2rem;
    text-align: left; }
    .lead-copy br {
      display: none; }

  .tag {
    position: relative;
    top: -2px;
    min-width: 56px;
    margin: 0 8px 0 0;
    padding: 1px 0 0;
    font-size: .9rem;
    vertical-align: middle; }

  .notes {
    font-size: 1rem; }

  /* button
  ------------------------------------- */
  .btn-more, .btn-more-white, .btn-more-emphasize, .btn-down, .btn-more-red-fixed {
    width: auto;
    min-width: 75%; }

  .btn-down {
    width: 100%;
    min-width: inherit;
    padding: 8px 10px 8px 0; }
    .btn-down:after {
      width: 10px;
      height: 10px;
      margin-top: -5px;
      background-size: contain; }

  .btn-thumb {
    padding: 0 0 16px;
    font-size: 1.4rem; }
    .btn-thumb figure {
      margin-bottom: 16px; }
    .btn-thumb span {
      display: none; }
    .btn-thumb .figure-caption {
      text-align: left; }
      .btn-thumb .figure-caption span {
        display: block; }
        .btn-thumb .figure-caption span br {
          display: none; }

  .btn-icn span {
    padding-top: 55%;
    font-size: .9rem; }
  .btn-icn:before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 36px;
    height: 36px;
    margin-top: -30px;
    margin-left: -18px;
    background-size: contain; }

  .btn-more-emphasize {
    padding-left: 30px;
    padding-right: 30px; }
    .btn-more-emphasize.btn-more-emphasize {
      padding: 12px 32px 12px 16px;
      width: 90%;
      font-size: 1.5rem;
      line-height: 1.5;
      text-align: left; }
      .btn-more-emphasize.btn-more-emphasize:after {
        width: 16px;
        height: 16px;
        margin-top: -10px;
        background-size: 16px 16px; }
    .btn-more-emphasize.btn-more-emphasize-pdf:after {
      top: 50%; }

  .item-headerbtn {
    display: none; }

  .item-btns {
    margin: 20px 0; }

  /* list
  ------------------------------------- */
  .banner-item {
    margin-bottom: 20px; }

  .index-item {
    padding: 10px 0; }
    .index-item:last-of-type {
      border-bottom: 1px dotted #858585; }

  .index-item-label,
  .index-item-content {
    float: none;
    width: 100%;
    font-size: 1.2rem; }

  .index-item-label {
    margin: 0 0 5px; }

  .pageLink-list {
    padding: 0 15px 20px;
    text-align: left; }

  .pageLink-item {
    float: left;
    display: block;
    padding: 0;
    margin: 0 10px 10px 0;
    width: calc( ( 100% - 20px ) / 3 ); }
    .pageLink-item:nth-of-type(3n) {
      margin-right: 0; }
    .pageLink-item a {
      font-size: 1.2rem; }

  .qa-list {
    padding: 16px 10px; }

  .qa-section .qa-list {
    padding: 16px 0; }

  .qa-title,
  .qa-content {
    padding: 0; }
    .qa-title:before,
    .qa-content:before {
      position: relative;
      top: inherit;
      left: inherit;
      width: 28px;
      height: 28px;
      margin-bottom: 6px;
      color: #242c3f;
      font-size: 1.4rem; }

  .qa-title {
    margin: 0 0 10px;
    font-size: 1.4rem; }

  .qa-content {
    font-size: 1.3rem; }
    .qa-content img {
      width: 100%;
      height: auto; }

  .expand-block {
    margin-bottom: 0 !important;
    padding-bottom: 16px; }

  .expand-title:after {
    right: 12px;
    width: 14px;
    height: 14px;
    margin-top: -8px; }

  /* block
  ------------------------------------- */
  .icon {
    position: absolute;
    width: 40px;
    height: 40px;
    top: -20px;
    left: -10px; }
    .icon img {
      width: 100%; }

  .pc {
    display: none; }

  .sp {
    display: block; }

  .section {
    padding: 30px 0; }
    .section .section-title {
      font-size: 1.8rem;
      margin-bottom: 24px; }
      .section .section-title span {
        border-bottom-width: 2px; }

  .inner-block {
    width: 100%;
    padding-left: 16px;
    padding-right: 16px; }

  .clmn-2-block.clmn-2_1-block {
    width: 100%;
    margin-bottom: 0;
    padding: 0 16px 16px; }

  .clmn-3-block {
    width: calc( ( 100% - 8px* 2 ) / 3 );
    margin: 0 8px 16px 0; }

  .block {
    margin-bottom: 16px; }

  .element {
    margin: 24px 0 0; }

  .area-section {
    padding-bottom: 20px; }

  .frame-block {
    width: calc( 100% - 32px );
    padding: 32px 0 32px; }
    .frame-block .section-label {
      top: -12px;
      font-size: 2.4rem; }

  .info-title-desc {
    font-size: 1.2rem;
    display: block; }

  .info-title {
    display: inline-block;
    padding: 0 3px;
    margin-bottom: 8px;
    font-size: 1.8rem; }

  .info-text {
    font-size: 1.2rem; }

  /* page-header
  ------------------------------------- */
  .page-header {
    padding: 64px 16px;
    min-height: inherit; }
    .page-header-inner {
      padding-left: 8px;
      padding-right: 8px; }
    .page-header-small {
      height: 170px;
      min-height: inherit; }
    .page-header-lp {
      height: calc( 100vw * auto );
      min-height: 80px; }
    .page-header-icon, .page-header-icon-solution, .page-header-icon-exam {
      display: block;
      width: 22px;
      height: 22px;
      margin: 0 auto 16px; }
    .page-header-title {
      margin-bottom: 16px;
      font-size: 2.4rem; }
      .page-header-title-en {
        margin-bottom: 4px;
        font-size: 1.2rem; }
      .page-header-title-jp {
        margin-bottom: 4px;
        font-size: 1.2rem; }
    .page-header-subTitle {
      margin-bottom: 16px;
      font-size: 1rem; }
    .page-header-desc {
      font-size: 1.1rem; }
      .page-header-desc span {
        display: inline-block;
        max-width: 640px;
        text-align: left; }
    .page-header-large .page-header-inner {
      padding: 5% 0; }
    .page-header-large .page-header-credit {
      margin-bottom: 4px;
      font-size: 1.3rem; }
      .page-header-large .page-header-credit-exam:before {
        content: '';
        position: relative;
        display: inline-block;
        width: 36px;
        height: 20px;
        margin-right: 10px; }
    .page-header-large .page-header-title {
      margin-bottom: 8px;
      font-size: 2.4rem; }
    .page-header-catchphrase {
      font-size: 1.6rem; }

  /* pageごとのindexmenu
  ------------------------------------- */
  .page-indexmenu, .page-indexmenu-hasBg {
    padding: 30px 0 40px; }
    .page-indexmenu-title {
      font-size: 2.8rem; }
    .page-indexmenu-item {
      font-size: 1.1rem; }
      .page-indexmenu-item:after {
        margin: 0 1px; }
      .page-indexmenu-item:last-of-type:after {
        display: none; }
    .page-indexmenu .pt40, .page-indexmenu-hasBg .pt40 {
      padding-top: 20px !important; }

  /* page-content
  ------------------------------------- */
  .page-content, .page-content-bg-gray {
    background: rgba(255, 255, 255, 0.9); }
    .page-content-bg-gray {
      background: #f4f4f4; }

  /* table-content
  ------------------------------------- */
  .area-section table {
    display: block;
    width: 100%; }
  .area-section tbody {
    display: block; }
  .area-section th, .area-section td {
    display: inline-block;
    padding: 14px;
    border: 0; }
  .area-section tr {
    display: block;
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #242c3f;
    border-top: 0;
    font-size: 0; }
  .area-section td {
    font-size: 1.2rem;
    padding: 0;
    line-height: 1.5; }
    .area-section td.city, .area-section td.date, .area-section td.week, .area-section td.time {
      width: auto;
      text-align: center; }
    .area-section td.city, .area-section td.date, .area-section td.week, .area-section td.place {
      padding-right: 5px; }
    .area-section td.city, .area-section td.date, .area-section td.week {
      display: inline; }
    .area-section td.time {
      padding-left: 0; }

  /*
    pages
  ===================================== */
  /* top
  ------------------------------------- */
  .index-section {
    padding: 0 0 80px; }

  .index-section, .section.contact {
    padding-top: 30px;
    padding-bottom: 30px; }
    .index-section h2, .index-section .title, .section.contact h2, .section.contact .title {
      margin: 0 0 20px;
      font-size: 2.8rem; }
      .index-section h2 img, .index-section .title img, .section.contact h2 img, .section.contact .title img {
        height: 22px; }
      .index-section h2 span, .index-section .title span, .section.contact h2 span, .section.contact .title span {
        border: 0; }

  .keyVisual-item.item-01, .keyVisual-item.item-01-half, .keyVisual-item.item-02, .keyVisual-item.item-03, .keyVisual-item.item-04, .keyVisual-item.item-05 {
    float: left;
    width: 100vw !important;
    height: calc( 100vw / 2 ) !important; }
  .keyVisual-item.item-01 {
    font-size: 1.2rem; }
    .keyVisual-item.item-01 img {
      height: 22px;
      margin: 0 auto 4px; }
    .keyVisual-item.item-01 p {
      margin: 0 0 7px; }
    .keyVisual-item.item-01 .btn-more-white {
      min-width: 60%;
      padding: 8px 0;
      font-size: 1.4rem; }

  .keyVisual-item-child {
    width: 100vw !important;
    height: calc( 100vw / 2 ) !important;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover; }
    .keyVisual-item-child > a {
      height: calc( 100vw / 2 ); }
    .keyVisual-item-child.item-03-01 {
      background-image: url("/assets_2017/images/index-kv-fbae.jpg"); }
    .keyVisual-item-child.item-03-02 {
      background-image: url("/assets_2017/images/index-kv-sports.jpg"); }
    .keyVisual-item-child.item-oc2017 {
      background-image: url("/assets_2017/images/index-kv-oc.jpg"); }

  .main-nav {
    padding: 10px 10px 18px; }

  .main-nav-icn, .main-nav-list {
    float: none; }

  .main-nav-icn {
    display: block;
    width: 100%;
    height: 22px;
    padding: 0;
    margin: 0 0 10px;
    background-image: url("../images/icn-check-sp.svg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: auto 100%; }
    .main-nav-icn img {
      visibility: hidden; }

  .main-nav-list {
    width: 100%; }

  .main-nav-item {
    min-height: 50px;
    width: calc( ( 100% - 10px ) / 2 );
    margin: 0 10px 8px 0; }
    .main-nav-item a {
      padding: 8px 0;
      font-size: 1.2rem; }
    .main-nav-item span {
      margin-top: 2px; }
    .main-nav-item:nth-of-type(2n) {
      margin-right: 0; }

  .news-ticker {
    border-bottom-width: 1px; }

  .news-ticker-label,
  .news-ticker-content {
    float: none;
    width: 100%;
    font-size: 1.3rem; }

  .news-ticker-label {
    min-height: inherit; }
    .news-ticker-label img {
      height: 26px; }

  .news-ticker-item a {
    padding: 5px 10px; }

  .topics-carousel-item {
    position: relative;
    width: calc( 100vw / 2 );
    margin-left: 1px;
    margin-right: 1px; }

  .topics-item-label {
    height: calc( ( 100vw / 2 ) * .62 ); }

  .topics-item-text {
    padding: 5px 5px 0;
    font-size: 1.1rem;
    line-height: 1.4rem; }

  .index-section.events h2 img {
    height: 34px; }
  .index-section.events .lead-copy {
    padding: 0 25px; }
  .index-section.events .btn, .index-section.events .btn-yellow {
    padding: 20px 0;
    font-size: 1.4rem; }
  .index-section.events .clmn-2-block {
    float: none;
    width: auto;
    margin: 0 10px 5px; }

  .entryArea-lblue {
    padding: 40px 16px; }
    .entryArea-lblue .sub-title, .entryArea-lblue .sub-title-white {
      color: #fff; }
    .entryArea-lblue .btn-more-emphasize {
      padding: 16px 32px 8px 16px;
      width: 100%;
      font-size: 1.5rem;
      text-align: left; }
      .entryArea-lblue .btn-more-emphasize:after {
        width: 16px;
        height: 16px;
        margin-top: -10px;
        background-size: 16px 16px; }

  .schedule {
    padding-bottom: 40px; }
    .schedule li {
      width: 50%;
      text-align: center; }
    .schedule.schedule-type2 li {
      width: 50%; }

  .index-section.department h2 {
    margin-bottom: 25px; }

  .index-section.knowledge h2 {
    margin-bottom: 10px; }
  .index-section.knowledge .sub-title, .index-section.knowledge .sub-title-white {
    margin-bottom: 30px; }
  .index-section.knowledge .clmn-4-block {
    width: calc( ( 100% - 10px * 2 ) / 3 );
    margin: 0 10px 10px 0; }
    .index-section.knowledge .clmn-4-block:nth-of-type(3n) {
      margin-right: 0; }

  /*
    footer
  ===================================== */
  .section.contact .title {
    color: #fff;
    margin-bottom: 5px; }
  .section.contact .sub-title-white {
    margin-bottom: 30px; }
  .section.contact .contact-banner-item {
    float: none;
    width: 100%;
    padding: 16px 0; }
  .section.contact .contact-banner-label {
    margin: 0 0 8px;
    font-size: 1.4rem; }
  .section.contact .btn-mail {
    margin: 0 30px 8px; }
  .section.contact .phone-num {
    font-size: 2rem; }
    .section.contact .phone-num:before {
      display: inline-block;
      content: '';
      width: 32px;
      height: 32px;
      margin: 0 8px 0 0; }

  .footer-navs {
    padding: 24px 16px;
    font-size: 1.2rem; }

  .footer-nav-list {
    padding: 8px 0 0; }

  .footer-nav-item {
    display: block;
    margin: 0; }
    .footer-nav-item img {
      margin-bottom: 16px; }

  .copyright {
    padding: 13px 16px;
    border-color: #353535;
    text-align: left; } }
@media print {
  body {
    zoom: 0.6;
    -webkit-print-color-adjust: exact; } }
/* IE10以上 */
@media print and (-ms-high-contrast: none) {
  /* @pageの指定いらないかも */
  @page {
    size: A4;
    margin: 12.7mm 9.7mm; }
  body {
    zoom: 1.8;
    width: 1280px;
    transform: scale(0.5);
    transform-origin: 0 0; } }
