@charset "UTF-8";
@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");
@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&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=Roboto+Condensed:ital,wght@0,100..900;1,100..900&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=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
.en {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  line-height: 1; }

.parallax {
  clip-path: inset(0 0 0 0);
  position: relative;
  z-index: 1;
  padding: 20em 0;
  margin-top: 0; }
  .parallax .parallax-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
    z-index: -1; }
    .parallax .parallax-bg img {
      display: none; }

.btn {
  overflow: hidden;
  width: 46%;
  font-size: clamp(13px, 1.3114754098vw, 16px);
  line-height: 1;
  text-align: center;
  border-radius: 2.5rem;
  margin: 5em auto 0; }
  .btn a {
    background-color: #e60012;
    color: #fff;
    padding: 1.5em;
    position: relative; }
    .btn a:after {
      content: '';
      display: block;
      position: absolute;
      width: .5em;
      height: .5em;
      border: solid #fff;
      border-width: 1px 0 0 1px;
      top: 40%;
      right: 1.5em;
      transform: rotate(135deg) translateY(-50%); }
    .btn a:hover {
      opacity: 1;
      transform: scale(1.04); }

.circleButton .circleButton-inner {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  font-size: clamp(10px, 1.0655737705vw, 13px); }
  .circleButton .circleButton-inner .circle {
    width: 4.5em;
    height: 4.5em;
    border: 1px solid black;
    border-radius: 50%;
    display: block;
    position: relative; }
    .circleButton .circleButton-inner .circle .arc {
      width: 4.5em;
      height: 4.5em;
      position: absolute;
      top: -1px;
      left: -1px;
      transform: scaleX(-1) rotate(-90deg);
      transform-origin: center;
      z-index: 1; }
      .circleButton .circleButton-inner .circle .arc circle {
        stroke-dasharray: 14.5em;
        stroke-dashoffset: 14.5em;
        transition: stroke-dashoffset 0.75s cubic-bezier(0.19, 1, 0.22, 1); }
    .circleButton .circleButton-inner .circle .arrow {
      width: 1.8em;
      height: .6em;
      position: absolute;
      top: calc(50% - .4em);
      left: calc(50% - .8em);
      z-index: 2; }
.circleButton.bl .circleButton-inner .label {
  color: #004896; }
.circleButton.bl .circleButton-inner .circle {
  border: 1px solid #004896; }
  .circleButton.bl .circleButton-inner .circle .arc circle {
    stroke: #004896; }
  .circleButton.bl .circleButton-inner .circle .arrow {
    background: url("/img/saiyou/common/btn_arrow-bl.svg") no-repeat center center/contain; }
.circleButton.wh .circleButton-inner .label {
  color: #fff; }
.circleButton.wh .circleButton-inner .circle {
  border-color: white; }
  .circleButton.wh .circleButton-inner .circle .arc circle {
    stroke: #fff; }
  .circleButton.wh .circleButton-inner .circle .arrow {
    background: url("/img/saiyou/common/btn_arrow-wh.svg") no-repeat center center/contain; }

a:hover {
  opacity: 1; }
  a:hover .circleButton .circleButton-inner {
    text-decoration: none; }
    a:hover .circleButton .circleButton-inner .circle .arc {
      transform: rotate(-90deg); }
      a:hover .circleButton .circleButton-inner .circle .arc circle {
        stroke-dashoffset: 0px; }
    a:hover .circleButton .circleButton-inner .circle .arrow {
      -webkit-animation: linkArrowHoverAnim 1s cubic-bezier(0.19, 1, 0.22, 1) 0s infinite;
      animation: linkArrowHoverAnim 1s cubic-bezier(0.19, 1, 0.22, 1) 0s infinite; }

.inner {
  width: 90.1639344262vw;
  max-width: 1100px;
  margin: 0 auto; }

main {
  overflow: hidden;
  background: url("/img/saiyou/common/img_bg-check.webp") repeat; }
  main .header {
    width: 100vw;
    height: 80px;
    background-color: #fff;
    overflow: visible;
    position: fixed;
    top: 0;
    left: 0;
    transform: translate(0, 0);
    transition: all .4s;
    z-index: 999;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: flex;
    justify-content: center;
    align-items: center; }
    main .header .inner {
      box-shadow: none !important;
      position: fixed;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 100% !important;
      max-width: 100%;
      padding: 1em 2.5%;
      z-index: 10;
      transition: all ease;
      display: flex;
      justify-content: space-between;
      align-items: center;
      position: relative;
      transition: all .3s ease; }
      main .header .inner .logo {
        position: relative;
        z-index: 1000;
        transition: all .6s; }
        main .header .inner .logo a {
          display: flex;
          align-items: center; }
          main .header .inner .logo a picture {
            width: 15.1639344262vw;
            max-width: 185px;
            margin-right: 1.5em; }
          main .header .inner .logo a h1 {
            text-transform: uppercase;
            color: #004896; }
      main .header .inner .entry-nav {
        margin: 0 1em 0 auto;
        position: relative;
        z-index: 1000; }
        main .header .inner .entry-nav ul {
          display: flex; }
          main .header .inner .entry-nav ul li {
            position: relative;
            width: 16.393442623vw;
            max-width: 200px; }
            main .header .inner .entry-nav ul li a {
              display: flex;
              justify-content: center;
              align-items: flex-start;
              font-weight: bold;
              line-height: 1;
              text-align: center;
              color: #fff;
              border-radius: 4.0rem;
              padding: 1em;
              position: relative; }
              main .header .inner .entry-nav ul li a span {
                font-size: clamp(12px, 1.2295081967vw, 15px);
                padding-left: .1em; }
              main .header .inner .entry-nav ul li a:after {
                overflow: hidden;
                content: '';
                position: absolute;
                width: .7em;
                height: .7em;
                max-width: 17px;
                max-height: 17px;
                border-radius: 50%;
                background-color: #fff;
                border: 0.4em solid #e60012;
                top: 50%;
                right: 1.3em;
                transform: translateY(-50%);
                transition: all .3s ease; }
              main .header .inner .entry-nav ul li a:hover {
                opacity: 1;
                text-decoration: none; }
                main .header .inner .entry-nav ul li a:hover:after {
                  background-color: #e60012; }
            main .header .inner .entry-nav ul li.graduate {
              z-index: 2; }
              main .header .inner .entry-nav ul li.graduate a {
                background-image: linear-gradient(90deg, #0a64ff 0%, #004896 45%); }
            main .header .inner .entry-nav ul li.career {
              margin-left: -2.5em;
              z-index: 1; }
              main .header .inner .entry-nav ul li.career a {
                background-image: linear-gradient(90deg, #00a0e9, #025cad); }
      main .header .inner .menu-nav .menu {
        display: block;
        width: 4.2em;
        height: 4.2em;
        background-color: #004896;
        border: 1px solid #fff;
        border-radius: 50%;
        position: relative;
        z-index: 1000;
        transition: all .4s;
        cursor: pointer; }
        main .header .inner .menu-nav .menu span {
          position: absolute;
          width: 2em;
          height: 2px;
          left: 50%;
          transform: translateX(-50%);
          transition: all .4s;
          background-color: #fff;
          box-sizing: border-box;
          cursor: pointer; }
          main .header .inner .menu-nav .menu span:nth-of-type(1) {
            top: 33%; }
          main .header .inner .menu-nav .menu span:nth-of-type(2) {
            top: 50%;
            transform: translate(-50%, -50%); }
          main .header .inner .menu-nav .menu span:nth-of-type(3) {
            bottom: 33%; }
        main .header .inner .menu-nav .menu.active span:nth-of-type(1) {
          top: 50%;
          -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translateY(-50%, -50%) rotate(-45deg); }
        main .header .inner .menu-nav .menu.active span:nth-of-type(2) {
          display: none; }
        main .header .inner .menu-nav .menu.active span:nth-of-type(3) {
          top: 50%;
          -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg); }
        main .header .inner .menu-nav .menu:hover {
          border-color: #004896; }
      main .header .inner .menu-nav .globalnav {
        display: none;
        width: 100%;
        height: calc(100vh - 80px);
        background-color: #004896;
        position: absolute;
        top: 80px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 999;
        padding: 1.5em 0 15em; }
        main .header .inner .menu-nav .globalnav .copyright {
          font-size: clamp(8px, 0.8196721311vw, 10px);
          font-family: "Roboto", sans-serif;
          font-weight: 200;
          writing-mode: vertical-rl;
          color: #fff;
          position: absolute;
          top: 25%;
          right: 2.5em; }
        main .header .inner .menu-nav .globalnav .decoration {
          position: absolute;
          transform: translate(-50%, -50%); }
          main .header .inner .menu-nav .globalnav .decoration.d01 {
            width: 18.8524590164vw;
            max-width: 230px;
            bottom: -8%;
            left: 27.1%; }
          main .header .inner .menu-nav .globalnav .decoration.d02 {
            width: 37.7049180328vw;
            max-width: 460px;
            bottom: -30%;
            right: -20%; }
          main .header .inner .menu-nav .globalnav .decoration.d03 {
            width: 29.7540983607vw;
            height: 0.1639344262vw;
            max-width: 363px;
            max-height: 2px;
            background: rgba(255, 255, 255, 0.5);
            bottom: 7.5%;
            left: -2.75%; }
          main .header .inner .menu-nav .globalnav .decoration.d04 {
            width: 22.7868852459vw;
            height: 1.3114754098vw;
            max-width: 278px;
            max-height: 16px;
            background: rgba(255, 255, 255, 0.3);
            bottom: 5%;
            left: 50%; }
          main .header .inner .menu-nav .globalnav .decoration.d05 {
            width: 31.1475409836vw;
            height: 0.6557377049vw;
            max-width: 380px;
            max-height: 8px;
            background: rgba(255, 255, 255, 0.5);
            bottom: 9%;
            left: 55%; }
        main .header .inner .menu-nav .globalnav--inner {
          width: 100%;
          height: 100%;
          overflow: auto;
          -webkit-overflow-scrolling: touch;
          margin-top: 2em; }
          main .header .inner .menu-nav .globalnav--inner a {
            line-height: 1;
            color: #fff; }
          main .header .inner .menu-nav .globalnav--inner--wrap {
            width: 90vw;
            max-width: 1100px;
            margin: 0 auto; }
            main .header .inner .menu-nav .globalnav--inner--wrap--block {
              display: flex;
              flex-wrap: wrap; }
              main .header .inner .menu-nav .globalnav--inner--wrap--block--category {
                width: 33.333%;
                font-size: clamp(12px, 1.2295081967vw, 15px);
                text-align: center;
                line-height: 1.2;
                margin-top: 5em; }
                main .header .inner .menu-nav .globalnav--inner--wrap--block--category .title {
                  text-transform: uppercase; }
                  main .header .inner .menu-nav .globalnav--inner--wrap--block--category .title a {
                    pointer-events: none;
                    transition: all .3s ease; }
                    main .header .inner .menu-nav .globalnav--inner--wrap--block--category .title a h2 {
                      font-size: clamp(28px, 2.868852459vw, 35px);
                      font-style: italic;
                      font-weight: 500; }
                main .header .inner .menu-nav .globalnav--inner--wrap--block--category .texts li {
                  margin-top: 1.2em; }
                  main .header .inner .menu-nav .globalnav--inner--wrap--block--category .texts li a:hover {
                    text-decoration: underline; }
                  main .header .inner .menu-nav .globalnav--inner--wrap--block--category .texts li:nth-of-type(n+2) {
                    margin-top: .8em; }
    main .header.scrolled {
      background-color: #fff; }
    main .header.has-bg {
      background-color: #fff; }
  main article {
    margin-top: 80px; }
  main .footer {
    margin-top: 10em; }
    main .footer--figure {
      padding: 4.6em 0; }
      main .footer--figure .parallax-bg {
        position: fixed;
        top: 64.2%;
        left: 0;
        transform: translateY(-50%);
        width: 100vw;
        height: 30.737704918vw;
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
        background-image: url("/img/saiyou/common/footer_bg.webp");
        z-index: -1; }
        main .footer--figure .parallax-bg img {
          display: none; }
      main .footer--figure .texts {
        width: 45.4918032787vw;
        max-width: 555px;
        margin: 0 auto; }
    main .footer .inner {
      width: 100%;
      max-width: 100%;
      padding: 2.5em 5%;
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      flex-wrap: wrap;
      background-color: #fff;
      border-top: 1px solid #004896;
      margin-top: 0; }
      main .footer .inner--wrap {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap; }
        main .footer .inner--wrap .logo {
          width: 15.1639344262vw;
          max-width: 185px; }
        main .footer .inner--wrap .links {
          display: flex;
          font-size: clamp(10px, 0.9836065574vw, 12px);
          line-height: 1;
          margin-left: 1.5em; }
          main .footer .inner--wrap .links li {
            padding: 0 1em; }
            main .footer .inner--wrap .links li a {
              color: #004896; }
            main .footer .inner--wrap .links li:nth-of-type(n+2) {
              border-left: 1px solid #004896; }
      main .footer .inner .copyright {
        font-size: clamp(7px, 0.737704918vw, 9px);
        text-align: right;
        color: #004896; }

.pages article .main {
  padding-top: 3.5em; }
  .pages article .main--block {
    overflow: hidden;
    position: relative;
    width: 100vw;
    height: 46.2295081967vw;
    max-height: 564px; }
    .pages article .main--block .inner {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
      .pages article .main--block .inner--title {
        text-align: center;
        color: #fff; }
        .pages article .main--block .inner--title dl {
          line-height: 1; }
          .pages article .main--block .inner--title dl dt {
            font-size: clamp(44px, 4.5081967213vw, 55px);
            font-style: italic;
            text-transform: uppercase; }
          .pages article .main--block .inner--title dl dd {
            font-size: clamp(19px, 1.9672131148vw, 24px);
            transform: skewX(-5deg);
            margin-top: 1em; }
        .pages article .main--block .inner--title p {
          font-size: clamp(13px, 1.3114754098vw, 16px);
          line-height: 2;
          letter-spacing: .05em;
          margin-top: 3em; }

#pagetop {
  width: 3.6885245902vw;
  height: 3.6885245902vw;
  position: fixed;
  right: 2.4590163934vw;
  bottom: 2.4590163934vw;
  z-index: 200; }
  #pagetop a {
    display: block;
    width: 100%;
    height: 100%;
    transition: all .3s ease; }
    #pagetop a:before, #pagetop a:after {
      content: '';
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
    #pagetop a:before {
      box-sizing: border-box;
      width: 100%;
      height: 100%;
      background-color: #004896;
      border: 1px solid #fff;
      border-radius: 50%; }
    #pagetop a:after {
      width: 25%;
      height: 25%;
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      transform: rotate(-45deg) translate(-20%, -50%); }
    #pagetop a:hover {
      opacity: 1;
      transform: scale(1.04); }

@media screen and (max-width: 767px) {
  .btn {
    width: 85%;
    font-size: clamp(13px, 3.4666666667vw, 16px);
    margin-top: 3.5em; }

  .circleButton .circleButton-inner {
    font-size: clamp(10px, vsw(10), 13px); }

  main .header .inner .logo {
    margin-top: .5em; }
    main .header .inner .logo a {
      flex-direction: column; }
      main .header .inner .logo a picture {
        width: 37.3333333333vw;
        margin-right: 0; }
      main .header .inner .logo a h1 {
        margin-top: .3em; }
  main .header .inner .entry-nav {
    margin: 0 .5em 0 auto; }
    main .header .inner .entry-nav ul li {
      width: 20.8vw;
      font-size: clamp(8px, 2.6666666667vw, 15px); }
      main .header .inner .entry-nav ul li a {
        justify-content: center;
        align-items: center;
        flex-direction: column;
        flex-wrap: wrap;
        padding: 1em .5em; }
        main .header .inner .entry-nav ul li a span {
          font-size: clamp(9px, 2.9333333333vw, 15px);
          padding: .5em 0 0; }
        main .header .inner .entry-nav ul li a:after {
          display: none;
          right: .8em; }
      main .header .inner .entry-nav ul li:nth-of-type(2) {
        margin-left: -1.5em; }
  main .header .inner .menu-nav .globalnav {
    width: 100vw;
    padding: 0em 0 12em; }
    main .header .inner .menu-nav .globalnav .copyright {
      font-size: clamp(8px, 2.1333333333vw, 10px);
      right: 1em; }
    main .header .inner .menu-nav .globalnav .decoration.d01 {
      width: 30.6666666667vw;
      bottom: -5%;
      left: 20%; }
    main .header .inner .menu-nav .globalnav .decoration.d02 {
      width: 61.3333333333vw;
      bottom: -15%;
      right: -35%; }
    main .header .inner .menu-nav .globalnav .decoration.d03 {
      width: 48.5333333333vw;
      height: 0.2666666667vw;
      bottom: 6%;
      left: -10%; }
    main .header .inner .menu-nav .globalnav .decoration.d04 {
      width: 18.6666666667vw;
      height: 2.1333333333vw;
      bottom: 3%;
      left: 61.5%; }
    main .header .inner .menu-nav .globalnav .decoration.d05 {
      width: 25.3333333333vw;
      height: 1.0666666667vw;
      bottom: 6.5%;
      left: 70%; }
    main .header .inner .menu-nav .globalnav--inner {
      margin-top: 0; }
      main .header .inner .menu-nav .globalnav--inner--wrap {
        width: 90vw; }
        main .header .inner .menu-nav .globalnav--inner--wrap--block--category {
          width: 100%;
          font-size: clamp(12px, 3.4666666667vw, 15px);
          margin-top: 5em; }
          main .header .inner .menu-nav .globalnav--inner--wrap--block--category .title a h2 {
            font-size: clamp(28px, 7.4666666667vw, 35px); }
  main .footer {
    margin-top: 2.5em; }
    main .footer--figure .parallax-bg {
      top: 70%; }
    main .footer--figure .texts {
      width: 85vw; }
    main .footer .inner {
      padding: 2.5em 2.5%;
      justify-content: center; }
      main .footer .inner--wrap {
        justify-content: center; }
        main .footer .inner--wrap .logo {
          width: 49.3333333333vw;
          max-width: 185px; }
        main .footer .inner--wrap .links {
          display: flex;
          justify-content: center;
          font-size: clamp(9px, 2.4vw, 12px);
          margin: 2em auto 0; }
      main .footer .inner .copyright {
        font-size: clamp(7px, 1.8666666667vw, 9px);
        text-align: center;
        margin-top: 2em; }

  .pages article .main--block {
    height: 75.2vw; }
    .pages article .main--block .inner--title dl dt {
      font-size: clamp(22px, 5.8666666667vw, 55px); }
    .pages article .main--block .inner--title dl dd {
      font-size: clamp(19px, 5.0666666667vw, 24px);
      margin-top: .5em; }
    .pages article .main--block .inner--title p {
      font-size: clamp(11px, 3.4666666667vw, 16px);
      font-weight: 500; }

  #pagetop {
    width: 9.3333333333vw;
    height: 9.3333333333vw;
    right: 1.3333333333vw;
    bottom: 5.3333333333vw !important; } }
/* =========================================================
 * 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; }
    ul li img {
      line-height: 0;
      font-size: 0;
      vertical-align: top; }

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

/* 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      　   /*デフォルトセッティング 全体の設定
========================================================= */
* {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  word-break: break-all;
  /*CJK (中国語、台湾語、日本語、韓国語) 以外のテキストにおいて、単語中などでの文字の改行に関する禁則処理を解除し、どの文字の間でも改行するようにします。*/ }

html, body {
  font-size: 62.5%;
  overflow: auto; }

body {
  overflow: hidden;
  -webkit-text-size-adjust: 100%;
  font: inherit;
  font-size: clamp(10px, 1.0655737705vw, 13px);
  font-family: "Noto Sans JP", sans-serif, YuGothic, "Yu Gothic medium", "Yu Gothic", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: 400;
  line-height: 1.4;
  font-feature-settings: "palt";
  /*日本語フォントの文字間隔（カーニング）全角スペースを詰める調整、句読点や括弧などの約物を含めた文字間をしっかり詰めてくれます。*/
  color: #000;
  background: #fff; }

main {
  display: block; }

/*リンクテキスト全般の設定*/
a {
  width: 100%;
  height: 100%;
  display: block;
  text-decoration: none;
  color: #000;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out; }
  a:hover {
    opacity: 0.7;
    -webkit-opacity: .7;
    -moz-opacity: .7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)"; }

.disabled {
  pointer-events: none; }

.soon {
  pointer-events: none;
  opacity: .5; }

.hide,
.hidden {
  visibility: hidden; }

/*テキスト周りのタグ*/
p {
  line-break: strict; }

/*先頭英文字を大文字に変換*/
.capitalize {
  text-transform: capitalize; }

/*全ての英文字を大文字に変換*/
.uppercase {
  text-transform: uppercase; }

/*画像全般の設定*/
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  border: none; }

/*videoタグ*/
video {
  max-width: 100%; }

/*iframeタグ*/
iframe {
  width: 100%; }

/*レスポンシブ切り替え表示の設定*/
.pc {
  display: block; }

.sp {
  display: none; }

/* =========================================================
 * modal
========================================================= */
.mfp-bg {
  background-color: rgba(0, 0, 0, 0.8);
  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out; }

.mfp-close {
  text-indent: -9999px;
  font-family: serif;
  font-size: 64px;
  right: -10px !important;
  padding-right: 0 !important;
  top: -50px !important; }

/* overlay animate in */
.mfp-bg.mfp-ready {
  opacity: 0.8; }

/* overlay animate out */
.mfp-bg.mfp-removing {
  opacity: 0; }

/* content at start */
.mfp-wrap .modal-content {
  transform: translateY(-30px);
  opacity: 0;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out; }

/* content animate it */
.mfp-wrap.mfp-ready .modal-content {
  transform: translateY(0);
  opacity: 1; }

/* content animate out */
.mfp-wrap.mfp-removing .modal-content {
  transform: translateY(30px);
  opacity: 0; }

.mfp-iframe-holder .mfp-content {
  width: 125vmin !important;
  max-width: 90% !important; }

@media screen and (max-width: 767px) {
  /*.mfp-container{
  	padding: 0;
  }
  .modal-content{
  	max-width: 94%;
  	margin: 15vw auto;
  	.popup-modal-close{
  		cursor: pointer;
  		position: absolute;
  		right: 0;
  		top: -41px;
  		span{
  			img{
  				max-width: 31px;
  			}
  		}
  	}
  	&--inner{
  		background-color: #fff;
  		padding: 15px 5% 30px 5%;
  		.team{
  			p{
  				@include fz_vw(11);
  			}
  		}
  		.content{
  			margin-top: 20px;
  			h2{
  				letter-spacing: .04em;
  				@include fz_vw(16);
  			}
  			p{
  				margin-top: 20px;
  				@include fz_vw(12);
  			}
  		}
  		.contact{
  			margin-top: 30px;
  			p{
  				@include fz_vw(12);
  				a{
  					&.tel{
  						pointer-events: visible;
  						text-decoration: underline;
  					}
  				}
  			}
  		}
  	}
  }*/ }
@media screen and (max-width: 767px) {
  body {
    min-width: 100%;
    font-size: clamp(10px, 3.4666666667vw, 13px); }

  /*リンクテキスト全般の設定*/
  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 */ }

  /*画像全般の設定*/
  img {
    width: 100%; }

  /*テキスト周りのタグ*/
  .att {
    font-size: 3vw !important;
    font-weight: 400;
    line-height: 1 !important;
    margin-bottom: 1em; }

  /*レスポンシブ切り替え表示の設定*/
  .pc {
    display: none; }

  .sp {
    display: block; } }
@media all and (-ms-high-contrast: none) {
  .noise {
    display: none; } }
/* =========================================================
 * font
========================================================= */
/*poppins*/
/*Lato*/
/*Roboto Condensed & Roboto*/
/*Noto Sans Japanese*/
.lato {
  font-family: "Lato", sans-serif;
  font-optical-sizing: auto; }

.roboto-condensed {
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-style: normal; }

.roboto {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto; }

.noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal; }

.noto-serif-jp {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal; }

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

/* =========================================================
 * fade Animation　　   /*フェード アニメーション
========================================================= */
.fade,
.fadein,
.fadein-top,
.fadein-left,
.fadein-right,
.opening,
.fadein-popup {
  position: relative;
  opacity: 0;
  transition: opacity 0.875s ease-in-out , transform 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); }

.fadein-popup {
  translate: none;
  rotate: none;
  scale: none;
  transform: translateY(20px) scale(0.8) !important;
  transition: opacity 0.5s ease-in-out , transform 0.5s ease-in-out; }

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

.fadein-popup.scrollin {
  transform: translate(0, 0) scale(1) !important;
  animation: popup 0.55s cubic-bezier(0.22, 1, 0.36, 1) forwards; }

/* =========================================================
 * fade Animation　　   /*フェード アニメーション
========================================================= */
@keyframes topleft {
  0% {
    transform: translate(-50%, -50%); }
  100% {
    transform: translate(250%, 250%); } }
@keyframes topright {
  0% {
    transform: translate(50%, 50%); }
  100% {
    transform: translate(-100%, 200%); } }
@keyframes bottomleft {
  0% {
    transform: translate(-50%, -50%); }
  100% {
    transform: translate(150%, -250%); } }
@keyframes bottomright {
  0% {
    transform: translate(50%, 50%); }
  100% {
    transform: translate(-150%, 250%); } }
@keyframes popup {
  0% {
    opacity: 0; }
  80%, 100% {
    opacity: 1; } }
.fadein-topleft {
  animation: topleft 10s infinite linear 1s both; }

.fadein-topright {
  animation: topright 6.3s infinite linear 1s both; }

.fadein-topright02 {
  animation: topright 9.5s infinite linear 1s both; }

.fadein-bottomleft {
  animation: bottomleft 5.5s infinite linear 1s both; }

.fadein-bottomright {
  animation: bottomright 5.5s infinite linear 1s both; }

/* =========================================================
 * scrollbar　　   /*フスクロールバー
========================================================= */
/*垂直方向のスクロールバーに適用*/
/*::-webkit-scrollbar:horizontal {
    display: none;
    -webkit-appearance: none;
}*/
/*水平方向のスクロールバーに適用*/
/*::-webkit-scrollbar:vertical {
    display: none;
    -webkit-appearance: none;
}*/
/* =========================================================
 * CSS Animation　　   /*CSS アニメション
========================================================= */
/*メインビジュのSCROLL*/
@keyframes arrow-move {
  0% {
    top: -100%; }
  50% {
    top: 0; }
  100% {
    top: 100%; } }
@-webkit-keyframes arrow-move {
  0% {
    top: -100%; }
  50% {
    top: 0; }
  100% {
    top: 100%; } }
@keyframes animationZoom {
  100% {
    transform: scale(1.1); } }
@keyframes slideshow {
  0% {
    opacity: 0;
    transform: scale(1.2, 1.2); }
  10% {
    opacity: 1;
    transform: scale(1, 1); }
  28% {
    opacity: 1;
    transform: scale(1, 1); }
  38% {
    opacity: 0;
    transform: scale(1, 1); }
  100% {
    opacity: 0;
    transform: scale(1, 1); } }
.round01 {
  animation: round01 20s linear infinite; }

@keyframes round01 {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
.round02 {
  animation: round02 20s linear infinite; }

@keyframes round02 {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(-360deg); } }
.fwari01 {
  animation: fwari ease-in-out 5s infinite alternate;
  -webkit-animation: fwari ease-in-out 5s infinite alternate;
  -moz-animation: fwari ease-in-out 5s infinite alternate; }

@keyframes fwari {
  0% {
    transform: translate(0%, 0%); }
  100% {
    transform: translate(0%, -100px); } }
@-webkit-keyframes fwari {
  0% {
    -webkit-transform: translate(0%, 0%); }
  100% {
    -webkit-transform: translate(0%, -100px); } }
@-moz-keyframes fwari {
  0% {
    -moz-transform: translate(0%, 0%); }
  100% {
    -moz-transform: translate(0%, -100px); } }
.fwari02 {
  animation: fwari02 ease-in-out 3s infinite alternate;
  -webkit-animation: fwari02 ease-in-out 3s infinite alternate;
  -moz-animation: fwari02 ease-in-out 3s infinite alternate; }

@keyframes fwari02 {
  0% {
    transform: translate(0%, 0%); }
  100% {
    transform: translate(0%, -30px); } }
@-webkit-keyframes fwari02 {
  0% {
    -webkit-transform: translate(0%, 0%); }
  100% {
    -webkit-transform: translate(0%, -30px); } }
@-moz-keyframes fwari02 {
  0% {
    -moz-transform: translate(0%, 0%); }
  100% {
    -moz-transform: translate(0%, -30px); } }
.fwari03 {
  animation: fwari03 ease-in-out 3s infinite alternate;
  -webkit-animation: fwari03 ease-in-out 3s infinite alternate;
  -moz-animation: fwari03 ease-in-out 3s infinite alternate; }

@keyframes fwari03 {
  0% {
    transform: translate(0%, -30px); }
  100% {
    transform: translate(0%, 0%); } }
@-webkit-keyframes fwari03 {
  0% {
    -webkit-transform: translate(0%, -30px); }
  100% {
    -webkit-transform: translate(0%, 0%); } }
@-moz-keyframes fwari03 {
  0% {
    -moz-transform: translate(0%, -30px); }
  100% {
    -moz-transform: translate(0%, 0%); } }
.fwari04 {
  animation: fwari04 ease-in-out 2s infinite alternate;
  -webkit-animation: fwari04 ease-in-out 2s infinite alternate;
  -moz-animation: fwari04 ease-in-out 2s infinite alternate; }

@keyframes fwari04 {
  0% {
    transform: translate(0%, 0%); }
  100% {
    transform: translate(0%, -15px); } }
@-webkit-keyframes fwari04 {
  0% {
    -webkit-transform: translate(0%, 0%); }
  100% {
    -webkit-transform: translate(0%, -15px); } }
@-moz-keyframes fwari04 {
  0% {
    -moz-transform: translate(0%, 0%); }
  100% {
    -moz-transform: translate(0%, -15px); } }
.fwari05 {
  animation: fwari05 ease-in-out 2s infinite alternate;
  -webkit-animation: fwari05 ease-in-out 2s infinite alternate;
  -moz-animation: fwari05 ease-in-out 2s infinite alternate; }

@keyframes fwari05 {
  0% {
    transform: translate(0%, -15px); }
  100% {
    transform: translate(0%, 0%); } }
@-webkit-keyframes fwari05 {
  0% {
    -webkit-transform: translate(0%, -15px); }
  100% {
    -webkit-transform: translate(0%, 0%); } }
@-moz-keyframes fwari05 {
  0% {
    -moz-transform: translate(0%, -15px); }
  100% {
    -moz-transform: translate(0%, 0%); } }
.fwari06 {
  animation: fwari06 ease-in-out 2s infinite alternate;
  -webkit-animation: fwari06 ease-in-out 2s infinite alternate;
  -moz-animation: fwari06 ease-in-out 2s infinite alternate; }

@keyframes fwari06 {
  0% {
    transform: translate(-50%, 0%); }
  100% {
    transform: translate(-50%, -15px); } }
@-webkit-keyframes fwari06 {
  0% {
    -webkit-transform: translate(-50%, 0%); }
  100% {
    -webkit-transform: translate(-50%, -15px); } }
@-moz-keyframes fwari06 {
  0% {
    -moz-transform: translate(-50%, 0%); }
  100% {
    -moz-transform: translate(-50%, -15px); } }
.slide01 {
  animation: slide01 ease-in-out 5s infinite alternate;
  -webkit-animation: slide01 ease-in-out 5s infinite alternate;
  -moz-animation: slide01 ease-in-out 5s infinite alternate; }

@keyframes slide01 {
  0% {
    transform: translate(0%, 0%); }
  100% {
    transform: translate(50px, 0%); } }
@-webkit-keyframes slide01 {
  0% {
    transform: translate(0%, 0%); }
  100% {
    transform: translate(50px, 0%); } }
@-moz-keyframes slide01 {
  0% {
    transform: translate(0%, 0%); }
  100% {
    transform: translate(50px, 0%); } }
.slide02 {
  animation: slide02 ease-in-out 8s infinite alternate;
  -webkit-animation: slide02 ease-in-out 8s infinite alternate;
  -moz-animation: slide02 ease-in-out 8s infinite alternate; }

@keyframes slide02 {
  0% {
    transform: translate(0%, 0%); }
  100% {
    transform: translate(-100px, 0%); } }
@-webkit-keyframes slide02 {
  0% {
    transform: translate(0%, 0%); }
  100% {
    transform: translate(-100px, 0%); } }
@-moz-keyframes slide02 {
  0% {
    transform: translate(0%, 0%); }
  100% {
    transform: translate(-100px, 0%); } }
@media screen and (max-width: 767px) {
  @keyframes fwari {
    0% {
      transform: translate(0%, 0%); }
    100% {
      transform: translate(0%, -50px); } }
  @-webkit-keyframes fwari {
    0% {
      -webkit-transform: translate(0%, 0%); }
    100% {
      -webkit-transform: translate(0%, -50px); } }
  @-moz-keyframes fwari {
    0% {
      -moz-transform: translate(0%, 0%); }
    100% {
      -moz-transform: translate(0%, -50px); } }
  @keyframes fwari02 {
    0% {
      transform: translate(0%, 0%); }
    100% {
      transform: translate(0%, -15px); } }
  @-webkit-keyframes fwari02 {
    0% {
      -webkit-transform: translate(0%, 0%); }
    100% {
      -webkit-transform: translate(0%, -15px); } }
  @-moz-keyframes fwari02 {
    0% {
      -moz-transform: translate(0%, 0%); }
    100% {
      -moz-transform: translate(0%, -15px); } }
  @keyframes fwari03 {
    0% {
      transform: translate(0%, -15px); }
    100% {
      transform: translate(0%, 0%); } }
  @-webkit-keyframes fwari03 {
    0% {
      -webkit-transform: translate(0%, -15px); }
    100% {
      -webkit-transform: translate(0%, 0%); } }
  @-moz-keyframes fwari03 {
    0% {
      -moz-transform: translate(0%, -15px); }
    100% {
      -moz-transform: translate(0%, 0%); } }
  @keyframes fwari04 {
    0% {
      transform: translate(0%, 0%); }
    100% {
      transform: translate(0%, -8px); } }
  @-webkit-keyframes fwari04 {
    0% {
      -webkit-transform: translate(0%, 0%); }
    100% {
      -webkit-transform: translate(0%, -8px); } }
  @-moz-keyframes fwari04 {
    0% {
      -moz-transform: translate(0%, 0%); }
    100% {
      -moz-transform: translate(0%, -8px); } }
  @keyframes fwari05 {
    0% {
      transform: translate(0%, -8px); }
    100% {
      transform: translate(0%, 0%); } }
  @-webkit-keyframes fwari05 {
    0% {
      -webkit-transform: translate(0%, -8px); }
    100% {
      -webkit-transform: translate(0%, 0%); } }
  @-moz-keyframes fwari05 {
    0% {
      -moz-transform: translate(0%, -8px); }
    100% {
      -moz-transform: translate(0%, 0%); } }
  @keyframes fwari06 {
    0% {
      transform: translate(-50%, 0%); }
    100% {
      transform: translate(-50%, -8px); } }
  @-webkit-keyframes fwari06 {
    0% {
      -webkit-transform: translate(-50%, 0%); }
    100% {
      -webkit-transform: translate(-50%, -8px); } }
  @-moz-keyframes fwari06 {
    0% {
      -moz-transform: translate(-50%, 0%); }
    100% {
      -moz-transform: translate(-50%, -8px); } }
  @keyframes slide01 {
    0% {
      transform: translate(0%, 0%); }
    100% {
      transform: translate(25px, 0%); } }
  @-webkit-keyframes slide01 {
    0% {
      transform: translate(0%, 0%); }
    100% {
      transform: translate(25px, 0%); } }
  @-moz-keyframes slide01 {
    0% {
      transform: translate(0%, 0%); }
    100% {
      transform: translate(25px, 0%); } }
  @keyframes slide02 {
    0% {
      transform: translate(0%, 0%); }
    100% {
      transform: translate(-50px, 0%); } }
  @-webkit-keyframes slide02 {
    0% {
      transform: translate(0%, 0%); }
    100% {
      transform: translate(-50px, 0%); } }
  @-moz-keyframes slide02 {
    0% {
      transform: translate(0%, 0%); }
    100% {
      transform: translate(-50px, 0%); } } }
.top article .main {
  width: 100%;
  height: calc(100vh - 80px);
  position: relative;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  padding: 1.5em 0 15em; }
  .top article .main--block {
    width: 100%;
    height: 100%; }
    .top article .main--block .decoration {
      position: absolute;
      transform: translate(-50%, -50%); }
      .top article .main--block .decoration.d01 {
        width: 18.8524590164vw;
        max-width: 230px;
        bottom: -8%;
        left: 27.1%; }
      .top article .main--block .decoration.d02 {
        width: 37.7049180328vw;
        max-width: 460px;
        bottom: -30%;
        right: -20%;
        z-index: 3; }
      .top article .main--block .decoration.d03 {
        width: 29.7540983607vw;
        height: 0.1639344262vw;
        max-width: 363px;
        max-height: 2px;
        background: rgba(0, 72, 150, 0.5);
        bottom: 7.5%;
        left: -2.75%; }
      .top article .main--block .decoration.d04 {
        width: 22.7868852459vw;
        height: 1.3114754098vw;
        max-width: 278px;
        max-height: 16px;
        background: rgba(0, 72, 150, 0.3);
        bottom: 5%;
        left: 50%; }
      .top article .main--block .decoration.d05 {
        width: 31.1475409836vw;
        height: 0.6557377049vw;
        max-width: 380px;
        max-height: 8px;
        background: rgba(255, 2, 0, 0.5);
        bottom: 9%;
        left: 55%; }
      .top article .main--block .decoration.d06 {
        width: 25.8196721311vw;
        max-width: 315px;
        bottom: -12.5%;
        right: 3%;
        z-index: 2; }
      .top article .main--block .decoration.d07 {
        width: 14.1803278689vw;
        height: 1.9672131148vw;
        max-width: 173px;
        max-height: 24px;
        background: rgba(0, 72, 150, 0.1);
        top: 22%;
        left: 0; }
      .top article .main--block .decoration.d08 {
        width: 3.6885245902vw;
        height: 12.7049180328vw;
        max-width: 45px;
        max-height: 155px;
        background: rgba(0, 72, 150, 0.5);
        top: 5.8%;
        right: 20.5%;
        z-index: 2; }
      .top article .main--block .decoration.d09 {
        width: 19.0163934426vw;
        height: 16.393442623vw;
        max-width: 232px;
        max-height: 200px;
        background: rgba(0, 72, 150, 0.3);
        top: 19.8%;
        right: 0;
        z-index: 2; }
      .top article .main--block .decoration.d10 {
        width: 2.868852459vw;
        max-width: 35px;
        top: 5%;
        left: 50%; }
      .top article .main--block .decoration.d11 {
        width: 22.131147541vw;
        max-width: 270px;
        top: 20%;
        left: 35%;
        z-index: 2; }
    .top article .main--block .inner {
      width: 100%;
      height: 100%;
      position: relative;
      padding-left: 2%; }
      .top article .main--block .inner .splide {
        width: 45.7%;
        position: absolute;
        top: 3.2em;
        right: 5%;
        z-index: -1; }
      .top article .main--block .inner--texts .symbol {
        width: 29.5081967213vw;
        max-width: 360px; }
      .top article .main--block .inner--texts dl {
        font-size: clamp(13px, 1.3114754098vw, 16px); }
        .top article .main--block .inner--texts dl dt {
          width: 48.3606557377vw;
          max-width: 590px;
          margin-top: 4.5em; }
        .top article .main--block .inner--texts dl dd {
          line-height: 1.6;
          text-transform: uppercase;
          white-space: nowrap;
          transform: skewX(-5deg);
          color: #004896;
          margin-top: 3em; }
    .top article .main--block .copyright {
      font-size: clamp(8px, 0.8196721311vw, 10px);
      font-family: "Roboto", sans-serif;
      font-weight: 500;
      writing-mode: vertical-rl;
      color: #004896;
      position: absolute;
      top: 25%;
      right: 2.5em; }
.top article .lead .inner {
  position: relative;
  padding: 20em 0; }
  .top article .lead .inner .decoration {
    position: absolute; }
    .top article .lead .inner .decoration.d01 {
      width: 52.4590163934vw;
      height: 7.7868852459vw;
      max-width: 640px;
      max-height: 95px;
      background: rgba(0, 72, 150, 0.1);
      top: 1.5%;
      left: -11%; }
    .top article .lead .inner .decoration.d02 {
      width: 29.5081967213vw;
      height: 3.5245901639vw;
      max-width: 360px;
      max-height: 43px;
      background: rgba(0, 72, 150, 0.1);
      top: 6%;
      right: -11%; }
    .top article .lead .inner .decoration.d03 {
      width: 16.5573770492vw;
      height: 16.5573770492vw;
      max-width: 202px;
      max-height: 202px;
      background: rgba(0, 72, 150, 0.05);
      border-radius: 50%;
      top: 22.5%;
      right: -3%; }
    .top article .lead .inner .decoration.d04 {
      width: 12.2950819672vw;
      max-width: 150px;
      top: 4.7%;
      left: 6%; }
    .top article .lead .inner .decoration.d05 {
      width: 5.737704918vw;
      height: 5.737704918vw;
      max-width: 70px;
      max-height: 70px;
      background-color: #004896;
      clip-path: polygon(0 0, 0% 100%, 100% 100%);
      top: 8.5%;
      right: 32.5%; }
    .top article .lead .inner .decoration.d06 {
      width: 5.737704918vw;
      height: 5.737704918vw;
      max-width: 70px;
      max-height: 70px;
      background-color: #e60012;
      clip-path: polygon(0 0, 0% 100%, 100% 100%);
      top: 44.6%;
      left: -1%; }
    .top article .lead .inner .decoration.d08 {
      width: 14.0983606557vw;
      max-width: 172px;
      top: 41.5%;
      left: 35%; }
    .top article .lead .inner .decoration.d09 {
      width: 2.868852459vw;
      max-width: 35px;
      bottom: 21.5%;
      right: 0; }
    .top article .lead .inner .decoration.d10 {
      width: 14.0983606557vw;
      max-width: 172px;
      bottom: -1.3%;
      left: 0;
      z-index: 2; }
    .top article .lead .inner .decoration.d11 {
      width: 11.4754098361vw;
      max-width: 140px;
      bottom: -1.3%;
      left: 50%;
      z-index: 2; }
    .top article .lead .inner .decoration.d12 {
      width: 25.8196721311vw;
      max-width: 315px;
      bottom: -5%;
      right: -5%; }
  .top article .lead .inner--wrap--category {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    .top article .lead .inner--wrap--category:nth-of-type(n+2) {
      margin-top: 7.5em; }
    .top article .lead .inner--wrap--category picture {
      position: relative; }
      .top article .lead .inner--wrap--category picture:after {
        content: '';
        display: block;
        position: absolute;
        border-radius: 50%;
        border: 0.5px solid #004896; }
    .top article .lead .inner--wrap--category--texts {
      width: 50%; }
      .top article .lead .inner--wrap--category--texts p {
        font-size: clamp(12px, 1.2295081967vw, 15px);
        line-height: 2;
        letter-spacing: .1em;
        margin-top: 2em; }
    .top article .lead .inner--wrap--category:nth-of-type(odd) picture {
      width: 40%; }
      .top article .lead .inner--wrap--category:nth-of-type(odd) picture:after {
        width: 33.8%;
        height: 33.8%;
        top: 2.5%;
        left: -5%; }
    .top article .lead .inner--wrap--category:nth-of-type(even) {
      flex-direction: row-reverse;
      align-items: flex-end; }
      .top article .lead .inner--wrap--category:nth-of-type(even) picture {
        width: 35%; }
        .top article .lead .inner--wrap--category:nth-of-type(even) picture:after {
          width: 120%;
          height: 120%;
          top: 50%;
          right: -2.5%;
          transform: translateY(-50%); }
  .top article .lead .inner .catch {
    font-size: clamp(58px, 5.9016393443vw, 72px);
    font-weight: 500;
    letter-spacing: .05em;
    text-align: center;
    transform: skewX(-5deg);
    color: #004896;
    margin-top: 1.3em; }
.top article .container h2 {
  font-size: clamp(19px, 1.9672131148vw, 24px);
  transform: skewX(-5deg);
  color: #004896;
  padding: 2.8em 0 0;
  position: relative; }
  .top article .container h2:after {
    content: attr(data-en);
    position: absolute;
    font-size: clamp(64px, 6.5573770492vw, 80px);
    font-weight: 400 !important;
    font-family: "Poppins", sans-serif;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
    top: 0;
    left: 50%;
    transform: translateX(-50%); }
.top article .container p {
  font-size: clamp(12px, 1.2295081967vw, 15px);
  line-height: 1.6;
  color: #fff;
  margin-top: 1.5em; }
.top article .container.introduction {
  position: relative;
  z-index: 1; }
  .top article .container.introduction .container--block {
    overflow: hidden;
    height: 43.5em;
    background: url("/img/saiyou/top/img_pic02-1.webp") no-repeat center center/cover;
    text-align: center; }
    .top article .container.introduction .container--block picture {
      display: none; }
    .top article .container.introduction .container--block--texts {
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%); }
      .top article .container.introduction .container--block--texts h2 {
        color: #fff;
        padding-top: 3.5em;
        margin-top: 6em; }
      .top article .container.introduction .container--block--texts .more-btn {
        width: 11.3114754098vw;
        max-width: 138px;
        margin: 3.5em auto 0; }
        .top article .container.introduction .container--block--texts .more-btn a {
          border-radius: 50%; }
          .top article .container.introduction .container--block--texts .more-btn a:hover {
            opacity: 1;
            border: 5px solid #fff; }
.top article .container.feature {
  position: relative;
  z-index: 1; }
  .top article .container.feature:after {
    content: '';
    display: block;
    position: absolute;
    width: 100vw;
    height: 50em;
    background-color: #e5f6fd;
    top: 50em;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1; }
  .top article .container.feature .container--block {
    overflow: hidden;
    height: 50em;
    background: url("/img/saiyou/top/img_pic03-1.webp") no-repeat center center/cover;
    text-align: center;
    margin-top: 3em; }
    .top article .container.feature .container--block picture {
      display: none; }
    .top article .container.feature .container--block--texts {
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%); }
      .top article .container.feature .container--block--texts h2 {
        color: #fff;
        padding-top: 3.5em;
        margin-top: 6.5em; }
  .top article .container.feature .inner {
    margin-top: -18.6em; }
    .top article .container.feature .inner--wrap {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      .top article .container.feature .inner--wrap--category {
        overflow: hidden;
        width: 33.333%;
        margin-top: 4.5em; }
        .top article .container.feature .inner--wrap--category a {
          position: relative; }
          .top article .container.feature .inner--wrap--category a .ttl {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%); }
            .top article .container.feature .inner--wrap--category a .ttl h2 {
              font-size: clamp(18px, 1.8032786885vw, 22px);
              color: #fff;
              padding-top: 2em;
              margin-top: 1.5em; }
              .top article .container.feature .inner--wrap--category a .ttl h2:after {
                font-size: clamp(30px, 3.0327868852vw, 37px); }
            .top article .container.feature .inner--wrap--category a .ttl .circleButton {
              margin: 2.5em auto 0; }
          .top article .container.feature .inner--wrap--category a:hover {
            opacity: 1;
            transform: scale(1.04); }
.top article .container.infographics {
  position: relative;
  z-index: 2; }
  .top article .container.infographics .inner {
    text-align: center; }
    .top article .container.infographics .inner h3 {
      font-size: clamp(40px, 4.0983606557vw, 50px);
      font-weight: 400 !important;
      font-family: "Poppins", sans-serif;
      line-height: 1;
      text-transform: uppercase;
      white-space: nowrap;
      transform: skewX(-5deg);
      color: #004896;
      margin-top: 2em; }
    .top article .container.infographics .inner--wrap--category {
      overflow: hidden;
      margin-top: 4.5em; }
      .top article .container.infographics .inner--wrap--category a {
        position: relative; }
        .top article .container.infographics .inner--wrap--category a .ttl {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%); }
          .top article .container.infographics .inner--wrap--category a .ttl h2 {
            color: #fff;
            padding-top: 3.8em; }
        .top article .container.infographics .inner--wrap--category a:hover {
          opacity: 1;
          transform: scale(1.04); }
.top article .container.recruit {
  margin-top: 5.5em; }
  .top article .container.recruit .inner--wrap ul {
    background-color: #fff;
    border-bottom: 1px solid #004896; }
    .top article .container.recruit .inner--wrap ul li {
      border-top: 1px solid #004896; }
      .top article .container.recruit .inner--wrap ul li a {
        padding: 3em 5%;
        position: relative; }
        .top article .container.recruit .inner--wrap ul li a h2 {
          font-size: clamp(16px, 1.6393442623vw, 20px);
          padding: 2.8em 0 0; }
          .top article .container.recruit .inner--wrap ul li a h2:after {
            font-size: clamp(36px, 3.6885245902vw, 45px);
            left: 0;
            transform: none; }
        .top article .container.recruit .inner--wrap ul li a .circleButton {
          position: absolute;
          top: 50%;
          right: 5%;
          transform: translateY(-50%); }
        .top article .container.recruit .inner--wrap ul li a:hover {
          opacity: 1;
          transform: scale(1.04); }

@media screen and (max-width: 767px) {
  .top article .main {
    min-height: 160vw;
    top: inherit;
    left: inherit;
    transform: none;
    padding: 1.5em 0 15em; }
    .top article .main--block .decoration.d01 {
      width: 26.6666666667vw;
      bottom: -9%;
      left: 17%; }
    .top article .main--block .decoration.d02 {
      width: 53.3333333333vw;
      bottom: -18%;
      right: -30%; }
    .top article .main--block .decoration.d03 {
      width: 48.5333333333vw;
      height: 0.2666666667vw;
      bottom: 0%;
      left: -20%; }
    .top article .main--block .decoration.d04 {
      width: 18.6666666667vw;
      height: 2.1333333333vw;
      bottom: -2%;
      left: 50%; }
    .top article .main--block .decoration.d05 {
      width: 25.3333333333vw;
      height: 1.0666666667vw;
      bottom: 1.5%;
      left: 60%; }
    .top article .main--block .decoration.d06 {
      width: 33.3333333333vw;
      bottom: -10%;
      right: 2%; }
    .top article .main--block .decoration.d07 {
      width: 23.2vw;
      height: 3.2vw; }
    .top article .main--block .decoration.d08 {
      width: 6.1333333333vw;
      height: 20.8vw;
      right: 10%; }
    .top article .main--block .decoration.d09 {
      width: 30.9333333333vw;
      height: 26.6666666667vw;
      top: 50%; }
    .top article .main--block .decoration.d10 {
      width: 4.5333333333vw;
      top: 0%;
      left: 70%; }
    .top article .main--block .decoration.d11 {
      width: 30.6666666667vw;
      top: 9%;
      left: 55%; }
    .top article .main--block .inner {
      padding-left: 5%; }
      .top article .main--block .inner .splide {
        width: 80%;
        top: inherit;
        top: 60%;
        left: 50%;
        right: inherit;
        transform: translate(-50%, -50%); }
      .top article .main--block .inner--texts .symbol {
        width: 44vw; }
      .top article .main--block .inner--texts dl {
        font-size: clamp(10px, 2.9333333333vw, 16px); }
        .top article .main--block .inner--texts dl dt {
          width: 85.3333333333vw;
          margin-top: 24em; }
        .top article .main--block .inner--texts dl dd {
          margin-top: 2em; }
    .top article .main--block .copyright {
      font-size: clamp(8px, 2.1333333333vw, 10px);
      right: 1em; }
  .top article .lead .inner {
    padding: 10em 0; }
    .top article .lead .inner .decoration.d01 {
      width: 85.3333333333vw;
      height: 12.8vw;
      top: 3%;
      left: -11%; }
    .top article .lead .inner .decoration.d02 {
      width: 48vw;
      height: 5.6vw;
      top: 12%;
      right: -11%; }
    .top article .lead .inner .decoration.d03 {
      width: 26.9333333333vw;
      height: 26.9333333333vw;
      top: 17.5%;
      right: -3%; }
    .top article .lead .inner .decoration.d04 {
      width: 20vw;
      top: 4%;
      left: 6%; }
    .top article .lead .inner .decoration.d05 {
      width: 9.3333333333vw;
      height: 9.3333333333vw;
      top: 8.5%;
      right: 7.5%; }
    .top article .lead .inner .decoration.d06 {
      width: 9.3333333333vw;
      height: 9.3333333333vw;
      top: 44.6%;
      left: -1%; }
    .top article .lead .inner .decoration.d08 {
      width: 22.9333333333vw;
      top: 41.5%;
      left: 75%; }
    .top article .lead .inner .decoration.d09 {
      width: 4.5333333333vw;
      bottom: 21.5%;
      right: 0; }
    .top article .lead .inner .decoration.d10 {
      width: 22.9333333333vw;
      bottom: -1.3%;
      left: 0; }
    .top article .lead .inner .decoration.d11 {
      width: 18.6666666667vw;
      bottom: -1.3%;
      left: 50%; }
    .top article .lead .inner .decoration.d12 {
      width: 41.8666666667vw;
      bottom: -5%;
      right: -5%; }
    .top article .lead .inner--wrap--category:nth-of-type(n+2) {
      margin-top: 5em; }
    .top article .lead .inner--wrap--category picture {
      position: relative; }
      .top article .lead .inner--wrap--category picture:after {
        content: '';
        display: block;
        position: absolute;
        border-radius: 50%;
        border: 0.5px solid #004896; }
    .top article .lead .inner--wrap--category--texts {
      width: 90%;
      margin: 1em auto 0; }
      .top article .lead .inner--wrap--category--texts p {
        font-size: clamp(12px, 3.2vw, 15px); }
    .top article .lead .inner--wrap--category:nth-of-type(odd) picture {
      width: 80%; }
    .top article .lead .inner--wrap--category:nth-of-type(even) {
      flex-direction: row-reverse;
      align-items: flex-end; }
      .top article .lead .inner--wrap--category:nth-of-type(even) picture {
        width: 70%; }
    .top article .lead .inner .catch {
      font-size: clamp(42px, 11.2vw, 72px); }
  .top article .container h2 {
    font-size: clamp(19px, 5.0666666667vw, 24px); }
    .top article .container h2:after {
      font-size: clamp(32px, 8.5333333333vw, 80px); }
  .top article .container p {
    font-size: clamp(12px, 3.2vw, 15px); }
  .top article .container.introduction .container--block {
    height: 32em; }
    .top article .container.introduction .container--block--texts h2 {
      margin-top: 3em; }
    .top article .container.introduction .container--block--texts .more-btn {
      width: 26.6666666667vw; }
  .top article .container.feature:after {
    height: 20em;
    top: 30em; }
  .top article .container.feature .container--block {
    height: 30em;
    margin-top: 3em; }
    .top article .container.feature .container--block--texts h2 {
      padding-top: 2.5em;
      margin-top: 5em; }
  .top article .container.feature .inner {
    margin-top: -8em; }
    .top article .container.feature .inner--wrap {
      flex-wrap: wrap; }
      .top article .container.feature .inner--wrap--category {
        height: 15em;
        width: 100%;
        margin-top: 0; }
        .top article .container.feature .inner--wrap--category a .ttl h2 {
          font-size: clamp(18px, 4.8vw, 22px); }
          .top article .container.feature .inner--wrap--category a .ttl h2:after {
            font-size: clamp(30px, 8vw, 37px); }
        .top article .container.feature .inner--wrap--category a .ttl .circleButton {
          margin: 1.5em auto 0; }
  .top article .container.infographics .inner h3 {
    font-size: clamp(20px, 8.5333333333vw, 50px); }
  .top article .container.infographics .inner--wrap--category {
    margin-top: 2em; }
    .top article .container.infographics .inner--wrap--category a .ttl h2 {
      padding-top: 2em; }
  .top article .container.recruit {
    margin-top: 5.5em; }
    .top article .container.recruit .inner--wrap ul li a {
      padding: 3em 5%; }
      .top article .container.recruit .inner--wrap ul li a h2 {
        font-size: clamp(16px, 4.8vw, 20px);
        font-weight: bold;
        padding: 1.5em 0 0; }
        .top article .container.recruit .inner--wrap ul li a h2:after {
          font-size: clamp(16px, 1.3114754098vw, 45px); } }
.feature article .main--block {
  overflow: inherit !important;
  background: url("/img/saiyou/feature/main_bg.webp") no-repeat center center/cover; }
  .feature article .main--block .decoration {
    position: absolute; }
    .feature article .main--block .decoration.d01 {
      width: 37.131147541vw;
      max-width: 453px;
      top: 10%;
      left: 50%; }
    .feature article .main--block .decoration.d02 {
      width: 17.7049180328vw;
      max-width: 216px;
      mix-blend-mode: soft-light;
      top: 7%;
      left: 8%; }
    .feature article .main--block .decoration.d03 {
      width: 20.0819672131vw;
      max-width: 245px;
      mix-blend-mode: soft-light;
      bottom: 15.2%;
      right: 4%; }
    .feature article .main--block .decoration.d04 {
      width: 20.3278688525vw;
      max-width: 248px;
      bottom: -12.4%;
      left: 3.7%; }
    .feature article .main--block .decoration.d05 {
      width: 12.131147541vw;
      height: 12.131147541vw;
      max-width: 148px;
      max-height: 148px;
      border: 1px solid #fff;
      mix-blend-mode: soft-light;
      border-radius: 50%;
      top: 6.4%;
      right: 6.5%; }
    .feature article .main--block .decoration.d06 {
      width: 22.7868852459vw;
      height: 1.3114754098vw;
      max-width: 278px;
      max-height: 16px;
      background: rgba(255, 255, 255, 0.3);
      top: 56.9%;
      left: 12.3%; }
    .feature article .main--block .decoration.d07 {
      width: 31.1475409836vw;
      height: 0.6557377049vw;
      max-width: 380px;
      max-height: 8px;
      background: rgba(255, 255, 255, 0.5);
      top: 62.4%;
      left: -3.9%; }
    .feature article .main--block .decoration.d08 {
      width: 2.868852459vw;
      max-width: 35px;
      opacity: .5;
      bottom: 8%;
      right: 26.5%; }
    .feature article .main--block .decoration.d09 {
      width: 3.4426229508vw;
      height: 5.737704918vw;
      max-width: 42px;
      max-height: 70px;
      clip-path: polygon(0 0, 100% 100%, 100% 0);
      background: rgba(255, 255, 255, 0.2);
      top: 15%;
      right: 26.5%; }
    .feature article .main--block .decoration.d10 {
      width: 4.6721311475vw;
      height: 7.7049180328vw;
      max-width: 57px;
      max-height: 94px;
      clip-path: polygon(0 0, 100% 100%, 100% 0);
      background: rgba(255, 255, 255, 0.5);
      bottom: 10%;
      left: 32.5%; }
    .feature article .main--block .decoration.d11 {
      width: 14.5901639344vw;
      max-width: 178px;
      top: 8.8%;
      left: 20.2%; }
.feature article .lead {
  position: relative; }
  .feature article .lead .decoration {
    position: absolute; }
    .feature article .lead .decoration.d01 {
      width: 28.1967213115vw;
      height: 1.9672131148vw;
      max-width: 344px;
      max-height: 24px;
      background: rgba(0, 72, 150, 0.1);
      top: 6.6em;
      left: -6.5%; }
    .feature article .lead .decoration.d02 {
      width: 31.1475409836vw;
      height: 0.6557377049vw;
      max-width: 380px;
      max-height: 8px;
      background: rgba(255, 2, 0, 0.5);
      top: 4.6em;
      right: -20%; }
    .feature article .lead .decoration.d03 {
      width: 22.7868852459vw;
      height: 1.3114754098vw;
      max-width: 278px;
      max-height: 16px;
      background: rgba(0, 72, 150, 0.3);
      top: 6.3em;
      right: -2%; }
    .feature article .lead .decoration.d04 {
      width: 8.6885245902vw;
      max-width: 106px;
      top: 5em;
      left: 11.4%; }
    .feature article .lead .decoration.d05 {
      width: 2.868852459vw;
      max-width: 35px;
      top: 10.8em;
      right: 10%; }
    .feature article .lead .decoration.d06 {
      width: 14.5901639344vw;
      max-width: 178px;
      top: 15.7em;
      left: -3.5%; }
  .feature article .lead .inner {
    font-weight: 500;
    letter-spacing: .05em;
    text-align: center;
    color: #004896; }
    .feature article .lead .inner p {
      font-size: clamp(13px, 1.3114754098vw, 16px);
      line-height: 2;
      padding-top: 5em; }
    .feature article .lead .inner--anchor {
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: clamp(16px, 1.6393442623vw, 20px);
      text-align: center;
      margin-top: 5em; }
      .feature article .lead .inner--anchor li {
        width: 10.8em;
        margin: 0 1.5%; }
        .feature article .lead .inner--anchor li a {
          color: #004896;
          padding-bottom: 2em;
          position: relative; }
          .feature article .lead .inner--anchor li a:before {
            content: '';
            display: block;
            position: absolute;
            width: 1.2em;
            height: 1.4em;
            background: url("/img/saiyou/common/img_decoration_arrow04-bl.svg") no-repeat center center/cover;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            opacity: 0;
            transition: all .5s ease; }
          .feature article .lead .inner--anchor li a .image {
            width: 100%; }
          .feature article .lead .inner--anchor li a h2 {
            margin-top: .5em; }
          .feature article .lead .inner--anchor li a:hover {
            opacity: 1;
            transform: scale(1.04); }
            .feature article .lead .inner--anchor li a:hover:before {
              opacity: 1; }
.feature article .container--block {
  margin: 7.5em auto 0; }
  .feature article .container--block--main, .feature article .container--block--over {
    width: 100vw;
    height: 47.3770491803vw;
    max-height: 578px;
    clip-path: polygon(100% 0, 100% 88%, 50% 100%, 0 88%, 0 0);
    color: #fff;
    padding: 0;
    position: relative; }
    .feature article .container--block--main--texts, .feature article .container--block--over--texts {
      width: 90%;
      text-align: center;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
      .feature article .container--block--main--texts h2, .feature article .container--block--over--texts h2 {
        font-size: clamp(19px, 1.9672131148vw, 24px);
        position: relative; }
        .feature article .container--block--main--texts h2:after, .feature article .container--block--over--texts h2:after {
          content: attr(data-en);
          position: absolute;
          font-size: clamp(44px, 4.5081967213vw, 55px);
          font-family: "Poppins", sans-serif;
          line-height: 1;
          text-transform: uppercase;
          white-space: nowrap;
          top: -1.1em;
          left: 50%;
          transform: skewX(-10deg) translateX(-50%); }
      .feature article .container--block--main--texts p, .feature article .container--block--over--texts p {
        font-size: clamp(14px, 1.4754098361vw, 18px);
        margin-top: 1em; }
  .feature article .container--block .inner--lead {
    text-align: center;
    color: #004896; }
    .feature article .container--block .inner--lead h3 {
      font-size: clamp(22px, 2.2950819672vw, 28px);
      font-weight: 500;
      margin-top: 1.5em; }
    .feature article .container--block .inner--lead p {
      font-size: clamp(12px, 1.2295081967vw, 15px);
      font-weight: 500;
      line-height: 2;
      letter-spacing: .05em;
      margin-top: 2.5em; }
  .feature article .container--block .inner--wrap .figure {
    width: 87.3%;
    margin: 7em auto 0; }
  .feature article .container--block--over {
    height: 50.8196721311vw;
    max-height: 620px;
    clip-path: polygon(50% 11.5%, 100% 0, 100% 100%, 0 100%, 0 0);
    margin-top: 5em; }
  .feature article .container--block.b01 .container--block--main .parallax-bg {
    background-image: url("/img/saiyou/feature/img_bg01.webp"); }
  .feature article .container--block.b02 .container--block--main .parallax-bg {
    background-image: url("/img/saiyou/feature/img_bg02.webp"); }
  .feature article .container--block.b03 .container--block--main .parallax-bg {
    background-image: url("/img/saiyou/feature/img_bg03.webp"); }
  .feature article .container--block.b03 .inner--wrap {
    position: relative; }
    .feature article .container--block.b03 .inner--wrap .timeline {
      position: relative;
      overflow: visible; }
      .feature article .container--block.b03 .inner--wrap .timeline--current, .feature article .container--block.b03 .inner--wrap .timeline--category, .feature article .container--block.b03 .inner--wrap .timeline--goal {
        position: relative;
        z-index: 2; }
      .feature article .container--block.b03 .inner--wrap .timeline h4 {
        position: relative;
        font-size: clamp(18px, 1.8032786885vw, 22px);
        transform: skewX(-5deg);
        color: #004896;
        z-index: 3;
        margin-top: 2.5em; }
      .feature article .container--block.b03 .inner--wrap .timeline p {
        font-weight: 500;
        line-height: 2; }
      .feature article .container--block.b03 .inner--wrap .timeline .timeline-dot {
        display: block;
        position: relative;
        width: 1.2em;
        height: 1.2em;
        border-radius: 50%;
        background: #e60012;
        border: 5px solid #e60012;
        transition: all .35s ease;
        margin: 1em auto 0;
        z-index: 4; }
        .feature article .container--block.b03 .inner--wrap .timeline .timeline-dot.is-active {
          background: #fff;
          border: 4px solid #e60012;
          box-shadow: 3px 3px 6px 0px rgba(64, 123, 190, 0.24), -4px -2px 24px 0px #fff; }
      .feature article .container--block.b03 .inner--wrap .timeline--current {
        text-align: center; }
      .feature article .container--block.b03 .inner--wrap .timeline--category {
        overflow: visible;
        display: flex;
        justify-content: center;
        position: relative;
        padding-top: 2em; }
        .feature article .container--block.b03 .inner--wrap .timeline--category:nth-last-child(2) {
          padding-bottom: 7.5em; }
        .feature article .container--block.b03 .inner--wrap .timeline--category.row {
          flex-direction: row-reverse; }
          .feature article .container--block.b03 .inner--wrap .timeline--category.row .image {
            padding: 0 13.5% 0 3%;
            margin: 0 auto 0 0; }
          .feature article .container--block.b03 .inner--wrap .timeline--category.row .timeline--category--texts {
            margin: 0 auto 0 0; }
            .feature article .container--block.b03 .inner--wrap .timeline--category.row .timeline--category--texts dl {
              text-align: right; }
            .feature article .container--block.b03 .inner--wrap .timeline--category.row .timeline--category--texts p {
              margin-left: auto; }
        .feature article .container--block.b03 .inner--wrap .timeline--category .image {
          width: 47%;
          padding: 0 3% 0 13.5%;
          margin-left: auto; }
        .feature article .container--block.b03 .inner--wrap .timeline--category .timeline-dot {
          position: absolute;
          top: 7.5em;
          left: 50%;
          transform: translateX(-50%); }
        .feature article .container--block.b03 .inner--wrap .timeline--category--texts {
          width: 47%;
          margin: 0 0 0 auto; }
          .feature article .container--block.b03 .inner--wrap .timeline--category--texts dl dt {
            font-size: clamp(30px, 3.0327868852vw, 37px);
            font-family: "Poppins", sans-serif;
            line-height: 1;
            text-transform: uppercase;
            white-space: nowrap;
            color: #e60012;
            transform: skewX(-10deg);
            margin-top: 2em; }
          .feature article .container--block.b03 .inner--wrap .timeline--category--texts dl dd h4 {
            margin-top: 1em; }
          .feature article .container--block.b03 .inner--wrap .timeline--category--texts p {
            width: 70%;
            text-align: justify;
            margin-top: 1em; }
      .feature article .container--block.b03 .inner--wrap .timeline--goal {
        text-align: center; }
        .feature article .container--block.b03 .inner--wrap .timeline--goal .timeline-dot {
          margin-top: 0; }
        .feature article .container--block.b03 .inner--wrap .timeline--goal dl dt {
          font-size: clamp(18px, 1.8032786885vw, 22px);
          font-family: "Poppins", sans-serif;
          line-height: 1;
          text-transform: uppercase;
          white-space: nowrap;
          color: #e60012;
          transform: skewX(-10deg);
          margin-top: 1em; }
        .feature article .container--block.b03 .inner--wrap .timeline--goal dl dd h4 {
          font-size: clamp(36px, 3.6885245902vw, 45px);
          font-weight: 500;
          margin-top: .1em; }
        .feature article .container--block.b03 .inner--wrap .timeline--goal p {
          font-size: clamp(12px, 1.2295081967vw, 15px);
          color: #004896;
          margin-top: 2.5em; }
    .feature article .container--block.b03 .inner--wrap .timeline-line--wrap {
      position: absolute;
      top: 0;
      left: 50%;
      width: 1.5px;
      height: 100%;
      transform: translateX(-50%);
      pointer-events: none;
      z-index: 1; }
      .feature article .container--block.b03 .inner--wrap .timeline-line--wrap .timeline-line--item {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #e60012;
        transform: scaleY(0);
        transform-origin: center top;
        will-change: transform; }
  .feature article .container--block.b03 .container--block--over .parallax-bg {
    background-image: url("/img/saiyou/feature/img_bg04.webp"); }

@media screen and (max-width: 767px) {
  .feature article .main--block .decoration.d01 {
    width: 57.3333333333vw; }
  .feature article .main--block .decoration.d02 {
    width: 28.8vw;
    top: 3.5%;
    left: -6%; }
  .feature article .main--block .decoration.d03 {
    width: 32.5333333333vw;
    bottom: 5%;
    right: -10%; }
  .feature article .main--block .decoration.d04 {
    width: 33.0666666667vw;
    bottom: -18%;
    left: -6%; }
  .feature article .main--block .decoration.d05 {
    width: 16vw;
    height: 16vw;
    right: 3.3%; }
  .feature article .main--block .decoration.d06 {
    width: 37.0666666667vw;
    height: 2.1333333333vw;
    left: -12%; }
  .feature article .main--block .decoration.d07 {
    width: 50.6666666667vw;
    height: 1.0666666667vw;
    left: -24%; }
  .feature article .main--block .decoration.d08 {
    width: 4.8vw;
    bottom: 4%; }
  .feature article .main--block .decoration.d09 {
    width: 4.5333333333vw;
    height: 7.4666666667vw;
    top: 10%;
    right: 30%; }
  .feature article .main--block .decoration.d10 {
    width: 6.1333333333vw;
    height: 10.1333333333vw;
    bottom: 10%;
    left: 32.5%; }
  .feature article .main--block .decoration.d11 {
    width: 23.7333333333vw;
    top: 8.8%;
    left: 10%; }
  .feature article .lead .decoration.d01 {
    width: 45.8666666667vw;
    height: 3.2vw;
    left: -25%; }
  .feature article .lead .decoration.d02 {
    width: 50.6666666667vw;
    height: 1.0666666667vw;
    right: -40%; }
  .feature article .lead .decoration.d03 {
    width: 37.0666666667vw;
    height: 2.1333333333vw;
    right: -50%; }
  .feature article .lead .decoration.d04 {
    width: 14.1333333333vw;
    left: -10%; }
  .feature article .lead .decoration.d05 {
    width: 5.0666666667vw;
    right: 2.6%; }
  .feature article .lead .decoration.d06 {
    width: 23.7333333333vw;
    top: 17.5em;
    left: -14%; }
  .feature article .lead .inner p {
    font-size: clamp(12px, 3.4666666667vw, 16px); }
  .feature article .lead .inner--anchor {
    font-size: clamp(12px, 3.7333333333vw, 20px); }
    .feature article .lead .inner--anchor li {
      width: 30%;
      margin: 0 auto; }
  .feature article .container--block {
    margin: 5em auto 0; }
    .feature article .container--block--main, .feature article .container--block--over {
      height: 77.0666666667vw; }
      .feature article .container--block--main--texts h2, .feature article .container--block--over--texts h2 {
        font-size: clamp(19px, 5.0666666667vw, 24px); }
        .feature article .container--block--main--texts h2:after, .feature article .container--block--over--texts h2:after {
          font-size: clamp(44px, 11.7333333333vw, 55px); }
      .feature article .container--block--main--texts p, .feature article .container--block--over--texts p {
        font-size: clamp(14px, 3.7333333333vw, 18px); }
    .feature article .container--block .inner--lead h3 {
      font-size: clamp(22px, 5.8666666667vw, 28px); }
    .feature article .container--block .inner--lead p {
      font-size: clamp(12px, 3.2vw, 15px);
      text-align: justify;
      padding: 0 5%; }
    .feature article .container--block .inner--wrap .figure {
      width: 100%;
      margin: 3.5em auto 0; }
      .feature article .container--block .inner--wrap .figure img {
        width: 175vw;
        max-width: inherit; }
    .feature article .container--block--over {
      height: 82.6666666667vw;
      margin-top: 5em; }
    .feature article .container--block.b03 .inner--wrap .timeline h4 {
      font-size: clamp(18px, 4.8vw, 22px);
      margin-top: 2.5em; }
    .feature article .container--block.b03 .inner--wrap .timeline .timeline-dot {
      margin: 1em auto 0; }
    .feature article .container--block.b03 .inner--wrap .timeline--category {
      flex-direction: column !important; }
      .feature article .container--block.b03 .inner--wrap .timeline--category:nth-last-child(2) {
        padding-bottom: 7.5em; }
      .feature article .container--block.b03 .inner--wrap .timeline--category .image {
        width: 70% !important;
        padding: 0 !important;
        margin: 2em auto 0 !important;
        order: 1; }
      .feature article .container--block.b03 .inner--wrap .timeline--category .timeline-dot {
        position: relative;
        top: inherit;
        left: inherit;
        transform: none;
        margin: 1.5em auto 0;
        order: 2; }
      .feature article .container--block.b03 .inner--wrap .timeline--category--texts {
        width: 100%;
        background-color: #fff;
        padding: 1.5em 1em;
        margin: 1.5em auto 0 !important;
        order: 3; }
        .feature article .container--block.b03 .inner--wrap .timeline--category--texts dl dt,
        .feature article .container--block.b03 .inner--wrap .timeline--category--texts dl dd {
          text-align: center; }
        .feature article .container--block.b03 .inner--wrap .timeline--category--texts dl dt {
          font-size: clamp(18px, 5.8666666667vw, 37px);
          text-align: center;
          margin-top: 0; }
        .feature article .container--block.b03 .inner--wrap .timeline--category--texts p {
          width: 90%;
          margin: 2em auto 0; }
    .feature article .container--block.b03 .inner--wrap .timeline--goal dl dt {
      font-size: clamp(18px, 4.8vw, 22px); }
    .feature article .container--block.b03 .inner--wrap .timeline--goal dl dd h4 {
      font-size: clamp(36px, 9.6vw, 45px); }
    .feature article .container--block.b03 .inner--wrap .timeline--goal p {
      font-size: clamp(12px, 3.2vw, 15px); } }
.infographics article .main--block {
  background: url("/img/saiyou/infographics/main_bg.webp") no-repeat center center/cover; }
  .infographics article .main--block:after {
    content: '';
    display: block;
    position: absolute;
    width: 19.0163934426vw;
    height: 8.0327868852vw;
    max-width: 232px;
    max-height: 98px;
    background: rgba(255, 255, 255, 0.3);
    bottom: 0;
    right: -11%;
    animation: slide02 ease-in-out 5s infinite alternate;
    -webkit-animation: slide02 ease-in-out 5s infinite alternate;
    -moz-animation: slide02 ease-in-out 5s infinite alternate; }
.infographics article .lead {
  position: relative; }
  .infographics article .lead .decoration {
    position: absolute; }
    .infographics article .lead .decoration.d01 {
      width: 28.1967213115vw;
      height: 1.9672131148vw;
      max-width: 344px;
      max-height: 24px;
      background: rgba(0, 72, 150, 0.1);
      top: 6.6em;
      left: -6.5%; }
    .infographics article .lead .decoration.d02 {
      width: 31.1475409836vw;
      height: 0.6557377049vw;
      max-width: 380px;
      max-height: 8px;
      background: rgba(255, 2, 0, 0.5);
      top: 4.6em;
      right: -20%; }
    .infographics article .lead .decoration.d03 {
      width: 22.7868852459vw;
      height: 1.3114754098vw;
      max-width: 278px;
      max-height: 16px;
      background: rgba(0, 72, 150, 0.3);
      top: 6.3em;
      right: -2%; }
    .infographics article .lead .decoration.d04 {
      width: 8.6885245902vw;
      max-width: 106px;
      top: 5em;
      left: 11.4%; }
    .infographics article .lead .decoration.d05 {
      width: 2.868852459vw;
      max-width: 35px;
      top: 10.8em;
      right: 10%; }
    .infographics article .lead .decoration.d06 {
      width: 14.5901639344vw;
      max-width: 178px;
      top: 15.7em;
      left: -3.5%; }
  .infographics article .lead .inner {
    font-weight: 500;
    letter-spacing: .05em;
    text-align: center;
    color: #004896; }
    .infographics article .lead .inner p {
      font-size: clamp(13px, 1.3114754098vw, 16px);
      line-height: 2;
      padding-top: 5em; }
    .infographics article .lead .inner--anchor {
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: clamp(11px, 1.1475409836vw, 14px);
      text-align: center;
      margin-top: 5em; }
      .infographics article .lead .inner--anchor li {
        width: 26em;
        margin: 0 .5%; }
        .infographics article .lead .inner--anchor li a {
          color: #fff;
          padding: 2.5em .8em .8em;
          position: relative; }
          .infographics article .lead .inner--anchor li a:before {
            content: '';
            display: block;
            position: absolute;
            width: 1.2em;
            height: 1.2em;
            background-color: #fff;
            clip-path: polygon(0 0, 0% 100%, 100% 0);
            top: .5em;
            left: .5em;
            opacity: 0;
            transition: all .5s ease; }
          .infographics article .lead .inner--anchor li a h2 {
            position: relative; }
            .infographics article .lead .inner--anchor li a h2:after {
              content: attr(data-en);
              position: absolute;
              font-size: clamp(19px, 1.9672131148vw, 24px);
              font-weight: 400 !important;
              font-family: "Poppins", sans-serif;
              line-height: 1;
              text-transform: uppercase;
              white-space: nowrap;
              top: -1em;
              left: 50%;
              transform: translateX(-50%); }
          .infographics article .lead .inner--anchor li a:hover {
            opacity: 1;
            transform: scale(1.04); }
            .infographics article .lead .inner--anchor li a:hover:before {
              opacity: 1; }
        .infographics article .lead .inner--anchor li:nth-of-type(odd) a {
          background-color: #004896; }
        .infographics article .lead .inner--anchor li:nth-of-type(even) a {
          background-color: #e60012; }
.infographics article .container .inner {
  overflow: hidden; }
  .infographics article .container .inner--title {
    font-size: clamp(16px, 1.6393442623vw, 20px);
    text-align: center;
    color: #004896;
    margin-top: 6.5em;
    position: relative; }
    .infographics article .container .inner--title:before {
      content: '';
      display: block;
      position: absolute;
      width: 100%;
      height: 1;
      border-top: 1px solid #004896;
      clip-path: polygon(0% 0%, 0% 100%, 34% 100%, 34% 0%, 66% 0%, 66% 100%, 34% 100%, 34% 100%, 100% 100%, 100% 0%);
      top: -1.5em;
      left: 50%;
      transform: translateX(-50%); }
    .infographics article .container .inner--title h3 {
      position: relative; }
      .infographics article .container .inner--title h3:after {
        content: attr(data-en);
        position: absolute;
        font-size: clamp(33px, 3.3606557377vw, 41px);
        font-family: "Poppins", sans-serif;
        line-height: 1;
        text-transform: uppercase;
        white-space: nowrap;
        color: #004896;
        top: -1.2em;
        left: 50%;
        transform: translateX(-50%); }
  .infographics article .container .inner--wrap {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap; }
    .infographics article .container .inner--wrap--category {
      width: 30%;
      margin-top: 3.5em; }
      .infographics article .container .inner--wrap--category p {
        line-height: 1.7;
        letter-spacing: .05em;
        text-align: justify;
        margin-top: .5em; }
.infographics article .container.container01 .inner--title:before {
  clip-path: polygon(0% 0%, 0% 100%, 34% 100%, 34% 0%, 66% 0%, 66% 100%, 34% 100%, 34% 100%, 100% 100%, 100% 0%); }
.infographics article .container.container02 .inner--title {
  color: #e60012; }
  .infographics article .container.container02 .inner--title h3:after {
    color: #e60012; }
  .infographics article .container.container02 .inner--title:before {
    border-color: #e60012;
    clip-path: polygon(0% 0%, 0% 100%, 32% 100%, 32% 0%, 68% 0%, 68% 100%, 32% 100%, 32% 100%, 100% 100%, 100% 0%); }

@media screen and (max-width: 767px) {
  .infographics article .main--block:after {
    width: 30.9333333333vw;
    height: 13.0666666667vw;
    right: -22%; }
  .infographics article .lead .decoration.d01 {
    width: 45.8666666667vw;
    height: 3.2vw;
    left: -25%; }
  .infographics article .lead .decoration.d02 {
    width: 50.6666666667vw;
    height: 1.0666666667vw;
    right: -40%; }
  .infographics article .lead .decoration.d03 {
    width: 37.0666666667vw;
    height: 2.1333333333vw;
    right: -50%; }
  .infographics article .lead .decoration.d04 {
    width: 14.1333333333vw;
    left: -10%; }
  .infographics article .lead .decoration.d05 {
    width: 5.0666666667vw;
    right: 2.6%; }
  .infographics article .lead .decoration.d06 {
    width: 23.7333333333vw;
    top: 20em;
    left: -14%; }
  .infographics article .lead .inner p {
    font-size: clamp(12px, 3.4666666667vw, 16px); }
  .infographics article .lead .inner--anchor {
    font-size: clamp(11px, 2.9333333333vw, 14px); }
    .infographics article .lead .inner--anchor li {
      width: 47%;
      margin: 0 auto; }
      .infographics article .lead .inner--anchor li a:before {
        opacity: 1; }
      .infographics article .lead .inner--anchor li a h2:after {
        font-size: clamp(13px, 3.7333333333vw, 24px); }
  .infographics article .container .inner--title {
    font-size: clamp(16px, 4.2666666667vw, 20px);
    margin-top: 6.5em; }
    .infographics article .container .inner--title h3:after {
      font-size: clamp(33px, 8.8vw, 41px); }
  .infographics article .container .inner--wrap {
    justify-content: center; }
    .infographics article .container .inner--wrap--category {
      width: 85%; }
  .infographics article .container.container01 .inner--title:before {
    clip-path: polygon(0% 0%, 0% 100%, 12% 100%, 12% 0%, 88% 0%, 88% 100%, 12% 100%, 12% 100%, 100% 100%, 100% 0%); }
  .infographics article .container.container02 .inner--title:before {
    clip-path: polygon(0% 0%, 0% 100%, 8% 100%, 8% 0%, 92% 0%, 92% 100%, 8% 100%, 8% 100%, 100% 100%, 100% 0%); } }
.keyword article .main--block {
  overflow: inherit !important;
  height: 71.4754098361vw !important;
  max-height: 872px !important;
  background: url("/img/saiyou/introduction/keyword/main_bg.webp") no-repeat center center/cover; }
  .keyword article .main--block .decoration {
    position: absolute; }
    .keyword article .main--block .decoration.d01 {
      width: 41.2295081967vw;
      height: 41.2295081967vw;
      max-width: 503px;
      max-height: 503px;
      background: rgba(255, 255, 255, 0.3);
      mix-blend-mode: soft-light;
      border-radius: 50%;
      top: 6.5%;
      left: 50%; }
    .keyword article .main--block .decoration.d02 {
      width: 12.131147541vw;
      height: 12.131147541vw;
      max-width: 148px;
      max-height: 148px;
      border: 1px solid rgba(255, 255, 255, 0.3);
      mix-blend-mode: soft-light;
      border-radius: 50%;
      top: 54%;
      right: 7.5%; }
    .keyword article .main--block .decoration.d03 {
      width: 19.0163934426vw;
      height: 8.0327868852vw;
      max-width: 232px;
      max-height: 98px;
      background: rgba(255, 255, 255, 0.3);
      mix-blend-mode: soft-light;
      top: 47.5%;
      left: -11%; }
    .keyword article .main--block .decoration.d04 {
      width: 22.7868852459vw;
      height: 1.3114754098vw;
      max-width: 278px;
      max-height: 16px;
      background: rgba(255, 255, 255, 0.3);
      top: 37%;
      right: -2.5%; }
    .keyword article .main--block .decoration.d05 {
      width: 31.1475409836vw;
      height: 0.6557377049vw;
      max-width: 380px;
      max-height: 8px;
      background: rgba(255, 255, 255, 0.5);
      top: 40.4%;
      right: -20%; }
    .keyword article .main--block .decoration.d06 {
      width: 3.4426229508vw;
      height: 5.737704918vw;
      max-width: 42px;
      max-height: 70px;
      clip-path: polygon(0 0, 100% 100%, 100% 0);
      background: rgba(255, 255, 255, 0.2);
      top: 10%;
      left: 31%; }
    .keyword article .main--block .decoration.d07 {
      width: 4.6721311475vw;
      height: 7.7049180328vw;
      max-width: 57px;
      max-height: 94px;
      clip-path: polygon(0 0, 100% 100%, 100% 0);
      background: rgba(255, 255, 255, 0.5);
      top: 42.5%;
      right: 22.5%; }
    .keyword article .main--block .decoration.d08 {
      width: 2.868852459vw;
      max-width: 35px;
      opacity: .5;
      top: 40%;
      left: 17.5%; }
    .keyword article .main--block .decoration.d09 {
      width: 12.5409836066vw;
      max-width: 153px;
      top: -2.5%;
      left: 4%; }
    .keyword article .main--block .decoration.d10 {
      width: 22.131147541vw;
      max-width: 270px;
      top: 12%;
      right: 7.5%; }
    .keyword article .main--block .decoration.d11 {
      width: 5.1639344262vw;
      max-width: 63px;
      bottom: 1%;
      left: 50%; }
  .keyword article .main--block .inner {
    top: 55% !important; }
    .keyword article .main--block .inner--title dl dd {
      margin-top: 0.5em !important; }
    .keyword article .main--block .inner--title .catch {
      font-size: clamp(80px, 8.1967213115vw, 100px);
      line-height: 1;
      transform: skewX(-10deg);
      letter-spacing: -.03em;
      text-align: center;
      color: transparent;
      -webkit-text-stroke: 1px #fff;
      paint-order: stroke;
      margin-top: 2em; }
.keyword article .container--block {
  margin: 3em auto 0; }
  .keyword article .container--block--content {
    width: 100vw;
    height: 50.8196721311vw;
    max-height: 620px;
    display: flex;
    align-items: center;
    color: #fff;
    padding: 0; }
    .keyword article .container--block--content .inner {
      height: 100%; }
      .keyword article .container--block--content .inner--wrap {
        display: flex;
        height: 100%; }
        .keyword article .container--block--content .inner--wrap .text-box {
          width: 50%;
          background-color: rgba(0, 72, 150, 0.9);
          padding: 2.5em 5em;
          letter-spacing: .05em; }
          .keyword article .container--block--content .inner--wrap .text-box h2 {
            font-size: clamp(27px, 2.7868852459vw, 34px);
            transform: skewX(-10deg);
            margin-top: .5em; }
          .keyword article .container--block--content .inner--wrap .text-box p {
            line-height: 2;
            text-align: justify;
            margin-top: 2em; }
            .keyword article .container--block--content .inner--wrap .text-box p.number {
              font-size: clamp(120px, 12.2950819672vw, 150px);
              line-height: 1;
              transform: skewX(-10deg);
              letter-spacing: -.03em;
              color: transparent;
              -webkit-text-stroke: 1px #fff;
              paint-order: stroke;
              margin: 0; }
              .keyword article .container--block--content .inner--wrap .text-box p.number span {
                display: inline-block;
                padding-right: .7em;
                position: relative; }
                .keyword article .container--block--content .inner--wrap .text-box p.number span:after {
                  content: '';
                  display: block;
                  position: absolute;
                  width: .5em;
                  height: .4em;
                  background: url("/img/saiyou/common/img_decoration_arrow03-wh.svg") no-repeat center center/cover;
                  top: 50%;
                  transform: translateY(-50%);
                  right: 0; }
  .keyword article .container--block:nth-of-type(even) .container--block--content .inner--wrap {
    flex-direction: row-reverse; }
    .keyword article .container--block:nth-of-type(even) .container--block--content .inner--wrap .text-box {
      background-color: rgba(230, 0, 18, 0.9); }
      .keyword article .container--block:nth-of-type(even) .container--block--content .inner--wrap .text-box h2 {
        text-align: right; }
      .keyword article .container--block:nth-of-type(even) .container--block--content .inner--wrap .text-box p.number {
        text-align: right; }
        .keyword article .container--block:nth-of-type(even) .container--block--content .inner--wrap .text-box p.number span {
          padding: 0 0 0 .7em; }
          .keyword article .container--block:nth-of-type(even) .container--block--content .inner--wrap .text-box p.number span:after {
            left: 0;
            right: inherit; }
  .keyword article .container--block.b01 .container--block--content .parallax-bg {
    background-image: url("/img/saiyou/introduction/keyword/img_bg01.webp"); }
  .keyword article .container--block.b02 .container--block--content .parallax-bg {
    background-image: url("/img/saiyou/introduction/keyword/img_bg02.webp"); }
  .keyword article .container--block.b03 .container--block--content .parallax-bg {
    background-image: url("/img/saiyou/introduction/keyword/img_bg03.webp"); }
  .keyword article .container--block.b04 .container--block--content .parallax-bg {
    background-image: url("/img/saiyou/introduction/keyword/img_bg04.webp"); }
  .keyword article .container--block.b05 .container--block--content .parallax-bg {
    background-image: url("/img/saiyou/introduction/keyword/img_bg05.webp"); }
  .keyword article .container--block.b06 .container--block--content .parallax-bg {
    background-image: url("/img/saiyou/introduction/keyword/img_bg06.webp"); }

@media screen and (max-width: 767px) {
  .keyword article .main--block {
    height: 128vw !important; }
    .keyword article .main--block .decoration.d01 {
      width: 82.6666666667vw;
      height: 82.6666666667vw;
      top: 10%; }
    .keyword article .main--block .decoration.d02 {
      width: 19.7333333333vw;
      height: 19.7333333333vw;
      top: 65%;
      right: 3.5%; }
    .keyword article .main--block .decoration.d03 {
      width: 30.9333333333vw;
      height: 13.0666666667vw;
      top: 62.5%;
      left: -22%; }
    .keyword article .main--block .decoration.d04 {
      width: 37.0666666667vw;
      height: 1.6vw;
      top: 32.5%;
      right: -10%; }
    .keyword article .main--block .decoration.d05 {
      width: 50.6666666667vw;
      height: 0.8vw;
      top: 35%;
      right: -30%; }
    .keyword article .main--block .decoration.d06 {
      width: 4.2666666667vw;
      height: 7.4666666667vw;
      top: 8%; }
    .keyword article .main--block .decoration.d07 {
      width: 6.4vw;
      height: 10.1333333333vw;
      top: 50%;
      right: 10%; }
    .keyword article .main--block .decoration.d08 {
      width: 4vw;
      top: 32.5%;
      left: 4%; }
    .keyword article .main--block .decoration.d09 {
      width: 18.6666666667vw;
      left: 2%; }
    .keyword article .main--block .decoration.d10 {
      width: 28.8vw;
      top: 6%;
      right: 4%; }
    .keyword article .main--block .decoration.d11 {
      width: 7.2vw; }
    .keyword article .main--block .inner {
      top: 52.5% !important; }
      .keyword article .main--block .inner--title .catch {
        font-size: clamp(36px, 10.6666666667vw, 100px);
        margin-top: 1.7em; }
  .keyword article .container--block--content {
    height: 100%;
    max-height: inherit; }
    .keyword article .container--block--content .inner {
      height: 100%; }
      .keyword article .container--block--content .inner--wrap {
        display: flex;
        height: 100%; }
        .keyword article .container--block--content .inner--wrap .text-box {
          width: 100%;
          padding: 2.5em; }
          .keyword article .container--block--content .inner--wrap .text-box h2 {
            font-size: clamp(21px, 6.4vw, 34px); }
          .keyword article .container--block--content .inner--wrap .text-box p.number {
            font-size: clamp(65px, 17.3333333333vw, 150px); }
  .keyword article .container--block:nth-of-type(even) .container--block--content .inner--wrap {
    flex-direction: row; } }
.recruit article .main--block:after {
  content: '';
  display: block;
  position: absolute;
  width: 19.0163934426vw;
  height: 8.0327868852vw;
  max-width: 232px;
  max-height: 98px;
  background: rgba(255, 255, 255, 0.3);
  bottom: 0;
  right: -11%;
  animation: slide02 ease-in-out 5s infinite alternate;
  -webkit-animation: slide02 ease-in-out 5s infinite alternate;
  -moz-animation: slide02 ease-in-out 5s infinite alternate; }
.recruit article .lead {
  position: relative; }
  .recruit article .lead .decoration {
    position: absolute; }
    .recruit article .lead .decoration.d01 {
      width: 28.1967213115vw;
      height: 1.9672131148vw;
      max-width: 344px;
      max-height: 24px;
      background: rgba(0, 72, 150, 0.1);
      top: 6.6em;
      left: -6.5%; }
    .recruit article .lead .decoration.d02 {
      width: 31.1475409836vw;
      height: 0.6557377049vw;
      max-width: 380px;
      max-height: 8px;
      background: rgba(255, 2, 0, 0.5);
      top: 4.6em;
      right: -20%; }
    .recruit article .lead .decoration.d03 {
      width: 22.7868852459vw;
      height: 1.3114754098vw;
      max-width: 278px;
      max-height: 16px;
      background: rgba(0, 72, 150, 0.3);
      top: 6.3em;
      right: -2%; }
    .recruit article .lead .decoration.d04 {
      width: 8.6885245902vw;
      max-width: 106px;
      top: 5em;
      left: 11.4%; }
    .recruit article .lead .decoration.d05 {
      width: 2.868852459vw;
      max-width: 35px;
      top: 10.8em;
      right: 10%; }
    .recruit article .lead .decoration.d06 {
      width: 14.5901639344vw;
      max-width: 178px;
      top: 15.7em;
      left: -3.5%; }
  .recruit article .lead .inner {
    font-weight: 500;
    letter-spacing: .05em;
    text-align: center;
    color: #004896; }
    .recruit article .lead .inner h2 {
      font-size: clamp(21px, 2.131147541vw, 26px);
      padding-top: 2.5em; }
    .recruit article .lead .inner p {
      font-size: clamp(13px, 1.3114754098vw, 16px);
      margin-top: 1em; }
.recruit article .container .inner {
  overflow: hidden; }
  .recruit article .container .inner--title {
    font-size: clamp(16px, 1.6393442623vw, 20px);
    text-align: center;
    color: #004896;
    margin-top: 6.5em;
    position: relative; }
    .recruit article .container .inner--title:before {
      content: '';
      display: block;
      position: absolute;
      width: 100%;
      height: 1;
      border-top: 1px solid #004896;
      clip-path: polygon(0% 0%, 0% 100%, 34% 100%, 34% 0%, 66% 0%, 66% 100%, 34% 100%, 34% 100%, 100% 100%, 100% 0%);
      top: -1.5em;
      left: 50%;
      transform: translateX(-50%); }
    .recruit article .container .inner--title h3 {
      position: relative; }
      .recruit article .container .inner--title h3:after {
        content: attr(data-en);
        position: absolute;
        font-size: clamp(33px, 3.3606557377vw, 41px);
        font-family: "Poppins", sans-serif;
        line-height: 1;
        text-transform: uppercase;
        white-space: nowrap;
        color: #004896;
        top: -1.2em;
        left: 50%;
        transform: translateX(-50%); }
  .recruit article .container .inner--wrap {
    background-color: #fff;
    padding: 5em;
    margin-top: 2em; }
.recruit article .container.container01 .inner--title:before {
  clip-path: polygon(0% 0%, 0% 100%, 34% 100%, 34% 0%, 66% 0%, 66% 100%, 34% 100%, 34% 100%, 100% 100%, 100% 0%); }
.recruit article .container.container01 .inner--wrap .table table {
  width: 100%;
  text-align: justify; }
  .recruit article .container.container01 .inner--wrap .table table tbody tr {
    border-bottom: 1px solid #004896; }
    .recruit article .container.container01 .inner--wrap .table table tbody tr th,
    .recruit article .container.container01 .inner--wrap .table table tbody tr td {
      vertical-align: top;
      padding: 1.5em 0; }
    .recruit article .container.container01 .inner--wrap .table table tbody tr th {
      width: 15%;
      font-size: clamp(12px, 1.2295081967vw, 15px);
      font-weight: 500;
      line-height: 1.6;
      letter-spacing: .1em;
      color: #004896; }
    .recruit article .container.container01 .inner--wrap .table table tbody tr td {
      width: 85%;
      font-size: clamp(11px, 1.1475409836vw, 14px);
      line-height: 2; }
      .recruit article .container.container01 .inner--wrap .table table tbody tr td a {
        color: #004896;
        line-height: 1.2; }
      .recruit article .container.container01 .inner--wrap .table table tbody tr td ul li {
        display: block;
        text-indent: .2;
        padding-left: 1.2em;
        position: relative; }
        .recruit article .container.container01 .inner--wrap .table table tbody tr td ul li:after {
          content: '';
          display: block;
          position: absolute;
          width: 1em;
          height: 1em;
          border-radius: 50%;
          background-color: #004896;
          top: .55em;
          left: 0; }
.recruit article .container.container02 .inner--title:before {
  clip-path: polygon(0% 0%, 0% 100%, 32% 100%, 32% 0%, 68% 0%, 68% 100%, 32% 100%, 32% 100%, 100% 100%, 100% 0%); }
.recruit article .container.container02 .inner--wrap {
  padding-bottom: 10em; }
  .recruit article .container.container02 .inner--wrap--category {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    font-size: clamp(12px, 1.2295081967vw, 15px);
    text-align: center; }
    .recruit article .container.container02 .inner--wrap--category p {
      width: 100%;
      line-height: 1.8;
      color: #004896;
      margin-top: 2.5em; }
    .recruit article .container.container02 .inner--wrap--category--col {
      margin: 0 2.5%; }
      .recruit article .container.container02 .inner--wrap--category--col:last-of-type dl {
        background-color: #e60012; }
        .recruit article .container.container02 .inner--wrap--category--col:last-of-type dl:after {
          display: none; }
      .recruit article .container.container02 .inner--wrap--category--col dl {
        width: 9.5em;
        height: 9.5em;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-content: flex-start;
        flex-wrap: wrap;
        background-color: #004896;
        color: #fff;
        position: relative; }
        .recruit article .container.container02 .inner--wrap--category--col dl:after {
          content: '';
          display: block;
          position: absolute;
          width: .8em;
          height: 1em;
          background-color: #e60012;
          clip-path: polygon(0 0, 0% 100%, 100% 50%);
          top: 50%;
          transform: translateY(-50%);
          right: -22.5%; }
        .recruit article .container.container02 .inner--wrap--category--col dl dt {
          font-weight: 300 !important;
          line-height: 1;
          text-transform: uppercase;
          margin-top: 2em; }
        .recruit article .container.container02 .inner--wrap--category--col dl dd {
          width: 100%;
          font-size: clamp(14px, 1.4754098361vw, 18px);
          letter-spacing: .05em;
          margin-top: .5em; }
      .recruit article .container.container02 .inner--wrap--category--col p {
        margin-top: .5em; }
.recruit article .container.container02 .inner .btn {
  margin-top: -1.8em; }
.recruit article .container.container03 .inner--title:before {
  clip-path: polygon(0% 0%, 0% 100%, 38% 100%, 38% 0%, 62% 0%, 62% 100%, 38% 100%, 38% 100%, 100% 100%, 100% 0%); }
.recruit article .container.container03 .inner--wrap--category p {
  font-size: clamp(14px, 1.4754098361vw, 18px);
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: .05em;
  text-align: center;
  color: #004896; }

.graduate article .main--block {
  background: url("/img/saiyou/recruit/graduate/main_bg.webp") no-repeat center center/cover; }

.career article .main--block {
  background: url("/img/saiyou/recruit/career/main_bg.webp") no-repeat center center/cover; }

@media screen and (max-width: 767px) {
  .recruit article .main--block:after {
    width: 30.9333333333vw;
    height: 13.0666666667vw;
    right: -22%; }
  .recruit article .lead .decoration.d01 {
    width: 45.8666666667vw;
    height: 3.2vw;
    left: -20%; }
  .recruit article .lead .decoration.d02 {
    width: 50.6666666667vw;
    height: 1.0666666667vw;
    right: -30%; }
  .recruit article .lead .decoration.d03 {
    width: 37.0666666667vw;
    height: 2.1333333333vw;
    right: -40%; }
  .recruit article .lead .decoration.d04 {
    width: 14.1333333333vw;
    left: -3%; }
  .recruit article .lead .decoration.d05 {
    width: 5.0666666667vw;
    right: 2.6%; }
  .recruit article .lead .decoration.d06 {
    width: 23.7333333333vw;
    top: 20em;
    left: -14%; }
  .recruit article .lead .inner h2 {
    font-size: clamp(21px, 5.6vw, 26px);
    padding-top: 2.5em; }
  .recruit article .lead .inner p {
    font-size: clamp(12px, 3.4666666667vw, 16px);
    margin-top: 1em; }
  .recruit article .container .inner--title {
    font-size: clamp(16px, 4.2666666667vw, 20px);
    margin-top: 6.5em; }
    .recruit article .container .inner--title h3:after {
      font-size: clamp(33px, 8.8vw, 41px); }
  .recruit article .container .inner--wrap {
    padding: 2.5em; }
  .recruit article .container.container01 .inner--title:before {
    clip-path: polygon(0% 0%, 0% 100%, 12% 100%, 12% 0%, 88% 0%, 88% 100%, 12% 100%, 12% 100%, 100% 100%, 100% 0%); }
  .recruit article .container.container01 .inner--wrap .table table tbody tr th {
    width: 30%;
    font-size: clamp(12px, 3.2vw, 15px); }
  .recruit article .container.container01 .inner--wrap .table table tbody tr td {
    width: 70%;
    font-size: clamp(11px, 2.9333333333vw, 14px); }
  .recruit article .container.container02 .inner--title:before {
    clip-path: polygon(0% 0%, 0% 100%, 8% 100%, 8% 0%, 92% 0%, 92% 100%, 8% 100%, 8% 100%, 100% 100%, 100% 0%); }
  .recruit article .container.container02 .inner--wrap {
    padding-bottom: 5em; }
    .recruit article .container.container02 .inner--wrap--category {
      font-size: clamp(12px, 3.2vw, 15px);
      flex-wrap: wrap; }
      .recruit article .container.container02 .inner--wrap--category--col {
        margin: 2em auto 0; }
        .recruit article .container.container02 .inner--wrap--category--col dl:after {
          right: -18%; }
        .recruit article .container.container02 .inner--wrap--category--col dl dt {
          margin-top: 2em; }
        .recruit article .container.container02 .inner--wrap--category--col dl dd {
          font-size: clamp(14px, 3.7333333333vw, 18px); }
        .recruit article .container.container02 .inner--wrap--category--col p {
          margin-top: .5em; }
  .recruit article .container.container03 .inner--title:before {
    clip-path: polygon(0% 0%, 0% 100%, 23% 100%, 23% 0%, 77% 0%, 77% 100%, 23% 100%, 23% 100%, 100% 100%, 100% 0%); }
  .recruit article .container.container03 .inner--wrap--category p {
    font-size: clamp(14px, 3.7333333333vw, 18px); } }
