@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
@keyframes r1 {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
@keyframes r2 {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(-360deg); } }
/* =========================================================
 * reset　　　    /*リセット
========================================================= */
blockquote, body, div, dl, dt, dd, fieldset, form, h1, h2, h3, h4, h5, h6, input, li, ol, p, pre, select, span, textarea, td, th, ul, figure, figcaption {
  margin: 0px;
  padding: 0px; }

fieldset, img {
  border: 0; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

ol {
  list-style-type: none; }

ul {
  list-style-type: none; }
  ul li {
    list-style-type: none; }

img {
  border: none;
  vertical-align: bottom; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th {
  text-align: left; }

iframe {
  border: none; }

a:focus {
  outline: none; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

li img {
  line-height: 0;
  font-size: 0;
  vertical-align: top; }

/* IE */
* html ul li dl, * html ol li dl {
  display: inline; }
*:first-child + html ul li dl, *:first-child + html ol li dl {
  display: inline; }

/* =========================================================
 * default settings      　   /*デフォルトセッティング
========================================================= */
html {
  font-size: 62.5%; }

* {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  　word-break: keep-all;
  line-break: strict;
  word-wrap: break-word;
  overflow-wrap: break-word; }

p {
  line-break: strict; }

a {
  -webkit-transition: opacity 0.3s ease-out;
  -moz-transition: opacity 0.3s ease-out;
  -ms-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out; }
  a:hover {
    opacity: 0.7;
    -webkit-opacity: .7;
    -moz-opacity: .7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)"; }

body {
  font-size: 1.4rem;
  font: inherit;
  font-family: YuGothic, "Yu Gothic medium", "Yu Gothic", "Hiragino Sans", Meiryo, "sans-serif";
  line-height: 1.6;
  background: #fff;
  -webkit-text-size-adjust: 100%;
  color: #403f41; }

#wrapper {
  width: 100%; }

.pc {
  display: block; }

.tb, .sp {
  display: none; }

.hide, .hidden {
  visibility: hidden; }

img {
  max-width: 100%; }

article {
  display: block; }

@media screen and (max-width: 768px) {
  .pc, .sp {
    display: none; }

  .tb {
    display: block; } }
@media screen and (max-width: 767px) {
  a {
    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    transition: none; }
    a:hover {
      opacity: 1;
      -webkit-opacity: 1;
      -moz-opacity: 1;
      filter: alpha(opacity=100);
      /* IE lt 8 */
      -ms-filter: "alpha(opacity=100)";
      /* IE 8 */ }

  body {
    -webkit-text-size-adjust: 100%;
    background: #fff;
    min-width: 100%; }

  img {
    width: 100%; }

  .pc {
    display: none; }

  .tb, .sp {
    display: block; } }
/* =========================================================
 * font
========================================================= */
/*Robot*/
.roboto {
  font-family: 'Roboto', sans-serif; }

.zenmaru-g {
  font-family: 'Zen Maru Gothic', sans-serif; }

.noto {
  font-family: "Noto Sans JP", sans-serif; }

.poppins {
  font-family: "Poppins", sans-serif; }

/* =========================================================
 * clearfix　　   /*クリアフィックス
========================================================= */
.clearfix {
  zoom: 1; }
  .clearfix:before {
    content: "";
    display: table; }
  .clearfix:after {
    content: "";
    display: table;
    clear: both; }

.fade,
.fadein,
.fadein-top,
.fadein-left,
.fadein-right,
.opening {
  opacity: 0;
  transition: all 0.875s ease-in-out; }

.fade {
  transform: translate(0, 0); }

.fadein {
  transform: translate(0, 50px); }

.fadein-top {
  transform: translate(0, -50px); }

.fadein-left {
  transform: translate(-50px, 0); }

.fadein-right {
  transform: translate(50px, 0); }

.fade.scrollin,
.fadein.scrollin,
.fadein-top.scrollin,
.fadein-left.scrollin,
.fadein-right.scrollin,
.opening.active {
  opacity: 1;
  transform: translate(0, 0); }

.notel {
  pointer-events: none; }

.soon a {
  color: #005bab;
  pointer-events: none;
  display: inline-block; }

a {
  text-decoration: none; }

.contact--inner {
  display: none; }

main {
  width: 100%; }
  main .header {
    width: 100%;
    min-width: 1024px;
    height: 112px;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 50; }
    main .header--inner {
      width: 100%;
      height: 100%;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      main .header--inner .logo {
        width: 450px;
        margin-left: 3.1%; }
        main .header--inner .logo a {
          width: 100%;
          display: flex;
          justify-content: space-between;
          align-items: center; }
          main .header--inner .logo a .image {
            width: 115px; }
          main .header--inner .logo a p {
            width: calc(100% - 120px);
            font-size: 1.5rem;
            font-weight: bold;
            line-height: 1.4;
            letter-spacing: .1em;
            color: #005bab; }
            main .header--inner .logo a p.tops {
              font-size: 1.5rem; }
            main .header--inner .logo a p small {
              display: block;
              letter-spacing: 0;
              margin-left: 10px; }
      main .header--inner--nav {
        width: calc(100% -  450px);
        display: flex;
        justify-content: flex-end;
        align-items: center; }
        main .header--inner--nav .menu-trigger {
          order: 3;
          display: block;
          width: 112px;
          height: 112px;
          position: relative;
          transition: all .4s ease-in-out;
          box-sizing: border-box;
          cursor: pointer;
          z-index: 2001;
          background-color: #d7092f; }
          main .header--inner--nav .menu-trigger span {
            position: absolute;
            width: 50%;
            height: 2px;
            left: 50%;
            margin-left: -25%;
            background-color: white;
            transition: all .4s ease-in-out;
            box-sizing: border-box;
            cursor: pointer; }
            main .header--inner--nav .menu-trigger span:nth-of-type(1) {
              top: 30%; }
            main .header--inner--nav .menu-trigger span:nth-of-type(2) {
              top: 47.5%; }
            main .header--inner--nav .menu-trigger span:nth-of-type(3) {
              bottom: 30%; }
          main .header--inner--nav .menu-trigger.active span {
            background-color: white;
            z-index: 20001; }
            main .header--inner--nav .menu-trigger.active span:nth-of-type(1) {
              top: 50%;
              margin-top: 0;
              -webkit-transform: rotate(315deg);
              -moz-transform: rotate(315deg);
              transform: rotate(315deg); }
            main .header--inner--nav .menu-trigger.active span:nth-of-type(2) {
              opacity: 0; }
            main .header--inner--nav .menu-trigger.active span:nth-of-type(3) {
              top: 50%;
              margin-top: 0;
              -webkit-transform: rotate(-315deg);
              -moz-transform: rotate(-315deg);
              transform: rotate(-315deg); }
        main .header--inner--nav .globalnav {
          display: none;
          position: absolute;
          top: 112px;
          width: 100%;
          background: #ececed;
          padding-bottom: 80px; }
          main .header--inner--nav .globalnav .menutop {
            font-family: "Poppins", sans-serif;
            font-weight: 600;
            text-align: center;
            padding: 74px 0 30px;
            font-size: 28px;
            color: #005bab; }
          main .header--inner--nav .globalnav ul {
            display: flex;
            justify-content: center;
            gap: 0 80px; }
            main .header--inner--nav .globalnav ul li {
              font-size: 20px;
              font-weight: bold;
              text-align: center; }
              main .header--inner--nav .globalnav ul li a {
                color: #005bab; }
                main .header--inner--nav .globalnav ul li a small {
                  display: block;
                  font-family: "Poppins", sans-serif;
                  font-weight: 600;
                  text-align: center;
                  font-size: 11px;
                  line-height: 1.4; }
          main .header--inner--nav .globalnav .entrybanner {
            width: 500px;
            margin: 50px auto 0; }
            main .header--inner--nav .globalnav .entrybanner a {
              background: #d7092f;
              color: #fff;
              display: flex;
              justify-content: center;
              align-items: center;
              padding: 20px 0;
              gap: 0 30px; }
              main .header--inner--nav .globalnav .entrybanner a figure {
                width: 74px; }
              main .header--inner--nav .globalnav .entrybanner a dl {
                width: 320px;
                font-size: 13px; }
                main .header--inner--nav .globalnav .entrybanner a dl dt {
                  font-size: 20px;
                  font-weight: bold; }
        main .header--inner--nav .sns-app {
          width: 140px; }
          main .header--inner--nav .sns-app a {
            display: block;
            width: 100%;
            height: 100%;
            color: #000;
            text-align: center;
            background-color: #dfe0e1;
            padding: 11px 0; }
            main .header--inner--nav .sns-app a .info .image {
              max-width: 50%;
              margin: 0 auto; }
            main .header--inner--nav .sns-app a .info p {
              font-size: 1.2rem;
              font-weight: bold;
              line-height: 1;
              letter-spacing: .05em;
              margin-top: 8px; }
        main .header--inner--nav .contact {
          width: 200px; }
          main .header--inner--nav .contact .btn {
            padding: 9px 0;
            box-sizing: border-box;
            border: 1px solid #005bab;
            border-bottom: none;
            color: #005bab;
            background: #fff; }
          main .header--inner--nav .contact--top {
            background: #005bab;
            color: #fff;
            font-weight: bold;
            font-size: 15px;
            line-height: 1.2;
            text-align: center;
            padding: 14px 0 24px;
            overflow: hidden;
            cursor: pointer;
            position: relative;
            height: 112px; }
            main .header--inner--nav .contact--top figure {
              display: block;
              width: 30px;
              margin: 0 auto 10px; }
            main .header--inner--nav .contact--top:after {
              content: '';
              display: block;
              position: absolute;
              left: 50%;
              margin-left: -6px;
              width: 10px;
              height: 10px;
              border-bottom: 2px solid #fff;
              border-right: 2px solid #fff;
              bottom: 8px;
              transform: rotate(45deg); }
            main .header--inner--nav .contact--top.on:after {
              bottom: 2px;
              transform: rotate(-135deg); }
          main .header--inner--nav .contact--inner {
            position: absolute;
            width: 200px;
            top: 112px;
            height: auto;
            text-align: center;
            border-bottom: 1px solid #005bab; }
          main .header--inner--nav .contact span {
            font-size: 1.8rem;
            font-family: "Roboto", sans-serif;
            font-weight: bold;
            line-height: 1;
            letter-spacing: .05em;
            color: #005bab; }
            main .header--inner--nav .contact span em {
              font-size: 1.2rem;
              font-family: inherit;
              letter-spacing: .15em;
              display: block;
              margin-bottom: .3em; }
  main article {
    padding-top: 112px; }
    main article h3.topttl {
      font-size: 24px;
      font-weight: bold;
      color: #005bab;
      text-align: center;
      font-family: "Poppins", sans-serif;
      font-weight: 600; }
    main article .rel_banner {
      margin-top: 5vw;
      background: #005bab;
      color: #fff;
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      padding: 40px 0; }
      main article .rel_banner h3 {
        width: 100%;
        font-size: 22px;
        font-weight: bold;
        text-align: center;
        padding-bottom: 20px; }
        main article .rel_banner h3 span {
          display: block;
          width: 46px;
          margin: 0 auto 8px; }
      main article .rel_banner .btn {
        width: 320px;
        text-align: center; }
        main article .rel_banner .btn span {
          font-family: "Poppins", sans-serif;
          font-weight: 600;
          font-size: 35px; }
          main article .rel_banner .btn span em {
            display: block;
            font-family: YuGothic, "Yu Gothic medium", "Yu Gothic", "Hiragino Sans", Meiryo, "sans-serif";
            font-size: 16px; }
        main article .rel_banner .btn:nth-child(3) {
          border: 1px solid #fff;
          border-top: none;
          border-bottom: none; }
    main article .service-area {
      background: #f2f3f3;
      padding: 105px 0 100px;
      position: relative; }
      main article .service-area .map {
        position: absolute;
        width: 80.5833333333vw;
        max-width: 967px;
        right: 0;
        top: 0; }
      main article .service-area--inner h3 {
        font-size: 24px;
        font-weight: bold;
        color: #005bab; }
      main article .service-area--inner .txt {
        font-size: 16px;
        font-weight: bold;
        padding: 10px 0 30px 0; }
      main article .service-area--inner .txt_under {
        width: 524px;
        font-size: 14px;
        padding: 20px 0 0;
        text-align: justify; }
        main article .service-area--inner .txt_under strong {
          display: block;
          color: #005bab;
          font-weight: bold;
          font-size: 16px;
          padding-bottom: 5px; }
    main article .loop_wrap {
      position: absolute;
      display: flex;
      width: 100vw;
      overflow: hidden;
      white-space: nowrap;
      z-index: 1; }
@keyframes loop {
  0% {
    transform: translateX(100%); }
  to {
    transform: translateX(-100%); } }
@keyframes loop2 {
  0% {
    transform: translateX(0); }
  to {
    transform: translateX(-200%); } }
      main article .loop_wrap p {
        ffont-family: "Poppins", sans-serif;
        font-weight: 400;
        font-size: 5vw;
        line-height: 1;
        color: #fff;
        padding: 0 0.8333333333vw;
        flex-shrink: 0;
        will-change: transform; }
        main article .loop_wrap p:first-child {
          animation: loop 150s -75s linear infinite; }
        main article .loop_wrap p:last-child {
          animation: loop2 150s linear infinite; }
    main article .event-btn {
      position: fixed;
      left: 0.8333333333vw;
      bottom: 5.8333333333vw;
      z-index: 3; }
      main article .event-btn a {
        display: block;
        width: 11.6666666667vw; }
  main .footer--upper {
    margin-top: 80px;
    color: #fff;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding: 40px 0 0;
    margin-bottom: -50px; }
    main .footer--upper h3 {
      width: 100%;
      font-size: 22px;
      font-weight: bold;
      text-align: center;
      padding-bottom: 40px;
      color: #005bab; }
      main .footer--upper h3 span {
        display: block;
        width: 46px;
        margin: 0 auto 8px; }
    main .footer--upper .btn {
      width: 320px;
      text-align: center;
      background: #005bab;
      padding: 10px 0; }
      main .footer--upper .btn span {
        font-family: "Poppins", sans-serif;
        font-weight: 600;
        font-size: 35px; }
        main .footer--upper .btn span em {
          display: block;
          font-family: YuGothic, "Yu Gothic medium", "Yu Gothic", "Hiragino Sans", Meiryo, "sans-serif";
          font-size: 16px; }
      main .footer--upper .btn:nth-child(3) {
        border: 1px solid #fff;
        border-top: none;
        border-bottom: none; }
  main .footer picture {
    display: block;
    width: 100%;
    height: 600px;
    background: url("../images/common/footer.webp") no-repeat center center/cover; }
  main .footer #pagetop {
    width: 50px;
    height: 50px;
    background-color: #005bab;
    padding: 10px;
    position: fixed;
    right: 3%;
    z-index: 49; }
    main .footer #pagetop a {
      display: block;
      width: 100%;
      height: 100%;
      text-decoration: none;
      background: url("../images/common/btn-pagetop.png") no-repeat 0 0/cover; }
    main .footer #pagetop.bottom {
      position: absolute; }
  main .footer--over {
    margin-top: 240px;
    position: relative;
    background: url("../images/common/footer_bg.png") no-repeat center center/cover;
    min-height: 610px;
    position: relative; }
    main .footer--over--inner {
      position: relative;
      top: -150px;
      left: 50%;
      transform: translateX(-50%); }
      main .footer--over--inner h2 {
        font-size: 2.6rem;
        font-weight: bold;
        line-height: 1;
        letter-spacing: .15em;
        text-align: center;
        color: #005bab; }
      main .footer--over--inner--category {
        display: flex;
        justify-content: center;
        flex-wrap: wrap; }
        main .footer--over--inner--category .contact {
          width: 340px;
          background-color: #005bab;
          color: #fff;
          text-align: center;
          padding: 25px 0;
          margin: 70px 4% 0 0; }
          main .footer--over--inner--category .contact:last-of-type {
            margin-right: 0;
            background-color: #d7092f; }
          main .footer--over--inner--category .contact a {
            color: #fff; }
          main .footer--over--inner--category .contact span {
            font-size: 3.7rem;
            font-family: "Roboto", sans-serif;
            font-weight: bold;
            line-height: 1;
            letter-spacing: .05em; }
            main .footer--over--inner--category .contact span em {
              font-size: 1.3rem;
              font-family: inherit;
              letter-spacing: .15em;
              display: block;
              margin-top: 10px; }
  main .footer--under {
    width: 100%;
    background-color: #fff;
    padding: 40px 0; }
    main .footer--under--inner {
      max-width: 93.7%;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      flex-wrap: wrap; }
      main .footer--under--inner .logo {
        max-width: 600px; }
        main .footer--under--inner .logo a {
          width: 100%;
          height: 100%;
          display: flex;
          justify-content: space-between;
          align-items: center;
          pointer-events: none; }
          main .footer--under--inner .logo a .image {
            width: 21.7%; }
          main .footer--under--inner .logo a p {
            width: 75%;
            font-size: 1.5rem;
            font-weight: bold;
            line-height: 1;
            letter-spacing: .1em;
            color: #005bab; }
            main .footer--under--inner .logo a p em {
              display: block;
              font-size: 1.3rem;
              font-weight: 500;
              letter-spacing: .05em;
              margin-top: 12px; }
      main .footer--under--inner .copyright {
        display: inline-block;
        font-size: 1.0rem;
        margin-bottom: 7px;
        text-align: right; }
      main .footer--under--inner .cpright {
        max-width: 400px; }
        main .footer--under--inner .cpright ul {
          width: 100%;
          display: flex;
          justify-content: flex-end; }
          main .footer--under--inner .cpright ul li {
            margin-left: 1.2rem;
            padding-left: 1.2rem;
            font-size: 1.1rem; }
            main .footer--under--inner .cpright ul li a {
              display: block;
              height: auto;
              position: relative;
              color: #333; }
              main .footer--under--inner .cpright ul li a:before {
                position: absolute;
                content: "|";
                left: -1.2rem;
                top: 0;
                color: #333; }
            main .footer--under--inner .cpright ul li:first-child a:before {
              content: none; }
        main .footer--under--inner .cpright .copyright {
          display: block;
          width: 100%;
          text-align: right; }

.pages article {
  overflow: hidden; }
  .pages article .main--inner {
    position: relative; }
    .pages article .main--inner--copy {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      -webkit-transform: translate(-50%, -50%);
      -moz-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%); }
      .pages article .main--inner--copy h2 {
        font-size: 36px;
        font-weight: bold;
        line-height: 1;
        letter-spacing: .15em;
        font-feature-settings: normal;
        color: #fff;
        display: inline;
        text-align: center; }
        .pages article .main--inner--copy h2 small {
          display: block;
          font-family: "Poppins", sans-serif;
          font-weight: 600;
          font-size: 16px;
          margin-top: 10px;
          letter-spacing: 0; }

@media screen and (max-width: 767px) {
  .notel {
    pointer-events: initial; }

  main .header {
    min-width: 100vw;
    height: 16vw; }
    main .header--inner .logo {
      width: 80vw;
      margin-left: 2%; }
      main .header--inner .logo a .image {
        width: 18.6666666667vw; }
      main .header--inner .logo a p {
        width: 61.3333333333vw;
        font-size: 3.2vw; }
        main .header--inner .logo a p.tops {
          font-size: 2.9333333333vw; }
        main .header--inner .logo a p small {
          display: block;
          letter-spacing: 0;
          font-size: 2.4vw; }
    main .header--inner--nav {
      width: 100%; }
      main .header--inner--nav nav {
        width: 100% !important; }
        main .header--inner--nav nav ul li {
          font-size: 3.7vw; }
          main .header--inner--nav nav ul li a {
            padding: 15px 0 15px 30px; }
            main .header--inner--nav nav ul li a:before {
              width: 30px; }
          main .header--inner--nav nav ul li.trigger ul li {
            height: 41px;
            margin-right: 0; }
            main .header--inner--nav nav ul li.trigger ul li a {
              font-size: 3.7vw; }
            main .header--inner--nav nav ul li.trigger ul li:nth-of-type(1) a {
              padding: 0 0 0 20px; }
            main .header--inner--nav nav ul li.trigger ul li:nth-of-type(2) a {
              padding: 0 0 0 20px; }
      main .header--inner--nav .menu-trigger {
        width: 16vw;
        height: 16vw; }
      main .header--inner--nav .globalnav {
        top: 16vw;
        width: 100%;
        padding-bottom: 0vw; }
        main .header--inner--nav .globalnav .menutop {
          padding: 8vw 0 8vw;
          font-size: 5.3333333333vw; }
        main .header--inner--nav .globalnav ul {
          width: 100%;
          flex-wrap: wrap;
          border-bottom: 0.2666666667vw solid #fff;
          gap: 0; }
          main .header--inner--nav .globalnav ul li {
            width: 100%;
            font-size: 4.2666666667vw;
            padding: 4vw 0;
            border-top: 0.2666666667vw solid #fff; }
            main .header--inner--nav .globalnav ul li a {
              padding: 4vw 0; }
              main .header--inner--nav .globalnav ul li a small {
                font-size: 2.9333333333vw; }
        main .header--inner--nav .globalnav .entrybanner {
          width: 100%;
          margin: 0px auto 0; }
          main .header--inner--nav .globalnav .entrybanner a {
            padding: 4vw;
            gap: 5.3333333333vw; }
            main .header--inner--nav .globalnav .entrybanner a figure {
              width: 19.7333333333vw; }
            main .header--inner--nav .globalnav .entrybanner a dl {
              width: 74.6666666667vw;
              font-size: 3.2vw; }
              main .header--inner--nav .globalnav .entrybanner a dl dt {
                font-size: 4.8vw; }
      main .header--inner--nav .sns-app {
        position: fixed;
        bottom: 0;
        left: 0;
        height: 16vw;
        width: 32vw; }
        main .header--inner--nav .sns-app a {
          padding: 2.1333333333vw 0; }
          main .header--inner--nav .sns-app a .info .image {
            max-width: 8vw;
            margin: 0 auto; }
          main .header--inner--nav .sns-app a .info p {
            font-size: 2.6666666667vw;
            font-weight: bold;
            margin-top: 2.1333333333vw; }
      main .header--inner--nav .contact {
        position: fixed;
        bottom: 0;
        right: 0;
        height: 16vw;
        width: 68vw; }
        main .header--inner--nav .contact--top {
          background: #005bab;
          color: #fff;
          font-weight: bold;
          font-size: 3.2vw;
          text-align: center;
          padding: 4vw 0;
          display: flex;
          justify-content: center;
          align-items: center;
          height: 16vw; }
          main .header--inner--nav .contact--top figure {
            display: inline-block;
            width: 8vw;
            margin: 0 auto 0px; }
          main .header--inner--nav .contact--top:after {
            content: none; }
          main .header--inner--nav .contact--top strong {
            width: 53.3333333333vw; }
            main .header--inner--nav .contact--top strong br {
              display: none; }
        main .header--inner--nav .contact--inner {
          position: fixed;
          width: 68vw;
          top: auto;
          bottom: 16vw !important;
          text-align: center;
          border-bottom: 1px solid #005bab;
          display: none; }
          main .header--inner--nav .contact--inner.on {
            bottom: 16vw !important; }
        main .header--inner--nav .contact span {
          font-size: 1.8rem;
          font-family: "Roboto", sans-serif;
          font-weight: bold;
          line-height: 1;
          letter-spacing: .05em;
          color: #005bab; }
          main .header--inner--nav .contact span em {
            font-size: 1.2rem;
            font-family: inherit;
            letter-spacing: .15em;
            display: block;
            margin-bottom: .3em; }
  main article {
    padding-top: 16vw; }
    main article h3.topttl {
      font-size: 5.3333333333vw; }
    main article .rel_banner {
      margin-top: 8vw;
      padding: 5.3333333333vw 0; }
      main article .rel_banner h3 {
        width: 100%;
        font-size: 4.8vw;
        padding-bottom: 4.8vw; }
        main article .rel_banner h3 span {
          display: block;
          width: 10.6666666667vw;
          margin: 0 auto 2.1333333333vw; }
      main article .rel_banner .btn {
        width: 85.3333333333vw;
        padding: 1.3333333333vw 0; }
        main article .rel_banner .btn span {
          font-size: 6.9333333333vw;
          color: #fff; }
          main article .rel_banner .btn span em {
            display: block;
            font-size: 3.7333333333vw; }
        main article .rel_banner .btn:nth-child(3) {
          border: none;
          border-top: 1px solid #fff;
          border-bottom: 1px solid #fff; }
    main article .service-area {
      padding: 13.3333333333vw 0; }
      main article .service-area .map {
        position: static;
        width: 85.3333333333vw;
        right: 0;
        top: 0;
        margin: 0 auto; }
      main article .service-area--inner h3 {
        font-size: 4.8vw;
        width: 85.3333333333vw;
        margin: 0 auto; }
      main article .service-area--inner .txt {
        font-size: 3.7333333333vw;
        padding: 2.6666666667vw 0 5.3333333333vw 0;
        width: 85.3333333333vw;
        margin: 0 auto; }
      main article .service-area--inner .txt_under {
        width: 85.3333333333vw;
        margin: 0 auto;
        font-size: 3.4666666667vw;
        padding: 2.6666666667vw 0 0; }
        main article .service-area--inner .txt_under strong {
          font-size: 3.2vw;
          padding-bottom: 1.3333333333vw; }
    main article .loop_wrap {
      position: absolute;
      display: flex;
      width: 100vw;
      overflow: hidden;
      white-space: nowrap; }
  @keyframes loop {
    0% {
      transform: translateX(100%); }
    to {
      transform: translateX(-100%); } }
  @keyframes loop2 {
    0% {
      transform: translateX(0); }
    to {
      transform: translateX(-200%); } }
      main article .loop_wrap p {
        ffont-family: "Poppins", sans-serif;
        font-weight: 400;
        font-size: 5vw;
        line-height: 1;
        color: #fff;
        padding: 0 0.8333333333vw;
        flex-shrink: 0;
        will-change: transform; }
        main article .loop_wrap p:first-child {
          animation: loop 150s -75s linear infinite; }
        main article .loop_wrap p:last-child {
          animation: loop2 150s linear infinite; }
    main article .event-btn {
      position: fixed;
      left: 2.6666666667vw;
      bottom: 18.6666666667vw;
      z-index: 3; }
      main article .event-btn a {
        display: block;
        width: 26.6666666667vw; }
  main .footer--upper {
    margin-top: 10.6666666667vw;
    padding: 5.3333333333vw 0 0;
    margin-bottom: -8vw; }
    main .footer--upper h3 {
      font-size: 4.2666666667vw;
      padding-bottom: 5.3333333333vw; }
      main .footer--upper h3 span {
        display: block;
        width: 10.6666666667vw;
        margin: 0 auto 2.1333333333vw; }
    main .footer--upper .btn {
      width: 85.3333333333vw;
      padding: 1.3333333333vw 0; }
      main .footer--upper .btn:nth-child(3) {
        border: none;
        border-top: 1px solid #fff;
        border-bottom: 1px solid #fff; }
      main .footer--upper .btn span {
        font-size: 6.9333333333vw;
        color: #fff; }
        main .footer--upper .btn span em {
          display: block;
          font-size: 3.7333333333vw; }
  main .footer picture {
    height: 80vw; }
  main .footer--over {
    margin-top: 50vw;
    background: url("../images/common/footer_bg.png") no-repeat 20% center/cover;
    min-height: 80vw; }
    main .footer--over--inner {
      top: -30vw; }
      main .footer--over--inner h2 {
        font-size: 5.6vw;
        line-height: 1.4; }
      main .footer--over--inner--category .contact {
        width: 45%;
        padding: 13px 0;
        margin: 25px 4% 0 0; }
        main .footer--over--inner--category .contact span {
          font-size: 5.3vw; }
          main .footer--over--inner--category .contact span em {
            font-size: 2.6vw;
            margin-top: 5px; }
  main .footer--under {
    margin-bottom: 21.3333333333vw; }
    main .footer--under--inner {
      max-width: 90%; }
      main .footer--under--inner .logo a p {
        font-size: 3.7vw; }
        main .footer--under--inner .logo a p em {
          font-size: 2.4vw;
          line-height: 1.2;
          margin-top: 6px; }
      main .footer--under--inner .copyright {
        font-size: 2.6vw;
        margin: 20px auto 0; }
      main .footer--under--inner .cpright {
        width: 100%;
        max-width: 100%; }
        main .footer--under--inner .cpright ul {
          justify-content: space-between;
          margin-top: 20px; }
          main .footer--under--inner .cpright ul li {
            width: 65%;
            margin: 0%;
            padding: 0%;
            font-size: 10px;
            text-align: center;
            border-left: 1px solid #333; }
            main .footer--under--inner .cpright ul li a {
              display: block;
              height: auto;
              position: relative;
              color: #333; }
              main .footer--under--inner .cpright ul li a:before {
                content: none; }
            main .footer--under--inner .cpright ul li:first-child {
              width: 35%;
              padding: 0%;
              border-left: none; }
              main .footer--under--inner .cpright ul li:first-child a:before {
                content: none; }
        main .footer--under--inner .cpright .copyright {
          display: block;
          width: 100%;
          text-align: center; }

  .pages article .main--inner {
    position: relative; }
    .pages article .main--inner--keyvisual img {
      width: auto;
      max-width: inherit;
      height: 90vw;
      background-size: cover; }
    .pages article .main--inner--copy {
      left: 50%; }
      .pages article .main--inner--copy h2 {
        font-size: 4.8vw; } }
* #modal-overlay {
  display: none;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999; }
* #modal-content {
  width: 90%;
  margin: 0;
  padding: 0;
  background: #fff;
  display: none;
  position: fixed;
  z-index: 999999; }
  * #modal-content .inner {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    overflow: hidden; }
    * #modal-content .inner #player {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      right: 0; }

.top article .main--inner {
  display: flex;
  height: 600px;
  overflow: hidden; }
  .top article .main--inner--keyvisual {
    position: relative;
    width: 50%; }
    .top article .main--inner--keyvisual picture {
      display: block;
      width: 100%;
      height: 600px;
      background: url("../images/top/kv.webp") no-repeat center center/cover; }
    .top article .main--inner--keyvisual h1 {
      position: absolute;
      z-index: 2;
      top: 100px;
      width: 490px;
      left: 50%;
      margin-left: calc(-490px/2);
      color: #fff;
      font-weight: bold;
      font-size: 38px;
      line-height: 1.8; }
      .top article .main--inner--keyvisual h1 small {
        display: block;
        font-size: 14px;
        line-height: 1.4; }
  .top article .main--inner--img {
    width: 50%;
    /* front（上方向へスライド） */
    /* back（下方向へスライド） */ }
    .top article .main--inner--img .vertical {
      width: 50%;
      overflow: hidden;
      flex-direction: column; }
    .top article .main--inner--img .vertical img {
      display: block;
      width: 100%; }
    .top article .main--inner--img .front {
      animation: slideUp 60s linear infinite; }
    .top article .main--inner--img .back {
      top: 0;
      right: 0;
      position: absolute;
      animation: slideDown 60s linear infinite; }
@keyframes slideUp {
  0% {
    transform: translateY(0); }
  100% {
    transform: translateY(-50%); } }
@keyframes slideDown {
  0% {
    transform: translateY(-50%); }
  100% {
    transform: translateY(0); } }
.top article .banner {
  display: flex;
  flex-wrap: wrap; }
  .top article .banner--box {
    width: 50%; }
    .top article .banner--box.cl_1 {
      background: #d7092f; }
    .top article .banner--box.cl_2 {
      background: #005bab; }
    .top article .banner--box a {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 138px; }
      .top article .banner--box a picture {
        width: 67px; }
      .top article .banner--box a figure {
        width: 74px; }
      .top article .banner--box a .btn {
        width: 58px; }
      .top article .banner--box a .lead {
        color: #fff;
        font-size: 19px;
        font-weight: bold;
        margin: 0 20px; }
        .top article .banner--box a .lead small {
          display: block;
          font-size: 13px; }
.top article .news {
  margin-top: 30px;
  background-color: #f2f3f3;
  padding: 70px 0; }
  .top article .news--inner {
    max-width: 960px;
    margin: 0 auto;
    background: #fff; }
    .top article .news--inner .topttl {
      position: relative;
      top: -18px;
      margin-bottom: -18px; }
    .top article .news--inner--info {
      max-width: 720px;
      margin: 0 auto;
      padding-bottom: 30px; }
      .top article .news--inner--info dl {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-wrap: wrap;
        padding: 10px 0;
        border-bottom: 1px solid #dadada;
        text-align: left;
        letter-spacing: .1em; }
        .top article .news--inner--info dl dt {
          width: 20%;
          font-size: 1.5rem;
          font-weight: bold;
          line-height: 1.4;
          letter-spacing: .15em; }
        .top article .news--inner--info dl dd {
          width: 80%;
          font-size: 1.5rem;
          line-height: 1.4; }
          .top article .news--inner--info dl dd a {
            color: #403f41; }
.top article .recruit_area,
.top article .service-area {
  margin-top: 2.5vw; }
  .top article .recruit_area--inner,
  .top article .service-area--inner {
    max-width: 960px;
    margin: 0 auto; }
.top article .message {
  margin-top: 2.5vw; }
  .top article .message--inner {
    /*background: url("../images/top/img_pic01-1.png")no-repeat center center/100%;
    background-attachment: fixed;*/
    max-width: 100% !important;
    display: flex;
    color: #fff;
    font-weight: bold; }
    .top article .message--inner--left, .top article .message--inner--right {
      width: 50%;
      height: 50.8333333333vw;
      position: relative; }
      .top article .message--inner--left figure, .top article .message--inner--right figure {
        position: absolute;
        width: 100%;
        top: 0;
        left: 0;
        z-index: -1; }
    .top article .message--inner--left h3 {
      margin-left: 10vw;
      font-size: 1.5vw;
      margin-top: 7.0833333333vw;
      font-weight: bold; }
    .top article .message--inner--left p {
      margin-left: 10vw;
      font-size: 1.25vw;
      margin-top: 2.5vw;
      line-height: 1.8; }
.top article .recruit_area {
  position: relative; }
  .top article .recruit_area--inner {
    max-width: 100%; }
    .top article .recruit_area--inner a {
      width: 100%;
      height: 100%;
      display: block; }
  .top article .recruit_area .loop_wrap {
    top: -0.6666666667vw; }

@media screen and (max-width: 767px) {
  .top article .main--inner {
    height: auto;
    overflow: hidden;
    flex-wrap: wrap; }
    .top article .main--inner--keyvisual {
      position: relative;
      width: 100%; }
      .top article .main--inner--keyvisual picture {
        display: block;
        width: 100%;
        height: auto;
        background: url("../images/top/kv.webp") no-repeat center center/cover;
        height: 93.3333333333vw; }
      .top article .main--inner--keyvisual h1 {
        position: absolute;
        z-index: 2;
        top: 10.6666666667vw;
        width: 90.6666666667vw;
        left: 50%;
        margin-left: -45.3333333333vw;
        color: #fff;
        font-weight: bold;
        font-size: 7.4666666667vw;
        line-height: 1.8; }
        .top article .main--inner--keyvisual h1 small {
          display: block;
          font-size: 14px;
          line-height: 1.4; }
          .top article .main--inner--keyvisual h1 small br {
            display: none; }
    .top article .main--inner--img {
      width: 100%;
      height: 46.6666666667vw;
      overflow: hidden;
      /* front（上方向へスライド） */
      /* back（下方向へスライド） */ }
      .top article .main--inner--img .vertical {
        width: 50%;
        overflow: hidden;
        flex-direction: column; }
      .top article .main--inner--img .vertical img {
        display: block;
        width: 100%; }
      .top article .main--inner--img .front {
        animation: slideUp 60s linear infinite; }
      .top article .main--inner--img .back {
        top: 0;
        right: 0;
        position: absolute;
        animation: slideDown 60s linear infinite; }
  @keyframes slideUp {
    0% {
      transform: translateY(0); }
    100% {
      transform: translateY(-50%); } }
  @keyframes slideDown {
    0% {
      transform: translateY(-50%); }
    100% {
      transform: translateY(0); } }
  .top article .banner {
    display: flex;
    flex-wrap: wrap; }
    .top article .banner--box {
      width: 100%; }
      .top article .banner--box a {
        padding: 2.1333333333vw 0;
        height: auto; }
        .top article .banner--box a picture {
          width: 17.8666666667vw; }
        .top article .banner--box a figure {
          width: 19.7333333333vw; }
        .top article .banner--box a .btn {
          width: 10.6666666667vw; }
        .top article .banner--box a .lead {
          color: #fff;
          font-size: 4vw;
          margin: 0 2.6666666667vw; }
          .top article .banner--box a .lead small {
            display: block;
            font-size: 2.4vw; }
  .top article .news {
    margin-top: 8vw;
    padding: 8vw 0; }
    .top article .news--inner {
      max-width: 92vw; }
      .top article .news--inner .topttl {
        position: relative;
        top: -4.8vw;
        margin-bottom: -4.8vw; }
      .top article .news--inner--info {
        max-width: 85.3333333333vw;
        padding-bottom: 4vw; }
        .top article .news--inner--info dl {
          padding: 2.1333333333vw 0;
          flex-wrap: wrap; }
          .top article .news--inner--info dl dt {
            width: 100%;
            font-size: 3.7333333333vw; }
          .top article .news--inner--info dl dd {
            width: 100%;
            font-size: 3.7333333333vw; }
  .top article .message,
  .top article .recruit_area,
  .top article .service-area {
    margin-top: 4vw;
    min-height: auto; }
    .top article .message--inner,
    .top article .recruit_area--inner,
    .top article .service-area--inner {
      max-width: 92vw;
      margin: 0 auto; }
  .top article .message--inner {
    max-width: 100vw;
    flex-wrap: wrap; }
    .top article .message--inner--left, .top article .message--inner--right {
      width: 100%;
      min-height: auto;
      height: auto; }
      .top article .message--inner--left img, .top article .message--inner--right img {
        display: block; }
    .top article .message--inner--left h3 {
      width: 92vw;
      margin: 0 auto;
      font-size: 4vw;
      margin-top: 5.3333333333vw;
      font-weight: bold; }
    .top article .message--inner--left p {
      width: 92vw;
      margin: 0 auto;
      font-size: 3.2vw;
      margin-top: 4vw;
      padding-bottom: 5.3333333333vw; }
    .top article .message--inner--left figure {
      height: 100vw; }
    .top article .message--inner--right figure {
      position: relative;
      height: 100vw; }
  .top article .recruit_area {
    position: relative; }
    .top article .recruit_area--inner {
      max-width: 100%; }
      .top article .recruit_area--inner a {
        width: 100%;
        height: 100%;
        display: block; }
    .top article .recruit_area .loop_wrap {
      top: -1vw; }
      .top article .recruit_area .loop_wrap p {
        font-size: 10.6666666667vw; } }
.about article .main--inner--copy {
  top: 40%; }
.about article .message {
  margin-top: 30px;
  background: url("../images/about/img_bg01.png") no-repeat center center/cover;
  padding: 140px 0 330px; }
  .about article .message--inner--category {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap; }
    .about article .message--inner--category h3 {
      font-size: 2.2rem;
      font-weight: bold;
      line-height: 2.3;
      letter-spacing: .15em;
      writing-mode: vertical-rl;
      -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      font-feature-settings: normal;
      color: #fff;
      margin-left: 9.6%;
      word-break: keep-all;
      line-break: strict; }
    .about article .message--inner--category--texts {
      margin-left: 7.4%; }
      .about article .message--inner--category--texts p {
        font-size: 1.6rem;
        font-weight: bold;
        line-height: 2;
        letter-spacing: .05em;
        color: #fff; }
      .about article .message--inner--category--texts--box p {
        font-size: 1.8rem;
        margin-top: 80px; }
      .about article .message--inner--category--texts--box .logo {
        max-width: 115px;
        margin-top: 25px; }
.about article .contents {
  margin-top: 30px; }
  .about article .contents--block {
    position: relative;
    margin-top: 115px; }
    .about article .contents--block .color-back {
      width: 90%;
      position: absolute;
      top: 0;
      background-color: #f2f7fb;
      z-index: -1;
      transition: all .8s ease-out; }
    .about article .contents--block.left .contents--block--inner {
      max-width: 1090px; }
    .about article .contents--block.left .contents--block--images {
      right: 0; }
    .about article .contents--block.right .contents--block--inner {
      max-width: 1160px; }
      .about article .contents--block.right .contents--block--inner--texts {
        width: 43.1%;
        margin-left: auto; }
        .about article .contents--block.right .contents--block--inner--texts h3 {
          letter-spacing: 0; }
    .about article .contents--block.right .contents--block--images {
      left: 0; }
    .about article .contents--block--inner {
      margin: 0 auto; }
      .about article .contents--block--inner--texts {
        width: 50%; }
        .about article .contents--block--inner--texts dl {
          display: flex;
          align-items: flex-end;
          color: #005bab;
          line-height: 1; }
          .about article .contents--block--inner--texts dl dt {
            font-size: 7.4rem;
            font-family: "Roboto", sans-serif;
            font-weight: 500;
            font-style: italic; }
          .about article .contents--block--inner--texts dl dd {
            font-size: 1.6rem;
            font-weight: bold;
            letter-spacing: .15em;
            margin: 0 0 12px 5px; }
        .about article .contents--block--inner--texts h3 {
          font-size: 2.0rem;
          font-weight: bold;
          line-height: 2;
          letter-spacing: .05em;
          color: #005bab;
          margin-top: 40px; }
        .about article .contents--block--inner--texts p {
          font-size: 1.4rem;
          font-weight: bold;
          line-height: 2.2;
          letter-spacing: 0;
          text-align: justify;
          margin-top: 40px; }
          .about article .contents--block--inner--texts p.notes {
            font-size: 1.3rem;
            font-weight: 400;
            margin-top: 30px; }
        .about article .contents--block--inner--texts--category h4.title {
          max-width: 410px;
          font-size: 1.6rem;
          font-weight: bold;
          line-height: 1;
          letter-spacing: .05em;
          background-color: #005bab;
          color: #fff;
          text-align: center;
          margin-top: 40px;
          padding: 7px 0; }
        .about article .contents--block--inner--texts--category p {
          font-size: 1.8rem;
          font-weight: bold;
          line-height: 1.8;
          letter-spacing: .15em;
          color: #005bab;
          margin-top: 15px; }
        .about article .contents--block--inner--texts--category .contact {
          margin-top: 20px; }
          .about article .contents--block--inner--texts--category .contact a {
            color: #005bab; }
          .about article .contents--block--inner--texts--category .contact span {
            font-size: 4.8rem;
            font-family: "Roboto", sans-serif;
            font-weight: bold;
            line-height: 1;
            letter-spacing: .05em;
            color: #005bab; }
            .about article .contents--block--inner--texts--category .contact span em {
              display: block;
              font-size: 1.4rem;
              font-family: inherit;
              margin-top: 10px; }
        .about article .contents--block--inner--texts--category--info {
          display: flex;
          justify-content: space-between;
          align-items: center;
          flex-wrap: wrap;
          margin-top: 20px; }
          .about article .contents--block--inner--texts--category--info .btn {
            width: 22%; }
          .about article .contents--block--inner--texts--category--info .texts p {
            font-size: 1.3rem;
            font-weight: bold;
            line-height: 1.7;
            letter-spacing: -.02em;
            margin-top: 20px;
            color: inherit; }
            .about article .contents--block--inner--texts--category--info .texts p:first-of-type {
              margin-top: 0; }
            .about article .contents--block--inner--texts--category--info .texts p a {
              font-size: 1.4rem;
              line-height: 1;
              letter-spacing: .05em;
              color: #005bab; }
        .about article .contents--block--inner--texts--category--app {
          display: flex; }
          .about article .contents--block--inner--texts--category--app .btn {
            margin: 40px 3% 0 0; }
            .about article .contents--block--inner--texts--category--app .btn:last-of-type {
              margin-right: 0; }
            .about article .contents--block--inner--texts--category--app .btn a {
              display: block;
              width: 100%;
              height: 100%; }
            .about article .contents--block--inner--texts--category--app .btn.itunes-store {
              width: 26.1%; }
            .about article .contents--block--inner--texts--category--app .btn.google-play {
              width: 27.3%; }
      .about article .contents--block--inner--pay {
        max-width: 438px; }
        .about article .contents--block--inner--pay h4 {
          font-size: 1.6rem;
          font-weight: bold;
          line-height: 1;
          margin-top: 30px;
          color: #005bab; }
        .about article .contents--block--inner--pay ul {
          margin-top: 20px;
          border-bottom: 1px solid #005bab; }
          .about article .contents--block--inner--pay ul li {
            font-size: 1.4rem;
            font-weight: bold;
            line-height: 2.2;
            border-top: 1px solid #005bab;
            padding: 10px 0; }
    .about article .contents--block--images {
      max-width: 50%;
      position: absolute;
      top: -60px; }
      .about article .contents--block--images .image:nth-of-type(1) {
        width: 100%;
        max-width: 678px; }
      .about article .contents--block--images .image:nth-of-type(2) {
        width: 50%;
        max-width: 338px;
        margin: 55px 0 0 16.5%; }
  .about article .contents #block01 {
    padding: 60px 0 105px; }
    .about article .contents #block01 .color-back {
      height: 972px;
      left: -90%; }
      .about article .contents #block01 .color-back.active {
        left: 0; }
  .about article .contents #block02 {
    padding: 60px 0 220px; }
    .about article .contents #block02 .color-back {
      height: 670px;
      right: -90%; }
      .about article .contents #block02 .color-back.active {
        right: 0; }
  .about article .contents #block03 {
    padding: 60px 0 90px; }
    .about article .contents #block03 .color-back {
      height: 670px;
      left: -90%; }
      .about article .contents #block03 .color-back.active {
        left: 0; }

@media screen and (max-width: 1024px) {
  .about article .contents--block.left .contents--block--inner {
    max-width: 90%; }
  .about article .contents--block.right .contents--block--inner {
    max-width: 90%; }
  .about article .contents--block--inner--texts h3 {
    font-size: 1.9rem; }
  .about article .contents--block--inner--texts--category--info .texts {
    width: 72%; }
    .about article .contents--block--inner--texts--category--info .texts p {
      margin-top: 15px; } }
@media screen and (max-width: 768px) {
  .about article .main--inner--copy {
    top: 50%; }
  .about article .message {
    padding: 70px 0 165px; }
    .about article .message--inner--category h3 {
      margin-left: 4.8%; }
  .about article .contents--block {
    margin-top: 115px; }
    .about article .contents--block.right .contents--block--inner--texts {
      width: 50%; }
    .about article .contents--block--inner--texts {
      width: 50%; }
      .about article .contents--block--inner--texts--category h4.title {
        max-width: 100%; }
      .about article .contents--block--inner--texts--category p {
        font-size: 1.5rem; }
      .about article .contents--block--inner--texts--category--info {
        width: 72vw;
        max-width: inherit; }
      .about article .contents--block--inner--texts--category--app {
        width: 72vw;
        max-width: inherit; }
        .about article .contents--block--inner--texts--category--app .btn {
          margin: 40px 6% 0 0; }
          .about article .contents--block--inner--texts--category--app .btn.itunes-store {
            width: 31.1%; }
          .about article .contents--block--inner--texts--category--app .btn.google-play {
            width: 32.3%; }
    .about article .contents--block--inner--pay {
      width: 80vw;
      max-width: inherit; }
    .about article .contents--block--images {
      max-width: 45%; }
  .about article .contents #block01 .color-back {
    height: 130vw; }
  .about article .contents #block02 .color-back {
    height: 93vw; }
  .about article .contents #block03 .color-back {
    height: 93vw; } }
@media screen and (max-width: 767px) {
  .about article .main--inner--keyvisual {
    position: relative; }
    .about article .main--inner--keyvisual:before {
      content: '';
      display: block;
      position: absolute;
      width: 100%;
      height: 90vw;
      background: rgba(0, 0, 0, 0.2); }
  .about article .message {
    background: url("../images/about/img_bg01.png") no-repeat center bottom/cover; }
    .about article .message--inner--category h3 {
      font-size: 5.3vw; }
    .about article .message--inner--category--texts {
      width: 85%;
      margin: 50px auto 0; }
      .about article .message--inner--category--texts p {
        font-size: 3.7vw;
        line-height: 1.6; }
      .about article .message--inner--category--texts--box p {
        font-size: 4.2vw;
        margin-top: 40px; }
      .about article .message--inner--category--texts--box .logo {
        max-width: 30%;
        margin-top: 10px; }
  .about article .contents--block {
    margin-top: 60px; }
    .about article .contents--block.right .contents--block--inner--texts {
      width: 85%; }
    .about article .contents--block--inner--texts {
      width: 85%; }
      .about article .contents--block--inner--texts dl dt {
        font-size: 19.7vw; }
      .about article .contents--block--inner--texts dl dd {
        font-size: 4.2vw; }
      .about article .contents--block--inner--texts h3 {
        font-size: 5vw;
        line-height: 1.6;
        margin-top: 20px; }
      .about article .contents--block--inner--texts p {
        font-size: 3.4vw;
        line-height: 1.6;
        margin-top: 20px; }
        .about article .contents--block--inner--texts p.notes {
          font-size: 3.4vw;
          margin-top: 15px; }
      .about article .contents--block--inner--texts--category h4.title {
        font-size: 3.4vw;
        margin-top: 30px; }
      .about article .contents--block--inner--texts--category p {
        font-size: 4vw;
        line-height: 1.4; }
      .about article .contents--block--inner--texts--category .contact span {
        font-size: 10vw; }
        .about article .contents--block--inner--texts--category .contact span em {
          font-size: 3.2vw; }
      .about article .contents--block--inner--texts--category--info {
        width: 100%; }
        .about article .contents--block--inner--texts--category--info .btn {
          width: 30%; }
        .about article .contents--block--inner--texts--category--info .texts {
          width: 100%; }
          .about article .contents--block--inner--texts--category--info .texts p {
            font-size: 3.2vw; }
            .about article .contents--block--inner--texts--category--info .texts p:first-of-type {
              margin-top: 15px; }
            .about article .contents--block--inner--texts--category--info .texts p a {
              font-size: 3.4vw; }
      .about article .contents--block--inner--texts--category--app {
        width: 100%; }
        .about article .contents--block--inner--texts--category--app .btn {
          margin: 30px 6% 0 0; }
          .about article .contents--block--inner--texts--category--app .btn.itunes-store {
            width: 46.1%; }
          .about article .contents--block--inner--texts--category--app .btn.google-play {
            width: 47.3%; }
    .about article .contents--block--inner--pay {
      max-width: 438px; }
      .about article .contents--block--inner--pay h4 {
        font-size: 1.6rem;
        font-weight: bold;
        line-height: 1;
        margin-top: 30px;
        color: #005bab; }
      .about article .contents--block--inner--pay ul {
        margin-top: 20px;
        border-bottom: 1px solid #005bab; }
        .about article .contents--block--inner--pay ul li {
          font-size: 1.4rem;
          font-weight: bold;
          line-height: 2.2;
          border-top: 1px solid #005bab;
          padding: 10px 0; }
    .about article .contents--block--images {
      max-width: 100%;
      position: static;
      margin-top: 40px; }
      .about article .contents--block--images .image:nth-of-type(2) {
        display: none; }
  .about article .contents #block01 {
    padding: 30px 0 0; }
    .about article .contents #block01 .color-back {
      height: 336vw; }
  .about article .contents #block02 {
    padding: 30px 0 0; }
    .about article .contents #block02 .color-back {
      height: 211vw; }
  .about article .contents #block03 {
    padding: 30px 0 0; }
    .about article .contents #block03 .color-back {
      height: 273vw; } }
.company article .main--inner--copy {
  top: 42%; }
.company article .message {
  margin-top: 100px;
  background-color: #f2f7fb;
  padding: 0px 0 140px; }
  .company article .message .topttl {
    position: relative;
    top: -18px; }
  .company article .message--inner {
    max-width: 900px;
    margin: 0 auto; }
    .company article .message--inner--category {
      width: 100%;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      .company article .message--inner--category--texts {
        width: 550px;
        margin-top: 65px; }
        .company article .message--inner--category--texts p {
          font-size: 15px;
          font-weight: bold;
          line-height: 1.8;
          letter-spacing: .02em;
          color: #005bab;
          text-align: justify; }
      .company article .message--inner--category--image {
        width: 290px;
        margin-top: 70px; }
        .company article .message--inner--category--image dl {
          font-weight: bold;
          line-height: 1;
          letter-spacing: .05em;
          color: inherit;
          text-align: center;
          display: flex;
          align-items: center;
          margin-top: 15px; }
          .company article .message--inner--category--image dl dt {
            font-size: 15px; }
          .company article .message--inner--category--image dl dd {
            font-size: 20px;
            color: #005bab;
            margin-left: 10px; }
.company article .company {
  margin-top: 100px;
  margin-bottom: 70px; }
  .company article .company--inner {
    max-width: 900px;
    margin: 30px auto; }
    .company article .company--inner--table {
      margin-top: 30px; }
      .company article .company--inner--table dl {
        display: flex;
        justify-content: space-between;
        font-size: 1.4rem;
        font-weight: bold;
        line-height: 1.6;
        padding: 15px 0;
        border-top: 1px dotted #005bab; }
        .company article .company--inner--table dl:first-of-type {
          border-top: none; }
        .company article .company--inner--table dl dt {
          width: 160px;
          letter-spacing: .1em;
          color: #005bab; }
        .company article .company--inner--table dl dd {
          width: calc(100% - 160px);
          letter-spacing: .05em; }
          .company article .company--inner--table dl dd .list {
            padding: 0;
            border: none; }
            .company article .company--inner--table dl dd .list dt {
              width: 18%;
              position: relative;
              padding-left: 20px; }
              .company article .company--inner--table dl dd .list dt:before {
                position: absolute;
                content: "●";
                left: 0; }
            .company article .company--inner--table dl dd .list dd {
              width: 82%; }
    .company article .company--inner--link {
      font-size: 1.4rem;
      font-weight: bold;
      line-height: 1.2;
      padding: 25px 0; }
      .company article .company--inner--link a {
        color: #005bab;
        text-decoration: underline; }
.company article .middle {
  display: block;
  width: 100%;
  height: 600px;
  background: url("../images/company/img_2.webp") no-repeat center center/cover; }
.company article .access {
  margin-top: 100px;
  margin-bottom: 70px; }
  .company article .access--inner {
    width: 900px;
    margin: 0 auto; }
    .company article .access--inner--box {
      display: flex;
      justify-content: space-between;
      margin-top: 70px; }
      .company article .access--inner--box .boxinner {
        width: 410px; }
        .company article .access--inner--box .boxinner h4 {
          font-size: 20px;
          font-weight: bold;
          background: #005bab;
          color: #fff;
          padding: 4px 0 4px 10px; }
        .company article .access--inner--box .boxinner .txt {
          font-size: 15px;
          font-weight: bold;
          padding: 10px 0 10px 10px; }
        .company article .access--inner--box .boxinner--box {
          background: #f2f7fb;
          padding: 25px; }
          .company article .access--inner--box .boxinner--box p {
            font-size: 16px;
            font-weight: bold;
            color: #005bab; }
          .company article .access--inner--box .boxinner--box ul {
            margin-top: 10px;
            font-size: 14px;
            font-weight: bold; }
            .company article .access--inner--box .boxinner--box ul li {
              position: relative;
              padding-left: 18px; }
              .company article .access--inner--box .boxinner--box ul li:before {
                position: absolute;
                content: "■";
                color: #005bab;
                left: 0; }
      .company article .access--inner--box .gmap {
        width: 410px;
        height: 375px; }
        .company article .access--inner--box .gmap iframe {
          width: 100%;
          height: 100%; }
.company article .secur {
  background-color: #f2f7fb;
  margin-top: 100px;
  padding: 70px 0; }
  .company article .secur--inner {
    width: 900px;
    margin: 0 auto; }
    .company article .secur--inner--box {
      background: #fff;
      margin-top: 40px; }
      .company article .secur--inner--box h4 {
        font-size: 20px;
        font-weight: bold;
        background: #005bab;
        color: #fff;
        text-align: center;
        padding: 4px 0 4px 0px; }
      .company article .secur--inner--box .boxinner {
        width: 786px;
        margin: 0 auto;
        text-align: center;
        padding: 20px 0;
        font-size: 14px;
        border-bottom: 1px dashed #005bab; }
        .company article .secur--inner--box .boxinner .lead {
          font-size: 17px;
          font-weight: bold;
          color: #005bab; }
        .company article .secur--inner--box .boxinner .txt {
          padding: 8px 0; }
        .company article .secur--inner--box .boxinner .btn a {
          color: #005bab;
          text-decoration: underline; }
        .company article .secur--inner--box .boxinner:last-child {
          border-bottom: none; }

@media screen and (max-width: 767px) {
  .company article .main--inner--copy {
    top: 42%; }
  .company article .message {
    margin-top: 10.6666666667vw;
    padding: 0px 0 16vw; }
    .company article .message .topttl {
      position: relative;
      top: -4.2666666667vw; }
    .company article .message--inner {
      max-width: 90.6666666667vw;
      margin: 0 auto; }
      .company article .message--inner--category {
        width: 100%; }
        .company article .message--inner--category--texts {
          width: 100%;
          margin-top: 5.3333333333vw; }
          .company article .message--inner--category--texts p {
            font-size: 3.7333333333vw; }
        .company article .message--inner--category--image {
          width: 77.3333333333vw;
          margin: 0 auto;
          margin-top: 8vw; }
          .company article .message--inner--category--image dl {
            margin-top: 4vw; }
            .company article .message--inner--category--image dl dt {
              font-size: 3.7333333333vw; }
            .company article .message--inner--category--image dl dd {
              font-size: 4.8vw;
              margin-left: 2.6666666667vw; }
  .company article .company {
    margin-top: 13.3333333333vw;
    margin-bottom: 10.6666666667vw; }
    .company article .company--inner {
      max-width: 90.6666666667vw;
      margin: 4vw auto; }
      .company article .company--inner--table {
        margin-top: 4vw; }
        .company article .company--inner--table dl {
          font-size: 3.7333333333vw;
          padding: 4vw 0; }
          .company article .company--inner--table dl:first-of-type {
            border-top: none; }
          .company article .company--inner--table dl dt {
            width: 29.3333333333vw;
            color: #005bab; }
          .company article .company--inner--table dl dd {
            width: 61.3333333333vw; }
            .company article .company--inner--table dl dd .list {
              padding: 0;
              border: none;
              flex-wrap: wrap; }
              .company article .company--inner--table dl dd .list dt {
                width: 100%;
                padding-left: 4.2666666667vw; }
              .company article .company--inner--table dl dd .list dd {
                width: 100%; }
      .company article .company--inner--link {
        font-size: 3.7333333333vw;
        padding: 4vw 0; }
  .company article .middle {
    height: 80vw; }
  .company article .access {
    margin-top: 13.3333333333vw;
    margin-bottom: 10.6666666667vw; }
    .company article .access--inner {
      width: 90.6666666667vw;
      margin: 0 auto; }
      .company article .access--inner--box {
        display: flex;
        justify-content: space-between;
        margin-top: 8vw;
        flex-wrap: wrap; }
        .company article .access--inner--box .boxinner {
          width: 100%; }
          .company article .access--inner--box .boxinner h4 {
            font-size: 4.8vw;
            padding: 1.0666666667vw 0 1.0666666667vw 2.6666666667vw; }
          .company article .access--inner--box .boxinner .txt {
            font-size: 4vw;
            padding: 2.6666666667vw 0 2.6666666667vw 2.6666666667vw; }
          .company article .access--inner--box .boxinner--box {
            padding: 5.3333333333vw; }
            .company article .access--inner--box .boxinner--box p {
              font-size: 4vw; }
            .company article .access--inner--box .boxinner--box ul {
              margin-top: 2.6666666667vw;
              font-size: 3.4666666667vw; }
              .company article .access--inner--box .boxinner--box ul li {
                padding-left: 4.2666666667vw; }
        .company article .access--inner--box .gmap {
          width: 100%;
          height: 66.6666666667vw; }
  .company article .secur {
    background-color: #f2f7fb;
    margin-top: 13.3333333333vw;
    padding: 10.6666666667vw 0; }
    .company article .secur--inner {
      width: 90.6666666667vw; }
      .company article .secur--inner--box {
        background: #fff;
        margin-top: 10.6666666667vw; }
        .company article .secur--inner--box h4 {
          font-size: 4.8vw;
          padding: 1.0666666667vw 0 1.0666666667vw 0px; }
        .company article .secur--inner--box .boxinner {
          width: 80vw;
          padding: 4vw 0;
          font-size: 3.4666666667vw; }
          .company article .secur--inner--box .boxinner .lead {
            font-size: 4vw; }
          .company article .secur--inner--box .boxinner .txt {
            padding: 2.1333333333vw 0;
            text-align: left; }
            .company article .secur--inner--box .boxinner .txt br {
              display: none; } }
.service article .main--inner--copy {
  top: 45%; }
.service article .contents .rel_banner {
  margin-top: 0; }
.service article .contents .service-area--inner {
  max-width: 960px;
  margin: 0 auto; }
.service article .contents .sp-app {
  margin-top: 30px;
  background: #005bab;
  display: flex;
  justify-content: space-between; }
  .service article .contents .sp-app .left {
    width: 50%;
    display: block;
    height: 600px;
    background: url("../images/service/img_1.webp") no-repeat center center/cover; }
  .service article .contents .sp-app--inner {
    width: 50%;
    padding-top: 180px; }
    .service article .contents .sp-app--inner--block {
      padding-left: 80px; }
      .service article .contents .sp-app--inner--block h2 {
        font-size: 19px;
        font-weight: bold;
        line-height: 2;
        color: #fff; }
        .service article .contents .sp-app--inner--block h2 small {
          display: block;
          margin-top: 10px;
          font-size: 14px; }
      .service article .contents .sp-app--inner--block--info {
        display: flex;
        margin-top: 25px; }
        .service article .contents .sp-app--inner--block--info .btn {
          width: 85px;
          margin-right: 20px; }
        .service article .contents .sp-app--inner--block--info--app {
          width: 300px;
          display: flex;
          justify-content: space-between;
          align-items: flex-start;
          flex-wrap: wrap; }
          .service article .contents .sp-app--inner--block--info--app .lead {
            font-size: 13px;
            font-weight: bold;
            color: #005bab;
            background: #fff;
            padding: 5px 0;
            width: 100%;
            text-align: center;
            align-items: center;
            margin-top: 5px; }
          .service article .contents .sp-app--inner--block--info--app .btn {
            width: 46%;
            margin-right: 0;
            margin-top: 5px; }
.service article .contents--block {
  margin-top: 80px; }
  .service article .contents--block .topttl {
    font-family: YuGothic, "Yu Gothic medium", "Yu Gothic", "Hiragino Sans", Meiryo, "sans-serif";
    position: relative;
    top: -22px;
    font-size: 28px; }
  .service article .contents--block:nth-of-type(odd) {
    background-color: #e5eff7;
    padding-bottom: 70px; }
  .service article .contents--block:nth-of-type(even) {
    margin-top: 80px; }
  .service article .contents--block:nth-of-type(3) {
    background-color: #f2f3f3;
    padding-bottom: 70px;
    margin-top: 120px; }
  .service article .contents--block--inner {
    max-width: 900px;
    margin: 0 auto; }
    .service article .contents--block--inner.map {
      max-width: 1080px; }
    .service article .contents--block--inner--lead {
      padding-bottom: 20px; }
      .service article .contents--block--inner--lead p {
        font-size: 20px;
        font-weight: bold;
        line-height: 1;
        text-align: center;
        color: #005bab;
        margin-top: 10px; }
        .service article .contents--block--inner--lead p.lead {
          font-size: 16px;
          color: #000;
          line-height: 1.6; }
    .service article .contents--block--inner--table {
      background: #fff;
      margin-top: 20px;
      padding: 18px 28px;
      position: relative; }
      .service article .contents--block--inner--table:before {
        position: absolute;
        content: "";
        left: 0;
        top: 0;
        height: 100%;
        width: 208px;
        background: #005bab; }
      .service article .contents--block--inner--table dl {
        width: 840px;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-weight: bold;
        line-height: 1; }
        .service article .contents--block--inner--table dl:first-of-type dt, .service article .contents--block--inner--table dl:first-of-type dd {
          border-top: 0; }
        .service article .contents--block--inner--table dl dt {
          width: 180px;
          font-size: 1.6em;
          letter-spacing: .1rem;
          padding: 15px 0;
          color: #fff;
          border-top: 1px dotted #fff; }
        .service article .contents--block--inner--table dl dd {
          border-top: 1px dotted #005bab;
          width: 660px;
          padding: 15px 0 15px 30px;
          font-size: 1.5rem;
          letter-spacing: .05em; }
    .service article .contents--block--inner--pay {
      background: #fff;
      margin-top: 70px; }
      .service article .contents--block--inner--pay dl {
        font-weight: bold;
        text-align: center;
        padding-bottom: 20px; }
        .service article .contents--block--inner--pay dl dt {
          font-size: 20px;
          font-weight: bold;
          background: #005bab;
          color: #fff;
          text-align: center;
          padding: 10px 0 10px 0px; }
        .service article .contents--block--inner--pay dl dd {
          font-size: 17px;
          line-height: 1.6;
          margin-top: 20px; }
          .service article .contents--block--inner--pay dl dd span {
            color: #005bab; }
    .service article .contents--block--inner--flex {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      .service article .contents--block--inner--flex--box {
        width: 418px;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        margin-top: 40px; }
        .service article .contents--block--inner--flex--box .ttl {
          width: 100%;
          background: #005bab;
          color: #fff;
          text-align: center;
          font-size: 18px;
          font-weight: bold;
          padding: 8px 0;
          margin-bottom: 15px; }
        .service article .contents--block--inner--flex--box dl {
          width: 50%; }
          .service article .contents--block--inner--flex--box dl dd {
            text-align: center;
            color: #005bab;
            text-align: center;
            font-size: 14px;
            font-weight: bold;
            padding-top: 5px;
            letter-spacing: 0; }
          .service article .contents--block--inner--flex--box dl.tel {
            width: 100%;
            display: flex;
            align-items: center;
            color: #005bab; }
            .service article .contents--block--inner--flex--box dl.tel dt {
              font-size: 16px;
              font-weight: bold;
              padding-top: 3px; }
            .service article .contents--block--inner--flex--box dl.tel dd {
              font-family: "Poppins", sans-serif;
              font-weight: 600;
              font-size: 35px;
              line-height: 1; }
        .service article .contents--block--inner--flex--box .txtall {
          font-size: 14px;
          text-align: justify;
          margin: 10px 0; }
        .service article .contents--block--inner--flex--box.all {
          width: 100%;
          justify-content: space-between;
          align-items: flex-start; }
          .service article .contents--block--inner--flex--box.all figure {
            width: 416px; }
          .service article .contents--block--inner--flex--box.all .txtbox {
            width: 456px; }
            .service article .contents--block--inner--flex--box.all .txtbox .txt {
              font-size: 14px;
              text-align: justify;
              padding-top: 15px; }
            .service article .contents--block--inner--flex--box.all .txtbox .lead {
              font-size: 16px;
              font-weight: 700;
              color: #005bab;
              text-align: justify;
              padding-top: 15px; }
              .service article .contents--block--inner--flex--box.all .txtbox .lead.last {
                border-top: 1px solid #005bab;
                margin-top: 15px; }
            .service article .contents--block--inner--flex--box.all .txtbox .vert {
              display: flex;
              padding: 10px 0;
              border-top: 1px solid #005bab;
              border-bottom: 1px solid #005bab;
              margin-top: 20px; }
              .service article .contents--block--inner--flex--box.all .txtbox .vert li {
                font-size: 14px;
                margin-right: 10px; }
                .service article .contents--block--inner--flex--box.all .txtbox .vert li small {
                  color: #005bab; }
            .service article .contents--block--inner--flex--box.all .txtbox .center {
              display: flex;
              flex-wrap: wrap; }
              .service article .contents--block--inner--flex--box.all .txtbox .center li {
                font-size: 14px;
                padding-left: 15px;
                position: relative; }
                .service article .contents--block--inner--flex--box.all .txtbox .center li:before {
                  position: absolute;
                  content: "●";
                  color: #005bab;
                  left: 0; }
            .service article .contents--block--inner--flex--box.all .txtbox .bus {
              margin-top: 10px; }
              .service article .contents--block--inner--flex--box.all .txtbox .bus li {
                font-size: 14px;
                font-weight: bold; }
                .service article .contents--block--inner--flex--box.all .txtbox .bus li small {
                  color: #005bab; }
          .service article .contents--block--inner--flex--box.all .inner {
            width: 100%;
            background: #fff;
            padding: 28px;
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap; }
            .service article .contents--block--inner--flex--box.all .inner figure {
              width: 260px;
              position: relative; }
              .service article .contents--block--inner--flex--box.all .inner figure.modal:after {
                position: absolute;
                content: "";
                width: 40px;
                height: 40px;
                background: url("../images/service/modal.svg") no-repeat center center/cover;
                top: 185px;
                right: -20px; }
            .service article .contents--block--inner--flex--box.all .inner .txtbox {
              width: 560px; }
              .service article .contents--block--inner--flex--box.all .inner .txtbox.flex {
                display: flex;
                justify-content: space-between;
                flex-wrap: wrap; }
              .service article .contents--block--inner--flex--box.all .inner .txtbox .leads {
                font-size: 16px;
                font-weight: bold;
                color: #005bab;
                padding-bottom: 15px; }
                .service article .contents--block--inner--flex--box.all .inner .txtbox .leads.all {
                  width: 100%; }
              .service article .contents--block--inner--flex--box.all .inner .txtbox dl {
                width: 460px;
                display: flex;
                justify-content: flex-start;
                font-size: 14px;
                text-align: left;
                flex-wrap: wrap; }
                .service article .contents--block--inner--flex--box.all .inner .txtbox dl dt {
                  width: 90px;
                  color: #005bab;
                  font-weight: bold;
                  padding: 3px 0;
                  border-right: 1px solid #005bab; }
                .service article .contents--block--inner--flex--box.all .inner .txtbox dl dd {
                  width: 340px;
                  padding: 3px 0 3px 10px;
                  text-align: left;
                  color: #000; }
                  .service article .contents--block--inner--flex--box.all .inner .txtbox dl dd a {
                    color: #000;
                    text-decoration: underline; }
              .service article .contents--block--inner--flex--box.all .inner .txtbox .box {
                margin-bottom: 10px;
                width: 100%; }
                .service article .contents--block--inner--flex--box.all .inner .txtbox .box.half {
                  width: 50%; }
                  .service article .contents--block--inner--flex--box.all .inner .txtbox .box.half dl {
                    width: 100%; }
                  .service article .contents--block--inner--flex--box.all .inner .txtbox .box.half dd {
                    width: 170px; }
      .service article .contents--block--inner--flex--list {
        width: 286px;
        margin-top: 20px;
        padding-bottom: 20px;
        background: #005bab;
        color: #fff;
        font-weight: bold;
        text-align: center; }
        .service article .contents--block--inner--flex--list span {
          display: block;
          width: 102px;
          margin: 0 auto; }
        .service article .contents--block--inner--flex--list .lead {
          font-size: 18px;
          padding-bottom: 8px; }
        .service article .contents--block--inner--flex--list .txt {
          font-size: 14px;
          padding: 0 20px;
          padding-bottom: 8px; }
        .service article .contents--block--inner--flex--list .caption {
          font-size: 13px;
          padding: 0 20px;
          padding-bottom: 8px; }
        .service article .contents--block--inner--flex--list--link {
          padding: 10px;
          margin: 10px;
          border-top: 1px solid #fff;
          border-bottom: 1px solid #fff; }
          .service article .contents--block--inner--flex--list--link a {
            display: block;
            color: #fff;
            font-size: 14px; }
        .service article .contents--block--inner--flex--list--btn {
          width: 230px;
          background: #fff;
          margin: 0 auto;
          margin-top: 10px; }
          .service article .contents--block--inner--flex--list--btn a {
            display: block;
            color: #005bab;
            font-size: 14px;
            padding: 20px 0;
            position: relative; }
            .service article .contents--block--inner--flex--list--btn a:after {
              content: '';
              display: block;
              position: absolute;
              right: 10px;
              top: 50%;
              margin-top: -4px;
              width: 6px;
              height: 6px;
              border-bottom: 2px solid #005bab;
              border-right: 2px solid #005bab;
              transform: rotate(-45deg); }
    .service article .contents--block--inner--under {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      background: #fff;
      margin-top: 70px; }
      .service article .contents--block--inner--under figure {
        width: 50%; }
      .service article .contents--block--inner--under .txtbox {
        width: 50%;
        padding: 40px; }
        .service article .contents--block--inner--under .txtbox .lead {
          font-size: 18px;
          font-weight: bold;
          color: #005bab;
          padding-bottom: 15px; }
        .service article .contents--block--inner--under .txtbox .txt {
          font-size: 14px;
          text-align: justify;
          padding-bottom: 10px; }
        .service article .contents--block--inner--under .txtbox .btn {
          width: 230px;
          background: #fff;
          margin: 0 auto 0 0;
          margin-top: 10px;
          background: #005bab;
          text-align: center; }
          .service article .contents--block--inner--under .txtbox .btn a {
            display: block;
            color: #fff;
            font-size: 14px;
            padding: 20px 0;
            position: relative; }
            .service article .contents--block--inner--under .txtbox .btn a:after {
              content: '';
              display: block;
              position: absolute;
              right: 10px;
              top: 50%;
              margin-top: -4px;
              width: 6px;
              height: 6px;
              border-bottom: 2px solid #fff;
              border-right: 2px solid #fff;
              transform: rotate(-45deg); }
          .service article .contents--block--inner--under .txtbox .btn.red {
            background: #d7092f; }
.service article .contents .middle {
  display: block;
  width: 100%;
  height: 600px;
  background: url("../images/service/img_2.webp") no-repeat center center/cover;
  margin-top: 70px; }
.service .footer--over {
  margin-top: 300px; }

@media screen and (max-width: 767px) {
  .service article .main--inner--copy {
    top: 45%; }
  .service article .contents .rel_banner {
    margin-top: 0; }
  .service article .contents .service-area--inner {
    max-width: 100vw;
    margin: 0 auto; }
  .service article .contents .sp-app {
    margin-top: 8vw;
    flex-wrap: wrap; }
    .service article .contents .sp-app .left {
      width: 100%;
      height: 80vw; }
    .service article .contents .sp-app--inner {
      width: 100%;
      padding: 10.6666666667vw 0; }
      .service article .contents .sp-app--inner--block {
        width: 90.6666666667vw;
        margin: 0 auto;
        padding-left: 0; }
        .service article .contents .sp-app--inner--block h2 {
          font-size: 4.2666666667vw; }
          .service article .contents .sp-app--inner--block h2 small {
            margin-top: 2.6666666667vw;
            font-size: 3.2vw; }
        .service article .contents .sp-app--inner--block--info {
          margin-top: 5.3333333333vw; }
          .service article .contents .sp-app--inner--block--info .btn {
            width: 22.6666666667vw;
            margin-right: 2.6666666667vw; }
          .service article .contents .sp-app--inner--block--info--app {
            width: 85.3333333333vw; }
            .service article .contents .sp-app--inner--block--info--app .lead {
              font-size: 3.2vw;
              padding: 1.3333333333vw 0;
              margin-top: 1.3333333333vw; }
            .service article .contents .sp-app--inner--block--info--app .btn {
              width: 46%;
              margin-right: 0;
              margin-top: 1.3333333333vw; }
  .service article .contents--block {
    margin-top: 10.6666666667vw; }
    .service article .contents--block .topttl {
      font-family: YuGothic, "Yu Gothic medium", "Yu Gothic", "Hiragino Sans", Meiryo, "sans-serif";
      position: relative;
      top: -4vw;
      font-size: 5.3333333333vw; }
    .service article .contents--block:nth-of-type(odd) {
      background-color: #e5eff7;
      padding-bottom: 10.6666666667vw; }
    .service article .contents--block:nth-of-type(even) {
      margin-top: 10.6666666667vw; }
    .service article .contents--block:nth-of-type(3) {
      background-color: #f2f3f3;
      padding-bottom: 10.6666666667vw;
      margin-top: 10.6666666667vw; }
    .service article .contents--block--inner {
      max-width: 90.6666666667vw;
      margin: 0 auto; }
      .service article .contents--block--inner.map {
        max-width: 90.6666666667vw; }
      .service article .contents--block--inner--lead {
        padding-bottom: 5.3333333333vw; }
        .service article .contents--block--inner--lead p {
          font-size: 4.8vw;
          margin-top: 2.6666666667vw; }
          .service article .contents--block--inner--lead p.lead {
            font-size: 3.7333333333vw; }
      .service article .contents--block--inner--table {
        background: #fff;
        margin-top: 5.3333333333vw;
        padding: 5.3333333333vw;
        position: relative; }
        .service article .contents--block--inner--table:before {
          position: absolute;
          content: none; }
        .service article .contents--block--inner--table dl {
          width: 80vw;
          margin: 0 auto;
          display: flex;
          flex-wrap: wrap; }
          .service article .contents--block--inner--table dl:first-of-type dt, .service article .contents--block--inner--table dl:first-of-type dd {
            border-top: 0; }
          .service article .contents--block--inner--table dl dt {
            width: 100%;
            font-size: 4vw;
            padding: 2.6666666667vw 0 2.6666666667vw 2.6666666667vw;
            background: #005bab; }
          .service article .contents--block--inner--table dl dd {
            width: 100%;
            padding: 2.6666666667vw 0 2.6666666667vw 2.6666666667vw;
            font-size: 4vw;
            line-height: 1.6; }
      .service article .contents--block--inner--pay {
        margin-top: 8vw; }
        .service article .contents--block--inner--pay dl {
          padding-bottom: 5.3333333333vw; }
          .service article .contents--block--inner--pay dl dt {
            font-size: 4.8vw;
            padding: 2.6666666667vw 0; }
          .service article .contents--block--inner--pay dl dd {
            font-size: 3.7333333333vw;
            margin-top: 4vw; }
      .service article .contents--block--inner--flex--box {
        width: 90.6666666667vw;
        margin-top: 5.3333333333vw; }
        .service article .contents--block--inner--flex--box .ttl {
          font-size: 4.8vw;
          padding: 2.1333333333vw 0;
          margin-bottom: 4vw; }
        .service article .contents--block--inner--flex--box dl {
          width: 50%; }
          .service article .contents--block--inner--flex--box dl dd {
            font-size: 3.4666666667vw;
            padding-top: 1.3333333333vw; }
          .service article .contents--block--inner--flex--box dl.tel {
            margin-top: 4vw;
            justify-content: center; }
            .service article .contents--block--inner--flex--box dl.tel dt {
              font-size: 3.7333333333vw;
              padding-top: 0.8vw; }
            .service article .contents--block--inner--flex--box dl.tel dd {
              font-size: 6.9333333333vw; }
        .service article .contents--block--inner--flex--box .txtall {
          font-size: 3.4666666667vw;
          margin: 2.6666666667vw 0; }
        .service article .contents--block--inner--flex--box.all figure {
          width: 90.6666666667vw; }
        .service article .contents--block--inner--flex--box.all .txtbox {
          width: 90.6666666667vw; }
          .service article .contents--block--inner--flex--box.all .txtbox .txt {
            font-size: 3.4666666667vw;
            padding-top: 4vw; }
          .service article .contents--block--inner--flex--box.all .txtbox .lead {
            font-size: 4vw;
            padding-top: 4vw; }
            .service article .contents--block--inner--flex--box.all .txtbox .lead.last {
              margin-top: 4vw; }
          .service article .contents--block--inner--flex--box.all .txtbox .vert {
            padding: 2.6666666667vw 0;
            margin-top: 4vw; }
            .service article .contents--block--inner--flex--box.all .txtbox .vert li {
              font-size: 3.4666666667vw;
              margin-right: 2.6666666667vw; }
              .service article .contents--block--inner--flex--box.all .txtbox .vert li small {
                color: #005bab; }
          .service article .contents--block--inner--flex--box.all .txtbox .center {
            padding-top: 4vw; }
            .service article .contents--block--inner--flex--box.all .txtbox .center li {
              font-size: 3.4666666667vw;
              padding-left: 4.2666666667vw; }
          .service article .contents--block--inner--flex--box.all .txtbox .bus {
            margin-top: 2.6666666667vw; }
            .service article .contents--block--inner--flex--box.all .txtbox .bus li {
              font-size: 3.4666666667vw; }
        .service article .contents--block--inner--flex--box.all .inner {
          background: #fff;
          padding: 5.3333333333vw; }
          .service article .contents--block--inner--flex--box.all .inner figure {
            width: 100%;
            margin-bottom: 2.6666666667vw; }
            .service article .contents--block--inner--flex--box.all .inner figure.modal:after {
              width: 10.6666666667vw;
              height: 10.6666666667vw;
              top: 56vw;
              right: -5.3333333333vw; }
          .service article .contents--block--inner--flex--box.all .inner .txtbox {
            width: 90.6666666667vw; }
            .service article .contents--block--inner--flex--box.all .inner .txtbox .leads {
              font-size: 4vw;
              padding-bottom: 2.6666666667vw; }
            .service article .contents--block--inner--flex--box.all .inner .txtbox dl {
              width: 100%;
              font-size: 3.4666666667vw; }
              .service article .contents--block--inner--flex--box.all .inner .txtbox dl dt {
                width: 30%;
                color: #005bab;
                font-weight: bold;
                padding: 0.8vw 0; }
              .service article .contents--block--inner--flex--box.all .inner .txtbox dl dd {
                width: 70%;
                padding: 0.8vw 0 0.8vw 2.6666666667vw; }
            .service article .contents--block--inner--flex--box.all .inner .txtbox .box {
              margin-bottom: 2.6666666667vw;
              width: 100%; }
              .service article .contents--block--inner--flex--box.all .inner .txtbox .box.half {
                width: 100%; }
                .service article .contents--block--inner--flex--box.all .inner .txtbox .box.half dl {
                  width: 100%; }
                .service article .contents--block--inner--flex--box.all .inner .txtbox .box.half dd {
                  width: 70%; }
      .service article .contents--block--inner--flex--list {
        width: 90.6666666667vw;
        margin-top: 5.3333333333vw;
        padding-bottom: 5.3333333333vw; }
        .service article .contents--block--inner--flex--list span {
          display: block;
          width: 27.2vw;
          margin: 0 auto; }
        .service article .contents--block--inner--flex--list .lead {
          font-size: 4.2666666667vw;
          padding-bottom: 2.6666666667vw; }
        .service article .contents--block--inner--flex--list .txt {
          font-size: 3.4666666667vw;
          padding: 0 2.6666666667vw;
          padding-bottom: 2.6666666667vw; }
        .service article .contents--block--inner--flex--list .caption {
          font-size: 2.9333333333vw;
          padding: 0 2.6666666667vw;
          padding-bottom: 2.6666666667vw; }
        .service article .contents--block--inner--flex--list--link {
          padding: 2.6666666667vw;
          margin: 2.6666666667vw; }
          .service article .contents--block--inner--flex--list--link a {
            display: block;
            color: #fff;
            font-size: 3.4666666667vw; }
        .service article .contents--block--inner--flex--list--btn {
          width: 64vw;
          background: #fff;
          margin: 0 auto;
          margin-top: 2.6666666667vw; }
          .service article .contents--block--inner--flex--list--btn a {
            display: block;
            color: #005bab;
            font-size: 3.7333333333vw;
            padding: 4vw 0; }
      .service article .contents--block--inner--under {
        margin-top: 10.6666666667vw; }
        .service article .contents--block--inner--under figure {
          width: 100%; }
        .service article .contents--block--inner--under .txtbox {
          width: 100%;
          padding: 5.3333333333vw; }
          .service article .contents--block--inner--under .txtbox .lead {
            font-size: 4.2666666667vw;
            padding-bottom: 4vw; }
          .service article .contents--block--inner--under .txtbox .txt {
            font-size: 3.4666666667vw;
            padding-bottom: 2.6666666667vw; }
          .service article .contents--block--inner--under .txtbox .btn {
            width: 61.3333333333vw;
            margin: 0 auto;
            margin-top: 2.6666666667vw; }
            .service article .contents--block--inner--under .txtbox .btn a {
              display: block;
              color: #fff;
              font-size: 3.7333333333vw;
              padding: 4vw 0; }
            .service article .contents--block--inner--under .txtbox .btn.red {
              background: #d7092f; }
  .service article .contents .middle {
    height: 80vw;
    margin-top: 10.6666666667vw; } }
.information article .main--inner--copy {
  top: 50%; }
.information article .message {
  margin-top: 100px;
  background-color: #f2f7fb;
  padding: 0 0;
  position: relative; }
  .information article .message:after {
    position: absolute;
    content: "";
    background: #fff;
    bottom: 0;
    left: 0;
    height: 130px;
    width: 100%; }
  .information article .message--inner {
    max-width: 840px;
    margin: 0 auto; }
    .information article .message--inner--lead dl {
      font-weight: bold;
      color: #005bab; }
      .information article .message--inner--lead dl dt {
        font-size: 2.2rem;
        line-height: 1;
        letter-spacing: .15em; }
      .information article .message--inner--lead dl dd {
        font-size: 1.6rem;
        line-height: 1.9;
        letter-spacing: .05em;
        margin-top: 50px; }
    .information article .message--inner--upper dl {
      text-align: center;
      font-weight: bold;
      color: #005bab; }
      .information article .message--inner--upper dl dt {
        font-size: 28px;
        line-height: 1;
        letter-spacing: .15em;
        position: relative;
        top: -14px;
        margin-bottom: -20px; }
      .information article .message--inner--upper dl dd {
        font-size: 15px;
        line-height: 1.9;
        letter-spacing: .05em;
        margin-top: 50px; }
    .information article .message--inner .inner-rel {
      width: 840px;
      margin: 20px auto;
      background: #fff;
      border-bottom: 1px solid #005bab;
      border-top: 1px solid #005bab; }
      .information article .message--inner .inner-rel p {
        text-align: center;
        font-size: 16px;
        font-weight: bold;
        padding: 8px 0; }
        .information article .message--inner .inner-rel p strong {
          color: #005bab;
          font-weight: bold; }
        .information article .message--inner .inner-rel p:first-child {
          border-bottom: 1px dashed #005bab; }
    .information article .message--inner .lists {
      display: flex;
      justify-content: center;
      font-size: 15px;
      font-weight: bold; }
      .information article .message--inner .lists li {
        margin: 0 8px; }
        .information article .message--inner .lists li small {
          color: #005bab; }
    .information article .message--inner .under {
      text-align: center;
      font-size: 21px;
      font-weight: bold;
      margin-top: 50px;
      text-decoration: underline;
      color: #005bab; }
  .information article .message .rel_banner {
    width: 900px;
    margin: 60px auto;
    position: relative;
    z-index: 2; }
    .information article .message .rel_banner .btn {
      width: 264px; }
      .information article .message .rel_banner .btn span {
        font-size: 28px; }
      .information article .message .rel_banner .btn:nth-child(2) {
        border-left: 1px solid #fff; }
      .information article .message .rel_banner .btn:last-child {
        border-right: 1px solid #fff; }
.information article .info {
  background: #f2f3f3;
  margin-top: 100px;
  padding-bottom: 100px; }
  .information article .info--lead dl {
    text-align: center;
    font-weight: bold;
    color: #005bab; }
    .information article .info--lead dl dt {
      font-size: 28px;
      line-height: 1;
      letter-spacing: .15em;
      position: relative;
      top: -14px;
      margin-bottom: -20px; }
    .information article .info--lead dl dd {
      font-size: 15px;
      line-height: 1.9;
      letter-spacing: .05em;
      margin-top: 50px; }
  .information article .info .tab {
    display: flex;
    justify-content: center;
    margin-top: 70px; }
    .information article .info .tab .tabs {
      width: 240px;
      text-align: center;
      padding: 10px 0;
      font-size: 16px;
      font-weight: bold;
      background: #b3b3b3;
      color: #fff; }
      .information article .info .tab .tabs.active {
        background: #fff;
        color: #005bab; }
  .information article .info .innercont {
    width: 900px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 50px 0; }
    .information article .info .innercont figure {
      width: 168px;
      position: relative;
      z-index: 2; }
    .information article .info .innercont .innerconttxt {
      width: 730px;
      position: relative; }
      .information article .info .innercont .innerconttxt p {
        position: absolute;
        font-size: 17px;
        font-weight: bold;
        color: #005bab;
        left: 0;
        top: -20px; }
      .information article .info .innercont .innerconttxt dl {
        background: #005bab;
        color: #fff;
        padding: 14px 28px;
        font-size: 14px;
        text-align: justify; }
        .information article .info .innercont .innerconttxt dl:before {
          position: absolute;
          content: "";
          width: 80px;
          background: #005bab;
          left: -80px;
          top: 0;
          height: 100%; }
        .information article .info .innercont .innerconttxt dl dd {
          font-size: 15px;
          font-weight: bold; }
  .information article .info--inner {
    max-width: 1080px;
    background: #fff;
    margin: 0 auto;
    padding-bottom: 50px;
    display: none; }
    .information article .info--inner.show {
      display: block; }
    .information article .info--inner--table {
      width: 900px;
      margin: 0 auto;
      border-bottom: 2px solid #005bab; }
      .information article .info--inner--table tr {
        width: 100%; }
        .information article .info--inner--table tr.thead {
          border-bottom: 2px solid #005bab; }
        .information article .info--inner--table tr.tbody:nth-of-type(odd) {
          background-color: #f2f7fb; }
        .information article .info--inner--table tr.tbody:last-of-type td {
          border-bottom: none; }
        .information article .info--inner--table tr th {
          width: 200px;
          font-size: 1.6rem;
          font-weight: bold;
          line-height: 1;
          letter-spacing: .05em;
          color: #005bab;
          text-align: left;
          display: table-cell;
          padding: 5px 0 10px .8em;
          border-right: 1px solid #005bab; }
          .information article .info--inner--table tr th:first-child {
            width: 154px;
            font-weight: bold;
            color: #005bab;
            letter-spacing: .1em; }
          .information article .info--inner--table tr th:last-child {
            width: 130px;
            border-right: none; }
        .information article .info--inner--table tr td {
          width: 200px;
          padding: 20px 0;
          text-align: left;
          border-bottom: 1px dashed #005bab;
          border-right: 1px solid #005bab;
          font-size: 1.3rem;
          font-weight: bold;
          line-height: 1.8;
          letter-spacing: .05em;
          padding-left: 1em; }
          .information article .info--inner--table tr td:first-child {
            width: 154px;
            font-weight: bold;
            color: #005bab;
            letter-spacing: .1em; }
          .information article .info--inner--table tr td:last-child {
            width: 130px;
            border-right: none; }
            .information article .info--inner--table tr td:last-child a {
              background: #d7092f;
              color: #fff;
              padding: 10px 15px 10px 10px;
              position: relative; }
              .information article .info--inner--table tr td:last-child a:after {
                content: '';
                display: block;
                position: absolute;
                right: 5px;
                top: 50%;
                margin-top: -3px;
                width: 5px;
                height: 5px;
                border-bottom: 2px solid #fff;
                border-right: 2px solid #fff;
                transform: rotate(-45deg); }
    .information article .info--inner .btn {
      width: 75%;
      margin: 115px auto 0; }
      .information article .info--inner .btn a {
        display: block;
        width: 100%;
        height: 100%;
        font-size: 2.6rem;
        font-weight: bold;
        line-height: 1;
        letter-spacing: .15em;
        text-align: center;
        background-color: #d7092f;
        color: #fff;
        padding: 38px 0;
        position: relative; }
        .information article .info--inner .btn a:after {
          content: '';
          position: absolute;
          width: 24px;
          height: 24px;
          background: url("../images/common/icon_next.png") no-repeat center center/cover;
          top: 50%;
          right: 8%;
          transform: translateY(-50%);
          transition: all .3s ease-out; }
        .information article .info--inner .btn a:hover {
          opacity: 1; }
          .information article .info--inner .btn a:hover:after {
            right: 5%; }

@media screen and (max-width: 767px) {
  .information article .message {
    margin-top: 10.6666666667vw; }
    .information article .message--inner--upper dl {
      text-align: center;
      font-weight: bold;
      color: #005bab; }
      .information article .message--inner--upper dl dt {
        font-size: 5.3333333333vw;
        top: -3.2vw;
        margin-bottom: -4.8vw; }
      .information article .message--inner--upper dl dd {
        padding: 0 5.3333333333vw;
        font-size: 3.7333333333vw;
        margin-top: 8vw; }
    .information article .message--inner .inner-rel {
      width: 90.6666666667vw;
      margin: 5.3333333333vw auto; }
      .information article .message--inner .inner-rel p {
        text-align: center;
        font-size: 3.7333333333vw;
        font-weight: bold;
        padding: 1.8666666667vw 0; }
        .information article .message--inner .inner-rel p strong {
          color: #005bab;
          font-weight: bold; }
        .information article .message--inner .inner-rel p:first-child {
          border-bottom: 1px dashed #005bab; }
    .information article .message--inner .lists {
      display: flex;
      justify-content: center;
      font-size: 3.7333333333vw;
      font-weight: bold;
      flex-wrap: wrap; }
      .information article .message--inner .lists li {
        margin: 0 1.3333333333vw; }
        .information article .message--inner .lists li small {
          color: #005bab; }
    .information article .message--inner .under {
      text-align: center;
      font-size: 4.8vw;
      font-weight: bold;
      margin-top: 10.6666666667vw;
      text-decoration: underline;
      color: #005bab; }
    .information article .message--inner--lead dl dt {
      font-size: 5vw; }
    .information article .message--inner--lead dl dd {
      font-size: 4vw;
      text-align: justify;
      margin-top: 20px; }
    .information article .message .rel_banner {
      width: 100vw;
      margin: 10.6666666667vw auto;
      position: relative;
      z-index: 2; }
      .information article .message .rel_banner .btn {
        width: 70.4vw; }
        .information article .message .rel_banner .btn span {
          font-size: 6.4vw; }
        .information article .message .rel_banner .btn:nth-child(2) {
          border-left: none; }
        .information article .message .rel_banner .btn:last-child {
          border-right: none; }
  .information article .info {
    padding-bottom: 10.6666666667vw; }
    .information article .info--lead dl {
      text-align: center;
      font-weight: bold;
      color: #005bab; }
      .information article .info--lead dl dt {
        font-size: 5.3333333333vw;
        top: -3.2vw;
        margin-bottom: -4.8vw; }
      .information article .info--lead dl dd {
        padding: 0 5.3333333333vw;
        font-size: 3.7333333333vw;
        margin-top: 8vw; }
    .information article .info .tab {
      display: flex;
      justify-content: center;
      margin-top: 10.6666666667vw; }
      .information article .info .tab .tabs {
        width: 33.333%;
        text-align: center;
        padding: 2.6666666667vw 0;
        font-size: 3.7333333333vw;
        font-weight: bold;
        background: #b3b3b3;
        color: #fff; }
        .information article .info .tab .tabs.active {
          background: #fff;
          color: #005bab; }
    .information article .info .innercont {
      width: 90.6666666667vw;
      margin: 0 auto 8vw;
      display: block;
      justify-content: space-between;
      align-items: center;
      padding: 6.6666666667vw 0;
      background: #005bab; }
      .information article .info .innercont figure {
        width: 45.3333333333vw;
        margin: 0 auto 4vw;
        position: relative;
        z-index: 2; }
      .information article .info .innercont .innerconttxt {
        width: 100%;
        position: relative;
        padding: 0 5.3333333333vw; }
        .information article .info .innercont .innerconttxt p {
          position: static;
          text-align: center;
          font-size: 4.2666666667vw;
          font-weight: bold;
          color: #fff;
          left: 0;
          top: 0; }
        .information article .info .innercont .innerconttxt dl {
          background: #005bab;
          color: #fff;
          padding: 2.6666666667vw 0px;
          font-size: 3.4666666667vw;
          text-align: justify; }
          .information article .info .innercont .innerconttxt dl:before {
            content: none; }
          .information article .info .innercont .innerconttxt dl dd {
            font-size: 4vw;
            font-weight: bold; }
    .information article .info--inner {
      margin: 45px auto; }
      .information article .info--inner--table {
        width: 90.6666666667vw; }
        .information article .info--inner--table tr.thead {
          display: none; }
        .information article .info--inner--table tr.tbody:last-of-type td {
          border-bottom: 1px dashed #005bab; }
        .information article .info--inner--table tr td {
          display: block;
          width: 100%;
          padding: 10px 0;
          text-align: left;
          border-bottom: 1px dashed #005bab;
          border-right: none;
          font-size: 3.2vw;
          font-weight: bold;
          line-height: 1.4;
          letter-spacing: .1em;
          padding: .5em 1em; }
          .information article .info--inner--table tr td:before {
            width: 100%;
            content: attr(data-label);
            display: block;
            font-size: 3.4vw;
            background-color: #005bab;
            color: #fff;
            margin: 5px 0;
            padding: 2px 0;
            border-right: 1px solid #005bab;
            text-align: center; }
          .information article .info--inner--table tr td:first-child {
            font-weight: bold;
            border-top: 2px solid #005bab; }
          .information article .info--inner--table tr td:last-child {
            border-bottom: none !important; }
            .information article .info--inner--table tr td:last-child:before {
              content: none; }
          .information article .info--inner--table tr td:first-child {
            width: 100%;
            font-weight: bold;
            color: #005bab;
            letter-spacing: .1em; }
          .information article .info--inner--table tr td:last-child {
            width: 100%;
            border-right: none;
            padding-bottom: 20px;
            margin-top: 10px; }
            .information article .info--inner--table tr td:last-child a {
              display: block;
              background: #d7092f;
              color: #fff;
              padding: 10px 15px 10px 10px; }
      .information article .info--inner .btn {
        margin-top: 50px; }
        .information article .info--inner .btn a {
          font-size: 4vw;
          line-height: 1.4;
          padding: 20px 0; }
          .information article .info--inner .btn a:after {
            right: 5%; } }
.recruit-page header {
  position: absolute; }
.recruit-page article {
  width: 100%;
  overflow-x: hidden;
  margin-top: 0; }
  .recruit-page article .mainbg {
    position: relative; }
    .recruit-page article .mainbg:before {
      position: absolute;
      content: "";
      background: url("../images/recruit/back.webp") no-repeat center top/cover;
      width: 100%;
      height: 100%;
      z-index: -1; }
  .recruit-page article .main {
    width: 100%;
    position: relative; }
    .recruit-page article .main .mainbg {
      padding-bottom: 14.1666666667vw;
      background: url("../images/recruit/back.webp") no-repeat center top/cover; }
    .recruit-page article .main .loop_wrap {
      position: absolute;
      top: 40px;
      z-index: 5; }
    .recruit-page article .main--kv {
      padding-top: 5.8333333333vw;
      position: relative;
      width: 91.6666666667vw;
      margin: 0 0 0 auto;
      display: flex;
      justify-content: space-between; }
      .recruit-page article .main--kv figure {
        width: 64.6666666667vw;
        margin-left: -13.3333333333vw; }
      .recruit-page article .main--kv .kvarea {
        width: 40vw;
        position: relative;
        z-index: 2;
        margin-top: 8.3333333333vw; }
        .recruit-page article .main--kv .kvarea h2 {
          font-size: 2.3333333333vw;
          font-weight: bold;
          background: #005bab;
          color: #fff;
          width: 12.0833333333vw;
          text-align: center;
          margin: 0 auto 1.6666666667vw 0; }
        .recruit-page article .main--kv .kvarea .lead {
          font-size: 3.1666666667vw;
          font-weight: bold;
          line-height: 1.6;
          color: #005bab; }
          .recruit-page article .main--kv .kvarea .lead span {
            display: inline-block;
            background: #fff;
            line-height: 1;
            padding: 0.6666666667vw;
            padding-right: 0;
            margin-top: 0.3333333333vw;
            box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.2); }
    .recruit-page article .main--sec {
      position: relative;
      width: 100%; }
      .recruit-page article .main--sec figure {
        position: absolute;
        width: 100%; }
      .recruit-page article .main--sec .blue {
        position: relative;
        z-index: 2;
        font-size: 1.25vw;
        font-weight: bold;
        color: #005bab;
        margin: -2.5vw 0 0 9.5833333333vw; }
      .recruit-page article .main--sec--box {
        width: 39.1666666667vw;
        margin: 15.8333333333vw 15vw 0 auto; }
        .recruit-page article .main--sec--box .leads {
          font-size: 1.75vw;
          font-weight: bold;
          line-height: 1.6;
          color: #005bab; }
          .recruit-page article .main--sec--box .leads span {
            display: inline-block;
            background: #fff;
            line-height: 1;
            padding: 0.6666666667vw;
            padding-right: 0;
            margin-top: 0.3333333333vw;
            box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.2); }
        .recruit-page article .main--sec--box h4 {
          font-size: 1.1666666667vw;
          font-weight: bold;
          padding: 3.3333333333vw 0 0 2.5vw;
          line-height: 1.8; }
      .recruit-page article .main--sec .under {
        text-align: center;
        font-size: 2.8333333333vw;
        font-weight: bold;
        color: #005bab;
        padding-top: 9.1666666667vw; }
    .recruit-page article .main--forth {
      width: 75vw;
      margin: 11.6666666667vw auto 0;
      background: #fff;
      padding-bottom: 3.3333333333vw;
      box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.2); }
      .recruit-page article .main--forth .eng {
        font-family: "Poppins", sans-serif;
        font-weight: 400;
        text-align: center;
        font-size: 5vw;
        line-height: 1;
        position: relative;
        top: -6.6666666667vw;
        margin-bottom: -7.1666666667vw;
        color: #fff; }
      .recruit-page article .main--forth .conttl {
        width: 60vw;
        font-size: 1.8333333333vw;
        font-weight: bold;
        padding: 0.6666666667vw 0;
        background: #005bab;
        text-align: center;
        color: #fff;
        margin: 0 auto; }
      .recruit-page article .main--forth .conttlbg {
        font-size: 3.3333333333vw;
        font-weight: bold;
        color: #005bab;
        text-align: center;
        padding: 1.6666666667vw 0 0; }
        .recruit-page article .main--forth .conttlbg span {
          position: relative; }
          .recruit-page article .main--forth .conttlbg span:after {
            position: absolute;
            content: "";
            width: 100%;
            border-bottom: 0.8333333333vw solid #ffd600;
            bottom: 0vw;
            left: 0; }
          .recruit-page article .main--forth .conttlbg span strong {
            position: relative;
            font-weight: bold;
            z-index: 2; }
      .recruit-page article .main--forth .txt {
        font-size: 1.3333333333vw;
        font-weight: bold;
        text-align: center;
        padding: 1.6666666667vw 0; }
      .recruit-page article .main--forth .flexbox {
        display: flex;
        justify-content: center;
        gap: 0 3.6666666667vw; }
        .recruit-page article .main--forth .flexbox .box {
          width: 19.1666666667vw; }
          .recruit-page article .main--forth .flexbox .box p {
            padding: 0.8333333333vw 0;
            font-size: 1.25vw;
            font-weight: bold;
            text-align: center;
            color: #d7092f; }
    .recruit-page article .main .secarea {
      background: #005bab;
      display: flex;
      justify-content: space-between;
      padding-bottom: 3.3333333333vw;
      margin-bottom: -4.1666666667vw; }
      .recruit-page article .main .secarea figure {
        width: 50vw;
        position: relative;
        top: -6.6666666667vw; }
      .recruit-page article .main .secarea .txtbox {
        width: 50vw;
        padding: 4.1666666667vw; }
        .recruit-page article .main .secarea .txtbox h3 {
          font-size: 2.5vw;
          font-weight: bold;
          color: #fff;
          padding: 1.6666666667vw 0 0; }
          .recruit-page article .main .secarea .txtbox h3 span {
            position: relative; }
            .recruit-page article .main .secarea .txtbox h3 span:after {
              position: absolute;
              content: "";
              width: 100%;
              border-bottom: 0.5vw solid #ffd600;
              bottom: -0.4166666667vw;
              left: 0; }
            .recruit-page article .main .secarea .txtbox h3 span strong {
              position: relative;
              font-weight: bold;
              z-index: 2; }
        .recruit-page article .main .secarea .txtbox .txt {
          font-size: 1.25vw;
          font-weight: bold;
          padding: 1.25vw 0;
          color: #fff; }
        .recruit-page article .main .secarea .txtbox .btn {
          position: relative;
          left: -10vw; }
    .recruit-page article .main .anc {
      width: 83.3333333333vw;
      margin: 0 auto;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      z-index: 48; }
      .recruit-page article .main .anc.fixed {
        position: fixed;
        bottom: auto;
        top: 0px; }
      .recruit-page article .main .anc ul {
        width: 100%;
        display: flex;
        justify-content: space-between;
        border: 2px solid #fff; }
        .recruit-page article .main .anc ul li {
          width: calc(100% / 6); }
          .recruit-page article .main .anc ul li a {
            display: block;
            width: 100%;
            height: 100%;
            background: #005bab;
            border: 1px solid #fff;
            position: relative;
            padding-bottom: 20px; }
            .recruit-page article .main .anc ul li a .anc-inner {
              width: 100%; }
              .recruit-page article .main .anc ul li a .anc-inner--number {
                font-family: "Poppins", sans-serif;
                font-weight: 400;
                width: 100%;
                margin-top: 10px;
                text-align: center;
                color: #fff;
                font-size: 20px; }
              .recruit-page article .main .anc ul li a .anc-inner--menu {
                width: 100%;
                text-align: center;
                color: #fff;
                font-size: 16px;
                font-weight: bold;
                line-height: 1.4;
                font-family: YuGothic, "Yu Gothic medium", "Yu Gothic", "Hiragino Sans", Meiryo, "sans-serif"; }
            .recruit-page article .main .anc ul li a::after {
              content: '';
              display: block;
              position: absolute;
              left: 50%;
              margin-left: -6px;
              width: 10px;
              height: 10px;
              border-bottom: 2px solid #fff;
              border-right: 2px solid #fff;
              bottom: 8px;
              transform: rotate(45deg); }
  .recruit-page article #sec01 {
    padding-top: 16.6666666667vw;
    padding-bottom: 6.6666666667vw;
    position: relative; }
    .recruit-page article #sec01:after {
      position: absolute;
      content: "";
      width: 100%;
      bottom: 0;
      height: 41.6666666667vw;
      background: #f2f7fb;
      z-index: -1; }
    .recruit-page article #sec01 .point-sec--box {
      padding-bottom: 2.5vw; }
  .recruit-page article #sec02 {
    margin-top: 8.3333333333vw;
    padding-bottom: 6.6666666667vw; }
  .recruit-page article #sec03 {
    padding-top: 6.6666666667vw;
    padding-bottom: 6.6666666667vw;
    background: #f2f7fb;
    position: relative; }
    .recruit-page article #sec03 .point-sec--box {
      align-items: flex-start !important; }
    .recruit-page article #sec03:before {
      position: absolute;
      content: "";
      background: #fff;
      width: 100%;
      height: 10.8333333333vw;
      top: 0; }
  .recruit-page article #sec04 {
    padding-top: 6.6666666667vw;
    padding-bottom: 6.6666666667vw;
    position: relative; }
    .recruit-page article #sec04 .point-sec--box {
      align-items: center !important; }
  .recruit-page article #sec05 {
    position: relative; }
    .recruit-page article #sec05 .point-sec--box {
      align-items: center !important; }
  .recruit-page article #sec06 {
    padding-top: 6.6666666667vw;
    padding-bottom: 6.6666666667vw;
    background: #f2f7fb;
    position: relative; }
    .recruit-page article #sec06 .point-sec--box {
      align-items: flex-start !important; }
    .recruit-page article #sec06:before {
      position: absolute;
      content: "";
      background: #fff;
      width: 100%;
      height: 10.8333333333vw;
      top: 0; }
  .recruit-page article #sec07 {
    background: #005bab;
    position: relative; }
    .recruit-page article #sec07 .txtbox {
      width: 83.3333333333vw !important;
      margin: 0 auto;
      padding-left: 0; }
    .recruit-page article #sec07 .txtbox--ttl {
      text-align: center !important;
      color: #fff !important;
      display: block !important; }
      .recruit-page article #sec07 .txtbox--ttl .numbe {
        line-height: 0.8; }
      .recruit-page article #sec07 .txtbox--ttl .lead {
        margin-left: 0; }
  .recruit-page article .point-sec {
    width: 100%; }
    .recruit-page article .point-sec--box {
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      flex-wrap: wrap; }
      .recruit-page article .point-sec--box .txtbox {
        width: 50vw;
        padding-left: 8.3333333333vw; }
        .recruit-page article .point-sec--box .txtbox--ttl {
          color: #005bab;
          display: flex;
          align-items: center; }
          .recruit-page article .point-sec--box .txtbox--ttl .numbe {
            font-family: "Poppins", sans-serif;
            font-weight: 400;
            font-size: 9.1666666667vw;
            line-height: 1; }
          .recruit-page article .point-sec--box .txtbox--ttl .lead {
            font-size: 1.6666666667vw;
            font-weight: bold;
            margin-left: 1.6666666667vw; }
        .recruit-page article .point-sec--box .txtbox h3 {
          font-size: 2.1666666667vw;
          font-weight: bold;
          color: #005bab;
          padding: 1.6666666667vw 0 0; }
          .recruit-page article .point-sec--box .txtbox h3 span {
            position: relative; }
            .recruit-page article .point-sec--box .txtbox h3 span:after {
              position: absolute;
              content: "";
              width: 100%;
              border-bottom: 0.5vw solid #ffd600;
              bottom: -0.25vw;
              left: 0; }
            .recruit-page article .point-sec--box .txtbox h3 span strong {
              position: relative;
              font-weight: bold;
              z-index: 2; }
        .recruit-page article .point-sec--box .txtbox .txt {
          font-size: 1.1666666667vw;
          font-weight: bold;
          padding: 1.25vw 0; }
        .recruit-page article .point-sec--box .txtbox .lists {
          margin-top: 1.6666666667vw;
          position: relative; }
          .recruit-page article .point-sec--box .txtbox .lists:after {
            position: absolute;
            content: "";
            background: #fff;
            width: 51.6666666667vw;
            height: 15vw;
            top: -1.6666666667vw;
            padding-bottom: 3.3333333333vw;
            box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.2); }
          .recruit-page article .point-sec--box .txtbox .lists li {
            font-size: 1.1666666667vw;
            font-weight: bold;
            padding-left: 1.3333333333vw;
            margin-left: 1.6666666667vw;
            margin-top: 0.5vw;
            position: relative;
            z-index: 2; }
            .recruit-page article .point-sec--box .txtbox .lists li:before {
              position: absolute;
              content: "●";
              left: 0;
              color: #005bab; }
        .recruit-page article .point-sec--box .txtbox .place li {
          font-size: 1.1666666667vw;
          font-weight: bold; }
          .recruit-page article .point-sec--box .txtbox .place li small {
            color: #005bab; }
        .recruit-page article .point-sec--box .txtbox .top {
          font-size: 2vw;
          font-weight: bold;
          background: #005bab;
          color: #fff;
          width: 37.9166666667vw;
          text-align: center;
          padding: 0;
          margin: 1.25vw 0; }
      .recruit-page article .point-sec--box figure {
        width: 50vw; }
        .recruit-page article .point-sec--box figure.capsimgs {
          position: relative; }
          .recruit-page article .point-sec--box figure.capsimgs figcaption {
            font-size: 1.1666666667vw;
            font-weight: bold;
            width: 50%;
            position: absolute;
            bottom: 0.6666666667vw; }
            .recruit-page article .point-sec--box figure.capsimgs figcaption.left {
              left: 0;
              padding-left: 1.25vw; }
            .recruit-page article .point-sec--box figure.capsimgs figcaption.right {
              text-align: right;
              right: 0;
              padding-right: 1.25vw; }
      .recruit-page article .point-sec--box.rev {
        flex-direction: row-reverse; }
        .recruit-page article .point-sec--box.rev .txtbox {
          width: 46.6666666667vw;
          padding-left: 0vw;
          padding-right: 8.3333333333vw; }
          .recruit-page article .point-sec--box.rev .txtbox--ttl {
            flex-direction: row-reverse; }
            .recruit-page article .point-sec--box.rev .txtbox--ttl dt {
              margin-right: 1.25vw; }
          .recruit-page article .point-sec--box.rev .txtbox h3 {
            text-align: right; }
            .recruit-page article .point-sec--box.rev .txtbox h3.top {
              text-align: center; }
    .recruit-page article .point-sec--second {
      width: 75vw;
      margin: 5.8333333333vw auto 0;
      background: #fff;
      padding-bottom: 4.5833333333vw;
      box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.2); }
      .recruit-page article .point-sec--second--inner {
        padding: 0 4.1666666667vw; }
        .recruit-page article .point-sec--second--inner h4 {
          text-align: center;
          font-size: 1.25vw;
          font-weight: 700;
          line-height: 1.8;
          color: #005bab;
          padding-top: 1.25vw;
          margin: 0 0 1.25vw 0; }
        .recruit-page article .point-sec--second--inner--example {
          display: flex;
          justify-content: center;
          position: relative;
          margin-top: 3.3333333333vw; }
          .recruit-page article .point-sec--second--inner--example:after {
            position: absolute;
            content: "";
            left: 50%;
            height: 100%;
            border-left: 0.0833333333vw solid #005bab; }
          .recruit-page article .point-sec--second--inner--example .box {
            width: 50%; }
            .recruit-page article .point-sec--second--inner--example .box:last-child {
              padding-left: 3.3333333333vw; }
            .recruit-page article .point-sec--second--inner--example .box .lead {
              color: #005bab;
              font-size: 1.6666666667vw;
              font-weight: bold;
              margin-bottom: 1.6666666667vw; }
              .recruit-page article .point-sec--second--inner--example .box .lead small {
                display: block;
                font-size: 1.3333333333vw; }
            .recruit-page article .point-sec--second--inner--example .box figure {
              width: 22.5vw; }
    .recruit-page article .point-sec--third {
      width: 83.3333333333vw;
      margin: 0 auto 0;
      background: #fff;
      padding-bottom: 4.5833333333vw;
      box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.2); }
      .recruit-page article .point-sec--third .blue-band {
        position: relative;
        z-index: 2;
        top: -2.0833333333vw;
        margin-bottom: -2.5vw; }
        .recruit-page article .point-sec--third .blue-band .leads {
          width: 51.6666666667vw;
          font-size: 1.8333333333vw;
          font-weight: bold;
          padding: 0.6666666667vw 0;
          background: #005bab;
          text-align: center;
          color: #fff;
          margin: 0 auto 0 0; }
        .recruit-page article .point-sec--third .blue-band .capt {
          width: 51.6666666667vw;
          color: #005bab;
          text-align: center;
          font-size: 1.25vw;
          font-weight: bold;
          padding: 0.6666666667vw 0; }
      .recruit-page article .point-sec--third .innerblock {
        width: 75vw;
        margin: 0 auto;
        padding-bottom: 50px;
        border-bottom: 0.0833333333vw solid #005bab;
        margin-top: 3.3333333333vw; }
        .recruit-page article .point-sec--third .innerblock:last-child {
          border-bottom: none; }
        .recruit-page article .point-sec--third .innerblock dl {
          display: flex;
          color: #005bab; }
          .recruit-page article .point-sec--third .innerblock dl dt {
            font-family: "Poppins", sans-serif;
            font-weight: 300;
            font-size: 1.6666666667vw; }
          .recruit-page article .point-sec--third .innerblock dl dd {
            font-size: 1.6666666667vw;
            font-weight: bold;
            margin-left: 1.6666666667vw; }
        .recruit-page article .point-sec--third .innerblock .captlead {
          font-size: 1.25vw;
          font-weight: bold;
          padding: 0.8333333333vw 0 1.6666666667vw; }
        .recruit-page article .point-sec--third .innerblock .captunder {
          font-size: 1.1666666667vw;
          padding-top: 1.25vw; }
      .recruit-page article .point-sec--third:last-child {
        margin-top: 3.3333333333vw;
        padding-bottom: 0; }
        .recruit-page article .point-sec--third:last-child .blue-band {
          top: 0;
          margin-bottom: 0; }
          .recruit-page article .point-sec--third:last-child .blue-band .leads {
            width: 100%; }
        .recruit-page article .point-sec--third:last-child .innerblock figure {
          margin-bottom: -3.3333333333vw; }
        .recruit-page article .point-sec--third:last-child .innerblock dl {
          display: flex;
          align-items: center;
          color: #005bab; }
          .recruit-page article .point-sec--third:last-child .innerblock dl dt {
            font-family: "Poppins", sans-serif;
            font-weight: 300;
            font-size: 1.5vw;
            width: 5vw;
            height: 5vw;
            border-radius: 2.5vw;
            color: #fff;
            text-align: center;
            background: #005bab;
            display: flex;
            justify-content: center;
            align-items: center; }
          .recruit-page article .point-sec--third:last-child .innerblock dl dd {
            font-size: 1.25vw;
            font-weight: bold;
            margin-left: 2.5vw; }
          .recruit-page article .point-sec--third:last-child .innerblock dl:last-child {
            margin-top: 1.6666666667vw; }
    .recruit-page article .point-sec--qabox {
      width: 83.3333333333vw;
      margin: 0 auto; }
      .recruit-page article .point-sec--qabox--block {
        background: #fff;
        margin-top: 2.5vw;
        font-size: 1.25vw; }
        .recruit-page article .point-sec--qabox--block--question {
          background: #005bab;
          color: #fff;
          font-size: 1.6666666667vw;
          font-weight: bold;
          text-align: center;
          padding: 0.8333333333vw 0; }
        .recruit-page article .point-sec--qabox--block--answer {
          padding: 0vw 4.1666666667vw 3.3333333333vw; }
          .recruit-page article .point-sec--qabox--block--answer .qalead {
            font-size: 1.5vw;
            text-align: center;
            font-weight: bold;
            color: #005bab;
            padding: 1.6666666667vw 0 0;
            margin-bottom: 0.8333333333vw; }
            .recruit-page article .point-sec--qabox--block--answer .qalead span {
              position: relative; }
              .recruit-page article .point-sec--qabox--block--answer .qalead span:after {
                position: absolute;
                content: "";
                width: 100%;
                border-bottom: 0.5vw solid #ffd600;
                bottom: -0.25vw;
                left: 0; }
              .recruit-page article .point-sec--qabox--block--answer .qalead span strong {
                position: relative;
                font-weight: bold;
                z-index: 2; }
    .recruit-page article .point-sec--entry .topttl {
      font-size: 2.3333333333vw;
      text-align: center;
      font-weight: bold;
      color: #fff;
      padding: 1.6666666667vw 0 0;
      margin-bottom: 0.8333333333vw; }
      .recruit-page article .point-sec--entry .topttl span {
        position: relative; }
        .recruit-page article .point-sec--entry .topttl span:after {
          position: absolute;
          content: "";
          width: 100%;
          border-bottom: 0.5833333333vw solid #ffd600;
          bottom: 0vw;
          left: 0; }
        .recruit-page article .point-sec--entry .topttl span strong {
          position: relative;
          font-weight: bold;
          z-index: 2; }
    .recruit-page article .point-sec--entry .txt {
      font-size: 1.5vw;
      text-align: center;
      font-weight: bold;
      color: #fff;
      padding: 1.6666666667vw 0 0; }
    .recruit-page article .point-sec--entry .txtbox--btn {
      width: 40vw;
      margin: 3.3333333333vw auto -3.3333333333vw;
      text-align: center; }
      .recruit-page article .point-sec--entry .txtbox--btn a {
        display: block;
        background: #d7092f;
        color: #fff;
        font-size: 2vw;
        font-weight: bold;
        padding: 0.6666666667vw 0;
        position: relative; }
        .recruit-page article .point-sec--entry .txtbox--btn a small {
          display: block;
          font-size: 1.3333333333vw; }
        .recruit-page article .point-sec--entry .txtbox--btn a::after {
          content: '';
          display: block;
          position: absolute;
          right: 20px;
          top: 50%;
          margin-top: -7px;
          width: 10px;
          height: 10px;
          border-bottom: 2px solid #fff;
          border-right: 2px solid #fff;
          transform: rotate(-45deg); }
    .recruit-page article .point-sec--entry .backinner {
      background: #f2f7fb;
      padding: 7.5vw 0;
      text-align: center; }
      .recruit-page article .point-sec--entry .backinner .txtbox--att {
        color: #005bab;
        font-size: 2vw;
        font-weight: bold; }
      .recruit-page article .point-sec--entry .backinner .reccontact {
        width: 75vw;
        margin: 0 auto;
        margin-top: 1.6666666667vw;
        background: #fff;
        border-top: 0.0833333333vw solid #005bab;
        border-bottom: 0.0833333333vw solid #005bab;
        display: flex;
        justify-content: center;
        gap: 0 1.6666666667vw;
        padding: 1.25vw 0; }
        .recruit-page article .point-sec--entry .backinner .reccontact li {
          font-size: 1.5vw;
          font-weight: bold;
          color: #005bab; }
  .recruit-page article .int--main {
    width: 100%;
    position: relative; }
    .recruit-page article .int--main--inner {
      padding: 0 8.3333333333vw; }
      .recruit-page article .int--main--inner--block .profile {
        display: flex;
        justify-content: center;
        align-items: flex-end;
        gap: 0 1.6666666667vw; }
        .recruit-page article .int--main--inner--block .profile figure {
          width: 17.6666666667vw; }
        .recruit-page article .int--main--inner--block .profile dl {
          padding-bottom: 1.6666666667vw;
          text-align: right;
          color: #005bab;
          font-size: 1.4166666667vw; }
          .recruit-page article .int--main--inner--block .profile dl dt {
            font-size: 2.0833333333vw;
            font-weight: bold; }
      .recruit-page article .int--main--inner--block .txt {
        font-size: 1.25vw;
        line-height: 2;
        text-align: justify;
        margin-top: 0.8333333333vw; }
      .recruit-page article .int--main--inner--block.top {
        width: 52.5vw;
        margin: -5vw 0 0 auto; }
        .recruit-page article .int--main--inner--block.top .profile {
          justify-content: flex-end; }
      .recruit-page article .int--main--inner--block.top_2 {
        width: 52.5vw;
        margin: -6.6666666667vw auto 0 0; }
        .recruit-page article .int--main--inner--block.top_2 .profile {
          flex-direction: row-reverse;
          justify-content: flex-end; }
          .recruit-page article .int--main--inner--block.top_2 .profile dl {
            text-align: left; }
      .recruit-page article .int--main--inner--block.sec {
        width: 52.5vw;
        margin: -6.6666666667vw auto 0 0; }
        .recruit-page article .int--main--inner--block.sec .profile {
          flex-direction: row-reverse;
          justify-content: flex-end; }
          .recruit-page article .int--main--inner--block.sec .profile dl {
            text-align: left; }
      .recruit-page article .int--main--inner--block.sec_2 {
        width: 52.5vw;
        margin: -8.3333333333vw 0 0 auto; }
        .recruit-page article .int--main--inner--block.sec_2 .profile {
          justify-content: flex-end; }
      .recruit-page article .int--main--inner--block.all_1 {
        width: 100%;
        margin: -8.3333333333vw 0 0 auto; }
        .recruit-page article .int--main--inner--block.all_1 .profile {
          justify-content: flex-end; }
      .recruit-page article .int--main--inner--block.all {
        width: 100%;
        margin: -8.3333333333vw 0 0 auto; }
        .recruit-page article .int--main--inner--block.all .profile {
          flex-direction: row-reverse;
          justify-content: flex-end; }
          .recruit-page article .int--main--inner--block.all .profile dl {
            text-align: left; }
    .recruit-page article .int--main--under {
      margin-top: 8.3333333333vw;
      padding: 0 8.3333333333vw; }
      .recruit-page article .int--main--under .caption {
        font-size: 1.0833333333vw;
        text-align: right;
        padding-top: 1.6666666667vw; }
      .recruit-page article .int--main--under--inner {
        box-sizing: border-box;
        background: #f2f7fb;
        border: 0.0833333333vw solid #005bab;
        padding: 0.8333333333vw 4.5833333333vw 2.5vw; }
        .recruit-page article .int--main--under--inner .tplead {
          font-size: 2vw;
          font-weight: bold;
          background: #005bab;
          color: #fff;
          width: 54.1666666667vw;
          text-align: center;
          padding: 0;
          margin: 0 auto;
          position: relative;
          top: -1.6666666667vw; }
        .recruit-page article .int--main--under--inner .flexs {
          display: flex;
          justify-content: center;
          align-items: center;
          gap: 0 4.1666666667vw; }
          .recruit-page article .int--main--under--inner .flexs p {
            width: 55.8333333333vw;
            text-align: justify;
            font-size: 1.25vw;
            font-weight: bold;
            line-height: 2; }
          .recruit-page article .int--main--under--inner .flexs .imgs {
            width: 17.5vw; }

@media screen and (max-width: 767px) {
  .recruit-page article {
    width: 100%;
    overflow-x: hidden;
    margin-top: 0; }
    .recruit-page article .mainbg {
      position: relative; }
      .recruit-page article .mainbg:before {
        position: absolute;
        content: "";
        background: url("../images/recruit/back.webp") no-repeat center top/cover;
        width: 100%;
        height: 100%;
        z-index: -1; }
    .recruit-page article .main {
      width: 100%;
      position: relative; }
      .recruit-page article .main .mainbg {
        padding-bottom: 26.6666666667vw;
        background: url("../images/recruit/back.webp") no-repeat center top/cover; }
      .recruit-page article .main .loop_wrap {
        position: absolute;
        top: 40px;
        z-index: 5; }
      .recruit-page article .main--kv {
        padding-top: 10.6666666667vw;
        position: relative;
        width: 100vw;
        margin: 0 0 0 auto;
        display: flex;
        justify-content: space-between; }
        .recruit-page article .main--kv figure {
          width: 120vw;
          margin-left: -48vw; }
        .recruit-page article .main--kv .kvarea {
          width: 117.3333333333vw;
          z-index: 2;
          margin-top: 10.6666666667vw; }
          .recruit-page article .main--kv .kvarea h2 {
            font-size: 5.3333333333vw;
            width: 38.6666666667vw;
            margin: 0 auto 2.6666666667vw 0; }
          .recruit-page article .main--kv .kvarea .lead {
            font-size: 5.3333333333vw;
            margin-left: 5.3333333333vw; }
            .recruit-page article .main--kv .kvarea .lead span {
              padding: 1.0666666667vw;
              margin-top: 0.5333333333vw; }
      .recruit-page article .main--sec {
        position: relative;
        width: 100%;
        display: flex;
        flex-wrap: wrap; }
        .recruit-page article .main--sec figure {
          position: static;
          width: 90.6666666667vw;
          margin: 4vw auto 0; }
        .recruit-page article .main--sec .blue {
          width: 90.6666666667vw;
          font-size: 3.4666666667vw;
          margin: 5.3333333333vw auto 0; }
          .recruit-page article .main--sec .blue br {
            display: none; }
        .recruit-page article .main--sec--box {
          width: 90.6666666667vw;
          margin: 8vw auto 5.3333333333vw; }
          .recruit-page article .main--sec--box .leads {
            font-size: 4vw; }
            .recruit-page article .main--sec--box .leads span {
              display: inline-block;
              background: #fff;
              line-height: 1;
              padding: 1.0666666667vw;
              padding-right: 0;
              margin-top: 0.5333333333vw;
              box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.2); }
          .recruit-page article .main--sec--box h4 {
            width: 90.6666666667vw;
            font-size: 3.4666666667vw;
            padding: 5.3333333333vw 0 0; }
        .recruit-page article .main--sec .under {
          width: 100%;
          font-size: 5.3333333333vw;
          padding-top: 0vw;
          text-align: center; }
      .recruit-page article .main--forth {
        width: 90.6666666667vw;
        margin: 24vw auto 0;
        padding-bottom: 10.6666666667vw; }
        .recruit-page article .main--forth .eng {
          font-size: 8vw;
          top: -13.3333333333vw;
          margin-bottom: -13.3333333333vw; }
        .recruit-page article .main--forth .conttl {
          width: 85.3333333333vw;
          font-size: 4.8vw;
          padding: 2.1333333333vw 0;
          line-height: 1.4; }
        .recruit-page article .main--forth .conttlbg {
          font-size: 5.3333333333vw;
          padding: 5.3333333333vw 0 0; }
          .recruit-page article .main--forth .conttlbg span:after {
            border-bottom: 2.1333333333vw solid #ffd600;
            bottom: -0.5333333333vw; }
        .recruit-page article .main--forth .txt {
          font-size: 3.4666666667vw;
          padding: 2.6666666667vw 0; }
        .recruit-page article .main--forth .flexbox {
          gap: 0 5.8666666667vw;
          flex-wrap: wrap; }
          .recruit-page article .main--forth .flexbox .box {
            width: 64vw;
            margin-top: 5.3333333333vw; }
            .recruit-page article .main--forth .flexbox .box p {
              padding: 2.6666666667vw 0;
              font-size: 3.7333333333vw; }
      .recruit-page article .main .secarea {
        padding-bottom: 25.0666666667vw;
        margin-bottom: -25.0666666667vw;
        flex-wrap: wrap; }
        .recruit-page article .main .secarea figure {
          width: 90.6666666667vw;
          top: -10.6666666667vw;
          margin: 0 auto -10.6666666667vw; }
        .recruit-page article .main .secarea .txtbox {
          width: 90.6666666667vw;
          padding: 5.3333333333vw;
          margin: 0 auto; }
          .recruit-page article .main .secarea .txtbox h3 {
            text-align: center;
            font-size: 5.3333333333vw;
            padding: 5.3333333333vw 0 0; }
            .recruit-page article .main .secarea .txtbox h3 span:after {
              border-bottom: 1.0666666667vw solid #ffd600;
              bottom: -1.0666666667vw; }
          .recruit-page article .main .secarea .txtbox .txt {
            font-size: 3.7333333333vw;
            padding: 2.6666666667vw 0; }
          .recruit-page article .main .secarea .txtbox .btn {
            width: 100%;
            position: relative;
            left: 0vw; }
      .recruit-page article .main .anc {
        width: 96vw; }
        .recruit-page article .main .anc.fixed {
          top: 0vw; }
        .recruit-page article .main .anc ul {
          width: 100%;
          flex-wrap: wrap; }
          .recruit-page article .main .anc ul li {
            width: calc(100% / 3); }
            .recruit-page article .main .anc ul li a {
              display: flex;
              align-items: center;
              padding-bottom: 2.6666666667vw; }
              .recruit-page article .main .anc ul li a .anc-inner {
                width: 100%;
                display: flex;
                align-items: center; }
                .recruit-page article .main .anc ul li a .anc-inner--number {
                  width: 20%;
                  margin-top: 1.3333333333vw;
                  font-size: 3.2vw;
                  line-height: 1.2;
                  text-align: center; }
                .recruit-page article .main .anc ul li a .anc-inner--menu {
                  width: 80%;
                  font-size: 2.9333333333vw;
                  display: flex;
                  align-items: center;
                  justify-content: center; }
              .recruit-page article .main .anc ul li a::after {
                content: '';
                display: block;
                position: absolute;
                left: 50%;
                margin-left: -0.5333333333vw;
                width: 1.0666666667vw;
                height: 1.0666666667vw;
                border-bottom: 0.2666666667vw solid #fff;
                border-right: 0.2666666667vw solid #fff;
                bottom: 1.0666666667vw;
                transform: rotate(45deg); }
    .recruit-page article #sec01 {
      padding-top: 53.3333333333vw;
      padding-bottom: 16vw;
      position: relative; }
      .recruit-page article #sec01:after {
        position: absolute;
        content: "";
        width: 100%;
        bottom: 0;
        height: 145.3333333333vw;
        background: #f2f7fb;
        z-index: -1; }
    .recruit-page article #sec02 {
      margin-top: 16vw;
      padding-bottom: 16vw; }
    .recruit-page article #sec03 {
      padding-top: 16vw;
      padding-bottom: 16vw;
      background: #f2f7fb;
      position: relative; }
      .recruit-page article #sec03 .point-sec--box {
        align-items: flex-start !important; }
      .recruit-page article #sec03:before {
        position: absolute;
        content: "";
        background: #fff;
        width: 100%;
        height: 17.3333333333vw;
        top: 0; }
    .recruit-page article #sec04 {
      padding-top: 16vw;
      padding-bottom: 16vw;
      position: relative; }
      .recruit-page article #sec04 .point-sec--box {
        align-items: center !important; }
    .recruit-page article #sec05 {
      position: relative; }
      .recruit-page article #sec05 .point-sec--box {
        align-items: center !important; }
    .recruit-page article #sec06 {
      padding-top: 16vw;
      padding-bottom: 16vw;
      background: #f2f7fb;
      position: relative; }
      .recruit-page article #sec06 .point-sec--box {
        align-items: flex-start !important; }
      .recruit-page article #sec06:before {
        position: absolute;
        content: "";
        background: #fff;
        width: 100%;
        height: 10.8333333333vw;
        top: 0; }
    .recruit-page article #sec07 {
      background: #005bab;
      position: relative; }
      .recruit-page article #sec07 .txtbox {
        width: 83.3333333333vw !important;
        margin: 0 auto;
        padding-left: 0; }
      .recruit-page article #sec07 .txtbox--ttl {
        text-align: center !important;
        color: #fff !important;
        display: block !important; }
        .recruit-page article #sec07 .txtbox--ttl .numbe {
          line-height: 0.8; }
        .recruit-page article #sec07 .txtbox--ttl .lead {
          margin-left: 0; }
    .recruit-page article .point-sec--box {
      flex-wrap: wrap; }
      .recruit-page article .point-sec--box .txtbox {
        width: 90.6666666667vw;
        padding-left: 0vw;
        margin: 0 auto; }
        .recruit-page article .point-sec--box .txtbox--ttl .numbe {
          font-size: 16vw; }
        .recruit-page article .point-sec--box .txtbox--ttl .lead {
          font-size: 4.8vw;
          margin-left: 5.3333333333vw; }
        .recruit-page article .point-sec--box .txtbox h3 {
          font-size: 4.8vw;
          padding: 5.3333333333vw 0 0; }
          .recruit-page article .point-sec--box .txtbox h3 span:after {
            border-bottom: 1.6vw solid #ffd600;
            bottom: -0.2666666667vw; }
        .recruit-page article .point-sec--box .txtbox .txt {
          font-size: 3.4666666667vw;
          padding: 2.6666666667vw 0; }
        .recruit-page article .point-sec--box .txtbox .lists {
          margin-bottom: 7.4666666667vw;
          margin-top: 4vw; }
          .recruit-page article .point-sec--box .txtbox .lists:after {
            position: absolute;
            content: "";
            background: #fff;
            width: 96vw;
            height: 58.6666666667vw;
            top: -2.6666666667vw;
            left: -2.6666666667vw;
            padding-bottom: 3.3333333333vw; }
          .recruit-page article .point-sec--box .txtbox .lists li {
            font-size: 3.4666666667vw;
            padding-left: 4vw;
            margin-top: 0vw; }
            .recruit-page article .point-sec--box .txtbox .lists li br {
              display: none; }
        .recruit-page article .point-sec--box .txtbox .place li {
          font-size: 3.4666666667vw; }
        .recruit-page article .point-sec--box .txtbox .top {
          font-size: 4.8vw;
          width: 90.6666666667vw;
          margin: 4vw 0 0; }
      .recruit-page article .point-sec--box figure {
        width: 90.6666666667vw;
        margin: 4vw auto; }
        .recruit-page article .point-sec--box figure.capsimgs figcaption {
          font-size: 3.2vw;
          bottom: 1.3333333333vw; }
          .recruit-page article .point-sec--box figure.capsimgs figcaption.left {
            padding-left: 1.3333333333vw; }
          .recruit-page article .point-sec--box figure.capsimgs figcaption.right {
            padding-right: 1.3333333333vw; }
      .recruit-page article .point-sec--box.rev {
        flex-direction: row-reverse; }
        .recruit-page article .point-sec--box.rev .txtbox {
          width: 90.6666666667vw;
          padding-left: 0vw;
          padding-right: 0vw; }
          .recruit-page article .point-sec--box.rev .txtbox--ttl {
            flex-direction: row-reverse; }
            .recruit-page article .point-sec--box.rev .txtbox--ttl dt {
              margin-right: 4vw; }
          .recruit-page article .point-sec--box.rev .txtbox h3 {
            text-align: right; }
            .recruit-page article .point-sec--box.rev .txtbox h3.top {
              text-align: center; }
    .recruit-page article .point-sec--second {
      width: 90.6666666667vw;
      margin: 8vw auto 0;
      padding-bottom: 14.6666666667vw; }
      .recruit-page article .point-sec--second--inner {
        padding: 0 5.3333333333vw; }
        .recruit-page article .point-sec--second--inner h4 {
          text-align: center;
          font-size: 3.4666666667vw;
          padding-top: 4vw;
          margin: 0 0 4vw 0; }
        .recruit-page article .point-sec--second--inner--example {
          flex-wrap: wrap;
          margin-top: 10.6666666667vw; }
          .recruit-page article .point-sec--second--inner--example:after {
            content: none; }
          .recruit-page article .point-sec--second--inner--example .box {
            width: 90%;
            margin: 0 auto; }
            .recruit-page article .point-sec--second--inner--example .box:last-child {
              padding-left: 0vw;
              margin-top: 8vw; }
            .recruit-page article .point-sec--second--inner--example .box .lead {
              font-size: 4.2666666667vw;
              margin-bottom: 5.3333333333vw; }
              .recruit-page article .point-sec--second--inner--example .box .lead small {
                display: block;
                font-size: 3.7333333333vw; }
            .recruit-page article .point-sec--second--inner--example .box figure {
              width: 72vw;
              margin: 0 auto; }
    .recruit-page article .point-sec--third {
      width: 90.6666666667vw;
      padding-bottom: 5.3333333333vw; }
      .recruit-page article .point-sec--third .blue-band {
        position: relative;
        z-index: 2;
        top: -6.6666666667vw;
        margin-bottom: -8vw; }
        .recruit-page article .point-sec--third .blue-band .leads {
          width: 100%;
          font-size: 4.8vw;
          padding: 2.1333333333vw 0;
          margin: 0 auto; }
        .recruit-page article .point-sec--third .blue-band .capt {
          width: 90.6666666667vw;
          font-size: 3.4666666667vw;
          font-weight: bold;
          padding: 2.1333333333vw 0; }
      .recruit-page article .point-sec--third .innerblock {
        width: 80vw;
        margin: 0 auto;
        padding-bottom: 5.3333333333vw;
        margin-top: 5.3333333333vw; }
        .recruit-page article .point-sec--third .innerblock:last-child {
          border-bottom: none; }
        .recruit-page article .point-sec--third .innerblock dl {
          display: flex;
          flex-wrap: wrap; }
          .recruit-page article .point-sec--third .innerblock dl dt {
            width: 100%;
            font-size: 4.2666666667vw; }
          .recruit-page article .point-sec--third .innerblock dl dd {
            width: 100%;
            font-size: 4vw;
            margin-left: 0vw; }
        .recruit-page article .point-sec--third .innerblock .captlead {
          font-size: 3.4666666667vw;
          padding: 2.6666666667vw 0 2.6666666667vw; }
        .recruit-page article .point-sec--third .innerblock .captunder {
          font-size: 3.4666666667vw;
          padding-top: 4vw; }
      .recruit-page article .point-sec--third:last-child {
        margin-top: 5.3333333333vw;
        padding-bottom: 0; }
        .recruit-page article .point-sec--third:last-child .blue-band {
          top: 0;
          margin-bottom: 0; }
          .recruit-page article .point-sec--third:last-child .blue-band .leads {
            width: 100%; }
        .recruit-page article .point-sec--third:last-child .innerblock figure {
          margin-bottom: 0vw; }
        .recruit-page article .point-sec--third:last-child .innerblock dl {
          align-items: flex-start; }
          .recruit-page article .point-sec--third:last-child .innerblock dl dt {
            font-size: 4.2666666667vw;
            width: 16vw;
            height: 16vw;
            border-radius: 8vw; }
          .recruit-page article .point-sec--third:last-child .innerblock dl dd {
            width: 58.6666666667vw;
            font-size: 3.4666666667vw;
            font-weight: bold;
            margin-left: 5.3333333333vw; }
          .recruit-page article .point-sec--third:last-child .innerblock dl:last-child {
            margin-top: 5.3333333333vw; }
    .recruit-page article .point-sec--qabox {
      width: 90.6666666667vw;
      margin: 0 auto;
      margin-top: -5.3333333333vw; }
      .recruit-page article .point-sec--qabox--block {
        margin-top: 8vw;
        font-size: 4vw; }
        .recruit-page article .point-sec--qabox--block--question {
          font-size: 4.5333333333vw;
          padding: 2.6666666667vw 0; }
        .recruit-page article .point-sec--qabox--block--answer {
          padding: 0vw 5.3333333333vw 5.3333333333vw; }
          .recruit-page article .point-sec--qabox--block--answer .qalead {
            font-size: 4.2666666667vw;
            padding: 5.3333333333vw 0 0;
            margin-bottom: 2.6666666667vw; }
            .recruit-page article .point-sec--qabox--block--answer .qalead span {
              position: relative; }
              .recruit-page article .point-sec--qabox--block--answer .qalead span:after {
                border-bottom: 1.3333333333vw solid #ffd600;
                bottom: -0.2666666667vw; }
    .recruit-page article .point-sec--entry .topttl {
      font-size: 5.3333333333vw;
      padding: 5.3333333333vw 0 0;
      margin-bottom: 2.6666666667vw; }
      .recruit-page article .point-sec--entry .topttl span {
        position: relative; }
        .recruit-page article .point-sec--entry .topttl span:after {
          border-bottom: 1.3333333333vw solid #ffd600;
          bottom: -0.2666666667vw; }
    .recruit-page article .point-sec--entry .txt {
      font-size: 3.7333333333vw;
      padding: 5.3333333333vw 0 0; }
    .recruit-page article .point-sec--entry .txtbox--btn {
      width: 80vw;
      margin: 10.6666666667vw auto -5.3333333333vw; }
      .recruit-page article .point-sec--entry .txtbox--btn a {
        font-size: 4.8vw;
        padding: 2.1333333333vw 0; }
        .recruit-page article .point-sec--entry .txtbox--btn a small {
          font-size: 3.7333333333vw; }
    .recruit-page article .point-sec--entry .backinner {
      padding: 10.6666666667vw 0; }
      .recruit-page article .point-sec--entry .backinner .txtbox--att {
        font-size: 4.8vw; }
      .recruit-page article .point-sec--entry .backinner .reccontact {
        width: 90.6666666667vw;
        margin-top: 5.3333333333vw;
        gap: 0 2.6666666667vw;
        padding: 4vw 0;
        flex-wrap: wrap; }
        .recruit-page article .point-sec--entry .backinner .reccontact li {
          width: 100%;
          font-size: 3.4666666667vw; }
    .recruit-page article .int--main {
      width: 100%; }
      .recruit-page article .int--main--inner {
        padding: 0 6.6666666667vw; }
        .recruit-page article .int--main--inner--block .profile {
          gap: 0 5.3333333333vw; }
          .recruit-page article .int--main--inner--block .profile figure {
            width: 48vw; }
          .recruit-page article .int--main--inner--block .profile dl {
            padding-bottom: 5.3333333333vw;
            font-size: 3.2vw; }
            .recruit-page article .int--main--inner--block .profile dl dt {
              font-size: 5.3333333333vw;
              font-weight: bold; }
        .recruit-page article .int--main--inner--block .txt {
          font-size: 3.4666666667vw;
          margin-top: 2.6666666667vw; }
        .recruit-page article .int--main--inner--block.top {
          width: 100%;
          margin: 0 auto; }
          .recruit-page article .int--main--inner--block.top .profile {
            justify-content: flex-end; }
        .recruit-page article .int--main--inner--block.top_2 {
          width: 100%;
          margin: 0 auto;
          margin-top: 8vw; }
        .recruit-page article .int--main--inner--block.sec {
          width: 100%;
          margin: 0 auto;
          margin-top: 8vw; }
        .recruit-page article .int--main--inner--block.sec_2 {
          width: 100%;
          margin: 0 auto;
          margin-top: 8vw; }
        .recruit-page article .int--main--inner--block.all_1 {
          width: 100%;
          margin: 0 auto;
          margin-top: 8vw; }
        .recruit-page article .int--main--inner--block.all {
          width: 100%;
          margin: 0 auto;
          margin-top: 8vw; }
      .recruit-page article .int--main--under {
        margin-top: 14.6666666667vw;
        padding: 0 4vw; }
        .recruit-page article .int--main--under .caption {
          font-size: 3.2vw;
          padding-top: 5.3333333333vw; }
        .recruit-page article .int--main--under--inner {
          padding: 5.3333333333vw 5.3333333333vw 5.3333333333vw; }
          .recruit-page article .int--main--under--inner .tplead {
            font-size: 4.2666666667vw;
            width: 80vw;
            top: -13.3333333333vw;
            padding: 2.1333333333vw 0;
            margin-bottom: -8vw; }
          .recruit-page article .int--main--under--inner .flexs {
            display: flex;
            justify-content: center;
            align-items: center;
            flex-wrap: wrap;
            gap: 0 4.1666666667vw; }
            .recruit-page article .int--main--under--inner .flexs p {
              width: 100%;
              font-size: 3.4666666667vw; }
            .recruit-page article .int--main--under--inner .flexs .imgs {
              width: 56vw;
              margin: 4vw auto 0; } }
.contact article .main--inner--keyvisual.vertical {
  background: #005bab;
  height: 150px; }
.contact article .main--inner--copy {
  top: 50%; }
  .contact article .main--inner--copy.vertical h2 {
    writing-mode: horizontal-tb;
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: horizontal-tb; }
.contact article .message {
  margin-top: 30px;
  padding: 40px 0 0; }
  .contact article .message.back_1 {
    background: #005bab;
    color: #fff;
    margin-top: 0; }
  .contact article .message--inner {
    max-width: 800px;
    margin: 0 auto; }
    .contact article .message--inner.bt {
      padding-bottom: 90px; }
    .contact article .message--inner--lead.pb {
      padding-bottom: 90px; }
    .contact article .message--inner--lead dl {
      font-weight: bold;
      color: #005bab;
      text-align: center; }
      .contact article .message--inner--lead dl dt {
        font-size: 2rem;
        line-height: 1.6; }
      .contact article .message--inner--lead dl dd {
        font-size: 2.0rem;
        line-height: 1.9;
        letter-spacing: .02em; }
        .contact article .message--inner--lead dl dd i {
          text-decoration: underline;
          font-style: normal; }
        .contact article .message--inner--lead dl dd span {
          font-weight: normal;
          display: block;
          margin-top: 20px;
          font-size: 1.4rem; }
    .contact article .message--inner--lead .optional {
      display: none; }
    .contact article .message--inner--lead.white {
      padding: 20px 0 60px; }
      .contact article .message--inner--lead.white dl {
        color: #fff; }
        .contact article .message--inner--lead.white dl dt {
          font-size: 2.4rem; }
  .contact article .message--contact {
    background: #005bab;
    color: #fff;
    margin-top: 75px; }
    .contact article .message--contact--lead {
      max-width: 800px;
      margin: 0 auto;
      padding: 40px 0; }
      .contact article .message--contact--lead dl {
        font-weight: bold; }
        .contact article .message--contact--lead dl dt {
          font-size: 2.2rem;
          line-height: 1.6; }
        .contact article .message--contact--lead dl dd {
          font-size: 3rem; }
          .contact article .message--contact--lead dl dd span {
            font-size: 1.8rem; }
      .contact article .message--contact--lead p {
        font-size: 1.4rem; }
      .contact article .message--contact--lead .optional {
        display: none; }
.contact article .steps {
  margin-top: 75px; }
  .contact article .steps--inner--wrap {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center; }
    .contact article .steps--inner--wrap--box {
      max-width: 140px;
      width: 100%;
      margin: 0 30px;
      position: relative; }
      .contact article .steps--inner--wrap--box ul {
        text-align: center;
        line-height: 1.0;
        color: #b5b7b9; }
        .contact article .steps--inner--wrap--box ul li:first-child {
          font-size: 2.4rem;
          font-style: normal; }
        .contact article .steps--inner--wrap--box ul li:last-child {
          border-top: 1px solid #b5b7b9;
          margin-top: 13px;
          padding-top: 13px;
          font-size: 1.6rem; }
      .contact article .steps--inner--wrap--box.active ul {
        color: #005bab; }
        .contact article .steps--inner--wrap--box.active ul li {
          font-style: normal;
          border-color: #005bab; }
      .contact article .steps--inner--wrap--box.active:after {
        border-color: #005bab; }
  .contact article .steps--inner p {
    text-align: center;
    margin-top: 55px;
    font-size: 1.4rem;
    line-height: 1.8; }
    .contact article .steps--inner p span {
      display: block;
      color: #d23c3c; }
.contact article .form {
  background-color: #efefef; }
  .contact article .form .error_check, .contact article .form .error_blank {
    color: red;
    margin-top: 10px; }
  .contact article .form #form_submit_button:disabled {
    background-color: #ccc;
    cursor: not-allowed; }
  .contact article .form--inner {
    max-width: 810px;
    margin: 0 auto;
    padding: 30px 0 145px; }
    .contact article .form--inner .formbox {
      font-size: 1.4rem;
      font-weight: bold; }
      .contact article .form--inner .formbox .contlead {
        width: 100%;
        font-size: 1.6rem;
        color: #005bab;
        padding: 30px 0 0;
        position: relative; }
        .contact article .form--inner .formbox .contlead span {
          font-size: 73px;
          font-family: 'Roboto', sans-serif;
          font-weight: 500;
          font-style: italic;
          display: inline-block;
          margin-right: 15px;
          line-height: 1; }
        .contact article .form--inner .formbox .contlead i {
          position: absolute;
          top: 38px;
          left: 85px;
          font-style: normal;
          display: inline-block;
          background: #d7092f;
          color: #fff;
          padding: 1px 5px;
          margin-left: 10px; }
      .contact article .form--inner .formbox dl {
        display: flex;
        justify-content: space-between;
        padding: 30px 0;
        border-bottom: 1px dashed #005bab;
        position: relative;
        flex-wrap: wrap; }
        .contact article .form--inner .formbox dl.bordernone {
          border-bottom: none; }
        .contact article .form--inner .formbox dl.bordernonetop {
          padding: 0 0 30px; }
        .contact article .form--inner .formbox dl dt {
          width: 260px;
          color: #005bab;
          font-size: 14px;
          font-weight: bold;
          position: relative; }
          .contact article .form--inner .formbox dl dt span {
            display: inline-block;
            background: #d7092f;
            color: #fff;
            padding: 1px 5px;
            margin-left: 10px; }
            .contact article .form--inner .formbox dl dt span.required, .contact article .form--inner .formbox dl dt span.optional {
              display: none; }
        .contact article .form--inner .formbox dl dd {
          width: calc(100% - 270px); }
          .contact article .form--inner .formbox dl dd input[type="text"], .contact article .form--inner .formbox dl dd input[type="email"] {
            width: 100%;
            height: 40px;
            padding: 8px;
            border: 1px solid #fff;
            /* 青色のボーダー */
            border-radius: 5px;
            background: #fff;
            outline: none;
            transition: border-color 0.3s, box-shadow 0.3s; }
          .contact article .form--inner .formbox dl dd .tel {
            width: 30% !important;
            display: inline-block; }
          .contact article .form--inner .formbox dl dd .flex {
            display: flex;
            flex-wrap: wrap; }
            .contact article .form--inner .formbox dl dd .flex li {
              margin-right: 15px; }
              .contact article .form--inner .formbox dl dd .flex li input[type="radio"] {
                margin-right: 5px;
                position: relative;
                top: 1px;
                accent-color: #005bab; }
          .contact article .form--inner .formbox dl dd #inquiry {
            width: 100%;
            height: 100px;
            background: #fff;
            border-color: #fff;
            border-radius: 5px;
            padding: 15px;
            outline: none;
            /* デフォルトのフォーカス枠を削除 */
            resize: none;
            /* サイズ変更禁止 */ }
          .contact article .form--inner .formbox dl dd #mail_address_error, .contact article .form--inner .formbox dl dd #mail_address_conf_error {
            color: red;
            font-size: 12px;
            display: none; }
        .contact article .form--inner .formbox dl small {
          position: relative;
          margin: -15px auto -15px 0; }
        .contact article .form--inner .formbox dl.all {
          display: block;
          padding: 10px 0 30px; }
          .contact article .form--inner .formbox dl.all.bbnone {
            border-bottom: none;
            padding-bottom: 0; }
          .contact article .form--inner .formbox dl.all.entrytxtarea {
            padding: 10px 0 30px; }
          .contact article .form--inner .formbox dl.all dt {
            width: 100%;
            font-size: 1.6rem;
            color: #005bab; }
            .contact article .form--inner .formbox dl.all dt.none {
              display: none; }
            .contact article .form--inner .formbox dl.all dt span.required, .contact article .form--inner .formbox dl.all dt span.optional {
              display: none; }
          .contact article .form--inner .formbox dl.all dd {
            width: 100%;
            margin-top: 0px;
            /* 元のチェックボックスを非表示にする */
            /* チェックボックスのカスタムデザイン（外枠） */
            /* チェックが入ったときのスタイル（中央に小さい丸を配置） */
            /* 最初は非表示 */ }
            .contact article .form--inner .formbox dl.all dd .custom-checkbox {
              display: none; }
            .contact article .form--inner .formbox dl.all dd .custom-checkbox + label {
              display: inline-flex;
              align-items: center;
              cursor: pointer;
              position: relative;
              /* チェック後の小さい丸の基準 */ }
            .contact article .form--inner .formbox dl.all dd .custom-checkbox + label::before {
              content: "";
              display: inline-block;
              width: 14px;
              height: 14px;
              background-color: #fff;
              border-radius: 50%;
              margin-right: 8px;
              position: relative;
              /* 塗りつぶし丸の基準 */ }
            .contact article .form--inner .formbox dl.all dd .custom-checkbox:checked + label::after {
              content: "";
              position: absolute;
              width: 10px;
              /* 小さい塗りつぶし丸 */
              height: 10px;
              background-color: #005bab;
              border-radius: 50%;
              top: 50%;
              left: 7px;
              /* 外枠の中央に配置 */
              transform: translate(-50%, -50%); }
            .contact article .form--inner .formbox dl.all dd #otherTextarea {
              width: 100%;
              height: 100px;
              background: #fff;
              border-radius: 5px;
              padding: 15px;
              outline: none;
              /* デフォルトのフォーカス枠を削除 */
              resize: none;
              /* サイズ変更禁止 */
              border-color: #fff; }
            .contact article .form--inner .formbox dl.all dd .flex {
              display: flex;
              margin-top: 20px; }
              .contact article .form--inner .formbox dl.all dd .flex li {
                margin-right: 15px; }
    .contact article .form--inner #agreement {
      margin-top: 30px; }
      .contact article .form--inner #agreement h3 {
        background: #005bab;
        color: #fff;
        font-size: 1.5rem;
        text-align: center;
        padding: 5px 0; }
      .contact article .form--inner #agreement div {
        background: #fff;
        padding: 15px;
        font-size: 1.3rem;
        color: #005bab; }
      .contact article .form--inner #agreement #agree_check {
        margin-top: 10px;
        font-size: 1.3rem; }
        .contact article .form--inner #agreement #agree_check input[type="checkbox"] {
          position: relative;
          top: 1px;
          accent-color: #005bab; }
      .contact article .form--inner #agreement .error_check {
        display: none; }
    .contact article .form--inner .contact--form-submitbtn {
      margin-top: 40px; }
    .contact article .form--inner .contact--form-submitbtn input {
      display: block;
      cursor: pointer;
      width: 100%;
      height: 100%;
      font-size: 2.2rem;
      font-weight: bold;
      line-height: 1;
      letter-spacing: .15em;
      text-align: center;
      background-color: #d7092f;
      color: #fff;
      padding: 26px 0;
      position: relative;
      margin-top: 40px;
      border: none; }
    .contact article .form--inner .contact--form-submitbtn p {
      width: 100%;
      position: relative; }
    .contact article .form--inner .contact--form-submitbtn p:after {
      content: '';
      position: absolute;
      width: 24px;
      height: 24px;
      background: url("../../assets/images/common/icon_next.png") no-repeat center center/cover;
      top: 50%;
      right: 8%;
      transform: translateY(-50%);
      transition: all .3s ease-out; }
    .contact article .form--inner .contact--form-submitbtn p:hover {
      opacity: 1; }
    .contact article .form--inner .contact--form-submitbtn p:hover:after {
      right: 5%; }
.contact article .complete {
  margin-top: 0px; }
  .contact article .complete--inner {
    max-width: 792px;
    margin: 0 auto;
    position: relative;
    text-align: center;
    padding: 60px 0; }
    .contact article .complete--inner h3 {
      color: #005bab;
      line-height: 1.0;
      font-size: 2.8rem;
      letter-spacing: .08em; }
    .contact article .complete--inner p {
      margin-top: 45px;
      color: #005bab;
      font-size: 1.8rem;
      line-height: 2.0; }
    .contact article .complete--inner .back-btn {
      margin-top: 65px;
      display: block;
      cursor: pointer;
      width: 100%;
      font-size: 2.2rem;
      font-weight: bold;
      line-height: 1;
      letter-spacing: .15em;
      text-align: center;
      background-color: #d7092f;
      color: #fff;
      padding: 26px 0;
      position: relative;
      position: relative; }
      .contact article .complete--inner .back-btn a {
        display: block;
        color: #fff;
        position: relative; }
        .contact article .complete--inner .back-btn a:after {
          content: '';
          position: absolute;
          width: 24px;
          height: 24px;
          background: url("../../assets/images/common/icon_next.png") no-repeat center center/cover;
          top: 50%;
          right: 8%;
          transform: translateY(-50%);
          transition: all .3s ease-out; }
        .contact article .complete--inner .back-btn a:hover {
          opacity: 0.5; }
        .contact article .complete--inner .back-btn a:hover:after {
          right: 5%; }
.contact div#confirm_field {
  display: none; }
.contact #confirm_field .form {
  margin-top: 75px; }
.contact #confirm_field .form--inner .formbox dl {
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  max-width: 100%;
  border-bottom: none; }
.contact #confirm_field .form--inner .formbox dl dt {
  width: 30%;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 2;
  color: #005bab;
  padding: 15px 0;
  border-bottom: 1px solid #005bab; }
.contact #confirm_field .form--inner .formbox dl dd {
  width: 70%;
  font-size: 1.4rem;
  line-height: 2;
  padding: 15px 0;
  border-bottom: 1px solid #005bab; }
.contact #confirm_field .btn-submit-wrap {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: 50px auto 0 auto; }
.contact #confirm_field .btn-submit-wrap p {
  width: 45%;
  height: 65px;
  text-indent: -9999px;
  border: none;
  cursor: pointer;
  transition: all .3s ease-out; }
.contact #confirm_field .btn-submit-wrap .cancel {
  display: block;
  cursor: pointer;
  width: 100%;
  height: 100%;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: .15em;
  text-align: center;
  background-color: #444;
  color: #fff;
  padding: 20px 0;
  position: relative;
  margin-top: 40px;
  border: none; }
.contact #confirm_field .btn-submit-wrap .confirm {
  display: block;
  cursor: pointer;
  width: 100%;
  height: 100%;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: .15em;
  text-align: center;
  background-color: #d7092f;
  color: #fff;
  padding: 20px 0;
  position: relative;
  margin-top: 40px;
  border: none; }

@media screen and (max-width: 768px) {
  .contact article .main--inner--copy {
    top: 50%; }
  .contact article .message--inner {
    max-width: 90%; }
    .contact article .message--inner.bt {
      padding-bottom: 0px; }
    .contact article .message--inner.white {
      padding: 10px 0 0; }
      .contact article .message--inner.white dl {
        color: #fff; }
        .contact article .message--inner.white dl dt {
          font-size: 2.4rem; }
  .contact article .form--inner {
    max-width: 90%; }
    .contact article .form--inner--table {
      padding: 25px 0;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      align-items: center;
      position: relative; }
      .contact article .form--inner--table--title {
        width: 28%;
        font-size: 1.4rem;
        line-height: 1.0;
        color: #005bab; }
      .contact article .form--inner--table--input {
        width: 72%;
        position: relative; }
        .contact article .form--inner--table--input input {
          height: 30px;
          font-size: 1.4rem;
          width: 100%;
          padding-left: 5px; }
        .contact article .form--inner--table--input #btn_postcode2address {
          border: none;
          max-width: 210px;
          background-color: #005bab;
          color: #fff;
          cursor: pointer;
          margin-left: 20px;
          outline: none;
          transition: all .3s ease-out;
          -webkit-appearance: none; }
          .contact article .form--inner--table--input #btn_postcode2address:hover {
            opacity: .7; }
        .contact article .form--inner--table--input textarea {
          width: 100%;
          height: 200px; }
        .contact article .form--inner--table--input .alert {
          display: none;
          position: absolute;
          font-size: 1.3rem;
          color: #d23c3c;
          font-weight: bold; }
        .contact article .form--inner--table--input p {
          font-size: 1.4rem;
          color: #005bab; }
      .contact article .form--inner--table:nth-of-type(1) .form--inner--table--input input, .contact article .form--inner--table:nth-of-type(2) .form--inner--table--input input {
        max-width: 200px; }
        .contact article .form--inner--table:nth-of-type(1) .form--inner--table--input input:nth-of-type(1), .contact article .form--inner--table:nth-of-type(2) .form--inner--table--input input:nth-of-type(1) {
          margin-right: 30px; }
      .contact article .form--inner--table:nth-of-type(5) .form--inner--table--input input, .contact article .form--inner--table:nth-of-type(7) .form--inner--table--input input, .contact article .form--inner--table:nth-of-type(8) .form--inner--table--input input {
        max-width: 50px; }
      .contact article .form--inner--table:not(:nth-of-type(1)) {
        border-top: 1px solid #cacccd; }
      .contact article .form--inner--table.email01 {
        padding-bottom: 0; }
      .contact article .form--inner--table.email02 {
        border-top: none; }
      .contact article .form--inner--table.must .form--inner--table--input {
        position: relative; }
        .contact article .form--inner--table.must .form--inner--table--input:before {
          content: '必須';
          display: block;
          position: absolute;
          background-color: #d13c3e;
          color: #fff;
          font-size: 1.4rem;
          line-height: 1.0;
          padding: 3px;
          top: 50%;
          left: -53px;
          margin-top: -10px; }
      .contact article .form--inner--table.must.alerton .form--inner--table--input .alert {
        display: block; }
      .contact article .form--inner--table.text {
        align-items: flex-start;
        border-bottom: 1px solid #cacccd; }
        .contact article .form--inner--table.text.must .form--inner--table--input:before {
          top: 10px; }
    .contact article .form--inner .btn-submit-wrap {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      justify-content: space-between;
      max-width: 543px;
      margin: 88px auto 0 auto; }
      .contact article .form--inner .btn-submit-wrap .btn-submit-child {
        max-width: 228px;
        width: 100%;
        height: 65px;
        text-indent: -9999px;
        border: none;
        cursor: pointer;
        transition: all .3s ease-out; }
        .contact article .form--inner .btn-submit-wrap .btn-submit-child.submit-back {
          background: url("../contact/contact_btn_back.png") no-repeat 0 0; }
        .contact article .form--inner .btn-submit-wrap .btn-submit-child.submit-go {
          background: url("../contact/contact_btn_send.png") no-repeat 0 0; }
        .contact article .form--inner .btn-submit-wrap .btn-submit-child:hover {
          opacity: .7; }
    .contact article .form--inner .btn-submit {
      margin: 88px auto 0 auto;
      max-width: 228px;
      width: 100%;
      height: 65px;
      text-indent: -9999px;
      border: none;
      background: url("../contact/contact_btn_next.png") no-repeat 0 0;
      cursor: pointer;
      transition: all .3s ease-out; }
      .contact article .form--inner .btn-submit:hover {
        opacity: .7; }
  .contact article .complete {
    margin-top: 0px; }
    .contact article .complete--inner {
      max-width: 792px;
      margin: 0 auto;
      position: relative;
      text-align: center;
      padding: 50px 0; }
      .contact article .complete--inner h3 {
        color: #005bab;
        line-height: 1.0;
        font-size: 2.4rem;
        letter-spacing: .08em; }
      .contact article .complete--inner p {
        margin-top: 45px;
        color: #005bab;
        font-size: 1.4rem;
        line-height: 2.0; }
      .contact article .complete--inner .back-btn {
        margin-top: 65px; } }
@media screen and (max-width: 767px) {
  .contact article .main--inner--keyvisual img {
    margin-left: -45%; }
  .contact article .message {
    padding: 50px 0; }
    .contact article .message--inner.bt {
      padding-bottom: 0px; }
    .contact article .message--inner--lead dl dt {
      font-size: 5vw;
      line-height: 1.4; }
    .contact article .message--inner--lead dl dd {
      font-size: 4vw;
      text-align: justify; }
    .contact article .message--contact {
      margin-top: 40px; }
      .contact article .message--contact--lead {
        max-width: 90%;
        margin: 0 auto;
        padding: 40px 0; }
        .contact article .message--contact--lead dl dt {
          font-size: 1.6rem; }
        .contact article .message--contact--lead dl dd {
          font-size: 2.2rem; }
          .contact article .message--contact--lead dl dd span {
            font-size: 1.4rem; }
        .contact article .message--contact--lead p {
          font-size: 1.2rem; }
  .contact article .steps {
    width: 90%;
    margin: 45px auto 0;
    padding-bottom: 45px; }
    .contact article .steps--inner--wrap--box {
      width: 33%;
      margin: 0 10px; }
      .contact article .steps--inner--wrap--box dl dt {
        font-size: 6vw; }
      .contact article .steps--inner--wrap--box dl dd {
        margin-top: 7px;
        padding-top: 7px;
        font-size: 2.2vw; }
    .contact article .steps--inner p {
      margin-top: 30px;
      font-size: 3.2vw; }
  .contact article .form {
    margin-top: 40px; }
    .contact article .form--inner {
      max-width: 90%;
      margin: 0 auto;
      padding: 30px 0 50px; }
      .contact article .form--inner .formbox {
        font-size: 1.3rem; }
        .contact article .form--inner .formbox .contlead {
          width: 100%;
          font-size: 1.6rem;
          padding: 20px 0 0; }
          .contact article .form--inner .formbox .contlead span {
            display: block;
            font-size: 40px;
            margin-right: 10px; }
          .contact article .form--inner .formbox .contlead i {
            position: absolute;
            top: 25px;
            left: 50px;
            font-style: normal;
            display: inline-block;
            background: #d7092f;
            color: #fff;
            padding: 1px 5px;
            margin-left: 10px; }
        .contact article .form--inner .formbox dl {
          display: block;
          justify-content: space-between;
          align-items: center;
          padding: 30px 0;
          border-bottom: 1px dashed #005bab; }
          .contact article .form--inner .formbox dl dt {
            width: 100%; }
          .contact article .form--inner .formbox dl dd {
            width: 100%;
            margin-top: 10px; }
            .contact article .form--inner .formbox dl dd .tel {
              width: 25% !important;
              display: inline-block; }
            .contact article .form--inner .formbox dl dd .flex {
              display: flex; }
              .contact article .form--inner .formbox dl dd .flex li {
                margin-right: 10px; }
            .contact article .form--inner .formbox dl dd #mail_address_error, .contact article .form--inner .formbox dl dd #mail_address_conf_error {
              font-size: 10px; }
          .contact article .form--inner .formbox dl small {
            position: relative;
            margin: 10px auto 0px 0; }
          .contact article .form--inner .formbox dl.all {
            display: block;
            padding: 10px 0 30px; }
            .contact article .form--inner .formbox dl.all dd {
              width: 100%;
              margin-top: 0px; }
              .contact article .form--inner .formbox dl.all dd .flex {
                display: flex;
                margin-top: 10px; }
                .contact article .form--inner .formbox dl.all dd .flex li {
                  margin-right: 10px; }
      .contact article .form--inner .contact--form-submitbtn {
        margin-top: 40px; }
      .contact article .form--inner .contact--form-submitbtn input {
        font-size: 1.6rem; }
  .contact article .complete {
    margin-top: 0px; }
    .contact article .complete--inner {
      max-width: 90%;
      padding: 0px 0; }
      .contact article .complete--inner p {
        margin-top: 25px;
        color: #005bab;
        font-size: 1.4rem;
        line-height: 2.0; }
      .contact article .complete--inner .back-btn {
        margin-top: 30px;
        width: 100%;
        font-size: 1.6rem;
        padding: 15px 0; }
  .contact article #confirm_field .form {
    margin-top: 0px; }
  .contact article #confirm_field .form--inner .formbox dl {
    flex-wrap: wrap;
    border-bottom: none; }
  .contact article #confirm_field .form--inner .formbox dl dt {
    width: 100%;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 2;
    color: #005bab;
    padding: 10px 0 0;
    background: none;
    border-bottom: none; }
  .contact article #confirm_field .form--inner .formbox dl dd {
    width: 100%;
    font-size: 1.4rem;
    line-height: 2;
    padding: 0px 0 10px; }
  .contact article #confirm_field .btn-submit-wrap {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 25px auto 0 auto; }
  .contact article #confirm_field .btn-submit-wrap p {
    width: 45%;
    height: 65px;
    text-indent: -9999px;
    border: none;
    cursor: pointer;
    transition: all .3s ease-out; }
  .contact article #confirm_field .btn-submit-wrap .cancel {
    font-size: 1.6rem;
    margin-top: 20px; }
  .contact article #confirm_field .btn-submit-wrap .confirm {
    font-size: 1.6rem;
    margin-top: 20px; } }
.news article .main--inner--copy {
  top: 45%; }
.news article .container--inner {
  max-width: 810px;
  margin: 0 auto; }
  .news article .container--inner--block {
    margin-top: 85px;
    padding-top: 100px;
    border-top: 1px solid #dddede; }
    .news article .container--inner--block:first-of-type {
      margin-top: 0;
      border-top: none; }
    .news article .container--inner--block--title h2 {
      font-size: 3.0rem;
      font-weight: bold;
      line-height: 1.4;
      letter-spacing: .05em;
      color: #005bab; }
    .news article .container--inner--block--title p {
      font-size: 1.8rem;
      font-weight: bold;
      line-height: 1;
      letter-spacing: .05em;
      margin-top: 35px; }
    .news article .container--inner--block--main .image {
      margin-top: 55px; }
    .news article .container--inner--block--main p {
      font-size: 1.6rem;
      line-height: 2;
      text-align: justify;
      margin-top: 20px; }
    .news article .container--inner--block--info {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      .news article .container--inner--block--info .image {
        width: 33.5%;
        margin-top: 65px; }
      .news article .container--inner--block--info .texts {
        width: 60%;
        margin-top: 65px; }
        .news article .container--inner--block--info .texts h3 {
          font-size: 1.8rem;
          line-height: 1;
          color: #005bab; }
        .news article .container--inner--block--info .texts p {
          font-size: 1.6rem;
          line-height: 2;
          margin-top: 20px; }
          .news article .container--inner--block--info .texts p a {
            display: block;
            color: #005bab;
            line-height: 1.2;
            margin-top: 10px; }
    .news article .container--inner--block--download {
      margin-top: 30px; }
      .news article .container--inner--block--download a {
        display: flex;
        align-items: center; }
        .news article .container--inner--block--download a .icon {
          width: 43px; }
        .news article .container--inner--block--download a p {
          font-size: 1.4rem;
          font-weight: bold;
          line-height: 1;
          color: #403f41;
          margin-left: 1em; }
.news .footer--over {
  margin-top: 300px; }

@media screen and (max-width: 1024px) {
  .news article .container--inner {
    max-width: 85%; } }
@media screen and (max-width: 768px) {
  .news article .main--inner--copy {
    top: 50%; } }
@media screen and (max-width: 767px) {
  .news article .container--inner--block {
    margin-top: 45px;
    padding-top: 50px; }
    .news article .container--inner--block--title h2 {
      font-size: 5.4vw; }
    .news article .container--inner--block--title p {
      font-size: 3.7vw;
      margin-top: 18px; }
    .news article .container--inner--block--main .image {
      margin-top: 28px; }
    .news article .container--inner--block--main p {
      font-size: 3.4vw;
      margin-top: 10px; }
    .news article .container--inner--block--info .image {
      width: 100%;
      margin-top: 33px; }
    .news article .container--inner--block--info .texts {
      width: 100%;
      margin-top: 33px; }
      .news article .container--inner--block--info .texts h3 {
        font-size: 4vw; }
      .news article .container--inner--block--info .texts p {
        font-size: 3.4vw;
        margin-top: 10px; }
        .news article .container--inner--block--info .texts p a {
          margin-top: 5px; }
    .news article .container--inner--block--download {
      margin-top: 15px; }
      .news article .container--inner--block--download a .icon {
        width: 22px; }
      .news article .container--inner--block--download a p {
        font-size: 3.2vw; }
  .news .footer--over {
    margin-top: 300px; } }
.rsd article {
  position: relative; }
  .rsd article .line {
    width: 100%;
    position: absolute;
    left: 0;
    z-index: 2;
    pointer-events: none; }
    .rsd article .line.l01 {
      top: 121.5vw; }
    .rsd article .line.l02 {
      top: 221.5vw; }
    .rsd article .line.l03 {
      mix-blend-mode: multiply;
      top: 279vw; }
    .rsd article .line.l04 {
      mix-blend-mode: multiply;
      top: 385vw; }
  .rsd article .cmn-title {
    text-align: center; }
    .rsd article .cmn-title .icon {
      margin: 0 auto; }
    .rsd article .cmn-title h2 {
      margin: 15px 0 0;
      font-family: "Noto Sans JP", sans-serif;
      font-weight: 600;
      line-height: 1.34;
      font-size: 4.1rem; }
    .rsd article .cmn-title .en {
      margin: 10px 0 0;
      font-family: "Poppins", sans-serif;
      font-size: 2.4rem; }
  .rsd article .fixed_slideshow {
    position: fixed;
    z-index: -1;
    width: 100%;
    height: calc(100vh - 105px);
    top: 105px;
    left: 0; }
    .rsd article .fixed_slideshow:before {
      content: '';
      display: block;
      position: absolute;
      z-index: 2;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.2);
      top: 0;
      left: 0;
      mix-blend-mode: multiply; }
    .rsd article .fixed_slideshow > div {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1; }
    .rsd article .fixed_slideshow .slide01 {
      background: url("../images/rsd/bg_rsd_slide_01.jpg") no-repeat center/cover; }
    .rsd article .fixed_slideshow .slide02 {
      background: url("../images/rsd/bg_rsd_slide_02.jpg") no-repeat center/cover; }
    .rsd article .fixed_slideshow .slick-list, .rsd article .fixed_slideshow .slick-track, .rsd article .fixed_slideshow .slick-slide {
      height: 100%; }
  .rsd article .main {
    width: 100%;
    height: calc(100vh - 105px);
    position: relative; }
    .rsd article .main--texts, .rsd article .main--entrybtn, .rsd article .main--icn {
      position: absolute; }
    .rsd article .main--texts {
      left: 8vw;
      top: 50%;
      transform: translateY(-50%);
      z-index: 2; }
      .rsd article .main--texts--catch span {
        opacity: .9;
        padding: 15px 30px 15px 15px;
        display: inline-block;
        line-height: 1.0;
        background-color: #fff;
        color: #005bab;
        font-size: 4.176rem;
        font-feature-settings: "palt";
        font-weight: bold;
        font-family: "Noto Sans JP", sans-serif; }
      .rsd article .main--texts p, .rsd article .main--texts small {
        color: #fff;
        font-feature-settings: "palt"; }
      .rsd article .main--texts p {
        margin: 45px 0 0;
        font-family: "Noto Sans JP", sans-serif;
        font-weight: bold;
        line-height: 1.46;
        letter-spacing: .05em;
        font-size: 2.4rem; }
      .rsd article .main--texts small {
        margin: 18px 0 0;
        font-family: "Poppins", sans-serif;
        display: block;
        line-height: 1.0;
        font-size: 2.0rem; }
    .rsd article .main--entrybtn {
      width: 162px;
      right: 28px;
      bottom: 28px;
      transition: all .3s ease-out;
      z-index: 3; }
      .rsd article .main--entrybtn:hover {
        transform: scale(1.04); }
    .rsd article .main--icn {
      z-index: 1; }
      .rsd article .main--icn.i01 {
        width: 98px;
        left: 0;
        top: 0; }
      .rsd article .main--icn.i02 {
        width: 563px;
        right: 0;
        bottom: 0; }
  .rsd article .lead {
    position: relative;
    width: 100%;
    height: 651px; }
    .rsd article .lead--texts {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 118px;
      max-width: 543px;
      width: 100%;
      color: #fff;
      z-index: 2; }
      .rsd article .lead--texts h2 {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        font-weight: bold;
        line-height: 1.0;
        font-size: 3.2rem; }
        .rsd article .lead--texts h2 span {
          margin: 0 0 0 26px;
          display: block;
          width: 46px; }
      .rsd article .lead--texts p {
        margin: 35px 0 0;
        font-feature-settings: "palt";
        line-height: 2.11;
        font-weight: 500;
        font-size: 1.8rem; }
    .rsd article .lead--tri {
      width: 1214px;
      height: 100%;
      position: absolute;
      right: 0;
      bottom: 0;
      background: url("../images/rsd/bg_rsd_lead_back.png") no-repeat bottom right/cover;
      z-index: 1; }
    .rsd article .lead--undertxt {
      width: 679px;
      position: absolute;
      z-index: 2;
      bottom: 0;
      right: 125px;
      mix-blend-mode: multiply; }
  .rsd article .banner {
    padding: 56px 0 70px;
    background-color: #fff;
    position: relative;
    z-index: 3; }
    .rsd article .banner--block {
      width: 100%;
      height: 242px;
      position: relative; }
      .rsd article .banner--block:before {
        content: '';
        display: block;
        position: absolute;
        z-index: 1;
        width: 0;
        height: 0;
        border-style: solid;
        opacity: .9;
        top: 0; }
      .rsd article .banner--block--texts {
        color: #fff;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 2; }
        .rsd article .banner--block--texts h3, .rsd article .banner--block--texts p {
          font-feature-settings: "palt";
          font-family: "Noto Sans JP", sans-serif;
          font-weight: bold; }
        .rsd article .banner--block--texts h3 {
          font-size: 4.1rem; }
          .rsd article .banner--block--texts h3 span {
            font-size: 3.0rem; }
        .rsd article .banner--block--texts p {
          font-size: 2.4rem; }
          .rsd article .banner--block--texts p strong {
            font-weight: bold;
            font-size: 3.7rem; }
      .rsd article .banner--block.b01 {
        background: url("../images/rsd/img_rsd_banner_01.jpg") no-repeat center/cover; }
      .rsd article .banner--block.b02 {
        background: url("../images/rsd/img_rsd_banner_02.jpg") no-repeat center/cover; }
      .rsd article .banner--block.b03 {
        background: url("../images/rsd/img_rsd_banner_03.jpg") no-repeat center/cover; }
      .rsd article .banner--block.b04 {
        background: url("../images/rsd/img_rsd_banner_04.jpg") no-repeat center/cover; }
      .rsd article .banner--block:nth-of-type(odd):before {
        border-color: #d7092f transparent transparent transparent;
        border-width: 60px 60px 0px 0px;
        left: 0; }
      .rsd article .banner--block:nth-of-type(odd) .banner--block--texts {
        left: 12.5%; }
      .rsd article .banner--block:nth-of-type(even):before {
        border-color: transparent #005bab transparent transparent;
        border-width: 0px 60px 60px 0px;
        right: 0; }
      .rsd article .banner--block:nth-of-type(even) .banner--block--texts {
        right: 10%;
        text-align: right; }
  .rsd article .features {
    position: relative;
    background-color: #1B6CB5;
    padding: 80px 0 132px;
    z-index: 2; }
    .rsd article .features--title, .rsd article .features--inner {
      position: relative;
      z-index: 3; }
    .rsd article .features--title {
      color: #fff; }
      .rsd article .features--title .icon {
        width: 68px; }
    .rsd article .features--inner {
      max-width: 962px;
      width: 92%;
      margin: 60px auto 0; }
      .rsd article .features--inner--block {
        display: flex;
        align-items: center;
        justify-content: space-between; }
        .rsd article .features--inner--block .image {
          max-width: 340px;
          width: 100%;
          position: relative; }
          .rsd article .features--inner--block .image:before {
            content: '';
            display: block;
            position: absolute;
            width: 0;
            height: 0;
            border-style: solid;
            top: -14px;
            opacity: .9; }
          .rsd article .features--inner--block .image .num {
            position: absolute;
            top: -35px;
            color: #fff;
            font-family: "Poppins", sans-serif;
            line-height: 0.8;
            font-size: 7.6rem;
            z-index: 3; }
          .rsd article .features--inner--block .image .img {
            position: relative;
            z-index: 2; }
        .rsd article .features--inner--block .texts {
          color: #fff;
          max-width: 622px;
          width: 100%; }
          .rsd article .features--inner--block .texts h3, .rsd article .features--inner--block .texts p, .rsd article .features--inner--block .texts small {
            font-feature-settings: "palt"; }
          .rsd article .features--inner--block .texts h3 {
            font-family: "Noto Sans JP", sans-serif;
            font-weight: bold;
            line-height: 1.54;
            font-size: 2.4rem;
            padding: 0 0 15px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.5); }
          .rsd article .features--inner--block .texts p {
            margin: 15px 0 0;
            line-height: 1.87;
            font-weight: 500;
            font-size: 1.6rem; }
          .rsd article .features--inner--block .texts small {
            margin: 10px 0 0;
            display: block;
            font-weight: 500;
            font-size: 1.2rem; }
        .rsd article .features--inner--block:nth-of-type(odd) .image:before {
          border-color: #005bab transparent transparent transparent;
          border-width: 240px 240px 0px 0px;
          left: -14px; }
        .rsd article .features--inner--block:nth-of-type(odd) .image .num {
          left: 0; }
        .rsd article .features--inner--block:nth-of-type(odd) .texts h3, .rsd article .features--inner--block:nth-of-type(odd) .texts p, .rsd article .features--inner--block:nth-of-type(odd) .texts small {
          padding-left: 28px; }
        .rsd article .features--inner--block:nth-of-type(even) {
          flex-direction: row-reverse; }
          .rsd article .features--inner--block:nth-of-type(even) .image:before {
            border-color: transparent #005bab transparent transparent;
            border-width: 0px 240px 240px 0px;
            right: -14px; }
          .rsd article .features--inner--block:nth-of-type(even) .image .num {
            right: 0; }
          .rsd article .features--inner--block:nth-of-type(even) .texts h3, .rsd article .features--inner--block:nth-of-type(even) .texts p, .rsd article .features--inner--block:nth-of-type(even) .texts small {
            padding-right: 28px;
            text-align: right; }
    .rsd article .features .line {
      position: absolute;
      width: 100%;
      left: 0; }
      .rsd article .features .line.l01 {
        top: -52.5vw;
        z-index: 2; }
      .rsd article .features .line.l02 {
        top: 47.5vw;
        z-index: 2; }
      .rsd article .features .line.l03 {
        top: 105vw;
        mix-blend-mode: multiply; }
  .rsd article .contents {
    background-color: #fff;
    position: relative;
    padding: 95px 0 320px;
    z-index: 1; }
    .rsd article .contents .workstyle, .rsd article .contents .information {
      position: relative;
      z-index: 3; }
    .rsd article .contents .workstyle--title {
      color: #005bab; }
      .rsd article .contents .workstyle--title .icon {
        width: 56px; }
    .rsd article .contents .workstyle--inner {
      width: 92%;
      max-width: 844px;
      margin: 65px auto 0; }
      .rsd article .contents .workstyle--inner--box {
        display: flex;
        align-items: center;
        justify-content: space-between; }
        .rsd article .contents .workstyle--inner--box .image {
          max-width: 213px;
          width: 100%;
          position: relative;
          margin-right: 2.5%; }
          .rsd article .contents .workstyle--inner--box .image:after {
            content: '';
            display: block;
            position: absolute;
            bottom: -35px;
            left: 50%;
            height: 35px;
            border-left: 2px solid #005bab; }
        .rsd article .contents .workstyle--inner--box .texts {
          color: #005bab;
          max-width: 590px;
          width: 100%; }
          .rsd article .contents .workstyle--inner--box .texts .num {
            line-height: 0.8;
            font-family: "Poppins", sans-serif;
            font-size: 5.0rem; }
          .rsd article .contents .workstyle--inner--box .texts h3 {
            margin: 18px 0 0;
            font-weight: bold;
            font-size: 2.4rem; }
          .rsd article .contents .workstyle--inner--box .texts p {
            color: #1a1a1a;
            margin: 12px 0 0;
            line-height: 1.5;
            font-feature-settings: "palt";
            word-break: normal;
            text-align: justify;
            font-weight: 500;
            font-size: 1.6rem; }
          .rsd article .contents .workstyle--inner--box .texts small {
            display: block;
            color: #1a1a1a;
            text-align: right;
            font-size: 1.3rem; }
        .rsd article .contents .workstyle--inner--box:nth-of-type(n+2) {
          margin: 35px 0 0; }
        .rsd article .contents .workstyle--inner--box:last-child .image:after {
          display: none; }
    .rsd article .contents .information {
      margin: 90px 0 0; }
      .rsd article .contents .information--title {
        color: #005bab; }
        .rsd article .contents .information--title .icon {
          width: 53px; }
      .rsd article .contents .information--inner {
        width: 92%;
        margin: 30px auto 0;
        max-width: 958px; }
        .rsd article .contents .information--inner--table dl {
          padding: 25px 0;
          border-top: 1px solid #005bab;
          display: flex; }
          .rsd article .contents .information--inner--table dl dt, .rsd article .contents .information--inner--table dl dd {
            font-family: "Noto Sans JP", sans-serif;
            line-height: 2.2;
            font-feature-settings: "palt"; }
          .rsd article .contents .information--inner--table dl dt {
            padding: 0 0 0 30px;
            width: 240px;
            font-weight: bold;
            color: #005bab;
            font-size: 1.8rem; }
          .rsd article .contents .information--inner--table dl dd {
            width: 718px;
            color: #3E3A39;
            font-size: 1.6rem; }
            .rsd article .contents .information--inner--table dl dd span {
              color: #005bab;
              font-weight: bold; }
          .rsd article .contents .information--inner--table dl:last-child {
            border-bottom: 1px solid #005bab; }
        .rsd article .contents .information--inner--entry {
          margin: 75px 0 0;
          width: 100%;
          height: 95px; }
          .rsd article .contents .information--inner--entry a {
            background-color: #d7092f;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            width: 100%;
            height: 100%;
            color: #fff;
            line-height: 1.2;
            font-family: "Noto Sans JP", sans-serif;
            font-size: 3.0rem; }
    .rsd article .contents .line {
      position: absolute;
      z-index: 1;
      right: 0;
      width: 100%;
      mix-blend-mode: multiply; }
      .rsd article .contents .line.l01 {
        top: -21.5vw; }
.rsd .footer--over {
  margin-top: 0;
  background: url("../images/rsd/bg_rsd_footerimg.jpg") no-repeat center/cover; }

@media screen and (max-width: 767px) {
  .rsd article .line.l01 {
    top: 440vw; }
  .rsd article .line.l02 {
    top: 1020vw; }
  .rsd article .line.l03 {
    top: 1077vw; }
  .rsd article .line.l04 {
    top: 1500vw; }
  .rsd article .cmn-title h2 {
    margin: 4vw 0 0;
    font-size: 6.0vw; }
  .rsd article .cmn-title .en {
    margin: 2.6vw 0 0;
    font-size: 4.8vw; }
  .rsd article .fixed_slideshow {
    height: calc(100vh - 60px);
    top: 60px; }
    .rsd article .fixed_slideshow .slide01 {
      background: url("../images/rsd/bg_rsd_slide_01.jpg") no-repeat center right 45%/cover; }
    .rsd article .fixed_slideshow .slide02 {
      background: url("../images/rsd/bg_rsd_slide_02.jpg") no-repeat center right 58%/cover; }
  .rsd article .main {
    height: calc(100vh - 60px - 92px); }
    .rsd article .main--texts {
      width: 90%;
      left: 5%;
      top: 62%; }
      .rsd article .main--texts--catch span {
        padding: 2vw;
        font-size: 6.0vw; }
      .rsd article .main--texts p {
        margin: 6vw 0 0;
        font-size: 4.4vw; }
      .rsd article .main--texts small {
        margin: 5vw 0 0;
        font-size: 3.8vw; }
    .rsd article .main--entrybtn {
      width: 30vw;
      right: 5%;
      bottom: 5vw; }
      .rsd article .main--entrybtn:hover {
        transform: none; }
    .rsd article .main--icn.i01 {
      width: 26vw; }
    .rsd article .main--icn.i02 {
      width: 75vw; }
  .rsd article .lead {
    height: auto;
    background-color: #005bab;
    padding: 10vw 0; }
    .rsd article .lead--texts {
      width: 86%;
      margin: 0 auto;
      max-width: none;
      position: static;
      transform: none; }
      .rsd article .lead--texts h2 {
        font-size: 5.0vw;
        justify-content: flex-start; }
        .rsd article .lead--texts h2 span {
          margin: 0 0 0 3.5vw;
          width: 10vw; }
      .rsd article .lead--texts p {
        word-break: normal;
        text-align: justify;
        margin: 5vw 0 0;
        line-height: 1.8;
        font-size: 3.8vw; }
    .rsd article .lead--tri {
      display: none; }
    .rsd article .lead--undertxt {
      width: 25vw;
      right: 5%; }
  .rsd article .banner {
    padding: 10vw 0; }
    .rsd article .banner--block {
      height: 50vw; }
      .rsd article .banner--block--texts h3 {
        font-size: 6.0vw; }
        .rsd article .banner--block--texts h3 span {
          font-size: 4.2vw; }
      .rsd article .banner--block--texts p {
        font-size: 4.0vw; }
        .rsd article .banner--block--texts p strong {
          font-size: 6.0vw; }
      .rsd article .banner--block:nth-of-type(odd):before {
        border-width: 15vw 15vw 0px 0px; }
      .rsd article .banner--block:nth-of-type(odd) .banner--block--texts {
        left: 5%; }
      .rsd article .banner--block:nth-of-type(even):before {
        border-width: 0px 15vw 15vw 0px; }
      .rsd article .banner--block:nth-of-type(even) .banner--block--texts {
        right: auto;
        left: 5%;
        text-align: left; }
  .rsd article .features {
    padding: 15vw 0 25vw; }
    .rsd article .features--title .icon {
      width: calc(68px * 0.8); }
    .rsd article .features--inner {
      max-width: none;
      width: 86%;
      margin: 15vw auto 0; }
      .rsd article .features--inner--block {
        display: block; }
        .rsd article .features--inner--block .image {
          max-width: 100%; }
          .rsd article .features--inner--block .image:before {
            top: -3.5vw; }
          .rsd article .features--inner--block .image .num {
            top: -5vw;
            font-size: 16vw; }
        .rsd article .features--inner--block .texts {
          max-width: 100%;
          margin: 5vw 0 0; }
          .rsd article .features--inner--block .texts h3 {
            font-size: 4.6vw;
            padding: 0 0 2.5vw; }
          .rsd article .features--inner--block .texts p {
            margin: 2.5vw 0 0;
            font-size: 3.8vw; }
            .rsd article .features--inner--block .texts p br {
              display: none; }
          .rsd article .features--inner--block .texts small {
            margin: 2vw 0 0;
            font-size: 3.2vw; }
        .rsd article .features--inner--block:nth-of-type(odd) .image:before {
          border-width: 50vw 50vw 0px 0px;
          left: -3.5vw; }
        .rsd article .features--inner--block:nth-of-type(odd) .texts h3, .rsd article .features--inner--block:nth-of-type(odd) .texts p, .rsd article .features--inner--block:nth-of-type(odd) .texts small {
          padding-left: 0; }
        .rsd article .features--inner--block:nth-of-type(even) .image:before {
          border-width: 0px 50vw 50vw 0px;
          right: -3.5vw; }
        .rsd article .features--inner--block:nth-of-type(even) .texts h3, .rsd article .features--inner--block:nth-of-type(even) .texts p, .rsd article .features--inner--block:nth-of-type(even) .texts small {
          padding-right: 0;
          text-align: left; }
        .rsd article .features--inner--block:nth-of-type(n+2) {
          margin: 15vw 0 0; }
  .rsd article .contents {
    padding: 15vw 0 35vw; }
    .rsd article .contents .workstyle--title .icon {
      width: calc(56px * 0.8); }
    .rsd article .contents .workstyle--inner {
      width: 86%;
      max-width: none;
      margin: 17vw auto 0; }
      .rsd article .contents .workstyle--inner--box {
        display: flex;
        align-items: center;
        justify-content: space-between; }
        .rsd article .contents .workstyle--inner--box .image {
          max-width: 28%;
          margin-right: 0; }
          .rsd article .contents .workstyle--inner--box .image:after {
            bottom: -40vw;
            height: 40vw; }
        .rsd article .contents .workstyle--inner--box .texts {
          max-width: 68%;
          display: flex;
          flex-wrap: wrap;
          align-items: center; }
          .rsd article .contents .workstyle--inner--box .texts .num {
            font-size: 9vw;
            width: 25%; }
          .rsd article .contents .workstyle--inner--box .texts h3 {
            margin: 0;
            width: 75%;
            font-size: 4.3vw; }
          .rsd article .contents .workstyle--inner--box .texts p {
            width: 100%;
            margin: 2.5vw 0 0;
            font-size: 3.8vw; }
          .rsd article .contents .workstyle--inner--box .texts small {
            display: inline-block;
            padding-left: 1em;
            text-indent: -1em;
            margin: 1.5vw 0 0;
            text-align: left;
            font-size: 3.2vw; }
        .rsd article .contents .workstyle--inner--box:nth-of-type(n+2) {
          margin: 15vw 0 0; }
        .rsd article .contents .workstyle--inner--box:last-child .image:after {
          display: none; }
    .rsd article .contents .information {
      margin: 20vw 0 0; }
      .rsd article .contents .information--title .icon {
        width: calc(53px * 0.8); }
      .rsd article .contents .information--inner {
        width: 86%;
        margin: 8vw auto 0;
        max-width: none; }
        .rsd article .contents .information--inner--table dl {
          padding: 6.5vw 0;
          display: block; }
          .rsd article .contents .information--inner--table dl dt, .rsd article .contents .information--inner--table dl dd {
            line-height: 1.8; }
          .rsd article .contents .information--inner--table dl dt {
            padding: 0;
            width: 100%;
            font-size: 4.2vw; }
          .rsd article .contents .information--inner--table dl dd {
            width: 100%;
            font-size: 3.8vw; }
          .rsd article .contents .information--inner--table dl:last-child {
            border-bottom: 1px solid #005bab; }
        .rsd article .contents .information--inner--entry {
          margin: 15vw 0 0;
          height: 15vw; }
          .rsd article .contents .information--inner--entry a {
            font-size: 5.2vw; } }
