@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
html {
  font-size: 0.520832vw; }
  @media (max-width: 1440px) and (min-width: 1280.5px) {
    html {
      font-size: 0.535vw; } }
  @media (max-width: 960px) {
    html {
      font-size: 1.30208vw; } }
  @media (max-width: 767px) {
    html {
      font-size: 2.66667vw; } }

*,
:after,
:before {
  box-sizing: border-box;
  margin: 0;
  padding: 0; }

body {
  font-size: 1.6rem;
  letter-spacing: 0;
  line-height: 175%;
  font-weight: 500;
  font-family: "Noto Sans JP", serif; }

.anchor_fixtop_1,
.anchor_fixtop {
  display: block;
  position: relative;
  top: -15rem;
  width: 100%;
  visibility: hidden; }
  @media (max-width: 960px) {
    .anchor_fixtop_1,
    .anchor_fixtop {
      top: -9rem; } }

.anchor_fixtop_1 {
  top: -25rem; }

#page_top {
  position: fixed;
  bottom: 3.7rem;
  right: 7.3rem;
  width: 10.7rem;
  height: 10.7rem;
  opacity: 0;
  border: #0c2a59 solid 1px;
  border-radius: 100%;
  background: #dbdfe6;
  padding-top: 2.8rem;
  transition: all 0.35s;
  color: #0c2a59;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 165%;
  letter-spacing: 0;
  cursor: pointer;
  outline: none;
  z-index: 50; }
  #page_top::before {
    content: "";
    position: absolute;
    width: 4.5rem;
    height: 2.35rem;
    top: 3.2rem;
    left: 50%;
    transform: translateX(-50%);
    background: url(../img/common/icon-03.png) no-repeat center;
    background-size: contain; }
  #page_top.show {
    opacity: 1; }
    #page_top.show:hover {
      opacity: 0.8; }
  @media (max-width: 1200px) and (min-width: 960.5px) {
    #page_top {
      right: 2.3rem; } }
  @media (max-width: 960px) {
    #page_top {
      right: 1.5rem;
      bottom: 1.5rem;
      font-size: 1rem;
      padding-top: 1.5rem;
      height: 6rem;
      width: 6rem;
      position: fixed; }
      #page_top::before {
        width: 3rem;
        height: 1.6rem;
        top: .8rem; } }

.wow_custom {
  opacity: 0;
  -webkit-transform: translate(0, 35px);
  transform: translate(0, 35px);
  transition: all 0.5s ease; }
  .wow_custom.right_to_left {
    -webkit-transform: translate(35px, 0);
    transform: translate(35px, 0); }
  .wow_custom.show {
    opacity: 1;
    -webkit-transform: none;
    transform: none; }

p {
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 195%;
  letter-spacing: 0.089rem; }
  @media (max-width: 1280px) and (min-width: 960.5px) {
    p {
      font-size: 2.4rem; } }
  @media (max-width: 960px) {
    p {
      font-size: 1.5rem;
      text-align: justify;
      letter-spacing: normal; } }

[class*="dflex"] {
  display: flex;
  flex-wrap: wrap; }

[class*="aic"] {
  align-items: center; }

[class*="aie"] {
  align-items: flex-end; }

[class*="ais"] {
  align-items: flex-start; }

[class*="jcc"] {
  justify-content: center; }

[class*="jcsb"] {
  justify-content: space-between; }

[class*="jcfe"] {
  justify-content: flex-end; }

[class*="fcolumn"] {
  flex-flow: column; }

a[href^="tel:"] {
  cursor: default;
  pointer-events: none; }
  @media (max-width: 1024px) {
    a[href^="tel:"] {
      cursor: pointer;
      pointer-events: all; } }

[class*="grid"] {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin-left: auto;
  margin-right: auto;
  width: 100%; }

.grid-1660 {
  max-width: 169rem; }
.grid-1200 {
  max-width: 123rem; }
.grid-1110 {
  max-width: 114rem; }

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

.txt-right {
  text-align: right; }

body,
html {
  height: 100%; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
  overflow-clip-margin: inherit; }

a,
button {
  color: inherit;
  text-decoration: none; }

input,
textarea,
button,
select {
  outline: none;
  resize: none; }

.hv-o {
  transition: ease all 0.5s; }
  .hv-o:hover {
    opacity: 0.8; }

.ho-main,
.os-main {
  overflow: hidden; }

.os-y-hidden {
  overflow-y: hidden; }

.os-section {
  position: relative; }

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

.u-sp {
  display: none; }

ul,
ol {
  list-style: none; }

.is_hidden {
  display: none !important; }

.no_scroll {
  overflow: hidden; }

@media (max-width: 960px) {
  .u-pc {
    display: none; }

  .u-sp {
    display: block; } }
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0; }

.slick-list:focus {
  outline: none; }

.slick-list.dragging {
  cursor: pointer;
  cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }

.slick-track:before,
.slick-track:after {
  display: table;
  content: ''; }

.slick-track:after {
  clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }

[dir='rtl'] .slick-slide {
  float: right; }

.slick-slide img {
  display: block;
  margin-left: auto;
  margin-right: 0; }

.slick-slide.slick-loading img {
  display: none; }

.slick-slide.dragging img {
  pointer-events: none; }

.slick-initialized .slick-slide {
  display: block; }

.slick-loading .slick-slide {
  visibility: hidden; }

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

body.lb-disable-scrolling {
  overflow: hidden; }

.lightboxOverlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  background-color: black;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
  display: none; }

.lightbox {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 10000;
  text-align: center;
  line-height: 0;
  font-weight: normal;
  position: fixed;
  top: 50% !important;
  transform: translateY(-50%); }

.lightbox .lb-image {
  display: block;
  height: auto;
  max-width: inherit;
  max-height: none;
  border-radius: 3px;
  /* Image border */
  border: 4px solid white; }

.lightbox a img {
  border: none; }

.lb-outerContainer {
  position: relative;
  *zoom: 1;
  width: 250px;
  height: 250px;
  margin: 0 auto;
  border-radius: 4px;
  background-color: white; }

.lb-outerContainer:after {
  content: "";
  display: table;
  clear: both; }

.lb-loader {
  position: absolute;
  top: 43%;
  left: 0;
  height: 25%;
  width: 100%;
  text-align: center;
  line-height: 0; }

.lb-cancel {
  display: block;
  width: 32px;
  height: 32px;
  margin: 0 auto; }

.lb-nav {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10;
  padding: 2.2rem; }
  @media (max-width: 960px) {
    .lb-nav {
      padding: 1rem; } }

.lb-container > .nav {
  left: 0; }

.lb-nav a {
  outline: none;
  background-image: url("data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="); }

.lb-prev,
.lb-next {
  height: 100%;
  cursor: pointer;
  display: block; }

.lb-nav a.lb-prev {
  width: 34%;
  left: 0;
  float: left;
  background: url(../img/works/prev.png) left 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  -o-transition: opacity 0.6s;
  transition: opacity 0.6s;
  background-size: 3rem; }
  @media (max-width: 960px) {
    .lb-nav a.lb-prev {
      background-size: 1.5rem;
      opacity: 1 !important; } }

.lb-nav a.lb-prev:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

.lb-nav a.lb-next {
  width: 64%;
  right: 0;
  float: right;
  background: url(../img/works/next.png) right 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  -o-transition: opacity 0.6s;
  transition: opacity 0.6s;
  background-size: 3rem; }
  @media (max-width: 960px) {
    .lb-nav a.lb-next {
      background-size: 1.5rem;
      opacity: 1 !important; } }

.lb-nav a.lb-next:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

.lb-dataContainer {
  margin: 0 auto;
  padding-top: 5px;
  *zoom: 1;
  width: 100%;
  -moz-border-radius-bottomleft: 4px;
  -webkit-border-bottom-left-radius: 4px;
  border-bottom-left-radius: 4px;
  -moz-border-radius-bottomright: 4px;
  -webkit-border-bottom-right-radius: 4px;
  border-bottom-right-radius: 4px; }

.lb-dataContainer:after {
  content: "";
  display: table;
  clear: both; }

.lb-data {
  padding: 0 0px;
  color: #ccc; }

.lb-data .lb-details {
  width: 85%;
  float: left;
  text-align: left;
  line-height: 1.1em; }

.lb-data .lb-caption {
  font-size: 13px;
  font-weight: bold;
  line-height: 1em; }

.lb-data .lb-caption a {
  color: #4ae; }

.lb-data .lb-number {
  display: block;
  clear: left;
  padding-bottom: 1em;
  font-size: 12px;
  color: #999999; }

.lb-data .lb-close {
  display: block;
  float: right;
  width: 30px;
  height: 30px;
  background: url(../img/works/close.png) top right 1rem no-repeat;
  text-align: right;
  outline: none;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  transition: opacity 0.2s;
  background-size: 1.4rem; }

.lb-data .lb-close:hover {
  cursor: pointer;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

.lb-container img.lb-image {
  border-radius: 0 !important;
  border: .2rem solid #ffffff !important; }
  @media (min-width: 960.5px) {
    .lb-container img.lb-image {
      width: 79.1rem !important;
      height: 52.2rem !important; } }

.lb-dataContainer {
  padding-top: 1.5rem !important; }

.lb-data .lb-caption {
  font-size: 2rem;
  font-weight: bold; }

.lb-data .lb-number {
  display: none !important; }

header {
  height: 6.2rem; }

.title_h1 {
  position: absolute;
  opacity: 0; }

.header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 60;
  transition: ease all 0.35s; }
  .header-item .logo {
    background: #0c2a59;
    border-radius: 0 0 3rem 0;
    padding: .9rem 4.2rem .9rem 3.2rem; }
    .header-item .logo img {
      width: 39.25rem;
      transition: ease all 0.35s; }
  .header-item:last-child {
    background: #FFFFFF;
    padding-left: 3.7rem;
    border-radius: 0 0 0 2rem; }
  .header-menu-list li {
    margin-right: 4rem; }
    .header-menu-list li:last-child {
      margin-right: 0; }
    .header-menu-list li a {
      display: flex;
      align-items: center;
      color: #0c2a59;
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 175%;
      letter-spacing: 0;
      transition: ease all 0.35s;
      position: relative;
      padding-right: 2.4rem; }
      .header-menu-list li a::before {
        content: "";
        position: absolute;
        width: 1.9rem;
        height: 1.9rem;
        top: .5rem;
        right: 0;
        border-radius: 100%;
        background: url(../img/common/icon-01.png) no-repeat center;
        background-size: contain;
        transition: ease all 0.35s; }
      .header-menu-list li a:hover {
        color: #2882bc; }
        .header-menu-list li a:hover::before {
          right: -0.5rem; }
    .header-menu-list li.active a {
      color: #2882bc; }
  .header-menu-list.vz-02 {
    margin-left: 4.2rem; }
    .header-menu-list.vz-02 li {
      margin-right: 0; }
      .header-menu-list.vz-02 li a {
        background: #0c2a59 url(../img/common/icon-tel-2.png) no-repeat center;
        background-size: 4rem;
        width: 10rem;
        height: 10rem; }

        .header-menu-list.vz-02 li a.u-pc {
          display: block;
        }
        .header-menu-list.vz-02 li a.u-sp {
          display: none;
        }

        .header-menu-list.vz-02 li a::before {
          content: none; }
      .header-menu-list.vz-02 li.mn_contact a {
        background-color: #ed1c24;
        background-image: url(../img/common/icon-email-2.png);
        background-size: 5rem; }
        .header-menu-list.vz-02 li.mn_contact a:hover {
          background-color: #2882bc; }

@media (min-width: 960.5px) {
  .header.active {
    background: #FFFFFF;
    height: 10rem; }
    .header.active .header-item .logo {
      border-radius: 0; }
      .header.active .header-item .logo img {
        width: 30rem; } }
#menu {
  position: relative;
  display: none; }
  #menu > div {
    width: 16rem;
    height: 10.3rem;
    position: relative;
    display: flex; }
  #menu span {
    background: #c8c8c8;
    left: 5.3rem;
    -webkit-transform: translateY(-50%) rotate(0deg);
    transform: translateY(-50%) rotate(0deg);
    position: absolute;
    width: 5.3rem;
    height: .5rem;
    -webkit-transition: top 0.1s ease 0.3s, background 0.1s ease 0.3s, -webkit-transform 0.3s ease;
    transition: top 0.1s ease 0.3s, background 0.1s ease 0.3s, -webkit-transform 0.3s ease;
    transition: top 0.1s ease 0.3s, transform 0.3s ease, background 0.1s ease 0.3s;
    transition: top 0.1s ease 0.3s, transform 0.3s ease, background 0.1s ease 0.3s, -webkit-transform 0.3s ease; }
    #menu span:nth-child(1) {
      top: 3.7rem; }
    #menu span:nth-child(2) {
      top: 5rem; }
    #menu span:nth-child(3) {
      top: 6.4rem; }
  #menu .change span {
    -webkit-transition: top 0.1s ease, background 0.1s ease, -webkit-transform 0.3s ease 0.1s;
    transition: top 0.1s ease, background 0.1s ease, -webkit-transform 0.3s ease 0.1s;
    transition: top 0.1s ease, transform 0.3s ease 0.1s, background 0.1s ease;
    transition: top 0.1s ease, transform 0.3s ease 0.1s, background 0.1s ease, -webkit-transform 0.3s ease 0.1s; }
    #menu .change span:nth-child(1) {
      top: 50%;
      -webkit-transform: translateY(-50%) rotate(315deg);
      transform: translateY(-50%) rotate(315deg); }
    #menu .change span:nth-child(2) {
      opacity: 0; }
    #menu .change span:nth-child(3) {
      top: 50%;
      -webkit-transform: translateY(-50%) rotate(405deg);
      transform: translateY(-50%) rotate(405deg); }

.chane-x {
  display: inline-block;
  position: relative;
  cursor: pointer; }

.is-home .header-item h1 {
  display: block;
  margin-left: 2rem; }

@media (max-width: 1280px) and (min-width: 960.5px) {
  .header-menu-list li a {
    font-size: 2.4rem; }
    .header-menu-list li a::before {
      top: 1rem; } }
@media (max-width: 960px) {
  header {
    height: 7rem; }

  .header {
    padding: 0;
    align-items: center; }
    .header-item:first-child {
      display: flex;
      justify-content: space-between;
      align-items: center;
      width: 100%;
      background: #0c2a59; }
    .header-item:last-child {
      padding-left: 0;
      background: #FFFFFF;
      width: 100%;
      border-radius: 0; }
    .header-item .logo {
      padding: .5rem 1.5rem;
      border-radius: 0; }
      .header-item .logo img {
        width: 21.71rem; }
    .header-item h1 {
      display: block;
      position: absolute;
      top: 1.8rem;
      left: 1.5rem; }
    .header-menu {
      display: none;
      width: 100%;
      height: calc(100vh - 7rem); }
      .header-menu-list {
        width: 100%;
        display: block;
        overflow: scroll;
        padding: 0 1.5rem;
        margin-bottom: 1.5rem; }
        .header-menu-list.active {
          right: 0; }
        .header-menu-list li {
          border-top: 1px dashed #eee;
          margin-bottom: 0;
          width: 100%;
          margin-right: 0; }
          .header-menu-list li a {
            padding: 1.3rem;
            display: block; }
            .header-menu-list li a::before {
              top: 50%;
              transform: translateY(-50%); }
            .header-menu-list li a:hover::before {
              right: 0; }
          .header-menu-list li.active a {
            color: #2882bc; }
          .header-menu-list li:last-child {
            border-bottom: 1px dashed #eee; }
        .header-menu-list.vz-02 {
          margin-left: 0;
          margin-bottom: 0;
          display: flex; }
          .header-menu-list.vz-02 li {
            width: 50%;
            border-top: 0; }
            .header-menu-list.vz-02 li a {
              width: 100%;
              height: 7rem;
              background-size: 3rem; }
            .header-menu-list.vz-02 li a.u-pc {
              display: none;
            }
            .header-menu-list.vz-02 li a.u-sp {
              display: block;
            }
            .header-menu-list.vz-02 li.mn_contact a {
              background-size: 4rem; }

  #menu {
    display: block; }
    #menu > div {
      width: 5rem;
      height: 3rem; }
    #menu span {
      left: 1.2rem;
      width: 2.5rem;
      height: .4rem;
      background: #FFFFFF; } }
    @media (max-width: 960px) and (max-width: 580px) {
      #menu span {
        height: 4px; } }
@media (max-width: 960px) {
      #menu span:nth-child(1) {
        top: 1rem; }
      #menu span:nth-child(2) {
        display: none; }
      #menu span:nth-child(3) {
        top: 2.1rem; } }
.footer {
  background: #dbdfe6;
  padding: 13.4rem 0 7.7rem; }
  .footer-gp {
    margin-bottom: 6rem; }
    .footer-gp-item:first-child {
      width: 17rem; }
    .footer-gp-item.logo img {
      width: 14.7rem; }
    .footer-gp-item:last-child {
      width: calc(100% - 17rem); }
    .footer-gp-box:first-child {
      width: 47.5rem; }
    .footer-gp-box:last-child {
      width: calc(100% - 47.5rem);
      padding-top: 2rem; }
    .footer-gp-box p {
      color: #0c2a59;
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 175%;
      letter-spacing: 0; }
  .footer-title {
    color: #0c2a59;
    font-size: 4.3rem;
    font-weight: 700;
    line-height: 165%;
    letter-spacing: 0;
    margin-bottom: 1.7rem; }
  .footer-menu:first-child {
    width: 17.5rem; }
  .footer-menu:last-child {
    width: calc(100% - 17.5rem); }
  .footer-menu li a {
    color: #0c2a59;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 175%;
    letter-spacing: 0;
    position: relative; }
    .footer-menu li a::before {
      content: "";
      position: absolute; }
  .footer-menu > li {
    margin-bottom: 1.2rem; }
    .footer-menu > li:last-child {
      margin-bottom: 0; }
    .footer-menu > li > a {
      padding-left: 3rem; }
      .footer-menu > li > a::before {
        top: .3rem;
        left: 0;
        width: 1.9rem;
        height: 1.9rem;
        border-radius: 100%;
        background: url(../img/common/icon-01.png) no-repeat center;
        background-size: contain; }
    .footer-menu > li ul {
      margin-left: 3rem;
      margin-top: 1.2rem; }
      .footer-menu > li ul li {
        margin-bottom: .2rem; }
        .footer-menu > li ul li:last-child {
          margin-bottom: 0; }
        .footer-menu > li ul li a {
          color: #6d7f9b;
          padding-left: 1rem; }
          .footer-menu > li ul li a::before {
            background: #6d7f9b;
            width: .5rem;
            height: 1px;
            top: 50%;
            left: 0; }
  .footer-btn-gp {
    padding: 0 4.5rem;
    margin-bottom: 6.5rem; }
  .footer-btn-01 {
    width: calc((100% - 9.001rem) / 2);
    margin-right: 9rem; }
    .footer-btn-01:nth-child(2n) {
      margin-right: 0; }
    .footer-btn-01 a {
      display: flex;
      align-items: center;
      width: 100%;
      height: 10.4rem;
      background: #0c2a59;
      padding: 0 8.8rem;
      position: relative; }
      .footer-btn-01 a::before {
        content: "";
        position: absolute;
        width: 2.25rem;
        height: 3.5rem;
        background: url(../img/common/icon-tel.png) no-repeat center;
        background-size: contain;
        top: 50%;
        left: 3.7rem;
        transform: translateY(-50%); }
      .footer-btn-01 a::after {
        content: "";
        position: absolute;
        width: 2.3rem;
        height: 2.3rem;
        top: 50%;
        right: 2.7rem;
        background: url(../img/common/icon-02.png) no-repeat center;
        background-size: contain;
        transform: translateY(-50%); }
      .footer-btn-01 a img {
        height: 2.6rem; }
    .footer-btn-01.vz-02 a {
      background: #ed1c24;
      padding-left: 9.7rem;
      transition: all 0.35s; }
      .footer-btn-01.vz-02 a::before {
        width: 3.4rem;
        height: 2.7rem;
        left: 4.3rem;
        -webkit-mask: url(../img/common/icon-email.png) center/100% no-repeat;
        mask: url(../img/common/icon-email.png) center/100% no-repeat;
        background: #FFFFFF; }
      .footer-btn-01.vz-02 a img {
        height: 1.9rem; }
      .footer-btn-01.vz-02 a:hover {
        background: #2882bc; }

.copyright p {
  color: #0c2a59;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 175%;
  letter-spacing: 0;
  text-align: center; }

.copyright .link {
  max-width: 43rem;
  color: #6d7f9b;
  margin: 0 auto;
}

@media (max-width: 1280px) and (min-width: 960.5px) {
  .footer-gp-box p {
    font-size: 2.4rem; }
  .footer-menu li a {
    font-size: 2.4rem; } }
@media (max-width: 960px) {
  .footer {
    padding: 6rem 0; }
    .footer-gp {
      margin-bottom: 3rem; }
      .footer-gp-item:first-child {
        width: 100%; }
      .footer-gp-item:last-child {
        width: 100%; }
      .footer-gp-item.logo img {
        width: 8rem; }
      .footer-gp-box:first-child {
        width: 37.5rem; }
      .footer-gp-box:last-child {
        width: calc(100% - 37.5rem); }
      .footer-gp-box p {
        font-size: 1.5rem; }
    .footer-btn-gp {
      padding: 0;
      margin-bottom: 4.5rem; }
    .footer-btn-01 a {
      padding: 0 6rem;
      height: 8rem; }
      .footer-btn-01 a::before {
        left: 2rem; }
      .footer-btn-01 a::after {
        right: 2rem; }
      .footer-btn-01 a img {
        height: 2rem; }
    .footer-btn-01.vz-02 a {
      padding-left: 7rem; }
      .footer-btn-01.vz-02 a::before {
        left: 2rem; }
    .footer-title {
      font-size: 3rem; }
    .footer-menu:first-child {
      width: 12rem; }
    .footer-menu:last-child {
      width: calc(100% - 12rem); }
    .footer-menu li a {
      font-size: 1.5rem; }

  .copyright p {
    font-size: 1.4rem; } }
  .copyright .link {
    font-size: 1.3rem;
    text-align: center;
    margin-bottom: 5px;
  }

@media (max-width: 767px) {
  .footer-btn-01 {
    width: 100%;
    margin-right: 0;
    margin-bottom: 1.5rem; }
    .footer-btn-01:last-child {
      margin-bottom: 0; }
  .footer-gp-box:first-child {
    width: 100%; }
  .footer-gp-box:last-child {
    width: 100%; } }
.banner {
  padding: 0 6.5rem;
  margin-bottom: 2rem; }
  .banner-img {
    margin-bottom: 3.5rem; }
    .banner-img img {
      width: 100%; }
  .banner-txt {
    padding: 0 1.3rem; }
    .banner-txt .txt {
      display: block; }
      .banner-txt .txt img {
        height: 14.8rem; }
      .banner-txt .txt.en {
        margin-bottom: 1.6rem; }
      .banner-txt .txt.jp {
        color: #0c2a59;
        font-size: 8rem;
        font-weight: 500;
        line-height: 120%;
        letter-spacing: 0;
        position: relative;
        padding-left: 4rem; }
        .banner-txt .txt.jp::before {
          content: "";
          position: absolute;
          width: 0.7rem;
          height: calc(100% - 1.8rem);
          top: 54%;
          left: .7rem;
          transform: translateY(-50%);
          background: #ed1c24; }
  .banner.vz-02 {
    position: relative; }
    .banner.vz-02 .banner-txt {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%; }
      .banner.vz-02 .banner-txt h2 {
        max-width: 120rem;
        margin-left: auto;
        margin-right: auto; }
        .banner.vz-02 .banner-txt h2 .group {
          display: inline-block;
          background: #FFFFFF;
          border-radius: 0 4.2rem 0 0;
          padding-right: 20.5rem;
          padding-top: 4.2rem;
          position: relative;
          bottom: -1rem; }
          .banner.vz-02 .banner-txt h2 .group::before {
            content: "";
            position: absolute;
            width: 100%;
            height: 100%;
            top: 0;
            left: -100%;
            background: #FFFFFF; }

.banner-img.recruit-video {
	padding-top: 26.093%;
	width: 100%;
	position: relative;
}
.banner-img.recruit-video::before {
  content: '';
  width: 100%;
  height: 1px;
  background-color: #ffffff;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}
.banner-img.recruit-video video {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
}

.title-default-01 {
  background: #ed1c24;
  padding: .9rem 1.2rem;
  display: inline-flex;
  align-items: center; }
  .title-default-01 img {
    height: 1.9rem; }
  .title-default-01.vz-02 {
    background: #FFFFFF; }
  .title-default-01.vz-03 {
    padding: .8rem .6rem;
    margin-bottom: .7rem; }
    .title-default-01.vz-03 img {
      height: 2.2rem; }
  .title-default-01.vz-04 {
    padding: 0;
    background: transparent;
    margin-bottom: 4.2rem; }
    .title-default-01.vz-04 img {
      height: 2.5rem; }
.title-default-02 {
  color: #FFFFFF;
  font-size: 4rem;
  font-weight: 700;
  line-height: 175%;
  letter-spacing: 0; }
.title-default-03 {
  margin-top: .8rem;
  margin-bottom: 4.7rem;
  color: #0c2a59;
  font-size: 6.66rem;
  font-weight: 700;
  line-height: 145%;
  letter-spacing: 0.4rem;
  font-feature-settings: 'palt'; }
  .title-default-03 span {
    font-size: 10rem;
    position: relative;
    padding-left: 5.7rem;
    padding-right: 4.8rem; }
    .title-default-03 span::before {
      content: "“";
      color: #ed1c24;
      position: absolute;
      top: 2.4rem;
      left: 0; }
    .title-default-03 span::after {
      content: "”";
      color: #ed1c24;
      position: absolute;
      top: 2.4rem;
      right: 0; }
  .title-default-03.vz-02 {
    color: #FFFFFF;
    margin-bottom: 4rem; }
.title-default-04 {
  color: #0c2a59;
  font-size: 4rem;
  font-weight: 900;
  line-height: 145%;
  letter-spacing: 0;
  font-feature-settings: 'palt';
  margin-bottom: 3rem; }
  .title-default-04.vz-02 {
    position: relative;
    padding-left: 2rem;
    margin-bottom: .9rem; }
    .title-default-04.vz-02::before {
      content: "";
      position: absolute;
      width: 0.8rem;
      height: calc(100% - 1.2rem);
      top: 50%;
      left: 0;
      transform: translateY(-50%);
      background: #ed1c24; }
  @media (min-width: 960.5px) {
    .title-default-04.vz-03 {
      min-height: 11.6rem; } }
.title-default-05 {
  color: #0c2a59;
  font-size: 3rem;
  font-weight: 900;
  line-height: 145%;
  letter-spacing: 0;
  position: relative;
  padding-left: 2.2rem;
  margin-bottom: 4rem; }
  .title-default-05::before {
    content: "";
    position: absolute;
    width: 0.8rem;
    height: calc(100% - 1.1rem);
    top: 50%;
    left: 0;
    background: #ed1c24;
    transform: translateY(-50%); }
.title-default-06 {
  margin-bottom: 1.5rem;
  color: #0c2a59;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 145%;
  letter-spacing: 0.1rem;
  text-align: center;
  font-feature-settings: 'palt'; }
.title-default-07 {
  color: #0c2a59;
  font-size: 5rem;
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 0;
  margin-bottom: 4.5rem; }

.btn-more-01 {
  margin-bottom: .9rem; }
  .btn-more-01 a {
    display: flex;
    align-items: center;
    background: #ed1c24;
    width: 25.4rem;
    height: 8.3rem;
    padding: 0 3.4rem;
    position: relative;
    transition: ease all 0.35s; }
    .btn-more-01 a::before {
      content: "";
      position: absolute;
      width: 2.3rem;
      height: 2.3rem;
      top: 50%;
      transform: translateY(-50%);
      right: 3.2rem;
      -webkit-mask: url(../img/common/icon-02.pngg) center/100% no-repeat;
      mask: url(../img/common/icon-02.png) center/100% no-repeat;
      background: #FFFFFF; }
    .btn-more-01 a img {
      height: 1.4rem; }
    .btn-more-01 a:hover {
      background: #2882bc; }
  .btn-more-01.vz-02 {
    margin-bottom: 0; }
    .btn-more-01.vz-02 a {
      width: 100%; }
  .btn-more-01.vz-03 a {
    width: 38.4rem;
    background: #FFFFFF; }
    .btn-more-01.vz-03 a img {
      height: 1.9rem; }
    .btn-more-01.vz-03 a::before {
      background: #0c2a59; }
    .btn-more-01.vz-03 a:hover {
      background: #2882bc; }
  .btn-more-01.vz-04 a {
    width: 38.4rem;
    margin-left: auto;
    margin-right: auto; }
    .btn-more-01.vz-04 a img {
      height: 1.9rem; }
  .btn-more-01.vz-05 a {
    width: 38.4rem;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.6rem;
    color: #FFFFFF;
    letter-spacing: 0;
    line-height: 175%;
    background: #0c2a59; }
    .btn-more-01.vz-05 a::before {
      mask: initial;
      -webkit-mask: initial;
      background: url(../img/common/icon-07.png) no-repeat center;
      background-size: cover; }
    .btn-more-01.vz-05 a:hover {
      background: #2882bc; }

.mv {
  overflow: hidden;
  margin-bottom: 6rem;
  position: relative;
  z-index: 55; }
  .mv-view {
    margin-bottom: 6rem; }
  .mv video {
    width: 100%;
    height: 81.6rem;
    vertical-align: top;
    object-fit: cover; }
  .mv-left {
    width: 6.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1; }
    .mv-left p {
      color: #0c2a59;
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 150%;
      letter-spacing: 0.2rem;
      writing-mode: sideways-rl; }
  .mv-right {
    width: calc(100% - 6.4rem);
    position: relative;
    padding-right: 6.4rem; }
  .mv-cont {
    position: absolute;
    z-index: 0;
    bottom: 0;
    width: 100%;
    padding: 0 4.5rem; }
    .mv-cont::before {
      z-index: -1;
      content: "";
      position: absolute;
      width: 93.7rem;
      height: 93.7rem;
      bottom: -40.4rem;
      left: -17.3rem;
      background: #FFFFFF;
      border-radius: 100%;
      opacity: 0.9; }
    .mv-cont::after {
      content: "";
      position: absolute;
      width: 124.3rem;
      height: 124.3rem;
      background: #FFFFFF;
      border-radius: 100%;
      opacity: 0.4;
      top: -15.2rem;
      left: -32.8rem;
      z-index: -2; }
    .mv-cont p {
      margin-top: 0.3rem;
      margin-bottom: 2.4rem;
      color: #FFFFFF;
      font-size: 2.55rem;
      font-weight: 500;
      line-height: 120%;
      letter-spacing: 0.32rem;
      display: inline-block;
      position: relative;
      padding-left: .6rem;
      z-index: 0; }
      .mv-cont p::before {
        content: "";
        position: absolute;
        width: calc(100% - 1.2rem);
        height: 100%;
        top: 0;
        left: 0;
        background: #0c2a59;
        z-index: -1; }
  .mv-title-01 {
    margin-bottom: 2.4rem; }
    .mv-title-01 span {
      color: #FFFFFF;
      font-size: 6.6rem;
      font-weight: 500;
      line-height: 110%;
      letter-spacing: 0;
      padding: .2rem 3.9rem .9rem;
      background: #0c2a59;
      display: inline-block;
      border-radius: 8.3rem; }
    .mv-title-01.vz-02 span {
      background: #ed1c24; }
  .mv-title-03 img {
    height: 14.8rem; }
  .mv-animation {
    width: 100%;
    overflow: hidden;
    position: relative;
    height: 10rem;
    margin-bottom: 7.2rem; }
    .mv-animation .img {
      width: 100%;
      height: 100%;
      background: url(../img/top/mv-txt-01.png) repeat-x center;
      position: absolute;
      background-size: auto 100%;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
      animation: slide 50s linear infinite;
      background-repeat: repeat-x; }
  .mv-list-01 {
    margin-bottom: 6.3rem; }
    .mv-list-01 li {
      margin-right: 1rem; }
      .mv-list-01 li:last-child {
        margin-right: 0; }
      .mv-list-01 li a {
        border: #0c2a59 solid 1px;
        border-radius: 4.9rem;
        color: #0c2a59;
        font-size: 2rem;
        font-weight: 500;
        line-height: 150%;
        letter-spacing: 0;
        padding: .9rem 1.7rem;
        display: inline-block;
        background: #FFFFFF;
        transition: ease all 0.35s; }
        .mv-list-01 li a:hover {
          color: #FFFFFF;
          background: #2882bc;
          border-color: #2882bc; }
  .mv-scroll {
    position: absolute;
    bottom: 8.6rem;
    right: 9.6rem;
    font-size: 1.4rem;
    color: #FFFFFF;
    letter-spacing: 0;
    line-height: 150%;
    font-weight: 500;
    width: 8.7rem;
    height: 8.7rem;
    border-radius: 100%;
    border: #FFFFFF solid 1px;
    text-align: center;
    padding-top: 2rem; }
    .mv-scroll::before {
      content: "";
      position: absolute;
      width: 4.5rem;
      height: 2.35rem;
      bottom: 1.6rem;
      left: 50%;
      transform: scaleY(-1) translateX(-50%);
      -webkit-mask: url(../img/common/icon-03.png) center/100% no-repeat;
      mask: url(../img/common/icon-03.png) center/100% no-repeat;
      background: #FFFFFF; }

@keyframes slide {
  0% {
    background-position: 210rem 0; }
  100% {
    background-position: 0 0; } }
.top_news {
  padding: 3rem 0 7rem;
  background: #0c2a59; }
  .top_news-head {
    border-bottom: #FFFFFF solid 1px;
    padding-bottom: 1rem;
    margin-bottom: 4.7rem; }

.news-list-01 li {
  margin-bottom: 3rem; }
  .news-list-01 li:last-child {
    margin-bottom: 0; }
  .news-list-01 li a {
    display: flex; }
    .news-list-01 li a span {
      color: #FFFFFF;
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 175%;
      letter-spacing: 0; }
      .news-list-01 li a span.date {
        width: 12.5rem; }
      .news-list-01 li a span.txt {
        width: calc(100% - 12.5rem); }
.news-list-02 {
  margin-bottom: 9rem; }
  .news-list-02 li a {
    display: block;
    border-bottom: #b6bfcd solid 1px;
    padding: 2.1rem 0; }
    .news-list-02 li a span {
      display: block;
      color: #0c2a59;
      font-size: 1.8rem;
      font-weight: 500;
      line-height: 185%;
      letter-spacing: 0; }
      .news-list-02 li a span.date {
        font-size: 1.6rem;
        font-weight: 400;
        color: #8594ac; }
  .news-list-02 li:first-child a {
    border-top: #b6bfcd solid 1px; }

.page_news {
  padding: 8.2rem 0 10rem; }
  .page_news .pagerDsp a {
    color: #0c2a59;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 175%;
    letter-spacing: 0;
    border: #0c2a59 solid 1px;
    padding: .5rem 1rem;
    min-width: 4rem;
    text-align: center;
    margin-right: .4rem;
    height: 4rem;
    transition: ease all 0.35s; }
    .page_news .pagerDsp a:last-child {
      margin-right: 0; }
    .page_news .pagerDsp a.current, .page_news .pagerDsp a:hover {
      background: #0c2a59;
      color: #FFFFFF; }
    .page_news .pagerDsp a.btnarrow {
      font-size: 0;
      background: #ed1c24;
      border-color: #ed1c24;
      position: relative; }
      .page_news .pagerDsp a.btnarrow::before {
        content: "";
        position: absolute;
        width: 1.2rem;
        height: 1.2rem;
        -webkit-mask: url(../img/common/icon-06.png) center/100% no-repeat;
        mask: url(../img/common/icon-06.png) center/100% no-repeat;
        background: #FFFFFF;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
      .page_news .pagerDsp a.btnarrow.prev::before {
        transform: translate(-50%, -50%) scaleX(-1); }
      .page_news .pagerDsp a.btnarrow:hover {
        background: transparent; }
        .page_news .pagerDsp a.btnarrow:hover::before {
          background: #ed1c24; }
  .page_news_single-head .date {
    color: #8594ac;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 145%;
    letter-spacing: 0;
    margin-bottom: .8rem; }
  .page_news_single-head .title {
    color: #0c2a59;
    font-size: 2.8rem;
    font-weight: 500;
    line-height: 145%;
    letter-spacing: 0.2rem;
    font-feature-settings: 'palt';
    border-bottom: #b6bfcd solid 1px;
    padding-bottom: 2.2rem;
    margin-bottom: 5rem; }
  .page_news_single-main {
    padding-bottom: 4.5rem;
    margin-bottom: 9rem;
    border-bottom: #b6bfcd solid 1px; }
    .page_news_single-main * {
      color: #0c2a59;
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 175%;
      letter-spacing: 0.075rem;
      font-feature-settings: 'palt'; }
    .page_news_single-main .thumbnail {
      margin-bottom: 4.2rem; }

.top_01 {
  position: relative;
  z-index: 0;
  background: url(../img/top/bg-about.jpg) top center repeat;
  background-size: contain; }
  .top_01::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(183deg, white 0%, rgba(255, 255, 255, 0.85) 100%);
    z-index: -1; }

.top_about {
  position: relative;
  overflow: hidden;
  padding: 11.7rem 0 9rem;
  z-index: 0; }
  .top_about .icon {
    position: absolute; }
    .top_about .icon-01 {
      top: 33.4rem;
      left: -23rem; }
      .top_about .icon-01 img {
        width: 46.2rem; }
    .top_about .icon-02 {
      bottom: 7rem;
      right: 48.5rem; }
      .top_about .icon-02 img {
        width: 34.8rem; }
    .top_about .icon-03 {
      top: 14.7rem;
      right: -11rem; }
      .top_about .icon-03 img {
        width: 68.6rem; }
  .top_about p {
    color: #0c2a59;
    font-size: 2.3rem;
    font-weight: 500;
    line-height: 215%;
    letter-spacing: 0;
    font-feature-settings: 'palt';
    max-width: 80rem;
    margin-bottom: 4.7rem; }
    .top_about p:last-child {
      margin-bottom: 0; }
    .top_about p span {
      background: #0c2a59;
      color: #FFFFFF; }

.top_business {
  padding: 3rem 0 10rem; }
  .top_business-wrap {
    margin-bottom: 11.4rem; }
  .top_business-gp {
    padding: 4.5rem;
    background: #FFFFFF;
    margin-bottom: 3rem;
    box-shadow: 0.7rem 0.7rem 1rem rgba(0, 0, 0, 0.15); }
    .top_business-gp-box {
      width: calc((100% - 9.001rem) / 2);
      margin-right: 9rem; }
      .top_business-gp-box:nth-child(2n) {
        margin-right: 0; }
      .top_business-gp-box .item:first-child {
        width: 12.5rem;
        padding-top: 0.5rem; }
      .top_business-gp-box .item:last-child {
        width: calc(100% - 12.5rem); }
      .top_business-gp-box .item.number img {
        height: 24.8rem; }
      .top_business-gp-box p {
        margin-bottom: 3.6rem; }
    @media (min-width: 960.5px) {
      .top_business-gp.vz-02 .top_business-gp-box:first-child {
        order: 1;
        margin-right: 0;
        margin-left: 9rem; } }
    .top_business-gp:last-child {
      margin-bottom: 0; }

.top_our a {
  background: #0c2a59;
  padding: 7.2rem 4.5rem 4.5rem;
  display: block;
  position: relative;
  z-index: 0; }
  .top_our a::before {
    content: "";
    position: absolute;
    width: 72.3rem;
    height: 26.5rem;
    z-index: -1;
    top: 0;
    right: 3.2rem;
    background: url(../img/top/our-img-01.jpg) no-repeat center;
    background-size: cover;
    clip-path: polygon(4.5rem 0%, 100% 0, calc(100% - 4.5rem) 100%, 0% 100%); }
  .top_our a .img {
    display: block;
    margin-bottom: 2rem; }
    .top_our a .img img {
      height: 5.8rem; }
  .top_our a .txt {
    color: #FFFFFF;
    font-size: 4rem;
    font-weight: 700;
    line-height: 175%;
    letter-spacing: 0;
    position: relative;
    padding-right: 6.7rem; }
    .top_our a .txt::before {
      content: "";
      position: absolute;
      width: 3rem;
      height: 3rem;
      top: 50%;
      right: 0;
      transform: translateY(-50%);
      background: url(../img/common/icon-04.png) no-repeat center;
      background-size: contain;
      transition: ease all 0.35s; }
  .top_our a:hover .txt::before {
    right: -0.5rem; }

.top_company {
  background: url(../img/top/bg-company.jpg) no-repeat center;
  background-size: cover;
  position: relative;
  z-index: 0;
  padding: 22.7rem 0 24rem; }
  .top_company::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0.8;
    z-index: -1;
    background: linear-gradient(90deg, #ed1c24 0%, rgba(237, 28, 36, 0.5) 100%); }
  .top_company::after {
    content: "";
    position: absolute;
    width: 84.3rem;
    height: 67.7rem;
    top: 51.5%;
    left: -8.8rem;
    transform: translateY(-50%);
    background: url(../img/common/icon-05.png) no-repeat center;
    background-size: contain;
    z-index: -1;
    opacity: 0.2; }
  .top_company p {
    color: #FFFFFF;
    font-size: 3rem;
    font-weight: 500;
    line-height: 135%;
    letter-spacing: 0;
    margin-bottom: 6rem; }

.top_recruit {
  background: url(../img/top/bg-recruit.jpg) no-repeat center top;
  background-size: cover;
  position: relative;
  z-index: 0;
  text-align: center;
  padding: 26.5rem 0 24.5rem; }
  .top_recruit::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #0c2a59;
    z-index: -1;
    opacity: 0.6; }
  .top_recruit::after {
    content: "";
    position: absolute;
    width: 181rem;
    height: 42.3rem;
    background: url(../img/top/recruit-icon.png) no-repeat center;
    background-size: contain;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -56%);
    z-index: -1; }
  .top_recruit p {
    color: #FFFFFF;
    font-size: 2.3rem;
    font-weight: 500;
    line-height: 175%;
    letter-spacing: 0;
    margin-bottom: 5.5rem; }
  .top_recruit .title-default-03.vz-02 {
    margin-bottom: 4.8rem; }

.txt-default-01 p {
  color: #0c2a59;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 175%;
  letter-spacing: 0.05rem;
  font-feature-settings: 'palt'; }
.txt-default-02 p {
  color: #0c2a59;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 220%;
  letter-spacing: 0.05rem;
  font-feature-settings: 'palt'; }

.busi_01-gp-box:first-child {
  padding-top: 5.8rem;
  padding-left: 10.7rem;
  width: calc(100% - 75.5rem); }
.busi_01-gp-box:last-child {
  width: 75.5rem;
  margin-bottom: -4.5rem; }
.busi_01-gp-box .title-default-03 {
  line-height: 135%;
  margin-bottom: 4rem; }

.busi_02 {
  padding: 12.8rem 0 10rem;
  background: #e7eaee; }
  .busi_02 .slick-dots {
    display: flex;
    justify-content: flex-end;
    margin-top: 1rem; }
    .busi_02 .slick-dots li {
      margin-right: .7rem;
      line-height: 0; }
      .busi_02 .slick-dots li:last-child {
        margin-right: 0; }
      .busi_02 .slick-dots li button {
        font-size: 0;
        width: 1.2rem;
        height: 1.2rem;
        border: 0;
        cursor: pointer;
        border-radius: 100%;
        background: #0c2a59; }
      .busi_02 .slick-dots li.slick-active button {
        background: #ed1c24; }

.busi_03 {
  padding: 10rem 0; }

.busi-field-item {
  width: calc((100% - 6.001rem) / 3);
  margin-right: 3rem;
  background: #e7eaee; }
  .busi-field-item:nth-child(3n) {
    margin-right: 0; }
  .busi-field-item .cont {
    padding: 2.5rem 1rem 3.5rem; }
  .busi-field-item .img img {
    width: 100%; }
  .busi-field-item p {
    color: #0c2a59;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 175%;
    letter-spacing: 0;
    padding: 0 3rem; }
.busi-block {
  background: #FFFFFF;
  padding-bottom: 5rem;
  margin-bottom: 5rem; }
  .busi-block:last-child {
    margin-bottom: 0; }
  .busi-block .top_business-gp {
    box-shadow: initial;
    margin-bottom: 0;
    padding-bottom: 0; }
  .busi-block-flow {
    padding: 0 4.5rem; }

.comp_01 {
  margin-top: 10.5rem; }

.message-gp {
  margin-bottom: 2.8rem; }
  .message-gp-box {
    width: calc((100% - 9.001rem) / 2);
    margin-right: 9rem; }
    .message-gp-box:nth-child(2n) {
      margin-right: 0;
      margin-top: -0.6rem; }
    .message-gp-box .title-default-03 {
      line-height: 125%;
      margin-bottom: 2.5rem; }
    .message-gp-box .author p {
      text-align: right; }
      .message-gp-box .author p .name {
        font-size: 2.5rem;
        display: inline-block;
        margin-top: .5rem; }
    .message-gp-box .txt-default-02 p {
      margin-bottom: 4.2rem; }

.company-table-01 {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse; }
  .company-table-01 td {
    color: #0c2a59;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 250%;
    letter-spacing: 0;
    border-bottom: #0c2a59 solid 1px;
    padding: 1.9rem 2rem;
    vertical-align: top; }
    .company-table-01 td:first-child {
      width: 15rem;
      padding-right: 0;
      font-weight: 700;
      position: relative; }
      .company-table-01 td:first-child::before {
        content: "";
        position: absolute;
        width: calc(100% - 2.5rem);
        height: 1px;
        bottom: -1px;
        left: 0;
        background: #ed1c24; }
    .company-table-01 td:last-child {
      padding-left: 6.5rem; }
    .company-table-01 td .txt-default-01 p {
      line-height: 250%;
      margin-bottom: 4rem; }
      .company-table-01 td .txt-default-01 p:last-child {
        margin-bottom: 0; }
    .company-table-01 td .table-item:first-child {
      width: 34rem; }
    .company-table-01 td .table-item:last-child {
      width: calc(100% - 34rem); }
  @media (min-width: 960.5px) {
    .company-table-01.vz-02 td {
      padding-top: 3.8rem;
      padding-bottom: 3.8rem; } }

.profile {
  margin-bottom: 9.4rem; }

.history {
  margin-bottom: 13.4rem; }

.access iframe {
  width: 100%;
  height: 49.2rem;
  border: 0;
  vertical-align: top; }
.access .title-default-04.vz-02 {
  margin-bottom: 3rem; }
.access .txt-default-01 p {
  margin-bottom: 5.5rem; }

.recr_mess {
  overflow: hidden;
  margin: 10.3rem 0 13.3rem; }
  .recr_mess-gp-box:first-child {
    width: 64.5rem;
    margin-top: -0.8rem;
    padding-right: 9rem; }
  .recr_mess-gp-box:last-child {
    width: calc(100% - 64.5rem + 36rem);
    margin-right: -36rem; }
  .recr_mess-gp-box .txt-default-02 p {
    letter-spacing: .12rem; }
  .recr_mess .title-default-01.vz-03 {
    margin-bottom: 5.2rem; }

.voice {
  margin-bottom: 9.4rem; }
  .voice .title-default-04.vz-02 {
    margin-bottom: 4.5rem; }
  .voice .txt-default-01 p {
    letter-spacing: 0;
    font-feature-settings: initial; }
  .voice-title {
    color: #0c2a59;
    font-size: 2rem;
    font-weight: 900;
    line-height: 175%;
    letter-spacing: 0.25rem;
    font-feature-settings: 'palt'; }
  .voice-gp-box {
    background: #e7eaee;
    padding: 4rem 4.5rem;
    margin-bottom: 2rem;
    display: flex;
    align-items: center; }
    .voice-gp-box:last-child {
      margin-bottom: 0; }
    .voice-gp-box .item:first-child {
      width: 13.3rem; }
    .voice-gp-box .item:last-child {
      padding-left: 5rem;
      width: calc(100% - 13.3rem); }

.job-requir {
  margin-bottom: 9.4rem; }
  .job-requir .title-default-04.vz-02 {
    margin-bottom: 0; }

.interview {
  margin-bottom: 10rem; }
  .interview .title-default-04.vz-02 {
    margin-bottom: -0.5rem; }

.contact {
  margin: 9.7rem 0 10rem; }
  .contact-head {
    margin-bottom: 8.5rem; }
  .contact-table {
    width: 100%;
    border-spacing: 0;
    border-collapse: collapse;
    margin-bottom: 2rem; }
    .contact-table td {
      padding: 2.3rem 0;
      color: #0c2a59;
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 175%;
      letter-spacing: 0.1rem;
      position: relative;
      font-feature-settings: "palt";
      vertical-align: text-top;
      word-break: break-all; }
      .contact-table td:first-child {
        width: 19.5rem; }
      .contact-table td:last-child {
        color: #8594ac; }
      .contact-table td .input-item {
        width: 100%;
        height: 5.4rem;
        border: 0;
        font-family: "Noto Sans JP", serif;
        border-radius: .5rem;
        background: #e7eaee;
        font-size: 1.6rem;
        padding: 1.5rem; }
        .contact-table td .input-item::placeholder {
          color: #8594ac; }
        .contact-table td .input-item.vz-02 {
          margin-left: 2.2rem;
          margin-right: 1rem;
          width: 20rem; }
        .contact-table td .input-item.error {
          border: #F00 solid 1px; }
      .contact-table td textarea.input-item {
        height: 22rem; }
      .contact-table td .input-gp li {
        margin-bottom: 4.6rem; }
        .contact-table td .input-gp li:last-child {
          margin-bottom: 0; }
      .contact-table td .required {
        margin-left: .8rem; }
      .contact-table td .error-message {
        color: #F00; }
      .contact-table td span.vz-01 {
        margin-left: 1.5rem; }
    .contact-table tr.vz-02 td {
      vertical-align: top; }
      .contact-table tr.vz-02 td:first-child {
        padding-top: 3.5rem; }
    .contact-table.confirm td {
      vertical-align: middle; }
      .contact-table.confirm td:last-child span {
        background: #e7eaee;
        display: block;
        padding: 1.3rem 1.5rem;
        min-height: 5.4rem; }
  .contact-radio-list li {
    margin-right: 4.2rem; }
    .contact-radio-list li:last-child {
      margin-right: 0; }
    .contact-radio-list li label {
      position: relative;
      cursor: pointer; }
    .contact-radio-list li input {
      width: 2rem;
      height: 2rem;
      opacity: 0;
      position: absolute;
      top: .3rem; }
      .contact-radio-list li input:checked ~ span::after {
        opacity: 1; }
    .contact-radio-list li span {
      position: relative;
      padding-left: 2.8rem; }
      .contact-radio-list li span::before {
        content: "";
        position: absolute;
        width: 2rem;
        height: 2rem;
        top: .2rem;
        left: 0;
        border: #8594ac solid 1px;
        border-radius: 100%; }
      .contact-radio-list li span::after {
        content: "";
        position: absolute;
        width: 1.2rem;
        height: 1.2rem;
        top: .6rem;
        left: .4rem;
        background: #0c2a59;
        border-radius: 100%;
        transition: ease all 0.35s;
        opacity: 0; }
  .contact-confirm {
    width: 100%;
    max-width: 61.6rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 6.2rem; }
    .contact-confirm label {
      width: 100%;
      border: #cccccc solid 1px;
      display: block;
      padding: 1.4rem;
      text-align: center;
      cursor: pointer;
      margin-bottom: 4.2rem; }
      .contact-confirm label .item {
        color: #0c2a59;
        position: relative; }
        .contact-confirm label .item input {
          position: absolute;
          left: 0;
          top: 50%;
          transform: translateY(-50%);
          opacity: 0; }
          .contact-confirm label .item input:checked ~ .check::after {
            opacity: 1; }
        .contact-confirm label .item .check {
          position: relative;
          padding-left: 3rem; }
          .contact-confirm label .item .check::before {
            content: "";
            position: absolute;
            width: 1.4rem;
            height: 1.4rem;
            top: 50%;
            transform: translateY(-50%);
            left: 0;
            border: #1a1a1a solid 1px; }
          .contact-confirm label .item .check::after {
            content: "";
            position: absolute;
            width: 1rem;
            height: 1rem;
            top: 50%;
            left: .2rem;
            transform: translateY(-50%);
            background: #1a1a1a;
            opacity: 0;
            transition: ease all 0.35s; }
        .contact-confirm label .item a {
          color: #29abe2;
          text-decoration: underline; }
          .contact-confirm label .item a:hover {
            text-decoration: none; }
      .contact-confirm label.error {
        border-color: #F00; }
    .contact-confirm p {
      letter-spacing: .1rem; }
  .contact-btn-01 * {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 25.3rem;
    height: 6rem;
    margin-left: auto;
    margin-right: auto;
    border: 0;
    background: #0c2a59;
    cursor: pointer;
    font-family: "Noto Sans JP", serif;
    border: #0c2a59 solid 1px;
    color: #FFFFFF;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 175%;
    letter-spacing: 0;
    position: relative;
    transition: ease all 0.35s; }
    .contact-btn-01 *::before {
      content: "";
      position: absolute;
      width: 1.3rem;
      height: 1.3rem;
      top: 50%;
      right: 1.7rem;
      transform: translateY(-50%);
      -webkit-mask: url(../img/common/icon-06.png) center/100% no-repeat;
      mask: url(../img/common/icon-06.png) center/100% no-repeat;
      background: #FFFFFF;
      transition: ease all 0.35s; }
    .contact-btn-01 *:hover {
      background: #FFFFFF;
      color: #0c2a59; }
      .contact-btn-01 *:hover::before {
        background: #0c2a59; }
  .contact-btn-gp .contact-btn-01 {
    margin-right: 1.5rem; }
    .contact-btn-gp .contact-btn-01:last-child {
      margin-right: 0; }
  .contact .required {
    color: #ed1c24;
    display: inline-block; }

.constr {
  padding: 11.7rem 0 10rem; }
  .constr .title-default-05 {
    margin-bottom: 2.4rem; }
  .constr_gp {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4.2rem 6rem;
    margin-bottom: 8.2rem; }
    .constr_gp-box p {
      color: #0c2a59;
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 175%;
      letter-spacing: 0; }
    .constr_gp-box .img {
      margin-bottom: .8rem; }
    .constr_gp-box img {
      width: 100%; }
  .constr-block p {
    color: #0c2a59;
    font-size: 2rem;
    font-weight: 500;
    line-height: 175%;
    letter-spacing: 0;
    border: #0c2a59 solid 1px;
    padding: 3.2rem 4.5rem; }

@media (max-width: 1280px) and (min-width: 960.5px) {
  .news-list-01 li a span {
    font-size: 2.4rem; }

  .news-list-01 li a span.date {
    width: 14.5rem; }

  .txt-default-01 p {
    font-size: 2.4rem; }

  .txt-default-02 p, .constr-block p, .voice-title {
    font-size: 2.5rem; }

  .busi-field-item p, .contact-table td, .contact-table td .input-item {
    font-size: 2.4rem; }

  .constr_gp-box p, .company-table-01 td, .contact-confirm label .item, .contact-btn-01 * {
    font-size: 2.4rem; }

  .company-table-01 td:first-child {
    width: 19rem; }

  .contact-table td:first-child {
    width: 27rem; }

  .contact-btn-01 * {
    width: 32rem; } }
@media (max-width: 960px) {
  .title-default-01 img {
    height: 1.5rem; }
  .title-default-01.vz-03 img {
    height: 1.5rem; }
  .title-default-01.vz-04 {
    margin-bottom: 2rem; }
    .title-default-01.vz-04 img {
      height: 1.6rem; }
  .title-default-02 {
    font-size: 2.4rem; }
  .title-default-03 {
    font-size: 3rem;
    margin-bottom: 2rem;
    letter-spacing: 0;
    font-feature-settings: initial; }
    .title-default-03 span {
      font-size: 4rem;
      padding: 0 3rem; }
      .title-default-03 span::before, .title-default-03 span::after {
        top: .5rem; }
    .title-default-03.vz-02 {
      margin-bottom: 2rem; }
  .title-default-04 {
    font-size: 2.4rem;
    margin-bottom: 1.5rem; }
  .title-default-05 {
    font-size: 2rem;
    padding-left: 1.5rem;
    margin-bottom: 2rem; }
    .title-default-05::before {
      height: 100%;
      width: .5rem; }
  .title-default-06 {
    font-size: 1.8rem;
    margin-bottom: .5rem; }
  .title-default-07 {
    font-size: 2.6rem;
    margin-bottom: 2rem; }

  .btn-more-01 a {
    height: 5rem;
    width: 17rem;
    padding: 0 1.5rem; }
    .btn-more-01 a::before {
      right: 1.5rem;
      width: 1.8rem;
      height: 1.8rem; }
    .btn-more-01 a img {
      height: 1.2rem; }
  .btn-more-01.vz-02 a {
    width: 25rem;
    margin-left: auto;
    margin-right: auto; }
  .btn-more-01.vz-03 a {
    width: 20rem; }
    .btn-more-01.vz-03 a img {
      height: 1.5rem; }
  .btn-more-01.vz-04 a {
    width: 20rem; }
  .btn-more-01.vz-05 a {
    width: 24rem; }

  .banner {
    padding: 0 1.5rem; }
    .banner-txt {
      padding: 0; }
      .banner-txt .txt img {
        height: 4rem; }
      .banner-txt .txt.jp {
        font-size: 2rem;
        padding-left: 2rem; }
        .banner-txt .txt.jp::before {
          left: 0;
          height: 100%;
          width: .4rem; }
    .banner-img img {
      height: 20rem;
      object-fit: cover; }
      .banner.vz-02 .banner-txt {
      padding: 0 1.5rem; }
      .banner.vz-02 .banner-txt h2 .group {
        padding-right: 3.5rem;
        padding-top: 2rem; }

    .banner-img.recruit-video {
      padding-top: 20rem;
    }
    .banner-img.recruit-video video {
      object-fit: cover;
    }


  .mv {
    margin-bottom: 4rem; }
    .mv-left {
      display: none; }
    .mv-right {
      width: 100%;
      padding-right: 0; }
    .mv-cont {
      padding: 0 1.5rem; }
      .mv-cont::before {
        width: 55rem;
        height: 55rem;
        bottom: -18rem; }
      .mv-cont::after {
        width: 70rem;
        height: 70rem;
        top: -10rem;
        left: -26.8rem; }
      .mv-cont p {
        font-size: 1.5rem;
        line-height: 175%; }
        .mv-cont p::before {
          width: 100%; }
    .mv-list-01 {
      margin-bottom: 4rem; }
      .mv-list-01 li {
        margin-bottom: 1.5rem; }
        .mv-list-01 li:last-child {
          margin-bottom: 0; }
        .mv-list-01 li a {
          padding: .5rem 1rem;
          font-size: 1.5rem; }
    .mv-title-01 span {
      padding: 0 1.5rem;
      font-size: 3rem; }
    .mv-title-03 img {
      height: 6rem; }
    .mv-animation {
      height: 6rem;
      margin-bottom: 5rem; }
    .mv video {
      height: 55rem; }

  .top_news {
    padding: 3rem 0; }
    .top_news-head {
      margin-bottom: 2rem; }

  .news-list-01 li {
    margin-bottom: 2rem; }
    .news-list-01 li a span {
      font-size: 1.5rem; }
      .news-list-01 li a span.date {
        width: 9rem; }
      .news-list-01 li a span.txt {
        width: calc(100% - 9rem); }
  .news-list-02 {
    margin-bottom: 4rem; }
    .news-list-02 li a {
      padding: 1.5rem 0; }
      .news-list-02 li a span {
        font-size: 1.5rem; }
        .news-list-02 li a span.date {
          font-size: 1.3rem; }

  .page_news {
    padding: 6rem 0; }
    .page_news_single-head .title {
      font-size: 2rem;
      margin-bottom: 3rem; }
    .page_news_single-main {
      padding-bottom: 2rem;
      margin-bottom: 4rem; }
      .page_news_single-main .thumbnail {
        margin-bottom: 2rem; }
    .page_news .pagerDsp a {
      font-size: 1.5rem; }

  .top_about {
    padding: 6rem 0; }
    .top_about .icon {
      display: none; }
    .top_about p {
      font-size: 1.5rem;
      line-height: 185%;
      font-feature-settings: initial;
      margin-bottom: 2rem; }

  .top_business {
    padding: 1.5rem 0 6rem; }
    .top_business-wrap {
      margin-bottom: 6rem; }
    .top_business-gp {
      padding: 1.5rem; }
      .top_business-gp-box {
        width: 100%;
        margin-right: 0; }
        .top_business-gp-box:first-child {
          order: 1;
          margin-top: 2rem; }
        .top_business-gp-box p {
          margin-bottom: 2rem; }
        .top_business-gp-box .item:first-child {
          width: 100%;
          padding-top: 0;
          margin-bottom: 1.5rem; }
        .top_business-gp-box .item:last-child {
          width: 100%; }
        .top_business-gp-box .item.number img {
          height: 4rem; }

  .top_our a {
    padding: 3rem 1.5rem 14.5rem; }
    .top_our a::before {
      width: 100%;
      height: 12.5rem;
      clip-path: initial;
      right: 0;
      top: auto;
      bottom: 0; }
    .top_our a .img {
      margin-bottom: 1rem; }
      .top_our a .img img {
        height: 3rem; }
    .top_our a .txt {
      font-size: 2.4rem;
      padding-right: 3rem; }
      .top_our a .txt::before {
        width: 2rem;
        height: 2rem; }

  .top_company {
    padding: 6rem 0; }
    .top_company::after {
      width: 35rem;
      height: 22.7rem; }
    .top_company p {
      font-size: 2rem;
      margin-bottom: 3rem; }
    .top_company .title-default-03 {
      font-feature-settings: 'palt'; }

  .top_recruit {
    padding: 6rem 0; }
    .top_recruit::after {
      width: 100%;
      content: none; }
    .top_recruit p {
      font-size: 1.5rem;
      margin-bottom: 2rem; }
    .top_recruit .title-default-03.vz-02 {
      margin-bottom: 2rem; }

  .mv-scroll {
    display: none; }

  .txt-default-01 p, .txt-default-02 p {
    font-size: 1.5rem; }

  .busi_01-gp-box:first-child {
    width: 100%;
    padding-left: 0;
    margin-bottom: 3rem;
    padding-top: 1rem; }
  .busi_01-gp-box:last-child {
    width: 100%; }
  .busi_01-gp-box .title-default-03 {
    margin-bottom: 2rem; }

  .busi_02 {
    padding: 10rem 0 6rem; }

  .busi_03 {
    padding: 6rem 0; }

  .busi-block-flow {
    padding: 0 1.5rem; }
  .busi-field-item {
    width: 100%;
    margin-right: 0;
    margin-bottom: 1.5rem; }
    .busi-field-item:last-child {
      margin-bottom: 0; }
    .busi-field-item p {
      padding: 0;
      font-size: 1.5rem; }
    .busi-field-item .cont {
      padding: 1.5rem; }

  .comp_01 {
    margin-top: 6rem; }

  .message-gp-box {
    width: 100%;
    margin-right: 0; }
    .message-gp-box:nth-child(2n) {
      margin-top: 3rem; }
    .message-gp-box .txt-default-02 p {
      margin-bottom: 2rem; }
    .message-gp-box .author p .name {
      font-size: 1.8rem; }

  .company-table-01 td {
    float: left;
    width: 100%;
    font-size: 1.5rem;
    padding: 1rem 1.5rem;
    border-bottom: 0; }
    .company-table-01 td:first-child {
      width: 100%;
      background: rgba(237, 28, 36, 0.8);
      color: #FFFFFF; }
      .company-table-01 td:first-child::before {
        content: none; }
    .company-table-01 td:last-child {
      padding-left: 1.5rem; }
    .company-table-01 td .txt-default-01 p {
      margin-bottom: 2rem; }

  .profile {
    margin-bottom: 6rem; }

  .history {
    margin-bottom: 6rem; }

  .access .title-default-04.vz-02 {
    margin-bottom: 2rem; }
  .access .txt-default-01 p {
    margin-bottom: 3rem; }
  .access iframe {
    height: 30rem; }

  .recr_mess {
    margin: 6rem 0; }
    .recr_mess-gp-box:first-child {
      width: 100%;
      padding-right: 0;
      margin-bottom: 2rem; }
    .recr_mess-gp-box:last-child {
      width: 100%;
      margin-right: 0; }
    .recr_mess .title-default-01.vz-03 {
      margin-bottom: 2rem; }

  .voice {
    margin-bottom: 6rem; }
    .voice-title {
      font-size: 1.8rem; }
    .voice-gp-box {
      padding: 1.5rem;
      flex-wrap: wrap; }
      .voice-gp-box .item:first-child {
        width: 8rem;
        margin: 0 auto 1rem; }
      .voice-gp-box .item:last-child {
        width: 100%;
        padding-left: 0; }
    .voice .txt-default-01 p {
      font-size: 1.5rem; }

  .job-requir {
    margin-bottom: 6rem; }
    .job-requir .title-default-04.vz-02 {
      margin-bottom: 2rem; }

  .interview {
    margin-bottom: 6rem; }
    .interview .title-default-04.vz-02 {
      margin-bottom: 2rem; }

  .contact {
    margin: 6rem 0; }
    .contact-head {
      margin-bottom: 3rem; }
    .contact-table td {
      float: left;
      width: 100%;
      font-size: 1.5rem;
      padding: 1.5rem 0; }
      .contact-table td:first-child {
        width: 100%;
        padding-bottom: 0; }
      .contact-table td span.vz-01 {
        margin-left: 1rem; }
      .contact-table td span.vz-02 {
        display: block; }
      .contact-table td .input-gp li {
        margin-bottom: 1.5rem; }
      .contact-table td .input-item {
        font-size: 1.5rem;
        height: 5rem; }
        .contact-table td .input-item.vz-02 {
          margin-left: 1rem; }
      .contact-table td textarea.input-item {
        height: 17rem; }
    .contact-table tr.vz-02 td:first-child {
      padding-top: 1.5rem; }
    .contact-confirm {
      margin-bottom: 3rem; }
      .contact-confirm label {
        margin-bottom: 3rem; }
        .contact-confirm label .item {
          font-size: 1.5rem; }
    .contact-btn-01 * {
      font-size: 1.5rem; }

  .constr {
    padding: 2rem 0 6rem; }
    .constr_gp {
      grid-template-columns: repeat(2, 1fr);
      gap: 1.5rem;
      margin-bottom: 6rem; }
      .constr_gp-box p {
        font-size: 1.5rem; }
    .constr-block p {
      padding: 1.5rem;
      font-size: 1.5rem; } }
@media (max-width: 767px) {
  .banner-img.vz-02 img {
    object-position: right; }

  .mv-cont::after {
    top: -2.2rem; }

  .news-list-01 li a {
    flex-wrap: wrap; }
    .news-list-01 li a span.date {
      width: 100%; }
    .news-list-01 li a span.txt {
      width: 100%; }

  .company-table-01 td .table-item:first-child {
    width: 100%; }
  .company-table-01 td .table-item:last-child {
    width: 100%; }

  .contact-btn-gp .contact-btn-01 {
    margin-right: 0;
    margin-bottom: 1.5rem; }
    .contact-btn-gp .contact-btn-01:last-child {
      margin-bottom: 0; } }
.page_banner_default {
  padding-top: 27.1rem;
  padding-bottom: 8.8rem;
  width: 100%;
  text-align: center;
  position: relative; }
  .page_banner_default .title {
    color: #0c2a59;
    font-size: 4rem;
    font-weight: 500;
    line-height: 120%;
    letter-spacing: 0; }
@media (max-width: 960px) {
  .page_banner_default {
    padding-top: 5.7rem;
    padding-bottom: 4.9rem; }
    .page_banner_default .title {
      font-size: 2.4rem;
      font-weight: 600; } }

.page_privacy {
  padding-bottom: 10rem; }
  @media (max-width: 960px) {
    .page_privacy {
      padding-bottom: 6rem; } }

.page_privacy_content {
  position: relative; }
  .page_privacy_content--item {
    border-left: .4rem solid #0C2A59;
    padding-left: 2.8rem;
    padding-top: .2rem;
    padding-bottom: .4rem; }
    .page_privacy_content--item:nth-child(2) {
      margin-top: 9.4rem; }
    .page_privacy_content--item:not(:last-child) {
      margin-bottom: 5.5rem; }
  .page_privacy_content h3 {
    color: #0c2a59;
    font-size: 2rem;
    font-weight: 600;
    line-height: 150%;
    letter-spacing: 0;
    margin-bottom: 0.8rem; }
  .page_privacy_content p,
  .page_privacy_content li {
    color: #0c2a59;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 175%;
    letter-spacing: 0; }
  @media (min-width: 960.5px) {
    .page_privacy_content p.vz-02 {
      letter-spacing: -0.05rem; } }
  .page_privacy_content ul li {
    padding-left: 1.4rem;
    position: relative; }
    .page_privacy_content ul li::before {
      content: '•';
      position: absolute;
      left: 0rem;
      top: -0.1rem;
      color: #0c2a59;
      font-size: 2rem; }
@media (max-width: 960px) {
  .page_privacy_content {
    position: relative; }
    .page_privacy_content--item {
      border-left: .2rem solid #0C2A59;
      padding-left: 1.8rem; }
      .page_privacy_content--item:nth-child(2) {
        margin-top: 5.4rem; }
      .page_privacy_content--item:not(:last-child) {
        margin-bottom: 3rem; }
    .page_privacy_content h3 {
      font-size: 1.8rem; }
    .page_privacy_content p,
    .page_privacy_content li {
      font-size: 1.5rem;
      line-height: 185%; }
    .page_privacy_content ul li {
      padding-left: 1.4rem;
      position: relative; }
      .page_privacy_content ul li::before {
        content: '•';
        position: absolute;
        left: 0rem;
        top: -0.1rem;
        color: #0c2a59;
        font-size: 2rem; }
    .page_privacy_content p > span {
      display: block;
      padding-left: 6.5rem; }
      .page_privacy_content p > span + br {
        display: none; } }

/*# sourceMappingURL=style.min.css.map */
