@charset "UTF-8";
/* for WP */
html {
  margin-top: 0 !important; }

/*****************************
  共通設定
******************************/
* {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-style: normal;
  letter-spacing: 0.2px;
  font-weight: normal;
  line-height: 1.6;
  vertical-align: middle; }

html {
  width: 100%; }

body {
  margin: 0;
  padding: 0;
  width: 100%;
  font-family: YuGothic, '游ゴシック', 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Osaka', 'ＭＳ Ｐゴシック', sans-serif;
  color: #262228;
  height: 100%;
  font-size: 1em;
  min-width: 100%;
  vertical-align: middle;
  -webkit-text-size-adjust: 100%; }
  @media all and (max-width: 750px) {
    body {
      font-size: 13px; } }

.fontRoboto {
  font-family: 'Roboto', sans-serif; }

.fontQuicksand {
  font-family: 'Quicksand', sans-serif; }

img {
  width: 100%;
  height: auto;
  vertical-align: top; }

a img {
  border: none; }

li {
  list-style-type: none; }

a {
  outline: none;
  text-decoration: none;
  color: #0375B4; }

a:link {
  text-decoration: none; }

/* 各デバイスでの表示切り替え */
@media all and (min-width: 751px) {
  .sp {
    display: none !important; } }

@media screen and (min-width: 850px) {
  .spWide {
    display: none !important; } }

@media screen and (min-width: 980px) {
  .menuBreakP {
    display: none !important; } }

@media all and (max-width: 750px) {
  .pc {
    display: none !important; } }

input, label, select, textarea {
  vertical-align: middle; }

/*****************************
  共通
******************************/
.loadingWrap {
  overflow: hidden; }

.contents {
  background: url(../images/common/bg.jpg) repeat-y;
  background-size: 100% auto;
  padding-bottom: 100px; }
  @media all and (min-width: 751px) {
    .contents {
      padding-bottom: 150px; } }

.inner {
  margin: 0 auto;
  padding: 0px 20px;
  max-width: 1200px; }
  .inner.narrow {
    max-width: 880px; }
  .inner.mid {
    max-width: 1000px; }
  .inner.noMaxWidth {
    max-width: none; }
  @media all and (min-width: 751px) {
    .inner {
      padding: 0 40px; } }
  @media all and (min-width: 1200px) {
    .inner {
      padding: 0 80px; } }

.innerSP {
  margin: 0 auto;
  padding: 0px 20px; }
  @media all and (min-width: 751px) {
    .innerSP {
      padding: 0; } }

.text-ellipsis {
  overflow: hidden;
  white-space: nowrap;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  line-height: 1.6; }
  .text-ellipsis.multiline {
    white-space: normal;
    max-height: 3.2em;
    position: relative; }
    .text-ellipsis.multiline::after {
      content: "…";
      position: absolute;
      display: block;
      bottom: 0;
      right: 0;
      background-color: #fff; }

ul.double {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 20px; }
  ul.double li {
    width: calc( 50% - 10px);
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  @media all and (min-width: 751px) {
    ul.double {
      margin-top: 30px; }
      ul.double li {
        width: calc(50% - 15px); } }

/*****************************
  ヘッダー
******************************/
#header {
  position: fixed;
  z-index: 5;
  width: 100%;
  height: 67px;
  top: 0;
  left: 0; }
  @media all and (min-width: 980px) {
    #header {
      height: 120px;
      position: fixed; } }
  #header .logoWrap {
    position: absolute;
    top: 0;
    width: 100%;
    height: 50px; }
    #header .logoWrap .logo {
      position: absolute;
      display: block;
      width: 118px;
      height: auto;
      top: 50%;
      left: 20px;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); }
    @media all and (min-width: 751px) {
      #header .logoWrap {
        height: 140px; }
        #header .logoWrap .logo {
          width: 237px;
          left: 50px; } }
  #header .fixWrap {
    position: fixed;
    display: none;
    width: 100%;
    height: 58px;
    top: 0;
    left: 0;
    background: #0375B4; }
    @media all and (min-width: 751px) {
      #header .fixWrap {
        height: 67px; } }
    @media all and (min-width: 980px) {
      #header .fixWrap {
        height: 75px; } }
  #header a.fixLogo {
    position: fixed;
    display: block;
    width: 120px;
    height: auto;
    top: 20px;
    left: 20px;
    z-index: 5; }
    @media all and (min-width: 751px) {
      #header a.fixLogo {
        width: 175px;
        left: 30px;
        top: 50px; } }
  #header #menuBtn {
    position: fixed;
    top: 13px;
    right: 20px;
    width: 30px;
    height: 30px;
    z-index: 100; }
    @media all and (min-width: 751px) {
      #header #menuBtn {
        top: 17px; } }
    #header #menuBtn .menu-trigger {
      display: block;
      position: relative;
      width: 100%;
      padding-top: 100%;
      z-index: 95;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      -webkit-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
      transform: rotate(0deg);
      -webkit-transition: .5s ease-in-out;
      -o-transition: .5s ease-in-out;
      transition: .5s ease-in-out; }
      #header #menuBtn .menu-trigger span {
        display: block;
        position: absolute;
        height: 2px;
        width: 100%;
        left: 0;
        right: 0;
        background: #ffffff;
        opacity: 1;
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-transition: .25s ease-in-out;
        -o-transition: .25s ease-in-out;
        transition: .25s ease-in-out; }
        #header #menuBtn .menu-trigger span:nth-child(1) {
          top: 8px; }
        #header #menuBtn .menu-trigger span:nth-child(2) {
          top: 21px; }
    #header #menuBtn.open .menu-trigger span {
      background-color: #0375B4; }
      #header #menuBtn.open .menu-trigger span:nth-child(1) {
        -webkit-transform: translateY(6px) translateX(0) rotate(30deg);
        -ms-transform: translateY(6px) translateX(0) rotate(30deg);
        transform: translateY(6px) translateX(0) rotate(30deg); }
      #header #menuBtn.open .menu-trigger span:nth-child(2) {
        -webkit-transform: translateY(-7px) translateX(0) rotate(-30deg);
        -ms-transform: translateY(-7px) translateX(0) rotate(-30deg);
        transform: translateY(-7px) translateX(0) rotate(-30deg); }
  #header #overlay {
    position: fixed;
    z-index: 50;
    width: 100vw;
    height: 100%;
    visibility: hidden;
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
    background: #62B8E8;
    /* fallback */
    background: -webkit-gradient(linear, left top, left bottom, from(#62B8E8), to(#6EA0E2));
    background: -webkit-linear-gradient(#62B8E8, #6EA0E2);
    background: -o-linear-gradient(#62B8E8, #6EA0E2);
    background: linear-gradient(#62B8E8, #6EA0E2);
    -webkit-transition: 0.5s 0.1s cubic-bezier(0.8, 0, 0.2, 1);
    -o-transition: 0.5s 0.1s cubic-bezier(0.8, 0, 0.2, 1);
    transition: 0.5s 0.1s cubic-bezier(0.8, 0, 0.2, 1); }
    #header #overlay.open {
      visibility: visible;
      -webkit-transform: translateX(0%);
      -ms-transform: translateX(0%);
      transform: translateX(0%); }
    #header #overlay .fixWrap {
      background: #fff;
      display: block; }
    #header #overlay .hLogo {
      position: absolute;
      background: #fff;
      display: block;
      width: 120px;
      height: auto;
      top: 50%;
      left: 20px;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); }
      @media all and (min-width: 751px) {
        #header #overlay .hLogo {
          width: 175px; } }
  #header #menu {
    /*
    @media screen and (min-width: 930px){
      ul{
        li{
          a{
            margin-left: 30px;
          }
        }
      }
    }
    */ }
    @media screen and (max-width: 979px) {
      #header #menu {
        position: fixed;
        width: 100%;
        height: 100%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        overflow-x: hidden;
        overflow-y: scroll;
        visibility: hidden;
        top: 0;
        padding-top: 100px;
        -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
        transform: translateX(100%);
        -webkit-transition: 0.5s 0.1s cubic-bezier(0.8, 0, 0.2, 1);
        -o-transition: 0.5s 0.1s cubic-bezier(0.8, 0, 0.2, 1);
        transition: 0.5s 0.1s cubic-bezier(0.8, 0, 0.2, 1);
        padding: 0 30px;
        z-index: 99;
        box-sizing: border-box; }
        #header #menu ul li {
          height: 60px; }
          #header #menu ul li a {
            display: block;
            color: #fff;
            width: 100%;
            height: 100%;
            line-height: 65px;
            font-size: 15px;
            text-align: center;
            -webkit-box-sizing: border-box;
            box-sizing: border-box; }
        #header #menu.open {
          visibility: visible;
          -webkit-transform: translateX(0%);
          -ms-transform: translateX(0%);
          transform: translateX(0%);
          padding-top: 100px;
          text-align: center;
          padding-bottom: 100px; }
        #header #menu .nav_Btn {
          width: 100%;
          max-width: 300px;
          height: 50px;
          margin: 25px auto 50px; }
          #header #menu .nav_Btn a {
            display: block;
            position: relative;
            width: 100%;
            height: 100%;
            color: #fff;
            text-align: center;
            line-height: 50px;
            border: 1px solid #fff;
            font-size: 14px;
            -webkit-box-sizing: border-box;
            box-sizing: border-box; }
            #header #menu .nav_Btn a:after {
              content: "";
              display: block;
              position: absolute;
              right: 10px;
              top: 50%;
              -webkit-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
              transform: translateY(-50%);
              width: 0;
              height: 0;
              border-style: solid;
              border-width: 5px 0 5px 6px;
              border-color: transparent transparent transparent #ffffff; } }
    @media screen and (min-width: 751px) and (max-width: 979px) {
      #header #menu ul {
        text-align: center; }
        #header #menu ul li {
          height: 65px;
          padding: 20px 0;
          -webkit-box-sizing: border-box;
          box-sizing: border-box; }
          #header #menu ul li a {
            display: inline-block;
            width: auto;
            height: auto;
            line-height: 25px; } }
    @media all and (min-width: 980px) {
      #header #menu {
        position: fixed;
        top: 50px;
        right: 40px; }
        #header #menu.open {
          top: 30px; }
        #header #menu ul {
          color: #fff;
          width: 100%;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: end;
          -ms-flex-pack: end;
          justify-content: flex-end; }
          #header #menu ul li a {
            font-size: 14px;
            color: #fff;
            margin: 0 30px 0 0;
            -webkit-transition: all 0.3s;
            -o-transition: all 0.3s;
            transition: all 0.3s; }
            #header #menu ul li a.active:before {
              content: "";
              position: absolute;
              z-index: -1;
              left: 0;
              right: 0;
              bottom: 0;
              background: #fff;
              height: 1px; } }

/*****************************
  フッター
******************************/
#footer {
  padding-bottom: 20px;
  position: relative;
  /*
  .goTop{
    text-align: center;
    font-size: 30px;
    font-weight: bold;
    background-color: #fff;
    border-bottom: 1px solid #E6E6E6;
    a{
      display: block;
      width: 100%;
      height: 100%;

    }
  }
  */ }
  #footer #goTop {
    display: block;
    position: fixed;
    z-index: 4;
    right: 20px;
    bottom: -200px;
    width: 55px;
    height: 55px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    @media all and (min-width: 751px) {
      #footer #goTop {
        right: 30px;
        width: 80px;
        height: 80px; } }
    #footer #goTop a {
      display: block;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      width: 100%;
      height: 100%;
      border-radius: 50%;
      font-size: 10px;
      text-align: center;
      letter-spacing: 0.1em;
      padding: 12px;
      border: 1px solid #0375B4;
      color: #0375B4;
      -webkit-transition: all .5s ease-in-out;
      -o-transition: all .5s ease-in-out;
      transition: all .5s ease-in-out; }
    #footer #goTop.fixed {
      bottom: 20px; }
      @media all and (min-width: 751px) {
        #footer #goTop.fixed {
          bottom: 30px; } }
    @media all and (min-width: 751px) {
      #footer #goTop a {
        font-size: 12px;
        padding: 20px; }
        #footer #goTop a:hover {
          -webkit-box-shadow: 0px 0px 29px 50px #0375B4 inset;
          box-shadow: 0px 0px 29px 50px #0375B4 inset;
          color: #fff; } }
  #footer .fWrap {
    padding: 50px 0; }
    @media all and (min-width: 751px) {
      #footer .fWrap {
        padding-top: 60px; } }
  #footer .footerMenuWrap {
    text-align: center;
    color: #262228;
    padding-top: 50px;
    padding-bottom: 50px;
    border-bottom: 1px solid #E6E6E6; }
    #footer .footerMenuWrap ul li {
      height: 50px; }
      #footer .footerMenuWrap ul li a {
        font-size: 13px;
        color: #262228; }
    @media all and (min-width: 751px) {
      #footer .footerMenuWrap {
        padding-top: 60px; }
        #footer .footerMenuWrap ul {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center; }
          #footer .footerMenuWrap ul li {
            height: auto; }
            #footer .footerMenuWrap ul li a {
              font-size: 15px;
              -webkit-transition: all 0.3s;
              -o-transition: all 0.3s;
              transition: all 0.3s;
              margin: 0 10px; }
              #footer .footerMenuWrap ul li a.hvr-underline-from-center:before {
                background-color: #262228; } }
  #footer .image {
    margin: 0 auto;
    width: 42%;
    max-width: 154px;
    height: auto; }
    @media all and (min-width: 751px) {
      #footer .image {
        width: 20.15%;
        max-width: 215px; } }
  #footer .address {
    font-size: 10px; }
    #footer .address dl dt, #footer .address dl dd {
      display: inline-block; }
    #footer .address dl dt {
      width: 40px; }
    #footer .address dl dd {
      text-align: left; }
    @media all and (min-width: 751px) {
      #footer .address {
        font-size: 14px;
        margin-top: 20px; } }
  #footer .copylight {
    font-size: 12px;
    text-align: center;
    color: #CCCFD1; }

/*****************************
  HOME
******************************/
#pageHome .titleWrap {
  text-align: center;
  color: #0375B4;
  margin-top: 60px;
  margin-bottom: 40px; }
  #pageHome .titleWrap .topTitle {
    font-weight: bold;
    font-size: 25px; }
  #pageHome .titleWrap .topTitleEng {
    font-size: 15px;
    line-height: 30px;
    letter-spacing: 2px; }
  @media all and (min-width: 751px) {
    #pageHome .titleWrap .topTitle {
      font-size: 40px; }
    #pageHome .titleWrap .topTitleEng {
      font-size: 20px; } }

#pageHome .buttonWrap {
  position: relative;
  width: 200px;
  height: 50px;
  margin-top: 25px;
  font-size: 16px; }
  #pageHome .buttonWrap a {
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
    padding: 0 15px;
    background: -webkit-gradient(linear, left top, left bottom, from(#62B8E8), to(#6EA0E2));
    background: -webkit-linear-gradient(#62B8E8, #6EA0E2);
    background: -o-linear-gradient(#62B8E8, #6EA0E2);
    background: linear-gradient(#62B8E8, #6EA0E2);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s; }
    #pageHome .buttonWrap a span {
      text-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); }
    #pageHome .buttonWrap a i {
      position: absolute;
      color: #fff;
      font-size: 16px;
      right: 20px;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      -webkit-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s; }
    #pageHome .buttonWrap a:hover {
      background: -webkit-gradient(linear, left top, left bottom, from(#E17A09), to(#C85C31));
      background: -webkit-linear-gradient(#E17A09, #C85C31);
      background: -o-linear-gradient(#E17A09, #C85C31);
      background: linear-gradient(#E17A09, #C85C31); }
      #pageHome .buttonWrap a:hover i {
        right: 15px; }

#pageHome .secTop {
  position: relative; }
  #pageHome .secTop .mainbg {
    position: relative;
    background: url(../images/top/main_sp.jpg);
    background-size: cover;
    background-position: center center;
    height: 60vh;
    top: 0;
    background: img;
      background-height: 100%; }
  #pageHome .secTop .logoWrap {
    position: absolute;
    top: 0;
    width: 100%;
    height: 50px; }
    #pageHome .secTop .logoWrap .logo {
      position: absolute;
      display: block;
      width: 118px;
      height: auto;
      top: 50%;
      left: 20px;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); }
  #pageHome .secTop .mainText {
    display: none;
    position: absolute;
    width: 90%;
    max-width: 800px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
  #pageHome .secTop .mainText1 {
    position: absolute;
    width: 57.33%;
    max-width: 637px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -8vw);
    -ms-transform: translate(-50%, -8vw);
    transform: translate(-50%, -8vw); }
  #pageHome .secTop .mainText2 {
    position: absolute;
    width: 73%;
    max-width: 770px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, 8vw);
    -ms-transform: translate(-50%, 8vw);
    transform: translate(-50%, 8vw); }
  @media all and (min-width: 751px) {
    #pageHome .secTop .mainbg {
      background: url(../images/top/main_pc.jpg);
      background-size: cover;
      background-position: center center;
      height: 60vw;
      max-height: 680px; }
    #pageHome .secTop .logoWrap {
      height: 140px; }
      #pageHome .secTop .logoWrap .logo {
        width: 170px; }
    #pageHome .secTop .mainText {
      width: 62.5%; }
    #pageHome .secTop .mainText1 {
      width: 38%;
      right: 50%;
      left: auto;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); }
    #pageHome .secTop .mainText2 {
      width: 48%;
      left: 50%;
      -webkit-transform: translate(-40%, 8vw);
      -ms-transform: translate(-40%, 8vw);
      transform: translate(-40%, 8vw); } }
  @media screen and (min-width: 930px) {
    #pageHome .secTop .logoWrap .logo {
      width: 237px;
      left: 50px; } }

#pageHome .secIntro {
  padding-top: 50px; }
  #pageHome .secIntro ul.asagaku {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
    #pageHome .secIntro ul.asagaku > li {
      width: 100%;
      margin-bottom: 30px; }
      #pageHome .secIntro ul.asagaku > li:nth-child(2) .text ul.agInfo li:nth-child(1) {
        width: 70%;
        max-width: 200px; }
      #pageHome .secIntro ul.asagaku > li:nth-child(2) .text ul.agInfo li:nth-child(2) {
        width: 30%; }
      #pageHome .secIntro ul.asagaku > li .agWrap a {
        display: block;
        width: 100%;
        height: 100%;
        background-color: #fff;
        border: 10px solid #F5F5F5;
        -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
        box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
      #pageHome .secIntro ul.asagaku > li .image {
        text-align: center;
        padding: 0 10px 20px; }
        #pageHome .secIntro ul.asagaku > li .image img {
          max-width: 150px; }
      #pageHome .secIntro ul.asagaku > li .text {
        overflow: hidden;
        font-weight: bold;
        padding: 20px 10px;
        color: #262228; }
        #pageHome .secIntro ul.asagaku > li .text ul.agInfo {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: justify;
          -ms-flex-pack: justify;
          justify-content: space-between; }
          #pageHome .secIntro ul.asagaku > li .text ul.agInfo > li {
            width: 50%; }
        #pageHome .secIntro ul.asagaku > li .text .agCate {
          display: inline-block;
          background: #E6EEF0;
          font-size: 14px;
          font-weight: bold;
          padding: 5px 30px 5px 10px; }
        #pageHome .secIntro ul.asagaku > li .text .agDate {
          color: #0375B4;
          font-weight: bold;
          font-size: 15px;
          line-height: 30px;
          text-align: right; }
        #pageHome .secIntro ul.asagaku > li .text .agText {
          margin-top: 10px;
          font-weight: bold;
          font-size: 15px; }
  #pageHome .secIntro .bar {
    border-bottom: 1px solid #A1D1EB;
    margin-bottom: 40px; }
  #pageHome .secIntro .introText {
    font-size: 14px;
    font-weight: bold;
    line-height: 30px;
    color: #0375B4; }
  @media all and (min-width: 751px) {
    #pageHome .secIntro {
      padding-top: 120px; }
      #pageHome .secIntro ul.asagaku {
        max-width: 1000px;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
        #pageHome .secIntro ul.asagaku > li {
          width: 48%; }
          #pageHome .secIntro ul.asagaku > li:nth-child(odd) {
            margin-right: 4%; }
          #pageHome .secIntro ul.asagaku > li .agWrap a {
            overflow: hidden;
            -webkit-transition: all 0.3s;
            -o-transition: all 0.3s;
            transition: all 0.3s; }
            #pageHome .secIntro ul.asagaku > li .agWrap a:hover {
              border-color: #0375B4; }
            #pageHome .secIntro ul.asagaku > li .agWrap a .image {
              padding: 0px 20px 20px; }
            #pageHome .secIntro ul.asagaku > li .agWrap a .text {
              padding: 20px; }
      #pageHome .secIntro .bar {
        margin-bottom: 80px;
        margin-top: 80px; }
      #pageHome .secIntro .introText {
        text-align: center;
        font-size: 18px;
        line-height: 50px; } }
  @media all and (min-width: 1000px) {
    #pageHome .secIntro ul.asagaku {
      max-width: 1000px;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
      #pageHome .secIntro ul.asagaku > li {
        width: 48%; }
        #pageHome .secIntro ul.asagaku > li:nth-child(odd) {
          margin-right: 4%; }
        #pageHome .secIntro ul.asagaku > li .agWrap {
          height: 100%;
          -webkit-box-sizing: border-box;
          box-sizing: border-box; }
          #pageHome .secIntro ul.asagaku > li .agWrap a {
            overflow: hidden; }
            #pageHome .secIntro ul.asagaku > li .agWrap a .image {
              float: right;
              padding: 35px 20px;
              width: 33%;
              -webkit-box-sizing: border-box;
              box-sizing: border-box; }
            #pageHome .secIntro ul.asagaku > li .agWrap a .text {
              float: left;
              padding: 20px 0 20px 20px;
              width: 66%;
              -webkit-box-sizing: border-box;
              box-sizing: border-box; }
              #pageHome .secIntro ul.asagaku > li .agWrap a .text ul.agInfo li:nth-child(1) {
                width: calc(100% - 110px);
                max-width: 200px; }
              #pageHome .secIntro ul.asagaku > li .agWrap a .text ul.agInfo li:nth-child(2) {
                width: 100px; }
              #pageHome .secIntro ul.asagaku > li .agWrap a .text .agCate {
                padding: 5px 10px; }
              #pageHome .secIntro ul.asagaku > li .agWrap a .text .agDate {
                width: 100px; } }

#pageHome .secJobInfo ul.jobinfolist > li {
  width: 100%;
  margin-bottom: 20px; }
  #pageHome .secJobInfo ul.jobinfolist > li a {
    position: relative;
    display: block;
    height: 100%;
    width: 100%;
    -webkit-box-shadow: 10px -2px 20px rgba(0, 0, 0, 0.04);
    box-shadow: 10px -2px 20px rgba(0, 0, 0, 0.04); }
    #pageHome .secJobInfo ul.jobinfolist > li a .jobInfoTitle {
      position: absolute;
      font-weight: bold;
      font-size: 15px;
      color: #0375B4;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      left: 20px; }
      #pageHome .secJobInfo ul.jobinfolist > li a .jobInfoTitle i {
        margin-left: 20px; }

@media all and (min-width: 751px) {
  #pageHome .secJobInfo ul.jobinfolist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    #pageHome .secJobInfo ul.jobinfolist > li {
      width: 48%; }
      #pageHome .secJobInfo ul.jobinfolist > li a {
        border: 1px solid #fff;
        background-color: #fff;
        -webkit-transition: all 0.3s;
        -o-transition: all 0.3s;
        transition: all 0.3s; }
        #pageHome .secJobInfo ul.jobinfolist > li a .jobInfoTitle {
          font-size: 20px; }
          #pageHome .secJobInfo ul.jobinfolist > li a .jobInfoTitle i {
            -webkit-transition: all 0.3s;
            -o-transition: all 0.3s;
            transition: all 0.3s; }
        #pageHome .secJobInfo ul.jobinfolist > li a:hover {
          border: 1px solid #0375B4; }
          #pageHome .secJobInfo ul.jobinfolist > li a:hover .jobInfoTitle i {
            margin-left: 25px; } }

#pageHome .secCorp, #pageHome .secMessage {
  margin-top: 60px; }
  #pageHome .secCorp .bigButtonWrap, #pageHome .secMessage .bigButtonWrap {
    position: relative;
    width: 100%;
    margin: 50px auto;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    #pageHome .secCorp .bigButtonWrap:before, #pageHome .secMessage .bigButtonWrap:before {
      display: block;
      position: absolute;
      content: "";
      width: 87px;
      height: 87px;
      top: 0px;
      left: 0px;
      background-image: url(../images/top/bigbtn_lefttop.png);
      background-size: cover;
      z-index: 0; }
    #pageHome .secCorp .bigButtonWrap:after, #pageHome .secMessage .bigButtonWrap:after {
      display: block;
      position: absolute;
      content: "";
      width: 87px;
      height: 87px;
      right: 0px;
      bottom: 0px;
      background-image: url(../images/top/bigbtn_rightbottom.png);
      background-size: cover;
      z-index: 0; }
    #pageHome .secCorp .bigButtonWrap .bigButton, #pageHome .secMessage .bigButtonWrap .bigButton {
      position: relative;
      width: 100%;
      -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
      box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
      background: #fff;
      padding: 10px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      z-index: 1; }
    #pageHome .secCorp .bigButtonWrap a, #pageHome .secMessage .bigButtonWrap a {
      display: block;
      position: relative;
      width: 100%;
      height: 100%;
      text-align: center;
      border: 1px solid #98D1F0;
      position: relative;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      #pageHome .secCorp .bigButtonWrap a .btnTitleWrap, #pageHome .secMessage .bigButtonWrap a .btnTitleWrap {
        padding: 25px; }
        #pageHome .secCorp .bigButtonWrap a .btnTitleWrap .topTitle, #pageHome .secMessage .bigButtonWrap a .btnTitleWrap .topTitle {
          font-size: 21px;
          text-align: center;
          font-weight: bold;
          line-height: 25px; }
        #pageHome .secCorp .bigButtonWrap a .btnTitleWrap .topTitleEng, #pageHome .secMessage .bigButtonWrap a .btnTitleWrap .topTitleEng {
          font-size: 10px;
          line-height: 15px;
          letter-spacing: 2px;
          text-align: center; }
        #pageHome .secCorp .bigButtonWrap a .btnTitleWrap .arrow, #pageHome .secMessage .bigButtonWrap a .btnTitleWrap .arrow {
          position: absolute;
          left: calc(50% + 70px);
          top: 50%;
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          transform: translateY(-50%);
          font-size: 21px; }
  @media all and (min-width: 751px) {
    #pageHome .secCorp .bigButtonWrap, #pageHome .secMessage .bigButtonWrap {
      padding: 20px; }
      #pageHome .secCorp .bigButtonWrap:before, #pageHome .secCorp .bigButtonWrap:after, #pageHome .secMessage .bigButtonWrap:before, #pageHome .secMessage .bigButtonWrap:after {
        -webkit-transition: all 0.3s;
        -o-transition: all 0.3s;
        transition: all 0.3s; }
      #pageHome .secCorp .bigButtonWrap:hover:before, #pageHome .secMessage .bigButtonWrap:hover:before {
        left: 20px;
        top: 20px; }
      #pageHome .secCorp .bigButtonWrap:hover:after, #pageHome .secMessage .bigButtonWrap:hover:after {
        right: 20px;
        bottom: 20px; }
      #pageHome .secCorp .bigButtonWrap a .btnTitleWrap, #pageHome .secMessage .bigButtonWrap a .btnTitleWrap {
        padding: 50px; }
        #pageHome .secCorp .bigButtonWrap a .btnTitleWrap .topTitle, #pageHome .secMessage .bigButtonWrap a .btnTitleWrap .topTitle {
          font-size: 30px;
          line-height: 35px; }
        #pageHome .secCorp .bigButtonWrap a .btnTitleWrap .topTitleEng, #pageHome .secMessage .bigButtonWrap a .btnTitleWrap .topTitleEng {
          font-size: 17px;
          line-height: 20px; }
        #pageHome .secCorp .bigButtonWrap a .btnTitleWrap .arrow, #pageHome .secMessage .bigButtonWrap a .btnTitleWrap .arrow {
          position: absolute;
          left: calc(50% + 100px);
          font-size: 25px;
          -webkit-transition: all 0.3s;
          -o-transition: all 0.3s;
          transition: all 0.3s; }
      #pageHome .secCorp .bigButtonWrap a:hover .arrow, #pageHome .secMessage .bigButtonWrap a:hover .arrow {
        left: calc(50% + 105px); } }

#pageHome .secMessage .bigButtonWrap a .btnTitleWrap .arrow {
  left: calc(50% + 90px); }

@media all and (min-width: 751px) {
  #pageHome .secMessage .bigButtonWrap a .btnTitleWrap .arrow {
    left: calc(50% + 135px); }
  #pageHome .secMessage .bigButtonWrap a:hover .arrow {
    left: calc(50% + 140px); } }

#pageHome .secInterview .textWrap, #pageHome .secData .textWrap {
  position: relative;
  margin-top: -50px; }

#pageHome .secInterview .text, #pageHome .secData .text {
  background: #fff;
  border: 10px solid #F5F5F5;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.11);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.11);
  min-height: 222px;
  padding: 30px 20px;
  font-size: 12px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  #pageHome .secInterview .text .textBody, #pageHome .secData .text .textBody {
    line-height: 25px; }

#pageHome .secInterview .image, #pageHome .secData .image {
  height: 71.2vw;
  max-height: 480px;
  width: 100%;
  background: url(../images/top/interview_sp.jpg);
  background-size: cover;
  background-position: center top; }

@media all and (min-width: 751px) {
  #pageHome .secInterview .textWrap, #pageHome .secData .textWrap {
    margin-top: -50px; }
  #pageHome .secInterview .text, #pageHome .secData .text {
    width: 100%;
    max-width: 700px;
    padding: 50px 30px 50px 40px;
    font-size: 15px; }
    #pageHome .secInterview .text .textBody, #pageHome .secData .text .textBody {
      line-height: 32px; }
  #pageHome .secInterview .image, #pageHome .secData .image {
    height: 25vw;
    background: url(../images/top/interview_pc.jpg);
    background-size: cover;
    background-position: center top; } }

@media all and (min-width: 1200px) {
  #pageHome .secInterview .textWrap, #pageHome .secData .textWrap {
    margin-top: -120px; } }

#pageHome .secData .image {
  position: relative;
  overflow: hidden;
  height: 71.2vw;
  max-height: 480px;
  width: 100%;
  background: url(../images/top/data_bg.jpg);
  background-size: cover;
  background-position: center center; }
  #pageHome .secData .image .imageWrap {
    width: 100%;
    max-width: 594px;
    position: absolute;
    padding: 0 40px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }

@media all and (min-width: 751px) {
  #pageHome .secData .textWrap {
    margin-top: -50px; }
  #pageHome .secData .text {
    margin-left: auto; }
  #pageHome .secData .image {
    height: 25vw; }
    #pageHome .secData .image .imageWrap {
      width: 30%; }
      #pageHome .secData .image .imageWrap:before, #pageHome .secData .image .imageWrap:after {
        display: block;
        position: absolute;
        content: "";
        height: 10px;
        width: 35vw;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        border-top: 2px solid #0375B4;
        border-bottom: 2px solid #0375B4; }
      #pageHome .secData .image .imageWrap:before {
        left: -35vw; }
      #pageHome .secData .image .imageWrap:after {
        left: 100%; } }

@media screen and (min-width: 1980px) {
  #pageHome .secData .image .imageWrap:before, #pageHome .secData .image .imageWrap:after {
    width: calc(50vw - 297px); }
  #pageHome .secData .image .imageWrap:before {
    left: calc(-50vw + 297px); } }

/*****************************
  下層共通
******************************/
.underSite #loader-bg {
  position: relative;
  background: #0375B4;
  color: #fff;
  text-align: center;
  width: 100%;
  height: 100%;
  line-height: 100%;
  margin: 0 auto;
  overflow: hidden;
  z-index: 1000; }
  .underSite #loader-bg .loader {
    visibility: hidden;
    width: 175px;
    height: 26px;
    left: calc(50% - 87.5px);
    top: calc(50% - 13px);
    display: block;
    z-index: 1001;
    position: relative; }
  .underSite #loader-bg .loadingText {
    position: absolute;
    text-align: center;
    width: 100%;
    top: calc( 50% + 40px);
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.9em; }

.underSite .secTop {
  position: relative;
  color: #fff;
  height: 200px;
  background-image: url(../images/message/message_header_sp.jpg);
  background-position: center;
  background-size: cover;
  /*
    .image{
      position: relative;
      top:0;
    }
    */ }
  @media all and (min-width: 751px) {
    .underSite .secTop {
      background-image: url(../images/message/message_header_pc.jpg);
      height: 435px; } }
  .underSite .secTop .logoWrap {
    position: absolute;
    top: 0;
    width: 100%;
    height: 50px; }
    .underSite .secTop .logoWrap .logo {
      position: absolute;
      display: block;
      width: 118px;
      height: auto;
      top: 50%;
      left: 20px;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); }
    @media all and (min-width: 751px) {
      .underSite .secTop .logoWrap {
        height: 140px; }
        .underSite .secTop .logoWrap .logo {
          width: 170px; } }
    @media screen and (min-width: 930px) {
      .underSite .secTop .logoWrap .logo {
        width: 237px;
        left: 50px; } }
  .underSite .secTop .titleTextWrap {
    position: absolute;
    width: 100%;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
  .underSite .secTop .bigTitle {
    font-size: 25px;
    font-weight: bold;
    text-align: center; }
  .underSite .secTop .bigTitleEng {
    font-size: 15px;
    letter-spacing: 2px;
    text-align: center; }
  @media all and (min-width: 751px) {
    .underSite .secTop .bigTitle {
      font-size: 40px; }
    .underSite .secTop .bigTitleEng {
      font-size: 20px; } }

#pageData .secTop {
  background-image: url(../images/common/common_head_sp@2x.jpg);
  background-position: center;
  background-size: cover; }
  @media all and (min-width: 751px) {
    #pageData .secTop {
      background-image: url(../images/common/common_head@2x.jpg); } }

#pageJobinfo .secTop {
  background-image: url(../images/common/common_head_sp@2x.jpg);
  background-position: center;
  background-size: cover; }
  @media all and (min-width: 751px) {
    #pageJobinfo .secTop {
      background-image: url(../images/common/common_head@2x.jpg); } }

#pageCompany .secTop {
  background-image: url(../images/common/common_head_sp@2x.jpg);
  background-position: center;
  background-size: cover; }
  @media all and (min-width: 751px) {
    #pageCompany .secTop {
      background-image: url(../images/common/common_head@2x.jpg); } }

#pageInterview .secTop {
  background-image: url(../images/common/common_head_sp@2x.jpg);
  background-position: center;
  background-size: cover; }
  @media all and (min-width: 751px) {
    #pageInterview .secTop {
      background-image: url(../images/common/common_head@2x.jpg); } }

#pageMessage .secTop {
  background-image: url(../images/common/common_head_sp@2x.jpg);
  background-position: center;
  background-size: cover; }
  @media all and (min-width: 751px) {
    #pageMessage .secTop {
      background-image: url(../images/common/common_head@2x.jpg); } }

/*****************************
  メッセージ
******************************/
#pageMessage .secMsg {
  margin-top: 60px; }
  #pageMessage .secMsg .image {
    overflow: hidden;
    width: 100%; }
    #pageMessage .secMsg .image img {
      height: auto;
      width: 100%;
      display: block;
      position: relative;
      left: 50%;
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      transform: translateX(-50%); }
  #pageMessage .secMsg .msg {
    position: relative;
    margin: 30px 20px 0; }
    #pageMessage .secMsg .msg .textWrap {
      position: relative;
      background: #fff;
      -webkit-box-shadow: 3px 7px 12px rgba(0, 0, 0, 0.11);
      box-shadow: 3px 7px 12px rgba(0, 0, 0, 0.11);
      top: 0;
      padding: 0 20px 30px; }
      #pageMessage .secMsg .msg .textWrap .text {
        border-top: 2px solid #8BBFDD;
        padding-top: 30px;
        padding-bottom: 30px;
        margin-bottom: 20px;
        border-bottom: 2px solid #EFEFEF; }
      #pageMessage .secMsg .msg .textWrap .pName {
        text-align: right; }
  @media all and (min-width: 751px) {
    #pageMessage .secMsg {
      margin-top: 100px; }
      #pageMessage .secMsg .inner.narrow {
        max-width: 960px; }
      #pageMessage .secMsg .image {
        height: 500px;
        width: 100%; }
        #pageMessage .secMsg .image img {
          height: 100%;
          width: auto; }
      #pageMessage .secMsg .msg {
        margin: 40px 40px 0px; }
        #pageMessage .secMsg .msg .textWrap {
          padding: 0 70px 70px; }
          #pageMessage .secMsg .msg .textWrap .text {
            padding-top: 70px;
            margin-bottom: 30px; } }

/*****************************
  データで見るテクノネット
******************************/
#pageData .secData {
  margin-top: 60px; }
  #pageData .secData ul.datalist li {
    width: 100%;
    margin-bottom: 40px; }
    #pageData .secData ul.datalist li .dataWrap {
      background: #fff;
      -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
      box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
      padding: 25px 15px;
      width: 100%;
      height: 100%;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      #pageData .secData ul.datalist li .dataWrap .dTitle {
        color: #0375B4;
        font-size: 20px;
        font-weight: bold;
        text-align: center; }
      #pageData .secData ul.datalist li .dataWrap .dText {
        font-size: 12px;
        line-height: 25px; }
        #pageData .secData ul.datalist li .dataWrap .dText em {
          color: #0375B4; }
  @media all and (min-width: 751px) {
    #pageData .secData {
      margin-top: 100px; }
      #pageData .secData ul.datalist {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between; }
        #pageData .secData ul.datalist li {
          width: 48%; }
          #pageData .secData ul.datalist li .dataWrap {
            padding: 50px 30px; }
            #pageData .secData ul.datalist li .dataWrap .dTitle {
              font-size: 28px; }
            #pageData .secData ul.datalist li .dataWrap .dText {
              font-size: 15px;
              line-height: 32px; } }
  @media all and (min-width: 1000px) {
    #pageData .secData ul.datalist li {
      width: 32%; }
      #pageData .secData ul.datalist li:nth-child(n + 4) {
        width: 24%; } }

/*****************************
  採用情報
******************************/
#pageJobinfo .secData {
  padding-top: 60px; }
  #pageJobinfo .secData .jobBigTitle {
    font-size: 20px;
    line-height: 30px;
    font-weight: bold;
    color: #0375B4;
    text-align: center; }
  #pageJobinfo .secData ul.joblist {
    position: relative;
    margin-top: 30px;
    padding-bottom: 30px;
    background: #fff;
    -webkit-box-shadow: 3px 7px 12px rgba(0, 0, 0, 0.11);
    box-shadow: 3px 7px 12px rgba(0, 0, 0, 0.11); }
    #pageJobinfo .secData ul.joblist:before {
      position: absolute;
      content: "";
      width: calc(100% - 40px);
      height: 2px;
      top: -1px;
      left: 20px;
      background-color: #8BBFDD; }
    #pageJobinfo .secData ul.joblist > li {
      padding: 20px;
      border-bottom: 1px solid #E0E0E0; }
      #pageJobinfo .secData ul.joblist > li:last-child {
        border-bottom: none; }
  #pageJobinfo .secData .subTitle {
    display: block;
    font-size: 15px;
    font-weight: bold;
    line-height: 30px; }
  #pageJobinfo .secData .minTitle {
    font-size: 14px;
    display: block;
    margin-top: 1em; }
    #pageJobinfo .secData .minTitle i {
      color: #A1D1EB;
      margin-right: 1em; }
    #pageJobinfo .secData .minTitle.noMgn {
      margin-top: 0; }
  #pageJobinfo .secData .min {
    font-size: 12px;
    display: block;
    margin-top: 1em; }
    #pageJobinfo .secData .min.addleftBar {
      margin-left: 10px;
      border-left: 1px solid #EFEFEF;
      padding-left: 10px; }
    #pageJobinfo .secData .min.addIdt {
      text-indent: -2em;
      padding-left: 2em; }
    #pageJobinfo .secData .min em {
      color: #A1D1EB;
      margin-right: 1em; }
  #pageJobinfo .secData .btnAg {
    margin: 20px auto 0;
    max-width: 150px;
    display: block; }
  @media all and (min-width: 751px) {
    #pageJobinfo .secData {
      padding-top: 80px; }
      #pageJobinfo .secData .jobBigTitle {
        font-size: 32px;
        line-height: 41px;
        letter-spacing: 3px; }
      #pageJobinfo .secData ul.joblist {
        margin-top: 60px; }
        #pageJobinfo .secData ul.joblist:before {
          width: calc(100% - 110px);
          left: 55px; }
        #pageJobinfo .secData ul.joblist > li {
          padding: 45px 55px;
          line-height: 25px; }
      #pageJobinfo .secData ul.detail {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between; }
        #pageJobinfo .secData ul.detail > li:nth-child(1) {
          width: 150px; }
        #pageJobinfo .secData ul.detail > li:nth-child(2) {
          width: calc(100% - 160px); }
      #pageJobinfo .secData .subTitle {
        font-size: 17px; }
      #pageJobinfo .secData .minTitle {
        font-size: 15px; }
        #pageJobinfo .secData .minTitle.pc_noMgn {
          margin-top: 0; }
        #pageJobinfo .secData .minTitle i {
          font-size: 24px;
          margin-left: -0.5em;
          margin-right: 15px; }
      #pageJobinfo .secData .min {
        font-size: 13px;
        line-height: 22px; }
        #pageJobinfo .secData .min em {
          margin-right: 15px; } }

/*****************************
  会社情報
******************************/
#pageCompany .secCorp {
  margin-top: 60px; }
  @media all and (min-width: 751px) {
    #pageCompany .secCorp {
      margin-top: 100px; } }
  #pageCompany .secCorp .corpWrap {
    background: #fff;
    -webkit-box-shadow: 3px 7px 12px rgba(0, 0, 0, 0.11);
    box-shadow: 3px 7px 12px rgba(0, 0, 0, 0.11);
    position: relative; }
    #pageCompany .secCorp .corpWrap:before {
      position: absolute;
      content: "";
      width: calc(100% - 40px);
      height: 2px;
      top: -1px;
      left: 20px;
      background-color: #8BBFDD; }
    #pageCompany .secCorp .corpWrap dl {
      padding: 20px;
      border-bottom: 1px solid #E0E0E0; }
      #pageCompany .secCorp .corpWrap dl:last-child {
        border-bottom: none; }
      #pageCompany .secCorp .corpWrap dl dt {
        font-size: 14px;
        font-weight: bold;
        line-height: 40px; }
      #pageCompany .secCorp .corpWrap dl dd {
        font-size: 13px; }
        #pageCompany .secCorp .corpWrap dl dd.min {
          font-size: 11px; }
    @media all and (min-width: 751px) {
      #pageCompany .secCorp .corpWrap:before {
        width: calc(100% - 110px);
        left: 55px; }
      #pageCompany .secCorp .corpWrap dl {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding: 40px 60px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
        #pageCompany .secCorp .corpWrap dl dt {
          font-size: 17px;
          width: 20%;
          min-width: 100px;
          max-width: 170px;
          line-height: 1em;
          -webkit-box-sizing: border-box;
          box-sizing: border-box; }
        #pageCompany .secCorp .corpWrap dl dd {
          font-size: 15px;
          width: 78%;
          -webkit-box-sizing: border-box;
          box-sizing: border-box; }
          #pageCompany .secCorp .corpWrap dl dd.min {
            font-size: 13px; } }

#pageCompany .secMovie {
  margin-top: 40px; }
  @media all and (min-width: 751px) {
    #pageCompany .secMovie {
      margin-top: 50px; } }
  #pageCompany .secMovie .videoWrap {
    position: relative;
    width: 100%;
    padding-top: 56%;
    -webkit-box-shadow: 3px 7px 12px rgba(0, 0, 0, 0.11);
    box-shadow: 3px 7px 12px rgba(0, 0, 0, 0.11); }
    #pageCompany .secMovie .videoWrap .video {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0; }

#pageCompany .secBP {
  margin-top: 40px; }
  #pageCompany .secBP .bplistWrap {
    position: relative;
    background: #fff;
    -webkit-box-shadow: 3px 7px 12px rgba(0, 0, 0, 0.11);
    box-shadow: 3px 7px 12px rgba(0, 0, 0, 0.11);
    padding: 0 20px 20px; }
    #pageCompany .secBP .bplistWrap:before {
      position: absolute;
      content: "";
      width: calc(100% - 40px);
      height: 2px;
      top: -1px;
      left: 20px;
      background-color: #8BBFDD; }
    #pageCompany .secBP .bplistWrap .title {
      border-bottom: 2px;
      border-bottom: 1px solid #E0E0E0;
      padding: 20px;
      margin: 0 -20px; }
    #pageCompany .secBP .bplistWrap ul {
      width: 100%;
      padding-top: 20px; }
      #pageCompany .secBP .bplistWrap ul li {
        width: 100%;
        line-height: 25px;
        font-size: 12px; }
        #pageCompany .secBP .bplistWrap ul li:last-child {
          color: #0375B4; }
  @media all and (min-width: 751px) {
    #pageCompany .secBP {
      margin-top: 50px; }
      #pageCompany .secBP .bplistWrap {
        padding: 0 60px 40px; }
        #pageCompany .secBP .bplistWrap:before {
          width: calc(100% - 110px);
          left: 55px; }
        #pageCompany .secBP .bplistWrap .title {
          padding: 40px 60px;
          margin: 0 -60px; }
        #pageCompany .secBP .bplistWrap ul {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          -webkit-box-pack: justify;
          -ms-flex-pack: justify;
          justify-content: space-between;
          padding-top: 40px; }
          #pageCompany .secBP .bplistWrap ul li {
            width: 48%;
            line-height: 18px;
            font-size: 14px;
            height: 40px; } }

/*****************************
  インタビュー
******************************/
#pageInterview .secInit {
  padding-top: 60px; }
  #pageInterview .secInit .text {
    font-size: 14px;
    font-weight: bold;
    line-height: 30px;
    color: #0375B4;
    text-align: justify; }
  #pageInterview .secInit > .image {
    margin-top: 40px;
    height: 71.2vw;
    max-height: 480px;
    width: 100%;
    background: url(../images/top/interview_sp.jpg);
    background-size: cover;
    background-position: center top; }
  #pageInterview .secInit ul.memberlist {
    position: relative;
    margin-top: -50px;
    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; }
    #pageInterview .secInit ul.memberlist li {
      width: 47%;
      margin-bottom: 20px;
      background-color: #fff;
      -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
      box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16); }
      #pageInterview .secInit ul.memberlist li:nth-child(1) {
        border-top: 2px solid #B77DBC; }
      #pageInterview .secInit ul.memberlist li:nth-child(2) {
        border-top: 2px solid #FFA921; }
      #pageInterview .secInit ul.memberlist li:nth-child(3) {
        border-top: 2px solid #007849; }
      #pageInterview .secInit ul.memberlist li:nth-child(4) {
        border-top: 2px solid #EB4848; }
      #pageInterview .secInit ul.memberlist li:nth-child(5) {
        border-top: 2px solid #0375B4; }
      #pageInterview .secInit ul.memberlist li .memberWrap {
        padding: 20px;
        text-align: center; }
        #pageInterview .secInit ul.memberlist li .memberWrap .image {
          width: 60%;
          margin: 0 auto; }
        #pageInterview .secInit ul.memberlist li .memberWrap .psnDept, #pageInterview .secInit ul.memberlist li .memberWrap .psnJob {
          font-size: 12px;
          font-weight: bold;
          line-height: 22px; }
        #pageInterview .secInit ul.memberlist li .memberWrap .psnSeniority {
          font-size: 10px; }
  @media all and (min-width: 751px) {
    #pageInterview .secInit {
      padding-top: 60px; }
      #pageInterview .secInit .text {
        font-size: 18px;
        text-align: center;
        line-height: 60px; }
      #pageInterview .secInit > .image {
        margin-top: 60px;
        height: 25vw;
        background: url(../images/top/interview_pc.jpg);
        background-size: cover;
        background-position: center top; }
      #pageInterview .secInit ul.memberlist {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }
        #pageInterview .secInit ul.memberlist li {
          width: 18%; }
          #pageInterview .secInit ul.memberlist li .memberWrap {
            padding: 25px; }
            #pageInterview .secInit ul.memberlist li .memberWrap .psnDept, #pageInterview .secInit ul.memberlist li .memberWrap .psnJob {
              font-size: 15px; }
            #pageInterview .secInit ul.memberlist li .memberWrap .psnSeniority {
              font-size: 13px; } }

#pageInterview .secQA ul.qlist {
  padding-top: 50px; }
  #pageInterview .secQA ul.qlist li {
    position: relative; }
    #pageInterview .secQA ul.qlist li.open .qaBody {
      display: block; }
  #pageInterview .secQA ul.qlist .qaTitle {
    position: relative;
    margin-bottom: 2px;
    z-index: 2; }
    #pageInterview .secQA ul.qlist .qaTitle a {
      display: block;
      width: calc(100% - 80px);
      height: 50px;
      background: #0375B4;
      color: white;
      margin: 0 auto;
      padding: 0 20px; }
      #pageInterview .secQA ul.qlist .qaTitle a .qNo {
        font-size: 15px;
        font-weight: bold;
        line-height: 50px; }
      #pageInterview .secQA ul.qlist .qaTitle a .qText {
        font-size: 13px;
        font-weight: bold;
        line-height: 50px; }
  #pageInterview .secQA ul.qlist .qaBody {
    position: relative;
    display: none;
    margin-top: -20px;
    padding: 50px 10px 20px;
    background: url(../images/interview/qabody_bg.png);
    background-size: 545px 545px;
    border: 10px solid #EFEFEF;
    z-index: 1;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    #pageInterview .secQA ul.qlist .qaBody:before {
      z-index: 0;
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: rgba(255, 255, 255, 0.8); }
    #pageInterview .secQA ul.qlist .qaBody.open {
      display: block; }
  #pageInterview .secQA ul.qlist .message {
    padding: 5px 5px 15px;
    overflow: hidden; }
    #pageInterview .secQA ul.qlist .message .base {
      float: left;
      display: inline-block;
      position: relative;
      margin: 0 0 0 62px;
      padding: 15px;
      max-width: 410px;
      font-size: 12px;
      border-radius: 15px;
      -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.14);
      box-shadow: 0 3px 6px rgba(0, 0, 0, 0.14); }
      #pageInterview .secQA ul.qlist .message .base:before {
        display: block;
        content: "";
        position: absolute;
        top: 10px;
        left: -62px;
        width: 32px;
        height: 48px;
        background-position: left top;
        background-repeat: no-repeat;
        background-size: 32px 48px; }
      #pageInterview .secQA ul.qlist .message .base:after {
        display: block;
        content: "";
        position: absolute;
        top: 12px;
        left: -20px;
        width: 24px;
        height: 22px;
        background-position: left top;
        background-repeat: no-repeat;
        background-size: 24px 22px; }
    #pageInterview .secQA ul.qlist .message.blue .base {
      float: right;
      margin: 0 62px 0 0;
      background: #CEECF7; }
      #pageInterview .secQA ul.qlist .message.blue .base:before {
        background-image: url(../images/interview/emp_blue_min.png);
        left: auto;
        right: -62px; }
      #pageInterview .secQA ul.qlist .message.blue .base:after {
        background-image: url(../images/interview/bln_blue.png);
        left: auto;
        right: -20px; }
    #pageInterview .secQA ul.qlist .message.yellow .base {
      background: #FFDAA0; }
      #pageInterview .secQA ul.qlist .message.yellow .base:before {
        background-image: url(../images/interview/emp_yellow_min.png); }
      #pageInterview .secQA ul.qlist .message.yellow .base:after {
        background-image: url(../images/interview/bln_yellow.png); }
    #pageInterview .secQA ul.qlist .message.red .base {
      background: #EDA995; }
      #pageInterview .secQA ul.qlist .message.red .base:before {
        background-image: url(../images/interview/emp_red_min.png); }
      #pageInterview .secQA ul.qlist .message.red .base:after {
        background-image: url(../images/interview/bln_red.png); }
    #pageInterview .secQA ul.qlist .message.purple .base {
      background: #F8D7FA; }
      #pageInterview .secQA ul.qlist .message.purple .base:before {
        background-image: url(../images/interview/emp_purple_min.png); }
      #pageInterview .secQA ul.qlist .message.purple .base:after {
        background-image: url(../images/interview/bln_purple.png); }
    #pageInterview .secQA ul.qlist .message.green .base {
      background: #B6E6D3; }
      #pageInterview .secQA ul.qlist .message.green .base:before {
        background-image: url(../images/interview/emp_green_min.png); }
      #pageInterview .secQA ul.qlist .message.green .base:after {
        background-image: url(../images/interview/bln_green.png); }

@media all and (min-width: 751px) {
  #pageInterview .secQA ul.qlist {
    padding-top: 100px; }
    #pageInterview .secQA ul.qlist .qaTitle a {
      margin: 0 100px;
      width: calc(100% - 200px);
      height: 135px;
      padding: 0 80px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      -webkit-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s; }
      #pageInterview .secQA ul.qlist .qaTitle a:hover {
        background: #C75C31; }
      #pageInterview .secQA ul.qlist .qaTitle a .qNo {
        font-size: 40px;
        margin-right: 30px;
        line-height: 135px; }
      #pageInterview .secQA ul.qlist .qaTitle a .qText {
        display: inline-block;
        width: calc(100% - 90px);
        font-size: 22px;
        line-height: 1.2em; }
    #pageInterview .secQA ul.qlist .qaBody {
      margin-top: -65px;
      padding: 135px 90px 70px; }
    #pageInterview .secQA ul.qlist .message {
      padding-bottom: 30px; }
      #pageInterview .secQA ul.qlist .message .base {
        margin-left: 130px;
        padding: 30px;
        font-size: 14px;
        line-height: 28px;
        border-radius: 20px; }
        #pageInterview .secQA ul.qlist .message .base:before {
          width: 80px;
          height: 117px;
          left: -130px;
          top: 0;
          background-size: 80px 117px; }
        #pageInterview .secQA ul.qlist .message .base:after {
          top: 19px;
          width: 31px;
          height: 35px;
          background-size: 31px 35px; }
      #pageInterview .secQA ul.qlist .message.blue .base {
        margin: 0 130px 0 0; }
        #pageInterview .secQA ul.qlist .message.blue .base:before {
          right: -130px; } }

.slide_mv_text {
  position: absolute;
  -webkit-transition: all 1.8s cubic-bezier(1, -0.01, 0.39, 0.98);
  -o-transition: all 1.8s cubic-bezier(1, -0.01, 0.39, 0.98);
  transition: all 1.8s cubic-bezier(1, -0.01, 0.39, 0.98); }

.slide_in_1 {
  position: absolute;
  top: 50%;
  right: 50%;
  -webkit-transform: translate(50%, -50%);
  -ms-transform: translate(50%, -50%);
  transform: translate(50%, -50%);
  width: 80%; }
  @media all and (min-width: 751px) {
    .slide_in_1 {
      top: 40%;
      right: 100%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      width: 50%;
      max-width: 550px; }
      .slide_in_1.slide {
        right: 25%; } }

.slide_in_2 {
  position: absolute;
  top: 60%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 80%; }
  @media all and (min-width: 751px) {
    .slide_in_2 {
      top: 60%;
      left: 160%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      width: 60%;
      max-width: 737px; }
      .slide_in_2.slide {
        left: 55%; } }

#privacy_wrap .corpWrap {
  padding: 20px 20px 20px 20px; }
  @media all and (min-width: 751px) {
    #privacy_wrap .corpWrap {
      padding: 50px 50px 100px 50px; } }

#privacy_wrap h2 {
  font-size: 1.4em;
  margin-bottom: 20px;
  text-align: center; }

#privacy_wrap h3 {
  margin-top: 30px;
  margin-bottom: 20px;
  font-size: 1.2em; }
  @media all and (min-width: 751px) {
    #privacy_wrap h3 {
      margin-top: 60px; } }

#privacy_wrap .text {
  font-size: 0.9em;
  margin-bottom: 10px; }

#privacy_wrap ul {
  margin-bottom: 20px; }
  #privacy_wrap ul li {
    padding-left: -2em;
    text-indent: 2em; }

.meta {
  margin-top: 30px;
  text-align: right; }
  @media all and (min-width: 751px) {
    .meta {
      margin-top: 80px; } }

.small_tx {
  text-align: left;
  margin-bottom: 5px;
  font-size: 0.9em;
  color: #86a9b3; }
