@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; }

main {
  width: 100%; }
  main .header {
    width: 100%;
    min-width: 1240px;
    height: 105px;
    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: 400px;
        margin-left: 3.1%; }
        main .header--inner .logo a {
          width: 100%;
          height: 100%;
          display: flex;
          justify-content: space-between;
          align-items: center; }
          main .header--inner .logo a .image {
            width: 32.7%; }
          main .header--inner .logo a p {
            font-size: 1.5rem;
            font-weight: bold;
            line-height: 1.2;
            letter-spacing: .1em;
            color: #005bab; }
            main .header--inner .logo a p.tops {
              font-size: 1.5rem; }
      main .header--inner--nav {
        width: 825px;
        display: flex;
        justify-content: flex-end;
        align-items: center; }
        main .header--inner--nav nav {
          width: 60%;
          height: 100%; }
          main .header--inner--nav nav ul {
            width: 100%;
            height: 100%;
            display: flex;
            flex-wrap: wrap; }
            main .header--inner--nav nav ul li {
              padding: 10px 0;
              font-size: 1.5rem;
              font-weight: bold;
              line-height: 1;
              letter-spacing: .1em;
              margin-right: 7%; }
              main .header--inner--nav nav ul li a {
                color: #005bab;
                position: relative; }
                main .header--inner--nav nav ul li a:before {
                  content: '';
                  position: absolute;
                  display: block;
                  width: 35px;
                  height: 2px;
                  border-bottom: 2px solid #fff;
                  bottom: -8px;
                  right: 50%;
                  transform: translate(50%, 0);
                  transition: all .3s ease-in-out; }
                main .header--inner--nav nav ul li a:hover:before {
                  border-bottom: 2px solid #005bab; }
              main .header--inner--nav nav ul li.trigger {
                position: relative;
                cursor: pointer; }
                main .header--inner--nav nav ul li.trigger > a:before {
                  display: none; }
                main .header--inner--nav nav ul li.trigger ul {
                  display: none;
                  position: absolute;
                  width: 235px;
                  right: -169px;
                  z-index: 4;
                  top: 33px; }
                  main .header--inner--nav nav ul li.trigger ul li {
                    padding: 0;
                    width: 100%;
                    height: 41px;
                    margin-right: 0; }
                    main .header--inner--nav nav ul li.trigger ul li a {
                      border: 1px solid #005bab;
                      display: flex;
                      align-items: center;
                      width: 100%;
                      height: 100%;
                      font-weight: bold;
                      font-size: 1.4rem;
                      letter-spacing: 0; }
                      main .header--inner--nav nav ul li.trigger ul li a:before {
                        display: none; }
                      main .header--inner--nav nav ul li.trigger ul li a:after {
                        content: '';
                        display: block;
                        position: absolute;
                        width: 0;
                        height: 0;
                        border-style: solid;
                        border-color: transparent transparent transparent #fff;
                        border-width: 5.5px 0px 5.5px 9px;
                        top: 50%;
                        transform: translateY(-50%);
                        right: 8px;
                        z-index: 2; }
                    main .header--inner--nav nav ul li.trigger ul li:nth-of-type(1) a {
                      background-color: #d7092f;
                      color: #fff;
                      padding: 0 0 0 30px; }
                    main .header--inner--nav nav ul li.trigger ul li:nth-of-type(2) a {
                      color: #005bab;
                      background-color: #fff;
                      padding: 0 0 0 30px; }
                      main .header--inner--nav nav ul li.trigger ul li:nth-of-type(2) a:after {
                        border-color: transparent transparent transparent #005bab; }
                  main .header--inner--nav nav ul li.trigger ul.leftmenu {
                    right: -125px; }
                    main .header--inner--nav nav ul li.trigger ul.leftmenu li:nth-of-type(1) a {
                      background-color: #005bab;
                      color: #fff;
                      padding: 0 0 0 30px; }
              main .header--inner--nav nav ul li:last-of-type {
                margin-right: 0; }
                main .header--inner--nav nav ul li:last-of-type ul li:nth-of-type(1) a {
                  border: 1px solid #d7092f;
                  background-color: #d7092f;
                  color: #fff;
                  padding: 0 0 0 30px; }
        main .header--inner--nav .menu-trigger {
          display: none; }
        main .header--inner--nav .sns-app {
          max-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: 32.7%;
          max-width: 270px;
          text-align: center; }
          main .header--inner--nav .contact .btn {
            padding: 9px 0; }
          main .header--inner--nav .contact--over {
            background-color: #005bab; }
          main .header--inner--nav .contact--center {
            background-color: #1183c7; }
          main .header--inner--nav .contact--under {
            background-color: #d7092f; }
          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: #fff; }
            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: 105px; }
  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--over #pagetop {
      width: 50px;
      height: 50px;
      background-color: #005bab;
      padding: 10px;
      position: fixed;
      right: 3%;
      z-index: 49; }
      main .footer--over #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--over #pagetop.bottom {
        position: absolute; }
  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: 2.9rem;
        font-weight: bold;
        line-height: 1;
        letter-spacing: .15em;
        writing-mode: vertical-rl;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        font-feature-settings: normal;
        color: #fff;
        display: inline; }
  .pages article .page-nav .nav-links {
    padding: 2em;
    display: flex;
    justify-content: center;
    margin: 140px 0; }
    .pages article .page-nav .nav-links a, .pages article .page-nav .nav-links span {
      font-size: 1.8rem;
      font-family: "Roboto", sans-serif;
      line-height: 1;
      text-decoration: underline;
      color: #005bab;
      text-align: center;
      margin: 0 16px; }
      .pages article .page-nav .nav-links a em, .pages article .page-nav .nav-links span em {
        font-size: 1.4rem; }
      .pages article .page-nav .nav-links a.current, .pages article .page-nav .nav-links span.current {
        text-decoration: none; }
      .pages article .page-nav .nav-links a.prev, .pages article .page-nav .nav-links a.next, .pages article .page-nav .nav-links span.prev, .pages article .page-nav .nav-links span.next {
        width: 95px;
        position: relative;
        text-decoration: none;
        margin: 0; }
        .pages article .page-nav .nav-links a.prev:before, .pages article .page-nav .nav-links a.prev:after, .pages article .page-nav .nav-links a.next:before, .pages article .page-nav .nav-links a.next:after, .pages article .page-nav .nav-links span.prev:before, .pages article .page-nav .nav-links span.prev:after, .pages article .page-nav .nav-links span.next:before, .pages article .page-nav .nav-links span.next:after {
          position: absolute;
          font-size: 1.4rem;
          font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
          font-weight: 400;
          line-height: 1;
          color: #005bab;
          top: 50%;
          transform: translateY(-50%);
          transition: all .3s ease-in-out; }
      .pages article .page-nav .nav-links a.prev:before, .pages article .page-nav .nav-links span.prev:before {
        content: "<";
        left: 8%; }
      .pages article .page-nav .nav-links a.next:after, .pages article .page-nav .nav-links span.next:after {
        content: ">";
        right: 8%; }
      .pages article .page-nav .nav-links a:hover.prev:before, .pages article .page-nav .nav-links span:hover.prev:before {
        left: 5%; }
      .pages article .page-nav .nav-links a:hover.next:after, .pages article .page-nav .nav-links span:hover.next:after {
        right: 5%; }
  .pages article .event-btn {
    max-width: 167px;
    position: fixed;
    bottom: 25px;
    left: 25px;
    z-index: 49; }
    .pages article .event-btn a {
      transition: all .3s ease;
      display: inline-block; }
      .pages article .event-btn a:hover {
        transform: scale(1.04); }
      .pages article .event-btn a:nth-of-type(n+2) {
        margin: -26px 0 0; }
    .pages article .event-btn.active {
      opacity: 0; }

@media screen and (max-width: 1024px) {
  main .header {
    min-width: inherit;
    height: 80px; }
    main .header--inner--nav {
      width: 456px; }
      main .header--inner--nav nav {
        width: 456px !important;
        height: auto;
        position: absolute;
        top: 100%;
        right: 0;
        display: none; }
        main .header--inner--nav nav ul {
          height: auto;
          margin: 0;
          background-color: white;
          border-bottom: 2px solid #005bab; }
          main .header--inner--nav nav ul li {
            display: block;
            width: 80%;
            margin: 0 auto;
            position: relative; }
            main .header--inner--nav nav ul li a {
              width: 100%;
              height: 100%;
              padding: 30px 0 30px 30px;
              display: block;
              transition: none; }
              main .header--inner--nav nav ul li a:before {
                content: '';
                position: absolute;
                display: block;
                width: 30px;
                height: 1px;
                border-bottom: 2px solid #005bab;
                bottom: 50%;
                right: 8%;
                transform: translate(0, 50%);
                transition: all .3s ease-out; }
              main .header--inner--nav nav ul li a:hover:before {
                right: 5%; }
            main .header--inner--nav nav ul li:after {
              content: '';
              position: absolute;
              display: block;
              width: 100%;
              height: 1px;
              top: 0;
              border-top: 1px dotted #005bab; }
            main .header--inner--nav nav ul li:first-of-type:after {
              border-top: none; }
            main .header--inner--nav nav ul li:last-of-type {
              margin-right: auto; }
            main .header--inner--nav nav ul li.trigger > a {
              height: auto; }
            main .header--inner--nav nav ul li.trigger ul {
              display: block;
              position: static;
              width: 100%;
              border-bottom: none; }
              main .header--inner--nav nav ul li.trigger ul li {
                padding: 0;
                width: 100%;
                height: 41px;
                margin-right: 0; }
                main .header--inner--nav nav ul li.trigger ul li a {
                  font-size: 1.4rem; }
                main .header--inner--nav nav ul li.trigger ul li:nth-of-type(1) a {
                  padding: 0 0 0 30px; }
                main .header--inner--nav nav ul li.trigger ul li:nth-of-type(2) a {
                  padding: 0 0 0 30px; }
              main .header--inner--nav nav ul li.trigger ul.leftmenu li:nth-of-type(1) a {
                padding: 0 0 0 30px; }
      main .header--inner--nav .menu-trigger {
        order: 3;
        display: block;
        width: 47px;
        height: 47px;
        position: relative;
        transition: all .4s ease-in-out;
        box-sizing: border-box;
        cursor: pointer;
        z-index: 2001; }
        main .header--inner--nav .menu-trigger span {
          position: absolute;
          width: 55%;
          height: 2px;
          left: 50%;
          transform: translateX(-50%);
          background-color: #005bab;
          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: #005bab;
          z-index: 20001; }
          main .header--inner--nav .menu-trigger.active span:nth-of-type(1) {
            top: 47.5%;
            -webkit-transform: translate(-50%, -50%) rotate(-45deg);
            transform: translate(-50%, -50%) rotate(-45deg); }
          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) {
            bottom: 47.5%;
            -webkit-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg); }
      main .header--inner--nav .sns-app {
        width: 140px; }
        main .header--inner--nav .sns-app a {
          padding: 6px 0; }
          main .header--inner--nav .sns-app a .info .image {
            max-width: 35%; }
      main .header--inner--nav .contact {
        width: 270px; }
        main .header--inner--nav .contact .btn {
          padding: 5px 0; }
        main .header--inner--nav .contact span {
          font-size: 1.6rem; }
          main .header--inner--nav .contact span em {
            font-size: 1.0rem; }
  main article {
    padding-top: 80px; } }
@media screen and (max-width: 768px) {
  main .header {
    height: 75px; }
    main .header--inner .logo {
      width: 35%; }
      main .header--inner .logo a .image {
        width: 29.4%; }
      main .header--inner .logo a p {
        width: 69%;
        font-size: 1.2rem; }
        main .header--inner .logo a p.tops {
          font-size: 1.1rem; }
    main .header--inner--nav {
      width: 60%; }
      main .header--inner--nav nav {
        width: 60% !important; }
        main .header--inner--nav nav ul li a {
          padding: 30px 0 30px 30px; }
          main .header--inner--nav nav ul li a:before {
            width: 30px; }
      main .header--inner--nav .sns-app a .info p {
        font-size: 1.1rem;
        margin-top: 4px; }
      main .header--inner--nav .contact span {
        font-size: 1.4rem; }
        main .header--inner--nav .contact span em {
          font-size: .8rem; }
  main article {
    padding-top: 75px; }
  main .footer--under {
    padding: 20px 0; }
    main .footer--under--inner {
      max-width: 70%;
      margin: 0 auto; }
      main .footer--under--inner .logo {
        max-width: 100%; }
      main .footer--under--inner .copyright {
        margin: 20px auto 0; }

  .pages article .main--inner--copy h2 {
    font-size: 1.8rem; }
  .pages article .event-btn {
    max-width: 30vw;
    bottom: 13vh;
    left: 2.5%; } }
@media screen and (max-width: 767px) {
  .notel {
    pointer-events: initial; }

  main .header {
    height: 60px; }
    main .header--inner .logo {
      width: 80%; }
      main .header--inner .logo a .image {
        width: 26.5%; }
      main .header--inner .logo a p {
        font-size: 3.4vw; }
    main .header--inner--nav {
      width: 75px; }
      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: 15vw;
        height: 15vw; }
      main .header--inner--nav .sns-app {
        width: 35%;
        max-width: inherit;
        position: fixed;
        bottom: 0;
        left: 0; }
        main .header--inner--nav .sns-app a {
          padding: 4vw 0; }
          main .header--inner--nav .sns-app a .info .image {
            max-width: 35%; }
          main .header--inner--nav .sns-app a .info p {
            font-size: 3.2vw; }
      main .header--inner--nav .contact {
        width: 65%;
        max-width: inherit;
        position: fixed;
        bottom: 0;
        right: 0;
        margin-right: 0; }
        main .header--inner--nav .contact .btn {
          padding: 2vw 0; }
        main .header--inner--nav .contact span {
          font-size: 4.5vw; }
          main .header--inner--nav .contact span em {
            font-size: 2.6vw; }
  main article {
    padding-top: 60px; }
  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: 14vh; }
    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: 3vw;
          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; }
  .pages article .page-nav .nav-links {
    margin: 50px 0 25px; }
    .pages article .page-nav .nav-links a, .pages article .page-nav .nav-links span {
      font-size: 4.2vw; }
      .pages article .page-nav .nav-links a em, .pages article .page-nav .nav-links span em {
        font-size: 3.4vw; }
      .pages article .page-nav .nav-links a.prev:before, .pages article .page-nav .nav-links a.prev:after, .pages article .page-nav .nav-links a.next:before, .pages article .page-nav .nav-links a.next:after, .pages article .page-nav .nav-links span.prev:before, .pages article .page-nav .nav-links span.prev:after, .pages article .page-nav .nav-links span.next:before, .pages article .page-nav .nav-links span.next:after {
        font-size: 3.4vw; } }
@media screen and (max-width: 320px) {
  main .footer--inner .copyright {
    font-size: 2.4vw; } }
* #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 .soon a .image:before, .top .soon a .image:after {
  content: '';
  display: block;
  position: absolute; }
.top .soon a .image:before {
  z-index: 1;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.8); }
.top .soon a .image:after {
  z-index: 2;
  content: 'Coming Soon...';
  line-height: 1.0;
  font-family: "Roboto", sans-serif;
  font-weight: 200;
  letter-spacing: .04em;
  color: #fff;
  font-size: 2.0rem;
  white-space: nowrap;
  left: 50%;
  transform: translateX(-50%);
  bottom: 50%; }
.top .soon a .more span {
  color: rgba(255, 255, 255, 0.3); }
.top article .main--inner--copy h2 {
  font-size: 2.1vw; }
.top article .banner-area {
  display: flex;
  justify-content: center;
  flex-wrap: wrap; }
  .top article .banner-area .btn {
    max-width: 369px;
    width: 31.6%;
    margin: 60px .8%; }
    .top article .banner-area .btn a {
      display: block;
      width: 100%;
      height: 100%;
      font-size: 1.6rem;
      font-weight: bold;
      text-align: center;
      color: #fff;
      background-color: #d7092f;
      padding: 1em 1px 1px 1px;
      transition: all .3s ease;
      position: relative; }
      .top article .banner-area .btn a .wrap {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 104.5px;
        padding: 0 1em; }
      .top article .banner-area .btn a .icon {
        width: 31%; }
      .top article .banner-area .btn a p {
        text-align: left;
        width: 63.5%;
        font-feature-settings: "palt"; }
      .top article .banner-area .btn a .link {
        background-color: #fff;
        height: 53px;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        font-weight: bold;
        position: relative;
        font-size: 2.1rem;
        line-height: 1.0;
        margin: 15px 0 0;
        padding: 0 1em 0 0;
        letter-spacing: -.02em; }
        .top article .banner-area .btn a .link:after {
          content: "";
          display: block;
          position: absolute;
          width: .35em;
          height: .35em;
          border-bottom: 2px solid #000;
          border-left: 2px solid #000;
          bottom: 50%;
          right: 5%;
          transform: rotate(-135deg) translateY(-50%); }
      .top article .banner-area .btn a:hover {
        transform: scale(1.04); }
    .top article .banner-area .btn.b01 a .link {
      color: #d7092f; }
      .top article .banner-area .btn.b01 a .link:after {
        border-color: #d7092f; }
    .top article .banner-area .btn.b02 a {
      background-color: #005bab; }
      .top article .banner-area .btn.b02 a .icon img {
        max-width: 71.5px; }
      .top article .banner-area .btn.b02 a .link {
        color: #005bab; }
        .top article .banner-area .btn.b02 a .link:after {
          border-color: #005bab; }
    .top article .banner-area .btn.b03 a {
      background: transparent url("../images/top/img_banner_area_b03.png") no-repeat center/cover; }
      .top article .banner-area .btn.b03 a .txt {
        line-height: 1.26;
        white-space: nowrap;
        font-size: 2.8rem; }
      .top article .banner-area .btn.b03 a .lists {
        text-align: left;
        display: flex;
        justify-content: center;
        margin: 10px 0 0; }
        .top article .banner-area .btn.b03 a .lists ul li {
          position: relative; }
          .top article .banner-area .btn.b03 a .lists ul li img {
            display: inline-block;
            width: 18px;
            margin: 5px 3px 0 0; }
    .top article .banner-area .btn.b04 {
      max-width: calc(369px * 3.12);
      width: 100%;
      margin: 0px 0; }
      .top article .banner-area .btn.b04 a {
        background-color: #fff; }
.top article .news {
  margin-top: 30px;
  background-color: #f2f7fb;
  padding: 40px 0; }
  .top article .news--inner {
    max-width: 690px;
    margin: 0 auto; }
    .top article .news--inner h2 {
      font-size: 2.3rem;
      font-weight: bold;
      line-height: 1;
      letter-spacing: .15em;
      text-align: center;
      color: #005bab; }
    .top article .news--inner--info {
      margin-top: 20px; }
      .top article .news--inner--info .new {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-wrap: wrap;
        padding: 15px 0;
        border-bottom: 1px solid #dadada;
        text-align: left;
        letter-spacing: .1em; }
        .top article .news--inner--info .new dt {
          width: 20%;
          font-size: 1.6rem;
          font-weight: bold;
          line-height: 1.4;
          letter-spacing: .15em;
          color: #005bab; }
        .top article .news--inner--info .new dd {
          width: 80%;
          font-size: 1.6rem;
          line-height: 1.4; }
          .top article .news--inner--info .new dd a {
            color: #403f41; }
.top article .message,
.top article .recruit,
.top article .service-area,
.top article .sp-app,
.top article .movie {
  margin-top: 30px;
  min-height: 610px; }
  .top article .message--inner,
  .top article .recruit--inner,
  .top article .service-area--inner,
  .top article .sp-app--inner,
  .top article .movie--inner {
    max-width: 960px;
    margin: 0 auto; }
.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; }
  .top article .message--inner--left, .top article .message--inner--right {
    min-height: 610px; }
    .top article .message--inner--left img, .top article .message--inner--right img {
      display: none; }
  .top article .message--inner--left {
    width: 9.8%;
    background: url("../images/top/img_bg01-1.png") no-repeat center center/cover; }
  .top article .message--inner--center {
    width: 30.1%;
    min-width: 470px;
    background-color: #ccdeee;
    position: relative; }
    .top article .message--inner--center--block {
      width: 75%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
      .top article .message--inner--center--block h2 {
        font-size: 2.3rem;
        font-weight: bold;
        line-height: 1.7;
        letter-spacing: .15em;
        color: #005bab; }
      .top article .message--inner--center--block p {
        font-size: 1.4rem;
        font-weight: bold;
        line-height: 2.2;
        letter-spacing: .05em;
        margin-top: 30px;
        color: #005bab; }
      .top article .message--inner--center--block--box p {
        font-size: 1.5rem;
        font-weight: bold;
        line-height: 1;
        letter-spacing: .1em;
        margin-top: 55px;
        color: inherit; }
      .top article .message--inner--center--block--box .logo {
        max-width: 23.8%;
        margin-top: 20px; }
  .top article .message--inner--right {
    width: 60.1%;
    background: url("../images/top/img_bg01-2.png") no-repeat center center/cover; }
.top article .recruit {
  min-height: inherit; }
  .top article .recruit--inner {
    max-width: 100% !important; }
    .top article .recruit--inner a {
      width: 100%;
      height: 100%;
      display: block; }
.top article .service-area {
  background: url("../images/top/img_bg03.png") no-repeat center center/cover;
  padding: 105px 0 100px; }
  .top article .service-area--inner h2 {
    font-size: 2.0rem;
    font-weight: bold;
    line-height: 2;
    letter-spacing: .15em;
    color: #005bab;
    display: inline-block;
    position: relative; }
    .top article .service-area--inner h2:after {
      content: '';
      position: absolute;
      width: 49px;
      height: 49px;
      background: url("../images/top/img_pic03-1.png") no-repeat center center/cover;
      top: -25px;
      right: 70px; }
  .top article .service-area--inner .contact {
    margin-top: 40px; }
    .top article .service-area--inner .contact a {
      color: #005bab; }
    .top article .service-area--inner .contact span {
      font-size: 4.8rem;
      font-family: "Roboto", sans-serif;
      font-weight: bold;
      line-height: 1;
      letter-spacing: .05em;
      color: #005bab; }
      .top article .service-area--inner .contact span em {
        display: block;
        font-size: 1.4rem;
        font-family: inherit;
        margin-top: 10px; }
  .top article .service-area--inner .texts {
    margin-top: 35px; }
    .top article .service-area--inner .texts dl {
      font-weight: bold;
      letter-spacing: .15em; }
      .top article .service-area--inner .texts dl dt {
        font-size: 1.6rem;
        line-height: 1;
        margin-top: 15px;
        color: #005bab; }
      .top article .service-area--inner .texts dl dd {
        font-size: 1.4rem;
        line-height: 2;
        margin-top: 10px; }
        .top article .service-area--inner .texts dl dd ul {
          display: flex;
          justify-content: flex-start;
          flex-wrap: wrap; }
          .top article .service-area--inner .texts dl dd ul li {
            width: 92%; }
            .top article .service-area--inner .texts dl dd ul li.first {
              width: 8%; }
.top article .sp-app {
  background: url("../images/top/img_bg04.png") no-repeat center center/cover;
  padding: 130px 0 140px; }
  .top article .sp-app--inner--block {
    max-width: 546px;
    margin: 0 0 0 auto; }
    .top article .sp-app--inner--block h2 {
      font-size: 2.0rem;
      font-weight: bold;
      line-height: 2;
      letter-spacing: .15em;
      color: #005bab;
      display: inline-block;
      position: relative; }
      .top article .sp-app--inner--block h2:after {
        content: '';
        position: absolute;
        width: 44px;
        height: 73px;
        background: url("../images/top/img_pic04-1.png") no-repeat center center/cover;
        top: 10px;
        right: -80px; }
    .top article .sp-app--inner--block--info {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-top: 25px; }
      .top article .sp-app--inner--block--info .btn {
        width: 23%; }
      .top article .sp-app--inner--block--info .texts {
        width: 73%; }
        .top article .sp-app--inner--block--info .texts p {
          font-size: 1.3rem;
          font-weight: bold;
          line-height: 1.7;
          margin-top: 20px; }
          .top article .sp-app--inner--block--info .texts p:first-of-type {
            margin-top: 0; }
          .top article .sp-app--inner--block--info .texts p a {
            font-size: 1.4rem;
            line-height: 1;
            letter-spacing: .05em;
            color: #005bab; }
    .top article .sp-app--inner--block--app {
      display: flex; }
      .top article .sp-app--inner--block--app .btn {
        margin: 40px 3% 0 0; }
        .top article .sp-app--inner--block--app .btn:last-of-type {
          margin-right: 0; }
        .top article .sp-app--inner--block--app .btn a {
          display: block;
          width: 100%;
          height: 100%; }
        .top article .sp-app--inner--block--app .btn.itunes-store {
          width: 26.2%; }
        .top article .sp-app--inner--block--app .btn.google-play {
          width: 26.9%; }
.top article .movie {
  min-height: inherit; }
  .top article .movie--inner {
    max-width: 100% !important; }
    .top article .movie--inner .list-link-01 {
      background-color: #005bab;
      display: flex;
      align-items: center; }
      .top article .movie--inner .list-link-01 .movie {
        width: 60%;
        margin-top: 0; }
      .top article .movie--inner .list-link-01 .txtsmovie {
        width: 40%;
        font-size: 15px;
        font-weight: bold;
        padding-left: 30px;
        color: #fff; }
        .top article .movie--inner .list-link-01 .txtsmovie strong {
          font-size: 18px;
          font-weight: bold; }

@media screen and (max-width: 1024px) {
  .top article .banner-area .btn a {
    font-size: 1.4rem; }
    .top article .banner-area .btn a .link {
      font-size: 1.6rem; }
  .top article .banner-area .btn.b03 a .txt {
    font-size: 2.0rem; }
  .top article .banner-area .btn.b03 a ul li {
    font-size: 1.6rem; } }
@media screen and (max-width: 768px) {
  .top article {
    		/*.main{
    			&--inner{
    				&--copy{
                        h2{
                            font-size: 1.8rem;
                        }
    				}
    			}
    		}*/ }
    .top article .main--inner--copy h2 {
      font-size: 1.8rem; }
    .top article .news--inner {
      max-width: 90%; }
    .top article .message,
    .top article .recruit,
    .top article .service-area,
    .top article .sp-app,
    .top article .movie {
      margin-top: 30px;
      min-height: inherit; }
      .top article .message--inner,
      .top article .recruit--inner,
      .top article .service-area--inner,
      .top article .sp-app--inner,
      .top article .movie--inner {
        max-width: 90%; }
    .top article .message--inner--left, .top article .message--inner--right {
      min-height: 61vw; }
    .top article .message--inner--center {
      min-width: 380px; }
      .top article .message--inner--center--block {
        width: 81%; }
    .top article .service-area {
      background: url("../images/top/img_bg03.png") no-repeat 70% center/cover;
      padding: 55px 0; }
    .top article .sp-app {
      padding: 70px 0; } }
@media screen and (max-width: 767px) {
  .top .soon a .image:after {
    font-size: 1.4rem; }
  .top .soon a .more span {
    color: rgba(255, 255, 255, 0.3); }
  .top article .main--inner--keyvisual img {
    width: inherit;
    max-width: 100%;
    height: inherit;
    background-size: cover; }
  .top article .main--inner--copy h2 {
    font-size: 5.8vw; }
  .top article .banner-area {
    flex-wrap: wrap; }
    .top article .banner-area .btn {
      width: 100%;
      max-width: 90% !important;
      margin: 30px auto 0; }
      .top article .banner-area .btn a {
        font-size: 3.6vw; }
        .top article .banner-area .btn a p {
          width: 65%; }
        .top article .banner-area .btn a .link {
          font-size: 4.6vw; }
      .top article .banner-area .btn.b02 {
        margin: 1em auto 0; }
      .top article .banner-area .btn.b03 {
        margin: 1em auto 3em; }
        .top article .banner-area .btn.b03 a {
          padding-bottom: 1em; }
          .top article .banner-area .btn.b03 a .txt {
            font-size: 5.6vw; }
  .top article .news {
    margin-top: 20px;
    padding: 30px 0; }
    .top article .news--inner h2 {
      font-size: 4.9vw; }
    .top article .news--inner--info {
      margin-top: 10px; }
      .top article .news--inner--info .new {
        padding: 10px 0; }
        .top article .news--inner--info .new dt {
          width: 100%;
          font-size: 4.2vw; }
        .top article .news--inner--info .new dd {
          width: 100%;
          font-size: 4vw;
          margin-top: 5px; }
  .top article .message--inner--left, .top article .message--inner--right {
    min-height: 120vw; }
  .top article .message--inner--left {
    width: 4.8%; }
  .top article .message--inner--center {
    width: 75%;
    min-width: inherit; }
    .top article .message--inner--center--block {
      width: 85%; }
      .top article .message--inner--center--block h2 {
        font-size: 4.9vw; }
      .top article .message--inner--center--block p {
        font-size: 3.2vw;
        margin-top: 15px; }
      .top article .message--inner--center--block--box p {
        font-size: 3.4vw;
        margin-top: 25px; }
      .top article .message--inner--center--block--box .logo {
        max-width: 23.8%;
        margin-top: 10px; }
  .top article .message--inner--right {
    width: 20.2%; }
  .top article .service-area {
    background: url("../images/top/img_bg03.png") no-repeat 65% center/cover; }
    .top article .service-area--inner h2 {
      font-size: 5vw; }
      .top article .service-area--inner h2:after {
        width: 42px;
        height: 42px;
        top: -20px; }
    .top article .service-area--inner .contact {
      margin-top: 20px; }
      .top article .service-area--inner .contact span {
        font-size: 8vw; }
        .top article .service-area--inner .contact span em {
          font-size: 3.2vw; }
    .top article .service-area--inner .texts dl dt {
      font-size: 4vw; }
    .top article .service-area--inner .texts dl dd {
      font-size: 3.2vw;
      margin-top: 5px; }
      .top article .service-area--inner .texts dl dd ul {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap; }
        .top article .service-area--inner .texts dl dd ul li {
          width: 80%; }
          .top article .service-area--inner .texts dl dd ul li.first {
            width: 20%; }
  .top article .sp-app {
    background: url("../images/top/img_bg04.png") no-repeat 35% center/cover;
    position: relative; }
    .top article .sp-app:before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.2); }
    .top article .sp-app--inner--block {
      max-width: 100%; }
      .top article .sp-app--inner--block h2 {
        font-size: 4.8vw; }
        .top article .sp-app--inner--block h2:after {
          width: 35px;
          height: 58px;
          top: -25px;
          right: 100px; }
      .top article .sp-app--inner--block--info {
        flex-wrap: wrap; }
        .top article .sp-app--inner--block--info .btn {
          width: 33%; }
        .top article .sp-app--inner--block--info .texts {
          width: 100%; }
          .top article .sp-app--inner--block--info .texts p {
            font-size: 2.9vw;
            margin-top: 15px;
            color: #fff; }
            .top article .sp-app--inner--block--info .texts p:first-of-type {
              margin-top: 15px; }
            .top article .sp-app--inner--block--info .texts p a {
              font-size: 3.2vw; }
      .top article .sp-app--inner--block--app .btn {
        margin: 40px 6% 0 0; }
        .top article .sp-app--inner--block--app .btn.itunes-store {
          width: 41.2%; }
        .top article .sp-app--inner--block--app .btn.google-play {
          width: 41.9%; }
  .top article .movie {
    min-height: inherit; }
    .top article .movie--inner {
      max-width: 100%; }
      .top article .movie--inner .list-link-01 {
        display: flex;
        flex-wrap: wrap; }
        .top article .movie--inner .list-link-01 .movie {
          width: 100%;
          margin-top: 0; }
        .top article .movie--inner .list-link-01 .txtsmovie {
          width: 100%;
          font-size: 13px;
          font-weight: bold;
          color: #fff;
          padding: 20px;
          text-align: center; }
          .top article .movie--inner .list-link-01 .txtsmovie strong {
            font-size: 16px;
            font-weight: bold; } }
.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: 37%; }
.company article .message {
  margin-top: 30px;
  background-color: #f2f7fb;
  padding: 95px 0 140px; }
  .company article .message--inner {
    max-width: 810px;
    margin: 0 auto; }
    .company article .message--inner--lead dl {
      font-weight: bold;
      color: #005bab; }
      .company article .message--inner--lead dl dt {
        font-size: 1.6rem;
        line-height: 1;
        letter-spacing: .05em; }
      .company article .message--inner--lead dl dd {
        font-size: 2.2rem;
        line-height: 1.8;
        letter-spacing: .15em;
        margin-top: 40px; }
    .company article .message--inner--category {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      .company article .message--inner--category--texts {
        margin-top: 65px; }
        .company article .message--inner--category--texts p {
          font-size: 1.4rem;
          font-weight: bold;
          line-height: 2.2;
          letter-spacing: .05em;
          color: #005bab; }
      .company article .message--inner--category--image {
        width: 33%;
        margin-top: 70px; }
        .company article .message--inner--category--image dl {
          font-weight: bold;
          line-height: 1;
          letter-spacing: .05em;
          color: inherit;
          text-align: center; }
          .company article .message--inner--category--image dl dt {
            font-size: 1.5rem;
            margin-top: 30px; }
          .company article .message--inner--category--image dl dd {
            font-size: 1.9rem;
            margin-top: 15px; }
.company article .company--inner {
  max-width: 810px;
  margin: 100px auto; }
  .company article .company--inner h2 {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: .05em;
    color: #005bab;
    margin-top: 15px; }
  .company article .company--inner--table {
    border-top: 1px solid #005bab;
    border-bottom: 1px solid #005bab;
    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.2;
      padding: 25px 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: 22.3%;
        letter-spacing: .1em;
        color: #005bab; }
      .company article .company--inner--table dl dd {
        width: 77.7%;
        letter-spacing: .05em; }
        .company article .company--inner--table dl dd span {
          display: block;
          margin-top: 25px;
          padding-top: 25px;
          border-top: 1px dotted #005bab; }
          .company article .company--inner--table dl dd span:first-of-type {
            margin-top: 0;
            padding-top: 0;
            border-top: none; }
          .company article .company--inner--table dl dd span a {
            text-decoration: underline;
            color: #005bab; }
  .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; }

@media screen and (max-width: 768px) {
  .company article .main--inner--copy {
    top: 50%; }
  .company article .message--inner {
    max-width: 90%; }
    .company article .message--inner--category--image {
      width: 27%; }
  .company article .company--inner {
    max-width: 90%; }
    .company article .company--inner--table dl dt {
      width: 20%; }
    .company article .company--inner--table dl dd {
      width: 80%; } }
@media screen and (max-width: 767px) {
  .company article .message {
    padding: 50px 0 70px; }
    .company article .message--inner--lead dl dt {
      font-size: 4.2vw; }
    .company article .message--inner--lead dl dd {
      font-size: 5.2vw;
      margin-top: 20px; }
    .company article .message--inner--category--texts {
      margin-top: 30px; }
      .company article .message--inner--category--texts p {
        font-size: 3.7vw;
        text-align: justify; }
    .company article .message--inner--category--image {
      width: 75%;
      margin: 35px auto 0; }
      .company article .message--inner--category--image dl dt {
        font-size: 3.7vw;
        margin-top: 15px; }
      .company article .message--inner--category--image dl dd {
        font-size: 4.8vw;
        margin-top: 8px; }
  .company article .company--inner {
    margin: 50px auto 0; }
    .company article .company--inner h2 {
      font-size: 4vw; }
    .company article .company--inner--table dl {
      font-size: 3.4vw;
      padding: 20px 0; }
      .company article .company--inner--table dl dt {
        width: 25%; }
      .company article .company--inner--table dl dd {
        width: 75%; }
        .company article .company--inner--table dl dd span {
          margin-top: 20px;
          padding-top: 20px; } }
.service article .main--inner--copy {
  top: 45%; }
.service article .contents--block {
  margin-top: 30px;
  padding: 60px 0 95px; }
  .service article .contents--block:nth-of-type(odd) {
    background-color: #e5eff7; }
  .service article .contents--block:nth-of-type(even) {
    background-color: #f9f9f9; }
  .service article .contents--block--inner {
    max-width: 810px;
    margin: 0 auto; }
    .service article .contents--block--inner.map {
      max-width: 1080px; }
    .service article .contents--block--inner--lead .icon {
      margin: 0 auto; }
      .service article .contents--block--inner--lead .icon.tag {
        max-width: 36px; }
      .service article .contents--block--inner--lead .icon.money {
        max-width: 48px; }
    .service article .contents--block--inner--lead h2 {
      font-size: 2.4rem;
      font-weight: bold;
      line-height: 1;
      letter-spacing: .05em;
      color: #005bab;
      text-align: center;
      margin-top: 30px; }
    .service article .contents--block--inner--lead p {
      font-size: 1.6rem;
      font-weight: bold;
      line-height: 1;
      text-align: center;
      color: #005bab;
      margin-top: 60px; }
    .service article .contents--block--inner--map {
      margin-top: 60px; }
      .service article .contents--block--inner--map iframe {
        width: 100% !important; }
      .service article .contents--block--inner--map p {
        font-size: 1.6rem;
        font-weight: bold;
        line-height: 1;
        letter-spacing: .05em;
        text-align: center;
        margin-top: 45px; }
    .service article .contents--block--inner--table {
      margin-top: 20px;
      border-top: 1px solid #005bab;
      border-bottom: 1px solid #005bab; }
      .service article .contents--block--inner--table dl {
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-weight: bold;
        line-height: 1;
        border-top: 1px dotted #005bab;
        padding: 20px 0; }
        .service article .contents--block--inner--table dl:first-of-type {
          border-top: 0; }
        .service article .contents--block--inner--table dl dt {
          width: 33%;
          font-size: 1.6em;
          letter-spacing: .1rem;
          color: #005bab; }
        .service article .contents--block--inner--table dl dd {
          width: 67%;
          font-size: 1.5rem;
          letter-spacing: .05em; }
    .service article .contents--block--inner--pay dl {
      font-weight: bold;
      text-align: center; }
      .service article .contents--block--inner--pay dl dt {
        font-size: 1.6rem;
        color: #005bab;
        margin-top: 85px; }
      .service article .contents--block--inner--pay dl dd {
        font-size: 1.5rem;
        line-height: 2;
        margin-top: 20px;
        padding-top: 20px;
        border-top: 1px solid #005bab; }
        .service article .contents--block--inner--pay dl dd span {
          color: #005bab; }
.service article .contents .service-area {
  margin-top: 30px;
  min-height: 610px;
  background: url("../images/top/img_bg03.png") no-repeat center center/cover;
  padding: 105px 0 100px; }
  .service article .contents .service-area--inner {
    max-width: 960px;
    margin: 0 auto; }
    .service article .contents .service-area--inner h2 {
      font-size: 2.0rem;
      font-weight: bold;
      line-height: 2;
      letter-spacing: .15em;
      color: #005bab;
      display: inline-block;
      position: relative; }
      .service article .contents .service-area--inner h2:after {
        content: '';
        position: absolute;
        width: 49px;
        height: 49px;
        background: url("../images/top/img_pic03-1.png") no-repeat center center/cover;
        top: -25px;
        right: 70px; }
    .service article .contents .service-area--inner .contact {
      margin-top: 40px; }
      .service article .contents .service-area--inner .contact a {
        color: #005bab; }
      .service article .contents .service-area--inner .contact span {
        font-size: 4.8rem;
        font-family: "Roboto", sans-serif;
        font-weight: bold;
        line-height: 1;
        letter-spacing: .05em;
        color: #005bab; }
        .service article .contents .service-area--inner .contact span em {
          display: block;
          font-size: 1.4rem;
          font-family: inherit;
          margin-top: 10px; }
    .service article .contents .service-area--inner .texts {
      margin-top: 35px; }
      .service article .contents .service-area--inner .texts dl {
        font-weight: bold;
        letter-spacing: .15em; }
        .service article .contents .service-area--inner .texts dl dt {
          font-size: 1.6rem;
          line-height: 1;
          margin-top: 15px;
          color: #005bab; }
        .service article .contents .service-area--inner .texts dl dd {
          font-size: 1.4rem;
          line-height: 2;
          margin-top: 10px; }
          .service article .contents .service-area--inner .texts dl dd ul {
            display: flex;
            justify-content: flex-start;
            flex-wrap: wrap; }
            .service article .contents .service-area--inner .texts dl dd ul li {
              width: 92%; }
              .service article .contents .service-area--inner .texts dl dd ul li.first {
                width: 8%; }
  .service article .contents .service-area.none {
    min-height: auto;
    background: none;
    padding: 0; }
  .service article .contents .service-area--hire--top {
    background: #F2F7FB;
    padding: 90px 0px;
    color: #005BAB; }
    .service article .contents .service-area--hire--top .inner {
      width: 810px;
      margin: 0 auto; }
    .service article .contents .service-area--hire--top h2 {
      font-size: 22px;
      font-weight: bold; }
    .service article .contents .service-area--hire--top .txts {
      margin-top: 45px;
      font-size: 16px;
      line-height: 1.9; }
  .service article .contents .service-area--hire--cont.back_1 {
    background: #F2F2F2;
    padding: 65px 0px 120px;
    margin-top: 110px; }
    .service article .contents .service-area--hire--cont.back_1 .inner {
      width: 1024px;
      margin: 0 auto; }
  .service article .contents .service-area--hire--cont h3 {
    font-size: 22px;
    font-weight: bold;
    color: #005BAB; }
    .service article .contents .service-area--hire--cont h3 span {
      font-family: 'Roboto', sans-serif;
      font-weight: 500;
      font-style: italic;
      display: inline-block;
      font-size: 73px;
      padding-right: 15px; }
  .service article .contents .service-area--hire--cont--flex {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 40px;
    gap: 35px; }
    .service article .contents .service-area--hire--cont--flex--box {
      width: 270px; }
      .service article .contents .service-area--hire--cont--flex--box dl dt {
        font-size: 18px;
        font-weight: bold;
        color: #005BAB;
        margin: 20px 0;
        letter-spacing: 0.06em; }
      .service article .contents .service-area--hire--cont--flex--box dl dd {
        font-size: 14px;
        line-height: 1.8;
        text-align: justify; }
  .service article .contents .service-area--hire--cont--contact {
    margin-top: 110px;
    background: #fff;
    border: 1px solid #005BAB;
    padding: 0 100px 70px 120px; }
    .service article .contents .service-area--hire--cont--contact h4 {
      width: 600px;
      margin: 0 auto;
      position: relative;
      top: -20px;
      color: #fff;
      font-size: 18px;
      font-weight: bold;
      text-align: center;
      padding: 5px 0;
      background: #005BAB; }
    .service article .contents .service-area--hire--cont--contact .leadtxt {
      font-size: 16px;
      font-weight: bold;
      text-align: center;
      color: #005BAB;
      margin-top: 20px;
      margin-bottom: 25px; }
    .service article .contents .service-area--hire--cont--contact dl {
      margin-top: 15px;
      display: flex;
      align-items: center; }
      .service article .contents .service-area--hire--cont--contact dl dt {
        width: 50px;
        margin-right: 20px; }
      .service article .contents .service-area--hire--cont--contact dl dd {
        font-family: 'Roboto', sans-serif;
        font-weight: 700;
        font-size: 48px;
        line-height: 1; }
        .service article .contents .service-area--hire--cont--contact dl dd span {
          display: inline-block;
          font-family: YuGothic, "Yu Gothic medium", "Yu Gothic", "Hiragino Sans", Meiryo, "sans-serif";
          font-size: 24px;
          font-weight: bold; }
        .service article .contents .service-area--hire--cont--contact dl dd.cl {
          color: #005BAB;
          font-size: 40px; }
    .service article .contents .service-area--hire--cont--contact ul {
      padding-left: 70px; }
      .service article .contents .service-area--hire--cont--contact ul li {
        font-weight: bold;
        font-size: 14px;
        margin-top: 10px; }
        .service article .contents .service-area--hire--cont--contact ul li span {
          color: #005BAB; }
        .service article .contents .service-area--hire--cont--contact ul li i {
          font-style: normal;
          font-size: 13px; }
  .service article .contents .service-area--hire--cont.back_2 {
    padding: 105px 0px 0; }
    .service article .contents .service-area--hire--cont.back_2 h3 {
      text-align: right; }
    .service article .contents .service-area--hire--cont.back_2 .inner {
      width: 1024px;
      margin: 0 auto; }
  .service article .contents .service-area--hire--cont--flexbox {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 110px; }
    .service article .contents .service-area--hire--cont--flexbox.rev {
      flex-direction: row-reverse;
      margin-top: 30px; }
    .service article .contents .service-area--hire--cont--flexbox--txt {
      width: 400px; }
      .service article .contents .service-area--hire--cont--flexbox--txt .txts {
        font-size: 18px;
        font-weight: bold;
        line-height: 2;
        color: #005BAB;
        margin-bottom: 20px; }
      .service article .contents .service-area--hire--cont--flexbox--txt .leadtxt {
        background: #005BAB;
        font-size: 16px;
        font-weight: bold;
        color: #fff;
        text-align: center;
        padding: 6px 0; }
      .service article .contents .service-area--hire--cont--flexbox--txt .txt {
        margin: 30px 0;
        font-size: 14px;
        line-height: 2.2;
        font-weight: bold; }
      .service article .contents .service-area--hire--cont--flexbox--txt .flexbox {
        display: flex;
        justify-content: space-between;
        align-items: center; }
        .service article .contents .service-area--hire--cont--flexbox--txt .flexbox ul {
          width: 165px; }
          .service article .contents .service-area--hire--cont--flexbox--txt .flexbox ul li {
            font-size: 14px;
            line-height: 2.2;
            font-weight: bold; }
            .service article .contents .service-area--hire--cont--flexbox--txt .flexbox ul li .cl_1 {
              color: #329B66; }
            .service article .contents .service-area--hire--cont--flexbox--txt .flexbox ul li .cl_2 {
              color: #AAAAAA; }
            .service article .contents .service-area--hire--cont--flexbox--txt .flexbox ul li .cl_3 {
              color: #FF6632; }
        .service article .contents .service-area--hire--cont--flexbox--txt .flexbox figure {
          width: 235px; }
    .service article .contents .service-area--hire--cont--flexbox--photo {
      width: 580px;
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: 40px 40px; }
      .service article .contents .service-area--hire--cont--flexbox--photo figure {
        width: 46%; }
  .service article .contents .service-area--hire--cont.back_3 {
    margin-top: 130px;
    padding: 60px 0px 80px 0px;
    position: relative; }
    .service article .contents .service-area--hire--cont.back_3:after {
      position: absolute;
      content: "";
      background: #E5EFF7;
      width: 1210px;
      left: 50%;
      margin-left: -670px;
      height: 100%;
      top: 0;
      z-index: -1; }
    .service article .contents .service-area--hire--cont.back_3 .outer {
      width: 1024px;
      margin: 0 auto; }
    .service article .contents .service-area--hire--cont.back_3 .inner {
      width: 945px;
      margin: 0 auto 0 0; }
      .service article .contents .service-area--hire--cont.back_3 .inner .toptxt {
        font-size: 14px;
        font-weight: bold;
        line-height: 2.2; }
      .service article .contents .service-area--hire--cont.back_3 .inner .leadtxt {
        background: #005BAB;
        font-size: 16px;
        font-weight: bold;
        color: #fff;
        text-align: center;
        padding: 6px 0;
        margin-top: 50px; }
      .service article .contents .service-area--hire--cont.back_3 .inner .txtttl {
        font-size: 18px;
        font-weight: bold;
        line-height: 2;
        color: #005BAB;
        margin: 20px 0 0; }
      .service article .contents .service-area--hire--cont.back_3 .inner .txt {
        margin: 20px 0 0;
        font-size: 14px;
        line-height: 2.2;
        font-weight: bold; }
      .service article .contents .service-area--hire--cont.back_3 .inner figure {
        margin-top: 40px; }
        .service article .contents .service-area--hire--cont.back_3 .inner figure.cl_1 {
          border: 1px solid #329A66; }
        .service article .contents .service-area--hire--cont.back_3 .inner figure.cl_2 {
          border: 1px solid #FF6632; }
      .service article .contents .service-area--hire--cont.back_3 .inner .undercap {
        margin: 20px 0 0;
        font-size: 12px;
        line-height: 2;
        color: #D7092F; }
  .service article .contents .service-area--hire--cont.back_4 {
    margin-top: 130px;
    padding: 60px 0px 80px 0px;
    position: relative; }
    .service article .contents .service-area--hire--cont.back_4:after {
      position: absolute;
      content: "";
      background: #E5EFF7;
      width: 1210px;
      right: 50%;
      margin-right: -670px;
      height: 100%;
      top: 0;
      z-index: -1; }
    .service article .contents .service-area--hire--cont.back_4 .outer {
      width: 1024px;
      margin: 0 auto; }
    .service article .contents .service-area--hire--cont.back_4 .inner {
      width: 945px;
      margin: 0 0 0 auto; }
      .service article .contents .service-area--hire--cont.back_4 .inner .toptxt {
        font-size: 14px;
        font-weight: bold;
        line-height: 2.2; }
      .service article .contents .service-area--hire--cont.back_4 .inner .photoflex {
        display: flex;
        justify-content: space-between;
        margin-top: 45px; }
        .service article .contents .service-area--hire--cont.back_4 .inner .photoflex figure {
          width: 285px; }
  .service article .contents .service-area--hire--cont.back_5 {
    padding: 60px 0px 0px; }
    .service article .contents .service-area--hire--cont.back_5 .inner {
      width: 1024px;
      margin: 0 auto; }
.service .footer--over {
  margin-top: 300px; }

@media screen and (max-width: 1024px) {
  .service article .contents--block--inner.map {
    max-width: 810px; } }
@media screen and (max-width: 768px) {
  .service article .main--inner--copy {
    top: 50%; }
  .service article .contents--block--inner {
    max-width: 90%; }
    .service article .contents--block--inner.map {
      max-width: 90%; }
    .service article .contents--block--inner--map p {
      font-size: 1.4rem; }
  .service article .contents .service-area {
    margin-top: 30px;
    min-height: inherit; }
    .service article .contents .service-area--inner {
      max-width: 90%; }
  .service article .contents .service-area {
    background: url("../images/top/img_bg03.png") no-repeat 70% center/cover;
    padding: 55px 0; } }
@media screen and (max-width: 767px) {
  .service article .main--inner--keyvisual img {
    margin-left: -90%; }
  .service article .contents--block {
    padding: 30px 0 50px; }
    .service article .contents--block--inner--lead .icon.tag {
      max-width: 7.7vw; }
    .service article .contents--block--inner--lead .icon.money {
      max-width: 10.2vw; }
    .service article .contents--block--inner--lead h2 {
      font-size: 5.6vw;
      margin-top: 15px; }
    .service article .contents--block--inner--lead p {
      font-size: 3.7vw;
      margin-top: 30px; }
    .service article .contents--block--inner--map {
      margin-top: 30px; }
      .service article .contents--block--inner--map iframe {
        height: 80vw; }
      .service article .contents--block--inner--map p {
        font-size: 3.7vw;
        line-height: 1.4;
        margin-top: 25px; }
    .service article .contents--block--inner--table dl {
      flex-wrap: wrap; }
      .service article .contents--block--inner--table dl dt {
        width: 100%;
        font-size: 4.2vw; }
      .service article .contents--block--inner--table dl dd {
        width: 100%;
        font-size: 3.7vw;
        line-height: 1.4;
        margin-top: 20px; }
    .service article .contents--block--inner--pay dl dt {
      font-size: 4.2vw;
      margin-top: 85px; }
    .service article .contents--block--inner--pay dl dd {
      font-size: 3.7vw; }
  .service article .contents .service-area {
    background: url("../images/top/img_bg03.png") no-repeat 65% center/cover; }
    .service article .contents .service-area--inner h2 {
      font-size: 5vw; }
      .service article .contents .service-area--inner h2:after {
        width: 42px;
        height: 42px;
        top: -20px; }
    .service article .contents .service-area--inner .contact {
      margin-top: 20px; }
      .service article .contents .service-area--inner .contact span {
        font-size: 8vw; }
        .service article .contents .service-area--inner .contact span em {
          font-size: 3.2vw; }
    .service article .contents .service-area--inner .texts dl dt {
      font-size: 4vw; }
    .service article .contents .service-area--inner .texts dl dd {
      font-size: 3.2vw;
      margin-top: 5px; }
      .service article .contents .service-area--inner .texts dl dd ul {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap; }
        .service article .contents .service-area--inner .texts dl dd ul li {
          width: 80%; }
          .service article .contents .service-area--inner .texts dl dd ul li.first {
            width: 20%; }
    .service article .contents .service-area--hire--top {
      padding: 45px 20px; }
      .service article .contents .service-area--hire--top .inner {
        width: 100%;
        margin: 0 auto; }
      .service article .contents .service-area--hire--top h2 {
        font-size: 18px;
        font-weight: bold; }
      .service article .contents .service-area--hire--top .txts {
        margin-top: 16px;
        font-size: 14px; }
    .service article .contents .service-area--hire--cont.back_1 {
      padding: 45px 0px 70px;
      margin-top: 45px; }
      .service article .contents .service-area--hire--cont.back_1 .inner {
        width: 90%;
        margin: 0 auto; }
    .service article .contents .service-area--hire--cont h3 {
      font-size: 18px; }
      .service article .contents .service-area--hire--cont h3 span {
        font-size: 50px;
        padding-right: 15px; }
    .service article .contents .service-area--hire--cont--flex {
      margin-top: 20px;
      gap: 30px; }
      .service article .contents .service-area--hire--cont--flex--box {
        width: 260px; }
        .service article .contents .service-area--hire--cont--flex--box dl dt {
          font-size: 15px;
          margin: 10px 0; }
        .service article .contents .service-area--hire--cont--flex--box dl dd {
          font-size: 13px; }
    .service article .contents .service-area--hire--cont--contact {
      margin-top: 50px;
      padding: 0 20px 30px; }
      .service article .contents .service-area--hire--cont--contact h4 {
        width: 300px;
        font-size: 16px; }
      .service article .contents .service-area--hire--cont--contact .leadtxt {
        font-size: 14px;
        margin-top: 20px;
        margin-bottom: 25px; }
      .service article .contents .service-area--hire--cont--contact dl {
        margin-top: 10px; }
        .service article .contents .service-area--hire--cont--contact dl dt {
          width: 40px;
          margin-right: 10px; }
        .service article .contents .service-area--hire--cont--contact dl dd {
          width: calc(100% - 50px);
          font-size: 35px;
          line-height: 0.6; }
          .service article .contents .service-area--hire--cont--contact dl dd span {
            font-size: 15px; }
          .service article .contents .service-area--hire--cont--contact dl dd.cl {
            font-size: 15px; }
      .service article .contents .service-area--hire--cont--contact ul {
        padding-left: 0px; }
        .service article .contents .service-area--hire--cont--contact ul li {
          font-weight: bold;
          font-size: 13px;
          margin-top: 10px; }
          .service article .contents .service-area--hire--cont--contact ul li span {
            color: #005BAB; }
          .service article .contents .service-area--hire--cont--contact ul li i {
            font-style: normal;
            font-size: 12px; }
    .service article .contents .service-area--hire--cont.back_2 {
      padding: 45px 0px 0; }
      .service article .contents .service-area--hire--cont.back_2 h3 {
        text-align: left; }
      .service article .contents .service-area--hire--cont.back_2 .inner {
        width: 90%;
        margin: 0 auto; }
    .service article .contents .service-area--hire--cont--flexbox {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      flex-wrap: wrap;
      margin-top: 45px; }
      .service article .contents .service-area--hire--cont--flexbox.rev {
        flex-direction: row-reverse;
        margin-top: 30px; }
      .service article .contents .service-area--hire--cont--flexbox--txt {
        width: 100%; }
        .service article .contents .service-area--hire--cont--flexbox--txt .txts {
          font-size: 16px;
          margin-bottom: 10px; }
        .service article .contents .service-area--hire--cont--flexbox--txt .leadtxt {
          font-size: 15px;
          padding: 6px 0; }
        .service article .contents .service-area--hire--cont--flexbox--txt .txt {
          margin: 15px 0;
          font-size: 13px;
          line-height: 1.8; }
        .service article .contents .service-area--hire--cont--flexbox--txt .flexbox ul {
          width: 50%; }
          .service article .contents .service-area--hire--cont--flexbox--txt .flexbox ul li {
            font-size: 13px;
            line-height: 1.8;
            font-weight: bold; }
        .service article .contents .service-area--hire--cont--flexbox--txt .flexbox figure {
          width: 48%; }
      .service article .contents .service-area--hire--cont--flexbox--photo {
        width: 100%;
        margin-top: 15px;
        gap: 2% 2%; }
        .service article .contents .service-area--hire--cont--flexbox--photo figure {
          width: 48%;
          margin-top: 2%; }
    .service article .contents .service-area--hire--cont.back_3 {
      margin-top: 45px;
      padding: 45px 0px 45px 0px;
      position: relative; }
      .service article .contents .service-area--hire--cont.back_3:after {
        width: 100%;
        left: 0%;
        margin-left: 0px;
        height: 100%;
        top: 0;
        z-index: -1; }
      .service article .contents .service-area--hire--cont.back_3 .outer {
        width: 90%;
        margin: 0 auto; }
      .service article .contents .service-area--hire--cont.back_3 .inner {
        width: 100%;
        margin: 0 auto 0 0; }
        .service article .contents .service-area--hire--cont.back_3 .inner .toptxt {
          font-size: 14px;
          line-height: 1.8; }
        .service article .contents .service-area--hire--cont.back_3 .inner .leadtxt {
          font-size: 15px;
          margin-top: 25px; }
        .service article .contents .service-area--hire--cont.back_3 .inner .txtttl {
          font-size: 16px;
          margin: 10px 0 0; }
        .service article .contents .service-area--hire--cont.back_3 .inner .txt {
          margin: 10px 0 0;
          font-size: 13px;
          line-height: 1.8; }
        .service article .contents .service-area--hire--cont.back_3 .inner figure {
          margin-top: 20px; }
          .service article .contents .service-area--hire--cont.back_3 .inner figure.cl_1 {
            border: 1px solid #329A66; }
          .service article .contents .service-area--hire--cont.back_3 .inner figure.cl_2 {
            border: 1px solid #FF6632; }
        .service article .contents .service-area--hire--cont.back_3 .inner .undercap {
          margin: 10px 0 0;
          font-size: 12px;
          line-height: 1.6; }
    .service article .contents .service-area--hire--cont.back_4 {
      margin-top: 45px;
      padding: 45px 0px 45px 0px; }
      .service article .contents .service-area--hire--cont.back_4:after {
        width: 100%;
        left: 0%;
        margin-left: 0px;
        height: 100%;
        top: 0;
        z-index: -1; }
      .service article .contents .service-area--hire--cont.back_4 .outer {
        width: 90%;
        margin: 0 auto; }
      .service article .contents .service-area--hire--cont.back_4 .inner {
        width: 100%;
        margin: 0 auto 0 0; }
        .service article .contents .service-area--hire--cont.back_4 .inner .toptxt {
          font-size: 14px;
          line-height: 1.8; }
        .service article .contents .service-area--hire--cont.back_4 .inner .photoflex {
          display: flex;
          justify-content: space-between;
          margin-top: 25px; }
          .service article .contents .service-area--hire--cont.back_4 .inner .photoflex figure {
            width: 33%; }
    .service article .contents .service-area--hire--cont.back_5 {
      padding: 40px 0px 0px; }
      .service article .contents .service-area--hire--cont.back_5 .inner {
        width: 90%;
        margin: 0 auto; }
  .service .footer--over {
    margin-top: 50vw; } }
.information article .main--inner--copy {
  top: 50%; }
.information article .message {
  margin-top: 30px;
  background-color: #f2f7fb;
  padding: 90px 0; }
  .information article .message--inner {
    max-width: 810px;
    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 .info--inner {
  max-width: 1080px;
  margin: 90px auto 135px; }
  .information article .info--inner--table {
    width: 100%;
    margin-top: 30px;
    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 {
        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: 15.4%; }
        .information article .info--inner--table tr th:nth-child(2) {
          width: 22.6%; }
        .information article .info--inner--table tr th:nth-child(3) {
          width: 23.8%; }
        .information article .info--inner--table tr th:last-child {
          width: 38.2%;
          border-right: none; }
      .information article .info--inner--table tr td {
        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 {
          font-weight: bold;
          color: #005bab;
          letter-spacing: .1em; }
        .information article .info--inner--table tr td:last-child {
          border-right: none; }
  .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: 768px) {
  .information article .main--inner--copy {
    top: 50%; }
  .information article .message--inner {
    max-width: 90%; }
  .information article .info--inner {
    max-width: 90%; }
    .information article .info--inner--table tr th:first-child {
      width: 15.4%; }
    .information article .info--inner--table tr th:nth-child(2) {
      width: 22.6%; }
    .information article .info--inner--table tr th:nth-child(3) {
      width: 23.8%; }
    .information article .info--inner--table tr th:last-child {
      width: 38.2%; }
    .information article .info--inner .btn a {
      font-size: 2.4vw; } }
@media screen and (max-width: 767px) {
  .information article .message {
    padding: 50px 0; }
    .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 .info--inner {
    margin: 45px auto; }
    .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: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:before {
        width: 25%;
        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 .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: relative; }
.recruit-page article {
  width: 100%;
  overflow-x: hidden;
  padding-top: 0; }
  .recruit-page article .main {
    width: 100%;
    background: #00a0e9;
    padding-top: 20px;
    position: relative; }
    .recruit-page article .main--bg {
      width: 100%;
      padding-bottom: 650px;
      background: url("../images/recruit/bg_recruit_main-visual_pc.png") no-repeat center top/cover; }
      .recruit-page article .main--bg--inner {
        width: 90%;
        max-width: 1084px;
        margin: 0 auto; }
        .recruit-page article .main--bg--inner--block {
          width: 100%;
          position: relative; }
          .recruit-page article .main--bg--inner--block--txtbox .catchcopy {
            color: #fff;
            font-size: 7.4rem;
            font-weight: 500;
            letter-spacing: .1em; }
          .recruit-page article .main--bg--inner--block--txtbox .subcopy {
            width: 100%;
            margin-top: 20px; }
            .recruit-page article .main--bg--inner--block--txtbox .subcopy h1 span {
              display: inline-block;
              background: #fff;
              color: #00a0e9;
              font-size: 2.8rem;
              font-weight: 500;
              line-height: 1.4;
              padding: 0 .2em; }
              .recruit-page article .main--bg--inner--block--txtbox .subcopy h1 span:not(:first-of-type) {
                margin-top: 15px; }
          .recruit-page article .main--bg--inner--block--txtbox--maintxt {
            margin-top: 40px;
            color: #fff;
            font-size: 1.8rem;
            line-height: 1.9;
            letter-spacing: .02em;
            font-weight: bold; }
          .recruit-page article .main--bg--inner--block--txtbox--btn {
            max-width: 417px;
            margin-top: 45px;
            box-shadow: 0px 0px 20px 0px #000;
            border-radius: 10px; }
          .recruit-page article .main--bg--inner--block--txtbox h2, .recruit-page article .main--bg--inner--block--txtbox h3 {
            color: #fff;
            font-weight: 500; }
          .recruit-page article .main--bg--inner--block--txtbox h2 {
            font-size: 4.1rem; }
          .recruit-page article .main--bg--inner--block--txtbox h3 {
            font-size: 3.2rem; }
          .recruit-page article .main--bg--inner--block--fig {
            position: absolute; }
            .recruit-page article .main--bg--inner--block--fig img {
              width: 100%; }
          .recruit-page article .main--bg--inner--block.block01 {
            padding-top: 70px; }
            .recruit-page article .main--bg--inner--block.block01 .main--bg--inner--block--txtbox {
              margin-left: 50%; }
            .recruit-page article .main--bg--inner--block.block01 .fig01 {
              top: 40px;
              left: -5%;
              width: 50%; }
          .recruit-page article .main--bg--inner--block.block02 {
            margin-top: 100px; }
            .recruit-page article .main--bg--inner--block.block02 .main--bg--inner--block--txtbox {
              margin-left: 10%; }
            .recruit-page article .main--bg--inner--block.block02 .fig02 {
              top: -40px;
              left: -12%;
              width: 20%; }
            .recruit-page article .main--bg--inner--block.block02 .fig03 {
              top: -10px;
              left: 60%;
              width: 45%; }
          .recruit-page article .main--bg--inner--block.block03 {
            margin-top: 220px; }
            .recruit-page article .main--bg--inner--block.block03 .main--bg--inner--block--txtbox {
              margin-left: 26%; }
              .recruit-page article .main--bg--inner--block.block03 .main--bg--inner--block--txtbox--maintxt {
                margin-top: 20px; }
              .recruit-page article .main--bg--inner--block.block03 .main--bg--inner--block--txtbox--point {
                margin-top: 40px;
                margin-left: 40px;
                color: #fff;
                font-size: 1.8rem;
                line-height: 1.9;
                letter-spacing: .05em;
                font-weight: bold;
                position: relative; }
                .recruit-page article .main--bg--inner--block.block03 .main--bg--inner--block--txtbox--point::before {
                  content: '';
                  display: block;
                  position: absolute;
                  top: -20px;
                  left: -40px;
                  width: 84px;
                  height: 73px;
                  background: url("../images/recruit/icon_recruit_fukidashi.png") no-repeat center/contain; }
            .recruit-page article .main--bg--inner--block.block03 .fig04 {
              top: -100px;
              left: -8%;
              width: 30%; }
            .recruit-page article .main--bg--inner--block.block03 .main--bg--inner--block--wrap {
              width: 95%;
              margin: 6em auto;
              font-weight: bold; }
              .recruit-page article .main--bg--inner--block.block03 .main--bg--inner--block--wrap .comment {
                font-size: 1.3rem;
                text-align: right;
                color: #fff;
                margin-top: 1em; }
              .recruit-page article .main--bg--inner--block.block03 .main--bg--inner--block--wrap--category {
                display: flex;
                justify-content: space-between;
                flex-wrap: wrap;
                background: #fff;
                border-radius: 2.5rem;
                border: 5px solid #80cff4;
                box-shadow: 5px 7px 7px rgba(0, 0, 0, 0.2);
                font-size: 1.9rem;
                padding: 1em 0; }
                .recruit-page article .main--bg--inner--block.block03 .main--bg--inner--block--wrap--category--col {
                  width: 33.333%;
                  text-align: center; }
                  .recruit-page article .main--bg--inner--block.block03 .main--bg--inner--block--wrap--category--col h3 {
                    font-weight: bold;
                    color: #00a0e9; }
                  .recruit-page article .main--bg--inner--block.block03 .main--bg--inner--block--wrap--category--col p {
                    font-size: 1.6rem;
                    color: #df3a59;
                    margin-top: 1em; }
                  .recruit-page article .main--bg--inner--block.block03 .main--bg--inner--block--wrap--category--col .figure {
                    margin-top: .5em; }
          .recruit-page article .main--bg--inner--block.block04 {
            margin-top: 125px; }
            .recruit-page article .main--bg--inner--block.block04 .main--bg--inner--block--txtbox--maintxt {
              margin-top: 20px; }
            .recruit-page article .main--bg--inner--block.block04 .fig05 {
              top: -100px;
              left: 666px;
              width: 46%; }
            .recruit-page article .main--bg--inner--block.block04 .fig06 {
              top: 368px;
              left: 35%;
              width: 30%; }
            .recruit-page article .main--bg--inner--block.block04 .banner {
              width: 52.5%;
              margin-top: 35px;
              transition: all .3s ease; }
              .recruit-page article .main--bg--inner--block.block04 .banner a {
                display: block;
                position: relative;
                z-index: 1;
                font-weight: bold;
                line-height: 1.3;
                color: #000; }
                .recruit-page article .main--bg--inner--block.block04 .banner a .label {
                  width: 170px;
                  height: 170px;
                  display: flex;
                  justify-content: center;
                  align-items: center;
                  align-content: center;
                  flex-wrap: wrap;
                  border-radius: 50%;
                  background-color: #d7092f;
                  box-shadow: 5px 7px 7px rgba(0, 0, 0, 0.2); }
                  .recruit-page article .main--bg--inner--block.block04 .banner a .label .icon {
                    width: 23.5%;
                    margin: 0 auto; }
                  .recruit-page article .main--bg--inner--block.block04 .banner a .label p {
                    width: 100%;
                    font-size: 2.5rem;
                    font-weight: 500;
                    text-align: center;
                    color: #fff;
                    margin: .2em 0; }
                .recruit-page article .main--bg--inner--block.block04 .banner a dl {
                  width: 88%;
                  position: absolute;
                  top: 50%;
                  right: 0;
                  transform: translateY(-50%);
                  z-index: -1;
                  background: #fff;
                  border-radius: 2.5rem;
                  border: 5px solid #d7092f;
                  box-shadow: 5px 7px 7px rgba(0, 0, 0, 0.2);
                  font-size: 1.8rem;
                  padding: .5em 1em .5em 6.5em; }
                  .recruit-page article .main--bg--inner--block.block04 .banner a dl dd {
                    font-size: 2.1rem;
                    color: #d7092f;
                    margin-top: .5em;
                    padding-top: .5em;
                    border-top: 1px solid #d7092f; }
                .recruit-page article .main--bg--inner--block.block04 .banner a:hover {
                  opacity: 1; }
              .recruit-page article .main--bg--inner--block.block04 .banner:hover {
                transform: scale(1.04); }
      .recruit-page article .main--bg .movie_area {
        width: 1090px;
        margin: 400px auto -500px;
        display: flex;
        justify-content: center;
        align-items: center; }
        .recruit-page article .main--bg .movie_area .moviecont {
          width: 700px;
          position: relative;
          margin: 0 auto; }
          .recruit-page article .main--bg .movie_area .moviecont video {
            width: 100%;
            height: auto;
            display: block; }
          .recruit-page article .main--bg .movie_area .moviecont .poster-overlay {
            position: absolute;
            inset: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            background: rgba(0, 0, 0, 0.4); }
          .recruit-page article .main--bg .movie_area .moviecont .poster-overlay img {
            width: 100%;
            height: auto; }
        .recruit-page article .main--bg .movie_area .moviecontinner {
          width: 350px;
          margin-left: 40px;
          color: #fff;
          font-size: 15px;
          font-weight: bold; }
          .recruit-page article .main--bg .movie_area .moviecontinner dt {
            font-size: 32px;
            font-weight: bold;
            padding-bottom: 20px; }
    .recruit-page article .main .anc {
      width: 1024px;
      margin: 0 auto;
      position: absolute;
      bottom: -83px;
      left: 50%;
      transform: translateX(-50%);
      z-index: 48; }
      .recruit-page article .main .anc.fixed {
        position: fixed;
        bottom: auto;
        top: 10px; }
      .recruit-page article .main .anc ul {
        width: 100%;
        display: flex;
        justify-content: space-between; }
        .recruit-page article .main .anc ul li {
          width: 166px;
          height: 166px;
          border-radius: 50%; }
          .recruit-page article .main .anc ul li a {
            display: block;
            width: 100%;
            height: 100%;
            background: #33b3ed;
            border: 1px solid #fff;
            border-radius: 50%;
            position: relative; }
            .recruit-page article .main .anc ul li a .anc-inner {
              width: 100%; }
              .recruit-page article .main .anc ul li a .anc-inner--number {
                width: 100%;
                margin-top: 14px;
                text-align: center;
                color: #fff;
                font-size: 3.4rem;
                font-weight: 500;
                letter-spacing: .05em; }
              .recruit-page article .main .anc ul li a .anc-inner--menu {
                width: 100%;
                text-align: center;
                color: #fff;
                font-size: 1.8rem;
                font-weight: 500;
                line-height: 1.4; }
            .recruit-page article .main .anc ul li a::after {
              content: '';
              display: block;
              position: absolute;
              top: 80%;
              left: 50%;
              transform: translateX(-50%);
              width: 18px;
              height: 14px;
              background: url("../images/recruit/icon_recruit_triangle-red.png") no-repeat center/contain; }
  .recruit-page article .point-sec {
    width: 100%;
    margin-top: 106px; }
    .recruit-page article .point-sec--first {
      width: 90%;
      padding: 54px 0;
      background: #33b3ed;
      position: relative;
      z-index: 2; }
      .recruit-page article .point-sec--first--inner--txtbox {
        width: 100%; }
        .recruit-page article .point-sec--first--inner--txtbox--ttl {
          width: 100%;
          display: flex;
          align-items: center;
          position: relative; }
          .recruit-page article .point-sec--first--inner--txtbox--ttl--number {
            color: #fff;
            font-size: 6.0rem;
            line-height: 1;
            font-weight: 500;
            letter-spacing: .05em;
            position: relative;
            z-index: 2; }
          .recruit-page article .point-sec--first--inner--txtbox--ttl h2 {
            margin-left: 1em;
            color: #fff;
            font-size: 2.0rem;
            line-height: 1;
            font-weight: 500; }
          .recruit-page article .point-sec--first--inner--txtbox--ttl::before {
            content: '';
            display: block;
            position: absolute;
            top: 50%;
            left: -55px;
            transform: translateY(-45%);
            width: 73px;
            height: 51px;
            background: url("../images/recruit/icon_recruit_triangle-white.png") no-repeat center/contain; }
        .recruit-page article .point-sec--first--inner--txtbox h3 {
          margin-top: 20px;
          color: #fff;
          font-size: 3.2rem;
          font-weight: 500; }
        .recruit-page article .point-sec--first--inner--txtbox--txt {
          margin-top: 30px;
          color: #fff;
          font-size: 1.6rem;
          line-height: 2;
          font-weight: bold;
          letter-spacing: .05em; }
      .recruit-page article .point-sec--first--fig {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 56%;
        max-width: 645px; }
        .recruit-page article .point-sec--first--fig img {
          width: 100%; }
      .recruit-page article .point-sec--first::after {
        content: '';
        display: block;
        position: absolute;
        bottom: -40px;
        left: 30%;
        width: 0;
        height: 0;
        border-top: 20px solid #33b3ed;
        border-right: 20px solid transparent;
        border-bottom: 20px solid transparent;
        border-left: 20px solid transparent; }
    .recruit-page article .point-sec--second {
      width: 100%;
      padding: 55px 0;
      background: #ccecfb; }
      .recruit-page article .point-sec--second--inner {
        width: 80%;
        margin: 0 auto; }
        .recruit-page article .point-sec--second--inner--box h4 {
          padding: 0 .5em;
          background: #fff;
          color: #33b3ed;
          font-size: 2.2rem;
          font-weight: 500;
          letter-spacing: .05em; }
          .recruit-page article .point-sec--second--inner--box h4 span {
            font-size: 1.6rem; }
          .recruit-page article .point-sec--second--inner--box h4.red {
            background: none;
            color: #d7092f;
            padding: 0;
            margin-top: 0.8em;
            font-size: 1.8rem; }
    .recruit-page article .point-sec.sec01 {
      margin-top: 0;
      padding-top: 246px;
      background: #ccecfb; }
      .recruit-page article .point-sec.sec01 .point-sec--first {
        margin-left: 25%;
        border-radius: 100px 0 0 100px; }
        .recruit-page article .point-sec.sec01 .point-sec--first--inner {
          width: 68%;
          margin-left: 22%;
          padding-right: 10%; }
        .recruit-page article .point-sec.sec01 .point-sec--first--fig {
          left: -36%; }
      .recruit-page article .point-sec.sec01 .point-sec--second--inner--box {
        width: 60%;
        margin-left: auto; }
        .recruit-page article .point-sec.sec01 .point-sec--second--inner--box ul {
          width: 100%;
          margin-top: 20px;
          padding-left: 20px; }
          .recruit-page article .point-sec.sec01 .point-sec--second--inner--box ul li {
            color: #33b3ed;
            font-size: 1.6rem;
            line-height: 2;
            font-weight: bold;
            position: relative; }
            .recruit-page article .point-sec.sec01 .point-sec--second--inner--box ul li::before {
              content: '●';
              display: block;
              position: absolute;
              top: 0;
              left: -20px;
              width: 16px;
              height: 16px; }
    .recruit-page article .point-sec.sec02 .point-sec--first {
      border-radius: 0 100px 100px 0; }
      .recruit-page article .point-sec.sec02 .point-sec--first--inner {
        width: 68%;
        padding-left: 10%; }
      .recruit-page article .point-sec.sec02 .point-sec--first--fig {
        right: -22%; }
      .recruit-page article .point-sec.sec02 .point-sec--first::after {
        left: 10%; }
    .recruit-page article .point-sec.sec02 .point-sec--second--inner--box {
      width: 767px;
      margin: 0 auto;
      margin-top: 40px; }
      .recruit-page article .point-sec.sec02 .point-sec--second--inner--box:last-child {
        margin-top: 40px; }
      .recruit-page article .point-sec.sec02 .point-sec--second--inner--box.wid {
        width: 1000px; }
      .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example {
        width: 100%;
        margin-top: 20px;
        display: flex;
        align-items: flex-start; }
        .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block {
          width: 50%;
          display: flex; }
          .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block--year {
            width: 80px;
            height: 80px;
            background: #33b3ed;
            border-radius: 40px;
            font-size: 2.2rem;
            font-weight: 500;
            letter-spacing: .05em;
            text-align: center;
            color: #fff;
            line-height: 1;
            padding-top: 27px; }
          .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block--dl {
            margin-left: 20px;
            position: relative; }
            .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block--dl::after {
              content: '';
              display: block;
              position: absolute;
              top: 10px;
              left: 50px;
              width: 1px;
              height: calc(100% - 20px);
              background: rgba(0, 160, 233, 0.5); }
            .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block--dl dl {
              display: flex; }
              .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block--dl dl dt {
                width: 35px;
                font-size: 1.6rem;
                line-height: 2;
                font-weight: bold;
                text-align: right;
                color: #00a0e9;
                white-space: nowrap; }
              .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block--dl dl dd {
                margin-left: 30px;
                font-size: 1.6rem;
                line-height: 2;
                font-weight: bold;
                color: #221e1f;
                white-space: nowrap; }
                .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block--dl dl dd .red {
                  color: #d7092f;
                  font-size: 1.3rem; }
                  .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block--dl dl dd .red.lins {
                    position: relative;
                    top: -10px; }
          .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block:not(:first-of-type) {
            margin-left: 40px; }
          .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block.wid_1 {
            width: 40%; }
            .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block.wid_1.border {
              align-items: center; }
              .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block.wid_1.border .sec02-example--block--dl {
                padding: 10px 0; }
          .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block.wid_2 {
            width: 60%; }
    .recruit-page article .point-sec.sec03 .point-sec--first {
      margin-left: 25%;
      border-radius: 100px 0 0 100px; }
      .recruit-page article .point-sec.sec03 .point-sec--first--inner {
        width: 62%;
        margin-left: 22%;
        padding-right: 10%; }
      .recruit-page article .point-sec.sec03 .point-sec--first--fig {
        left: -36%; }
    .recruit-page article .point-sec.sec03 .point-sec--third {
      width: 100%; }
      .recruit-page article .point-sec.sec03 .point-sec--third--block {
        width: 100%;
        padding-top: 86px; }
        .recruit-page article .point-sec.sec03 .point-sec--third--block--inner {
          width: 80%;
          margin: 0 auto; }
          .recruit-page article .point-sec.sec03 .point-sec--third--block--inner .blue-band {
            width: 100%;
            padding: 14px 0;
            margin-bottom: 38px;
            background: #009ce5; }
            .recruit-page article .point-sec.sec03 .point-sec--third--block--inner .blue-band p {
              color: #fff;
              font-weight: bold;
              text-align: center;
              font-size: 2.5rem;
              line-height: 2;
              letter-spacing: .02em; }
          .recruit-page article .point-sec.sec03 .point-sec--third--block--inner .white-band {
            min-width: 646px;
            margin: 0 auto;
            background: #fff;
            color: #33b3ed;
            font-weight: 500;
            text-align: center;
            font-size: 2.2rem;
            line-height: 2;
            letter-spacing: .01em;
            display: table;
            padding: 0 2em; }
          .recruit-page article .point-sec.sec03 .point-sec--third--block--inner--intro {
            margin: 20px auto 0;
            color: #009ce5;
            font-weight: 500;
            text-align: center;
            font-size: 1.8rem;
            letter-spacing: .01em; }
          .recruit-page article .point-sec.sec03 .point-sec--third--block--inner--calendar {
            margin-top: 20px; }
            .recruit-page article .point-sec.sec03 .point-sec--third--block--inner--calendar--img {
              width: 100%; }
              .recruit-page article .point-sec.sec03 .point-sec--third--block--inner--calendar--img figure {
                width: 100%; }
                .recruit-page article .point-sec.sec03 .point-sec--third--block--inner--calendar--img figure img {
                  width: 100%; }
          .recruit-page article .point-sec.sec03 .point-sec--third--block--inner--txt {
            width: 100%;
            margin-top: 20px;
            color: #009ce5;
            font-weight: bold;
            font-size: 1.8rem;
            letter-spacing: .05em; }
        .recruit-page article .point-sec.sec03 .point-sec--third--block.block01 {
          background: #ccecfb;
          padding-bottom: 62px; }
        .recruit-page article .point-sec.sec03 .point-sec--third--block.block02 {
          background: #e5f5fd;
          padding-bottom: 100px; }
    .recruit-page article .point-sec.sec03 .point-sec--fourth {
      width: 100%;
      padding: 70px 0 144px; }
      .recruit-page article .point-sec.sec03 .point-sec--fourth--inner {
        width: 100%; }
        .recruit-page article .point-sec.sec03 .point-sec--fourth--inner .band-box {
          width: 100%;
          padding-bottom: 44px;
          position: relative; }
          .recruit-page article .point-sec.sec03 .point-sec--fourth--inner .band-box::after {
            content: '';
            display: block;
            position: absolute;
            width: 100%;
            height: calc(100% - 40px);
            top: 40px;
            left: 0;
            z-index: -1;
            background: #ffefe1; }
          .recruit-page article .point-sec.sec03 .point-sec--fourth--inner .band-box .blue-band {
            width: 80%;
            margin: 0 auto;
            padding: 14px 0;
            background: #00a0e1; }
            .recruit-page article .point-sec.sec03 .point-sec--fourth--inner .band-box .blue-band p {
              color: #fff;
              font-weight: bold;
              text-align: center;
              font-size: 2.6rem;
              line-height: 2;
              letter-spacing: .02em; }
        .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples {
          width: 100%; }
          .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block {
            width: 100%;
            padding: 60px 0 80px; }
            .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--ttl {
              width: 80%;
              margin: 0 auto; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--ttl .number {
                font-size: 4.0rem;
                letter-spacing: .05em;
                font-weight: 500;
                padding-left: 250px; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--ttl .ttl-main {
                margin-top: 10px;
                padding-bottom: 5px;
                font-size: 2.8rem;
                letter-spacing: .01em;
                font-weight: bold;
                padding-left: 250px;
                position: relative; }
                .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--ttl .ttl-main span {
                  font-size: 2.4rem; }
                .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--ttl .ttl-main .sup {
                  font-size: 1.4rem;
                  vertical-align: super; }
                .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--ttl .ttl-main::before {
                  content: '';
                  display: block;
                  position: absolute;
                  left: 0;
                  bottom: -111px;
                  width: 222px;
                  height: 222px; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--ttl .ttl-txt {
                margin-top: 20px;
                font-size: 1.8rem;
                font-weight: bold;
                color: #221e1f;
                padding-left: 250px; }
                .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--ttl .ttl-txt span {
                  background-color: #ff9; }
            .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--schedule {
              width: 80%;
              margin: 67px auto 0;
              position: relative; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--schedule--img {
                width: 100%; }
                .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--schedule--img figure {
                  width: 100%; }
                  .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--schedule--img figure img {
                    width: 100%; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--schedule--others {
                margin-top: 10px;
                color: #221e1f;
                font-size: 1.5rem; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--schedule--add {
                position: absolute;
                top: 38px;
                right: -34px;
                width: 166px;
                height: 166px;
                border-radius: 50%;
                background: #00a0e1;
                display: flex;
                justify-content: center;
                align-items: center; }
                .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--schedule--add p {
                  color: #fff;
                  font-size: 1.5rem;
                  line-height: 1.4;
                  font-weight: bold;
                  text-align: center; }
                  .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--schedule--add p span {
                    font-size: 2.5rem; }
            .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--note {
              width: 80%;
              margin: 26px auto 0; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--note ul {
                width: 100%; }
                .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--note ul li {
                  width: 100%;
                  display: flex;
                  align-items: center; }
                  .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--note ul li:not(:first-of-type) {
                    margin-top: 14px; }
                  .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--note ul li .note-number {
                    width: 70px;
                    height: 70px;
                    border-radius: 50%;
                    display: flex;
                    justify-content: center;
                    align-items: center; }
                    .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--note ul li .note-number p {
                      text-align: center;
                      color: #fff;
                      font-size: 2.0rem;
                      font-weight: 500; }
                  .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--note ul li .note-txt {
                    margin-left: 20px;
                    width: calc(100% - 90px);
                    font-size: 1.8rem;
                    font-weight: bold; }
            .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--model {
              width: 80%;
              margin: 30px auto 0;
              padding: 24px 36px 30px; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--model--ttl {
                width: 100%;
                display: flex;
                align-items: center; }
                .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--model--ttl .model-ttl {
                  font-size: 2.2rem;
                  letter-spacing: .01em;
                  font-weight: bold; }
                .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--model--ttl .model-att {
                  margin-left: 15px;
                  font-size: 1.5rem;
                  color: #221e1f; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--model--ul {
                width: 100%;
                display: flex; }
                .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--model--ul li:not(:first-of-type) {
                  margin-left: 20px; }
                .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--model--ul li .model-li {
                  font-size: 2.4rem;
                  letter-spacing: .01em;
                  line-height: 2;
                  font-weight: bold; }
                  .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--model--ul li .model-li span {
                    font-size: 6.0rem;
                    letter-spacing: .05em;
                    line-height: 1.2; }
                .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--model--ul li .time {
                  color: #221e1f;
                  font-size: 1.5rem;
                  line-height: 1.2;
                  text-align: right;
                  padding-right: 15px; }
            .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block01 {
              background: #ffefe1; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block01 .point-sec--fourth--inner--examples--block--ttl .number {
                color: #f08300; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block01 .point-sec--fourth--inner--examples--block--ttl .ttl-main {
                color: #f08300;
                border-bottom: 1px solid rgba(240, 131, 0, 0.5); }
                .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block01 .point-sec--fourth--inner--examples--block--ttl .ttl-main::before {
                  background: url("../images/recruit/img_recruit_section03-4person.png") no-repeat center/contain; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block01 .point-sec--fourth--inner--examples--block--note ul li .note-number {
                background: #f08300; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block01 .point-sec--fourth--inner--examples--block--note ul li .note-txt {
                color: #f08300; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block01 .point-sec--fourth--inner--examples--block--model {
                background: #fdf2e5;
                border: 1px solid rgba(243, 155, 51, 0.5); }
                .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block01 .point-sec--fourth--inner--examples--block--model--ttl .model-ttl {
                  color: #f08300; }
                .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block01 .point-sec--fourth--inner--examples--block--model--ul li .model-li {
                  color: #f08300; }
            .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block02 {
              background: #fce8f3; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block02 .point-sec--fourth--inner--examples--block--ttl .number {
                color: #ee80bf;
                padding-left: 0;
                padding-right: 250px; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block02 .point-sec--fourth--inner--examples--block--ttl .ttl-main {
                color: #ee80bf;
                border-bottom: 1px solid rgba(238, 128, 191, 0.5);
                padding-left: 0;
                padding-right: 250px; }
                .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block02 .point-sec--fourth--inner--examples--block--ttl .ttl-main::before {
                  left: auto;
                  right: 0;
                  background: url("../images/recruit/img_recruit_section03-5person.png") no-repeat center/contain; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block02 .point-sec--fourth--inner--examples--block--ttl .ttl-txt {
                padding-left: 0;
                padding-right: 250px; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block02 .point-sec--fourth--inner--examples--block--note ul li .note-number {
                background: #ee80bf; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block02 .point-sec--fourth--inner--examples--block--note ul li .note-txt {
                color: #ee80bf; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block02 .point-sec--fourth--inner--examples--block--model {
                background: #fdf2f9;
                border: 1px solid rgba(238, 128, 191, 0.5); }
                .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block02 .point-sec--fourth--inner--examples--block--model--ttl .model-ttl {
                  color: #ee80bf; }
                .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block02 .point-sec--fourth--inner--examples--block--model--ul li .model-li {
                  color: #ee80bf; }
            .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block03 {
              background: #f3fce8; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block03 .point-sec--fourth--inner--examples--block--ttl .number {
                color: #7ccb12; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block03 .point-sec--fourth--inner--examples--block--ttl .ttl-main {
                color: #7ccb12;
                border-bottom: 1px solid rgba(124, 203, 18, 0.5); }
                .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block03 .point-sec--fourth--inner--examples--block--ttl .ttl-main::before {
                  bottom: -55px;
                  background: url("../images/recruit/img_recruit_section03-6person.png") no-repeat center/contain; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block03 .point-sec--fourth--inner--examples--block--note ul li .note-number {
                background: #7ccb12; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block03 .point-sec--fourth--inner--examples--block--note ul li .note-txt {
                color: #7ccb12; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block03 .point-sec--fourth--inner--examples--block--model {
                background: #f8fcf3;
                border: 1px solid rgba(124, 203, 18, 0.5); }
                .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block03 .point-sec--fourth--inner--examples--block--model--ttl .model-ttl {
                  color: #7ccb12; }
                .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block03 .point-sec--fourth--inner--examples--block--model--ul li .model-li {
                  color: #7ccb12; }
  .recruit-page article .sec04 {
    width: 100%; }
    .recruit-page article .sec04--ttl {
      width: 100%;
      padding: 80px 0;
      background: #33b3ed;
      position: relative;
      z-index: 2; }
      .recruit-page article .sec04--ttl--inner {
        width: 78%;
        margin: 0 auto;
        display: flex;
        align-items: center; }
        .recruit-page article .sec04--ttl--inner--number {
          color: #fff;
          font-size: 6.0rem;
          line-height: 1;
          font-weight: 500;
          letter-spacing: .05em;
          position: relative;
          z-index: 2; }
          .recruit-page article .sec04--ttl--inner--number::before {
            content: '';
            display: block;
            position: absolute;
            top: 50%;
            left: -55px;
            transform: translateY(-45%);
            width: 73px;
            height: 51px;
            background: url("../images/recruit/icon_recruit_triangle-white.png") no-repeat center/contain; }
        .recruit-page article .sec04--ttl--inner h2 {
          margin-left: 1em;
          color: #fff;
          font-size: 3.2rem;
          line-height: 1;
          font-weight: 500; }
      .recruit-page article .sec04--ttl--fig {
        position: absolute;
        top: 50%;
        left: 64%;
        transform: translateY(-50%);
        width: 44%;
        max-width: 645px; }
        .recruit-page article .sec04--ttl--fig img {
          width: 100%; }
    .recruit-page article .sec04--main {
      width: 100%;
      padding: 60px 0 124px;
      background: #e5f5fd; }
      .recruit-page article .sec04--main--inner {
        width: 80%;
        margin: 0 auto; }
        .recruit-page article .sec04--main--inner--block {
          width: 100%; }
          .recruit-page article .sec04--main--inner--block:not(:first-of-type) {
            margin-top: 54px; }
          .recruit-page article .sec04--main--inner--block--question {
            width: 100%;
            padding-bottom: 10px;
            display: flex;
            align-items: center;
            border-bottom: 1px solid rgba(51, 179, 237, 0.5); }
            .recruit-page article .sec04--main--inner--block--question .deco-q {
              color: #33b3ed;
              font-size: 6.0rem;
              line-height: 1;
              font-weight: 500;
              padding-bottom: 10px; }
            .recruit-page article .sec04--main--inner--block--question .question-txt {
              margin-left: 20px;
              color: #33b3ed;
              font-size: 2.4rem;
              line-height: 1.4;
              font-weight: bold; }
          .recruit-page article .sec04--main--inner--block--answer {
            margin-top: 20px;
            width: 100%;
            padding: 15px 70px 40px 20px;
            display: flex;
            background: #fff; }
            .recruit-page article .sec04--main--inner--block--answer .deco-a {
              width: 62px;
              color: #33b3ed;
              font-size: 4.7rem;
              line-height: 1;
              font-weight: 500; }
            .recruit-page article .sec04--main--inner--block--answer--txt {
              width: calc(100% - 62px); }
              .recruit-page article .sec04--main--inner--block--answer--txt .answer-main {
                color: #221e1f;
                font-size: 2.2rem;
                line-height: 1.5;
                font-weight: bold;
                padding-top: 10px; }
              .recruit-page article .sec04--main--inner--block--answer--txt .answer-sub {
                margin-top: 13px;
                color: #5b5b5b;
                font-size: 1.6rem;
                line-height: 1.75;
                letter-spacing: .05em; }
              .recruit-page article .sec04--main--inner--block--answer--txt .answer-example {
                margin-top: 30px;
                color: #33b3ed;
                font-size: 1.6rem;
                line-height: 1.75;
                letter-spacing: .05em;
                font-weight: bold; }
  .recruit-page article .banner-sec {
    width: 100%;
    height: 678px; }
    .recruit-page article .banner-sec--c {
      display: block;
      width: 100%;
      height: 100%;
      position: relative; }
      .recruit-page article .banner-sec--c .banner-circle {
        width: 524px;
        height: 524px;
        border-radius: 50%;
        padding-top: 40px;
        position: absolute;
        top: 50%;
        transform: translateY(-50%); }
        .recruit-page article .banner-sec--c .banner-circle--number {
          width: 78px;
          margin: 0 auto;
          font-size: 6.0rem;
          line-height: 1.2;
          letter-spacing: .05em;
          font-weight: 500;
          color: #fff;
          position: relative;
          z-index: 2; }
          .recruit-page article .banner-sec--c .banner-circle--number::before {
            content: '';
            display: block;
            position: absolute;
            top: 50%;
            left: -50px;
            transform: translateY(-45%);
            width: 73px;
            height: 51px;
            background: url("../images/recruit/icon_recruit_triangle-white.png") no-repeat center/contain; }
        .recruit-page article .banner-sec--c .banner-circle h2 {
          font-size: 2.0rem;
          text-align: center;
          font-weight: 500;
          color: #fff;
          margin-top: 10px; }
        .recruit-page article .banner-sec--c .banner-circle h3 {
          font-size: 2.8rem;
          line-height: 1.4;
          letter-spacing: .01em;
          text-align: center;
          font-weight: 500;
          color: #fff;
          margin-top: 15px; }
        .recruit-page article .banner-sec--c .banner-circle--sub {
          font-size: 1.5rem;
          line-height: 1.7;
          letter-spacing: .05em;
          text-align: center;
          font-weight: 500;
          color: #fff;
          margin-top: 10px; }
        .recruit-page article .banner-sec--c .banner-circle--btn {
          margin: 20px auto 0;
          width: 248px;
          height: 45px;
          border: 1px solid #fff;
          display: flex;
          justify-content: center;
          align-items: center;
          position: relative; }
          .recruit-page article .banner-sec--c .banner-circle--btn a {
            display: block;
            width: 100%;
            color: #fff;
            text-align: center;
            font-size: 1.6rem;
            line-height: 45px;
            font-weight: bold; }
          .recruit-page article .banner-sec--c .banner-circle--btn::before {
            content: '';
            display: block;
            position: absolute;
            top: 50%;
            right: 6%;
            transform: translateY(-45%) rotate(-90deg);
            width: 18px;
            height: 14px;
            background: url("../images/recruit/icon_recruit_triangle-red.png") no-repeat center/contain; }
        .recruit-page article .banner-sec--c .banner-circle--btn-tel {
          margin: 0 auto;
          width: 248px;
          height: 60px;
          border-right: 1px solid #fff;
          border-bottom: 1px solid #fff;
          border-left: 1px solid #fff;
          display: flex;
          justify-content: center;
          align-items: center;
          position: relative; }
          .recruit-page article .banner-sec--c .banner-circle--btn-tel span {
            display: block;
            width: 100%;
            color: #fff;
            text-align: center;
            line-height: 1.2; }
            .recruit-page article .banner-sec--c .banner-circle--btn-tel span em {
              font-size: 1.3rem;
              font-weight: bold; }
            .recruit-page article .banner-sec--c .banner-circle--btn-tel span .roboto {
              font-family: "Roboto", sans-serif;
              font-size: 1.7rem;
              font-weight: bold; }
          .recruit-page article .banner-sec--c .banner-circle--btn-tel::before {
            content: '';
            display: block;
            position: absolute;
            top: 50%;
            right: 6%;
            transform: translateY(-50%);
            width: 22px;
            height: 22px;
            background: url("../images/common/icon_tel.png") no-repeat center/contain; }
        .recruit-page article .banner-sec--c .banner-circle--att {
          font-size: 1.3rem;
          text-align: center;
          color: #fff;
          margin-top: 20px; }
    .recruit-page article .banner-sec.sec05 {
      margin-top: 116px; }
      .recruit-page article .banner-sec.sec05 .banner-sec--c {
        background: url("../images/recruit/img_recruit_section05-1.jpg") no-repeat center/cover; }
        .recruit-page article .banner-sec.sec05 .banner-sec--c .banner-circle {
          background: #00a0e9;
          left: 10%; }
    .recruit-page article .banner-sec.sec06 {
      margin-top: 70px; }
      .recruit-page article .banner-sec.sec06 .banner-sec--c {
        background: url("../images/recruit/img_recruit_section06-1.jpg") no-repeat center/cover; }
        .recruit-page article .banner-sec.sec06 .banner-sec--c .banner-circle {
          background: #33b3ed;
          left: 46%; }

@media screen and (max-width: 1024px) {
  .recruit-page article .main .anc.fixed {
    position: fixed;
    bottom: auto; } }
@media screen and (max-width: 768px) {
  .recruit-page article .event-btn {
    bottom: 1vh; }
  .recruit-page article .main {
    padding-top: 8vw; }
    .recruit-page article .main--bg {
      padding-bottom: 30vw;
      background: url("../images/recruit/bg_recruit_main-visual_sp.png") repeat-y center top/cover; }
      .recruit-page article .main--bg--inner {
        width: 96%;
        max-width: auto; }
        .recruit-page article .main--bg--inner--block--txtbox .catchcopy {
          font-size: 7.4vw; }
        .recruit-page article .main--bg--inner--block--txtbox .subcopy {
          margin-top: 5vw; }
          .recruit-page article .main--bg--inner--block--txtbox .subcopy h1 span {
            font-size: 4.4vw; }
            .recruit-page article .main--bg--inner--block--txtbox .subcopy h1 span:not(:first-of-type) {
              margin-top: 2vw; }
        .recruit-page article .main--bg--inner--block--txtbox--maintxt {
          margin-top: 5vw;
          font-size: 3.2vw; }
        .recruit-page article .main--bg--inner--block--txtbox--btn {
          max-width: 80%;
          margin-top: 5vw; }
        .recruit-page article .main--bg--inner--block--txtbox h2 {
          font-size: 4.4vw; }
        .recruit-page article .main--bg--inner--block--txtbox h3 {
          font-size: 4.4vw; }
        .recruit-page article .main--bg--inner--block.block01 {
          padding-top: 20vw; }
          .recruit-page article .main--bg--inner--block.block01 .main--bg--inner--block--txtbox {
            margin-left: 6%; }
          .recruit-page article .main--bg--inner--block.block01 .fig01 {
            top: 0;
            left: auto;
            right: 0%;
            width: 40%; }
          .recruit-page article .main--bg--inner--block.block01 .fig01.right {
            top: 0;
            left: auto;
            right: 0%;
            width: 35%; }
        .recruit-page article .main--bg--inner--block.block02 {
          margin-top: 30vw; }
          .recruit-page article .main--bg--inner--block.block02 .main--bg--inner--block--txtbox {
            margin-left: 10%; }
          .recruit-page article .main--bg--inner--block.block02 .fig02 {
            top: -27vw;
            left: -10%;
            width: 30%; }
          .recruit-page article .main--bg--inner--block.block02 .fig03 {
            top: -36vw;
            left: 66%;
            width: 40%; }
        .recruit-page article .main--bg--inner--block.block03 {
          margin-top: 30vw; }
          .recruit-page article .main--bg--inner--block.block03 .main--bg--inner--block--txtbox--maintxt {
            margin-top: 2vw; }
          .recruit-page article .main--bg--inner--block.block03 .main--bg--inner--block--txtbox--point {
            margin-top: 4vw;
            margin-left: 4vw;
            font-size: 3.2vw;
            line-height: 1.4; }
            .recruit-page article .main--bg--inner--block.block03 .main--bg--inner--block--txtbox--point::before {
              top: -2vw;
              left: -6vw;
              width: 13.6vw;
              height: 16.5vw;
              background: url("../images/recruit/icon_recruit_fukidashi_sp.png") no-repeat center/contain; }
          .recruit-page article .main--bg--inner--block.block03 .fig04 {
            top: -24vw;
            width: 34%; }
          .recruit-page article .main--bg--inner--block.block03 .main--bg--inner--block--wrap .comment {
            font-size: 1.3vw; }
          .recruit-page article .main--bg--inner--block.block03 .main--bg--inner--block--wrap--category {
            font-size: 1.9vw; }
            .recruit-page article .main--bg--inner--block.block03 .main--bg--inner--block--wrap--category--col p {
              font-size: 1.6vw; }
        .recruit-page article .main--bg--inner--block.block04 {
          margin-top: 35vw; }
          .recruit-page article .main--bg--inner--block.block04 .main--bg--inner--block--txtbox {
            margin-left: 6%; }
            .recruit-page article .main--bg--inner--block.block04 .main--bg--inner--block--txtbox--maintxt {
              margin-top: 4vw; }
          .recruit-page article .main--bg--inner--block.block04 .fig05 {
            top: -34vw;
            left: 72%;
            width: 36%; }
          .recruit-page article .main--bg--inner--block.block04 .fig06 {
            top: -31vw;
            left: 10%;
            width: 24%; }
          .recruit-page article .main--bg--inner--block.block04 .banner {
            width: 75%;
            margin: 4.5vw auto 0; }
            .recruit-page article .main--bg--inner--block.block04 .banner a .label {
              width: 22vw;
              height: 22vw; }
              .recruit-page article .main--bg--inner--block.block04 .banner a .label p {
                font-size: 3.2vw; }
            .recruit-page article .main--bg--inner--block.block04 .banner a dl {
              font-size: 2.3vw; }
              .recruit-page article .main--bg--inner--block.block04 .banner a dl dd {
                font-size: 2.6vw; }
      .recruit-page article .main--bg .movie_area {
        width: 90%;
        margin: 50px auto 0px;
        flex-wrap: wrap; }
        .recruit-page article .main--bg .movie_area .moviecont {
          width: 100%;
          position: relative;
          margin: 0 auto; }
          .recruit-page article .main--bg .movie_area .moviecont video {
            width: 100%;
            height: auto;
            display: block; }
          .recruit-page article .main--bg .movie_area .moviecont .poster-overlay {
            position: absolute;
            inset: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            background: rgba(0, 0, 0, 0.4); }
          .recruit-page article .main--bg .movie_area .moviecont .poster-overlay img {
            width: 100%;
            height: auto; }
        .recruit-page article .main--bg .movie_area .moviecontinner {
          width: 100%;
          margin: 20px auto 0;
          margin-left: 0px;
          color: #fff;
          font-size: 15px;
          font-weight: bold; }
          .recruit-page article .main--bg .movie_area .moviecontinner dt {
            text-align: center;
            font-size: 24px;
            font-weight: bold;
            padding-bottom: 20px; }
          .recruit-page article .main--bg .movie_area .moviecontinner dd {
            text-align: center; }
    .recruit-page article .main .anc {
      width: 100%;
      bottom: -12vw; }
      .recruit-page article .main .anc.fixed {
        position: fixed;
        bottom: auto;
        top: 0; }
      .recruit-page article .main .anc ul {
        flex-wrap: wrap;
        background: #fff;
        border: 1px solid #fff; }
        .recruit-page article .main .anc ul li {
          width: 33.3%;
          height: 12vw;
          border-radius: 0; }
          .recruit-page article .main .anc ul li a {
            border: 1px solid #fff;
            border-radius: 0;
            box-sizing: border-box; }
            .recruit-page article .main .anc ul li a .anc-inner {
              height: 100%;
              display: flex;
              align-items: center; }
              .recruit-page article .main .anc ul li a .anc-inner--number {
                width: 6vw;
                margin-top: 0;
                margin-left: 1vw;
                text-align: left;
                font-size: 4.8vw; }
              .recruit-page article .main .anc ul li a .anc-inner--menu {
                width: calc(100% - 8vw);
                text-align: left;
                font-size: 3.0vw;
                margin-left: 1vw; }
            .recruit-page article .main .anc ul li a::after {
              display: none; }
  .recruit-page article .point-sec {
    margin-top: 34vw; }
    .recruit-page article .point-sec--first {
      width: 100%;
      padding: 12vw 0 6vw; }
      .recruit-page article .point-sec--first--inner--txtbox--ttl--number {
        font-size: 6.0vw; }
      .recruit-page article .point-sec--first--inner--txtbox--ttl h2 {
        font-size: 3.2vw; }
      .recruit-page article .point-sec--first--inner--txtbox--ttl::before {
        left: -5vw;
        width: 7.3vw;
        height: 5.1vw; }
      .recruit-page article .point-sec--first--inner--txtbox h3 {
        margin-top: 5vw;
        font-size: 4.4vw; }
      .recruit-page article .point-sec--first--inner--txtbox--txt {
        margin-top: 8vw;
        font-size: 3.2vw; }
      .recruit-page article .point-sec--first--fig {
        top: -32vw;
        transform: translateY(0);
        max-width: auto; }
      .recruit-page article .point-sec--first::after {
        bottom: -9vw;
        left: 50%;
        transform: translateX(-50%);
        border-top: 5vw solid #33b3ed;
        border-right: 5vw solid transparent;
        border-bottom: 5vw solid transparent;
        border-left: 5vw solid transparent; }
    .recruit-page article .point-sec--second {
      padding: 10vw 0; }
      .recruit-page article .point-sec--second--inner {
        width: 96%; }
        .recruit-page article .point-sec--second--inner--box h4 {
          font-size: 3.8vw; }
          .recruit-page article .point-sec--second--inner--box h4 span {
            font-size: 3.2vw; }
    .recruit-page article .point-sec.sec01 {
      padding-top: 50vw; }
      .recruit-page article .point-sec.sec01 .point-sec--first {
        margin-left: 0;
        border-radius: 0; }
        .recruit-page article .point-sec.sec01 .point-sec--first--inner {
          width: 88%;
          margin-left: 10%;
          padding-right: 2%; }
        .recruit-page article .point-sec.sec01 .point-sec--first--fig {
          width: 50%;
          left: 50%; }
      .recruit-page article .point-sec.sec01 .point-sec--second--inner--box {
        width: 80%;
        margin: 0 auto; }
        .recruit-page article .point-sec.sec01 .point-sec--second--inner--box ul {
          margin-top: 4vw;
          padding-left: 3.8vw; }
          .recruit-page article .point-sec.sec01 .point-sec--second--inner--box ul li {
            font-size: 3.2vw; }
            .recruit-page article .point-sec.sec01 .point-sec--second--inner--box ul li::before {
              left: -3.8vw;
              width: 3.2vw;
              height: 3.2vw; }
    .recruit-page article .point-sec.sec02 .point-sec--first {
      border-radius: 0; }
      .recruit-page article .point-sec.sec02 .point-sec--first--inner {
        width: 90%;
        padding-left: 10%; }
      .recruit-page article .point-sec.sec02 .point-sec--first--fig {
        right: auto;
        left: 58%; }
      .recruit-page article .point-sec.sec02 .point-sec--first::after {
        left: 50%; }
    .recruit-page article .point-sec.sec02 .point-sec--second--inner--box {
      width: 80%;
      margin: 0 auto; }
      .recruit-page article .point-sec.sec02 .point-sec--second--inner--box.wid {
        width: 90%; }
      .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example {
        margin-top: 4vw;
        display: block; }
        .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block {
          width: 100%; }
          .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block--year {
            width: 13.0vw;
            height: 13.0vw;
            font-size: 3.8vw;
            padding-top: 4.5vw; }
          .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block--dl {
            margin-left: 2vw; }
            .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block--dl::after {
              top: 1vw;
              left: 10.0vw;
              height: calc(100% - 2vw); }
            .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block--dl dl dt {
              width: 7.0vw;
              font-size: 3.2vw; }
            .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block--dl dl dd {
              margin-left: 6.0vw;
              font-size: 3.2vw; }
              .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block--dl dl dd .red {
                font-size: 1.1rem; }
            .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block--dl.pos_01 {
              order: 1; }
            .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block--dl.pos_03 {
              order: 2;
              margin-left: 13vw; }
            .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block--dl.pos_02 {
              order: 3;
              margin-left: 15vw; }
            .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block--dl.pos_02n {
              order: 2; }
          .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block:not(:first-of-type) {
            margin-left: 0;
            margin-top: 4vw; }
          .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block.wid_1 {
            width: 100%; }
          .recruit-page article .point-sec.sec02 .point-sec--second--inner--box .sec02-example--block.wid_2 {
            width: 100%;
            flex-wrap: wrap; }
    .recruit-page article .point-sec.sec03 .point-sec--first {
      margin-left: 0;
      border-radius: 0; }
      .recruit-page article .point-sec.sec03 .point-sec--first--inner {
        width: 88%;
        margin-left: 10%;
        padding-right: 2%; }
      .recruit-page article .point-sec.sec03 .point-sec--first--fig {
        left: 58%; }
    .recruit-page article .point-sec.sec03 .point-sec--third--block {
      padding-top: 10vw; }
      .recruit-page article .point-sec.sec03 .point-sec--third--block--inner {
        width: 90%; }
        .recruit-page article .point-sec.sec03 .point-sec--third--block--inner .blue-band {
          padding: 1vw 0;
          margin-bottom: 4vw; }
          .recruit-page article .point-sec.sec03 .point-sec--third--block--inner .blue-band p {
            font-size: 3.8vw; }
        .recruit-page article .point-sec.sec03 .point-sec--third--block--inner .white-band {
          width: 90%;
          min-width: inherit;
          font-size: 3.2vw; }
        .recruit-page article .point-sec.sec03 .point-sec--third--block--inner--intro {
          margin: 4vw auto 0;
          font-size: 3.2vw; }
        .recruit-page article .point-sec.sec03 .point-sec--third--block--inner--calendar {
          margin-top: 4vw; }
        .recruit-page article .point-sec.sec03 .point-sec--third--block--inner--txt {
          margin-top: 4vw;
          font-size: 3.2vw; }
      .recruit-page article .point-sec.sec03 .point-sec--third--block.block01 {
        padding-bottom: 10vw; }
      .recruit-page article .point-sec.sec03 .point-sec--third--block.block02 {
        padding-bottom: 12vw; }
    .recruit-page article .point-sec.sec03 .point-sec--fourth {
      padding: 10vw 0 12vw; }
      .recruit-page article .point-sec.sec03 .point-sec--fourth--inner .band-box {
        padding-bottom: 4vw; }
        .recruit-page article .point-sec.sec03 .point-sec--fourth--inner .band-box::after {
          height: calc(100% - 8.6vw);
          top: 8.6vw; }
        .recruit-page article .point-sec.sec03 .point-sec--fourth--inner .band-box .blue-band {
          width: 90%;
          margin: 0 auto;
          padding: 1vw 0; }
          .recruit-page article .point-sec.sec03 .point-sec--fourth--inner .band-box .blue-band p {
            font-size: 3.8vw; }
      .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block {
        padding: 14vw 0 10vw; }
        .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--ttl {
          width: 90%; }
          .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--ttl .number {
            font-size: 8.0vw;
            padding-left: 0; }
          .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--ttl .ttl-main {
            margin-top: 1vw;
            padding-bottom: 2vw;
            font-size: 4vw;
            padding-left: 0; }
            .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--ttl .ttl-main span {
              font-size: 3.2vw; }
            .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--ttl .ttl-main .sup {
              font-size: 2vw; }
            .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--ttl .ttl-main::before {
              left: auto;
              right: 0;
              bottom: auto;
              top: -24vw;
              width: 22vw;
              height: 22vw; }
          .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--ttl .ttl-txt {
            margin-top: 4vw;
            font-size: 3.2vw;
            padding-left: 0; }
        .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--schedule {
          width: 90%;
          margin: 8vw auto 0; }
          .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--schedule--others {
            margin-top: 1vw;
            font-size: 2.8vw; }
          .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--schedule--add {
            top: 105%;
            right: auto;
            left: 50%;
            transform: translateX(-50%);
            width: 33.2vw;
            height: 33.2vw; }
            .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--schedule--add p {
              font-size: 3.2vw; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--schedule--add p span {
                font-size: 4vw; }
        .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--note {
          width: 90%;
          margin: 6vw auto 0; }
          .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--note ul li:not(:first-of-type) {
            margin-top: 3vw; }
          .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--note ul li .note-number {
            width: 14vw;
            height: 14vw; }
            .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--note ul li .note-number p {
              font-size: 4vw; }
          .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--note ul li .note-txt {
            margin-left: 3vw;
            width: calc(100% - 10vw);
            font-size: 3.6vw; }
        .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--model {
          width: 90%;
          margin: 6vw auto 0;
          padding: 2vw 4vw 4vw; }
          .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--model--ttl {
            display: block; }
            .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--model--ttl .model-ttl {
              font-size: 4vw; }
            .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--model--ttl .model-att {
              margin-left: 0;
              font-size: 3.2vw; }
          .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--model--ul {
            display: block;
            margin-top: 2vw; }
            .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--model--ul li:not(:first-of-type) {
              margin-left: 0; }
            .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--model--ul li .model-li {
              font-size: 3.2vw; }
              .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--model--ul li .model-li span {
                font-size: 7vw; }
            .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--model--ul li .time {
              font-size: 2.8vw;
              text-align: left;
              padding-right: 0;
              margin-top: -5vw;
              padding-left: 38vw; }
        .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block01 .point-sec--fourth--inner--examples--block--note {
          margin-top: 40vw; }
        .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block02 .point-sec--fourth--inner--examples--block--ttl .number {
          padding-right: 0; }
        .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block02 .point-sec--fourth--inner--examples--block--ttl .ttl-main {
          padding-right: 0; }
        .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block.block02 .point-sec--fourth--inner--examples--block--ttl .ttl-txt {
          padding-right: 0; }
  .recruit-page article .sec04--ttl {
    padding: 8vw 0; }
    .recruit-page article .sec04--ttl--inner {
      width: 80%; }
      .recruit-page article .sec04--ttl--inner--number {
        font-size: 6.0vw; }
        .recruit-page article .sec04--ttl--inner--number::before {
          left: -5vw;
          width: 7.3vw;
          height: 5.1vw; }
      .recruit-page article .sec04--ttl--inner h2 {
        margin-left: .5em;
        font-size: 3.2vw; }
  .recruit-page article .sec04--main {
    padding: 15vw 0; }
    .recruit-page article .sec04--main--inner {
      width: 90%; }
      .recruit-page article .sec04--main--inner--block:not(:first-of-type) {
        margin-top: 8vw; }
      .recruit-page article .sec04--main--inner--block--question {
        padding-bottom: 4vw; }
        .recruit-page article .sec04--main--inner--block--question .deco-q {
          font-size: 12vw;
          padding-bottom: 1vw; }
        .recruit-page article .sec04--main--inner--block--question .question-txt {
          margin-left: 2vw;
          font-size: 4vw; }
      .recruit-page article .sec04--main--inner--block--answer {
        margin-top: 4vw;
        padding: 4vw 8vw 8vw 4vw; }
        .recruit-page article .sec04--main--inner--block--answer .deco-a {
          width: 10vw;
          font-size: 8vw; }
        .recruit-page article .sec04--main--inner--block--answer--txt {
          width: calc(100% - 10vw); }
          .recruit-page article .sec04--main--inner--block--answer--txt .answer-main {
            font-size: 3.8vw;
            padding-top: 0; }
          .recruit-page article .sec04--main--inner--block--answer--txt .answer-sub {
            margin-top: 4vw;
            font-size: 3.2vw; }
          .recruit-page article .sec04--main--inner--block--answer--txt .answer-example {
            margin-top: 6vw;
            font-size: 3.2vw; }
  .recruit-page article .banner-sec {
    height: 150vw; }
    .recruit-page article .banner-sec--c .banner-circle {
      width: 90vw;
      height: 90vw;
      padding-top: 3vw;
      top: 35%;
      transform: translateY(0); }
      .recruit-page article .banner-sec--c .banner-circle--number {
        width: 7vw;
        font-size: 6.0vw; }
        .recruit-page article .banner-sec--c .banner-circle--number::before {
          left: -5vw;
          width: 7.3vw;
          height: 5.1vw; }
      .recruit-page article .banner-sec--c .banner-circle h2 {
        font-size: 3.6vw;
        margin-top: 1vw;
        line-height: 1.5; }
      .recruit-page article .banner-sec--c .banner-circle h3 {
        font-size: 4vw;
        margin-top: 2vw;
        line-height: 1.5; }
      .recruit-page article .banner-sec--c .banner-circle--sub {
        font-size: 3.2vw;
        margin-top: 2vw;
        line-height: 1.5; }
      .recruit-page article .banner-sec--c .banner-circle--btn {
        margin: 4vw auto 0;
        width: 50vw;
        height: 8vw; }
        .recruit-page article .banner-sec--c .banner-circle--btn a {
          font-size: 3.2vw;
          line-height: 8vw; }
        .recruit-page article .banner-sec--c .banner-circle--btn::before {
          width: 1.8vw;
          height: 1.4vw; }
      .recruit-page article .banner-sec--c .banner-circle--btn-tel {
        width: 50vw;
        height: 10vw; }
        .recruit-page article .banner-sec--c .banner-circle--btn-tel span em {
          font-size: 3.2vw; }
        .recruit-page article .banner-sec--c .banner-circle--btn-tel span .roboto {
          font-size: 3.4vw; }
        .recruit-page article .banner-sec--c .banner-circle--btn-tel::before {
          right: 2%;
          width: 4.4vw;
          height: 4.4vw; }
      .recruit-page article .banner-sec--c .banner-circle--att {
        font-size: 2.4vw;
        margin-top: 1vw; }
    .recruit-page article .banner-sec.sec05 {
      margin-top: 15vw; }
      .recruit-page article .banner-sec.sec05 .banner-sec--c {
        background: url("../images/recruit/img_recruit_section05-1.jpg") no-repeat 75% center/cover; }
        .recruit-page article .banner-sec.sec05 .banner-sec--c .banner-circle {
          left: 5%;
          padding-top: 15vw; }
    .recruit-page article .banner-sec.sec06 {
      margin-top: 12vw; }
      .recruit-page article .banner-sec.sec06 .banner-sec--c {
        background: url("../images/recruit/img_recruit_section06-1.jpg") no-repeat 12% center/cover; }
        .recruit-page article .banner-sec.sec06 .banner-sec--c .banner-circle {
          left: 5%; } }
@media screen and (max-width: 767px) {
  .recruit-page .header--inner--nav .sns-app {
    display: none; }
  .recruit-page .header--inner--nav .contact {
    display: none; }
  .recruit-page article .main--bg--inner--block.block03 .main--bg--inner--block--wrap {
    width: 80%; }
    .recruit-page article .main--bg--inner--block.block03 .main--bg--inner--block--wrap .comment {
      font-size: 3.2vw; }
    .recruit-page article .main--bg--inner--block.block03 .main--bg--inner--block--wrap--category {
      font-size: 5vw;
      padding: 1em; }
      .recruit-page article .main--bg--inner--block.block03 .main--bg--inner--block--wrap--category--col {
        width: 100%; }
        .recruit-page article .main--bg--inner--block.block03 .main--bg--inner--block--wrap--category--col:nth-of-type(n+2) {
          margin-top: 5vw;
          padding-top: 5vw;
          border-top: 1px solid #005bab; }
        .recruit-page article .main--bg--inner--block.block03 .main--bg--inner--block--wrap--category--col p {
          font-size: 3.4vw; }
  .recruit-page article .main--bg--inner--block.block04 .banner {
    width: 95%;
    margin: 10vw auto 0; }
    .recruit-page article .main--bg--inner--block.block04 .banner a .label {
      width: 28vw;
      height: 28vw; }
      .recruit-page article .main--bg--inner--block.block04 .banner a .label p {
        font-size: 4vw; }
    .recruit-page article .main--bg--inner--block.block04 .banner a dl {
      font-size: 2.9vw;
      padding: 0.5em 1em 0.5em 6em; }
      .recruit-page article .main--bg--inner--block.block04 .banner a dl dd {
        font-size: 3.2vw; }
  .recruit-page article .main .anc.fixed {
    position: fixed;
    bottom: auto; }
  .recruit-page article .point-sec.sec03 .point-sec--third--block--inner--calendar--att {
    color: #221e1f;
    font-size: 2.8vw;
    padding-bottom: 2vw; }
  .recruit-page article .point-sec.sec03 .point-sec--third--block--inner--calendar--img {
    overflow-x: scroll; }
    .recruit-page article .point-sec.sec03 .point-sec--third--block--inner--calendar--img figure {
      width: 513px; }
  .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--schedule--att {
    color: #221e1f;
    font-size: 2.8vw;
    padding-bottom: 2vw; }
  .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--schedule--img {
    overflow-x: scroll; }
    .recruit-page article .point-sec.sec03 .point-sec--fourth--inner--examples--block--schedule--img figure {
      width: 1024px; } }
.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;
  background-color: #f2f7fb;
  padding: 90px 0 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; }
      .contact article .message--inner--lead dl dt {
        font-size: 2rem;
        line-height: 1.6; }
      .contact article .message--inner--lead dl dd {
        font-size: 1.6rem;
        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--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 {
              display: none;
              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: 0px 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 .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;
          resize: none; }
        .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; } }
