@charset "UTF-8";
/* -----------------------------------------------------
	basic
----------------------------------------------------- */
html {
  font-size: 62.5%; }

body {
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  color: #222222; }
  @media screen and (max-width: 768px) {
    body {
      font-size: 3.2vw; } }

/* -----------------------------------------------------
	option
----------------------------------------------------- */
br.pc {
  display: block; }
  @media screen and (max-width: 768px) {
    br.pc {
      display: none; } }

br.sp {
  display: none; }
  @media screen and (max-width: 768px) {
    br.sp {
      display: block; } }

a {
  transition: all 0.5s ease; }
  a:hover {
    opacity: 0.7; }

/* -----------------------------------------------------
	header
----------------------------------------------------- */
@media screen and (max-width: 768px) {
  .pointer_none {
    pointer-events: none; } }

header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  background-color: #fff; }
  header > .inner {
    display: flex;
    align-items: center;
    padding: 0 1.1904761904761905%; }
    @media screen and (max-width: 768px) {
      header > .inner {
        justify-content: space-between;
        padding: 4.6666666667vw 4vw; } }
    header > .inner .logo {
      width: 19.162045594577943%; }
      @media screen and (max-width: 768px) {
        header > .inner .logo {
          width: 49.7333333333vw; } }
      header > .inner .logo a {
        display: block; }
    header > .inner .global-nav-header {
      display: none; }
      @media screen and (max-width: 768px) {
        header > .inner .global-nav-header {
          display: block; } }
      @media screen and (max-width: 768px) {
        header > .inner .global-nav-header .menu-trigger {
          position: relative;
          width: 6.6666666667vw;
          height: 5.8666666667vw;
          background: none;
          border: none;
          appearance: none;
          cursor: pointer; } }
      @media screen and (max-width: 768px) {
        header > .inner .global-nav-header .menu-trigger span {
          position: absolute;
          left: 0;
          width: 100%;
          height: 2px;
          background-color: #000;
          transition: all 0.4s; }
          header > .inner .global-nav-header .menu-trigger span:nth-of-type(1) {
            top: 0; }
          header > .inner .global-nav-header .menu-trigger span:nth-of-type(2) {
            top: 2.6666666667vw; }
          header > .inner .global-nav-header .menu-trigger span:nth-of-type(3) {
            bottom: 0; } }
      @media screen and (max-width: 768px) {
        header > .inner .global-nav-header .menu-trigger.active span:nth-of-type(1) {
          transform: translateY(2.6666666667vw) rotate(-45deg); } }
      @media screen and (max-width: 768px) {
        header > .inner .global-nav-header .menu-trigger.active span:nth-of-type(2) {
          opacity: 0; } }
      @media screen and (max-width: 768px) {
        header > .inner .global-nav-header .menu-trigger.active span:nth-of-type(3) {
          transform: translateY(-2.6666666667vw) rotate(45deg); } }
    header > .inner .global-nav {
      margin: 0 0 0 auto;
      z-index: 1; }
      @media screen and (max-width: 768px) {
        header > .inner .global-nav {
          display: none;
          position: fixed;
          left: 0;
          top: 15.2vw;
          width: 100%;
          height: 100%;
          padding: 0 0 16vw 0;
          background-color: rgba(0, 35, 97, 0.9);
          transition: all 0.6s;
          overflow-y: scroll; } }
      header > .inner .global-nav.active {
        display: block; }
      header > .inner .global-nav .nav-list {
        display: flex;
        justify-content: flex-end; }
        @media screen and (max-width: 768px) {
          header > .inner .global-nav .nav-list {
            display: block;
            margin: 0 4vw; } }
        @media screen and (max-width: 768px) {
          header > .inner .global-nav .nav-list .nav-item {
            border-bottom: solid 1px #ffffff; } }
        header > .inner .global-nav .nav-list .nav-item > a {
          position: relative;
          display: block;
          font-size: 1.5rem;
          padding: 29.5px 15px; }
          @media screen and (max-width: 768px) {
            header > .inner .global-nav .nav-list .nav-item > a {
              cursor: pointer;
              font-size: 3.4666666667vw;
              line-height: 1;
              font-weight: 500;
              color: #ffffff;
              padding: 5.3333333333vw 7.0666666667vw 5.3333333333vw 2.6666666667vw; } }
          @media screen and (max-width: 768px) {
            header > .inner .global-nav .nav-list .nav-item > a::after {
              content: "";
              display: inline-block;
              width: 1.7333333333vw;
              height: 2.8vw;
              background-image: url("../img/icon/arrow-r-01_white.svg");
              background-repeat: no-repeat;
              background-size: cover;
              background-position: center;
              margin: 0;
              position: absolute;
              top: 50%;
              right: 2.6666666667vw;
              transform: translateY(-50%); } }
        @media screen and (max-width: 768px) {
          header > .inner .global-nav .nav-list .nav-item.toggle > a::after {
            width: 3.2vw;
            height: 3.2vw;
            background-image: url("../img/icon/plus_white.svg"); } }
        @media screen and (max-width: 768px) {
          header > .inner .global-nav .nav-list .nav-item.toggle.active > a::after {
            width: 3.2vw;
            height: 3.2vw;
            background-image: url("../img/icon/minus_white.svg");
            background-size: 3.2vw auto; } }
        header > .inner .global-nav .nav-list .nav-item .nav-item_sub {
          padding: 0 50px;
          background-color: rgba(0, 35, 97, 0.9);
          transition: all 0.2s ease;
          width: 100%;
          visibility: hidden;
          opacity: 0;
          position: absolute;
          left: 0;
          top: 80px;
          color: #ffffff; }
          @media screen and (max-width: 768px) {
            header > .inner .global-nav .nav-list .nav-item .nav-item_sub {
              display: none;
              visibility: visible;
              opacity: 1;
              position: relative;
              top: inherit;
              background-color: transparent;
              padding: 0 2.6666666667vw; } }
          header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner {
            display: flex;
            max-width: 1200px;
            margin: 0 auto;
            padding: 70px 0; }
            @media screen and (max-width: 768px) {
              header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner {
                display: block;
                padding: 0; } }
            header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_title {
              width: 18.5%; }
              @media screen and (max-width: 768px) {
                header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_title {
                  width: 100%; } }
              header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_title a {
                display: block;
                font-size: 3.4rem;
                font-weight: 700;
                -ms-writing-mode: vertical-lr;
                writing-mode: vertical-lr;
                line-height: 1; }
                @media screen and (max-width: 768px) {
                  header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_title a {
                    font-size: 3.2vw;
                    font-weight: 500;
                    -ms-writing-mode: horizontal-tb;
                    writing-mode: horizontal-tb;
                    padding: 2.6666666667vw 0 3.3333333333vw 0; } }
                header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_title a small {
                  display: block;
                  font-size: 1.4rem;
                  margin: 0 18px 0 0; }
                  @media screen and (max-width: 768px) {
                    header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_title a small {
                      display: none; } }
                header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_title a span {
                  position: relative;
                  display: inline-block; }
                  @media screen and (max-width: 768px) {
                    header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_title a span {
                      padding: 0 4.2666666667vw 0 0; } }
                  header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_title a span em {
                    text-combine-upright: all;
                    font-style: normal;
                    margin-top: -0.2em; }
                    @media screen and (max-width: 768px) {
                      header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_title a span em {
                        text-combine-upright: none;
                        margin-top: 0; } }
                  header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_title a span::after {
                    content: "";
                    display: inline-block;
                    width: 28px;
                    height: 28px;
                    background-image: url("../img/header_nav_arrow.png");
                    background-repeat: no-repeat;
                    background-size: cover;
                    background-position: center;
                    margin: 13px 0 0 0; }
                    @media screen and (max-width: 768px) {
                      header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_title a span::after {
                        width: 1.6vw;
                        height: 2.6666666667vw;
                        background-image: url("../img/icon/arrow-r-01_white.svg");
                        background-repeat: no-repeat;
                        background-size: cover;
                        background-position: center;
                        margin: 0;
                        position: absolute;
                        top: 50%;
                        right: 0;
                        transform: translateY(-50%); } }
            header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list {
              display: flex;
              flex-wrap: wrap;
              width: 81.5%; }
              @media screen and (max-width: 768px) {
                header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list {
                  width: 100%; } }
              header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list .list .heading {
                width: 100%; }
                header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list .list .heading a {
                  display: inline-block;
                  font-size: 1.7rem;
                  border-bottom: solid 1px #ffffff;
                  padding-bottom: 6px; }
                  @media screen and (max-width: 768px) {
                    header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list .list .heading a {
                      display: block;
                      font-size: 3.2vw;
                      border-bottom: 0;
                      padding: 3.3333333333vw 6.6666666667vw; } }
                  header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list .list .heading a span {
                    position: relative;
                    display: inline-block; }
                    @media screen and (max-width: 768px) {
                      header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list .list .heading a span {
                        padding: 0 4.2666666667vw 0 0; } }
                    @media screen and (max-width: 768px) {
                      header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list .list .heading a span::after {
                        content: "";
                        display: block;
                        width: 1.6vw;
                        height: 2.6666666667vw;
                        background-image: url("../img/icon/arrow-r-01_white.svg");
                        background-repeat: no-repeat;
                        background-size: cover;
                        background-position: center;
                        margin: 0;
                        position: absolute;
                        top: 50%;
                        right: 1.3333333333vw;
                        transform: translateY(-50%); } }
              header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list .list ul li {
                margin-top: 12px; }
                @media screen and (max-width: 768px) {
                  header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list .list ul li {
                    margin-top: 0; } }
                header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list .list ul li a {
                  position: relative;
                  display: inline-block;
                  font-size: 1.2rem;
                  line-height: 1.67;
                  padding: 0 0 0 10px; }
                  @media screen and (max-width: 768px) {
                    header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list .list ul li a {
                      display: block;
                      font-size: 3.2vw;
                      line-height: 1;
                      padding: 3.3333333333vw 6.6666666667vw; } }
                  header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list .list ul li a::before {
                    content: "";
                    display: block;
                    width: 6px;
                    height: 9px;
                    background-image: url("../img/icon/arrow-r-01_white.svg");
                    background-repeat: no-repeat;
                    background-size: contain;
                    background-position: left top;
                    position: absolute;
                    top: 6px;
                    left: 0; }
                    @media screen and (max-width: 768px) {
                      header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list .list ul li a::before {
                        display: none; } }
                  header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list .list ul li a span {
                    position: relative;
                    display: inline-block; }
                    @media screen and (max-width: 768px) {
                      header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list .list ul li a span {
                        padding: 0 4.2666666667vw 0 0; } }
                    @media screen and (max-width: 768px) {
                      header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list .list ul li a span::after {
                        content: "";
                        display: block;
                        width: 1.6vw;
                        height: 2.6666666667vw;
                        background-image: url("../img/icon/arrow-r-01_white.svg");
                        background-repeat: no-repeat;
                        background-size: cover;
                        background-position: center;
                        margin: 0;
                        position: absolute;
                        top: 50%;
                        right: 1.3333333333vw;
                        transform: translateY(-50%); } }
              header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list .list:nth-of-type(3n + 1) {
                width: 23.06748466257669%;
                padding-right: 20px; }
                @media screen and (max-width: 768px) {
                  header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list .list:nth-of-type(3n + 1) {
                    width: 100%;
                    padding-right: 0; } }
              header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list .list:nth-of-type(3n + 2) {
                width: 30.429447852760738%;
                padding-right: 20px; }
                @media screen and (max-width: 768px) {
                  header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list .list:nth-of-type(3n + 2) {
                    width: 100%;
                    padding-right: 0; } }
              header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list .list:nth-of-type(3n + 3) {
                display: flex;
                flex-wrap: wrap;
                width: 46.50306748466257%; }
                @media screen and (max-width: 768px) {
                  header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list .list:nth-of-type(3n + 3) {
                    width: 100%; } }
                header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list .list:nth-of-type(3n + 3) ul {
                  width: 50%; }
                  @media screen and (max-width: 768px) {
                    header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list .list:nth-of-type(3n + 3) ul {
                      width: 100%; } }
              header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list .list:nth-of-type(n + 4) {
                margin: 50px 0 0 0; }
                @media screen and (max-width: 768px) {
                  header > .inner .global-nav .nav-list .nav-item .nav-item_sub .nav-item_sub_inner .nav-item_sub_list .list:nth-of-type(n + 4) {
                    margin: 0; } }
        header > .inner .global-nav .nav-list .nav-item:hover .nav-item_sub {
          opacity: 1;
          visibility: visible; }
        header > .inner .global-nav .nav-list .nav-item.sp {
          display: none; }
          @media screen and (max-width: 768px) {
            header > .inner .global-nav .nav-list .nav-item.sp {
              display: block; } }
        header > .inner .global-nav .nav-list .nav-item.active > a span {
          color: #003798;
          font-weight: 700; }
          @media screen and (max-width: 768px) {
            header > .inner .global-nav .nav-list .nav-item.active > a span {
              color: #fff;
              font-weight: 500; } }
      header > .inner .global-nav .contact {
        display: none; }
        @media screen and (max-width: 768px) {
          header > .inner .global-nav .contact {
            display: block;
            margin: 0 4vw;
            border-bottom: solid 1px #fff; } }
        @media screen and (max-width: 768px) {
          header > .inner .global-nav .contact a {
            display: block;
            position: relative;
            color: #ffffff;
            padding: 5.3333333333vw 7.0666666667vw 5.3333333333vw 2.6666666667vw; } }
        @media screen and (max-width: 768px) {
          header > .inner .global-nav .contact a::after {
            content: "";
            display: inline-block;
            width: 1.7333333333vw;
            height: 2.8vw;
            background-image: url("../img/icon/arrow-r-01_white.svg");
            background-repeat: no-repeat;
            background-size: cover;
            background-position: center;
            margin: 0;
            position: absolute;
            top: 50%;
            right: 2.6666666667vw;
            transform: translateY(-50%); } }
        @media screen and (max-width: 768px) {
          header > .inner .global-nav .contact a span {
            font-size: 3.4666666667vw;
            line-height: 1; } }
      header > .inner .global-nav .nav-bottom {
        display: none; }
        @media screen and (max-width: 768px) {
          header > .inner .global-nav .nav-bottom {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin: 4vw;
            padding: 0 2.6666666667vw; } }
        @media screen and (max-width: 768px) {
          header > .inner .global-nav .nav-bottom .language a {
            display: block;
            color: #ffffff;
            border: solid 1px #ffffff;
            padding: 1.6vw 6vw; } }
        @media screen and (max-width: 768px) {
          header > .inner .global-nav .nav-bottom .language a span {
            font-size: 3vw;
            font-weight: 600; } }
        @media screen and (max-width: 768px) {
          header > .inner .global-nav .nav-bottom ul {
            display: flex; } }
        @media screen and (max-width: 768px) {
          header > .inner .global-nav .nav-bottom ul li {
            margin: 0 0 0 5.3333333333vw; } }
        @media screen and (max-width: 768px) {
          header > .inner .global-nav .nav-bottom ul li:first-child {
            margin: 0 0 0 0; } }
        @media screen and (max-width: 768px) {
          header > .inner .global-nav .nav-bottom ul li a {
            position: relative;
            color: #ffffff; } }
        @media screen and (max-width: 768px) {
          header > .inner .global-nav .nav-bottom ul li a:before {
            content: "";
            display: block;
            width: 1.6vw;
            height: 2.5333333333vw;
            background-image: url("../img/icon/arrow-r-01_white.svg");
            background-repeat: no-repeat;
            background-size: contain;
            background-position: left center;
            position: absolute;
            top: 50%;
            left: 0;
            transform: translateY(-50%); } }
        @media screen and (max-width: 768px) {
          header > .inner .global-nav .nav-bottom ul li a span {
            display: inline-block;
            padding: 0 0 0 3.2vw;
            font-size: 3.2vw; } }
    header > .inner > .language {
      width: 6.341463414634147%;
      margin: 0 0 0 1.2195121951219512%; }
      @media screen and (max-width: 768px) {
        header > .inner > .language {
          display: none; } }
      header > .inner > .language a {
        display: block;
        text-align: center;
        border: solid 1px #000;
        padding: 2px 0; }
    header > .inner > .contact {
      width: 9.146341463414634%;
      margin: 0 0 0 1.2195121951219512%; }
      @media screen and (max-width: 768px) {
        header > .inner > .contact {
          display: none; } }
      header > .inner > .contact a {
        display: block;
        border-radius: 100vh;
        background-color: #003798;
        color: #ffffff;
        font-size: 1.5rem;
        font-weight: 700;
        text-align: center;
        padding: 11.5px 0; }

/* -----------------------------------------------------
	main
----------------------------------------------------- */
main section {
  padding: 100px 50px; }
  @media screen and (max-width: 768px) {
    main section {
      padding: 13.3333333333vw 6.6666666667vw; } }
  main section.bg {
    background-color: #f1f8fe; }
  main section .inner {
    max-width: 1000px;
    margin: 0 auto; }
    main section .inner .ttl_l {
      font-size: 4rem;
      line-height: 1.5;
      font-weight: 700;
      text-align: center;
      font-feature-settings: "palt" 1;
      letter-spacing: 0.1em;
      color: #003798;
      margin: 0 0 50px 0; }
      @media screen and (max-width: 768px) {
        main section .inner .ttl_l {
          font-size: 6.1333333333vw;
          margin: 0 0 8vw 0; } }
      main section .inner .ttl_l span {
        display: block;
        font-family: "Roboto Condensed", sans-serif;
        font-size: 2.7rem;
        line-height: 1;
        margin: 20px 0 0 0; }
        @media screen and (max-width: 768px) {
          main section .inner .ttl_l span {
            font-size: 3.7333333333vw;
            margin: 4vw 0 0 0; } }
    main section .inner .ttl_m {
      font-size: 3rem;
      line-height: 2;
      font-weight: 700;
      text-align: center;
      font-feature-settings: "palt" 1;
      letter-spacing: 0.1em;
      color: #003798; }
      @media screen and (max-width: 768px) {
        main section .inner .ttl_m {
          font-size: 4.8vw; } }
    main section .inner .ttl_s {
      font-size: 2.4rem;
      line-height: 1.5;
      font-weight: 700;
      color: #003798;
      border-bottom: solid 2px #003798;
      padding: 0 0 14px 0;
      margin: 0 0 20px 0; }
      @media screen and (max-width: 768px) {
        main section .inner .ttl_s {
          font-size: 4vw;
          padding: 0 0 2.6666666667vw 0;
          margin: 0 0 4vw 0; } }
    main section .inner .lead {
      text-align: center;
      font-size: 2rem;
      font-weight: 500;
      line-height: 1.8; }
      @media screen and (max-width: 768px) {
        main section .inner .lead {
          font-size: 3.7333333333vw; } }
    main section .inner p + p {
      margin-top: 1em; }

/* -----------------------------------------------------
	page_heading
----------------------------------------------------- */
.page_heading {
  width: 100%;
  height: auto;
  background-color: #003798;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 7.5px 50px;
  background-position: left top; }
  @media screen and (max-width: 768px) {
    .page_heading {
      background-position: center;
      padding: 1.9333333333vw 2.6666666667vw 1.9333333333vw 5.3333333333vw; } }
  .page_heading.company {
    background-image: url(../img/company/heading_bg.jpg); }
  .page_heading.about {
    background-image: url(../img/about/heading_bg.jpg); }
  .page_heading .inner {
    max-width: 1326px;
    margin: 0 auto; }
    .page_heading .inner h1 {
      position: relative;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      .page_heading .inner h1 .text {
        color: #ffffff;
        font-size: 4.5rem;
        line-height: 1.14;
        font-weight: 700;
        font-feature-settings: "palt" 1;
        letter-spacing: 0.1em; }
        @media screen and (max-width: 768px) {
          .page_heading .inner h1 .text {
            width: 46vw;
            font-size: 5.6vw; } }
        .page_heading .inner h1 .text small {
          display: block;
          font-family: "Roboto Condensed", sans-serif;
          font-size: 56%;
          line-height: 1;
          margin: 0 0 20px 0; }
          @media screen and (max-width: 768px) {
            .page_heading .inner h1 .text small {
              margin: 0 0 4vw 0; } }
      .page_heading .inner h1 picture {
        position: relative;
        display: block;
        width: 450px;
        height: 357px;
        clip-path: polygon(17.3333333333% 0%, 100% 0%, 82.6666666667% 100%, 0% 100%);
        overflow: hidden;
        bottom: -40px;
        background-color: #fff; }
        @media screen and (max-width: 768px) {
          .page_heading .inner h1 picture {
            width: 46vw;
            height: 42.9333333333vw;
            clip-path: polygon(20.8695652174% 0%, 100% 0%, 79.1304347826% 100%, 0% 100%);
            bottom: -5.9333333333vw; } }
        .page_heading .inner h1 picture img {
          width: 100%;
          height: 100%;
          object-fit: cover; }

/* -----------------------------------------------------
	company_sub-page_list
----------------------------------------------------- */
.sub-page_list {
  display: flex;
  flex-wrap: wrap; }
  .sub-page_list .block {
    width: 48%;
    margin-left: 4%;
    margin-top: 50px; }
    @media screen and (max-width: 768px) {
      .sub-page_list .block {
        width: 100%;
        margin-left: 0;
        margin-top: 6.6666666667vw; } }
    .sub-page_list .block:first-child {
      margin-top: 0; }
    .sub-page_list .block:nth-child(even) {
      margin-left: 0; }
    .sub-page_list .block a {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      height: 320px;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      background-color: #f5f5f5; }
      @media screen and (max-width: 768px) {
        .sub-page_list .block a {
          height: 42.6666666667vw; } }
      .sub-page_list .block a:after {
        content: "";
        display: block;
        width: 44px;
        height: 44px;
        border-radius: 100vh;
        position: absolute;
        top: 50%;
        right: 20px;
        transform: translateY(-50%);
        background-color: #fff;
        background-image: url("../img/icon/arrow-r-02_blue.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 22px auto; }
        @media screen and (max-width: 768px) {
          .sub-page_list .block a:after {
            width: 6.6666666667vw;
            height: 6.6666666667vw;
            right: 2.6666666667vw;
            background-size: 2.9333333333vw auto; } }
      .sub-page_list .block a .ttl {
        font-size: 2.6rem;
        font-weight: 700;
        line-height: 1;
        color: #fff;
        font-feature-settings: "palt" 1;
        letter-spacing: 0.1em;
        text-align: center; }
        @media screen and (max-width: 768px) {
          .sub-page_list .block a .ttl {
            font-size: 5.3333333333vw; } }
        .sub-page_list .block a .ttl small {
          display: block;
          margin: 15px 0 0 0;
          font-family: "Roboto Condensed", sans-serif;
          font-size: 2rem; }
          @media screen and (max-width: 768px) {
            .sub-page_list .block a .ttl small {
              margin: 2vw 0 0 0;
              font-size: 4.5333333333vw; } }
    .sub-page_list .block.profile {
      width: 100%;
      margin-left: 0; }
      .sub-page_list .block.profile a {
        background-image: url("../img/company/sub-page_list_profile.jpg"); }
    .sub-page_list .block.message a {
      background-image: url("../img/company/sub-page_list_message.jpg"); }
    .sub-page_list .block.history a {
      background-image: url("../img/company/sub-page_list_history.jpg"); }
    .sub-page_list .block.office a {
      background-image: url("../img/company/sub-page_list_office.jpg"); }
    .sub-page_list .block.client a {
      background-image: url("../img/company/sub-page_list_client.jpg"); }
    .sub-page_list .block p {
      margin: 20px 0 0 0;
      line-height: 1.6; }
      @media screen and (max-width: 768px) {
        .sub-page_list .block p {
          margin: 2.6666666667vw 0 0 0; } }

/* -----------------------------------------------------
	summary
----------------------------------------------------- */
.summary {
  display: flex;
  flex-wrap: wrap; }
  .summary dt {
    width: 20%;
    border-bottom: solid 1px #999999;
    padding: 22.5px 40px;
    font-weight: 700; }
    @media screen and (max-width: 768px) {
      .summary dt {
        width: 30%;
        padding: 2.6666666667vw 4vw; } }
    .summary dt:nth-of-type(even) {
      background-color: #fafafa; }
  .summary dd {
    width: 80%;
    border-bottom: solid 1px #999999;
    padding: 22.5px 40px 22.5px 0; }
    @media screen and (max-width: 768px) {
      .summary dd {
        width: 70%;
        padding: 2.6666666667vw 4vw 2.6666666667vw 0; } }
    .summary dd:nth-of-type(even) {
      background-color: #fafafa; }

/* -----------------------------------------------------
	page-top
----------------------------------------------------- */
#page-top {
  position: fixed;
  right: 15px;
  bottom: 30px; }
  @media screen and (max-width: 768px) {
    #page-top {
      right: 4vw;
      bottom: 4vw; } }
  #page-top.fixed {
    position: absolute;
    top: -98px; }
    @media screen and (max-width: 768px) {
      #page-top.fixed {
        top: -14.6666666667vw; } }
  #page-top a {
    display: block;
    width: 68px;
    height: 68px;
    border-radius: 100vh;
    background-color: #003798;
    border: solid 1px #fff; }
    @media screen and (max-width: 768px) {
      #page-top a {
        width: 10.6666666667vw;
        height: 10.6666666667vw; } }
    #page-top a span {
      display: block;
      font-size: 0;
      width: 100%;
      height: 100%;
      background-image: url("../img/page-top_arrow.svg");
      background-repeat: no-repeat;
      background-size: 30px auto;
      background-position: center center; }
      @media screen and (max-width: 768px) {
        #page-top a span {
          background-size: 4vw auto; } }

/* -----------------------------------------------------
	footer
----------------------------------------------------- */
footer {
  position: relative;
  border-top: solid 1px #cccccc;
  padding: 24px 0 23px 0; }
  @media screen and (max-width: 768px) {
    footer {
      padding: 8vw 0; } }
  footer .inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 0 50px; }
    @media screen and (max-width: 768px) {
      footer .inner {
        padding: 0; } }
    @media screen and (max-width: 768px) {
      footer .inner nav {
        width: 100%; } }
    footer .inner nav ul {
      display: flex;
      flex-wrap: wrap; }
      @media screen and (max-width: 768px) {
        footer .inner nav ul {
          justify-content: center; } }
      footer .inner nav ul li {
        margin-left: 12px; }
        @media screen and (max-width: 768px) {
          footer .inner nav ul li {
            margin-left: 5.3333333333vw; } }
        footer .inner nav ul li a {
          position: relative;
          font-size: 1rem;
          font-weight: 700; }
          @media screen and (max-width: 768px) {
            footer .inner nav ul li a {
              font-size: 3.2vw; } }
          footer .inner nav ul li a:before {
            content: "";
            display: block;
            width: 6px;
            height: 9px;
            background-image: url("../img/icon/arrow-r-01_black.svg");
            background-repeat: no-repeat;
            background-size: contain;
            background-position: left center;
            position: absolute;
            top: 50%;
            left: 0;
            transform: translateY(-50%); }
            @media screen and (max-width: 768px) {
              footer .inner nav ul li a:before {
                width: 1.6vw;
                height: 2.5333333333vw; } }
          footer .inner nav ul li a span {
            display: inline-block;
            padding: 0 0 0 12px; }
            @media screen and (max-width: 768px) {
              footer .inner nav ul li a span {
                padding: 0 0 0 3.2vw; } }
        footer .inner nav ul li:first-child {
          margin-left: 0; }
    footer .inner .sns {
      margin: 0 0 0 18px; }
      @media screen and (max-width: 768px) {
        footer .inner .sns {
          width: 100%;
          margin: 7.7333333333vw 0 0 0; } }
      footer .inner .sns ul {
        display: flex;
        flex-wrap: wrap; }
        @media screen and (max-width: 768px) {
          footer .inner .sns ul {
            justify-content: center; } }
        footer .inner .sns ul li {
          width: 30px; }
          @media screen and (max-width: 768px) {
            footer .inner .sns ul li {
              width: 10.1333333333vw; } }
          footer .inner .sns ul li a {
            display: block; }
    footer .inner .copyright {
      font-size: 1rem;
      font-weight: 500;
      margin: 0 0 0 auto; }
      @media screen and (max-width: 768px) {
        footer .inner .copyright {
          width: 100%;
          text-align: center;
          margin: 8.9333333333vw 0 0 0;
          font-size: 2.4vw; } }
