@charset "UTF-8";
#conts {
  position: relative;
  z-index: 3; }

/* 打消し用 */
header#header, footer#footer {
  padding: 0;
  margin: 0;
  /*********************
共通設定
*********************/
  /*********************
kv
*********************/
  /*********************
animaion
*********************/ }
  header#header body,
  header#header header,
  header#header main,
  header#header section,
  header#header footer,
  header#header h1,
  header#header h2,
  header#header h3,
  header#header ol,
  header#header ul,
  header#header li,
  header#header dl,
  header#header dt,
  header#header dd,
  header#header p,
  header#header images, footer#footer body,
  footer#footer header,
  footer#footer main,
  footer#footer section,
  footer#footer footer,
  footer#footer h1,
  footer#footer h2,
  footer#footer h3,
  footer#footer ol,
  footer#footer ul,
  footer#footer li,
  footer#footer dl,
  footer#footer dt,
  footer#footer dd,
  footer#footer p,
  footer#footer images {
    margin: 0;
    padding: 0; }
  header#header *, footer#footer * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  header#header li, footer#footer li {
    list-style-type: none; }
  header#header img, footer#footer img {
    vertical-align: bottom;
    display: block;
    height: auto; }
    header#header img.cmnImg, footer#footer img.cmnImg {
      width: 100%;
      max-width: 100%; }
    @media only screen and (max-width: 959px) {
      header#header img, footer#footer img {
        width: 100%;
        max-width: 100%; } }
  header#header body, footer#footer body {
    width: 100%;
    height: auto;
    font-family: sans-serif;
    line-height: 1.8;
    color: #282b32;
    text-align: justify;
    text-justify: inter-ideograph; }
    @media only screen and (min-width: 960px) {
      header#header body, footer#footer body {
        min-width: 960px;
        font-size: 14px; } }
    @media only screen and (max-width: 959px) {
      header#header body, footer#footer body {
        font-size: 3.73333vw; } }
  header#header main, footer#footer main {
    width: 100%;
    margin: 0 auto;
    display: block; }
    @media only screen and (min-width: 960px) {
      header#header main, footer#footer main {
        margin-top: 80px; } }
    @media only screen and (max-width: 959px) {
      header#header main, footer#footer main {
        margin-top: 10.66667vw; } }
  header#header h1, header#header h2, header#header h3, header#header h4, footer#footer h1, footer#footer h2, footer#footer h3, footer#footer h4 {
    font-weight: normal;
    line-height: 1.2; }
  header#header ol.numList, footer#footer ol.numList {
    margin: .5em 0;
    padding: 0 1.5em; }
    header#header ol.numList li, footer#footer ol.numList li {
      list-style-type: decimal; }
  header#header ul.list li::before, footer#footer ul.list li::before {
    content: '■'; }
  header#header ul.kome, footer#footer ul.kome {
    margin: .5em 0;
    padding: 0 .2em;
    font-size: .85em; }
    header#header ul.kome li::before, footer#footer ul.kome li::before {
      content: '※';
      margin-right: .2em; }
  header#header ul.num li, footer#footer ul.num li {
    padding-left: 1.2em;
    position: relative; }
    header#header ul.num li::before, footer#footer ul.num li::before {
      content: attr(data-num);
      position: absolute;
      top: 0;
      left: 0; }
  header#header a, footer#footer a {
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
    text-decoration: none;
    color: #282b32; }
    @media only screen and (min-width: 960px) {
      header#header a.bnr, footer#footer a.bnr {
        display: inline-block; }
      header#header a:not(.noAnime):hover, footer#footer a:not(.noAnime):hover {
        -webkit-transform: translateX(3px);
        -ms-transform: translateX(3px);
        transform: translateX(3px); }
      header#header a.scale:hover, footer#footer a.scale:hover {
        -webkit-transform: scale(1.01);
        -ms-transform: scale(1.01);
        transform: scale(1.01); } }
    header#header a.link, footer#footer a.link {
      background: #fff;
      display: inline-block;
      margin: 0 auto;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      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; }
      @media only screen and (min-width: 960px) {
        header#header a.link, footer#footer a.link {
          width: 240px;
          height: 40px;
          border: solid 2px #282b32; } }
      @media only screen and (max-width: 959px) {
        header#header a.link, footer#footer a.link {
          width: 46.66667vw;
          height: 8vw;
          border: solid 1px #282b32; } }
      header#header a.link.arw, footer#footer a.link.arw {
        position: relative; }
        @media only screen and (min-width: 960px) {
          header#header a.link.arw, footer#footer a.link.arw {
            padding-right: 10px; } }
        @media only screen and (max-width: 959px) {
          header#header a.link.arw, footer#footer a.link.arw {
            padding-right: 2.66667vw; } }
        header#header a.link.arw::after, footer#footer a.link.arw::after {
          content: '';
          display: block;
          position: absolute;
          border-top: solid 2px #282b32;
          border-right: solid 2px #282b32;
          -webkit-transform: rotate(45deg) skewX(5deg) skewY(5deg);
          -ms-transform: rotate(45deg) skewX(5deg) skewY(5deg);
          transform: rotate(45deg) skewX(5deg) skewY(5deg); }
          @media only screen and (min-width: 960px) {
            header#header a.link.arw::after, footer#footer a.link.arw::after {
              width: 5px;
              height: 5px;
              top: calc(50% - 3.83px);
              right: 10px; } }
          @media only screen and (max-width: 959px) {
            header#header a.link.arw::after, footer#footer a.link.arw::after {
              width: 0.93333vw;
              height: 0.93333vw;
              top: calc(50% - 0.71467vw);
              right: 2.66667vw; } }
    header#header a.link02, footer#footer a.link02 {
      background: #fff;
      display: inline-block;
      margin: 0 auto;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      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; }
      @media only screen and (min-width: 960px) {
        header#header a.link02, footer#footer a.link02 {
          width: 336px;
          height: 84px;
          border: solid 4px #282b32; } }
      @media only screen and (max-width: 959px) {
        header#header a.link02, footer#footer a.link02 {
          width: 64vw;
          height: 16vw;
          border: solid 0.53333vw #282b32; } }
      header#header a.link02.arw02, footer#footer a.link02.arw02 {
        position: relative; }
        @media only screen and (min-width: 960px) {
          header#header a.link02.arw02, footer#footer a.link02.arw02 {
            padding-right: 10px; } }
        @media only screen and (max-width: 959px) {
          header#header a.link02.arw02, footer#footer a.link02.arw02 {
            padding-right: 2.66667vw; } }
        header#header a.link02.arw02::after, footer#footer a.link02.arw02::after {
          content: '';
          display: block;
          position: absolute;
          -webkit-transform: rotate(45deg) skewX(15deg) skewY(15deg);
          -ms-transform: rotate(45deg) skewX(15deg) skewY(15deg);
          transform: rotate(45deg) skewX(15deg) skewY(15deg); }
          @media only screen and (min-width: 960px) {
            header#header a.link02.arw02::after, footer#footer a.link02.arw02::after {
              width: 5px;
              height: 5px;
              top: calc(50% - 3.83px);
              right: 10px;
              border-top: solid 4px #282b32;
              border-right: solid 4px #282b32; } }
          @media only screen and (max-width: 959px) {
            header#header a.link02.arw02::after, footer#footer a.link02.arw02::after {
              width: 0.93333vw;
              height: 0.93333vw;
              top: calc(50% - 0.71467vw);
              right: 2.66667vw;
              border-top: solid 0.53333vw #282b32;
              border-right: solid 0.53333vw #282b32; } }
      @media only screen and (min-width: 960px) {
        header#header a.link02 b, footer#footer a.link02 b {
          font-size: 20px; } }
      @media only screen and (max-width: 959px) {
        header#header a.link02 b, footer#footer a.link02 b {
          font-size: 3.73333vw; } }
    @media only screen and (min-width: 960px) {
      header#header a.shadow, footer#footer a.shadow {
        -webkit-box-shadow: 0 8px 16px rgba(40, 43, 50, 0.2);
        box-shadow: 0 8px 16px rgba(40, 43, 50, 0.2); } }
    @media only screen and (max-width: 959px) {
      header#header a.shadow, footer#footer a.shadow {
        -webkit-box-shadow: 0 1.06667vw 2.13333vw rgba(40, 43, 50, 0.2);
        box-shadow: 0 1.06667vw 2.13333vw rgba(40, 43, 50, 0.2); } }
    header#header a.pageLink, footer#footer a.pageLink {
      background: #fff;
      display: inline-block;
      margin: 0 auto;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      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;
      font-weight: bold; }
      @media only screen and (min-width: 960px) {
        header#header a.pageLink, footer#footer a.pageLink {
          width: 280px;
          height: 56px;
          border: solid 2px #282b32; }
          header#header a.pageLink:hover, footer#footer a.pageLink:hover {
            -webkit-transform: translate(0) scale(1.01);
            -ms-transform: translate(0) scale(1.01);
            transform: translate(0) scale(1.01); } }
      @media only screen and (max-width: 959px) {
        header#header a.pageLink, footer#footer a.pageLink {
          width: 46vw;
          height: 10.66667vw;
          border: solid 0.53333vw #282b32; } }
      header#header a.pageLink.arw, footer#footer a.pageLink.arw {
        position: relative; }
        @media only screen and (min-width: 960px) {
          header#header a.pageLink.arw, footer#footer a.pageLink.arw {
            padding-right: 10px;
            font-size: 18px; } }
        @media only screen and (max-width: 959px) {
          header#header a.pageLink.arw, footer#footer a.pageLink.arw {
            padding-right: 2.66667vw;
            font-size: 2.93333vw; } }
        header#header a.pageLink.arw::after, footer#footer a.pageLink.arw::after {
          content: '';
          display: block;
          position: absolute;
          -webkit-transform: rotate(45deg) skewX(-5deg) skewY(-5deg);
          -ms-transform: rotate(45deg) skewX(-5deg) skewY(-5deg);
          transform: rotate(45deg) skewX(-5deg) skewY(-5deg); }
          @media only screen and (min-width: 960px) {
            header#header a.pageLink.arw::after, footer#footer a.pageLink.arw::after {
              width: 5px;
              height: 5px;
              top: calc(50% - 3.83px);
              right: 10px;
              border-bottom: solid 2px #282b32;
              border-right: solid 2px #282b32; } }
          @media only screen and (max-width: 959px) {
            header#header a.pageLink.arw::after, footer#footer a.pageLink.arw::after {
              width: 0.93333vw;
              height: 0.93333vw;
              top: calc(50% - 0.71467vw);
              right: 1.33333vw;
              border-bottom: solid 0.53333vw #282b32;
              border-right: solid 0.53333vw #282b32; } }
    .links header#header a, .links footer#footer a {
      display: inline-block;
      line-height: 1;
      position: relative; }
      @media only screen and (min-width: 960px) {
        .links header#header a, .links footer#footer a {
          padding-left: 15px; } }
      @media only screen and (max-width: 959px) {
        .links header#header a, .links footer#footer a {
          padding-left: 2.66667vw; } }
      .links header#header a::before, .links footer#footer a::before {
        content: '';
        display: block;
        position: absolute;
        border-top: solid 2px #ca0000;
        border-right: solid 2px #ca0000;
        -webkit-transform: rotate(45deg) skewX(5deg) skewY(5deg);
        -ms-transform: rotate(45deg) skewX(5deg) skewY(5deg);
        transform: rotate(45deg) skewX(5deg) skewY(5deg); }
        @media only screen and (min-width: 960px) {
          .links header#header a::before, .links footer#footer a::before {
            width: 4px;
            height: 4px;
            top: calc(50% - 3.2px);
            left: 0; } }
        @media only screen and (max-width: 959px) {
          .links header#header a::before, .links footer#footer a::before {
            width: 1.06667vw;
            height: 1.06667vw;
            top: calc(50% - 0.8vw);
            left: 0; } }
    header#header a.downLoad, footer#footer a.downLoad {
      display: inline-block;
      text-decoration: underline; }
      @media only screen and (min-width: 960px) {
        header#header a.downLoad:hover, footer#footer a.downLoad:hover {
          -webkit-transform: translateY(2px);
          -ms-transform: translateY(2px);
          transform: translateY(2px); } }
      header#header a.downLoad::before, footer#footer a.downLoad::before {
        content: '';
        background-repeat: no-repeat;
        display: inline-block;
        background-image: url(/img/2018/common/dl_icon01.png);
        background-size: contain; }
        @media only screen and (min-width: 960px) {
          header#header a.downLoad::before, footer#footer a.downLoad::before {
            width: 8px;
            height: 8px;
            margin-right: 4px; } }
        @media only screen and (max-width: 959px) {
          header#header a.downLoad::before, footer#footer a.downLoad::before {
            width: 2.13333vw;
            height: 2.13333vw;
            margin-right: 1.06667vw; } }
    header#header a.txtLink, footer#footer a.txtLink {
      text-decoration: underline;
      padding: 0 .2em; }
  header#header .btn, footer#footer .btn {
    line-height: 1;
    text-align: center; }
    header#header .btn a, footer#footer .btn a {
      display: inline-block;
      padding: 1.2em .8em;
      position: relative;
      background-color: #ca0000;
      color: #fff; }
      @media only screen and (min-width: 960px) {
        header#header .btn a, footer#footer .btn a {
          padding-right: 25px;
          font-size: 20px; } }
      @media only screen and (max-width: 959px) {
        header#header .btn a, footer#footer .btn a {
          padding-right: 5.33333vw;
          font-size: 3.73333vw; } }
      header#header .btn a::after, footer#footer .btn a::after {
        content: '';
        display: block;
        position: absolute;
        border-top: solid 2px #fff;
        border-right: solid 2px #fff;
        -webkit-transform: rotate(45deg) skewX(5deg) skewY(5deg);
        -ms-transform: rotate(45deg) skewX(5deg) skewY(5deg);
        transform: rotate(45deg) skewX(5deg) skewY(5deg); }
        @media only screen and (min-width: 960px) {
          header#header .btn a::after, footer#footer .btn a::after {
            width: 7px;
            height: 7px;
            top: calc(50% - 6px);
            right: 10px; } }
        @media only screen and (max-width: 959px) {
          header#header .btn a::after, footer#footer .btn a::after {
            width: 1.06667vw;
            height: 1.06667vw;
            top: calc(50% - 0.8vw);
            right: 2.66667vw; } }
  @media only screen and (min-width: 960px) {
    header#header small, footer#footer small {
      font-size: 12px; } }
  @media only screen and (max-width: 959px) {
    header#header small, footer#footer small {
      font-size: 2.4vw; } }
  @media only screen and (min-width: 960px) {
    header#header .pcHide, footer#footer .pcHide {
      display: none !important; } }
  @media only screen and (max-width: 959px) {
    header#header .spHide, footer#footer .spHide {
      display: none !important; } }

@media only screen and (min-width: 960px) and (min-width: 960px) {
  header#header .wrap, header#header .wrapPc, footer#footer .wrap, footer#footer .wrapPc {
    width: 1200px;
    margin: 0 auto; } }

@media only screen and (max-width: 959px) and (max-width: 959px) {
  header#header .wrap, header#header .wrapSp, footer#footer .wrap, footer#footer .wrapSp {
    width: 93.33333vw;
    margin: 0 auto; } }

@media only screen and (min-width: 960px) and (min-width: 960px) {
  header#header .inner, header#header .innerPc, footer#footer .inner, footer#footer .innerPc {
    width: 1024px;
    margin: 0 auto; } }

@media only screen and (max-width: 959px) and (max-width: 959px) {
  header#header .inner, header#header .innerSp, footer#footer .inner, footer#footer .innerSp {
    width: 88vw;
    margin: 0 auto; } }

@media only screen and (min-width: 960px) and (min-width: 960px) {
  header#header .cont, header#header .contPc, footer#footer .cont, footer#footer .contPc {
    width: 950px;
    margin: 0 auto; } }
  header#header .bgTxt, footer#footer .bgTxt {
    background-size: contain;
    background-repeat: no-repeat;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap; }
  header#header .bgR, footer#footer .bgR {
    background-color: #ca0000; }
  header#header .txt, footer#footer .txt {
    text-align: justify;
    text-justify: inter-ideograph; }
    header#header .txtF, footer#footer .txtF {
      color: #fff; }
    header#header .txtR, footer#footer .txtR {
      color: #ca0000; }
    @media only screen and (min-width: 960px) {
      header#header .txtS, footer#footer .txtS {
        font-size: 14px; } }
    @media only screen and (max-width: 959px) {
      header#header .txtS, footer#footer .txtS {
        font-size: 2.66667vw; } }
  header#header .tac, footer#footer .tac {
    text-align: center; }
  header#header .tar, footer#footer .tar {
    text-align: right; }
  header#header .fB, footer#footer .fB {
    font-weight: bold; }
  header#header .fItalic, footer#footer .fItalic {
    font-style: italic; }
  header#header .fPg, footer#footer .fPg {
    font-family: 'Pathway Gothic One', sans-serif;
    line-height: 1;
    letter-spacing: -.05em; }
  header#header .por, footer#footer .por {
    position: relative; }
  header#header .poa, footer#footer .poa {
    position: absolute; }
  header#header .ttl2, footer#footer .ttl2 {
    text-align: center;
    font-weight: bold; }
    @media only screen and (min-width: 960px) {
      header#header .ttl2, footer#footer .ttl2 {
        font-size: 32px; } }
    @media only screen and (max-width: 959px) {
      header#header .ttl2, footer#footer .ttl2 {
        font-size: 5.33333vw; } }
  header#header .ttl3, footer#footer .ttl3 {
    text-align: center;
    font-weight: bold; }
    @media only screen and (min-width: 960px) {
      header#header .ttl3, footer#footer .ttl3 {
        font-size: 34px; } }
    @media only screen and (max-width: 959px) {
      header#header .ttl3, footer#footer .ttl3 {
        font-size: 4.53333vw; } }
  header#header .ttl4, footer#footer .ttl4 {
    text-align: center;
    font-weight: bold;
    color: #ca0000; }
    @media only screen and (min-width: 960px) {
      header#header .ttl4, footer#footer .ttl4 {
        font-size: 28px; } }
    @media only screen and (max-width: 959px) {
      header#header .ttl4, footer#footer .ttl4 {
        font-size: 5.06667vw; } }
  header#header .ttl5, footer#footer .ttl5 {
    text-align: center;
    font-weight: bold; }
    @media only screen and (min-width: 960px) {
      header#header .ttl5, footer#footer .ttl5 {
        font-size: 20px; } }
    @media only screen and (max-width: 959px) {
      header#header .ttl5, footer#footer .ttl5 {
        font-size: 4vw; } }
  header#header .ttl6, footer#footer .ttl6 {
    text-align: center;
    font-weight: bold; }
    @media only screen and (min-width: 960px) {
      header#header .ttl6, footer#footer .ttl6 {
        font-size: 40px; } }
    @media only screen and (max-width: 959px) {
      header#header .ttl6, footer#footer .ttl6 {
        font-size: 5.6vw; } }
  header#header .ttl7, footer#footer .ttl7 {
    text-align: center;
    font-weight: bold; }
    @media only screen and (min-width: 960px) {
      header#header .ttl7, footer#footer .ttl7 {
        font-size: 28px; } }
    @media only screen and (max-width: 959px) {
      header#header .ttl7, footer#footer .ttl7 {
        font-size: 4.26667vw; } }
  header#header .ttlHide, footer#footer .ttlHide {
    color: rgba(0, 0, 0, 0); }
  header#header .subTtl, footer#footer .subTtl {
    text-align: center;
    font-weight: normal; }
    @media only screen and (min-width: 960px) {
      header#header .subTtl, footer#footer .subTtl {
        font-size: 18px; } }
    @media only screen and (max-width: 959px) {
      header#header .subTtl, footer#footer .subTtl {
        font-size: 3.46667vw; } }
  header#header .listCheckF, footer#footer .listCheckF {
    margin: 0 auto; }
    @media only screen and (min-width: 960px) {
      header#header .listCheckF, footer#footer .listCheckF {
        width: 500px; } }
    @media only screen and (max-width: 959px) {
      header#header .listCheckF, footer#footer .listCheckF {
        width: 88vw;
        margin: 0 auto; } }
    header#header .listCheckF li, footer#footer .listCheckF li {
      color: #fff;
      line-height: 1; }
      @media only screen and (min-width: 960px) {
        header#header .listCheckF li, footer#footer .listCheckF li {
          margin-bottom: 20px;
          font-size: 28px; } }
      @media only screen and (max-width: 959px) {
        header#header .listCheckF li, footer#footer .listCheckF li {
          margin-bottom: 2.66667vw;
          font-size: 3.73333vw; } }
      header#header .listCheckF li::before, footer#footer .listCheckF li::before {
        content: '';
        background-image: url(/img/2018/common/list_check.png);
        background-repeat: no-repeat;
        background-size: 100% auto;
        display: inline-block;
        position: relative; }
        @media only screen and (min-width: 960px) {
          header#header .listCheckF li::before, footer#footer .listCheckF li::before {
            width: 28px;
            height: 28px;
            margin-right: 20px;
            top: 4px; } }
        @media only screen and (max-width: 959px) {
          header#header .listCheckF li::before, footer#footer .listCheckF li::before {
            width: 3.73333vw;
            height: 3.73333vw;
            margin-right: 1.33333vw;
            top: 0.53333vw; } }
  header#header .listCheckG li, footer#footer .listCheckG li {
    line-height: 1; }
    @media only screen and (min-width: 960px) {
      header#header .listCheckG li, footer#footer .listCheckG li {
        margin-bottom: 8px; } }
    header#header .listCheckG li::before, footer#footer .listCheckG li::before {
      content: '';
      background-image: url(/img/2018/common/list_check_green.png);
      background-repeat: no-repeat;
      background-size: 100% auto;
      display: inline-block;
      position: relative; }
      @media only screen and (min-width: 960px) {
        header#header .listCheckG li::before, footer#footer .listCheckG li::before {
          width: 15px;
          height: 15px;
          margin-right: 7px;
          top: 3px; } }
      @media only screen and (max-width: 959px) {
        header#header .listCheckG li::before, footer#footer .listCheckG li::before {
          width: 3.73333vw;
          height: 3.73333vw;
          margin-right: 1.33333vw;
          top: 0.53333vw; } }
  header#header .listArw li, footer#footer .listArw li {
    position: relative; }
    @media only screen and (min-width: 960px) {
      header#header .listArw li, footer#footer .listArw li {
        padding-left: 15px; } }
    @media only screen and (max-width: 959px) {
      header#header .listArw li, footer#footer .listArw li {
        padding-left: 2.66667vw; } }
    header#header .listArw li::before, footer#footer .listArw li::before {
      content: '';
      display: block;
      position: absolute;
      border-top: solid 2px #282b32;
      border-right: solid 2px #282b32;
      -webkit-transform: rotate(45deg) skewX(5deg) skewY(5deg);
      -ms-transform: rotate(45deg) skewX(5deg) skewY(5deg);
      transform: rotate(45deg) skewX(5deg) skewY(5deg); }
      @media only screen and (min-width: 960px) {
        header#header .listArw li::before, footer#footer .listArw li::before {
          width: 4px;
          height: 4px;
          top: calc(50% - 3px);
          left: 0; } }
      @media only screen and (max-width: 959px) {
        header#header .listArw li::before, footer#footer .listArw li::before {
          width: 0.93333vw;
          height: 0.93333vw;
          top: calc(50% - 0.71467vw);
          left: 0; } }
  @media only screen and (max-width: 959px) {
    header#header #container, footer#footer #container {
      overflow: hidden;
      -webkit-transition: height 300ms ease;
      -o-transition: height 300ms ease;
      transition: height 300ms ease; } }
  header#header .skewWrap, footer#footer .skewWrap {
    width: 100%;
    overflow: hidden; }
    @media only screen and (min-width: 960px) {
      header#header .skewWrap, footer#footer .skewWrap {
        margin-top: calc(9vw - 150px);
        padding: calc(80px + 6vw) 0; } }
    @media only screen and (max-width: 959px) {
      header#header .skewWrap, footer#footer .skewWrap {
        margin-top: -29.33333vw;
        padding: 17.33333vw 0; } }
  header#header .skewBg, footer#footer .skewBg {
    width: 100%;
    -webkit-transform: skewY(-11deg);
    -ms-transform: skewY(-11deg);
    transform: skewY(-11deg);
    background: #fff;
    position: relative;
    z-index: 4; }
    @media only screen and (min-width: 960px) {
      header#header .skewBg, footer#footer .skewBg {
        padding: calc(50px + 6vw) 0 4.8vw; } }
    @media only screen and (max-width: 959px) {
      header#header .skewBg, footer#footer .skewBg {
        padding: 13.33333vw 0; } }
    header#header .skewBg.hidden, footer#footer .skewBg.hidden {
      overflow: hidden; }
  header#header .skewCont, footer#footer .skewCont {
    -webkit-transform: skewY(11deg);
    -ms-transform: skewY(11deg);
    transform: skewY(11deg); }
  @media only screen and (max-width: 959px) {
    header#header .skewWrapSp, footer#footer .skewWrapSp {
      width: 100%;
      overflow: hidden;
      margin-top: -24vw;
      padding: 17.33333vw 0; }
    header#header .skewBgSp, footer#footer .skewBgSp {
      width: 100%;
      -webkit-transform: skewY(-11deg);
      -ms-transform: skewY(-11deg);
      transform: skewY(-11deg);
      background: #fff;
      position: relative;
      z-index: 4;
      padding: 13.33333vw 0; }
      header#header .skewBgSp.hidden, footer#footer .skewBgSp.hidden {
        overflow: hidden; }
    header#header .skewContSp, footer#footer .skewContSp {
      -webkit-transform: skewY(11deg);
      -ms-transform: skewY(11deg);
      transform: skewY(11deg); } }
  header#header .acCont, footer#footer .acCont {
    display: none; }
    header#header .acCont.open, footer#footer .acCont.open {
      display: block; }
  header#header .acBtn, footer#footer .acBtn {
    position: relative;
    text-align: center; }
    @media only screen and (min-width: 960px) {
      header#header .acBtn, footer#footer .acBtn {
        border: solid 2px #282b32;
        cursor: pointer; } }
    @media only screen and (max-width: 959px) {
      header#header .acBtn, footer#footer .acBtn {
        border: solid 0.53333vw #282b32; } }
    header#header .acBtn::after, footer#footer .acBtn::after {
      content: '';
      display: block;
      position: absolute;
      -webkit-transform: rotate(45deg) skewX(-10deg) skewY(-10deg);
      -ms-transform: rotate(45deg) skewX(-10deg) skewY(-10deg);
      transform: rotate(45deg) skewX(-10deg) skewY(-10deg);
      -webkit-transition: .5s;
      -o-transition: .5s;
      transition: .5s; }
      @media only screen and (min-width: 960px) {
        header#header .acBtn::after, footer#footer .acBtn::after {
          width: 10px;
          height: 10px;
          border-right: solid 2px #282b32;
          border-bottom: solid 2px #282b32;
          top: calc(50% - 8px);
          right: 18px; } }
      @media only screen and (max-width: 959px) {
        header#header .acBtn::after, footer#footer .acBtn::after {
          width: 1.33333vw;
          height: 1.33333vw;
          border-right: solid 0.53333vw #282b32;
          border-bottom: solid 0.53333vw #282b32;
          top: calc(50% - 1.6vw);
          right: 4.26667vw; } }
    header#header .acBtn.acd::after, footer#footer .acBtn.acd::after {
      -webkit-transform: rotate(-135deg) skewX(-10deg) skewY(-10deg);
      -ms-transform: rotate(-135deg) skewX(-10deg) skewY(-10deg);
      transform: rotate(-135deg) skewX(-10deg) skewY(-10deg); }
  @media only screen and (min-width: 960px) {
    header#header .bnrArea, footer#footer .bnrArea {
      width: 800px;
      margin: 30px auto 50px; } }
  @media only screen and (max-width: 959px) {
    header#header .bnrArea, footer#footer .bnrArea {
      width: 86.66667vw;
      margin: 4vw auto 6.66667vw; } }
  header#header #kv, footer#footer #kv {
    width: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
    @media only screen and (min-width: 960px) {
      header#header #kv, footer#footer #kv {
        height: 400px;
        margin-bottom: 90px; } }
    @media only screen and (max-width: 959px) {
      header#header #kv, footer#footer #kv {
        height: 100.8vw;
        margin-bottom: 10.66667vw; } }
    @media only screen and (max-width: 959px) {
      header#header #kv.subPage, footer#footer #kv.subPage {
        height: 53.33333vw; } }
    header#header #kv .ttlArea, footer#footer #kv .ttlArea {
      height: 100%;
      position: relative; }
      @media only screen and (min-width: 960px) {
        header#header #kv .ttlArea, footer#footer #kv .ttlArea {
          width: 950px;
          margin: 0 auto; } }
      @media only screen and (max-width: 959px) {
        header#header #kv .ttlArea, footer#footer #kv .ttlArea {
          width: 93.33333vw;
          margin: 0 auto; } }
      header#header #kv .ttlArea h1, header#header #kv .ttlArea h2, footer#footer #kv .ttlArea h1, footer#footer #kv .ttlArea h2 {
        background-color: rgba(202, 0, 0, 0.9);
        color: #fff;
        font-weight: bold;
        position: absolute; }
        @media only screen and (min-width: 960px) {
          header#header #kv .ttlArea h1, header#header #kv .ttlArea h2, footer#footer #kv .ttlArea h1, footer#footer #kv .ttlArea h2 {
            width: 630px;
            padding: 35px 27px 30px;
            bottom: -68px;
            font-size: 40px; } }
        @media only screen and (max-width: 959px) {
          header#header #kv .ttlArea h1, header#header #kv .ttlArea h2, footer#footer #kv .ttlArea h1, footer#footer #kv .ttlArea h2 {
            display: inline-block;
            bottom: -6.26667vw;
            padding: 5.33333vw 3.33333vw 4vw 2.53333vw;
            font-size: 5.06667vw; } }
        header#header #kv .ttlArea h1 span, header#header #kv .ttlArea h2 span, footer#footer #kv .ttlArea h1 span, footer#footer #kv .ttlArea h2 span {
          font-weight: normal; }
          @media only screen and (min-width: 960px) {
            header#header #kv .ttlArea h1 span, header#header #kv .ttlArea h2 span, footer#footer #kv .ttlArea h1 span, footer#footer #kv .ttlArea h2 span {
              font-size: 28px; } }
          @media only screen and (max-width: 959px) {
            header#header #kv .ttlArea h1 span, header#header #kv .ttlArea h2 span, footer#footer #kv .ttlArea h1 span, footer#footer #kv .ttlArea h2 span {
              font-size: 3.73333vw; } }
      header#header #kv .ttlArea h1.box, footer#footer #kv .ttlArea h1.box {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        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; }
        @media only screen and (min-width: 960px) {
          header#header #kv .ttlArea h1.box, footer#footer #kv .ttlArea h1.box {
            width: 370px;
            height: 130px; } }
        @media only screen and (max-width: 959px) {
          header#header #kv .ttlArea h1.box, footer#footer #kv .ttlArea h1.box {
            width: 61.33333vw;
            height: 20.53333vw;
            font-size: 6.4vw; } }
        header#header #kv .ttlArea h1.box.auto, footer#footer #kv .ttlArea h1.box.auto {
          width: auto; }
  @media only screen and (min-width: 960px) {
    header#header .discription, footer#footer .discription {
      width: 950px;
      margin: 0 auto; } }
  @media only screen and (max-width: 959px) {
    header#header .discription, footer#footer .discription {
      width: 88vw;
      margin: 0 auto; } }
  @media only screen and (min-width: 960px) {
    header#header .discription, footer#footer .discription {
      margin-bottom: 20px; } }
  @media only screen and (max-width: 959px) {
    header#header .discription, footer#footer .discription {
      margin-bottom: 6.66667vw; } }
  @media only screen and (min-width: 960px) {
    header#header .discription p, footer#footer .discription p {
      width: 770px;
      line-height: 1.7;
      font-size: 18px; } }
  @media only screen and (max-width: 959px) {
    header#header .discription p, footer#footer .discription p {
      line-height: 1.3; } }
  @media only screen and (min-width: 960px) {
    header#header .contentsWrap, footer#footer .contentsWrap {
      width: 950px;
      margin: 0 auto; } }
  @media only screen and (max-width: 959px) {
    header#header .contentsWrap, footer#footer .contentsWrap {
      width: 93.33333vw;
      margin: 0 auto; } }
  header#header .slideCont, footer#footer .slideCont {
    -webkit-transform: translateX(5vw);
    -ms-transform: translateX(5vw);
    transform: translateX(5vw); }
  header#header .subNav, footer#footer .subNav {
    position: relative;
    z-index: 3;
    background-color: rgba(231, 234, 243, 0.7); }
    @media only screen and (min-width: 960px) {
      header#header .subNav, footer#footer .subNav {
        width: 950px;
        margin: 60px auto 12vw;
        padding: 20px; } }
    @media only screen and (max-width: 959px) {
      header#header .subNav, footer#footer .subNav {
        margin: 10.66667vw auto 13.33333vw;
        padding: 2vw; } }
    @media only screen and (min-width: 960px) {
      header#header .subNav h3, footer#footer .subNav h3 {
        margin-bottom: 20px; } }
    @media only screen and (max-width: 959px) {
      header#header .subNav h3, footer#footer .subNav h3 {
        margin-bottom: 2.66667vw; } }
    header#header .subNav ul, footer#footer .subNav ul {
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

@media only screen and (min-width: 960px) and (min-width: 960px) {
  header#header .subNav ul, footer#footer .subNav ul {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    header#header .subNav ul .col, footer#footer .subNav ul .col {
      width: 24.75%; } }

@media only screen and (max-width: 959px) and (max-width: 959px) {
  header#header .subNav ul, footer#footer .subNav ul {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    header#header .subNav ul .col, footer#footer .subNav ul .col {
      width: 49.5%; } }
      @media only screen and (min-width: 960px) {
        header#header .subNav ul li, footer#footer .subNav ul li {
          margin-bottom: 10px; }
          header#header .subNav ul li:not(:nth-child(3n)), footer#footer .subNav ul li:not(:nth-child(3n)) {
            margin-right: 10px; } }
      @media only screen and (max-width: 959px) {
        header#header .subNav ul li, footer#footer .subNav ul li {
          margin-bottom: 1.33333vw; }
          header#header .subNav ul li:not(:nth-child(2n)), footer#footer .subNav ul li:not(:nth-child(2n)) {
            margin-right: 1.33333vw; } }
      header#header .subNav ul li a, footer#footer .subNav ul li a {
        display: block;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        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;
        background-color: #fff;
        position: relative; }
        @media only screen and (min-width: 960px) {
          header#header .subNav ul li a, footer#footer .subNav ul li a {
            height: 60px;
            padding-right: 10px;
            border: solid 2px #282b32; } }
        @media only screen and (max-width: 959px) {
          header#header .subNav ul li a, footer#footer .subNav ul li a {
            height: 12vw;
            padding-right: 2.66667vw;
            border: solid 0.26667vw #282b32;
            font-size: 3.2vw; } }
        header#header .subNav ul li a::after, footer#footer .subNav ul li a::after {
          content: '';
          display: block;
          position: absolute;
          -webkit-transform: rotate(45deg) skewX(15deg) skewY(15deg);
          -ms-transform: rotate(45deg) skewX(15deg) skewY(15deg);
          transform: rotate(45deg) skewX(15deg) skewY(15deg); }
          @media only screen and (min-width: 960px) {
            header#header .subNav ul li a::after, footer#footer .subNav ul li a::after {
              width: 5px;
              height: 5px;
              top: calc(50% - 3.83px);
              right: 10px;
              border-top: solid 2px #282b32;
              border-right: solid 2px #282b32; } }
          @media only screen and (max-width: 959px) {
            header#header .subNav ul li a::after, footer#footer .subNav ul li a::after {
              width: 0.93333vw;
              height: 0.93333vw;
              top: calc(50% - 0.71467vw);
              right: 2.66667vw;
              border-top: solid 0.26667vw #282b32;
              border-right: solid 0.26667vw #282b32; } }
      header#header .subNav ul li.current a, footer#footer .subNav ul li.current a {
        background-color: #e7eaf3; }
  header#header .tableBox dl, footer#footer .tableBox dl {
    width: 100%; }
    @media only screen and (min-width: 960px) {
      header#header .tableBox dl, footer#footer .tableBox dl {
        max-width: 800px;
        margin: 0 auto;
        margin-bottom: 2px;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center; } }
    @media only screen and (max-width: 959px) {
      header#header .tableBox dl, footer#footer .tableBox dl {
        font-size: 3.46667vw;
        margin-bottom: 1px; }
        header#header .tableBox.box02 dl, footer#footer .tableBox.box02 dl {
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex; } }
    header#header .tableBox dl dt, footer#footer .tableBox dl dt {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      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;
      background-color: #e9ecf4;
      font-weight: bold;
      padding: 1em;
      text-align: center; }
      @media only screen and (min-width: 960px) {
        header#header .tableBox dl dt, footer#footer .tableBox dl dt {
          width: 160px;
          margin-right: 2px;
          font-size: 16px; } }
      @media only screen and (max-width: 959px) {
        header#header .tableBox dl dt, footer#footer .tableBox dl dt {
          margin-bottom: 0.53333vw; }
          header#header .tableBox.box02 dl dt, footer#footer .tableBox.box02 dl dt {
            width: 21.33333vw;
            margin-bottom: 0; } }
    header#header .tableBox dl dd, footer#footer .tableBox dl dd {
      width: 100%;
      background-color: #f3f4f9;
      -ms-flex-negative: 9999;
      flex-shrink: 9999; }
      @media only screen and (min-width: 960px) {
        header#header .tableBox dl dd, footer#footer .tableBox dl dd {
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          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: 20px 24px 20px 10px; } }
      @media only screen and (max-width: 959px) {
        header#header .tableBox dl dd, footer#footer .tableBox dl dd {
          padding: 2.4vw 3.33333vw 2.4vw 1.86667vw; } }
  header#header .tableListBox, footer#footer .tableListBox {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    text-align: center; }
    @media only screen and (min-width: 960px) {
      header#header .tableListBox, footer#footer .tableListBox {
        margin-bottom: 20px; } }
    @media only screen and (max-width: 959px) {
      header#header .tableListBox, footer#footer .tableListBox {
        margin-bottom: 2.66667vw; } }
    @media only screen and (max-width: 959px) {
      header#header .tableListBox thead, footer#footer .tableListBox thead {
        display: none; } }
    @media only screen and (min-width: 960px) {
      header#header .tableListBox thead tr, footer#footer .tableListBox thead tr {
        background-color: #e7eaf3; }
      header#header .tableListBox thead th, footer#footer .tableListBox thead th {
        padding: 5px;
        border-bottom: 1px solid #fff;
        border-left: 1px solid #fff;
        border-collapse: separate;
        border-spacing: 0;
        text-align: center; } }
    @media only screen and (min-width: 960px) {
      header#header .tableListBox tbody tr:nth-child(2n-1), footer#footer .tableListBox tbody tr:nth-child(2n-1) {
        background-color: #f3f4f9; }
      header#header .tableListBox tbody tr:nth-child(2n), footer#footer .tableListBox tbody tr:nth-child(2n) {
        background-color: #e7eaf3; } }
    @media only screen and (max-width: 959px) {
      header#header .tableListBox tbody tr, footer#footer .tableListBox tbody tr {
        width: 100%;
        display: block;
        margin-bottom: 2.66667vw; } }
    header#header .tableListBox tbody th, footer#footer .tableListBox tbody th {
      vertical-align: middle;
      padding: .5em; }
      @media only screen and (max-width: 959px) {
        header#header .tableListBox tbody th, footer#footer .tableListBox tbody th {
          display: block;
          background-color: #e7eaf3;
          margin-bottom: 0.53333vw; } }
    header#header .tableListBox tbody td, footer#footer .tableListBox tbody td {
      vertical-align: middle;
      border-bottom: 1px solid #fff;
      border-left: 1px solid #fff;
      border-collapse: separate;
      border-spacing: 0; }
      @media only screen and (min-width: 960px) {
        header#header .tableListBox tbody td, footer#footer .tableListBox tbody td {
          text-align: center;
          padding: 10px; } }
      @media only screen and (max-width: 959px) {
        header#header .tableListBox tbody td, footer#footer .tableListBox tbody td {
          padding: 0;
          width: 100%;
          display: table;
          overflow: hidden;
          position: relative;
          text-align: left; }
          header#header .tableListBox tbody td:nth-child(2n-1), footer#footer .tableListBox tbody td:nth-child(2n-1) {
            background-color: #e7eaf3; }
          header#header .tableListBox tbody td:nth-child(2n), footer#footer .tableListBox tbody td:nth-child(2n) {
            background-color: #eef0f6; }
          header#header .tableListBox tbody td:first-child, footer#footer .tableListBox tbody td:first-child {
            background-color: #282b32;
            color: #fff;
            font-weight: bold; }
            header#header .tableListBox tbody td:first-child::before, footer#footer .tableListBox tbody td:first-child::before {
              content: none; } }
      @media only screen and (max-width: 959px) {
        header#header .tableListBox tbody td span, footer#footer .tableListBox tbody td span {
          padding: 2vw;
          display: table-cell;
          vertical-align: middle; } }
      @media only screen and (max-width: 959px) {
        header#header .tableListBox tbody td::before, footer#footer .tableListBox tbody td::before {
          content: attr(data-th) "";
          font-weight: bold;
          display: inline-block;
          padding: 2vw;
          width: 22.13333vw;
          border-right: 0.53333vw solid #fff;
          display: table-cell;
          vertical-align: middle; } }
  header#header .subPageTopNav, footer#footer .subPageTopNav {
    position: relative;
    z-index: 5; }
    @media only screen and (min-width: 960px) {
      header#header .subPageTopNav, footer#footer .subPageTopNav {
        margin-bottom: 8.4vw; } }
    @media only screen and (max-width: 959px) {
      header#header .subPageTopNav, footer#footer .subPageTopNav {
        margin-bottom: 16vw; } }
    @media only screen and (min-width: 960px) {
      header#header .subPageTopNav ul, footer#footer .subPageTopNav ul {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        width: 960px;
        margin: 0 auto; } }
    @media only screen and (min-width: 960px) {
      header#header .subPageTopNav ul li, footer#footer .subPageTopNav ul li {
        width: 475px;
        margin-bottom: 25px; } }
    @media only screen and (max-width: 959px) {
      header#header .subPageTopNav ul li, footer#footer .subPageTopNav ul li {
        margin-bottom: 5.33333vw; } }
    header#header .subPageTopNav ul li a, footer#footer .subPageTopNav ul li a {
      display: block;
      overflow: hidden;
      position: relative;
      color: #fff; }
      @media only screen and (min-width: 960px) {
        header#header .subPageTopNav ul li a, footer#footer .subPageTopNav ul li a {
          width: 475px;
          height: 180px;
          border: solid 2px #282b32; } }
      @media only screen and (max-width: 959px) {
        header#header .subPageTopNav ul li a, footer#footer .subPageTopNav ul li a {
          height: 33.33333vw;
          border: solid 0.26667vw #282b32; } }
      header#header .subPageTopNav ul li a .skew, footer#footer .subPageTopNav ul li a .skew {
        height: 100%;
        background-color: #ca0000;
        -webkit-transform-origin: top right;
        -ms-transform-origin: top right;
        transform-origin: top right;
        -webkit-transform: skewX(-17deg);
        -ms-transform: skewX(-17deg);
        transform: skewX(-17deg);
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2;
        overflow: hidden; }
        @media only screen and (min-width: 960px) {
          header#header .subPageTopNav ul li a .skew, footer#footer .subPageTopNav ul li a .skew {
            width: 235px; } }
        @media only screen and (max-width: 959px) {
          header#header .subPageTopNav ul li a .skew, footer#footer .subPageTopNav ul li a .skew {
            width: 43.33333vw; } }
        header#header .subPageTopNav ul li a .skew .img, footer#footer .subPageTopNav ul li a .skew .img {
          display: block;
          -webkit-transform: skewX(17deg);
          -ms-transform: skewX(17deg);
          transform: skewX(17deg); }
          @media only screen and (min-width: 960px) {
            header#header .subPageTopNav ul li a .skew .img, footer#footer .subPageTopNav ul li a .skew .img {
              width: calc(100% + 10px);
              margin-left: 25px; } }
          @media only screen and (max-width: 959px) {
            header#header .subPageTopNav ul li a .skew .img, footer#footer .subPageTopNav ul li a .skew .img {
              width: calc(100% + 2vw);
              margin-left: 4.66667vw; } }
      header#header .subPageTopNav ul li a .ttlArea, footer#footer .subPageTopNav ul li a .ttlArea {
        line-height: 1.3;
        height: 100%;
        background-color: #282b32;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        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;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between; }
        @media only screen and (min-width: 960px) {
          header#header .subPageTopNav ul li a .ttlArea, footer#footer .subPageTopNav ul li a .ttlArea {
            padding: 50px 0 17px; } }
        @media only screen and (max-width: 959px) {
          header#header .subPageTopNav ul li a .ttlArea, footer#footer .subPageTopNav ul li a .ttlArea {
            padding: 9.33333vw 0 3.06667vw; } }
        @media only screen and (min-width: 960px) {
          header#header .subPageTopNav ul li a .ttlArea.lineTwo, footer#footer .subPageTopNav ul li a .ttlArea.lineTwo {
            padding-top: 30px; } }
        @media only screen and (max-width: 959px) {
          header#header .subPageTopNav ul li a .ttlArea.lineTwo, footer#footer .subPageTopNav ul li a .ttlArea.lineTwo {
            padding-top: 5.33333vw; } }
        header#header .subPageTopNav ul li a .ttlArea .ttl, footer#footer .subPageTopNav ul li a .ttlArea .ttl {
          font-weight: bold; }
          @media only screen and (min-width: 960px) {
            header#header .subPageTopNav ul li a .ttlArea .ttl, footer#footer .subPageTopNav ul li a .ttlArea .ttl {
              padding-left: 220px;
              font-size: 23px; } }
          @media only screen and (max-width: 959px) {
            header#header .subPageTopNav ul li a .ttlArea .ttl, footer#footer .subPageTopNav ul li a .ttlArea .ttl {
              padding-left: 40vw;
              font-size: 4.26667vw; } }
          header#header .subPageTopNav ul li a .ttlArea .ttl::before, footer#footer .subPageTopNav ul li a .ttlArea .ttl::before {
            content: attr(data-ttl);
            display: block;
            padding-bottom: .2em;
            color: #757679;
            text-align: center;
            font-weight: normal;
            font-family: 'Pathway Gothic One', sans-serif;
            line-height: 1;
            letter-spacing: -.05em; }
        header#header .subPageTopNav ul li a .ttlArea .arw, footer#footer .subPageTopNav ul li a .ttlArea .arw {
          width: 100%;
          background-color: rgba(202, 0, 0, 0.6);
          background-repeat: no-repeat;
          background-position: 99% center; }
          @media only screen and (min-width: 960px) {
            header#header .subPageTopNav ul li a .ttlArea .arw, footer#footer .subPageTopNav ul li a .ttlArea .arw {
              height: 25px;
              background-image: url(/img/2018/common/arw_pc02.png); } }
          @media only screen and (max-width: 959px) {
            header#header .subPageTopNav ul li a .ttlArea .arw, footer#footer .subPageTopNav ul li a .ttlArea .arw {
              height: 4.66667vw;
              background-image: url(/img/2018/common/arw_sp.png);
              background-size: 2.66667vw 2.4vw; } }
    header#header .subPageTopNav ul li .menuDisc, footer#footer .subPageTopNav ul li .menuDisc {
      line-height: 1.3; }
      @media only screen and (min-width: 960px) {
        header#header .subPageTopNav ul li .menuDisc, footer#footer .subPageTopNav ul li .menuDisc {
          padding: 14px 7px;
          font-size: 14px; } }
      @media only screen and (max-width: 959px) {
        header#header .subPageTopNav ul li .menuDisc, footer#footer .subPageTopNav ul li .menuDisc {
          padding: 2.66667vw 0.66667vw; } }
  header#header .anotherList3 li, footer#footer .anotherList3 li {
    padding-left: 3em;
    text-indent: -3em; }
    header#header .anotherList3 li::before, footer#footer .anotherList3 li::before {
      content: attr(data-before); }
  header#header #courseOc, footer#footer #courseOc {
    position: static;
    position: relative;
    background-color: #fff; }
    header#header #courseOc::before, footer#footer #courseOc::before {
      content: '';
      width: 0;
      height: 0;
      display: block;
      position: absolute;
      z-index: 2;
      border-style: solid;
      border-color: transparent transparent #fff transparent; }
      @media only screen and (min-width: 960px) {
        header#header #courseOc::before, footer#footer #courseOc::before {
          border-width: 0 0 19.5vw 100vw;
          top: -19.44vw;
          right: 0; } }
      @media only screen and (max-width: 959px) {
        header#header #courseOc::before, footer#footer #courseOc::before {
          border-width: 0 0 20vw 100vw;
          top: -19.86667vw; } }
    header#header #courseOc *, footer#footer #courseOc * {
      z-index: 2; }
    @media only screen and (min-width: 960px) {
      header#header #courseOc, footer#footer #courseOc {
        padding-bottom: 12vw; } }
    @media only screen and (max-width: 959px) {
      header#header #courseOc, footer#footer #courseOc {
        padding-bottom: 10.66667vw; } }
    header#header #courseOc h2, footer#footer #courseOc h2 {
      position: relative; }
      header#header #courseOc h2::before, footer#footer #courseOc h2::before {
        content: "EVENT";
        color: rgba(40, 43, 50, 0.1);
        position: absolute;
        right: 0;
        z-index: 1;
        font-weight: normal;
        font-family: 'Pathway Gothic One', sans-serif;
        line-height: 1;
        letter-spacing: -.05em; }
        @media only screen and (min-width: 960px) {
          header#header #courseOc h2::before, footer#footer #courseOc h2::before {
            font-size: 300px;
            top: calc(300px / 2 * -1); } }
        @media only screen and (max-width: 959px) {
          header#header #courseOc h2::before, footer#footer #courseOc h2::before {
            font-size: 26.66667vw;
            top: calc(26.66667vw / 2 * -1); } }
      header#header #courseOc h2 span, footer#footer #courseOc h2 span {
        position: relative;
        z-index: 2; }
    @media only screen and (max-width: 959px) {
      header#header #courseOc .bnrArea, footer#footer #courseOc .bnrArea {
        width: 93.33333vw;
        margin: 0 auto; } }
    @media only screen and (min-width: 960px) {
      header#header #courseOc .bnrArea, footer#footer #courseOc .bnrArea {
        width: 950px;
        margin: 0 auto; } }
    @media only screen and (min-width: 960px) {
      header#header #courseOc .bnrArea, footer#footer #courseOc .bnrArea {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin: 50px auto 90px; } }
    @media only screen and (max-width: 959px) {
      header#header #courseOc .bnrArea, footer#footer #courseOc .bnrArea {
        margin-top: 9.33333vw; } }
    @media only screen and (min-width: 960px) {
      header#header #courseOc .bnrArea dl, footer#footer #courseOc .bnrArea dl {
        width: 470px; } }
    @media only screen and (max-width: 959px) {
      header#header #courseOc .bnrArea dl, footer#footer #courseOc .bnrArea dl {
        margin-bottom: 6.66667vw; } }
    header#header #courseOc .bnrArea dl dt, footer#footer #courseOc .bnrArea dl dt {
      border-bottom: solid 1px #282b32;
      font-weight: bold; }
      @media only screen and (min-width: 960px) {
        header#header #courseOc .bnrArea dl dt, footer#footer #courseOc .bnrArea dl dt {
          padding: 0 7px;
          font-size: 18px; } }
      @media only screen and (max-width: 959px) {
        header#header #courseOc .bnrArea dl dt, footer#footer #courseOc .bnrArea dl dt {
          padding: 0 2.66667vw;
          font-size: 3.46667vw; } }
    @media only screen and (max-width: 959px) {
      header#header #courseOc .bnrArea dl dd, footer#footer #courseOc .bnrArea dl dd {
        width: 88vw;
        margin: 0 auto; } }
    @media only screen and (min-width: 960px) {
      header#header #courseOc .bnrArea dl dd, footer#footer #courseOc .bnrArea dl dd {
        padding: 11px 5px; } }
    @media only screen and (max-width: 959px) {
      header#header #courseOc .bnrArea dl dd, footer#footer #courseOc .bnrArea dl dd {
        padding-top: 2vw; } }
    header#header #courseOc .navArea, footer#footer #courseOc .navArea {
      position: relative;
      z-index: 3; }
      @media only screen and (max-width: 959px) {
        header#header #courseOc .navArea, footer#footer #courseOc .navArea {
          width: 93.33333vw;
          margin: 0 auto; } }
      @media only screen and (min-width: 960px) {
        header#header #courseOc .navArea ul, footer#footer #courseOc .navArea ul {
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: justify;
          -ms-flex-pack: justify;
          justify-content: space-between;
          width: 760px;
          margin: 0 auto; } }
      @media only screen and (max-width: 959px) {
        header#header #courseOc .navArea ul li, footer#footer #courseOc .navArea ul li {
          margin-bottom: 2.66667vw; } }
      header#header #courseOc .navArea ul li a, footer#footer #courseOc .navArea ul li a {
        background-color: #282b32;
        border-style: solid;
        color: #fff;
        position: relative;
        line-height: 1.3;
        font-weight: bold; }
        @media only screen and (min-width: 960px) {
          header#header #courseOc .navArea ul li a, footer#footer #courseOc .navArea ul li a {
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            -ms-flex-direction: column;
            flex-direction: column;
            -ms-flex-line-pack: center;
            align-content: center;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            -webkit-box-pack: end;
            -ms-flex-pack: end;
            justify-content: flex-end;
            width: 180px;
            height: 120px;
            padding: 10px 0;
            border-width: 4px;
            text-align: center; } }
        @media only screen and (max-width: 959px) {
          header#header #courseOc .navArea ul li a, footer#footer #courseOc .navArea ul li a {
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            width: 100%;
            height: 13.33333vw;
            border-width: 2px;
            font-size: 3.46667vw; } }
        header#header #courseOc .navArea ul li a::before, footer#footer #courseOc .navArea ul li a::before {
          content: '';
          width: 0;
          height: 0;
          border-style: solid;
          position: absolute;
          top: 0; }
          @media only screen and (min-width: 960px) {
            header#header #courseOc .navArea ul li a::before, footer#footer #courseOc .navArea ul li a::before {
              border-width: 0 50px 50px 0;
              right: 0; } }
          @media only screen and (max-width: 959px) {
            header#header #courseOc .navArea ul li a::before, footer#footer #courseOc .navArea ul li a::before {
              left: 9.33333vw;
              border-width: 6.13333vw 0 6.13333vw 2.66667vw; } }
        header#header #courseOc .navArea ul li a::after, footer#footer #courseOc .navArea ul li a::after {
          content: '';
          display: block;
          -webkit-transform: rotate(45deg) skewX(5deg) skewY(5deg);
          -ms-transform: rotate(45deg) skewX(5deg) skewY(5deg);
          transform: rotate(45deg) skewX(5deg) skewY(5deg);
          position: absolute; }
          @media only screen and (min-width: 960px) {
            header#header #courseOc .navArea ul li a::after, footer#footer #courseOc .navArea ul li a::after {
              width: 7px;
              height: 7px;
              border-top: solid 4px #fff;
              border-right: solid 4px #fff;
              top: 9px;
              right: 7px; } }
          @media only screen and (max-width: 959px) {
            header#header #courseOc .navArea ul li a::after, footer#footer #courseOc .navArea ul li a::after {
              width: 2vw;
              height: 2vw;
              border-top: solid 2px #fff;
              border-right: solid 2px #fff;
              top: calc(50% - 0.93333vw);
              right: 2.13333vw; } }
        @media only screen and (min-width: 960px) {
          header#header #courseOc .navArea ul li a .icon, footer#footer #courseOc .navArea ul li a .icon {
            margin-bottom: 10px; } }
        @media only screen and (max-width: 959px) {
          header#header #courseOc .navArea ul li a .icon, footer#footer #courseOc .navArea ul li a .icon {
            -ms-flex-item-align: stretch;
            align-self: stretch;
            width: 9.33333vw;
            margin-right: 4.66667vw;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flex;
            display: -o-flex;
            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; } }
      header#header #courseOc .navArea ul li.st a, footer#footer #courseOc .navArea ul li.st a {
        border-color: #1b49b1; }
        @media only screen and (min-width: 960px) {
          header#header #courseOc .navArea ul li.st a::before, footer#footer #courseOc .navArea ul li.st a::before {
            border-color: transparent #1b49b1 transparent transparent; } }
        @media only screen and (max-width: 959px) {
          header#header #courseOc .navArea ul li.st a::before, footer#footer #courseOc .navArea ul li.st a::before {
            border-color: transparent transparent transparent #1b49b1; } }
        @media only screen and (max-width: 959px) {
          header#header #courseOc .navArea ul li.st a .icon, footer#footer #courseOc .navArea ul li.st a .icon {
            background: #1b49b1; } }
      @media only screen and (max-width: 959px) {
        header#header #courseOc .navArea ul li.st .icon img, footer#footer #courseOc .navArea ul li.st .icon img {
          width: 4.13333vw; } }
      header#header #courseOc .navArea ul li.at a, footer#footer #courseOc .navArea ul li.at a {
        border-color: #329ee9; }
        @media only screen and (min-width: 960px) {
          header#header #courseOc .navArea ul li.at a::before, footer#footer #courseOc .navArea ul li.at a::before {
            border-color: transparent #329ee9 transparent transparent; } }
        @media only screen and (max-width: 959px) {
          header#header #courseOc .navArea ul li.at a::before, footer#footer #courseOc .navArea ul li.at a::before {
            border-color: transparent transparent transparent #329ee9; } }
        @media only screen and (max-width: 959px) {
          header#header #courseOc .navArea ul li.at a .icon, footer#footer #courseOc .navArea ul li.at a .icon {
            background: #329ee9; } }
      @media only screen and (max-width: 959px) {
        header#header #courseOc .navArea ul li.at .icon img, footer#footer #courseOc .navArea ul li.at .icon img {
          width: 4vw; } }
      header#header #courseOc .navArea ul li.si a, footer#footer #courseOc .navArea ul li.si a {
        border-color: #18a48b; }
        @media only screen and (min-width: 960px) {
          header#header #courseOc .navArea ul li.si a::before, footer#footer #courseOc .navArea ul li.si a::before {
            border-color: transparent #18a48b transparent transparent; } }
        @media only screen and (max-width: 959px) {
          header#header #courseOc .navArea ul li.si a::before, footer#footer #courseOc .navArea ul li.si a::before {
            border-color: transparent transparent transparent #18a48b; } }
        @media only screen and (max-width: 959px) {
          header#header #courseOc .navArea ul li.si a .icon, footer#footer #courseOc .navArea ul li.si a .icon {
            background: #18a48b; } }
      @media only screen and (max-width: 959px) {
        header#header #courseOc .navArea ul li.si .icon img, footer#footer #courseOc .navArea ul li.si .icon img {
          width: 5.6vw; } }
      header#header #courseOc .navArea ul li.sb a, footer#footer #courseOc .navArea ul li.sb a {
        border-color: #e95615; }
        @media only screen and (min-width: 960px) {
          header#header #courseOc .navArea ul li.sb a::before, footer#footer #courseOc .navArea ul li.sb a::before {
            border-color: transparent #e95615 transparent transparent; } }
        @media only screen and (max-width: 959px) {
          header#header #courseOc .navArea ul li.sb a::before, footer#footer #courseOc .navArea ul li.sb a::before {
            border-color: transparent transparent transparent #e95615; } }
        @media only screen and (max-width: 959px) {
          header#header #courseOc .navArea ul li.sb a .icon, footer#footer #courseOc .navArea ul li.sb a .icon {
            background: #e95615; } }
      @media only screen and (max-width: 959px) {
        header#header #courseOc .navArea ul li.sb .icon img, footer#footer #courseOc .navArea ul li.sb .icon img {
          width: 4.4vw; } }
      header#header #courseOc .navArea ul li.child a, footer#footer #courseOc .navArea ul li.child a {
        border-color: #e5b228; }
        @media only screen and (min-width: 960px) {
          header#header #courseOc .navArea ul li.child a::before, footer#footer #courseOc .navArea ul li.child a::before {
            border-color: transparent #e5b228 transparent transparent; } }
        @media only screen and (max-width: 959px) {
          header#header #courseOc .navArea ul li.child a::before, footer#footer #courseOc .navArea ul li.child a::before {
            border-color: transparent transparent transparent #e5b228; } }
        @media only screen and (max-width: 959px) {
          header#header #courseOc .navArea ul li.child a .icon, footer#footer #courseOc .navArea ul li.child a .icon {
            background: #e5b228; } }
      @media only screen and (max-width: 959px) {
        header#header #courseOc .navArea ul li.child .icon img, footer#footer #courseOc .navArea ul li.child .icon img {
          width: 5.06667vw; } }

#main {
  width: 100%;
  margin: 0 auto;
  display: block; }
  @media only screen and (min-width: 960px) {
    #main {
      margin-top: 80px !important;
      padding-bottom: 12vw !important; } }
  @media only screen and (max-width: 959px) {
    #main {
      margin-top: 10.66667vw !important;
      padding-bottom: 26.66667vw !important; } }

#categoryList .inner {
  position: relative;
  z-index: 3; }

footer#footer {
  color: #fff; }
  @media only screen and (min-width: 960px) {
    footer#footer {
      margin-top: 12vw;
      font-size: 14px; } }
  @media only screen and (max-width: 959px) {
    footer#footer {
      margin-top: 13.33333vw;
      font-size: 3.73333vw; } }
  footer#footer .sitemap {
    background: none;
    display: block; }
  footer#footer a {
    text-decoration: none; }
    footer#footer a:hover {
      text-decoration: none; }
  footer#footer .txt {
    margin-bottom: 0; }

/* 高1・2年OC */
@media only screen and (min-width: 960px) {
  #opencampus-gw #content_frame {
    margin-top: 80px !important;
    padding-bottom: 12vw !important; } }

@media only screen and (max-width: 959px) {
  #opencampus-gw #content_frame {
    margin-top: 10.66667vw !important;
    padding-bottom: 26.66667vw !important; } }
