@charset "UTF-8";

/* ---------------------------------------------------------
config
--------------------------------------------------------- */
@import url("https://fonts.googleapis.com/css?family=Roboto:400,500,700");
@import url("https://fonts.googleapis.com/css?family=Oswald:400,500,600,700&display=swap");
@import url("https://fonts.googleapis.com/css?family=Montserrat:400,500,600,700&display=swap");
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700,900");

@media screen and (max-width: 980px) {
  [data-sc-pc] {
    display: none !important; } }

@media print, screen and (min-width: 981px) {
  [data-sc-sp] {
    display: none !important; } }


/* ---------------------------------------------------------
reset
--------------------------------------------------------- */
html {
  font-family: Roboto,"Noto Sans JP","游ゴシック","游ゴシック体","Yu Gothic",YuGothic,sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  font-size: 100px; }
  @media print, screen and (min-width: 1440px) and (max-width: 1599px) {
    html {
      font-size: 90px; } }
  @media print, screen and (min-width: 1366px) and (max-width: 1439px) {
    html {
      font-size: 85px; } }
  @media print, screen and (min-width: 1280px) and (max-width: 1365px) {
    html {
      font-size: 80px; } }
  @media print, screen and (min-width: 1200px) and (max-width: 1279px) {
    html {
      font-size: 75px; } }
  @media print, screen and (min-width: 1120px) and (max-width: 1199px) {
    html {
      font-size: 70px; } }
  @media print, screen and (min-width: 981px) and (max-width: 1119px) {
    html {
      font-size: 64px; } }
  @media screen and (min-width: 376px) and (max-width: 980px) {
    html {
      font-size: 110px; } }
  @media print, screen and (min-width: 981px) {
    html {
      font-feature-settings: "palt"; } }
  @media screen and (max-width: 980px) {
    html {
      line-height: 1.5; } }

body {
  line-height: 1;
  color: #333;
  font-size: 16px;
  letter-spacing: .02em; }
  @media screen and (max-width: 980px) {
    body {
      font-size: 13px; } }

body, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ol, ul, li, td, th, figure, input, select, button, optgroup, textarea {
  margin: 0;
  padding: 0; }

article, aside, footer, header, main, nav, section, figcaption, figure {
  display: block; }

img {
  -ms-interpolation-mode: bicubic;
  border-style: none;
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

svg:not(:root) {
  overflow: hidden; }

hr {
  height: 0;
  overflow: visible;
  box-sizing: border-box; }

b, strong {
  font-weight: inherit;
  font-weight: bolder; }

a, a img, button {
  color: inherit;
  background-color: transparent;
  cursor: pointer;
  outline: 0;
  text-decoration: none;
  transition: .3s; }
  a:hover, a img:hover, button:hover {
    opacity: .7; }

li {
  list-style: none; }

sub, sup {
  position: relative;
  vertical-align: baseline;
  line-height: 0; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

audio, video, canvas {
  display: inline-block; }

summary {
  display: list-item; }

audio:not([controls]) {
  display: none;
  height: 0; }

iframe {
  border: none;
  width: 100%;
  height: 100%;
  vertical-align: bottom; }

input, select, button, optgroup, textarea {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  vertical-align: bottom;
  appearance: none;
  background: none;
  border: none;
  outline: 0;
  font-family: Roboto,"Noto Sans JP","游ゴシック","游ゴシック体","Yu Gothic",YuGothic,sans-serif;
  letter-spacing: .05em;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

button, input {
  overflow: visible; }

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0; }

button:-moz-focusring, input:-moz-focusring {
  outline: 1px dotted ButtonText; }

button, select {
  cursor: pointer;
  text-transform: none; }

[type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner, button::-moz-focus-inner {
  border: none; }

select::-ms-expand {
  display: none; }



/* ---------------------------------------------------------
parts
--------------------------------------------------------- */
.w1280 {
  margin: auto;
  box-sizing: border-box;
  width: 100%;
  max-width: 12.8rem; }

.w1440 {
  margin: auto;
  box-sizing: border-box;
  width: 100%;
  max-width: 14.4rem; }

.ttlObi span {
  padding: .05rem;
  display: table;
  color: #fff;
  background: rgba(0, 114, 196, 0.6);
  font-weight: bold; }
  .ttlObi span + span {
    margin: .2rem 0 0 0; }
    @media screen and (max-width: 980px) {
      .ttlObi span + span {
        margin: .1rem 0 0 0; } }

.ttlWithEn {
  margin: 0 0 .9rem 0;
  font-weight: 600; }
  @media screen and (max-width: 980px) {
    .ttlWithEn {
      margin: 0 0 .4rem 0;
      text-align: center; } }
  .ttlWithEn .en {
    margin: 0 0 .2rem 0;
    font-family: "Oswald",sans-serif;
    font-size: .6rem;
    letter-spacing: .05em; }
    @media screen and (max-width: 980px) {
      .ttlWithEn .en {
        margin: 0 0 .1rem 0;
        font-size: .34rem; } }
  .ttlWithEn .ja {
    color: #0072c4;
    font-size: .24rem; }
    @media screen and (max-width: 980px) {
      .ttlWithEn .ja {
        font-size: .13rem; } }

.ttlWithBorder {
  margin: 0 0 .4rem 0;
  padding: 0 0 0 .32rem;
  position: relative;
  line-height: 1.5;
  font-weight: bold;
  font-size: 26px; }
  @media screen and (max-width: 980px) {
    .ttlWithBorder {
      margin: 0;
      font-size: 18px; } }
  .ttlWithBorder:before {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: .2rem;
    height: 2px;
    content: "";
    background: #0072c4; }
    @media screen and (max-width: 980px) {
      .ttlWithBorder:before {
        width: .15rem; } }
  @media screen and (max-width: 980px) {
    .ttlWithBorder {
      font-size: 18px; } }

.ttlWithNum {
  margin: 0 0 .4rem 0;
  display: flex;
  align-items: center;
  line-height: 1.5;
  font-weight: bold;
  font-size: 24px; }
  @media screen and (max-width: 980px) {
    .ttlWithNum {
      margin: 0 0 .2rem 0;
      align-items: baseline;
      font-size: 18px; } }
  .ttlWithNum.multiLine {
    align-items: baseline; }
  .ttlWithNum span {
    margin: 0 .2rem 0 0;
    color: #0072c4;
    font-family: "Oswald",sans-serif;
    font-weight: 500;
    font-size: 34px; }
    @media screen and (max-width: 980px) {
      .ttlWithNum span {
        font-size: 28px; } }

.arrow {
  position: absolute;
  top: 50%;
  width: .25rem;
  height: 1px;
  content: "";
  background: #0072c4;
  transition: .3s; }
  @media screen and (max-width: 980px) {
    .arrow {
      width: .15rem; } }
  .arrow:before {
    border-style: solid;
    border-width: .06rem 0 0 .09rem;
    border-color: transparent transparent transparent #0072c4;
    position: absolute;
    right: -.02rem;
    bottom: 0;
    content: ""; }
    @media screen and (max-width: 980px) {
      .arrow:before {
        border-width: .03rem 0 0 .045rem; } }

.linkArrow {
  padding: 0 0 0 .4rem;
  display: inline-block;
  position: relative;
  color: #0072c4;
  font-family: "Montserrat",sans-serif;
  font-weight: 600;
  font-size: .14rem;
  letter-spacing: .1em; }
  @media screen and (max-width: 980px) {
    .linkArrow {
      padding: 0 0 0 .25rem;
      font-size: .12rem; } }
  .linkArrow .arrow {
    left: 0; }

.btnArrow {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 2.2rem;
  height: .6rem;
  color: #fff;
  background: linear-gradient(to right, #0072c4 0%, #33a7ff 100%);
  font-family: "Montserrat",sans-serif;
  font-size: .13rem;
  letter-spacing: .1em; }
  @media screen and (max-width: 980px) {
    .btnArrow {
      margin: auto;
      width: 1.8rem;
      height: .4rem;
      font-size: .12rem; } }
  .btnArrow .arrow {
    right: .15rem;
    background: #fff; }
    .btnArrow .arrow:before {
      border-color: transparent transparent transparent #fff; }



/* ---------------------------------------------------------
header
--------------------------------------------------------- */
header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%; }
  header.fixed {
    height: 1rem;
    color: #333;
    background: #fff; }
    @media screen and (max-width: 980px) {
      header.fixed {
        height: .6rem; } }
    header.fixed .hdLogoArea {
      height: 1rem; }
      header.fixed .hdLogoArea:before {
        height: 1rem; }
      @media screen and (max-width: 980px) {
        header.fixed .hdLogoArea {
          height: .6rem !important; }
          header.fixed .hdLogoArea:before {
            height: .6rem; } }
    @media print, screen and (min-width: 981px) {
      header.fixed nav {
        top: .25rem;
        height: .5rem; }
        header.fixed nav .mainNV a {
          color: #333; }
          header.fixed nav .mainNV a .en {
            margin: 0 0 .1rem 0;
            font-size: .2rem; }
          header.fixed nav .mainNV a .ja {
            font-size: .14rem; }
        header.fixed nav .langArea {
          top: 50%;
          right: 2.1rem;
          transform: translateY(-50%);
          color: #333; }
          header.fixed nav .langArea a {
            color: #333; } }
    header.fixed .toggle span {
      background: #333; }
    header.fixed .toggle.cross span {
      background: #fff; }
  header .hdLogoArea {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2000;
    width: 1.85rem;
    height: 1.2rem; }
    header .hdLogoArea:before {
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
      width: 1.85rem;
      height: 1.2rem;
      content: "";
      background: #fff; }
    @media screen and (max-width: 980px) {
      header .hdLogoArea {
        width: 1.1rem;
        height: .6rem; }
        header .hdLogoArea:before {
          width: 1.1rem;
          height: .6rem; } }
    header .hdLogoArea.changecolor:before {
      display: none; }
    header .hdLogoArea.changecolor .imgWhite {
      display: inherit; }
    header .hdLogoArea.changecolor .imgColor {
      display: none; }
    header .hdLogoArea ul {
      width: 75%; }
      header .hdLogoArea ul li:first-child {
        margin: 0 0 .1rem 0; }
        @media screen and (max-width: 980px) {
          header .hdLogoArea ul li:first-child img {
            margin: auto;
            width: 80%; } }
      header .hdLogoArea ul li .imgWhite {
        display: none; }
        @media print, screen and (min-width: 981px) {
          header .hdLogoArea ul li .imgWhite {
            display: none !important; } }
      header .hdLogoArea ul li .imgColor {
        display: inherit; }
        @media print, screen and (min-width: 981px) {
          header .hdLogoArea ul li .imgColor {
            display: inherit !important; } }
  header nav {
    position: fixed;
    transition: .3s; }
    @media print, screen and (min-width: 981px) {
      header nav {
        display: inherit !important;
        top: .3rem;
        right: .3rem;
        width: calc(100% - 2.8rem);
        height: .9rem; } }
    @media screen and (max-width: 980px) {
      header nav {
        padding: 1rem .3rem;
        display: none;
        box-sizing: border-box;
        width: 100%;
        /*width: 100vw;*/
        height: 100%;
        top: 0;
        left: 0;
        background: linear-gradient(to right, #0072c4 0%, #33a7ff 100%);
        overflow: auto;
        -webkit-overflow-scrolling: touch; } }
    @media print, screen and (min-width: 981px) {
      header nav .mainNV {
        display: flex;
        position: absolute;
        bottom: 0;
        left: 0; } }
    header nav .mainNV li {
      margin: 0 .5rem 0 0; }
      header nav .mainNV li:last-child {
        margin: 0; }
      @media screen and (max-width: 980px) {
        header nav .mainNV li {
          margin: 0;
          border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
          header nav .mainNV li:first-child {
            border-top: 1px solid rgba(255, 255, 255, 0.1); } }
      header nav .mainNV li a {
        display: block;
        color: #fff; }
        @media print, screen and (min-width: 981px) {
          header nav .mainNV li a {
            text-align: center; }
            header nav .mainNV li a:hover, header nav .mainNV li a.current {
              color: #0072c4;
              opacity: 1; } }
        @media screen and (max-width: 980px) {
          header nav .mainNV li a.nvArrow {
            padding: .15rem 0;
            display: flex;
            align-items: center;
            position: relative; }
            header nav .mainNV li a.nvArrow:before {
              border-top: 1px solid #fff;
              border-right: 1px solid #fff;
              position: absolute;
              top: 50%;
              right: .05rem;
              transform: translateY(-50%) rotate(45deg);
              width: .06rem;
              height: .06rem;
              content: ""; } }
      header nav .mainNV li .en {
        display: block;
        font-family: "Oswald",sans-serif;
        font-weight: 500;
        font-size: .25rem; }
        @media print, screen and (min-width: 981px) {
          header nav .mainNV li .en {
            margin: 0 0 .15rem 0; } }
        @media screen and (max-width: 980px) {
          header nav .mainNV li .en {
            /*width: .8rem;*/
            width: .9rem;
            color: #fff;
            font-size: .18rem; } }
      header nav .mainNV li .ja {
        font-size: .15rem; }
        @media screen and (max-width: 980px) {
          header nav .mainNV li .ja {
            color: #9ec2e4;
            font-weight: bold;
            font-size: .11rem; } }
      header nav .mainNV li dl dt {
        padding: .15rem 0;
        display: flex;
        align-items: center;
        position: relative;
        cursor: pointer;
        transition: .3s; }
        header nav .mainNV li dl dt:hover {
          opacity: .7; }
        header nav .mainNV li dl dt .plus {
          position: absolute;
          top: 50%;
          right: 0;
          transform: translateY(-50%);
          width: .12rem;
          height: .12rem; }
          header nav .mainNV li dl dt .plus:before, header nav .mainNV li dl dt .plus:after {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            content: "";
            background: #fff;
            transition: .3s; }
          header nav .mainNV li dl dt .plus:before {
            width: 100%;
            height: 1px; }
          header nav .mainNV li dl dt .plus:after {
            width: 1px;
            height: 100%; }
        header nav .mainNV li dl dt.active .plus:after {
          transform: translate(-50%, -50%) rotate(90deg); }
      header nav .mainNV li dl dd {
        padding: .15rem 0 .3rem 0;
        display: none;
        font-size: .12rem; }
        header nav .mainNV li dl dd a + a {
          margin: .15rem 0 0 0; }
    header nav .otherNV {
      margin: .3rem 0; }
      header nav .otherNV li {
        margin: 0 .2rem .1rem 0;
        display: inline-block;
        font-size: .11rem; }
        header nav .otherNV li a {
          color: #fff; }
    header nav .langArea {
      display: flex;
      color: #fff;
      font-family: "Oswald",sans-serif;
      font-weight: 600;
      font-size: .15rem; }
      @media print, screen and (min-width: 981px) {
        header nav .langArea {
          position: absolute;
          top: 0;
          right: 0; } }
      @media screen and (max-width: 980px) {
        header nav .langArea {
          float: right; } }
      header nav .langArea li:after {
        margin: 0 .05rem;
        content: "/"; }
      header nav .langArea li:last-child:after {
        display: none; }
      header nav .langArea li a {
        color: #fff; }

        header nav .langArea li a.current {
          color: #909090; }
          @media screen and (max-width: 980px) {
            header nav .langArea li a.current {
              color: #9ec2e4; } }
    header nav .btnArea {
      display: flex;
      position: absolute;
      right: 0;
      bottom: 0; }
      header nav .btnArea li {
        margin: 0 .2rem 0 0; }
        header nav .btnArea li:last-child {
          margin: 0; }
        header nav .btnArea li a {
          box-sizing: border-box;
          display: flex;
          align-items: center;
          justify-content: center;
          color: #fff;
          width: 1.8rem;
          height: .5rem;
          background: linear-gradient(to right, #0072c4 0%, #33a7ff 100%);
          font-size: .15rem; }
  header .toggle {
    position: absolute;
    top: .2rem;
    right: .2rem;
    z-index: 2000;
    width: .25rem;
    height: .16rem;
    cursor: pointer; }
    header .toggle span {
      position: absolute;
      top: 0;
      width: 100%;
      height: 2px;
      background: #fff;
      transition: all .3s ease-out; }
      header .toggle span.bar01 {
        top: 0; }
      header .toggle span.bar02 {
        top: .08rem; }
      header .toggle span.bar03 {
        top: .16rem; }
    header .toggle.cross .bar01 {
      top: .08rem;
      transform: rotate(45deg); }
    header .toggle.cross .bar02 {
      opacity: 0; }
    header .toggle.cross .bar03 {
      top: .08rem;
      transform: rotate(135deg); }



/* ---------------------------------------------------------
footer
--------------------------------------------------------- */
footer {
  margin: 2.5rem 0 0 0; }
  @media screen and (max-width: 980px) {
    footer {
      margin: 1rem 0 0 0; } }
  footer .ftBnrArea {
    padding: 0 .3rem; }
    @media print, screen and (min-width: 981px) {
      footer .ftBnrArea .w1440 {
        display: flex; } }
    footer .ftBnrArea .w1440 .bnr {
      padding: .5rem;
      box-sizing: border-box;
      display: flex;
      align-items: flex-end;
      width: 50%;
      height: 4.15rem;
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover; }
      @media screen and (max-width: 980px) {
        footer .ftBnrArea .w1440 .bnr {
          padding: .25rem;
          width: 100%;
          height: 2.05rem; } }
      footer .ftBnrArea .w1440 .bnr + .bnr {
        margin: 0 0 0 .6rem; }
        @media screen and (max-width: 980px) {
          footer .ftBnrArea .w1440 .bnr + .bnr {
            margin: .3rem 0 0 0; } }
      footer .ftBnrArea .w1440 .bnr.company {
        background-image: url("/common/img/ft_bnr_company.jpg"); }
      footer .ftBnrArea .w1440 .bnr.recruit {
        background-image: url("/common/img/ft_bnr_recruit.jpg"); }
      footer .ftBnrArea .w1440 .bnr .ttlWithEn {
        margin: 0;
        text-align: left; }
        footer .ftBnrArea .w1440 .bnr .ttlWithEn .en {
          color: #fff;
          font-size: .4rem; }
          @media screen and (max-width: 980px) {
            footer .ftBnrArea .w1440 .bnr .ttlWithEn .en {
              font-size: .25rem; } }
        footer .ftBnrArea .w1440 .bnr .ttlWithEn .ja {
          margin: 0 0 .55rem 0;
          color: #fff;
          font-size: .16rem; }
          @media screen and (max-width: 980px) {
            footer .ftBnrArea .w1440 .bnr .ttlWithEn .ja {
              margin: 0 0 .22rem 0;
              font-size: .14rem; } }
        footer .ftBnrArea .w1440 .bnr .ttlWithEn .linkArrow {
          color: #33a7ff; }
          footer .ftBnrArea .w1440 .bnr .ttlWithEn .linkArrow:before {
            background: #33a7ff; }
          footer .ftBnrArea .w1440 .bnr .ttlWithEn .linkArrow:after {
            border-color: transparent transparent transparent #33a7ff; }
          footer .ftBnrArea .w1440 .bnr .ttlWithEn .linkArrow .arrow {
            background: #33a7ff; }
            footer .ftBnrArea .w1440 .bnr .ttlWithEn .linkArrow .arrow:before {
              border-color: transparent transparent transparent #33a7ff; }
  footer .ftContactArea {
    margin: 1.3rem 0 0 0;
    padding: 1rem .3rem;
    background: #eef3f6;
    text-align: center; }
    @media screen and (max-width: 980px) {
      footer .ftContactArea {
        margin: .5rem 0 0 0;
        padding: .5rem .3rem; } }
    footer .ftContactArea .box {
      margin: auto;
      box-sizing: border-box;
      display: flex;
      align-items: center;
      position: relative;
      width: 6.6rem;
      height: 3.5rem;
      background: #fff; }
      @media screen and (max-width: 980px) {
        footer .ftContactArea .box {
          padding: .25rem .5rem .25rem .25rem;
          width: 100%;
          height: auto; } }
      footer .ftContactArea .box + .box {
        margin: 0 0 0 .6rem; }
        @media screen and (max-width: 980px) {
          footer .ftContactArea .box + .box {
            margin: .15rem 0 0 0; } }
      @media print, screen and (min-width: 981px) {
        footer .ftContactArea .box dl {
          margin: auto; } }
      @media screen and (max-width: 980px) {
        footer .ftContactArea .box dl {
          text-align: left; } }
      footer .ftContactArea .box dl dt {
        margin: 0 0 .25rem 0;
        padding: 0 0 .15rem 0;
        border-bottom: 2px solid #0072c4;
        display: inline-block;
        font-weight: bold;
        font-size: .24rem; }
        @media screen and (max-width: 980px) {
          footer .ftContactArea .box dl dt {
            margin: 0 0 .1rem 0;
            padding: 0 0 .08rem 0;
            font-size: .16rem; } }
      footer .ftContactArea .box dl dd {
        line-height: 1.8; }
        @media print, screen and (min-width: 981px) {
          footer .ftContactArea .box dl dd {
            font-size: .16rem; } }
      footer .ftContactArea .box .linkArrow {
        position: absolute; }
        @media print, screen and (min-width: 981px) {
          footer .ftContactArea .box .linkArrow {
            bottom: .5rem;
            left: 50%;
            transform: translateX(-50%); } }
        @media screen and (max-width: 980px) {
          footer .ftContactArea .box .linkArrow {
            top: 50%;
            right: .225rem;
            transform: translateY(-50%);
            color: transparent;
            font-size: 0; } }
        @media screen and (max-width: 980px) {
          footer .ftContactArea .box .linkArrow .arrow {
            right: 0;
            left: inherit; } }

footer .ftNVArea {
    padding: 1.1rem .3rem .6rem .3rem;
    line-height: 1.2;
    color: #fff;
    background: #0072c4;
    font-weight: bold;
    font-size: .14rem; }
    @media screen and (max-width: 980px) {
      footer .ftNVArea {
        padding: .5rem .3rem; } }
    @media print, screen and (min-width: 981px) {
      footer .ftNVArea .w1440 {
        display: flex; } }
    footer .ftNVArea .w1440 li {
      line-height: 1.3; }
      @media print, screen and (min-width: 981px) {
        footer .ftNVArea .w1440 li {
          margin: 0 .5rem 0 0;
          width: 16.66%; }
          footer .ftNVArea .w1440 li:last-child {
            margin: 0; } }
      @media screen and (max-width: 980px) {
        footer .ftNVArea .w1440 li {
          border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
          footer .ftNVArea .w1440 li:first-child {
            border-top: 1px solid rgba(255, 255, 255, 0.1); } }
      footer .ftNVArea .w1440 li a {
        display: block;
        white-space: nowrap; }
        @media screen and (max-width: 980px) {
          footer .ftNVArea .w1440 li a.nvArrow {
            padding: .15rem 0;
            display: flex;
            align-items: center;
            position: relative; }
            footer .ftNVArea .w1440 li a.nvArrow:before {
              border-top: 1px solid #fff;
              border-right: 1px solid #fff;
              position: absolute;
              top: 50%;
              right: .05rem;
              transform: translateY(-50%) rotate(45deg);
              width: .06rem;
              height: .06rem;
              content: ""; } }


      @media screen and (max-width: 980px) {
        footer .ftNVArea .w1440 li dl dt {
          padding: .15rem 0;
          display: flex;
          align-items: center;
          position: relative;
          cursor: pointer;
          transition: .3s; }
          footer .ftNVArea .w1440 li dl dt:hover {
            opacity: .7; }
          footer .ftNVArea .w1440 li dl dt .plus {
            position: absolute;
            top: 50%;
            right: 0;
            transform: translateY(-50%);
            width: .12rem;
            height: .12rem; }
            footer .ftNVArea .w1440 li dl dt .plus:before, footer .ftNVArea .w1440 li dl dt .plus:after {
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%);
              content: "";
              background: #fff;
              transition: .3s; }
            footer .ftNVArea .w1440 li dl dt .plus:before {
              width: 100%;
              height: 1px; }
            footer .ftNVArea .w1440 li dl dt .plus:after {
              width: 1px;
              height: 100%; }
          footer .ftNVArea .w1440 li dl dt.active .plus:after {
            transform: translate(-50%, -50%) rotate(90deg); }
      }


		footer .ftNVArea .w1440 li > a + dl {
			margin-top: 0.94rem;
		}
		@media screen and (max-width: 980px) {
			footer .ftNVArea .w1440 li > a + dl {
				margin-top: 0;
				border-top: 1px solid rgba(255, 255, 255, 0.1);
			}
		}


      footer .ftNVArea .w1440 li dl dd {
        line-height: 1.8;
        font-weight: normal;
        font-size: .14rem; }


        @media print, screen and (min-width: 981px) {
          footer .ftNVArea .w1440 li dl dd {
            margin: .2rem 0 0 0;
            display: inherit !important; } }
        @media screen and (max-width: 980px) {
          footer .ftNVArea .w1440 li dl dd {
            padding: .15rem 0 .3rem 0;
            display: none; } }
        footer .ftNVArea .w1440 li dl dd a + a {
          margin: .1rem 0 0 0; }
  footer .searchArea {
    padding: .6rem .3rem;
    background: #eef3f6; }
    @media screen and (max-width: 980px) {
      footer .searchArea {
        padding: .4rem .3rem; } }
    footer .searchArea form {
      margin: auto;
      border: 1px solid #999;
      border-radius: .02rem;
      box-sizing: border-box;
      display: flex;
      max-width: 4.2rem;
      height: .5rem;
      background: #fff; }
      @media screen and (max-width: 980px) {
        footer .searchArea form {
          height: .4rem; } }
      footer .searchArea form #searchTxt {
        padding: .1rem;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        width: calc(100% - .9rem);
        background: #fff; }
      footer .searchArea form #searchBtn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: .9rem;
        content: "";
        background: #0072c4 url("/common/img/ic_search.png") no-repeat center/0.2rem;
        cursor: pointer; }
  footer .ftBottomArea {
    padding: .3rem .3rem .15rem .3rem; }
    @media print, screen and (min-width: 981px) {
      footer .ftBottomArea .col2 {
        margin: 0 0 .5rem 0;
        display: flex;
        align-items: center; } }
    @media screen and (max-width: 980px) {
      footer .ftBottomArea .col2 {
        margin: 0 0 .2rem 0; } }
    @media print, screen and (min-width: 981px) {
      footer .ftBottomArea .col2 .otherNV {
        order: 2;
        width: calc(100% - 1.15rem);
        text-align: right; } }
    @media screen and (max-width: 980px) {
      footer .ftBottomArea .col2 .otherNV {
        margin: 0 0 .3rem 0; } }
    footer .ftBottomArea .col2 .otherNV li {
      margin: 0 .25rem 0 0;
      display: inline-block;
      font-size: .14rem; }
      footer .ftBottomArea .col2 .otherNV li:last-child {
        margin: 0; }
      @media screen and (max-width: 980px) {
        footer .ftBottomArea .col2 .otherNV li {
          margin: 0 .2rem .15rem 0;
          font-size: .1rem; } }
    footer .ftBottomArea .col2 .logo {
      display: block; }
      @media print, screen and (min-width: 981px) {
        footer .ftBottomArea .col2 .logo {
          order: 1;
          width: 1.1rem; } }
      @media screen and (max-width: 980px) {
        footer .ftBottomArea .col2 .logo {
          width: .925rem; } }
    footer .ftBottomArea .copyrightArea li {
      margin: 0 0 .05rem 0;
      line-height: 1.8;
      font-size: .1rem; }
      @media print, screen and (min-width: 981px) {
        footer .ftBottomArea .copyrightArea li {
          text-align: right; } }
      footer .ftBottomArea .copyrightArea li:last-child {
        margin: 0; }



/* ---------------------------------------------------------
subpage
--------------------------------------------------------- */
.subpageMV {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 5.2rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }
  @media screen and (max-width: 980px) {
    .subpageMV {
      height: 2.4rem; } }
  .subpageMV h1 {
    color: #fff;
    font-size: .5rem; }
    @media screen and (max-width: 980px) {
      .subpageMV h1 {
        font-size: .24rem; } }


.breadcrumbs {
  padding: .25rem .3rem;
  line-height: 1.5; }
  @media screen and (max-width: 980px) {
    .breadcrumbs {
      padding: .1rem .3rem;
      background: #eef3f6; } }
  .breadcrumbs ul li {
    margin: 0 .2rem 0 0;
    padding: 0 .2rem 0 0;
    display: inline-block;
    position: relative;
    font-size: .14rem; }
    @media screen and (max-width: 980px) {
      .breadcrumbs ul li {
        margin: 0 .1rem 0 0; } }
    .breadcrumbs ul li:after {
      border-top: 1px solid #8c9397;
      border-right: 1px solid #8c9397;
      position: absolute;
      top: 50%;
      right: 0;
      transform: translateY(-50%) rotate(45deg);
      width: .05rem;
      height: .05rem;
      content: ""; }
    .breadcrumbs ul li:last-child {
      margin: 0;
      padding: 0;
      color: #0072c4; }
      .breadcrumbs ul li:last-child:after {
        display: none; }
    .breadcrumbs ul li a:hover {
      color: #0072c4;
      opacity: 1; }


@media print, screen and (min-width: 981px) {
  .subpageMainArea {
    margin: 1.2rem 0 0 0;
    padding: 0 .3rem; } }
.subpageMainArea .contentsArea .subpageTtl {
  margin: 0 auto .4rem auto;
  padding: 0 0 .18rem 0;
  border-bottom: 2px solid #0072c4;
  display: table;
  font-weight: bold;
  font-size: 36px; }
  @media screen and (max-width: 980px) {
    .subpageMainArea .contentsArea .subpageTtl {
      padding: 0 0 .1rem 0;
      font-size: 22px; } }


.subpageMainArea .contentsArea p, .subpageMainArea .contentsArea ul, .subpageMainArea .contentsArea dl {
  line-height: 2.2; }

@media print, screen and (min-width: 981px) {
  .subpageMainArea .col2 {
    display: flex; } }
@media print, screen and (min-width: 981px) {
  .subpageMainArea .col2 .contentsArea {
    margin: 0 0 0 .5rem;
    order: 2;
    width: calc(100% - 4rem); } }
@media screen and (max-width: 980px) {
  .subpageMainArea .col2 .contentsArea {
    margin: .3rem 0 .6rem 0;
    padding: 0 .3rem; } }
@media print, screen and (min-width: 981px) {
  .subpageMainArea .col2 .sideArea {
    margin: -.3rem 0 0 0;
    order: 1;
    width: 3.5rem; } }
@media screen and (max-width: 980px) {
  .subpageMainArea .col2 .sideArea {
    padding: .1rem .3rem;
    background: #eef3f6; } }
.subpageMainArea .col2 .sideArea li {
  border-bottom: 1px solid #dee4e8;
  line-height: 1.8;
  font-size: .16rem; }
  @media screen and (max-width: 980px) {
    .subpageMainArea .col2 .sideArea li {
      font-size: .11rem; } }
  .subpageMainArea .col2 .sideArea li.index {
    border-bottom: 2px solid #0072c4;
    font-weight: bold;
    font-size: .18rem; }
    @media screen and (max-width: 980px) {
      .subpageMainArea .col2 .sideArea li.index {
        font-size: .13rem; } }
  @media screen and (max-width: 980px) {
    .subpageMainArea .col2 .sideArea li:last-child {
      border-bottom: none; } }
  .subpageMainArea .col2 .sideArea li ul {
    padding: 0 0 .2rem 0;
    display: none; }
    .subpageMainArea .col2 .sideArea li ul li {
      border: none;
      font-size: .13rem; }
      @media screen and (max-width: 980px) {
        .subpageMainArea .col2 .sideArea li ul li {
          font-size: .09rem; } }
      .subpageMainArea .col2 .sideArea li ul li a {
        padding: .1rem .4rem .1rem .2rem; }
  .subpageMainArea .col2 .sideArea li a, .subpageMainArea .col2 .sideArea li p {
    padding: .2rem .4rem .2rem 0;
    display: block;
    position: relative;
    cursor: pointer;
    transition: .3s; }
    @media screen and (max-width: 980px) {
      .subpageMainArea .col2 .sideArea li a, .subpageMainArea .col2 .sideArea li p {
        padding: .15rem .3rem .15rem 0; } }
    .subpageMainArea .col2 .sideArea li a:hover, .subpageMainArea .col2 .sideArea li p:hover {
      color: #0072c4;
      opacity: 1; }
      .subpageMainArea .col2 .sideArea li a:hover .arrow, .subpageMainArea .col2 .sideArea li p:hover .arrow {
        right: 0; }
    .subpageMainArea .col2 .sideArea li a.active .plus:after, .subpageMainArea .col2 .sideArea li p.active .plus:after {
      transform: translate(-50%, -50%) rotate(90deg); }
    .subpageMainArea .col2 .sideArea li a .arrow, .subpageMainArea .col2 .sideArea li p .arrow {
      right: .1rem;
      background: #8c9397; }
      .subpageMainArea .col2 .sideArea li a .arrow:before, .subpageMainArea .col2 .sideArea li p .arrow:before {
        border-color: transparent transparent transparent #8c9397; }
    .subpageMainArea .col2 .sideArea li a .plus, .subpageMainArea .col2 .sideArea li p .plus {
      border: 1px solid #adb5ba;
      box-sizing: border-box;
      position: absolute;
      right: .1rem;
      width: .25rem;
      height: .25rem;
      content: ""; }
      @media screen and (max-width: 980px) {
        .subpageMainArea .col2 .sideArea li a .plus, .subpageMainArea .col2 .sideArea li p .plus {
          border: none;
          right: .05rem; } }
      .subpageMainArea .col2 .sideArea li a .plus:before, .subpageMainArea .col2 .sideArea li a .plus:after, .subpageMainArea .col2 .sideArea li p .plus:before, .subpageMainArea .col2 .sideArea li p .plus:after {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        content: "";
        background: #adb5ba;
        transition: .3s; }
      .subpageMainArea .col2 .sideArea li a .plus:before, .subpageMainArea .col2 .sideArea li p .plus:before {
        width: .13rem;
        height: 1px; }
      .subpageMainArea .col2 .sideArea li a .plus:after, .subpageMainArea .col2 .sideArea li p .plus:after {
        width: 1px;
        height: .13rem; }

