@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

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

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

html {
  line-height: 1.5;
  word-wrap: break-word;
  overflow-wrap: break-word;
  text-underline-position: under;
  overflow-x: hidden;
}

body {
  overflow-x: hidden;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
body.is-active {
  overflow: hidden;
}

html, body {
  color: #525252;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  html, body {
    font-weight: 400;
  }
}

main > *:last-child {
  padding-bottom: 7.5vw;
}

@media screen and (max-width: 768px) {
  .pc-show {
    display: none !important;
  }
}

@media not screen and (max-width: 768px) {
  .sp-show {
    display: none !important;
  }
}

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

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

img {
  width: 100%;
  height: auto;
}

address,
em,
cite,
dfn,
var,
i {
  font-style: inherit;
}

img,
iframe,
video,
audio,
svg,
canvas {
  vertical-align: bottom;
}

img,
video {
  max-width: 100%;
  height: auto;
}

svg {
  fill: currentcolor;
}

table {
  border-collapse: collapse;
}

th {
  text-align: left;
}

input,
button,
select,
optgroup,
textarea {
  padding: 0;
  font: inherit;
  color: inherit;
  background-color: transparent;
  border: 0;
}

select {
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
}

select::-ms-expand {
  display: none;
}

fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

[hidden] {
  display: none !important;
}

/**
 * Swiper 8.1.4
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2022 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: April 24, 2022
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff ;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

.swiper-android .swiper-slide, .swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
          transform: translate3d(0px, 0, 0);
}

.swiper-pointer-events {
  -ms-touch-action: pan-y;
      touch-action: pan-y;
}

.swiper-pointer-events.swiper-vertical {
  -ms-touch-action: pan-x;
      touch-action: pan-x;
}

.swiper-slide {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-transition-property: height, -webkit-transform;
  transition-property: height, -webkit-transform;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform;
}

.swiper-backface-hidden .swiper-slide {
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper {
  -webkit-perspective: 1200px;
          perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide, .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-wrapper {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  -ms-scroll-snap-type: y mandatory;
      scroll-snap-type: y mandatory;
}

.swiper-centered > .swiper-wrapper::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-ordinal-group: 10000;
      -ms-flex-order: 9999;
          order: 9999;
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  -webkit-margin-start: var(--swiper-centered-offset-before);
          margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  -webkit-margin-before: var(--swiper-centered-offset-before);
          margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
}

.u-fz-emXxs {
  font-size: 0.25em;
}
.u-fz-emXs {
  font-size: 0.5em;
}
.u-fz-emS {
  font-size: 0.75em;
}
.u-fz-emM {
  font-size: 1em;
}
.u-fz-emL {
  font-size: 1.25em;
}
.u-fz-emXl {
  font-size: 1.5em;
}
.u-fz-emXxL {
  font-size: 2em;
}
.u-fz-emXxxL {
  font-size: 2.5em;
}

.u-none {
  display: none;
}

.u-ignore {
  display: contents;
}

.u-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.u-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.u-bg {
  padding: 2px 4px;
  color: #fff;
  background-color: #505050;
}

.u-floatRight {
  float: right;
}

.u-textRight {
  text-align: right;
}

.c-loading {
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

body.-fadeIn .c-loading {
  opacity: 0;
  pointer-events: none;
}

#c-pageTop {
  position: fixed;
  bottom: 3vw;
  right: 3vw;
  font-size: 80%;
  z-index: 999;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  #c-pageTop {
    bottom: 8vw;
    right: 8vw;
  }
}
#c-pageTop .content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  color: #fff;
  width: 3.5vw;
  height: 3.5vw;
  text-align: center;
  text-decoration: none;
  border-radius: 9999px;
  -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.4);
          box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.4);
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
@media screen and (max-width: 768px) {
  #c-pageTop .content {
    width: 11.2vw;
    height: 11.2vw;
  }
}
#c-pageTop .content::after {
  content: "";
  display: block;
  border-top: solid 2px #fff;
  border-left: solid 2px #fff;
  width: 1vw;
  height: 1vw;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-top: 0.5vw;
}
@media screen and (max-width: 768px) {
  #c-pageTop .content::after {
    width: 2.6666666667vw;
    height: 2.6666666667vw;
    border-width: 1px;
  }
}
#c-pageTop .content:hover {
  opacity: 0.9;
  text-decoration: none;
}

.c-scrolldown {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2.5vw;
  z-index: 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-block: auto;
}
@media screen and (max-width: 768px) {
  .c-scrolldown {
    display: none;
  }
}
.c-scrolldown .text {
  margin-bottom: 0.75vw;
  color: #fff;
  font-size: 0.75vw;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.c-scrolldown .c-line {
  width: 1px;
  height: 5vw;
  display: block;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgb(255, 255, 255)), color-stop(50%, rgba(255, 255, 255, 0)));
  background: linear-gradient(to bottom, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 50%);
  background-position: 0 5vw;
  background-size: 100% 200%;
  -webkit-animation: scrolldown 2.2s cubic-bezier(0.76, 0, 0.3, 1) forwards infinite;
          animation: scrolldown 2.2s cubic-bezier(0.76, 0, 0.3, 1) forwards infinite;
}

@-webkit-keyframes scrolldown {
  0% {
    background-position: 0 -5vw;
  }
  75% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 5vw;
  }
}

@keyframes scrolldown {
  0% {
    background-position: 0 -5vw;
  }
  75% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 5vw;
  }
}
@-webkit-keyframes scrolldown-sp {
  0% {
    background-position: 0 -5vw;
  }
  75% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 5vw;
  }
}
@keyframes scrolldown-sp {
  0% {
    background-position: 0 -5vw;
  }
  75% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 5vw;
  }
}
.c-mv .item .marker {
  letter-spacing: 0.2em;
}

[class*=swiper]:focus {
  outline: none;
}

.c-mv {
  position: relative;
}
.c-mv .swiper-wrapper .swiper-slide {
  overflow: hidden;
}
.c-mv .swiper-wrapper .swiper-slide .slide-media {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: calc(100vh - 5vw);
}
@media screen and (max-width: 768px) {
  .c-mv .swiper-wrapper .swiper-slide .slide-media {
    height: max(45vh, 70vw);
  }
}
.c-mv .swiper-wrapper .swiper-slide .slide-media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: 1s;
  transition: 1s;
}
.c-mv .swiper-wrapper .swiper-slide[class*=-prev] .slide-media img {
  -webkit-transform: translateX(80vw);
          transform: translateX(80vw);
}
.c-mv .swiper-wrapper .swiper-slide[class*=-next] .slide-media img {
  -webkit-transform: translateX(-80vw);
          transform: translateX(-80vw);
}
.c-mv .content-wrapper .content {
  position: absolute;
  z-index: 2;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: auto;
}
.c-mv .content-wrapper .content:not([class*=-first]) {
  bottom: 5vw;
  left: 15vw;
}
@media screen and (max-width: 768px) {
  .c-mv .content-wrapper .content:not([class*=-first]) {
    left: 4.2666666667vw;
    right: 8.5333333333vw;
  }
}
.c-mv .content-wrapper .content:not([class*=anm-started]) {
  pointer-events: none;
}
.c-mv .content-wrapper .content.-first {
  bottom: 0;
}
.c-mv .content-wrapper .content .content-title {
  margin-top: auto;
  font-size: 5vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  line-height: 1.1;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .c-mv .content-wrapper .content .content-title {
    font-size: 10.6666666667vw;
  }
}
.c-mv .content-wrapper .content.-first .content-title {
  position: absolute;
  bottom: 0;
  margin-left: 2.5vw;
  margin-bottom: -0.75vw;
  font-size: 10vw;
  font-weight: 300;
  line-height: 0.85;
}
@media screen and (max-width: 768px) {
  .c-mv .content-wrapper .content.-first .content-title {
    margin-left: 5.3333333333vw;
  }
}
.c-mv .content-wrapper .content .content-text {
  color: #fff;
  font-size: 2.5vw;
  font-weight: 300;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .c-mv .content-wrapper .content .content-text {
    font-size: 4.8vw;
    font-weight: 400;
  }
}
.c-mv .content-wrapper .content.-first .content-text {
  margin-top: 15vw;
  margin-left: 15vw;
  font-size: 1.25vw;
}
@media screen and (max-width: 768px) {
  .c-mv .content-wrapper .content.-first .content-text {
    margin-top: 10.6666666667vw;
    margin-left: 5.3333333333vw;
    font-size: 4.2666666667vw;
  }
}
.c-mv .content-wrapper .content.-first .content-text .-company {
  display: inline-block;
  margin-top: 0.75vw;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .c-mv .content-wrapper .content.-first .content-text .-company {
    margin-top: 2.1333333333vw;
  }
}
.c-mv .content-wrapper .content .content-button {
  width: 15vw;
  margin-top: 4vw;
  font-size: 1vw;
  line-height: 2.5vw;
}
.c-mv .content-wrapper .content .content-button {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 9999px;
  text-decoration: none;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.c-mv .content-wrapper .content .content-button:hover {
  color: #348c50;
  background: #fff;
}
.c-mv .content-wrapper .content .content-button::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.c-mv .content-wrapper .content .content-button::after {
  content: "";
  display: block;
  margin-block: auto;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: 768px) {
  .c-mv .content-wrapper .content .content-button {
    height: 12.8vw;
    width: 48vw;
    margin-top: 8.5333333333vw;
    padding-block: 0;
    font-size: 3.7333333333vw;
    line-height: 12.8vw;
  }
}
.c-mv .content-wrapper .content .content-button::after {
  width: 1vw;
  height: 1vw;
  margin-left: 0.5vw;
  background-image: url(/assets/images/ico_arrow.svg);
}
@media screen and (max-width: 768px) {
  .c-mv .content-wrapper .content .content-button::after {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
    margin-left: 1.0666666667vw;
  }
}
.c-mv .content-wrapper .content .content-button:hover::after {
  background-image: url(/assets/images/ico_arrow_02.svg);
}
.c-mv .content-wrapper .content .marker {
  position: relative;
  display: inline-block;
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
}
.c-mv .content-wrapper .content .marker::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #fff;
}
.c-mv .content-wrapper .content.anm-started .marker {
  -webkit-animation: c-mv-marker 1s 0.5s both;
          animation: c-mv-marker 1s 0.5s both;
}
.c-mv .content-wrapper .content.anm-started .marker::after {
  -webkit-animation: c-mv-markerBg 1s 0.5s both;
          animation: c-mv-markerBg 1s 0.5s both;
}
.c-mv .content-wrapper .content.anm-started .content-link .marker {
  -webkit-animation-delay: 0.7s;
          animation-delay: 0.7s;
}
.c-mv .content-wrapper .content.anm-started .content-link .marker::after {
  -webkit-animation-delay: 0.7s;
          animation-delay: 0.7s;
}
.c-mv .content-wrapper .content.anm-finished .marker {
  -webkit-animation: c-mv-markerHide 0.5s both;
          animation: c-mv-markerHide 0.5s both;
}
.c-mv .content-wrapper .content.anm-finished .marker::after {
  -webkit-clip-path: inset(0 0 0 100%);
          clip-path: inset(0 0 0 100%);
}
.c-mv .content-wrapper .content .content-link,
.c-mv .content-wrapper .content .fade {
  opacity: 0;
}
.c-mv .content-wrapper .content.anm-started .content-link, .c-mv .content-wrapper .content.anm-started .fade {
  opacity: 1;
  -webkit-transition: opacity 0.5s 1.2s ease;
  transition: opacity 0.5s 1.2s ease;
}
.c-mv .swiper-controller .swiper-button {
  position: absolute;
  bottom: 5vw;
  right: 2.5vw;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1vw;
}
@media screen and (max-width: 768px) {
  .c-mv .swiper-controller .swiper-button {
    bottom: 0;
    right: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
}
.c-mv .swiper-controller .swiper-button-prev, .c-mv .swiper-controller .swiper-button-next {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  -webkit-transition: var(--transition);
  transition: var(--transition);
}
.c-mv .swiper-controller .swiper-button-prev::before,
.c-mv .swiper-controller .swiper-button-next::before {
  content: "";
  width: 4vw;
  height: 4vw;
  display: block;
  background-color: #525252;
}
@media screen and (max-width: 768px) {
  .c-mv .swiper-controller .swiper-button-prev::before,
.c-mv .swiper-controller .swiper-button-next::before {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
  }
}
.c-mv .swiper-controller .swiper-button-prev::after {
  border-style: solid;
  border-width: 0 2px 2px 0;
  content: "";
  display: inline-block;
  position: absolute;
  height: 0.5vw;
  width: 0.5vw;
  border-color: #fff;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}
@media screen and (max-width: 768px) {
  .c-mv .swiper-controller .swiper-button-prev::after {
    height: 0.25vw;
    width: 0.25vw;
  }
}
@media screen and (max-width: 768px) {
  .c-mv .swiper-controller .swiper-button-prev::after {
    border-style: solid;
    border-width: 0 1px 1px 0;
    content: "";
    display: inline-block;
    position: absolute;
    height: 3.2vw;
    width: 3.2vw;
    border-color: #fff;
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg);
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .c-mv .swiper-controller .swiper-button-prev::after {
    height: 1.6vw;
    width: 1.6vw;
  }
}
.c-mv .swiper-controller .swiper-button-next::after {
  border-style: solid;
  border-width: 0 2px 2px 0;
  content: "";
  display: inline-block;
  position: absolute;
  height: 0.5vw;
  width: 0.5vw;
  border-color: #fff;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .c-mv .swiper-controller .swiper-button-next::after {
    height: 0.25vw;
    width: 0.25vw;
  }
}
@media screen and (max-width: 768px) {
  .c-mv .swiper-controller .swiper-button-next::after {
    border-style: solid;
    border-width: 0 1px 1px 0;
    content: "";
    display: inline-block;
    position: absolute;
    height: 3.2vw;
    width: 3.2vw;
    border-color: #fff;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .c-mv .swiper-controller .swiper-button-next::after {
    height: 1.6vw;
    width: 1.6vw;
  }
}
.c-mv .swiper-controller .swiper-button-disabled {
  opacity: 0;
}

@-webkit-keyframes c-mv-marker {
  0% {
    -webkit-transform: translateX(-2vw);
            transform: translateX(-2vw);
  }
  60%, 100% {
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@keyframes c-mv-marker {
  0% {
    -webkit-transform: translateX(-2vw);
            transform: translateX(-2vw);
  }
  60%, 100% {
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes c-mv-marker02 {
  0% {
    -webkit-transform: translateY(-2vw);
            transform: translateY(-2vw);
  }
  60%, 100% {
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes c-mv-marker02 {
  0% {
    -webkit-transform: translateY(-2vw);
            transform: translateY(-2vw);
  }
  60%, 100% {
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes c-mv-markerBg {
  60% {
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
  }
  100% {
    -webkit-clip-path: inset(0 0 0 100%);
            clip-path: inset(0 0 0 100%);
  }
}
@keyframes c-mv-markerBg {
  60% {
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
  }
  100% {
    -webkit-clip-path: inset(0 0 0 100%);
            clip-path: inset(0 0 0 100%);
  }
}
@-webkit-keyframes c-mv-markerHide {
  0% {
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
    opacity: 1;
  }
  50% {
    opacity: 0.65;
  }
  100% {
    -webkit-clip-path: inset(0 0 0 90%);
            clip-path: inset(0 0 0 90%);
    opacity: 0;
    -webkit-transform: translateX(3vw);
            transform: translateX(3vw);
  }
}
@keyframes c-mv-markerHide {
  0% {
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
    opacity: 1;
  }
  50% {
    opacity: 0.65;
  }
  100% {
    -webkit-clip-path: inset(0 0 0 90%);
            clip-path: inset(0 0 0 90%);
    opacity: 0;
    -webkit-transform: translateX(3vw);
            transform: translateX(3vw);
  }
}
@-webkit-keyframes c-mv-fraction {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
  50% {
    -webkit-transform: translateY(-110%);
            transform: translateY(-110%);
    opacity: 1;
  }
  50.1% {
    -webkit-transform: translateY(110%);
            transform: translateY(110%);
    opacity: 0;
  }
}
@keyframes c-mv-fraction {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
  50% {
    -webkit-transform: translateY(-110%);
            transform: translateY(-110%);
    opacity: 1;
  }
  50.1% {
    -webkit-transform: translateY(110%);
            transform: translateY(110%);
    opacity: 0;
  }
}
.c-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 5vw;
  padding: 0 2.5vw;
  background-color: #fff;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
@media not screen and (max-width: 768px) {
  .isDown .c-header {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}
body {
  margin-top: 5vw;
}

@media screen and (max-width: 768px) {
  .c-header {
    height: 14.9333333333vw;
  }
  body {
    margin-top: 14.9333333333vw;
  }
}
.c-header > .logo {
  margin-block: auto;
}
.c-header > .logo img {
  width: 10vw;
}
@media screen and (max-width: 768px) {
  .c-header > .logo img {
    width: auto;
    height: 9.6vw;
  }
}
.c-header > .nav {
  margin-block: auto;
}

.c-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.c-nav.is-active {
  color: red;
}
.c-nav .link {
  font-size: 1vw;
  font-weight: 400;
  text-decoration: none;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .c-nav .link {
    font-size: 4.2666666667vw;
  }
}
@media not screen and (max-width: 768px) {
  .c-nav > .list {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .c-nav > .list > .item {
    position: relative;
  }
  .c-nav > .list > .item:hover > .childList {
    display: block !important;
  }
  .cat-about .c-nav > .list > .item:nth-child(1) > .link {
    background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
    background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .cat-business .c-nav > .list > .item:nth-child(2) > .link {
    background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
    background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .cat-jobs .c-nav > .list > .item:nth-child(3) > .link {
    background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
    background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .cat-recruit .c-nav > .list > .item:nth-child(4) > .link {
    background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
    background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .c-nav > .list > .item > .link {
    display: block;
    padding-inline: 1vw;
    line-height: 5vw;
    color: #525252;
    text-align: center;
  }
  .c-nav > .list > .item:last-child {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-left: 1vw;
  }
  .c-nav > .list > .item:last-child > .link {
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #348c50;
    background: #fff;
    border-radius: 9999px;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
    margin-left: 1vw;
    margin-left: 1vw;
    padding-inline: 3.75vw;
    line-height: 2.5vw;
  }
  .c-nav > .list > .item:last-child > .link:hover {
    color: #fff;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  }
  .c-nav > .list > .item:last-child > .link::before {
    content: "";
    display: block;
    background-image: url(/assets/images/ico_email.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
  }
  .c-nav > .list > .item:last-child > .link:hover::before {
    color: #fff;
  }
  .c-nav > .list > .item:last-child > .link::after {
    content: "";
    position: absolute;
    border-radius: 9999px;
    border: 1px solid transparent;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
            mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
            mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
  }
  .c-nav > .list > .item:last-child > .link::before {
    content: "";
    width: 1.125vw;
    height: 0.875vw;
    margin-top: 0.125vw;
    margin-right: 0.5vw;
    background-image: url(/assets/images/ico_email.png);
  }
  .c-nav > .list > .item:last-child > .link:hover::before {
    background-image: url(/assets/images/ico_email_02.png);
  }
  .c-nav > .list > .item:last-child > .link::after {
    width: calc(100% - 1vw);
    height: 2.5vw;
  }
  .c-nav > .list > .item > .childList {
    position: absolute;
    left: 1vw;
    display: none;
    padding: 1.5vw 2vw;
    background-color: #525252;
    z-index: 9999;
  }
}
@media not screen and (max-width: 768px) {
  .c-nav > .list > .item > .childList {
    height: auto !important;
  }
}
@media not screen and (max-width: 768px) {
  .c-nav > .list > .item > .childList > .item + .item {
    margin-top: 0.5vw;
  }
  .c-nav > .list > .item > .childList > .item > .link {
    color: #fff;
    font-weight: 300;
    white-space: nowrap;
  }
}
@media screen and (max-width: 768px) {
  .c-nav {
    position: fixed;
    top: 14.9333333333vw;
    right: 0;
    left: 0;
    bottom: 0;
    height: 100vh;
    pointer-events: none;
  }
  .c-nav.is-active {
    pointer-events: auto;
  }
  .c-nav .btn {
    position: fixed;
    top: 0;
    right: 0;
    width: 14.9333333333vw;
    height: 14.9333333333vw;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    cursor: pointer;
    z-index: 1000;
    pointer-events: auto;
  }
  .c-nav .btn .line {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    display: block;
    width: 20px;
    height: 1px;
    background: #fff;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }
  .c-nav .btn .line:nth-child(1) {
    -webkit-transform: translateY(-2vw);
            transform: translateY(-2vw);
  }
  .c-nav .btn .line:nth-child(3) {
    -webkit-transform: translateY(2vw);
            transform: translateY(2vw);
  }
  .is-active .c-nav .btn .line:nth-child(1) {
    top: 0;
    bottom: 0;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .is-active .c-nav .btn .line:nth-child(2) {
    opacity: 0;
  }
  .is-active .c-nav .btn .line:nth-child(3) {
    top: 0;
    bottom: 0;
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg);
  }

  .c-nav > .list {
    z-index: 100;
    width: 100%;
    padding: 5vw;
    overflow: auto;
  }
  .c-nav > .list > .item {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .c-nav > .list > .item + .item {
    margin-top: 8vw;
  }
  .c-nav > .list > .item > .arrowWrap {
    position: relative;
    display: block;
    width: 1em;
    height: 1em;
    margin-right: 2vw;
    font-size: 5.3333333333vw;
  }
  .c-nav > .list > .item > .arrowWrap > .arrow {
    border-style: solid;
    border-width: 0 1px 1px 0;
    content: "";
    display: inline-block;
    position: absolute;
    height: 5.3333333333vw;
    width: 5.3333333333vw;
    border-color: #525252;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    top: 0;
    bottom: 10%;
    right: 0;
    left: 0;
    margin: auto;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .c-nav > .list > .item > .arrowWrap > .arrow {
    height: 2.6666666667vw;
    width: 2.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .c-nav > .list > .item.is-active > .arrowWrap > .arrow {
    border-style: solid;
    border-width: 0 1px 1px 0;
    content: "";
    display: inline-block;
    position: absolute;
    height: 5.3333333333vw;
    width: 5.3333333333vw;
    border-color: #525252;
    -webkit-transform: rotate(225deg);
            transform: rotate(225deg);
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .c-nav > .list > .item.is-active > .arrowWrap > .arrow {
    height: 2.6666666667vw;
    width: 2.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .c-nav > .list > .item > .link {
    display: block;
    padding-inline: 1vw;
    line-height: 5vw;
    color: #525252;
    font-size: 5.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .c-nav > .list > .item:last-child {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .c-nav > .list > .item:last-child > .link {
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #348c50;
    padding-inline: 16vw;
    line-height: 12.8vw;
    background: #fff;
    border-radius: 9999px;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
  }
  .c-nav > .list > .item:last-child > .link:hover {
    color: #fff;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  }
  .c-nav > .list > .item:last-child > .link::before {
    content: "";
    display: block;
    width: 4.8vw;
    height: 3.7333333333vw;
    margin-top: 0.5333333333vw;
    margin-right: 2.1333333333vw;
    background-image: url(/assets/images/ico_email.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
  }
  .c-nav > .list > .item:last-child > .link:hover::before {
    color: #fff;
    background-image: url(/assets/images/ico_email_02.png);
  }
  .c-nav > .list > .item:last-child > .link::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 12.8vw;
    border-radius: 9999px;
    border: 1px solid transparent;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
            mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
            mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
  }
  .c-nav > .list > .item:last-child > .arrowWrap {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .c-nav > .list > .item > .childList {
    width: 100%;
    margin-top: 4vw;
  }
  .c-nav > .list > .item > .childList > .item + .item {
    margin-top: 2vw;
  }
  .c-nav > .list > .item > .childList > .item > .link {
    margin-left: 9vw;
    color: #525252;
  }
}

@media screen and (max-width: 768px) {
  .overlay {
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 99;
    background-color: #fff;
    pointer-events: none;
    opacity: 0;
    -webkit-transition: opacity 0.2s ease;
    transition: opacity 0.2s ease;
  }
  .overlay.is-active {
    opacity: 1;
  }
}
.c-footer {
  position: relative;
  width: 70vw;
  margin-inline: auto;
  padding-block: 6vw;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .c-footer {
    width: 100%;
    padding-inline: 5.3333333333vw;
  }
}
.c-footer::before {
  content: "";
  position: absolute;
  right: calc((100vw - 100%) / 2 * -1);
  top: 0;
  bottom: 0;
  z-index: -1;
  display: block;
  width: 100vw;
  background-color: #525252;
}
.c-footer .topBlock,
.c-footer .nav {
  margin-bottom: 3vw;
  padding-bottom: 3vw;
  border-bottom: 1px solid #646464;
}
@media screen and (max-width: 768px) {
  .c-footer .topBlock,
.c-footer .nav {
    margin-bottom: 5.3333333333vw;
    padding-bottom: 5.3333333333vw;
  }
}
@media not screen and (max-width: 768px) {
  .c-footer .topBlock {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.c-footer .topBlock .item {
  width: 100%;
}
@media not screen and (max-width: 768px) {
  .c-footer .topBlock .item:nth-child(2) {
    margin-left: 10vw;
  }
}
.c-footer .topBlock .enTile {
  font-size: 4vw;
  font-family: "Montserrat", sans-serif;
  line-height: 0.8;
}
@media screen and (max-width: 768px) {
  .c-footer .topBlock .enTile {
    font-size: 6.4vw;
  }
}
.c-footer .topBlock .text {
  font-size: 1.25vw;
}
@media screen and (max-width: 768px) {
  .c-footer .topBlock .text {
    margin-top: 3.2vw;
    font-size: 3.7333333333vw;
  }
}
.c-footer .topBlock .company {
  margin-top: 0.625vw;
  font-size: 1.25vw;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .c-footer .topBlock .company {
    margin-top: 1.0666666667vw;
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .c-footer .nav {
    display: none;
  }
}
@media not screen and (max-width: 768px) {
  .c-footer .bottomBlock {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (max-width: 768px) {
  .c-footer .bottomBlock a {
    font-size: 3.4666666667vw;
  }
}
.c-footer .bottomBlock .linkList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4vw;
}
.c-footer .bottomBlock .link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 0.875vw;
}
@media screen and (max-width: 768px) {
  .c-footer .bottomBlock .link {
    font-size: 3.4666666667vw;
  }
}
.c-footer .bottomBlock .link::after {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  margin-left: 0.5vw;
  background-image: url(/assets/images/ico_blank.svg);
  background-repeat: no-repeat;
}
.c-footer .bottomBlock .copyright {
  font-size: 0.75vw;
}
@media screen and (max-width: 768px) {
  .c-footer .bottomBlock .copyright {
    margin-top: 3.2vw;
    font-size: 2.6666666667vw;
    white-space: nowrap;
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
}

@media not screen and (max-width: 768px) {
  .c-footerNav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.c-footerNav .list {
  width: 100%;
}
.c-footerNav .list > .item + .item {
  margin-top: 3vw;
}
.c-footerNav .list > .item:not(.-contact) > .link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.25vw;
  font-weight: 400;
}
.c-footerNav .list > .item:not(.-contact) > .link::before {
  content: "";
  display: block;
  width: 0.75vw;
  height: 0.125vw;
  margin-right: 1vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
}
.c-footerNav .list > .item.-contact {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-footerNav .list > .item.-contact > .link {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  margin-left: 1vw;
  color: #348c50;
  font-size: 1vw;
  line-height: 2.5vw;
  background: #fff;
  border-radius: 9999px;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.c-footerNav .list > .item.-contact > .link:hover {
  color: #fff;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
}
.c-footerNav .list > .item.-contact > .link::before {
  content: "";
  display: block;
  width: 1.125vw;
  height: 0.875vw;
  margin-top: 0.125vw;
  margin-right: 0.5vw;
  background-image: url(/assets/images/ico_email.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.c-footerNav .list > .item.-contact > .link:hover::before {
  color: #fff;
  background-image: url(/assets/images/ico_email_02.png);
}
.c-footerNav .list > .item.-contact > .link::after {
  content: "";
  position: absolute;
  width: calc(100% - 1vw);
  height: 2.5vw;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.c-footerNav .childList {
  margin-top: 1.5vw;
  margin-left: 1.75vw;
}
.c-footerNav .childList .item + .item {
  margin-top: 0.75vw;
}
.c-footerNav .childList .link {
  font-size: 0.875vw;
}

.c-breadcrumb {
  z-index: 1;
  padding-top: 2.5vw;
  padding-bottom: 6.25vw;
}
@media screen and (max-width: 768px) {
  .c-breadcrumb {
    padding-top: 5.3333333333vw;
    padding-bottom: 13.3333333333vw;
  }
}
.c-breadcrumb .list {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 100%;
  padding: 0.5vw 1vw;
  background: #fff;
  border-radius: 9999px;
  overflow-x: auto;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .c-breadcrumb .list {
    padding: 2.1333333333vw 4.2666666667vw;
  }
}
.c-breadcrumb .item {
  font-size: 0.75vw;
}
@media screen and (max-width: 768px) {
  .c-breadcrumb .item {
    font-size: 3.2vw;
  }
}
.c-breadcrumb .item:not(:first-of-type)::before {
  content: ">";
  display: inline-block;
  margin-inline: 0.5vw;
}
@media screen and (max-width: 768px) {
  .c-breadcrumb .item:not(:first-of-type)::before {
    margin-inline: 2.1333333333vw;
  }
}
.c-breadcrumb .item:last-of-type {
  color: #348c50;
  pointer-events: none;
}
.c-jobsList {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 10vw 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 5vw 10vw;
}
@media screen and (max-width: 768px) {
  .c-jobsList {
    -ms-grid-columns: 1fr;
    grid-template-columns: repeat(1, 1fr);
    gap: 10.6666666667vw 21.3333333333vw;
  }
}
.c-jobsList .item:hover .image::after {
  opacity: 0.3;
}
.c-jobsList .item .marker {
  position: relative;
  display: inline-block;
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
}
@media screen and (max-width: 768px) {
  .c-jobsList .item .marker {
    letter-spacing: 0.17em;
  }
}
.c-jobsList .item .marker::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #fff;
}
.c-jobsList .item.is-visible .marker {
  -webkit-animation: c-mv-marker 1s 0.5s both;
          animation: c-mv-marker 1s 0.5s both;
}
.c-jobsList .item .fade {
  opacity: 0;
}
.c-jobsList .item.is-visible .fade {
  opacity: 1;
  -webkit-transition: opacity 0.5s 0.5s ease;
  transition: opacity 0.5s 0.5s ease;
}
.c-jobsList .item .image {
  position: relative;
  z-index: -1;
  opacity: 0;
  -webkit-transform: translateX(5%);
          transform: translateX(5%);
  -webkit-transition-duration: 0.4s;
          transition-duration: 0.4s;
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}
@media screen and (max-width: 768px) {
  .c-jobsList .item .image {
    padding-left: 12.8vw;
  }
}
.c-jobsList .item .image::before {
  content: "";
  position: absolute;
  bottom: 1vw;
  right: 1vw;
  z-index: 1;
  display: block;
  width: 3.125vw;
  height: 3.125vw;
  background-image: url(/assets/images/ico_arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  opacity: 1;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
@media screen and (max-width: 768px) {
  .c-jobsList .item .image::before {
    bottom: 2.1333333333vw;
    right: 2.1333333333vw;
    width: 6.6666666667vw;
    height: 6.6666666667vw;
  }
}
.c-jobsList .item .image::after {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  background: #fff;
  opacity: 0;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.c-jobsList .item.is-visible .image {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.c-jobsList .item .content {
  margin-top: -33%;
  margin-left: -5vw;
}
@media screen and (max-width: 768px) {
  .c-jobsList .item .content {
    margin-top: -24%;
    margin-left: 0vw;
  }
}
.c-jobsList .item .num span {
  color: #348c50;
  font-size: 3vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  background: -webkit-gradient(linear, left top, right top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(90deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 768px) {
  .c-jobsList .item .num span {
    text-shadow: #fff;
    font-size: 8.5333333333vw;
  }
}
.c-jobsList .item .content-title .marker,
.c-jobsList .item .content-text .marker {
  padding: 0.25vw 0.75vw;
}
@media screen and (max-width: 768px) {
  .c-jobsList .item .content-title .marker,
.c-jobsList .item .content-text .marker {
    padding: 2.1333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .c-jobsList .item .content-text .marker {
    padding: 1.0666666667vw 2.1333333333vw;
  }
}
.c-jobsList .item .content-title {
  margin-top: auto;
  font-size: 1vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  line-height: 1.1;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .c-jobsList .item .content-title {
    font-size: 4.2666666667vw;
  }
}
.c-jobsList .item .content-title .marker::after {
  background-color: #525252;
  z-index: -1;
}
.c-jobsList .item .content-text {
  color: #fff;
  font-size: 1.25vw;
  font-weight: 400;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .c-jobsList .item .content-text {
    width: 100%;
    font-size: 4vw;
  }
}
.c-jobsList .item .content-text .marker::after {
  background: -webkit-gradient(linear, left top, right top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(90deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  z-index: -1;
}
.c-jobsList .item .content-text span {
  display: inline-block;
}
.c-jobsList .item .content-text span:nth-of-type(2) {
  margin-top: 0.5vw;
}
.c-jobsList .item .content-title + .content-text {
  margin-top: 0.5vw;
}
.c-jobsList .item .content-info {
  margin-top: 1.5vw;
}
.c-jobsList.-mv {
  -ms-grid-columns: (1fr)[1];
  grid-template-columns: repeat(1, 1fr);
  margin-bottom: 3vw;
}
@media screen and (max-width: 768px) {
  .c-jobsList.-mv {
    margin-bottom: 12.8vw;
  }
}
.c-jobsList.-mv .item .image {
  height: calc(100vh - 12.5vw);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .c-jobsList.-mv .item .image {
    height: max(45vh, 70vw);
    padding-left: 0;
  }
}
.c-jobsList.-mv .item .image img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}
.c-jobsList.-mv .item .image::before {
  width: 2.5vw;
  height: 2.5vw;
}
.c-jobsList.-mv .item .image::before,
.c-jobsList.-mv .item .image::after {
  opacity: 0 !important;
}
.c-jobsList.-mv .item .content {
  margin-top: -23%;
}
@media not screen and (max-width: 768px) {
  .c-jobsList.-mv .item .content {
    margin-left: 0;
    margin-inline: 15vw;
  }
}
@media screen and (max-width: 768px) {
  .c-jobsList.-mv .item .content {
    margin-left: 5.3333333333vw;
  }
}
@media not screen and (max-width: 768px) {
  .c-jobsList.-mv .item .num span {
    font-size: 8vw;
  }
}
@media not screen and (max-width: 768px) {
  .c-jobsList.-mv .item .content-title {
    font-size: 1.5vw;
  }
}
.c-jobsList.-mv .item .content-text {
  margin-bottom: 2vw;
}
@media not screen and (max-width: 768px) {
  .c-jobsList.-mv .item .content-text {
    font-size: 2.5vw;
  }
}
.c-jobsList.-mv .item .content-info {
  margin-top: 0.5vw;
}
@media not screen and (max-width: 768px) {
  .c-jobsList.-mv .item .content-info {
    font-size: 1vw;
  }
}
.c-jobsList.-sub {
  -ms-grid-columns: 1fr 1.25vw 1fr 1.25vw 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 5vw 1.25vw;
}
@media screen and (max-width: 768px) {
  .c-jobsList.-sub {
    -ms-grid-columns: 1fr;
    grid-template-columns: repeat(1, 1fr);
    gap: 10.6666666667vw 2.6666666667vw;
  }
}
@media not screen and (max-width: 768px) {
  .c-jobsList.-sub .item .image::before {
    width: 2.5vw;
    height: 2.5vw;
  }
  .c-jobsList.-sub .item .content {
    margin-top: 1.5vw;
    margin-left: 0;
  }
  .c-jobsList.-sub .item .content-title {
    font-size: 1vw;
  }
  .c-jobsList.-sub .item .content-info {
    margin-top: 0.5vw;
    font-size: 1vw;
  }
}
@media screen and (max-width: 768px) {
  .c-jobsList.-sub .item .content {
    margin-top: -5vw;
  }
}

@media screen and (max-width: 768px) {
  .p-top .c-mv .content-wrapper .content.anm-started p .marker {
    font-size: 3.2vw;
  }
}
@media screen and (max-width: 768px) {
  .p-top .c-mv .content-wrapper .content .content-button {
    height: 9.6vw;
    margin-top: 3.2vw;
  }
}
.p-top .c-section + .c-section {
  margin-top: 7vw;
}
@media screen and (max-width: 768px) {
  .p-top .c-section + .c-section {
    margin-top: 16vw;
  }
}
.p-top .c-section .is-hidden {
  opacity: 0;
  -webkit-transform: translateY(4vw);
          transform: translateY(4vw);
}
.p-top .c-section .is-visible {
  opacity: 1 !important;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: all 0.8s 0.2s ease;
  transition: all 0.8s 0.2s ease;
}
.p-top .c-section.-mission {
  position: relative;
  margin-top: 7.5vw;
  margin-bottom: 15vw;
}
@media not screen and (max-width: 768px) {
  .p-top .c-section.-mission > .title {
    -webkit-transform: translate(0, -2.5vw);
            transform: translate(0, -2.5vw);
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
  }
  .p-top .c-section.-mission > .text {
    opacity: 0;
    -webkit-transform: translate(-2.5vw, 0);
            transform: translate(-2.5vw, 0);
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
  }
  .p-top .c-section.-mission > .text:nth-of-type(1) {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }
  .p-top .c-section.-mission > .text:nth-of-type(2) {
    -webkit-transition-delay: 0.1s;
            transition-delay: 0.1s;
  }
  .p-top .c-section.-mission > .text:nth-of-type(3) {
    -webkit-transition-delay: 0.2s;
            transition-delay: 0.2s;
  }
  .p-top .c-section.-mission > .imageList .image {
    opacity: 0;
    -webkit-transform: translate(-2.5vw, 0);
            transform: translate(-2.5vw, 0);
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
  }
  .p-top .c-section.-mission > .imageList .image:nth-child(1) {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }
  .p-top .c-section.-mission > .imageList .image:nth-child(2) {
    -webkit-transition-delay: 0.1s;
            transition-delay: 0.1s;
  }
  .p-top .c-section.-mission > .imageList .image:nth-child(3) {
    -webkit-transition-delay: 0.2s;
            transition-delay: 0.2s;
  }
  .p-top .c-section.-mission.is-visible > .title {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  .p-top .c-section.-mission.is-visible > .text {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  .p-top .c-section.-mission.is-visible > .imageList .image {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-mission {
    margin-top: 16vw;
    padding-top: 0;
  }
}
.p-top .c-section.-mission .title {
  position: absolute;
  top: 0;
  left: 6.25vw;
  font-size: 5vw;
  line-height: 1;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  opacity: 0.1;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-mission .title {
    display: none;
  }
}
.p-top .c-section.-mission .text {
  font-size: 1.25vw;
  font-weight: 400;
  line-height: 2.4;
}
@media not screen and (max-width: 768px) {
  .p-top .c-section.-mission .text {
    padding-left: 15vw;
  }
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-mission .text {
    font-size: 4.8vw;
    padding-inline: 5.3333333333vw;
  }
}
.p-top .c-section.-mission .text + .text {
  margin-top: 3.75vw;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-mission .imageList {
    position: relative;
    width: 100%;
    padding-top: 74.6666666667vw;
  }
}
.p-top .c-section.-mission .imageList .image {
  position: absolute;
}
.p-top .c-section.-mission .imageList .image:nth-child(1) {
  top: 0.75vw;
  left: 57vw;
  width: 22.5vw;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-mission .imageList .image:nth-child(1) {
    top: 5.3333333333vw;
    left: 5.3333333333vw;
    width: 42.6666666667vw;
  }
}
.p-top .c-section.-mission .imageList .image:nth-child(2) {
  top: 20vw;
  left: 69.5vw;
  width: 15vw;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-mission .imageList .image:nth-child(2) {
    top: 16vw;
    right: 8vw;
    left: auto;
    width: 37.3333333333vw;
  }
}
.p-top .c-section.-mission .imageList .image:nth-child(3) {
  top: 33.75vw;
  left: 50vw;
  width: 13.125vw;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-mission .imageList .image:nth-child(3) {
    top: 48vw;
    left: 26.6666666667vw;
    width: 48vw;
  }
}
.p-top .c-section.-about > .block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5vw;
}
@media not screen and (max-width: 768px) {
  .p-top .c-section.-about > .block {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-about > .block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-inline: 5.3333333333vw;
  }
}
.p-top .c-section.-about > .block > .content, .p-top .c-section.-about > .block > .image {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-about > .block > .content, .p-top .c-section.-about > .block > .image {
    display: contents;
  }
}
.p-top .c-section.-about > .block > .content .title {
  position: relative;
  display: inline-block;
  margin-bottom: 2.5vw;
  padding-top: 8vw;
  padding-bottom: 1vw;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-about > .block > .content .title {
    -ms-flex-item-align: start;
        align-self: flex-start;
    padding-top: 1.8em;
    padding-bottom: 3.2vw;
  }
}
.p-top .c-section.-about > .block > .content .title::before {
  position: absolute;
  top: 0;
  content: "ABOUT";
  font-size: 10vw;
  font-weight: 400;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  opacity: 0.1;
}
.p-top .c-section.-about > .block > .content .title::after {
  position: absolute;
  bottom: 0;
  content: "";
  display: block;
  width: 100%;
  height: 0.1875vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-about > .block > .content .title::after {
    height: 2px;
  }
}
.p-top .c-section.-about > .block > .content .text {
  margin-bottom: 2.5vw;
  line-height: 2.4;
}
.p-top .c-section.-about > .block > .content .btnList {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1.25vw 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25vw;
  width: 35vw;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-about > .block > .content .btnList {
    -ms-grid-columns: 70%;
    grid-template-columns: repeat(1, 70%);
    gap: 5.3333333333vw 3.2vw;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
  }
}
.p-top .c-section.-about > .block > .content .btnList .btn {
  font-size: 1vw;
  line-height: 2.5vw;
}
.p-top .c-section.-about > .block > .content .btnList .btn {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 9999px;
  text-decoration: none;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-top .c-section.-about > .block > .content .btnList .btn:hover {
  color: #348c50;
  background: #fff;
}
.p-top .c-section.-about > .block > .content .btnList .btn::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-top .c-section.-about > .block > .content .btnList .btn::after {
  content: "";
  display: block;
  margin-block: auto;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-about > .block > .content .btnList .btn {
    font-size: 3.7333333333vw;
    line-height: 12.8vw;
  }
}
.p-top .c-section.-about > .block > .content .btnList .btn::after {
  width: 1vw;
  height: 1vw;
  margin-left: 0.5vw;
  background-image: url(/assets/images/ico_arrow.svg);
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-about > .block > .content .btnList .btn::after {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
    margin-left: 1.0666666667vw;
  }
}
.p-top .c-section.-about > .block > .content .btnList .btn:hover::after {
  background-image: url(/assets/images/ico_arrow_02.svg);
}
.p-top .c-section.-about > .block > .image {
  margin-top: 3.75vw;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-about > .block > .content .title {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
  .p-top .c-section.-about > .block > .content .text {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .p-top .c-section.-about > .block > .content .btnList {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .p-top .c-section.-about > .block > .image {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-business > .block > .content {
    padding-inline: 5.3333333333vw;
  }
}
.p-top .c-section.-business > .block > .content .title {
  position: relative;
  display: inline-block;
  margin-bottom: 2.5vw;
  padding-top: 8vw;
  padding-bottom: 1vw;
  font-weight: 400;
  line-height: 1;
}
@media not screen and (max-width: 768px) {
  .p-top .c-section.-business > .block > .content .title {
    margin-left: 14.5vw;
  }
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-business > .block > .content .title {
    margin-bottom: 4.2666666667vw;
    padding-top: 1.8em;
    padding-bottom: 3.2vw;
  }
}
.p-top .c-section.-business > .block > .content .title::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "BUSINESS";
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  opacity: 0.1;
  font-size: 10vw;
  font-weight: 400;
}
@media not screen and (max-width: 768px) {
  .p-top .c-section.-business > .block > .content .title::before {
    left: -8.5vw;
  }
}
.p-top .c-section.-business > .block > .content .title::after {
  position: absolute;
  bottom: 0;
  content: "";
  display: block;
  width: 100%;
  height: 0.1875vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-business > .block > .content .title::after {
    height: 2px;
  }
}
.p-top .c-section.-business > .block > .content .text {
  margin-bottom: 4vw;
}
@media not screen and (max-width: 768px) {
  .p-top .c-section.-business > .block > .content .text {
    margin-left: 14.5vw;
  }
}
.p-top .c-section.-business > .block > .list {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fit, 22.5vw);
  gap: 1.25vw;
  width: 93.75vw;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-business > .block > .list {
    -ms-grid-columns: 1fr 3.2vw 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 4.2666666667vw 3.2vw;
    width: 100%;
    padding-inline: 5.3333333333vw;
  }
}
.p-top .c-section.-business > .block > .list .item .image {
  position: relative;
  overflow: hidden;
}
.p-top .c-section.-business > .block > .list .item .image:hover {
  opacity: 0.8;
}
.p-top .c-section.-business > .block > .list .item .image::before {
  content: "";
  position: absolute;
  bottom: 1vw;
  right: 1vw;
  display: block;
  width: 2.5vw;
  height: 2.5vw;
  background-image: url(/assets/images/ico_arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-business > .block > .list .item .image::before {
    bottom: 2.1333333333vw;
    right: 2.1333333333vw;
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }
}
.p-top .c-section.-business > .block > .list .item .title {
  margin-top: 1vw;
  font-size: 1vw;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-business > .block > .list .item .title {
    margin-top: 1.0666666667vw;
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job > .block > .content {
    padding-inline: 5.3333333333vw;
  }
}
.p-top .c-section.-job > .block > .content > .title {
  position: relative;
  display: inline-block;
  margin-bottom: 2.5vw;
  padding-top: 8vw;
  padding-bottom: 1vw;
  font-weight: 400;
  line-height: 1;
}
@media not screen and (max-width: 768px) {
  .p-top .c-section.-job > .block > .content > .title {
    margin-left: 14.5vw;
  }
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job > .block > .content > .title {
    margin-bottom: 4.2666666667vw;
    padding-top: 3.5em;
    padding-bottom: 3.2vw;
  }
}
.p-top .c-section.-job > .block > .content > .title::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "JOB\aINTRODUCTION";
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  opacity: 0.1;
  font-size: 10vw;
  font-weight: 400;
}
@media not screen and (max-width: 768px) {
  .p-top .c-section.-job > .block > .content > .title::before {
    left: -8.5vw;
  }
}
.p-top .c-section.-job > .block > .content > .title::after {
  position: absolute;
  bottom: 0;
  content: "";
  display: block;
  width: 100%;
  height: 0.1875vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job > .block > .content > .title::after {
    height: 2px;
  }
}
@media not screen and (max-width: 768px) {
  .p-top .c-section.-job > .block > .content .text {
    margin-bottom: 4vw;
    margin-left: 14.5vw;
  }
}
.p-top .c-section.-job .swiper {
  position: relative;
  padding-block: 6vw;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job .swiper {
    padding-bottom: 32vw;
  }
}
.p-top .c-section.-job .swiper::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 15vw;
  margin: auto;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
  opacity: 0.3;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job .swiper::before {
    top: -20.2666666667vw;
    height: 42.6666666667vw;
  }
}
.p-top .c-section.-job .swiper .swiper-wrapper .swiper-slide {
  position: relative;
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
  -webkit-transform: scale(0.7) translate(0, 18%) !important;
          transform: scale(0.7) translate(0, 18%) !important;
  -webkit-transition: 1s;
  transition: 1s;
}
.p-top .c-section.-job .swiper .swiper-wrapper .swiper-slide:hover::after {
  opacity: 0.3;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job .swiper .swiper-wrapper .swiper-slide {
    -webkit-transform: scale(0.85) !important;
            transform: scale(0.85) !important;
  }
}
.p-top .c-section.-job .swiper .swiper-wrapper .swiper-slide::before {
  content: "";
  position: absolute;
  bottom: 1vw;
  right: 1vw;
  z-index: 1;
  display: block;
  width: 5vw;
  height: 5vw;
  background-image: url(/assets/images/ico_arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  opacity: 0;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.p-top .c-section.-job .swiper .swiper-wrapper .swiper-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  background: #fff;
  opacity: 0;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.p-top .c-section.-job .swiper .swiper-wrapper .swiper-slide.is-hover::before {
  -webkit-transform: translateX(4%);
          transform: translateX(4%);
}
.p-top .c-section.-job .swiper .swiper-wrapper .swiper-slide.is-hover::after {
  opacity: 0.2;
}
.p-top .c-section.-job .swiper .swiper-wrapper .swiper-slide-active {
  -webkit-filter: grayscale(0);
          filter: grayscale(0);
  -webkit-transform: scale(1) !important;
          transform: scale(1) !important;
  z-index: 1;
}
.p-top .c-section.-job .swiper .swiper-wrapper .swiper-slide-active::before {
  opacity: 1;
}
.p-top .c-section.-job .swiper .swiper-wrapper .swiper-slide-next,
.p-top .c-section.-job .swiper .swiper-wrapper .swiper-slide-prev {
  pointer-events: none;
}
.p-top .c-section.-job .swiper .swiper-wrapper .swiper-slide-next {
  padding-left: 4.2666666667vw;
}
.p-top .c-section.-job .swiper .swiper-wrapper .swiper-slide-prev {
  padding-right: 4.2666666667vw;
}
.p-top .c-section.-job .swiper .swiper-wrapper .swiper-slide img {
  height: auto;
  width: 100%;
}
.p-top .c-section.-job .swiper .swiper-wrapper .swiper-slide img.pc {
  display: block;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job .swiper .swiper-wrapper .swiper-slide img.pc {
    display: none;
  }
}
.p-top .c-section.-job .swiper .swiper-wrapper .swiper-slide img.sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job .swiper .swiper-wrapper .swiper-slide img.sp {
    display: block;
  }
}
.p-top .c-section.-job .swiper .content-wrapper {
  width: 57.5vw;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job .swiper .content-wrapper {
    width: 100%;
    padding-inline: 5.3333333333vw;
  }
}
.p-top .c-section.-job .swiper .content-wrapper .content {
  position: absolute;
  top: 53.5%;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: inherit;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job .swiper .content-wrapper .content {
    top: 40%;
  }
}
.p-top .c-section.-job .swiper .content-wrapper .content:not([class*=anm-started]) {
  pointer-events: none;
}
.p-top .c-section.-job .swiper .content-wrapper .content .marker {
  position: relative;
  display: inline-block;
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
}
.p-top .c-section.-job .swiper .content-wrapper .content .marker::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #fff;
}
.p-top .c-section.-job .swiper .content-wrapper .content.anm-started .marker {
  -webkit-animation: c-mv-marker 1s 0.5s both;
          animation: c-mv-marker 1s 0.5s both;
}
.p-top .c-section.-job .swiper .content-wrapper .content.anm-finished .marker {
  -webkit-animation: c-mv-markerHide 0.4s both;
          animation: c-mv-markerHide 0.4s both;
}
.p-top .c-section.-job .swiper .content-wrapper .content.anm-finished .marker::after {
  -webkit-animation: c-mv-markerHide 0.4s both;
          animation: c-mv-markerHide 0.4s both;
}
.p-top .c-section.-job .swiper .content-wrapper .content .fade {
  opacity: 0;
}
.p-top .c-section.-job .swiper .content-wrapper .content.anm-started .fade {
  opacity: 1;
  -webkit-transition: opacity 0.5s 0.5s ease;
  transition: opacity 0.5s 0.5s ease;
}
.p-top .c-section.-job .swiper .content-wrapper .content .num span {
  color: #348c50;
  font-size: 4vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  background: -webkit-gradient(linear, left top, right top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(90deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job .swiper .content-wrapper .content .num span {
    text-shadow: #fff;
    font-size: 10.6666666667vw;
  }
}
.p-top .c-section.-job .swiper .content-wrapper .content .content-title .marker,
.p-top .c-section.-job .swiper .content-wrapper .content .content-text .marker {
  padding: 0.25vw 0.75vw;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job .swiper .content-wrapper .content .content-title .marker,
.p-top .c-section.-job .swiper .content-wrapper .content .content-text .marker {
    padding: 2.1333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job .swiper .content-wrapper .content .content-text .marker {
    padding: 1.0666666667vw 2.1333333333vw;
  }
}
.p-top .c-section.-job .swiper .content-wrapper .content .content-title {
  margin-top: auto;
  font-size: 1.25vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  line-height: 1.1;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job .swiper .content-wrapper .content .content-title {
    font-size: 4.2666666667vw;
  }
}
.p-top .c-section.-job .swiper .content-wrapper .content .content-title .marker::after {
  background-color: #525252;
  z-index: -1;
}
.p-top .c-section.-job .swiper .content-wrapper .content .content-text {
  color: #fff;
  font-size: 2vw;
  font-weight: 400;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job .swiper .content-wrapper .content .content-text {
    width: 100%;
    font-size: 4vw;
  }
}
.p-top .c-section.-job .swiper .content-wrapper .content .content-text .marker::after {
  background: -webkit-gradient(linear, left top, right top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(90deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  z-index: -1;
}
.p-top .c-section.-job .swiper .content-wrapper .content .content-text span {
  display: inline-block;
}
.p-top .c-section.-job .swiper .content-wrapper .content .content-text span:nth-of-type(2) {
  margin-top: 0.5vw;
}
.p-top .c-section.-job .swiper .content-wrapper .content .content-title + .content-text {
  margin-top: 0.5vw;
}
.p-top .c-section.-job .swiper .content-wrapper .content .content-info {
  margin-top: 1.5vw;
}
.p-top .c-section.-job .swiper .swiper-controller .swiper-button {
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-block: auto;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job .swiper .swiper-controller .swiper-button {
    bottom: 10.6666666667vw;
    right: 5.3333333333vw;
  }
}
.p-top .c-section.-job .swiper .swiper-controller .swiper-button-prev, .p-top .c-section.-job .swiper .swiper-controller .swiper-button-next {
  position: absolute;
  top: 10%;
  bottom: 0;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: var(--transition);
  transition: var(--transition);
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job .swiper .swiper-controller .swiper-button-prev, .p-top .c-section.-job .swiper .swiper-controller .swiper-button-next {
    top: 6vw;
    bottom: 32vw;
    pointer-events: all;
  }
}
.p-top .c-section.-job .swiper .swiper-controller .swiper-button-prev {
  left: 15vw;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job .swiper .swiper-controller .swiper-button-prev {
    left: 6.4vw;
  }
}
.p-top .c-section.-job .swiper .swiper-controller .swiper-button-next {
  right: 15vw;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job .swiper .swiper-controller .swiper-button-next {
    right: 6.4vw;
  }
}
.p-top .c-section.-job .swiper .swiper-controller .swiper-button-prev::before,
.p-top .c-section.-job .swiper .swiper-controller .swiper-button-next::before {
  content: "";
  width: 4vw;
  height: 4vw;
  display: block;
  background-color: #525252;
  cursor: pointer;
  pointer-events: auto;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job .swiper .swiper-controller .swiper-button-prev::before,
.p-top .c-section.-job .swiper .swiper-controller .swiper-button-next::before {
    width: 8.5333333333vw;
    height: 8.5333333333vw;
  }
}
.p-top .c-section.-job .swiper .swiper-controller .swiper-button-prev::after,
.p-top .c-section.-job .swiper .swiper-controller .swiper-button-next::after {
  pointer-events: auto;
}
.p-top .c-section.-job .swiper .swiper-controller .swiper-button-prev::after {
  border-style: solid;
  border-width: 0 2px 2px 0;
  content: "";
  display: inline-block;
  position: absolute;
  height: 0.5vw;
  width: 0.5vw;
  border-color: #fff;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job .swiper .swiper-controller .swiper-button-prev::after {
    height: 0.25vw;
    width: 0.25vw;
  }
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job .swiper .swiper-controller .swiper-button-prev::after {
    border-style: solid;
    border-width: 0 1px 1px 0;
    content: "";
    display: inline-block;
    position: absolute;
    height: 2.1333333333vw;
    width: 2.1333333333vw;
    border-color: #fff;
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg);
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-top .c-section.-job .swiper .swiper-controller .swiper-button-prev::after {
    height: 1.0666666667vw;
    width: 1.0666666667vw;
  }
}
.p-top .c-section.-job .swiper .swiper-controller .swiper-button-next::after {
  border-style: solid;
  border-width: 0 2px 2px 0;
  content: "";
  display: inline-block;
  position: absolute;
  height: 0.5vw;
  width: 0.5vw;
  border-color: #fff;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job .swiper .swiper-controller .swiper-button-next::after {
    height: 0.25vw;
    width: 0.25vw;
  }
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job .swiper .swiper-controller .swiper-button-next::after {
    border-style: solid;
    border-width: 0 1px 1px 0;
    content: "";
    display: inline-block;
    position: absolute;
    height: 2.1333333333vw;
    width: 2.1333333333vw;
    border-color: #fff;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-top .c-section.-job .swiper .swiper-controller .swiper-button-next::after {
    height: 1.0666666667vw;
    width: 1.0666666667vw;
  }
}
.p-top .c-section.-job .swiper .swiper-controller .swiper-button-disabled {
  opacity: 0;
}
.p-top .c-section.-job .btn {
  width: 16.875vw;
  margin-top: 1.5vw;
  margin-inline: auto;
  font-size: 1vw;
  line-height: 2.5vw;
}
.p-top .c-section.-job .btn {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 9999px;
  text-decoration: none;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-top .c-section.-job .btn:hover {
  color: #348c50;
  background: #fff;
}
.p-top .c-section.-job .btn::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-top .c-section.-job .btn::after {
  content: "";
  display: block;
  margin-block: auto;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job .btn {
    width: 70%;
    margin-top: 8.5333333333vw;
    font-size: 4.2666666667vw;
    line-height: 12.8vw;
  }
}
.p-top .c-section.-job .btn::after {
  width: 1vw;
  height: 1vw;
  margin-left: 0.5vw;
  background-image: url(/assets/images/ico_arrow.svg);
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-job .btn::after {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
    margin-left: 1.0666666667vw;
  }
}
.p-top .c-section.-job .btn:hover::after {
  background-image: url(/assets/images/ico_arrow_02.svg);
}
.p-top .c-section.-recruit {
  position: relative;
}
@media not screen and (max-width: 768px) {
  .p-top .c-section.-recruit > .block {
    padding-inline: 15vw;
  }
  .p-top .c-section.-recruit > .block::before {
    position: absolute;
    top: 0;
    left: 5vw;
    content: "RECRUIT";
    background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
    background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: "Montserrat", sans-serif;
    font-weight: 300;
    opacity: 0.1;
    font-size: 5vw;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-recruit > .block {
    padding-inline: 5.3333333333vw;
  }
}
.p-top .c-section.-recruit > .block > .content > .title {
  position: relative;
  display: inline-block;
  margin-bottom: 2.5vw;
  padding-bottom: 1vw;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-recruit > .block > .content > .title {
    margin-bottom: 4.2666666667vw;
    padding-top: 1.8em;
    padding-bottom: 3.2vw;
  }
}
.p-top .c-section.-recruit > .block > .content > .title::after {
  position: absolute;
  bottom: 0;
  content: "";
  display: block;
  width: 100%;
  height: 0.1875vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-recruit > .block > .content > .title::after {
    height: 2px;
  }
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-recruit > .block > .content > .title::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "RAECRUIT";
    background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
    background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: "Montserrat", sans-serif;
    font-weight: 300;
    opacity: 0.1;
    font-size: 10vw;
    font-weight: 400;
  }
}
.p-top .c-section.-recruit > .block > .content > .text {
  margin-bottom: 3.5vw;
}
.p-top .c-section.-recruit > .block > .list {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fit, 22.5vw);
  gap: 1.25vw;
  width: 93.75vw;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-recruit > .block > .list {
    -ms-grid-columns: 1fr 3.2vw 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 4.2666666667vw 3.2vw;
    width: 100%;
  }
}
.p-top .c-section.-recruit > .block .item .image {
  position: relative;
}
.p-top .c-section.-recruit > .block .item .image:hover {
  opacity: 0.8;
}
.p-top .c-section.-recruit > .block .item .image::before {
  content: "";
  position: absolute;
  bottom: 1vw;
  right: 1vw;
  display: block;
  width: 2.5vw;
  height: 2.5vw;
  background-image: url(/assets/images/ico_arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-recruit > .block .item .image::before {
    bottom: 2.1333333333vw;
    right: 2.1333333333vw;
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }
}
.p-top .c-section.-recruit > .block .item .title {
  margin-top: 1vw;
  font-size: 1vw;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-top .c-section.-recruit > .block .item .title {
    margin-top: 1.0666666667vw;
    font-size: 4.2666666667vw;
  }
}

.p-jobs main {
  padding-inline: 15vw;
}
@media screen and (max-width: 768px) {
  .p-jobs main {
    padding-inline: 5.3333333333vw;
  }
}
.p-jobs main::before {
  content: "";
  position: absolute;
  inset: 0;
  bottom: -50%;
  z-index: -1;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
@media screen and (max-width: 768px) {
  .p-jobs main::before {
    bottom: -200%;
  }
}
@media not screen and (max-width: 768px) {
  .p-jobs .c-breadcrumb {
    margin-left: -12vw;
  }
}
.p-jobs .c-section > .title {
  position: relative;
}
.p-jobs .c-section > .title .jp {
  position: relative;
  display: inline-block;
  margin-bottom: 7.5vw;
  padding-top: 8vw;
  padding-bottom: 1vw;
  font-weight: 400;
  line-height: 1;
  opacity: 0;
  -webkit-transform: translateY(4vw);
          transform: translateY(4vw);
  -webkit-transition: all 0.2s 1s ease;
  transition: all 0.2s 1s ease;
}
@media screen and (max-width: 768px) {
  .p-jobs .c-section > .title .jp {
    margin-bottom: 10.6666666667vw;
    padding-top: 4.5em;
    padding-bottom: 3.2vw;
  }
}
.p-jobs .c-section > .title .jp::after {
  position: absolute;
  bottom: 0;
  content: "";
  display: block;
  width: 100%;
  height: 0.1875vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
}
@media screen and (max-width: 768px) {
  .p-jobs .c-section > .title .jp::after {
    height: 2px;
  }
}
.p-jobs .c-section > .title .en {
  position: absolute;
  top: 0;
  left: 0;
  white-space: nowrap;
  opacity: 0;
  font-size: 5vw;
}
@media screen and (max-width: 768px) {
  .p-jobs .c-section > .title .en {
    font-size: 10.6666666667vw;
    line-height: 1;
  }
}
.p-jobs .c-section > .title .en > span {
  display: inline-block;
  position: relative;
  overflow: hidden;
}
.p-jobs .c-section > .title .en > span:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}
.p-jobs .c-section > .title .en > span span {
  display: inline-block;
  color: #fff;
  font-weight: 400;
  font-family: "Montserrat", sans-serif;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

ol.c-note {
  margin-top: 2vw;
  margin-left: 0;
  counter-reset: number 0;
}
@media screen and (max-width: 768px) {
  ol.c-note {
    margin-top: 4.2666666667vw;
  }
}

ol.c-note li {
  font-size: 0.8em;
  position: relative;
  padding-left: 1.85em;
  list-style: none;
}
@media screen and (max-width: 768px) {
  ol.c-note li {
    margin-top: 4.2666666667vw;
  }
}

ol.c-note li::after {
  counter-increment: number 1;
  content: "※" counter(number);
  position: absolute;
  top: 0;
  left: 0;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes secondaryImageOverlayIn {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@keyframes secondaryImageOverlayIn {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@-webkit-keyframes secondaryImageOverlayOut {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(102%);
            transform: translateX(102%);
  }
}
@keyframes secondaryImageOverlayOut {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(102%);
            transform: translateX(102%);
  }
}
.loaded .jp {
  opacity: 1 !important;
  -webkit-transform: translateY(0) !important;
          transform: translateY(0) !important;
}

.loaded .en {
  opacity: 1 !important;
}
.loaded .en > span:after {
  -webkit-animation: secondaryImageOverlayIn 0.6s 1s cubic-bezier(0.77, 0, 0.175, 1), secondaryImageOverlayOut 0.6s 1.6s cubic-bezier(0.77, 0, 0.175, 1);
          animation: secondaryImageOverlayIn 0.6s 1s cubic-bezier(0.77, 0, 0.175, 1), secondaryImageOverlayOut 0.6s 1.6s cubic-bezier(0.77, 0, 0.175, 1);
}
.loaded .en > span span {
  -webkit-animation: fadeIn 0.1s 1.5s;
          animation: fadeIn 0.1s 1.5s;
}

.p-jobs-people main {
  position: relative;
}
@media not screen and (max-width: 768px) {
  .p-jobs-people .c-breadcrumb {
    position: absolute;
    top: 1.25vw;
    left: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-breadcrumb {
    position: relative;
    padding-bottom: 5.3333333333vw;
    padding-inline: 5.3333333333vw;
  }
  .p-jobs-people .c-breadcrumb::before {
    content: "";
    position: absolute;
    inset: 0;
    top: 0;
    bottom: -30vw;
    z-index: -1;
    opacity: 0.3;
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
    background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
  }
}
.p-jobs-people .jobProfile {
  position: relative;
  padding-inline: 15vw;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .jobProfile {
    padding-inline: 5.3333333333vw;
  }
}
.p-jobs-people .jobProfile::before {
  content: "";
  position: absolute;
  inset: 0;
  top: -8vw;
  bottom: 25%;
  z-index: -2;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
@media screen and (max-width: 768px) {
  .p-jobs-people .jobProfile::before {
    padding-inline: 5.3333333333vw;
    top: -37.1vw;
  }
}
.p-jobs-people .jobProfile .wrap {
  padding: 2.5vw;
  background-color: #fff;
  border-radius: 2vw;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .jobProfile .wrap {
    padding: 5.3333333333vw;
  }
}
.p-jobs-people .jobProfile .title {
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  opacity: 0.1;
  margin-bottom: 2.25vw;
  font-size: 2vw;
  font-weight: 400;
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .jobProfile .title {
    font-size: 5.3333333333vw;
  }
}
.p-jobs-people .jobProfile .list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2.5vw 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25vw 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .jobProfile .list {
    -ms-grid-columns: 1fr;
    grid-template-columns: repeat(1, 1fr);
    gap: 2.6666666667vw 5.3333333333vw;
  }
}
.p-jobs-people .jobProfile .item {
  font-size: 1vw;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .jobProfile .item {
    font-size: 4.2666666667vw;
  }
}
.p-jobs-people .jobProfile .subtitle {
  margin-bottom: 0.75vw;
  padding: 0.25vw 1.25vw;
  border: 1px solid #ccc;
  border-radius: 0.25vw;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .jobProfile .subtitle {
    margin-bottom: 1.6vw;
    padding: 0.5333333333vw 2.6666666667vw;
    border-radius: 0.5333333333vw;
  }
}
.p-jobs-people .jobProfile .text {
  padding-inline: 1.25vw;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .jobProfile .text {
    padding-inline: 2.6666666667vw;
  }
}
.p-jobs-people .is-hidden {
  opacity: 0;
  -webkit-transform: translateY(4vw);
          transform: translateY(4vw);
}
.p-jobs-people .is-visible {
  opacity: 1 !important;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: all 0.8s 0.2s ease;
  transition: all 0.8s 0.2s ease;
}
.p-jobs-people .c-section + .c-section {
  margin-top: 7.5vw;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section + .c-section {
    margin-top: 16vw;
  }
}
.p-jobs-people .c-section {
  position: relative;
}
@media not screen and (max-width: 768px) {
  .p-jobs-people .c-section p, .p-jobs-people .c-section span {
    font-size: 1vw;
  }
}
.p-jobs-people .c-section.-normal {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section.-normal {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-inline: 5.3333333333vw;
  }
}
@media not screen and (max-width: 768px) {
  .p-jobs-people .c-section.-normal:nth-of-type(2n) {
    margin-left: 7.5vw;
  }
}
@media not screen and (max-width: 768px) {
  .p-jobs-people .c-section.-normal:nth-of-type(2n-1) {
    gap: 4.5vw;
    margin-right: 7.5vw;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.p-jobs-people .c-section.-normal > .content {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media not screen and (max-width: 768px) {
  .p-jobs-people .c-section.-normal > .content {
    padding-left: 7.5vw;
  }
}
.p-jobs-people .c-section.-normal > .content > .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1vw;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.5vw;
}
@media not screen and (max-width: 768px) {
  .p-jobs-people .c-section.-normal > .content > .title {
    position: absolute;
    top: 0;
    left: 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section.-normal > .content > .title {
    gap: 2.1333333333vw;
    font-size: 4.2666666667vw;
  }
}
.p-jobs-people .c-section.-normal > .content > .title .ico {
  position: relative;
  position: relative;
  display: block;
  width: 2.5vw;
  height: 2.5vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section.-normal > .content > .title .ico {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
  }
}
.p-jobs-people .c-section.-normal > .content > .title .ico::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-jobs-people .c-section.-normal > .content > .title .ico::after {
  content: "";
  position: absolute;
  inset: 0.375vw;
  background-color: #fff;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section.-normal > .content > .title .ico::after {
    inset: 0.56vw;
  }
}
.p-jobs-people .c-section.-normal > .content > .subtitle {
  margin-bottom: 3vw;
  font-size: 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section.-normal > .content > .subtitle {
    font-size: 5.3333333333vw;
  }
}
.p-jobs-people .c-section.-normal > .content > .text {
  line-height: 2;
}
.p-jobs-people .c-section.-normal > .content > .text .block {
  display: block;
  margin-block: 1.25vw;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section.-normal > .content > .text .block {
    margin-block: 4.2666666667vw;
  }
}
.p-jobs-people .c-section.-normal > .image {
  position: relative;
  height: -webkit-min-content;
  height: -moz-min-content;
  height: min-content;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section.-normal > .image {
    margin-top: 5.3333333333vw;
    margin-inline: auto;
  }
}
.p-jobs-people .c-section.-normal > .image::before {
  content: "";
  position: absolute;
  bottom: -3.75vw;
  left: 2.5vw;
  z-index: -1;
  width: 30vw;
  height: 20vw;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section.-normal > .image::before {
    bottom: -9.6vw;
    left: 6.4vw;
    width: 76.8vw;
    height: 51.2vw;
  }
}
.p-jobs-people .c-section.-normal > .image img {
  display: block;
}
.p-jobs-people .c-section.-normal > .image img:nth-child(1) {
  width: 30vw;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media not screen and (max-width: 768px) {
  .p-jobs-people .c-section.-normal > .image img:nth-child(1) {
    padding-left: 7.5vw;
  }
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section.-normal > .image img:nth-child(1) {
    width: 76.8vw;
    padding-left: 19.2vw;
  }
}
.p-jobs-people .c-section.-normal > .image img:nth-child(2) {
  width: 15vw;
  margin-top: -2.5vw;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section.-normal > .image img:nth-child(2) {
    width: 38.4vw;
    margin-top: -6.4vw;
  }
}
@media not screen and (max-width: 768px) {
  .p-jobs-people .c-section.-normal:nth-of-type(2n-1) > .image::before {
    left: 5vw;
  }
}
.p-jobs-people .c-section.-message {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 2.5vw;
  padding: 5vw 15vw 6.25vw;
  background-color: #f5f5f5;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section.-message {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5.3333333333vw;
    padding-inline: 5.3333333333vw;
  }
}
.p-jobs-people .c-section.-message > .content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-jobs-people .c-section.-message > .content > .title {
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  opacity: 0.1;
  font-size: 1.25vw;
  font-weight: 400;
  margin-bottom: 0.5vw;
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section.-message > .content > .title {
    font-size: 4.2666666667vw;
    margin-bottom: 1.0666666667vw;
  }
}
.p-jobs-people .c-section.-message > .content > .subtitle {
  margin-bottom: 0.75vw;
  font-size: 1.5vw;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section.-message > .content > .subtitle {
    font-size: 5.3333333333vw;
    margin-bottom: 3.2vw;
  }
}
.p-jobs-people .c-section.-message > .content > .text {
  line-height: 2;
}
.p-jobs-people .c-section.-message > .image {
  position: relative;
  z-index: 1;
  height: -webkit-min-content;
  height: -moz-min-content;
  height: min-content;
}
.p-jobs-people .c-section.-message > .image::before {
  content: "";
  position: absolute;
  bottom: -2.5vw;
  right: 0;
  z-index: -1;
  width: 30vw;
  height: 20vw;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section.-message > .image::before {
    bottom: -6.9333333333vw;
    width: 83.2vw;
    height: 55.4666666667vw;
  }
}
.p-jobs-people .c-section.-message > .image img {
  display: block;
  width: 30vw;
  padding-right: 2.5vw;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section.-message > .image img {
    width: 83.2vw;
    padding-right: 6.9333333333vw;
  }
}
.p-jobs-people .c-section.-offTime {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section.-offTime {
    width: 100%;
    padding-inline: 5.3333333333vw;
  }
}
.p-jobs-people .c-section.-offTime .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.25vw;
}
@media not screen and (max-width: 768px) {
  .p-jobs-people .c-section.-offTime .list {
    position: relative;
    padding-top: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section.-offTime .list {
    gap: 4.2666666667vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-jobs-people .c-section.-offTime .title {
  width: 100%;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  opacity: 0.1;
  font-size: 1.25vw;
  font-weight: 400;
  margin-bottom: 0.75vw;
  opacity: 1;
}
@media not screen and (max-width: 768px) {
  .p-jobs-people .c-section.-offTime .title {
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section.-offTime .title {
    font-size: 5.3333333333vw;
    margin-bottom: 1.6vw;
  }
}
.p-jobs-people .c-section.-offTime .title span {
  margin-left: 0.75vw;
  font-size: 0.8em;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section.-offTime .title span {
    margin-left: 1.6vw;
  }
}
.p-jobs-people .c-section.-offTime .item {
  width: 22.5vw;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section.-offTime .item {
    width: 100%;
  }
}
.p-jobs-people .c-section.-offTime .item.-xl {
  width: 45vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 1.25vw;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section.-offTime .item.-xl {
    width: 100%;
  }
}
.p-jobs-people .c-section.-offTime .item.-xl .image {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-jobs-people .c-section.-offTime .item.-xl .text {
  width: 100%;
}
.p-jobs-people .c-section.-offTime .image {
  margin-bottom: 1vw;
}
.p-jobs-people .c-section.-offTime .text {
  line-height: 2;
}
.p-jobs-people .c-section.-jobOther {
  margin-top: 5vw;
  padding-top: 7.5vw;
  padding-inline: 15vw;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section.-jobOther {
    padding-inline: 5.3333333333vw;
  }
}
.p-jobs-people .c-section.-jobOther::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
.p-jobs-people .c-section.-jobOther > .title {
  position: relative;
  display: inline-block;
  margin-bottom: 5vw;
  padding-bottom: 1vw;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section.-jobOther > .title {
    margin-bottom: 10.6666666667vw;
    padding-top: 2em;
    padding-bottom: 3.2vw;
    font-size: 5.3333333333vw;
  }
}
.p-jobs-people .c-section.-jobOther > .title::after {
  position: absolute;
  bottom: 0;
  content: "";
  display: block;
  width: 100%;
  height: 0.1875vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section.-jobOther > .title::after {
    height: 2px;
  }
}
@media screen and (max-width: 768px) {
  .p-jobs-people .c-section.-jobOther .image {
    padding-left: 6.4vw;
  }
}

.p-mission main {
  position: relative;
}
.p-mission main::after {
  content: "";
  position: absolute;
  bottom: 0;
  inset-inline: 0;
  z-index: -2;
  height: 18vw;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
@media screen and (max-width: 768px) {
  .p-mission main::after {
    padding-inline: 5.3333333333vw;
  }
}
.p-mission .is-hidden {
  opacity: 0;
  -webkit-transform: translateY(4vw);
          transform: translateY(4vw);
}
.p-mission .is-visible {
  opacity: 1 !important;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: all 0.8s 0.2s ease;
  transition: all 0.8s 0.2s ease;
}
@media not screen and (max-width: 768px) {
  .p-mission .c-breadcrumb {
    position: absolute;
    top: 1.25vw;
    left: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .p-mission .c-breadcrumb {
    position: relative;
    padding-bottom: 5.3333333333vw;
    padding-inline: 5.3333333333vw;
  }
  .p-mission .c-breadcrumb::before {
    content: "";
    position: absolute;
    inset: 0;
    top: 0;
    bottom: -30vw;
    z-index: -1;
    opacity: 0.3;
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
    background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
  }
}
.p-mission .c-mv .item {
  position: relative;
}
.p-mission .c-mv .item:hover .image::after {
  opacity: 0.3;
}
.p-mission .c-mv .item .marker {
  position: relative;
  z-index: 0;
  display: inline-block;
  padding: 0.75vw 0.25vw;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-clip-path: inset(0 0 100% 0);
          clip-path: inset(0 0 100% 0);
}
@media screen and (max-width: 768px) {
  .p-mission .c-mv .item .marker {
    letter-spacing: 0.17em;
  }
}
.p-mission .c-mv .item .marker::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #fff;
}
@media not screen and (max-width: 768px) {
  .p-mission .c-mv .image {
    height: calc(100vh - 5vw);
  }
}
.p-mission .c-mv .image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-mission .c-mv .image img {
    height: max(45vh, 70vw);
  }
}
.p-mission .c-mv .content {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-mission .c-mv .content-title {
  color: #fff;
  font-size: 1.5vw;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (max-width: 768px) {
  .p-mission .c-mv .content-title {
    padding: 3.2vw 0.5333333333vw;
    font-size: 5.3333333333vw;
  }
}
.p-mission .c-section {
  position: relative;
  padding-top: 6.25vw;
  padding-inline: 15vw;
}
@media screen and (max-width: 768px) {
  .p-mission .c-section {
    margin-top: 16vw;
    padding-inline: 5.3333333333vw;
  }
}
.p-mission .c-section p,
.p-mission .c-section span {
  line-height: 2;
}
@media not screen and (max-width: 768px) {
  .p-mission .c-section p,
.p-mission .c-section span {
    font-size: 1vw;
  }
}
.p-mission .c-section:first-of-type {
  margin-top: 0;
}
.p-mission .c-section:first-of-type::before {
  content: "";
  position: absolute;
  top: 0;
  inset-inline: 0;
  z-index: -2;
  height: 25vw;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
@media screen and (max-width: 768px) {
  .p-mission .c-section:first-of-type::before {
    padding-inline: 5.3333333333vw;
  }
}
.p-mission .c-section.-num01 .title {
  font-size: 2.5vw;
  margin-bottom: 1.5vw;
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num01 .title {
    font-size: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.p-mission .c-section.-num01 .text {
  font-size: 1.25vw;
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num01 .text {
    font-size: 4.8vw;
  }
}
.p-mission .c-section.-num01 .loop {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  overflow: hidden;
  line-height: 1;
  opacity: 0.1;
}
.p-mission .c-section.-num01 .loop__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
.p-mission .c-section.-num01 .loop__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  white-space: nowrap;
  padding-right: 0.25vw;
  padding-left: 0.25vw;
  font-size: 15vw;
  font-family: "Montserrat", sans-serif;
  line-height: 0.715;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.p-mission .c-section.-num01 .loop__item:nth-child(odd) {
  -webkit-animation: loop 150s -75s linear infinite;
          animation: loop 150s -75s linear infinite;
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num01 .loop__item:nth-child(odd) {
    -webkit-animation: loop 50s -25s linear infinite;
            animation: loop 50s -25s linear infinite;
  }
}
.p-mission .c-section.-num01 .loop__item:nth-child(even) {
  -webkit-animation: loop2 150s linear infinite;
          animation: loop2 150s linear infinite;
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num01 .loop__item:nth-child(even) {
    -webkit-animation: loop2 50s linear infinite;
            animation: loop2 50s linear infinite;
  }
}
@-webkit-keyframes loop {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes loop {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@-webkit-keyframes loop2 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
}
@keyframes loop2 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
}
.p-mission .c-section.-num02 > .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1.5vw;
  font-size: 2vw;
}
@media not screen and (max-width: 768px) {
  .p-mission .c-section.-num02 > .title {
    background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
    background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num02 > .title {
    margin-bottom: 5.3333333333vw;
    color: #348c50;
    font-size: 5.8666666667vw;
  }
}
.p-mission .c-section.-num02 > .title .ico {
  margin-right: 1vw;
  content: "";
  position: relative;
  display: block;
  width: 2.5vw;
  height: 2.5vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num02 > .title .ico {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
  }
}
.p-mission .c-section.-num02 > .title .ico::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-mission .c-section.-num02 > .title .ico::after {
  content: "";
  position: absolute;
  inset: 0.375vw;
  background-color: #fff;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num02 > .title .ico::after {
    inset: 0.56vw;
  }
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num02 > .title .ico {
    position: relative;
    display: block;
    width: 3vw;
    height: 3vw;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    border-radius: 100%;
    margin-right: 2.1333333333vw;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-mission .c-section.-num02 > .title .ico {
    width: 4.48vw;
    height: 4.48vw;
  }
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num02 > .title .ico::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    border: 1px solid transparent;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
            mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
            mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
  }
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num02 > .title .ico::after {
    content: "";
    position: absolute;
    inset: 0.45vw;
    background-color: #fff;
    border-radius: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-mission .c-section.-num02 > .title .ico::after {
    inset: 0.672vw;
  }
}
.p-mission .c-section.-num02 > .subtitle {
  margin-bottom: 1.5vw;
  font-size: 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num02 > .subtitle {
    margin-bottom: 5.3333333333vw;
    font-size: 5.3333333333vw;
  }
}
.p-mission .c-section.-num02 > .text {
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num02 > .text {
    margin-bottom: 8.5333333333vw;
    font-size: 4.2666666667vw;
  }
}
.p-mission .c-section.-num02 > .block {
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num02 > .block {
    margin-bottom: 5.3333333333vw;
  }
}
.p-mission .c-section.-num02 > .block > .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0.5vw;
  font-size: 1.5vw;
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num02 > .block > .title {
    font-size: 4.8vw;
  }
}
.p-mission .c-section.-num02 > .block > .title .ico {
  margin-right: 0.5vw;
  content: "";
  position: relative;
  display: block;
  width: 1.5vw;
  height: 1.5vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num02 > .block > .title .ico {
    width: 2.24vw;
    height: 2.24vw;
  }
}
.p-mission .c-section.-num02 > .block > .title .ico::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-mission .c-section.-num02 > .block > .title .ico::after {
  content: "";
  position: absolute;
  inset: 0.1875vw;
  background-color: #fff;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num02 > .block > .title .ico::after {
    inset: 0.28vw;
  }
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num02 > .block > .title .ico {
    position: relative;
    display: block;
    width: 2.4vw;
    height: 2.4vw;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    border-radius: 100%;
    margin-right: 1.6vw;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-mission .c-section.-num02 > .block > .title .ico {
    width: 3.584vw;
    height: 3.584vw;
  }
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num02 > .block > .title .ico::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    border: 1px solid transparent;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
            mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
            mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
  }
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num02 > .block > .title .ico::after {
    content: "";
    position: absolute;
    inset: 0.3vw;
    background-color: #fff;
    border-radius: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-mission .c-section.-num02 > .block > .title .ico::after {
    inset: 0.448vw;
  }
}
.p-mission .c-section.-num02 .block.-fuki {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num02 .block.-fuki {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5.3333333333vw;
  }
}
.p-mission .c-section.-num02 .block.-fuki > .image {
  width: 22.5vw;
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num02 .block.-fuki > .image {
    width: 100%;
  }
}
.p-mission .c-section.-num02 .block.-fuki > .text {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 2vw;
  border-radius: 1vw;
  background-color: #f5f5f5;
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num02 .block.-fuki > .text {
    padding: 4.2666666667vw;
  }
}
.p-mission .c-section.-num02 .block.-fuki > .text::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  border-top: 2.25vw solid #f5f5f5;
  border-left: 3.75vw solid transparent;
  width: 0px;
  height: 0px;
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num02 .block.-fuki > .text::after {
    bottom: auto;
    left: 16%;
    -webkit-transform: rotate(90deg) translateX(-75%);
            transform: rotate(90deg) translateX(-75%);
    border-top: 7.2vw solid #f5f5f5;
    border-left: 12vw solid transparent;
  }
}
.p-mission .c-section.-num03 > .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 3vw;
  font-size: 2vw;
}
@media not screen and (max-width: 768px) {
  .p-mission .c-section.-num03 > .title {
    background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
    background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num03 > .title {
    margin-bottom: 5.3333333333vw;
    color: #348c50;
    font-size: 5.8666666667vw;
  }
}
.p-mission .c-section.-num03 > .title .ico {
  margin-right: 1vw;
  content: "";
  position: relative;
  display: block;
  width: 2.5vw;
  height: 2.5vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num03 > .title .ico {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
  }
}
.p-mission .c-section.-num03 > .title .ico::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-mission .c-section.-num03 > .title .ico::after {
  content: "";
  position: absolute;
  inset: 0.375vw;
  background-color: #fff;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num03 > .title .ico::after {
    inset: 0.56vw;
  }
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num03 > .title .ico {
    position: relative;
    display: block;
    width: 3vw;
    height: 3vw;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    border-radius: 100%;
    margin-right: 2.1333333333vw;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-mission .c-section.-num03 > .title .ico {
    width: 4.48vw;
    height: 4.48vw;
  }
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num03 > .title .ico::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    border: 1px solid transparent;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
            mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
            mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
  }
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num03 > .title .ico::after {
    content: "";
    position: absolute;
    inset: 0.45vw;
    background-color: #fff;
    border-radius: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-mission .c-section.-num03 > .title .ico::after {
    inset: 0.672vw;
  }
}
.p-mission .c-section.-num03 > .wrap {
  padding: 4.5vw;
  border-radius: 1vw;
  background-color: #f5f5f5;
  text-align: center;
}
.p-mission .c-section.-num03 .block + .block {
  margin-top: 3.5vw;
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num03 .block + .block {
    margin-top: 6.4vw;
  }
}
.p-mission .c-section.-num03 .block > .title {
  margin-bottom: 2.5vw;
  font-size: 2vw;
  font-weight: 300;
  background: -webkit-gradient(linear, left top, right top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(90deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num03 .block > .title {
    font-size: 5.3333333333vw;
  }
}
.p-mission .c-section.-num03 .block > .title::before {
  content: "";
  display: block;
  width: 4.625vw;
  height: 2.3125vw;
  margin-inline: auto;
  margin-bottom: 0.75vw;
  background-image: url(/assets/images/ico_ring.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num03 .block > .title::before {
    width: 9.8666666667vw;
    height: 4.9333333333vw;
    margin-bottom: 1.6vw;
  }
}
.p-mission .c-section.-num03 .block > .text {
  font-size: 1.25vw;
  line-height: 2.8;
}
@media screen and (max-width: 768px) {
  .p-mission .c-section.-num03 .block > .text {
    font-size: 4.8vw;
    text-align: left;
    line-height: 2;
  }
}
.p-mission .btnList {
  display: -ms-grid;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-grid-columns: 1fr 1.25vw 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25vw;
  margin-top: 15vw;
  margin-inline: auto;
  width: 35vw;
}
@media screen and (max-width: 768px) {
  .p-mission .btnList {
    -ms-grid-columns: 70%;
    grid-template-columns: repeat(1, 70%);
    gap: 5.3333333333vw 3.2vw;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
  }
}
.p-mission .btnList .btn {
  font-size: 1vw;
  line-height: 2.5vw;
}
.p-mission .btnList .btn {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 9999px;
  text-decoration: none;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-mission .btnList .btn:hover {
  color: #348c50;
  background: #fff;
}
.p-mission .btnList .btn::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-mission .btnList .btn::after {
  content: "";
  display: block;
  margin-block: auto;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: 768px) {
  .p-mission .btnList .btn {
    font-size: 3.7333333333vw;
    line-height: 12.8vw;
  }
}
.p-mission .btnList .btn::after {
  width: 1vw;
  height: 1vw;
  margin-left: 0.5vw;
  background-image: url(/assets/images/ico_arrow.svg);
}
@media screen and (max-width: 768px) {
  .p-mission .btnList .btn::after {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
    margin-left: 1.0666666667vw;
  }
}
.p-mission .btnList .btn:hover::after {
  background-image: url(/assets/images/ico_arrow_02.svg);
}

.loaded.p-mission .c-mv .item .marker {
  -webkit-animation: c-mv-marker02 1s 0.5s both;
          animation: c-mv-marker02 1s 0.5s both;
  -webkit-animation-delay: 1.3s;
          animation-delay: 1.3s;
}
.loaded.p-mission .c-mv .item .marker::after {
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-animation-delay: 1.3s;
          animation-delay: 1.3s;
}

.loaded.p-mission .c-mv .item .content-text .marker {
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}
.loaded.p-mission .c-mv .item .content-text .marker::after {
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}

.p-message main {
  position: relative;
}
.p-message main::after {
  content: "";
  position: absolute;
  bottom: 0;
  inset-inline: 0;
  z-index: -2;
  height: 18vw;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
@media screen and (max-width: 768px) {
  .p-message main::after {
    padding-inline: 5.3333333333vw;
  }
}
.p-message .is-hidden {
  opacity: 0;
  -webkit-transform: translateY(4vw);
          transform: translateY(4vw);
}
.p-message .is-visible {
  opacity: 1 !important;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: all 0.8s 0.2s ease;
  transition: all 0.8s 0.2s ease;
}
@media not screen and (max-width: 768px) {
  .p-message .c-breadcrumb {
    position: absolute;
    top: 1.25vw;
    left: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .p-message .c-breadcrumb {
    position: relative;
    padding-bottom: 5.3333333333vw;
    padding-inline: 5.3333333333vw;
  }
  .p-message .c-breadcrumb::before {
    content: "";
    position: absolute;
    inset: 0;
    top: 0;
    bottom: -30vw;
    z-index: -1;
    opacity: 0.3;
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
    background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
  }
}
.p-message .c-jobsList.-mv {
  margin-bottom: 0;
}
.p-message .c-jobsList.-mv .item {
  position: relative;
}
.p-message .c-jobsList.-mv .content {
  position: absolute;
  bottom: 0;
  inset-inline: 0;
  -webkit-transform: translateY(58%);
          transform: translateY(58%);
}
.p-message .c-jobsList.-mv .marker::after {
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
}
@media screen and (max-width: 768px) {
  .p-message .c-jobsList.-mv .content-title {
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .p-message .c-jobsList.-mv .content-text {
    font-size: 4.8vw;
  }
}
.p-message .c-jobsList.-mv .content-info {
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-message .c-jobsList.-mv .content-info {
    font-size: 3.7333333333vw;
    line-height: 1.6;
  }
}
.p-message .c-section {
  position: relative;
  padding-top: 6.25vw;
  padding-inline: 15vw;
}
@media screen and (max-width: 768px) {
  .p-message .c-section {
    padding-top: 16vw;
    padding-inline: 5.3333333333vw;
  }
}
.p-message .c-section p,
.p-message .c-section span,
.p-message .c-section dt, .p-message .c-section dd {
  line-height: 2;
}
@media not screen and (max-width: 768px) {
  .p-message .c-section p,
.p-message .c-section span,
.p-message .c-section dt, .p-message .c-section dd {
    font-size: 1vw;
  }
}
.p-message .c-section:first-of-type::before {
  content: "";
  position: absolute;
  top: 0;
  inset-inline: 0;
  z-index: -2;
  height: 25vw;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
@media screen and (max-width: 768px) {
  .p-message .c-section:first-of-type::before {
    padding-inline: 5.3333333333vw;
  }
}
.p-message .c-section.-num01 .title {
  padding-top: 7.5vw;
  font-size: 2.5vw;
  margin-bottom: 2vw;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num01 .title {
    font-size: 5.3333333333vw;
  }
}
.p-message .c-section.-num01 .text {
  font-size: 1.25vw;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num01 .text {
    font-size: 4.2666666667vw;
  }
}
.p-message .c-section.-num01 .loop {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  overflow: hidden;
  line-height: 1;
  opacity: 0.1;
}
.p-message .c-section.-num01 .loop__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
.p-message .c-section.-num01 .loop__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  white-space: nowrap;
  padding-right: 0.25vw;
  padding-left: 0.25vw;
  font-size: 15vw;
  font-family: "Montserrat", sans-serif;
  line-height: 0.715;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.p-message .c-section.-num01 .loop__item:nth-child(odd) {
  -webkit-animation: loop 150s -75s linear infinite;
          animation: loop 150s -75s linear infinite;
}
.p-message .c-section.-num01 .loop__item:nth-child(even) {
  -webkit-animation: loop2 150s linear infinite;
          animation: loop2 150s linear infinite;
}
@keyframes loop {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
}
.p-message .c-section.-num02 {
  padding-top: 5vw;
}
@media not screen and (max-width: 768px) {
  .p-message .c-section.-num02 {
    position: relative;
    padding-left: 22.5vw;
  }
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num02 {
    padding-top: 10.6666666667vw;
  }
}
.p-message .c-section.-num02 > .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1.5vw;
  font-size: 1.5vw;
  font-weight: 300;
}
@media not screen and (max-width: 768px) {
  .p-message .c-section.-num02 > .title {
    position: absolute;
    left: 15vw;
    -webkit-writing-mode: vertical-lr;
        -ms-writing-mode: tb-lr;
            writing-mode: vertical-lr;
  }
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num02 > .title {
    margin-bottom: 3.2vw;
    font-size: 4.2666666667vw;
    font-weight: 400;
  }
}
.p-message .c-section.-num02 > .title .num {
  position: relative;
  width: 2.5vw;
  height: 2.5vw;
  margin-bottom: 0.75vw;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  -webkit-writing-mode: initial;
      -ms-writing-mode: initial;
          writing-mode: initial;
  position: relative;
  display: block;
  width: 2.5vw;
  height: 2.5vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 100%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num02 > .title .num {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
  }
}
.p-message .c-section.-num02 > .title .num::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num02 > .title .num {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    margin-bottom: 0;
    margin-right: 1.6vw;
  }
}
.p-message .c-section.-num02 > .text {
  margin-bottom: 1.5vw;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num02 > .text {
    margin-bottom: 3.2vw;
  }
}
.p-message .c-section.-num02 > .block + .block {
  margin-top: 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num02 > .block + .block {
    margin-top: 10.6666666667vw;
  }
}
.p-message .c-section.-num02 > .block > .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1vw;
  font-size: 1.5vw;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num02 > .block > .title {
    margin-bottom: 3.2vw;
    font-size: 4.8vw;
  }
}
.p-message .c-section.-num02 > .block > .title .question {
  display: inline-block;
  margin-right: 0.5vw;
  font-size: 2vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num02 > .block > .title .question {
    margin-right: 2.1333333333vw;
    margin-left: 0.5333333333vw;
    font-size: 5.3333333333vw;
  }
}
.p-message .c-section.-num02 > .block > .subtitle {
  margin-bottom: 1.5vw;
  font-size: 2.5vw;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num02 > .block > .subtitle {
    margin-bottom: 3.2vw;
    font-size: 5.3333333333vw;
  }
}
.p-message .c-section.-num02 > .block > .image {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: auto;
  margin-top: 3.75vw;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num02 > .block > .image {
    margin-top: 8vw;
  }
}
.p-message .c-section.-num02 > .block > .image::before {
  content: "";
  position: absolute;
  inset: 1.25vw;
  z-index: -1;
  background-image: url(/assets/images/ico_ring_l.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 0;
  opacity: 0;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num02 > .block > .image::before {
    inset: 2vw;
  }
}
.p-message .c-section.-num02 > .block > .image.is-img-visible::before {
  opacity: 1;
  background-size: contain;
}
.p-message .c-section.-num02 > .block > .image img {
  opacity: 0;
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
}
.p-message .c-section.-num02 > .block > .image.is-img-visible img {
  opacity: 1;
  -webkit-transform: translate(0, 0) !important;
          transform: translate(0, 0) !important;
}
.p-message .c-section.-num02 > .block > .image img:nth-child(1) {
  width: 30vw;
  margin-left: 12%;
  -webkit-transform: translate(-4vw, 4vw);
          transform: translate(-4vw, 4vw);
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num02 > .block > .image img:nth-child(1) {
    width: 48vw;
    margin-left: 19.2%;
  }
}
.p-message .c-section.-num02 > .block > .image img:nth-child(2) {
  width: 15vw;
  margin-top: -4%;
  margin-left: -32%;
  -webkit-transform: translate(4vw, -4vw);
          transform: translate(4vw, -4vw);
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num02 > .block > .image img:nth-child(2) {
    width: 24vw;
    margin-top: -6.4%;
    margin-left: -51.2%;
  }
}
.p-message .c-section.-num02 > .block > .path {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5vw;
  margin-top: 4.5vw;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num02 > .block > .path {
    gap: 5.3333333333vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.p-message .c-section.-num02 > .block > .path .image {
  width: 18.75vw;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num02 > .block > .path .image {
    width: 60%;
  }
}
.p-message .c-section.-num02 > .block > .path .caption {
  margin-top: 0.75vw;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num02 > .block > .path .caption {
    margin-top: 0.375vw;
  }
}
.p-message .c-section.-num02 > .block > .path .content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 2vw;
  background-color: #f5f5f5;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num02 > .block > .path .content {
    padding: 4.2666666667vw;
  }
}
.p-message .c-section.-num02 > .block > .path .title {
  margin-bottom: 1vw;
  padding-bottom: 0.75vw;
  border-bottom: 1px solid #ccc;
  font-size: 1.25vw;
  font-family: "Montserrat", sans-serif;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num02 > .block > .path .title {
    margin-bottom: 4.2666666667vw;
    padding-bottom: 3.2vw;
    font-size: 4.8vw;
  }
}
.p-message .c-section.-num02 > .block > .path .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-message .c-section.-num02 > .block > .path .item + .item {
  margin-top: 0.375vw;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num02 > .block > .path .item + .item {
    margin-top: 1.6vw;
  }
}
.p-message .c-section.-num02 > .block > .path .year {
  width: 5vw;
  font-size: 1.25vw;
  font-family: "Montserrat", sans-serif;
  line-height: 1.6;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num02 > .block > .path .year {
    width: 22%;
    font-size: 5.3333333333vw;
  }
}
.p-message .c-section.-num02 > .block > .path .text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num02 > .block > .path .text {
    font-size: 3.7333333333vw;
  }
}
.p-message .c-section.-num03 {
  margin-top: 5vw;
  padding-block: 5vw;
  background-color: #f5f5f5;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num03 {
    margin-top: 10.6666666667vw;
    padding-block: 10.6666666667vw;
  }
}
.p-message .c-section.-num03 .wrap {
  padding: 2vw 2.5vw;
  background-color: #fff;
  border-radius: 1vw;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num03 .wrap {
    padding: 4.2666666667vw 5.3333333333vw;
    border-radius: 2.1333333333vw;
  }
}
.p-message .c-section.-num03 .wrap > .title {
  margin-bottom: 1.125vw;
  padding-bottom: 0.875vw;
  border-bottom: 1px solid #ccc;
  font-size: 1.25vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num03 .wrap > .title {
    margin-bottom: 4.8vw;
    padding-bottom: 3.7333333333vw;
    font-size: 4.8vw;
    font-weight: 400;
  }
}
.p-message .c-section.-num03 .wrap > .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.75vw 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num03 .wrap > .list {
    gap: 4.8vw 16vw;
  }
}
.p-message .c-section.-num03 .wrap > .list .item {
  width: calc((100% - 2.5vw) / 2);
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num03 .wrap > .list .item {
    width: 100%;
  }
}
.p-message .c-section.-num03 .wrap > .list .title {
  display: inline-block;
  margin-bottom: 0.5vw;
  padding-inline: 0.75vw;
  padding-bottom: 0.125vw;
  border-radius: 0.25vw;
  color: #fff;
  line-height: 1.6;
  background: -webkit-gradient(linear, left top, right top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(90deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num03 .wrap > .list .title {
    margin-bottom: 1.0666666667vw;
    padding-inline: 1.6vw;
    padding-bottom: 0.2666666667vw;
    border-radius: 1.0666666667vw;
  }
}
.p-message .c-section.-num03 .wrap > .aside {
  margin-top: 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num03 .wrap > .aside {
    margin-top: 5.3333333333vw;
  }
}
.p-message .c-section.-num03 .wrap > .aside .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1vw;
  font-size: 1vw;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num03 .wrap > .aside .title {
    margin-bottom: 2.1333333333vw;
    font-size: 3.7333333333vw;
  }
}
.p-message .c-section.-num03 .wrap > .aside .title .ico {
  margin-right: 0.5vw;
  content: "";
  position: relative;
  display: block;
  width: 1vw;
  height: 1vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num03 .wrap > .aside .title .ico {
    width: 1.4933333333vw;
    height: 1.4933333333vw;
  }
}
.p-message .c-section.-num03 .wrap > .aside .title .ico::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-message .c-section.-num03 .wrap > .aside .title .ico::after {
  content: "";
  position: absolute;
  inset: 0.175vw;
  background-color: #fff;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num03 .wrap > .aside .title .ico::after {
    inset: 0.2613333333vw;
  }
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num03 .wrap > .aside .title .ico {
    margin-right: 2.1333333333vw;
    position: relative;
    display: block;
    width: 2vw;
    height: 2vw;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    border-radius: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-message .c-section.-num03 .wrap > .aside .title .ico {
    width: 2.9866666667vw;
    height: 2.9866666667vw;
  }
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num03 .wrap > .aside .title .ico::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    border: 1px solid transparent;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
            mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
            mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
  }
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num03 .wrap > .aside .title .ico::after {
    content: "";
    position: absolute;
    inset: 0.35vw;
    background-color: #fff;
    border-radius: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-message .c-section.-num03 .wrap > .aside .title .ico::after {
    inset: 0.5226666667vw;
  }
}
.p-message .c-section.-num03 .wrap > .aside .list {
  display: -ms-grid;
  display: grid;
  gap: 2.5vw;
  -ms-grid-columns: 1fr 2.5vw 1fr 2.5vw 1fr;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num03 .wrap > .aside .list {
    gap: 5.3333333333vw;
    -ms-grid-columns: 1fr 5.3333333333vw 1fr;
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-message .c-section.-num03 .wrap > .aside .text {
  margin-top: 0.375vw;
  font-size: 0.875vw;
}
@media screen and (max-width: 768px) {
  .p-message .c-section.-num03 .wrap > .aside .text {
    margin-top: 0.8vw;
    font-size: 3.7333333333vw;
  }
}
.p-message .c-section.-bgImage {
  padding-inline: 0;
}
.p-message .btnList {
  display: -ms-grid;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-grid-columns: 1fr 1.25vw 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25vw;
  margin-top: 15vw;
  margin-inline: auto;
  width: 35vw;
}
@media screen and (max-width: 768px) {
  .p-message .btnList {
    -ms-grid-columns: 70%;
    grid-template-columns: repeat(1, 70%);
    gap: 5.3333333333vw 3.2vw;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
  }
}
.p-message .btnList .btn {
  font-size: 1vw;
  line-height: 2.5vw;
}
.p-message .btnList .btn {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 9999px;
  text-decoration: none;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-message .btnList .btn:hover {
  color: #348c50;
  background: #fff;
}
.p-message .btnList .btn::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-message .btnList .btn::after {
  content: "";
  display: block;
  margin-block: auto;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: 768px) {
  .p-message .btnList .btn {
    font-size: 3.7333333333vw;
    line-height: 12.8vw;
  }
}
.p-message .btnList .btn::after {
  width: 1vw;
  height: 1vw;
  margin-left: 0.5vw;
  background-image: url(/assets/images/ico_arrow.svg);
}
@media screen and (max-width: 768px) {
  .p-message .btnList .btn::after {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
    margin-left: 1.0666666667vw;
  }
}
.p-message .btnList .btn:hover::after {
  background-image: url(/assets/images/ico_arrow_02.svg);
}

.p-company main {
  position: relative;
}
.p-company main::before {
  content: "";
  position: absolute;
  top: 0;
  inset-inline: 0;
  z-index: -2;
  height: 25vw;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
@media screen and (max-width: 768px) {
  .p-company main::before {
    padding-inline: 5.3333333333vw;
  }
}
.p-company main::after {
  content: "";
  position: absolute;
  bottom: 0;
  inset-inline: 0;
  z-index: -2;
  height: 18vw;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
@media screen and (max-width: 768px) {
  .p-company main::after {
    padding-inline: 5.3333333333vw;
  }
}
.p-company main > .title {
  position: relative;
  padding-top: 12.5vw;
  padding-bottom: 6.25vw;
  padding-inline: 15vw;
}
@media screen and (max-width: 768px) {
  .p-company main > .title {
    padding-top: 13.3333333333vw;
    padding-bottom: 6.6666666667vw;
    padding-inline: 5.3333333333vw;
  }
}
.p-company main > .title .jp {
  position: relative;
  display: inline-block;
  padding-bottom: 1vw;
  font-size: 2.5vw;
  font-weight: 400;
  line-height: 1;
  opacity: 0;
  -webkit-transform: translateY(4vw);
          transform: translateY(4vw);
  -webkit-transition: all 0.5s 1s ease;
  transition: all 0.5s 1s ease;
}
@media screen and (max-width: 768px) {
  .p-company main > .title .jp {
    margin: 0;
    padding: 0;
    padding-bottom: 3.2vw;
    font-size: 6.4vw;
  }
}
.p-company main > .title .jp::after {
  position: absolute;
  bottom: 0;
  content: "";
  display: block;
  width: 100%;
  height: 0.1875vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
}
@media screen and (max-width: 768px) {
  .p-company main > .title .jp::after {
    height: 2px;
  }
}
.p-company .is-hidden {
  opacity: 0;
  -webkit-transform: translateY(4vw);
          transform: translateY(4vw);
}
.p-company .is-visible {
  opacity: 1 !important;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: all 0.8s 0.2s ease;
  transition: all 0.8s 0.2s ease;
}
@media not screen and (max-width: 768px) {
  .p-company .c-breadcrumb {
    position: absolute;
    top: 1.25vw;
    left: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .p-company .c-breadcrumb {
    position: relative;
    padding-bottom: 5.3333333333vw;
    padding-inline: 5.3333333333vw;
  }
  .p-company .c-breadcrumb::before {
    content: "";
    position: absolute;
    inset: 0;
    top: 0;
    bottom: -30vw;
    z-index: -1;
    opacity: 0.3;
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
    background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
  }
}
.p-company .c-section {
  position: relative;
  padding-top: 6.25vw;
  padding-inline: 15vw;
}
@media screen and (max-width: 768px) {
  .p-company .c-section {
    margin-top: 16vw;
    padding-inline: 5.3333333333vw;
  }
}
.p-company .c-section p,
.p-company .c-section span,
.p-company .c-section dt, .p-company .c-section dd,
.p-company .c-section li {
  line-height: 2;
}
@media not screen and (max-width: 768px) {
  .p-company .c-section p,
.p-company .c-section span,
.p-company .c-section dt, .p-company .c-section dd,
.p-company .c-section li {
    font-size: 1vw;
  }
}
.p-company .c-section > .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 3vw;
  font-size: 1.5vw;
}
@media screen and (max-width: 768px) {
  .p-company .c-section > .title {
    font-size: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.p-company .c-section > .title .ico {
  content: "";
  margin-top: 0.25vw;
  margin-right: 0.5vw;
  position: relative;
  display: block;
  width: 1.5vw;
  height: 1.5vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-company .c-section > .title .ico {
    width: 2.24vw;
    height: 2.24vw;
  }
}
.p-company .c-section > .title .ico::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-company .c-section > .title .ico::after {
  content: "";
  position: absolute;
  inset: 0.1875vw;
  background-color: #fff;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-company .c-section > .title .ico::after {
    inset: 0.28vw;
  }
}
@media screen and (max-width: 768px) {
  .p-company .c-section > .title .ico {
    margin-right: 2.1333333333vw;
    position: relative;
    display: block;
    width: 3vw;
    height: 3vw;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    border-radius: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-company .c-section > .title .ico {
    width: 4.48vw;
    height: 4.48vw;
  }
}
@media screen and (max-width: 768px) {
  .p-company .c-section > .title .ico::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    border: 1px solid transparent;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
            mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
            mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
  }
}
@media screen and (max-width: 768px) {
  .p-company .c-section > .title .ico::after {
    content: "";
    position: absolute;
    inset: 0.375vw;
    background-color: #fff;
    border-radius: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-company .c-section > .title .ico::after {
    inset: 0.56vw;
  }
}
.p-company .c-section.-num01 .list {
  display: -ms-grid;
  display: grid;
  gap: 0.5vw;
}
.p-company .c-section.-num01 .list .item {
  display: -ms-grid;
  display: grid;
  gap: 0.5vw;
  -ms-grid-columns: 15.625vw 0.5vw 1fr;
  grid-template-columns: 15.625vw 1fr;
}
@media screen and (max-width: 768px) {
  .p-company .c-section.-num01 .list .item {
    -ms-grid-columns: 5.5em 1fr;
    grid-template-columns: 5.5em 1fr;
  }
}
.p-company .c-section.-num01 .list .title, .p-company .c-section.-num01 .list .text {
  padding: 2.5vw;
}
.p-company .c-section.-num01 .list .title {
  position: relative;
  text-align: right;
  font-weight: 400;
}
.p-company .c-section.-num01 .list .title::before {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  opacity: 0.3;
  pointer-events: none;
  background-image: -webkit-gradient(linear, left top, right top, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(90deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
.p-company .c-section.-num01 .list .text {
  background-color: #f5f5f5;
}
@media screen and (max-width: 768px) {
  .p-company .c-section.-num01 .list .text {
    padding-top: 3vw;
  }
}
.p-company .c-section.-num02 .list {
  position: relative;
  display: -ms-grid;
  display: grid;
  gap: 0.5vw;
}
.p-company .c-section.-num02 .list::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 2em;
  z-index: -1;
  width: 1px;
  background-color: #ccc;
}
@media screen and (max-width: 768px) {
  .p-company .c-section.-num02 .list::before {
    left: 1.7em;
  }
}
.p-company .c-section.-num02 .list .item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 5.5vw 2.5vw 1fr;
  grid-template-columns: 5.5vw 1fr;
  gap: 0 2.5vw;
  padding-bottom: 3vw;
}
@media screen and (max-width: 768px) {
  .p-company .c-section.-num02 .list .item {
    -ms-grid-columns: 18.1333333333vw 1fr;
    grid-template-columns: 18.1333333333vw 1fr;
    padding-bottom: 6.4vw;
  }
}
.p-company .c-section.-num02 .list .title {
  position: relative;
  display: inline-block;
  height: -webkit-min-content;
  height: -moz-min-content;
  height: min-content;
  font-size: 2vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  line-height: 1.2;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 768px) {
  .p-company .c-section.-num02 .list .title {
    font-size: 6.4vw;
  }
}
.p-company .c-section.-num02 .list .title::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -0.25vw;
  background-color: #fff;
}
.p-company .c-section.-num02 .list .text {
  font-size: 1.25vw;
  -webkit-transform: translateY(-0.1875vw);
          transform: translateY(-0.1875vw);
}
@media screen and (max-width: 768px) {
  .p-company .c-section.-num02 .list .text {
    font-size: 4.2666666667vw;
    -webkit-transform: translateY(-1.0666666667vw);
            transform: translateY(-1.0666666667vw);
  }
}
@media not screen and (max-width: 768px) {
  .p-company .c-section.-num03 .title {
    margin-bottom: -2vw;
  }
}
.p-company .c-section.-num03 .image {
  width: 100%;
}
.p-company .c-section.-num03 .image text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-company .c-section.-num03 .image text {
    font-weight: 700;
  }
}
.p-company .btnList {
  display: -ms-grid;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-grid-columns: 1fr 1.25vw 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25vw;
  margin-top: 15vw;
  margin-inline: auto;
  width: 35vw;
}
@media screen and (max-width: 768px) {
  .p-company .btnList {
    -ms-grid-columns: 70%;
    grid-template-columns: repeat(1, 70%);
    gap: 5.3333333333vw 3.2vw;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 25.6vw;
    width: 100%;
  }
}
.p-company .btnList .btn {
  font-size: 1vw;
  line-height: 2.5vw;
}
.p-company .btnList .btn {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 9999px;
  text-decoration: none;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-company .btnList .btn:hover {
  color: #348c50;
  background: #fff;
}
.p-company .btnList .btn::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-company .btnList .btn::after {
  content: "";
  display: block;
  margin-block: auto;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: 768px) {
  .p-company .btnList .btn {
    font-size: 3.7333333333vw;
    line-height: 12.8vw;
  }
}
.p-company .btnList .btn::after {
  width: 1vw;
  height: 1vw;
  margin-left: 0.5vw;
  background-image: url(/assets/images/ico_arrow.svg);
}
@media screen and (max-width: 768px) {
  .p-company .btnList .btn::after {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
    margin-left: 1.0666666667vw;
  }
}
.p-company .btnList .btn:hover::after {
  background-image: url(/assets/images/ico_arrow_02.svg);
}

.p-base main {
  position: relative;
}
.p-base main::before {
  content: "";
  position: absolute;
  top: 0;
  inset-inline: 0;
  z-index: -2;
  height: 25vw;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
@media screen and (max-width: 768px) {
  .p-base main::before {
    padding-inline: 5.3333333333vw;
  }
}
.p-base main::after {
  content: "";
  position: absolute;
  bottom: 0;
  inset-inline: 0;
  z-index: -2;
  height: 18vw;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
@media screen and (max-width: 768px) {
  .p-base main::after {
    padding-inline: 5.3333333333vw;
  }
}
.p-base main > .title {
  position: relative;
  display: inline-block;
  margin-bottom: 6.25vw;
  margin-inline: 15vw;
  padding-top: 12.5vw;
  padding-bottom: 1vw;
  font-size: 2.5vw;
  opacity: 0;
  -webkit-transform: translateY(4vw);
          transform: translateY(4vw);
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}
@media screen and (max-width: 768px) {
  .p-base main > .title {
    margin-bottom: 10.6666666667vw;
    margin-inline: 5.3333333333vw;
    padding-top: 13.3333333333vw;
    padding-bottom: 3.2vw;
    font-size: 6.4vw;
  }
}
.p-base main > .title::after {
  position: absolute;
  bottom: 0;
  content: "";
  display: block;
  width: 100%;
  height: 0.1875vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
}
@media screen and (max-width: 768px) {
  .p-base main > .title::after {
    height: 2px;
  }
}
.loaded .p-base main > .title {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.p-base main > .text {
  padding-top: 6.25vw;
  padding-bottom: 1.25vw;
  padding-inline: 15vw;
  font-size: 1.25vw;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-base main > .text {
    padding-top: 6.6666666667vw;
    padding-bottom: 6.6666666667vw;
    padding-inline: 5.3333333333vw;
    font-size: 4.2666666667vw;
  }
}
.p-base .is-hidden {
  opacity: 0;
  -webkit-transform: translateY(4vw);
          transform: translateY(4vw);
}
.p-base .is-visible {
  opacity: 1 !important;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: all 0.8s 0.2s ease;
  transition: all 0.8s 0.2s ease;
}
@media not screen and (max-width: 768px) {
  .p-base .c-breadcrumb {
    position: absolute;
    top: 1.25vw;
    left: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .p-base .c-breadcrumb {
    position: relative;
    padding-bottom: 5.3333333333vw;
    padding-inline: 5.3333333333vw;
  }
  .p-base .c-breadcrumb::before {
    content: "";
    position: absolute;
    inset: 0;
    top: 0;
    bottom: -30vw;
    z-index: -1;
    opacity: 0.3;
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
    background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
  }
}
.p-base .c-section {
  position: relative;
  padding-top: 6.25vw;
  padding-inline: 15vw;
}
@media screen and (max-width: 768px) {
  .p-base .c-section {
    margin-top: 16vw;
    padding-inline: 5.3333333333vw;
  }
}
.p-base .c-section p,
.p-base .c-section span,
.p-base .c-section dt,
.p-base .c-section dd,
.p-base .c-section li {
  line-height: 2;
}
@media not screen and (max-width: 768px) {
  .p-base .c-section p,
.p-base .c-section span,
.p-base .c-section dt,
.p-base .c-section dd,
.p-base .c-section li {
    font-size: 1vw;
  }
}
.p-base .c-section.-num01 .list {
  display: -ms-grid;
  display: grid;
  gap: 5vw 2.5vw;
  -ms-grid-columns: 1fr 2.5vw 1fr;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 768px) {
  .p-base .c-section.-num01 .list {
    -ms-grid-columns: 1fr;
    grid-template-columns: repeat(1, 1fr);
    gap: 8.5333333333vw;
  }
}
.p-base .c-section.-num01 .list .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1vw;
  font-size: 1.5vw;
}
@media screen and (max-width: 768px) {
  .p-base .c-section.-num01 .list .title {
    font-size: 5.3333333333vw;
    margin-bottom: 3.2vw;
  }
}
.p-base .c-section.-num01 .list .title .ico {
  content: "";
  margin-top: 0.25vw;
  margin-right: 0.5vw;
  position: relative;
  display: block;
  width: 1.5vw;
  height: 1.5vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-base .c-section.-num01 .list .title .ico {
    width: 2.24vw;
    height: 2.24vw;
  }
}
.p-base .c-section.-num01 .list .title .ico::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-base .c-section.-num01 .list .title .ico::after {
  content: "";
  position: absolute;
  inset: 0.1875vw;
  background-color: #fff;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-base .c-section.-num01 .list .title .ico::after {
    inset: 0.28vw;
  }
}
@media screen and (max-width: 768px) {
  .p-base .c-section.-num01 .list .title .ico {
    margin-right: 2.1333333333vw;
    position: relative;
    display: block;
    width: 3vw;
    height: 3vw;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    border-radius: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-base .c-section.-num01 .list .title .ico {
    width: 4.48vw;
    height: 4.48vw;
  }
}
@media screen and (max-width: 768px) {
  .p-base .c-section.-num01 .list .title .ico::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    border: 1px solid transparent;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
            mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
            mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
  }
}
@media screen and (max-width: 768px) {
  .p-base .c-section.-num01 .list .title .ico::after {
    content: "";
    position: absolute;
    inset: 0.375vw;
    background-color: #fff;
    border-radius: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-base .c-section.-num01 .list .title .ico::after {
    inset: 0.56vw;
  }
}
.p-base .c-section.-num01 .list .image {
  margin-bottom: 1.25vw;
}
@media screen and (max-width: 768px) {
  .p-base .c-section.-num01 .list .image {
    margin-bottom: 3.2vw;
  }
}
.p-base .c-section.-num01 .list .text {
  margin-bottom: 1vw;
}
@media screen and (max-width: 768px) {
  .p-base .c-section.-num01 .list .text {
    margin-bottom: 3.2vw;
  }
}
.p-base .c-section.-num01 .list .link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-decoration: underline;
  font-size: 0.875vw;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-base .c-section.-num01 .list .link {
    font-size: 3.2vw;
  }
}
.p-base .c-section.-num01 .list .link::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  margin-left: 0.5vw;
  background-image: url(/assets/images/ico_blank_02.svg);
  background-repeat: no-repeat;
}
.p-base .btnList {
  display: -ms-grid;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-grid-columns: 1fr 1.25vw 1fr 1.25vw 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25vw;
  margin-top: 15vw;
  margin-inline: auto;
  width: 52.5vw;
}
@media screen and (max-width: 768px) {
  .p-base .btnList {
    -ms-grid-columns: 70%;
    grid-template-columns: repeat(1, 70%);
    gap: 5.3333333333vw 3.2vw;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 25.6vw;
    width: 100%;
  }
}
.p-base .btnList .btn {
  font-size: 1vw;
  line-height: 2.5vw;
}
.p-base .btnList .btn {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 9999px;
  text-decoration: none;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-base .btnList .btn:hover {
  color: #348c50;
  background: #fff;
}
.p-base .btnList .btn::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-base .btnList .btn::after {
  content: "";
  display: block;
  margin-block: auto;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: 768px) {
  .p-base .btnList .btn {
    font-size: 3.7333333333vw;
    line-height: 12.8vw;
  }
}
.p-base .btnList .btn::after {
  width: 1vw;
  height: 1vw;
  margin-left: 0.5vw;
  background-image: url(/assets/images/ico_arrow.svg);
}
@media screen and (max-width: 768px) {
  .p-base .btnList .btn::after {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
    margin-left: 1.0666666667vw;
  }
}
.p-base .btnList .btn:hover::after {
  background-image: url(/assets/images/ico_arrow_02.svg);
}

.p-department main {
  position: relative;
}
.p-department main::after {
  content: "";
  position: absolute;
  bottom: 0;
  inset-inline: 0;
  z-index: -2;
  height: 18vw;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
@media screen and (max-width: 768px) {
  .p-department main::after {
    padding-inline: 5.3333333333vw;
  }
}
.p-department .is-hidden {
  opacity: 0;
  -webkit-transform: translateY(4vw);
          transform: translateY(4vw);
}
.p-department .is-visible {
  opacity: 1 !important;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: all 0.8s 0.2s ease;
  transition: all 0.8s 0.2s ease;
}
@media not screen and (max-width: 768px) {
  .p-department .c-breadcrumb {
    position: absolute;
    top: 1.25vw;
    left: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .p-department .c-breadcrumb {
    position: relative;
    padding-bottom: 5.3333333333vw;
    padding-inline: 5.3333333333vw;
  }
  .p-department .c-breadcrumb::before {
    content: "";
    position: absolute;
    inset: 0;
    top: 0;
    bottom: -30vw;
    z-index: -1;
    opacity: 0.3;
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
    background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
  }
}
.p-department .c-mv .item {
  position: relative;
}
.p-department .c-mv .item:hover .image::after {
  opacity: 0.3;
}
.p-department .c-mv .item .marker {
  position: relative;
  z-index: 0;
  display: inline-block;
  padding: 0.75vw 0.25vw;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-clip-path: inset(0 0 100% 0);
          clip-path: inset(0 0 100% 0);
}
@media screen and (max-width: 768px) {
  .p-department .c-mv .item .marker {
    letter-spacing: 0.17em;
  }
}
.p-department .c-mv .item .marker::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #fff;
}
.loaded .p-department .c-mv .item .marker {
  -webkit-animation: c-mv-marker02 1s 0.5s both;
          animation: c-mv-marker02 1s 0.5s both;
  -webkit-animation-delay: 1.3s;
          animation-delay: 1.3s;
}
.loaded .p-department .c-mv .item .marker::after {
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-animation-delay: 1.3s;
          animation-delay: 1.3s;
}
.loaded .p-department .c-mv .item .content-text .marker {
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}
.loaded .p-department .c-mv .item .content-text .marker::after {
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}
@media not screen and (max-width: 768px) {
  .p-department .c-mv .image {
    height: calc(100vh - 5vw);
  }
}
.p-department .c-mv .image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-department .c-mv .image img {
    height: max(45vh, 70vw);
  }
}
.p-department .c-mv .content {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-department .c-mv .content-title {
  color: #fff;
  font-size: 1.5vw;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (max-width: 768px) {
  .p-department .c-mv .content-title {
    padding: 3.2vw 0.5333333333vw;
    font-size: 5.3333333333vw;
  }
}
.p-department .c-section {
  position: relative;
  padding-top: 6.25vw;
  padding-inline: 15vw;
}
@media screen and (max-width: 768px) {
  .p-department .c-section {
    margin-top: 8vw;
    padding-inline: 5.3333333333vw;
  }
}
.p-department .c-section p,
.p-department .c-section span {
  line-height: 2;
}
@media not screen and (max-width: 768px) {
  .p-department .c-section p,
.p-department .c-section span {
    font-size: 1vw;
  }
}
.p-department .c-section:first-of-type {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .p-department .c-section:first-of-type {
    margin-bottom: -5.3333333333vw;
    padding-top: 12.8vw;
  }
}
.p-department .c-section:first-of-type::before {
  content: "";
  position: absolute;
  top: 0;
  inset-inline: 0;
  z-index: -2;
  height: 25vw;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
@media screen and (max-width: 768px) {
  .p-department .c-section:first-of-type::before {
    padding-inline: 5.3333333333vw;
  }
}
.p-department .c-section.-num01 .title {
  font-size: 2.5vw;
  margin-bottom: 1.5vw;
}
@media screen and (max-width: 768px) {
  .p-department .c-section.-num01 .title {
    font-size: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.p-department .c-section.-num01 .text {
  font-size: 1.25vw;
}
@media screen and (max-width: 768px) {
  .p-department .c-section.-num01 .text {
    font-size: 4.8vw;
  }
}
.p-department .c-section.-num01 .loop {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  overflow: hidden;
  line-height: 1;
  opacity: 0.1;
}
.p-department .c-section.-num01 .loop__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
.p-department .c-section.-num01 .loop__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  white-space: nowrap;
  padding-right: 0.25vw;
  padding-left: 0.25vw;
  font-size: 15vw;
  font-family: "Montserrat", sans-serif;
  line-height: 0.715;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.p-department .c-section.-num01 .loop__item:nth-child(odd) {
  -webkit-animation: loop 150s -75s linear infinite;
          animation: loop 150s -75s linear infinite;
}
@media screen and (max-width: 768px) {
  .p-department .c-section.-num01 .loop__item:nth-child(odd) {
    -webkit-animation: loop 50s -25s linear infinite;
            animation: loop 50s -25s linear infinite;
  }
}
.p-department .c-section.-num01 .loop__item:nth-child(even) {
  -webkit-animation: loop2 150s linear infinite;
          animation: loop2 150s linear infinite;
}
@media screen and (max-width: 768px) {
  .p-department .c-section.-num01 .loop__item:nth-child(even) {
    -webkit-animation: loop2 50s linear infinite;
            animation: loop2 50s linear infinite;
  }
}
@keyframes loop {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
}
.p-department .c-section.-num02 > .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1.5vw;
  font-size: 2vw;
}
@media not screen and (max-width: 768px) {
  .p-department .c-section.-num02 > .title {
    background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
    background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
@media screen and (max-width: 768px) {
  .p-department .c-section.-num02 > .title {
    margin-bottom: 5.3333333333vw;
    color: #348c50;
    font-size: 5.8666666667vw;
  }
}
.p-department .c-section.-num02 > .title .ico {
  margin-right: 1vw;
  content: "";
  position: relative;
  display: block;
  width: 2.5vw;
  height: 2.5vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-department .c-section.-num02 > .title .ico {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
  }
}
.p-department .c-section.-num02 > .title .ico::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-department .c-section.-num02 > .title .ico::after {
  content: "";
  position: absolute;
  inset: 0.375vw;
  background-color: #fff;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-department .c-section.-num02 > .title .ico::after {
    inset: 0.56vw;
  }
}
@media screen and (max-width: 768px) {
  .p-department .c-section.-num02 > .title .ico {
    position: relative;
    display: block;
    width: 3vw;
    height: 3vw;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    border-radius: 100%;
    margin-right: 2.1333333333vw;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-department .c-section.-num02 > .title .ico {
    width: 4.48vw;
    height: 4.48vw;
  }
}
@media screen and (max-width: 768px) {
  .p-department .c-section.-num02 > .title .ico::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    border: 1px solid transparent;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
            mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
            mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
  }
}
@media screen and (max-width: 768px) {
  .p-department .c-section.-num02 > .title .ico::after {
    content: "";
    position: absolute;
    inset: 0.45vw;
    background-color: #fff;
    border-radius: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-department .c-section.-num02 > .title .ico::after {
    inset: 0.672vw;
  }
}
.p-department .c-section.-num02 > .subtitle {
  margin-bottom: 1.5vw;
  font-size: 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-department .c-section.-num02 > .subtitle {
    margin-bottom: 5.3333333333vw;
    font-size: 5.3333333333vw;
  }
}
.p-department .c-section.-num02 > .text {
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-department .c-section.-num02 > .text {
    margin-bottom: 8.5333333333vw;
    font-size: 4.2666666667vw;
  }
}
.p-department .c-section.-num02 > .block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.5vw;
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-department .c-section.-num02 > .block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 5.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .p-department .c-section.-num02 > .block + .block {
    margin-top: 8.5333333333vw;
  }
}
@media not screen and (max-width: 768px) {
  .p-department .c-section.-num02:nth-of-type(2n) > .block:nth-of-type(2n) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media not screen and (max-width: 768px) {
  .p-department .c-section.-num02:nth-of-type(2n-1) > .block:nth-of-type(2n-1) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.p-department .c-section.-num02 > .block .content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-department .c-section.-num02 > .block .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0.5vw;
  font-size: 1.5vw;
}
@media screen and (max-width: 768px) {
  .p-department .c-section.-num02 > .block .title {
    font-size: 4.8vw;
  }
}
.p-department .c-section.-num02 > .block .title .ico {
  margin-right: 0.5vw;
  content: "";
  position: relative;
  display: block;
  width: 1.5vw;
  height: 1.5vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-department .c-section.-num02 > .block .title .ico {
    width: 2.24vw;
    height: 2.24vw;
  }
}
.p-department .c-section.-num02 > .block .title .ico::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-department .c-section.-num02 > .block .title .ico::after {
  content: "";
  position: absolute;
  inset: 0.1875vw;
  background-color: #fff;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-department .c-section.-num02 > .block .title .ico::after {
    inset: 0.28vw;
  }
}
@media screen and (max-width: 768px) {
  .p-department .c-section.-num02 > .block .title .ico {
    position: relative;
    display: block;
    width: 2.4vw;
    height: 2.4vw;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    border-radius: 100%;
    margin-right: 1.6vw;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-department .c-section.-num02 > .block .title .ico {
    width: 3.584vw;
    height: 3.584vw;
  }
}
@media screen and (max-width: 768px) {
  .p-department .c-section.-num02 > .block .title .ico::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    border: 1px solid transparent;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
            mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
            mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
  }
}
@media screen and (max-width: 768px) {
  .p-department .c-section.-num02 > .block .title .ico::after {
    content: "";
    position: absolute;
    inset: 0.3vw;
    background-color: #fff;
    border-radius: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-department .c-section.-num02 > .block .title .ico::after {
    inset: 0.448vw;
  }
}
.p-department .c-section.-num02 > .block .image {
  width: 22.5vw;
}
@media screen and (max-width: 768px) {
  .p-department .c-section.-num02 > .block .image {
    margin-top: 2.1333333333vw;
    width: 100%;
  }
}
.p-department .btnList {
  display: -ms-grid;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-grid-columns: 1fr 1.25vw 1fr 1.25vw 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25vw;
  margin-top: 15vw;
  margin-inline: auto;
  width: 52.5vw;
}
@media screen and (max-width: 768px) {
  .p-department .btnList {
    -ms-grid-columns: 70%;
    grid-template-columns: repeat(1, 70%);
    gap: 5.3333333333vw 3.2vw;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
  }
}
.p-department .btnList .btn {
  font-size: 1vw;
  line-height: 2.5vw;
}
.p-department .btnList .btn {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 9999px;
  text-decoration: none;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-department .btnList .btn:hover {
  color: #348c50;
  background: #fff;
}
.p-department .btnList .btn::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-department .btnList .btn::after {
  content: "";
  display: block;
  margin-block: auto;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: 768px) {
  .p-department .btnList .btn {
    font-size: 3.7333333333vw;
    line-height: 12.8vw;
  }
}
.p-department .btnList .btn::after {
  width: 1vw;
  height: 1vw;
  margin-left: 0.5vw;
  background-image: url(/assets/images/ico_arrow.svg);
}
@media screen and (max-width: 768px) {
  .p-department .btnList .btn::after {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
    margin-left: 1.0666666667vw;
  }
}
.p-department .btnList .btn:hover::after {
  background-image: url(/assets/images/ico_arrow_02.svg);
}

.p-service main {
  position: relative;
}
.p-service main::after {
  content: "";
  position: absolute;
  bottom: 0;
  inset-inline: 0;
  z-index: -2;
  height: 18vw;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
@media screen and (max-width: 768px) {
  .p-service main::after {
    padding-inline: 5.3333333333vw;
  }
}
.p-service .is-hidden {
  opacity: 0;
  -webkit-transform: translateY(4vw);
          transform: translateY(4vw);
}
.p-service .is-visible {
  opacity: 1 !important;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: all 0.8s 0.2s ease;
  transition: all 0.8s 0.2s ease;
}
@media not screen and (max-width: 768px) {
  .p-service .c-breadcrumb {
    position: absolute;
    top: 1.25vw;
    left: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .p-service .c-breadcrumb {
    position: relative;
    padding-bottom: 5.3333333333vw;
    padding-inline: 5.3333333333vw;
  }
  .p-service .c-breadcrumb::before {
    content: "";
    position: absolute;
    inset: 0;
    top: 0;
    bottom: -30vw;
    z-index: -1;
    opacity: 0.3;
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
    background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
  }
}
.p-service .c-mv .item {
  position: relative;
}
.p-service .c-mv .item:hover .image::after {
  opacity: 0.3;
}
.p-service .c-mv .item .marker {
  position: relative;
  z-index: 0;
  display: inline-block;
  padding: 0.75vw 0.25vw;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-clip-path: inset(0 0 100% 0);
          clip-path: inset(0 0 100% 0);
}
@media screen and (max-width: 768px) {
  .p-service .c-mv .item .marker {
    letter-spacing: 0.17em;
  }
}
.p-service .c-mv .item .marker::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #fff;
}
.loaded .p-service .c-mv .item .marker {
  -webkit-animation: c-mv-marker02 1s 0.5s both;
          animation: c-mv-marker02 1s 0.5s both;
  -webkit-animation-delay: 1.3s;
          animation-delay: 1.3s;
}
.loaded .p-service .c-mv .item .marker::after {
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-animation-delay: 1.3s;
          animation-delay: 1.3s;
}
.loaded .p-service .c-mv .item .content-text .marker {
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}
.loaded .p-service .c-mv .item .content-text .marker::after {
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}
@media not screen and (max-width: 768px) {
  .p-service .c-mv .image {
    height: calc(100vh - 5vw);
  }
}
.p-service .c-mv .image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-service .c-mv .image img {
    height: max(45vh, 70vw);
  }
}
.p-service .c-mv .content {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-service .c-mv .content-title {
  color: #fff;
  font-size: 1.5vw;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (max-width: 768px) {
  .p-service .c-mv .content-title {
    padding: 3.2vw 0.5333333333vw;
    font-size: 5.3333333333vw;
  }
}
.p-service .c-section {
  position: relative;
  padding-top: 6.25vw;
  padding-inline: 15vw;
}
@media screen and (max-width: 768px) {
  .p-service .c-section {
    margin-top: 10.6666666667vw;
    padding-inline: 5.3333333333vw;
  }
}
.p-service .c-section p,
.p-service .c-section span,
.p-service .c-section li {
  line-height: 2;
}
@media not screen and (max-width: 768px) {
  .p-service .c-section p,
.p-service .c-section span,
.p-service .c-section li {
    font-size: 1vw;
  }
}
.p-service .c-section p.c-note {
  position: relative;
  padding-left: 1.5em;
}
.p-service .c-section p.c-note::after {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
.p-service .c-section:first-of-type {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .p-service .c-section:first-of-type {
    margin-bottom: -5.3333333333vw;
    padding-top: 12.8vw;
  }
}
.p-service .c-section:first-of-type::before {
  content: "";
  position: absolute;
  top: 0;
  inset-inline: 0;
  z-index: -2;
  height: 25vw;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
@media screen and (max-width: 768px) {
  .p-service .c-section:first-of-type::before {
    padding-inline: 5.3333333333vw;
  }
}
.p-service .c-section.-num01 .title {
  font-size: 2.5vw;
  margin-bottom: 1.5vw;
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num01 .title {
    font-size: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.p-service .c-section.-num01 .text {
  font-size: 1.25vw;
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num01 .text {
    font-size: 4.8vw;
  }
}
.p-service .c-section.-num01 .loop {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  overflow: hidden;
  line-height: 1;
  opacity: 0.1;
}
.p-service .c-section.-num01 .loop__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
.p-service .c-section.-num01 .loop__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  white-space: nowrap;
  padding-right: 0.25vw;
  padding-left: 0.25vw;
  font-size: 15vw;
  font-family: "Montserrat", sans-serif;
  line-height: 0.715;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.p-service .c-section.-num01 .loop__item:nth-child(odd) {
  -webkit-animation: loop 150s -75s linear infinite;
          animation: loop 150s -75s linear infinite;
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num01 .loop__item:nth-child(odd) {
    -webkit-animation: loop 50s -25s linear infinite;
            animation: loop 50s -25s linear infinite;
  }
}
.p-service .c-section.-num01 .loop__item:nth-child(even) {
  -webkit-animation: loop2 150s linear infinite;
          animation: loop2 150s linear infinite;
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num01 .loop__item:nth-child(even) {
    -webkit-animation: loop2 50s linear infinite;
            animation: loop2 50s linear infinite;
  }
}
@keyframes loop {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
}
.p-service .c-section.-num02 > .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1.5vw;
  font-size: 2vw;
}
@media not screen and (max-width: 768px) {
  .p-service .c-section.-num02 > .title {
    background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
    background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 > .title {
    margin-bottom: 5.3333333333vw;
    color: #348c50;
    font-size: 5.8666666667vw;
  }
}
.p-service .c-section.-num02 > .title .ico {
  margin-right: 1vw;
  content: "";
  position: relative;
  display: block;
  width: 2.5vw;
  height: 2.5vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 > .title .ico {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
  }
}
.p-service .c-section.-num02 > .title .ico::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-service .c-section.-num02 > .title .ico::after {
  content: "";
  position: absolute;
  inset: 0.375vw;
  background-color: #fff;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 > .title .ico::after {
    inset: 0.56vw;
  }
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 > .title .ico {
    position: relative;
    display: block;
    width: 3vw;
    height: 3vw;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    border-radius: 100%;
    margin-right: 2.1333333333vw;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-service .c-section.-num02 > .title .ico {
    width: 4.48vw;
    height: 4.48vw;
  }
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 > .title .ico::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    border: 1px solid transparent;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
            mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
            mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
  }
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 > .title .ico::after {
    content: "";
    position: absolute;
    inset: 0.45vw;
    background-color: #fff;
    border-radius: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-service .c-section.-num02 > .title .ico::after {
    inset: 0.672vw;
  }
}
.p-service .c-section.-num02 > .subtitle {
  margin-bottom: 1.5vw;
  font-size: 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 > .subtitle {
    margin-bottom: 5.3333333333vw;
    font-size: 5.3333333333vw;
  }
}
.p-service .c-section.-num02 > .text {
  margin-bottom: 1.25vw;
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 > .text {
    margin-bottom: 4.2666666667vw;
    font-size: 4.2666666667vw;
  }
}
.p-service .c-section.-num02 > .imageList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5vw;
  margin-top: 1.25vw;
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 > .imageList {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6.4vw;
    margin-top: 5.3333333333vw;
    margin-bottom: 4.2666666667vw;
  }
}
.p-service .c-section.-num02 > .imageList .group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 > .imageList .group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 > .imageList .item {
    text-align: center;
  }
}
.p-service .c-section.-num02 > .imageList .item:nth-child(2) {
  text-align: center;
}
.p-service .c-section.-num02 > .imageList .caption {
  margin-top: 0.5vw;
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 > .imageList .caption {
    margin-top: 2.1333333333vw;
  }
}
.p-service .c-section.-num02 > .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 > .list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-service .c-section.-num02 .block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  gap: 1.25vw;
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 .block {
    margin-bottom: 5.3333333333vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-service .c-section.-num02 .block .content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-service .c-section.-num02 .block .title,
.p-service .c-section.-num02 .subtitle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 2vw;
  font-size: 2.5vw;
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 .block .title,
.p-service .c-section.-num02 .subtitle {
    font-size: 5.3333333333vw;
    margin-bottom: 4.2666666667vw;
  }
}
.p-service .c-section.-num02 .block .title .ico {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  margin-right: 0.5vw;
  content: "";
  position: relative;
  display: block;
  width: 1.5vw;
  height: 1.5vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 .block .title .ico {
    width: 2.24vw;
    height: 2.24vw;
  }
}
.p-service .c-section.-num02 .block .title .ico::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-service .c-section.-num02 .block .title .ico::after {
  content: "";
  position: absolute;
  inset: 0.1875vw;
  background-color: #fff;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 .block .title .ico::after {
    inset: 0.28vw;
  }
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 .block .title .ico {
    position: relative;
    display: block;
    width: 2.4vw;
    height: 2.4vw;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    border-radius: 100%;
    margin-right: 1.6vw;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-service .c-section.-num02 .block .title .ico {
    width: 3.584vw;
    height: 3.584vw;
  }
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 .block .title .ico::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    border: 1px solid transparent;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
            mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
            mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
  }
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 .block .title .ico::after {
    content: "";
    position: absolute;
    inset: 0.3vw;
    background-color: #fff;
    border-radius: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-service .c-section.-num02 .block .title .ico::after {
    inset: 0.448vw;
  }
}
.p-service .c-section.-num02 .block .title.-sm {
  font-size: 1.5vw;
  margin-bottom: 0.5vw;
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 .block .title.-sm {
    font-size: 4.8vw;
    margin-top: 3.2vw;
    margin-bottom: dvw(8);
  }
}
.p-service .c-section.-num02 .block .image {
  width: 22.5vw;
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 .block .image {
    width: 100%;
    margin-top: 5.3333333333vw;
  }
}
.p-service .c-section.-num02 .list .block .image {
  width: 10vw;
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 .list .block .image {
    width: 40%;
    margin-top: 2.1333333333vw;
    margin-inline: auto;
  }
}
.p-service .c-section.-num02 .bgBlock {
  padding: 1.5vw;
  background-color: #f5f5f5;
  border-radius: 1vw;
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 .bgBlock {
    padding: 6.4vw;
    border-radius: 4.2666666667vw;
  }
}
.p-service .c-section.-num02 .bgBlock .list {
  margin-block: 0.5vw;
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 .bgBlock .list {
    margin-block: 2.1333333333vw;
  }
}
.p-service .c-section.-num02 .bgBlock .list .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-service .c-section.-num02 .bgBlock .list .item .ico {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  margin-top: 0.45em;
  margin-right: 0.5vw;
  content: "";
  position: relative;
  display: block;
  width: 0.75vw;
  height: 0.75vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 100%;
  opacity: 0.3;
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 .bgBlock .list .item .ico {
    width: 1.12vw;
    height: 1.12vw;
  }
}
.p-service .c-section.-num02 .bgBlock .list .item .ico::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-service .c-section.-num02 .bgBlock .list .item .ico::after {
  content: "";
  position: absolute;
  inset: 0.1875vw;
  background-color: #fff;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 .bgBlock .list .item .ico::after {
    inset: 0.28vw;
  }
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 .bgBlock .list .item .ico {
    margin-top: 0.55em;
    position: relative;
    display: block;
    width: 2.4vw;
    height: 2.4vw;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    border-radius: 100%;
    margin-right: 1.6vw;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-service .c-section.-num02 .bgBlock .list .item .ico {
    width: 3.584vw;
    height: 3.584vw;
  }
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 .bgBlock .list .item .ico::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    border: 1px solid transparent;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
            mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
            mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
  }
}
@media screen and (max-width: 768px) {
  .p-service .c-section.-num02 .bgBlock .list .item .ico::after {
    content: "";
    position: absolute;
    inset: 0.3vw;
    background-color: #fff;
    border-radius: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-service .c-section.-num02 .bgBlock .list .item .ico::after {
    inset: 0.448vw;
  }
}
.p-service .btnList {
  display: -ms-grid;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-grid-columns: 1fr 1.25vw 1fr 1.25vw 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25vw;
  margin-top: 15vw;
  margin-inline: auto;
  width: 52.5vw;
}
@media screen and (max-width: 768px) {
  .p-service .btnList {
    -ms-grid-columns: 70%;
    grid-template-columns: repeat(1, 70%);
    gap: 5.3333333333vw 3.2vw;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
  }
}
.p-service .btnList .btn {
  font-size: 1vw;
  line-height: 2.5vw;
}
.p-service .btnList .btn {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 9999px;
  text-decoration: none;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-service .btnList .btn:hover {
  color: #348c50;
  background: #fff;
}
.p-service .btnList .btn::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-service .btnList .btn::after {
  content: "";
  display: block;
  margin-block: auto;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: 768px) {
  .p-service .btnList .btn {
    font-size: 3.7333333333vw;
    line-height: 12.8vw;
  }
}
.p-service .btnList .btn::after {
  width: 1vw;
  height: 1vw;
  margin-left: 0.5vw;
  background-image: url(/assets/images/ico_arrow.svg);
}
@media screen and (max-width: 768px) {
  .p-service .btnList .btn::after {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
    margin-left: 1.0666666667vw;
  }
}
.p-service .btnList .btn:hover::after {
  background-image: url(/assets/images/ico_arrow_02.svg);
}

.p-track main {
  position: relative;
}
.p-track main::after {
  content: "";
  position: absolute;
  bottom: 0;
  inset-inline: 0;
  z-index: -2;
  height: 18vw;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
@media screen and (max-width: 768px) {
  .p-track main::after {
    padding-inline: 5.3333333333vw;
  }
}
.p-track .is-hidden {
  opacity: 0;
  -webkit-transform: translateY(4vw);
          transform: translateY(4vw);
}
.p-track .is-visible {
  opacity: 1 !important;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: all 0.8s 0.2s ease;
  transition: all 0.8s 0.2s ease;
}
@media not screen and (max-width: 768px) {
  .p-track .c-breadcrumb {
    position: absolute;
    top: 1.25vw;
    left: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .p-track .c-breadcrumb {
    position: relative;
    padding-bottom: 5.3333333333vw;
    padding-inline: 5.3333333333vw;
  }
  .p-track .c-breadcrumb::before {
    content: "";
    position: absolute;
    inset: 0;
    top: 0;
    bottom: -30vw;
    z-index: -1;
    opacity: 0.3;
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
    background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
  }
}
.p-track .c-mv .item {
  position: relative;
}
.p-track .c-mv .item:hover .image::after {
  opacity: 0.3;
}
.p-track .c-mv .item .marker {
  position: relative;
  z-index: 0;
  display: inline-block;
  padding: 0.75vw 0.25vw;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-clip-path: inset(0 0 100% 0);
          clip-path: inset(0 0 100% 0);
}
@media screen and (max-width: 768px) {
  .p-track .c-mv .item .marker {
    letter-spacing: 0.17em;
  }
}
.p-track .c-mv .item .marker::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #fff;
}
.loaded .p-track .c-mv .item .marker {
  -webkit-animation: c-mv-marker02 1s 0.5s both;
          animation: c-mv-marker02 1s 0.5s both;
  -webkit-animation-delay: 1.3s;
          animation-delay: 1.3s;
}
.loaded .p-track .c-mv .item .marker::after {
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-animation-delay: 1.3s;
          animation-delay: 1.3s;
}
.loaded .p-track .c-mv .item .content-text .marker {
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}
.loaded .p-track .c-mv .item .content-text .marker::after {
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}
@media not screen and (max-width: 768px) {
  .p-track .c-mv .image {
    height: calc(100vh - 5vw);
  }
}
.p-track .c-mv .image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-track .c-mv .image img {
    height: max(45vh, 70vw);
  }
}
.p-track .c-mv .content {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-track .c-mv .content-title {
  color: #fff;
  font-size: 1.5vw;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (max-width: 768px) {
  .p-track .c-mv .content-title {
    padding: 3.2vw 0.5333333333vw;
    font-size: 5.3333333333vw;
  }
}
.p-track .c-section {
  position: relative;
  padding-top: 6.25vw;
  padding-inline: 15vw;
}
@media screen and (max-width: 768px) {
  .p-track .c-section {
    margin-top: 8vw;
    padding-inline: 5.3333333333vw;
  }
}
.p-track .c-section p,
.p-track .c-section span,
.p-track .c-section li,
.p-track .c-section th, .p-track .c-section td {
  line-height: 2;
}
@media not screen and (max-width: 768px) {
  .p-track .c-section p,
.p-track .c-section span,
.p-track .c-section li,
.p-track .c-section th, .p-track .c-section td {
    font-size: 1vw;
  }
}
.p-track .c-section:first-of-type {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .p-track .c-section:first-of-type {
    margin-bottom: -5.3333333333vw;
    padding-top: 12.8vw;
  }
}
.p-track .c-section:first-of-type::before {
  content: "";
  position: absolute;
  top: 0;
  inset-inline: 0;
  z-index: -2;
  height: 25vw;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
@media screen and (max-width: 768px) {
  .p-track .c-section:first-of-type::before {
    padding-inline: 5.3333333333vw;
  }
}
.p-track .c-section.-num01 .title {
  font-size: 2.5vw;
  margin-bottom: 1.5vw;
}
@media screen and (max-width: 768px) {
  .p-track .c-section.-num01 .title {
    font-size: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.p-track .c-section.-num01 .text {
  font-size: 1.25vw;
}
@media screen and (max-width: 768px) {
  .p-track .c-section.-num01 .text {
    font-size: 4.8vw;
  }
}
.p-track .c-section.-num01 .loop {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  overflow: hidden;
  line-height: 1;
  opacity: 0.1;
}
.p-track .c-section.-num01 .loop__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
.p-track .c-section.-num01 .loop__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  white-space: nowrap;
  padding-right: 0.25vw;
  padding-left: 0.25vw;
  font-size: 15vw;
  font-family: "Montserrat", sans-serif;
  line-height: 0.715;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.p-track .c-section.-num01 .loop__item:nth-child(odd) {
  -webkit-animation: loop 150s -75s linear infinite;
          animation: loop 150s -75s linear infinite;
}
@media screen and (max-width: 768px) {
  .p-track .c-section.-num01 .loop__item:nth-child(odd) {
    -webkit-animation: loop 50s -25s linear infinite;
            animation: loop 50s -25s linear infinite;
  }
}
.p-track .c-section.-num01 .loop__item:nth-child(even) {
  -webkit-animation: loop2 150s linear infinite;
          animation: loop2 150s linear infinite;
}
@media screen and (max-width: 768px) {
  .p-track .c-section.-num01 .loop__item:nth-child(even) {
    -webkit-animation: loop2 50s linear infinite;
            animation: loop2 50s linear infinite;
  }
}
@keyframes loop {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
}
.p-track .c-section.-num02 > .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1.5vw;
  font-size: 2vw;
}
@media not screen and (max-width: 768px) {
  .p-track .c-section.-num02 > .title {
    background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
    background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
@media screen and (max-width: 768px) {
  .p-track .c-section.-num02 > .title {
    margin-bottom: 5.3333333333vw;
    color: #348c50;
    font-size: 5.8666666667vw;
  }
}
.p-track .c-section.-num02 > .title .ico {
  margin-right: 1vw;
  content: "";
  position: relative;
  display: block;
  width: 2.5vw;
  height: 2.5vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-track .c-section.-num02 > .title .ico {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
  }
}
.p-track .c-section.-num02 > .title .ico::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-track .c-section.-num02 > .title .ico::after {
  content: "";
  position: absolute;
  inset: 0.375vw;
  background-color: #fff;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-track .c-section.-num02 > .title .ico::after {
    inset: 0.56vw;
  }
}
@media screen and (max-width: 768px) {
  .p-track .c-section.-num02 > .title .ico {
    position: relative;
    display: block;
    width: 3vw;
    height: 3vw;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    border-radius: 100%;
    margin-right: 2.1333333333vw;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-track .c-section.-num02 > .title .ico {
    width: 4.48vw;
    height: 4.48vw;
  }
}
@media screen and (max-width: 768px) {
  .p-track .c-section.-num02 > .title .ico::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    border: 1px solid transparent;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
            mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
            mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
  }
}
@media screen and (max-width: 768px) {
  .p-track .c-section.-num02 > .title .ico::after {
    content: "";
    position: absolute;
    inset: 0.45vw;
    background-color: #fff;
    border-radius: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-track .c-section.-num02 > .title .ico::after {
    inset: 0.672vw;
  }
}
.p-track .c-section.-num02 > .subtitle {
  margin-bottom: 2.5vw;
  font-size: 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-track .c-section.-num02 > .subtitle {
    margin-bottom: 5.3333333333vw;
    font-size: 5.3333333333vw;
  }
}
.p-track .c-section.-num02 > .text {
  margin-bottom: 3vw;
}
@media screen and (max-width: 768px) {
  .p-track .c-section.-num02 > .text {
    margin-bottom: 8.5333333333vw;
    font-size: 4.2666666667vw;
  }
}
.p-track .c-section.-num02 > .block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.5vw;
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-track .c-section.-num02 > .block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 5.3333333333vw;
  }
}
.p-track .c-section.-num02 > .block + .block {
  margin-top: 3vw;
}
@media screen and (max-width: 768px) {
  .p-track .c-section.-num02 > .block + .block {
    margin-top: 8.5333333333vw;
  }
}
@media not screen and (max-width: 768px) {
  .p-track .c-section.-num02:nth-of-type(2n) > .block:nth-of-type(2n) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media not screen and (max-width: 768px) {
  .p-track .c-section.-num02:nth-of-type(2n-1) > .block:nth-of-type(2n-1) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.p-track .c-section.-num02 > .block .content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-track .c-section.-num02 > .block .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 2vw;
  font-size: 1.5vw;
}
@media screen and (max-width: 768px) {
  .p-track .c-section.-num02 > .block .title {
    margin-bottom: 4.2666666667vw;
    font-size: 4.8vw;
  }
}
.p-track .c-section.-num02 > .block .title .ico {
  margin-right: 0.5vw;
  content: "";
  position: relative;
  display: block;
  width: 1.5vw;
  height: 1.5vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-track .c-section.-num02 > .block .title .ico {
    width: 2.24vw;
    height: 2.24vw;
  }
}
.p-track .c-section.-num02 > .block .title .ico::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-track .c-section.-num02 > .block .title .ico::after {
  content: "";
  position: absolute;
  inset: 0.1875vw;
  background-color: #fff;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-track .c-section.-num02 > .block .title .ico::after {
    inset: 0.28vw;
  }
}
@media screen and (max-width: 768px) {
  .p-track .c-section.-num02 > .block .title .ico {
    position: relative;
    display: block;
    width: 2.4vw;
    height: 2.4vw;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    border-radius: 100%;
    margin-right: 1.6vw;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-track .c-section.-num02 > .block .title .ico {
    width: 3.584vw;
    height: 3.584vw;
  }
}
@media screen and (max-width: 768px) {
  .p-track .c-section.-num02 > .block .title .ico::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    border: 1px solid transparent;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
            mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
            mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
  }
}
@media screen and (max-width: 768px) {
  .p-track .c-section.-num02 > .block .title .ico::after {
    content: "";
    position: absolute;
    inset: 0.3vw;
    background-color: #fff;
    border-radius: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-track .c-section.-num02 > .block .title .ico::after {
    inset: 0.448vw;
  }
}
.p-track .c-section.-num02 > .block .image {
  width: 22.5vw;
}
@media screen and (max-width: 768px) {
  .p-track .c-section.-num02 > .block .image {
    margin-top: 2.1333333333vw;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .p-track .tableBlock {
    width: 90vw;
    overflow: auto;
  }
}
.p-track .tableBlock table,
.p-track .tableBlock td,
.p-track .tableBlock th {
  position: relative;
  text-align: center;
  vertical-align: middle;
  border: 1px solid #ccc;
  border-collapse: collapse;
}
.p-track .tableBlock table,
.p-track .tableBlock th {
  border-top: 0 solid #ccc;
}
.p-track .tableBlock table {
  width: 100%;
  border-top: 0 solid #ccc;
}
@media screen and (max-width: 768px) {
  .p-track .tableBlock table {
    min-width: 500px;
  }
}
.p-track .tableBlock table:first-of-type,
.p-track .tableBlock td:first-of-type,
.p-track .tableBlock th:first-of-type {
  border-left: 0 solid #ccc;
}
.p-track .tableBlock td,
.p-track .tableBlock th {
  padding-block: 1.125vw;
}
.p-track .tableBlock th {
  padding-inline: 2.5vw;
  background-color: #f5f5f5;
}
.p-track .tableBlock td:first-of-type[rowspan]::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: -webkit-gradient(linear, left top, right top, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(90deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
  opacity: 0.3;
}
.p-track .tableBlock .list {
  padding-inline: 1vw;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .p-track .tableBlock .list {
    padding-inline: 2.1333333333vw;
  }
}
.p-track .tableBlock .list .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-track .tableBlock .list .item .ico {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  margin-top: 0.6em;
  margin-right: 0.5vw;
  content: "";
  position: relative;
  display: block;
  width: 0.75vw;
  height: 0.75vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 100%;
  opacity: 0.3;
}
@media screen and (max-width: 768px) {
  .p-track .tableBlock .list .item .ico {
    width: 1.12vw;
    height: 1.12vw;
  }
}
.p-track .tableBlock .list .item .ico::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-track .tableBlock .list .item .ico::after {
  content: "";
  position: absolute;
  inset: 0.1875vw;
  background-color: #fff;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-track .tableBlock .list .item .ico::after {
    inset: 0.28vw;
  }
}
@media screen and (max-width: 768px) {
  .p-track .tableBlock .list .item .ico {
    margin-top: 0.6em;
    position: relative;
    display: block;
    width: 2.4vw;
    height: 2.4vw;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    border-radius: 100%;
    margin-right: 1.6vw;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-track .tableBlock .list .item .ico {
    width: 3.584vw;
    height: 3.584vw;
  }
}
@media screen and (max-width: 768px) {
  .p-track .tableBlock .list .item .ico::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    border: 1px solid transparent;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
            mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
            mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
  }
}
@media screen and (max-width: 768px) {
  .p-track .tableBlock .list .item .ico::after {
    content: "";
    position: absolute;
    inset: 0.3vw;
    background-color: #fff;
    border-radius: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-track .tableBlock .list .item .ico::after {
    inset: 0.448vw;
  }
}
@media screen and (max-width: 768px) {
  .p-track .tableBlock.-num02 table {
    min-width: 600px;
  }
}
.p-track .tableBlock.-num02 th:nth-child(3) {
  width: 60%;
}
.p-track .tableBlock.-num02 td:first-of-type::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: -webkit-gradient(linear, left top, right top, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(90deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
  opacity: 0.3;
}
.p-track .tableBlock {
  font-size: 0.875vw;
}
@media screen and (max-width: 768px) {
  .p-track .tableBlock {
    font-size: 3.7333333333vw;
  }
}
.p-track .tableBlock p:nth-of-type(1) {
  margin-top: 0.5vw;
}
@media screen and (max-width: 768px) {
  .p-track .tableBlock p:nth-of-type(1) {
    margin-top: 2.1333333333vw;
  }
}
.p-track .imageList {
  display: -ms-grid;
  display: grid;
  gap: 2.5vw 1.25vw;
  -ms-grid-columns: 1fr 1.25vw 1fr 1.25vw 1fr;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 768px) {
  .p-track .imageList {
    gap: 5.3333333333vw 2.6666666667vw;
    -ms-grid-columns: 1fr;
    grid-template-columns: repeat(1, 1fr);
  }
}
.p-track .imageList .title {
  margin-top: 0.5vw;
  font-size: 1.25vw;
}
@media screen and (max-width: 768px) {
  .p-track .imageList .title {
    margin-top: 2.1333333333vw;
    font-size: 4.8vw;
  }
}
.p-track .imageList .title span {
  font-size: inherit;
  font-family: "Montserrat", sans-serif;
}
.p-track .imageList .text {
  font-size: 0.875vw;
}
@media screen and (max-width: 768px) {
  .p-track .imageList .text {
    font-size: 3.7333333333vw;
  }
}
.p-track .btnList {
  display: -ms-grid;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-grid-columns: 1fr 1.25vw 1fr 1.25vw 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25vw;
  margin-top: 15vw;
  margin-inline: auto;
  width: 52.5vw;
}
@media screen and (max-width: 768px) {
  .p-track .btnList {
    -ms-grid-columns: 70%;
    grid-template-columns: repeat(1, 70%);
    gap: 5.3333333333vw 3.2vw;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
  }
}
.p-track .btnList .btn {
  font-size: 1vw;
  line-height: 2.5vw;
}
.p-track .btnList .btn {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 9999px;
  text-decoration: none;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-track .btnList .btn:hover {
  color: #348c50;
  background: #fff;
}
.p-track .btnList .btn::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-track .btnList .btn::after {
  content: "";
  display: block;
  margin-block: auto;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: 768px) {
  .p-track .btnList .btn {
    font-size: 3.7333333333vw;
    line-height: 12.8vw;
  }
}
.p-track .btnList .btn::after {
  width: 1vw;
  height: 1vw;
  margin-left: 0.5vw;
  background-image: url(/assets/images/ico_arrow.svg);
}
@media screen and (max-width: 768px) {
  .p-track .btnList .btn::after {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
    margin-left: 1.0666666667vw;
  }
}
.p-track .btnList .btn:hover::after {
  background-image: url(/assets/images/ico_arrow_02.svg);
}

.p-apply main {
  position: relative;
}
.p-apply main::before {
  content: "";
  position: absolute;
  top: 0;
  inset-inline: 0;
  z-index: -2;
  height: 25vw;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
@media screen and (max-width: 768px) {
  .p-apply main::before {
    padding-inline: 5.3333333333vw;
  }
}
.p-apply main::after {
  content: "";
  position: absolute;
  bottom: 0;
  inset-inline: 0;
  z-index: -2;
  height: 18vw;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
@media screen and (max-width: 768px) {
  .p-apply main::after {
    padding-inline: 5.3333333333vw;
  }
}
.p-apply main > .title {
  position: relative;
  padding-top: 12.5vw;
  padding-inline: 15vw;
}
@media screen and (max-width: 768px) {
  .p-apply main > .title {
    padding-top: 13.3333333333vw;
    padding-inline: 5.3333333333vw;
  }
}
.p-apply main > .title .jp {
  position: relative;
  display: inline-block;
  padding-bottom: 1vw;
  font-size: 2.5vw;
  font-weight: 400;
  line-height: 1;
  opacity: 0;
  -webkit-transform: translateY(4vw);
          transform: translateY(4vw);
  -webkit-transition: all 0.5s 1s ease;
  transition: all 0.5s 1s ease;
}
@media screen and (max-width: 768px) {
  .p-apply main > .title .jp {
    margin: 0;
    padding: 0;
    padding-bottom: 3.2vw;
    font-size: 6.4vw;
  }
}
.p-apply main > .title .jp::after {
  position: absolute;
  bottom: 0;
  content: "";
  display: block;
  width: 100%;
  height: 0.1875vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
}
@media screen and (max-width: 768px) {
  .p-apply main > .title .jp::after {
    height: 2px;
  }
}
.p-apply main > .text {
  padding-top: 1.25vw;
  padding-bottom: 1.25vw;
  padding-inline: 15vw;
  font-size: 1.25vw;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-apply main > .text {
    padding-top: 4.2666666667vw;
    padding-bottom: 0;
    padding-inline: 5.3333333333vw;
    font-size: 4.2666666667vw;
  }
}
.p-apply .is-hidden {
  opacity: 0;
  -webkit-transform: translateY(4vw);
          transform: translateY(4vw);
}
.p-apply .is-visible {
  opacity: 1 !important;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: all 0.8s 0.2s ease;
  transition: all 0.8s 0.2s ease;
}
@media not screen and (max-width: 768px) {
  .p-apply .c-breadcrumb {
    position: absolute;
    top: 1.25vw;
    left: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .p-apply .c-breadcrumb {
    position: relative;
    padding-bottom: 5.3333333333vw;
    padding-inline: 5.3333333333vw;
  }
  .p-apply .c-breadcrumb::before {
    content: "";
    position: absolute;
    inset: 0;
    top: 0;
    bottom: -30vw;
    z-index: -1;
    opacity: 0.3;
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
    background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
  }
}
.p-apply .c-section {
  position: relative;
  padding-top: 6.25vw;
  padding-inline: 15vw;
}
@media screen and (max-width: 768px) {
  .p-apply .c-section {
    margin-top: 16vw;
    padding-inline: 5.3333333333vw;
  }
}
.p-apply .c-section p,
.p-apply .c-section span,
.p-apply .c-section dt,
.p-apply .c-section dd,
.p-apply .c-section li {
  line-height: 2;
}
@media not screen and (max-width: 768px) {
  .p-apply .c-section p,
.p-apply .c-section span,
.p-apply .c-section dt,
.p-apply .c-section dd,
.p-apply .c-section li {
    font-size: 1vw;
  }
}
.p-apply .c-section > .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 3vw;
  font-size: 1.5vw;
}
@media screen and (max-width: 768px) {
  .p-apply .c-section > .title {
    font-size: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.p-apply .c-section > .title .ico {
  content: "";
  margin-top: 0.25vw;
  margin-right: 0.5vw;
  position: relative;
  display: block;
  width: 1.5vw;
  height: 1.5vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-apply .c-section > .title .ico {
    width: 2.24vw;
    height: 2.24vw;
  }
}
.p-apply .c-section > .title .ico::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-apply .c-section > .title .ico::after {
  content: "";
  position: absolute;
  inset: 0.1875vw;
  background-color: #fff;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-apply .c-section > .title .ico::after {
    inset: 0.28vw;
  }
}
@media screen and (max-width: 768px) {
  .p-apply .c-section > .title .ico {
    margin-right: 2.1333333333vw;
    position: relative;
    display: block;
    width: 3vw;
    height: 3vw;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    border-radius: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-apply .c-section > .title .ico {
    width: 4.48vw;
    height: 4.48vw;
  }
}
@media screen and (max-width: 768px) {
  .p-apply .c-section > .title .ico::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    border: 1px solid transparent;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
            mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
            mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
  }
}
@media screen and (max-width: 768px) {
  .p-apply .c-section > .title .ico::after {
    content: "";
    position: absolute;
    inset: 0.375vw;
    background-color: #fff;
    border-radius: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-apply .c-section > .title .ico::after {
    inset: 0.56vw;
  }
}
.p-apply .c-section.-num01 .list {
  display: -ms-grid;
  display: grid;
  gap: 0.5vw;
}
.p-apply .c-section.-num01 .list .item {
  display: -ms-grid;
  display: grid;
  gap: 0.5vw;
  -ms-grid-columns: 15.625vw 0.5vw 1fr;
  grid-template-columns: 15.625vw 1fr;
}
@media screen and (max-width: 768px) {
  .p-apply .c-section.-num01 .list .item {
    -ms-grid-columns: 5.5em 1fr;
    grid-template-columns: 5.5em 1fr;
  }
}
.p-apply .c-section.-num01 .list .title,
.p-apply .c-section.-num01 .list .text {
  padding: 2.5vw;
}
.p-apply .c-section.-num01 .list .title {
  position: relative;
  text-align: right;
  font-weight: 400;
}
.p-apply .c-section.-num01 .list .title::before {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  opacity: 0.3;
  pointer-events: none;
  background-image: -webkit-gradient(linear, left top, right top, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(90deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
.p-apply .c-section.-num01 .list .text {
  background-color: #f5f5f5;
}
@media screen and (max-width: 768px) {
  .p-apply .c-section.-num01 .list .text {
    padding-top: 3vw;
  }
}
.p-apply .content {
  margin-bottom: 5vw;
}
@media screen and (max-width: 768px) {
  .p-apply .content {
    margin-bottom: 10.6666666667vw;
  }
}
.p-apply .content .text {
  font-size: 1.25vw;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-apply .content .text {
    font-size: 4.2666666667vw;
  }
}
.p-apply .content .text + .text {
  margin-top: 1.25vw;
}
@media screen and (max-width: 768px) {
  .p-apply .content .text + .text {
    margin-top: 4.2666666667vw;
  }
}
.p-apply .block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  .p-apply .block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5.3333333333vw;
  }
}
.p-apply .info,
.p-apply .image {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-apply .info .text {
  margin-bottom: 1vw;
}
@media screen and (max-width: 768px) {
  .p-apply .info .text {
    margin-bottom: 2.1333333333vw;
  }
}
.p-apply .info .address {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-apply .info .address .ico {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  margin-top: 0.5em;
  margin-right: 0.5vw;
  content: "";
  position: relative;
  display: block;
  width: 0.75vw;
  height: 0.75vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 100%;
  opacity: 0.3;
}
@media screen and (max-width: 768px) {
  .p-apply .info .address .ico {
    width: 1.12vw;
    height: 1.12vw;
  }
}
.p-apply .info .address .ico::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-apply .info .address .ico::after {
  content: "";
  position: absolute;
  inset: 0.1875vw;
  background-color: #fff;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-apply .info .address .ico::after {
    inset: 0.28vw;
  }
}
@media screen and (max-width: 768px) {
  .p-apply .info .address .ico {
    margin-top: 0.55em;
    position: relative;
    display: block;
    width: 2.4vw;
    height: 2.4vw;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    border-radius: 100%;
    margin-right: 1.6vw;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-apply .info .address .ico {
    width: 3.584vw;
    height: 3.584vw;
  }
}
@media screen and (max-width: 768px) {
  .p-apply .info .address .ico::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    border: 1px solid transparent;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
            mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
            mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
  }
}
@media screen and (max-width: 768px) {
  .p-apply .info .address .ico::after {
    content: "";
    position: absolute;
    inset: 0.3vw;
    background-color: #fff;
    border-radius: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-apply .info .address .ico::after {
    inset: 0.448vw;
  }
}
.p-apply .image {
  position: relative;
  height: -webkit-min-content;
  height: -moz-min-content;
  height: min-content;
}
@media screen and (max-width: 768px) {
  .p-apply .image {
    margin-top: 5.3333333333vw;
    margin-inline: auto;
  }
}
.p-apply .image::before {
  content: "";
  position: absolute;
  bottom: -3.75vw;
  left: 2.5vw;
  z-index: -1;
  width: 30vw;
  height: 20vw;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
@media screen and (max-width: 768px) {
  .p-apply .image::before {
    bottom: -9.6vw;
    left: 6.4vw;
    width: 76.8vw;
    height: 51.2vw;
  }
}
.p-apply .image img {
  display: block;
}
.p-apply .image img:nth-child(1) {
  width: 30vw;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media not screen and (max-width: 768px) {
  .p-apply .image img:nth-child(1) {
    padding-left: 7.5vw;
  }
}
@media screen and (max-width: 768px) {
  .p-apply .image img:nth-child(1) {
    width: 76.8vw;
    padding-left: 19.2vw;
  }
}
.p-apply .image img:nth-child(2) {
  width: 15vw;
  margin-top: -2.5vw;
}
@media screen and (max-width: 768px) {
  .p-apply .image img:nth-child(2) {
    width: 38.4vw;
    margin-top: -6.4vw;
  }
}
.p-apply .btnList {
  display: -ms-grid;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-grid-columns: 1fr 1.25vw 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25vw;
  margin-top: 15vw;
  margin-inline: auto;
  width: 35vw;
}
@media screen and (max-width: 768px) {
  .p-apply .btnList {
    -ms-grid-columns: 70%;
    grid-template-columns: repeat(1, 70%);
    gap: 5.3333333333vw 3.2vw;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 25.6vw;
    width: 100%;
  }
}
.p-apply .btnList .btn {
  font-size: 1vw;
  line-height: 2.5vw;
}
.p-apply .btnList .btn {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 9999px;
  text-decoration: none;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-apply .btnList .btn:hover {
  color: #348c50;
  background: #fff;
}
.p-apply .btnList .btn::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-apply .btnList .btn::after {
  content: "";
  display: block;
  margin-block: auto;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: 768px) {
  .p-apply .btnList .btn {
    font-size: 3.7333333333vw;
    line-height: 12.8vw;
  }
}
.p-apply .btnList .btn::after {
  width: 1vw;
  height: 1vw;
  margin-left: 0.5vw;
  background-image: url(/assets/images/ico_arrow.svg);
}
@media screen and (max-width: 768px) {
  .p-apply .btnList .btn::after {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
    margin-left: 1.0666666667vw;
  }
}
.p-apply .btnList .btn:hover::after {
  background-image: url(/assets/images/ico_arrow_02.svg);
}

.p-discussion main {
  position: relative;
}
.p-discussion main::after {
  content: "";
  position: absolute;
  bottom: 0;
  inset-inline: 0;
  z-index: -2;
  height: 18vw;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
@media screen and (max-width: 768px) {
  .p-discussion main::after {
    padding-inline: 5.3333333333vw;
  }
}
@media not screen and (max-width: 768px) {
  .p-discussion .c-breadcrumb {
    position: absolute;
    top: 1.25vw;
    left: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .p-discussion .c-breadcrumb {
    position: relative;
    padding-bottom: 5.3333333333vw;
    padding-inline: 5.3333333333vw;
  }
  .p-discussion .c-breadcrumb::before {
    content: "";
    position: absolute;
    inset: 0;
    top: 0;
    bottom: -30vw;
    z-index: -1;
    opacity: 0.3;
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
    background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
  }
}
.p-discussion .c-mv .item {
  position: relative;
}
.p-discussion .c-mv .item:hover .image::after {
  opacity: 0.3;
}
.p-discussion .c-mv .item .marker {
  position: relative;
  z-index: 0;
  display: inline-block;
  padding: 0.75vw 0.25vw;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-clip-path: inset(0 0 100% 0);
          clip-path: inset(0 0 100% 0);
}
@media screen and (max-width: 768px) {
  .p-discussion .c-mv .item .marker {
    letter-spacing: 0.17em;
  }
}
.p-discussion .c-mv .item .marker::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #fff;
}
.loaded .p-discussion .c-mv .item .marker {
  -webkit-animation: c-mv-marker02 1s 0.5s both;
          animation: c-mv-marker02 1s 0.5s both;
  -webkit-animation-delay: 1.3s;
          animation-delay: 1.3s;
}
.loaded .p-discussion .c-mv .item .marker::after {
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-animation-delay: 1.3s;
          animation-delay: 1.3s;
}
.loaded .p-discussion .c-mv .item .content-text .marker {
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}
.loaded .p-discussion .c-mv .item .content-text .marker::after {
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}
@media not screen and (max-width: 768px) {
  .p-discussion .c-mv .image {
    height: calc(100vh - 5vw);
  }
}
.p-discussion .c-mv .image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-discussion .c-mv .image img {
    height: max(45vh, 70vw);
  }
}
.p-discussion .c-mv .content {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-discussion .c-mv .content-title {
  color: #fff;
  font-size: 1.5vw;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (max-width: 768px) {
  .p-discussion .c-mv .content-title {
    padding: 3.2vw 0.5333333333vw;
    font-size: 5.3333333333vw;
  }
}
.p-discussion .jobProfile {
  position: relative;
  padding-inline: 15vw;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-discussion .jobProfile {
    padding-inline: 5.3333333333vw;
  }
}
.p-discussion .jobProfile .wrap {
  padding: 2.5vw;
  background-color: #fff;
  border-radius: 2vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .jobProfile .wrap {
    padding: 5.3333333333vw;
  }
}
.p-discussion .jobProfile .blockWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .jobProfile .blockWrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16vw;
  }
}
.p-discussion .jobProfile .block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5vw;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 768px) {
  .p-discussion .jobProfile .block {
    gap: 5.3333333333vw;
  }
}
.p-discussion .jobProfile .header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .jobProfile .header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4.2666666667vw;
  }
}
.p-discussion .jobProfile .header .image {
  width: 9.375vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .jobProfile .header .image {
    width: 60%;
    margin: auto;
  }
}
.p-discussion .jobProfile .header .content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-discussion .jobProfile .header .title {
  color: #399ac2;
  font-family: "Montserrat", sans-serif;
}
.p-discussion .jobProfile .footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .jobProfile .footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4.2666666667vw;
  }
}
.p-discussion .jobProfile .footer .image {
  width: 15vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .jobProfile .footer .image {
    width: 100%;
  }
}
.p-discussion .jobProfile .footer .content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-discussion .jobProfile .footer .title {
  font-size: 1.25vw;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "Montserrat", sans-serif;
}
@media screen and (max-width: 768px) {
  .p-discussion .jobProfile .footer .title {
    font-size: 4.8vw;
  }
}
.p-discussion .jobProfile .wrap > .title {
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  opacity: 0.1;
  margin-bottom: 2.25vw;
  font-size: 2vw;
  font-weight: 400;
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .p-discussion .jobProfile .wrap > .title {
    font-size: 5.3333333333vw;
  }
}
.p-discussion .jobProfile .list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: repeat(1, 1fr);
  gap: 1.25vw 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .jobProfile .list {
    -ms-grid-columns: 1fr;
    grid-template-columns: repeat(1, 1fr);
    gap: 2.6666666667vw 5.3333333333vw;
  }
}
.p-discussion .jobProfile .item {
  font-size: 1vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .jobProfile .item {
    font-size: 4.2666666667vw;
  }
}
.p-discussion .jobProfile .subtitle {
  margin-bottom: 0.5vw;
  padding: 0vw 1.25vw;
  border: 1px solid #ccc;
  border-radius: 0.25vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .jobProfile .subtitle {
    margin-bottom: 1.6vw;
    padding: 0.5333333333vw 2.6666666667vw;
    border-radius: 0.5333333333vw;
  }
}
.p-discussion .jobProfile .item > .text {
  padding-inline: 1.25vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .jobProfile .item > .text {
    padding-inline: 2.6666666667vw;
  }
}
.p-discussion .is-hidden {
  opacity: 0;
  -webkit-transform: translateY(4vw);
          transform: translateY(4vw);
}
.p-discussion .is-visible {
  opacity: 1 !important;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: all 0.8s 0.2s ease;
  transition: all 0.8s 0.2s ease;
}
.p-discussion .c-section {
  position: relative;
  padding-top: 6.25vw;
  padding-inline: 15vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section {
    padding-top: 16vw;
    padding-inline: 5.3333333333vw;
  }
}
.p-discussion .c-section p,
.p-discussion .c-section span,
.p-discussion .c-section dt, .p-discussion .c-section dd {
  line-height: 2;
}
@media not screen and (max-width: 768px) {
  .p-discussion .c-section p,
.p-discussion .c-section span,
.p-discussion .c-section dt, .p-discussion .c-section dd {
    font-size: 1vw;
  }
}
.p-discussion .c-section:first-of-type::before {
  content: "";
  position: absolute;
  top: 0;
  inset-inline: 0;
  z-index: -2;
  height: 100vw;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section:first-of-type::before {
    height: 1066.6666666667vw;
    padding-inline: 5.3333333333vw;
  }
}
.p-discussion .c-section.-num01 .title {
  margin-bottom: 2vw;
  padding-top: 2.5vw;
  font-size: 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num01 .title {
    padding-top: 0;
    font-size: 5.3333333333vw;
  }
}
.p-discussion .c-section.-num01 .text {
  font-size: 1.25vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num01 .text {
    font-size: 4.2666666667vw;
  }
}
.p-discussion .c-section.-num01 .loop {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  overflow: hidden;
  line-height: 1;
  opacity: 0.1;
}
.p-discussion .c-section.-num01 .loop__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
.p-discussion .c-section.-num01 .loop__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  white-space: nowrap;
  padding-right: 0.25vw;
  padding-left: 0.25vw;
  font-size: 15vw;
  font-family: "Montserrat", sans-serif;
  line-height: 0.715;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.p-discussion .c-section.-num01 .loop__item:nth-child(odd) {
  -webkit-animation: loop 150s -75s linear infinite;
          animation: loop 150s -75s linear infinite;
}
.p-discussion .c-section.-num01 .loop__item:nth-child(even) {
  -webkit-animation: loop2 150s linear infinite;
          animation: loop2 150s linear infinite;
}
@keyframes loop {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
}
.p-discussion .c-section.-num02 {
  padding-top: 5vw;
}
@media not screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 {
    position: relative;
    padding-left: 22.5vw;
  }
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 {
    padding-top: 21.3333333333vw;
  }
}
.p-discussion .c-section.-num02 > .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1.5vw;
  font-size: 1.5vw;
  font-weight: 300;
}
@media not screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 > .title {
    position: absolute;
    left: 15vw;
    -webkit-writing-mode: vertical-lr;
        -ms-writing-mode: tb-lr;
            writing-mode: vertical-lr;
  }
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 > .title {
    margin-bottom: 3.2vw;
    font-size: 4.2666666667vw;
    font-weight: 400;
  }
}
.p-discussion .c-section.-num02 > .title .num {
  position: relative;
  width: 2.5vw;
  height: 2.5vw;
  margin-bottom: 0.75vw;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  -webkit-writing-mode: initial;
      -ms-writing-mode: initial;
          writing-mode: initial;
  position: relative;
  display: block;
  width: 2.5vw;
  height: 2.5vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 100%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 > .title .num {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
  }
}
.p-discussion .c-section.-num02 > .title .num::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 > .title .num {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    margin-bottom: 0;
    margin-right: 1.6vw;
  }
}
.p-discussion .c-section.-num02 > .text {
  margin-bottom: 1.5vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 > .text {
    margin-bottom: 3.2vw;
  }
}
.p-discussion .c-section.-num02 .textBlock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 .textBlock {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4.2666666667vw;
  }
}
.p-discussion .c-section.-num02 .textBlock .name {
  width: 3.75vw;
  color: #fff;
  font-weight: 400;
  font-family: "Montserrat", sans-serif;
  text-align: center;
  border-radius: 0.25vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 .textBlock .name {
    width: 13.8666666667vw;
    margin-bottom: -2.1333333333vw;
    line-height: 1.6;
    border-radius: 1.0666666667vw;
  }
}
.p-discussion .c-section.-num02 .textBlock .name.-num01 {
  background-color: #399ac2;
}
.p-discussion .c-section.-num02 .textBlock .name.-num02 {
  background-color: #348c50;
}
.p-discussion .c-section.-num02 .textBlock .text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-discussion .c-section.-num02 .textBlock + .textBlock {
  margin-top: 1vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 .textBlock + .textBlock {
    margin-top: 5.3333333333vw;
  }
}
.p-discussion .c-section.-num02 > .block + .block {
  margin-top: 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 > .block + .block {
    margin-top: 10.6666666667vw;
  }
}
.p-discussion .c-section.-num02 > .block > .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 2vw;
  font-size: 1.5vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 > .block > .title {
    margin-bottom: 5.3333333333vw;
    font-size: 4.8vw;
  }
}
.p-discussion .c-section.-num02 > .block > .title .question {
  display: inline-block;
  margin-right: 0.5vw;
  font-size: 2vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 > .block > .title .question {
    margin-right: 2.1333333333vw;
    margin-left: 0.5333333333vw;
    font-size: 5.3333333333vw;
  }
}
.p-discussion .c-section.-num02 > .block > .subtitle {
  margin-bottom: 2.5vw;
  font-size: 2.5vw;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 > .block > .subtitle {
    margin-bottom: 6.4vw;
    font-size: 5.3333333333vw;
  }
}
.p-discussion .c-section.-num02 > .block > .image {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: auto;
  margin-top: 3.75vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 > .block > .image {
    margin-top: 8vw;
  }
}
.p-discussion .c-section.-num02 > .block > .image::before {
  content: "";
  position: absolute;
  inset: 1.25vw;
  z-index: -1;
  background-image: url(/assets/images/ico_ring_l.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 0;
  opacity: 0;
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 > .block > .image::before {
    inset: 2vw;
  }
}
.p-discussion .c-section.-num02 > .block > .image.is-img-visible::before {
  opacity: 1;
  background-size: contain;
}
.p-discussion .c-section.-num02 > .block > .image img {
  opacity: 0;
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
}
.p-discussion .c-section.-num02 > .block > .image.is-img-visible img {
  opacity: 1;
  -webkit-transform: translate(0, 0) !important;
          transform: translate(0, 0) !important;
}
.p-discussion .c-section.-num02 > .block > .image img:nth-child(1) {
  width: 30vw;
  margin-left: 12%;
  -webkit-transform: translate(-4vw, 4vw);
          transform: translate(-4vw, 4vw);
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 > .block > .image img:nth-child(1) {
    width: 48vw;
    margin-left: 19.2%;
  }
}
.p-discussion .c-section.-num02 > .block > .image img:nth-child(2) {
  width: 15vw;
  margin-top: -4%;
  margin-left: -32%;
  -webkit-transform: translate(4vw, -4vw);
          transform: translate(4vw, -4vw);
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 > .block > .image img:nth-child(2) {
    width: 24vw;
    margin-top: -6.4%;
    margin-left: -51.2%;
  }
}
.p-discussion .c-section.-num02 > .block > .path {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5vw;
  margin-top: 4.5vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 > .block > .path {
    gap: 5.3333333333vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.p-discussion .c-section.-num02 > .block > .path .image {
  width: 18.75vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 > .block > .path .image {
    width: 60%;
  }
}
.p-discussion .c-section.-num02 > .block > .path .caption {
  margin-top: 0.75vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 > .block > .path .caption {
    margin-top: 0.375vw;
  }
}
.p-discussion .c-section.-num02 > .block > .path .content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 2vw;
  background-color: #f5f5f5;
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 > .block > .path .content {
    padding: 4.2666666667vw;
  }
}
.p-discussion .c-section.-num02 > .block > .path .title {
  margin-bottom: 1vw;
  padding-bottom: 0.75vw;
  border-bottom: 1px solid #ccc;
  font-size: 1.25vw;
  font-family: "Montserrat", sans-serif;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 > .block > .path .title {
    margin-bottom: 4.2666666667vw;
    padding-bottom: 3.2vw;
    font-size: 4.8vw;
  }
}
.p-discussion .c-section.-num02 > .block > .path .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-discussion .c-section.-num02 > .block > .path .item + .item {
  margin-top: 0.375vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 > .block > .path .item + .item {
    margin-top: 1.6vw;
  }
}
.p-discussion .c-section.-num02 > .block > .path .year {
  width: 5vw;
  font-size: 1.25vw;
  font-family: "Montserrat", sans-serif;
  line-height: 1.6;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 > .block > .path .year {
    width: 22%;
    font-size: 5.3333333333vw;
  }
}
.p-discussion .c-section.-num02 > .block > .path .text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 768px) {
  .p-discussion .c-section.-num02 > .block > .path .text {
    font-size: 3.7333333333vw;
  }
}
.p-discussion .bgBlock {
  padding: 2vw 5vw;
  background-color: #f5f5f5;
}
@media screen and (max-width: 768px) {
  .p-discussion .bgBlock {
    padding: 5.3333333333vw;
  }
}
.p-discussion .bgBlock .text + .text {
  margin-top: 1.25vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .bgBlock .text + .text {
    margin-top: 3.2vw;
  }
}
.p-discussion .btnList {
  display: -ms-grid;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-grid-columns: 1fr 1.25vw 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25vw;
  margin-top: 15vw;
  margin-inline: auto;
  width: 35vw;
}
@media screen and (max-width: 768px) {
  .p-discussion .btnList {
    -ms-grid-columns: 70%;
    grid-template-columns: repeat(1, 70%);
    gap: 5.3333333333vw 3.2vw;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
  }
}
.p-discussion .btnList .btn {
  font-size: 1vw;
  line-height: 2.5vw;
}
.p-discussion .btnList .btn {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 9999px;
  text-decoration: none;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-discussion .btnList .btn:hover {
  color: #348c50;
  background: #fff;
}
.p-discussion .btnList .btn::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-discussion .btnList .btn::after {
  content: "";
  display: block;
  margin-block: auto;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: 768px) {
  .p-discussion .btnList .btn {
    font-size: 3.7333333333vw;
    line-height: 12.8vw;
  }
}
.p-discussion .btnList .btn::after {
  width: 1vw;
  height: 1vw;
  margin-left: 0.5vw;
  background-image: url(/assets/images/ico_arrow.svg);
}
@media screen and (max-width: 768px) {
  .p-discussion .btnList .btn::after {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
    margin-left: 1.0666666667vw;
  }
}
.p-discussion .btnList .btn:hover::after {
  background-image: url(/assets/images/ico_arrow_02.svg);
}

.p-faq main {
  position: relative;
}
.p-faq main::before {
  content: "";
  position: absolute;
  top: 0;
  inset-inline: 0;
  z-index: -2;
  height: 25vw;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
@media screen and (max-width: 768px) {
  .p-faq main::before {
    padding-inline: 5.3333333333vw;
  }
}
.p-faq main::after {
  content: "";
  position: absolute;
  bottom: 0;
  inset-inline: 0;
  z-index: -2;
  height: 18vw;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
@media screen and (max-width: 768px) {
  .p-faq main::after {
    padding-inline: 5.3333333333vw;
  }
}
.p-faq main > .title {
  position: relative;
  padding-top: 12.5vw;
  padding-inline: 15vw;
}
@media screen and (max-width: 768px) {
  .p-faq main > .title {
    padding-top: 13.3333333333vw;
    padding-inline: 5.3333333333vw;
  }
}
.p-faq main > .title .jp {
  position: relative;
  display: inline-block;
  padding-bottom: 1vw;
  font-size: 2.5vw;
  font-weight: 400;
  line-height: 1;
  opacity: 0;
  -webkit-transform: translateY(4vw);
          transform: translateY(4vw);
  -webkit-transition: all 0.5s 1s ease;
  transition: all 0.5s 1s ease;
}
@media screen and (max-width: 768px) {
  .p-faq main > .title .jp {
    margin: 0;
    padding: 0;
    padding-bottom: 3.2vw;
    font-size: 6.4vw;
  }
}
.p-faq main > .title .jp::after {
  position: absolute;
  bottom: 0;
  content: "";
  display: block;
  width: 100%;
  height: 0.1875vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
}
@media screen and (max-width: 768px) {
  .p-faq main > .title .jp::after {
    height: 2px;
  }
}
.p-faq main > .text {
  padding-top: 1.25vw;
  padding-bottom: 1.25vw;
  padding-inline: 15vw;
  font-size: 1.25vw;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-faq main > .text {
    padding-top: 4.2666666667vw;
    padding-bottom: 0;
    padding-inline: 5.3333333333vw;
    font-size: 4.2666666667vw;
  }
}
.p-faq .is-hidden {
  opacity: 0;
  -webkit-transform: translateY(4vw);
          transform: translateY(4vw);
}
.p-faq .is-visible {
  opacity: 1 !important;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: all 0.8s 0.2s ease;
  transition: all 0.8s 0.2s ease;
}
@media not screen and (max-width: 768px) {
  .p-faq .c-breadcrumb {
    position: absolute;
    top: 1.25vw;
    left: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .p-faq .c-breadcrumb {
    position: relative;
    padding-bottom: 5.3333333333vw;
    padding-inline: 5.3333333333vw;
  }
  .p-faq .c-breadcrumb::before {
    content: "";
    position: absolute;
    inset: 0;
    top: 0;
    bottom: -30vw;
    z-index: -1;
    opacity: 0.3;
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
    background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
  }
}
.p-faq .c-section {
  position: relative;
  padding-top: 6.25vw;
  padding-inline: 15vw;
}
@media screen and (max-width: 768px) {
  .p-faq .c-section {
    margin-top: 16vw;
    padding-inline: 5.3333333333vw;
  }
}
.p-faq .c-section p,
.p-faq .c-section span,
.p-faq .c-section dt,
.p-faq .c-section dd,
.p-faq .c-section li {
  line-height: 2;
}
@media not screen and (max-width: 768px) {
  .p-faq .c-section p,
.p-faq .c-section span,
.p-faq .c-section dt,
.p-faq .c-section dd,
.p-faq .c-section li {
    font-size: 1.25vw;
  }
}
.p-faq .c-section > .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 3vw;
  font-size: 1.5vw;
}
@media screen and (max-width: 768px) {
  .p-faq .c-section > .title {
    font-size: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.p-faq .c-section > .title > .ico {
  content: "";
  margin-top: 0.25vw;
  margin-right: 0.5vw;
  position: relative;
  display: block;
  width: 1.5vw;
  height: 1.5vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-faq .c-section > .title > .ico {
    width: 2.24vw;
    height: 2.24vw;
  }
}
.p-faq .c-section > .title > .ico::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-faq .c-section > .title > .ico::after {
  content: "";
  position: absolute;
  inset: 0.1875vw;
  background-color: #fff;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-faq .c-section > .title > .ico::after {
    inset: 0.28vw;
  }
}
@media screen and (max-width: 768px) {
  .p-faq .c-section > .title > .ico {
    margin-right: 2.1333333333vw;
    position: relative;
    display: block;
    width: 3vw;
    height: 3vw;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    border-radius: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-faq .c-section > .title > .ico {
    width: 4.48vw;
    height: 4.48vw;
  }
}
@media screen and (max-width: 768px) {
  .p-faq .c-section > .title > .ico::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    border: 1px solid transparent;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
            mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
            mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
  }
}
@media screen and (max-width: 768px) {
  .p-faq .c-section > .title > .ico::after {
    content: "";
    position: absolute;
    inset: 0.375vw;
    background-color: #fff;
    border-radius: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-faq .c-section > .title > .ico::after {
    inset: 0.56vw;
  }
}
.p-faq .c-section.-num01 .nav-tabs {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[4];
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 768px) {
  .p-faq .c-section.-num01 .nav-tabs {
    -ms-grid-columns: 1fr 0 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.1333333333vw 0;
  }
}
.p-faq .c-section.-num01 .nav-tabs .item {
  position: relative;
  padding-bottom: 1.5vw;
  color: #ccc;
  font-size: 1.25vw;
  font-weight: 400;
  text-align: center;
  line-height: 1.6;
  border-bottom: 2px solid #ccc;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .p-faq .c-section.-num01 .nav-tabs .item {
    padding-bottom: 2.1333333333vw;
    font-size: 4.2666666667vw;
  }
}
.p-faq .c-section.-num01 .nav-tabs .item.is-active {
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  border-bottom: 2px solid #348c50;
}
.p-faq .c-section.-num01 .nav-tabs .item .num {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  font-size: 5vw;
  font-weight: 400;
  font-family: "Montserrat", sans-serif;
  line-height: 1;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  opacity: 0.1;
}
@media screen and (max-width: 768px) {
  .p-faq .c-section.-num01 .nav-tabs .item .num {
    font-size: 8.5333333333vw;
  }
}
.p-faq .c-section.-num01 .content-tabs {
  margin-block: 5vw;
}
@media screen and (max-width: 768px) {
  .p-faq .c-section.-num01 .content-tabs {
    margin-block: 8.5333333333vw;
  }
}
.p-faq .c-section.-num01 .content-tabs .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.5vw;
}
@media screen and (max-width: 768px) {
  .p-faq .c-section.-num01 .content-tabs .title {
    font-size: 5.3333333333vw;
  }
}
.p-faq .c-section.-num01 .content-tabs .title .num {
  margin-right: 1vw;
  font-size: 2.5vw;
  font-family: "Montserrat", sans-serif;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 768px) {
  .p-faq .c-section.-num01 .content-tabs .title .num {
    font-size: 8.5333333333vw;
  }
}
.p-faq .c-section.-num01 .content-tabs .tab {
  display: none;
}
.p-faq .c-section.-num01 .content-tabs .tab.is-active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5vw;
}
.p-faq .c-section.-num01 .content-tabs .box {
  position: relative;
  padding: 1.5vw 2.5vw;
  border: 1px solid #ccc;
}
@media screen and (max-width: 768px) {
  .p-faq .c-section.-num01 .content-tabs .box {
    padding: 3.2vw 3.2vw;
  }
}
.p-faq .c-section.-num01 .content-tabs .question,
.p-faq .c-section.-num01 .content-tabs .content {
  position: relative;
  padding-left: 2.5vw;
}
@media screen and (max-width: 768px) {
  .p-faq .c-section.-num01 .content-tabs .question,
.p-faq .c-section.-num01 .content-tabs .content {
    padding-left: 6.4vw;
  }
}
.p-faq .c-section.-num01 .content-tabs .question::before,
.p-faq .c-section.-num01 .content-tabs .content::before {
  content: "Q";
  position: absolute;
  left: 0;
  margin: auto;
  font-size: 2vw;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  line-height: 1;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), to(rgb(52, 140, 80))) border-box border-box;
  background: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 768px) {
  .p-faq .c-section.-num01 .content-tabs .question::before,
.p-faq .c-section.-num01 .content-tabs .content::before {
    font-size: 5.3333333333vw;
    line-height: 1.2;
  }
}
.p-faq .c-section.-num01 .content-tabs .question::before {
  content: "Q";
  top: 0;
}
.p-faq .c-section.-num01 .content-tabs .content::before {
  content: "A";
  top: 1.75vw;
}
@media screen and (max-width: 768px) {
  .p-faq .c-section.-num01 .content-tabs .content::before {
    top: 3.7333333333vw;
  }
}
.p-faq .c-section.-num01 .content-tabs .question {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  cursor: pointer;
}
.p-faq .c-section.-num01 .content-tabs .btn {
  position: relative;
  width: 2.5vw;
  height: 2.5vw;
  border-radius: 100%;
  border: 1px solid #525252;
}
@media screen and (max-width: 768px) {
  .p-faq .c-section.-num01 .content-tabs .btn {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    margin-top: 0.8vw;
  }
}
.p-faq .c-section.-num01 .content-tabs .btn::before,
.p-faq .c-section.-num01 .content-tabs .btn::after {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  margin: auto;
  width: 55%;
  height: 2px;
  background-color: #525252;
}
.p-faq .c-section.-num01 .content-tabs .btn::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.p-faq .c-section.-num01 .content-tabs .box.is-active .btn::after {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}
.p-faq .c-section.-num01 .content-tabs .subtitle {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 1.25vw;
}
@media screen and (max-width: 768px) {
  .p-faq .c-section.-num01 .content-tabs .subtitle {
    font-size: 4.2666666667vw;
  }
}
.p-faq .c-section.-num01 .content-tabs .content {
  margin-top: 1.5vw;
  padding-top: 1.5vw;
  border-top: 1px solid #ccc;
}
@media screen and (max-width: 768px) {
  .p-faq .c-section.-num01 .content-tabs .content {
    margin-top: 3.2vw;
    padding-top: 3.2vw;
  }
}
.p-faq .c-section.-num01 .content-tabs .list .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-faq .c-section.-num01 .content-tabs .list .item .ico {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  margin-top: 0.6em;
  margin-right: 0.5vw;
  content: "";
  position: relative;
  display: block;
  width: 0.75vw;
  height: 0.75vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 100%;
  opacity: 0.3;
}
@media screen and (max-width: 768px) {
  .p-faq .c-section.-num01 .content-tabs .list .item .ico {
    width: 1.12vw;
    height: 1.12vw;
  }
}
.p-faq .c-section.-num01 .content-tabs .list .item .ico::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-faq .c-section.-num01 .content-tabs .list .item .ico::after {
  content: "";
  position: absolute;
  inset: 0.1875vw;
  background-color: #fff;
  border-radius: 100%;
}
@media screen and (max-width: 768px) {
  .p-faq .c-section.-num01 .content-tabs .list .item .ico::after {
    inset: 0.28vw;
  }
}
@media screen and (max-width: 768px) {
  .p-faq .c-section.-num01 .content-tabs .list .item .ico {
    margin-top: 0.55em;
    position: relative;
    display: block;
    width: 2.4vw;
    height: 2.4vw;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    border-radius: 100%;
    margin-right: 1.6vw;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-faq .c-section.-num01 .content-tabs .list .item .ico {
    width: 3.584vw;
    height: 3.584vw;
  }
}
@media screen and (max-width: 768px) {
  .p-faq .c-section.-num01 .content-tabs .list .item .ico::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    border: 1px solid transparent;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
            mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
            mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
  }
}
@media screen and (max-width: 768px) {
  .p-faq .c-section.-num01 .content-tabs .list .item .ico::after {
    content: "";
    position: absolute;
    inset: 0.3vw;
    background-color: #fff;
    border-radius: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-faq .c-section.-num01 .content-tabs .list .item .ico::after {
    inset: 0.448vw;
  }
}
.p-faq .c-section.-num01 .content-tabs .list .item + .item {
  margin-top: 0.75vw;
}
@media screen and (max-width: 768px) {
  .p-faq .c-section.-num01 .content-tabs .list .item + .item {
    margin-top: 2.1333333333vw;
  }
}
.p-faq .c-section.-num01 .content-tabs .list span.-sm {
  display: contents;
  font-size: 0.875em;
}
.p-faq .btnList {
  display: -ms-grid;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-grid-columns: 1fr 1.25vw 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25vw;
  margin-top: 15vw;
  margin-inline: auto;
  width: 35vw;
}
@media screen and (max-width: 768px) {
  .p-faq .btnList {
    -ms-grid-columns: 70%;
    grid-template-columns: repeat(1, 70%);
    gap: 5.3333333333vw 3.2vw;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 25.6vw;
    width: 100%;
  }
}
.p-faq .btnList .btn {
  font-size: 1vw;
  line-height: 2.5vw;
}
.p-faq .btnList .btn {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 9999px;
  text-decoration: none;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-faq .btnList .btn:hover {
  color: #348c50;
  background: #fff;
}
.p-faq .btnList .btn::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
          mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
          mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-faq .btnList .btn::after {
  content: "";
  display: block;
  margin-block: auto;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: 768px) {
  .p-faq .btnList .btn {
    font-size: 3.7333333333vw;
    line-height: 12.8vw;
  }
}
.p-faq .btnList .btn::after {
  width: 1vw;
  height: 1vw;
  margin-left: 0.5vw;
  background-image: url(/assets/images/ico_arrow.svg);
}
@media screen and (max-width: 768px) {
  .p-faq .btnList .btn::after {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
    margin-left: 1.0666666667vw;
  }
}
.p-faq .btnList .btn:hover::after {
  background-image: url(/assets/images/ico_arrow_02.svg);
}

.p-privacy main {
  position: relative;
}
.p-privacy main::before {
  content: "";
  position: absolute;
  top: 0;
  inset-inline: 0;
  z-index: -2;
  height: 25vw;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
.p-privacy main::after {
  content: "";
  position: absolute;
  bottom: 0;
  inset-inline: 0;
  z-index: -2;
  height: 18vw;
  opacity: 0.3;
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
  background-image: linear-gradient(0deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
}
.p-privacy main > .title {
  position: relative;
  padding-top: 12.5vw;
  padding-bottom: 6.25vw;
  padding-inline: 15vw;
}
.p-privacy main > .title .jp {
  position: relative;
  display: inline-block;
  padding-bottom: 1vw;
  font-size: 2.5vw;
  font-weight: 400;
  line-height: 1;
  opacity: 0;
  -webkit-transform: translateY(4vw);
  transform: translateY(4vw);
  -webkit-transition: all 0.5s 1s ease;
  transition: all 0.5s 1s ease;
}
.p-privacy main > .title .jp::after {
  position: absolute;
  bottom: 0;
  content: "";
  display: block;
  width: 100%;
  height: 0.1875vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
}
.p-privacy .is-hidden {
  opacity: 0;
  -webkit-transform: translateY(4vw);
  transform: translateY(4vw);
}
.p-privacy .is-visible {
  opacity: 1 !important;
  -webkit-transform: translateX(0);
  transform: translateX(0);
  -webkit-transition: all 0.8s 0.2s ease;
  transition: all 0.8s 0.2s ease;
}
.p-privacy .c-section {
  position: relative;
  padding-top: 6.25vw;
  padding-inline: 15vw;
}
.p-privacy .c-section p, .p-privacy .c-section span, .p-privacy .c-section dt, .p-privacy .c-section dd, .p-privacy .c-section li {
  line-height: 2;
}
.p-privacy .c-section > .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 3vw;
  font-size: 1.5vw;
}
.p-privacy .c-section > .title .ico {
  content: "";
  margin-top: 0.25vw;
  margin-right: 0.5vw;
  position: relative;
  display: block;
  width: 1.5vw;
  height: 1.5vw;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  border-radius: 100%;
}
.p-privacy .c-section > .title .ico::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
  mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.p-privacy .c-section > .title .ico::after {
  content: "";
  position: absolute;
  inset: 0.1875vw;
  background-color: #fff;
  border-radius: 100%;
}
.p-privacy .link_blank {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-decoration: underline;
  font-size: 0.875vw;
  font-weight: 400;
}
.p-privacy .link_blank::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  margin-left: 0.5vw;
  background-image: url(/assets/images/ico_blank_02.svg);
  background-repeat: no-repeat;
}
.p-privacy .right-item {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
.p-privacy .right-item p {
  text-align: right;
}
.p-privacy .right-item p:first-of-type {
  margin-bottom: 1vw;
}
.p-privacy .right-item p span {
  display: inline-block;
}
.p-privacy .c-section.-num01 > p {
  padding-bottom: 3.5vw;
}
.p-privacy .c-section.-num01 ol {
  padding-left: 2vw;
  margin-bottom: 1.5vw;
}
.p-privacy .c-section.-num01 li {
  position: relative;
  padding-left: 2vw;
}
.p-privacy .c-section.-num01 li:before {
  position: absolute;
  left: 0;
}
.p-privacy .c-section.-num01 li:nth-of-type(1):before {
  content: "1.";
}
.p-privacy .c-section.-num01 li:nth-of-type(2):before {
  content: "2.";
}
.p-privacy .c-section.-num01 li:nth-of-type(3):before {
  content: "3.";
}
.p-privacy .c-section.-num01 li:nth-of-type(4):before {
  content: "4.";
}
.p-privacy .c-section.-num01 li:not(:last-of-type) {
  margin-bottom: 1.5vw;
}
.p-privacy .c-section.-num02 .wrap {
  margin-bottom: 3vw;
}
.p-privacy .c-section.-num02 .wrap:last-of-type {
  margin-bottom: 0;
}
.p-privacy .c-section.-num02 .wrap .title {
  position: relative;
  font-weight: 400;
  padding-bottom: 1.25vw;
  padding-left: 2.5vw;
}
.p-privacy .c-section.-num02 .wrap .title::before {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  opacity: 0.3;
  pointer-events: none;
  color: #525252;
  opacity: 1;
}
.p-privacy .c-section.-num02 .wrap .title.-no1::before {
  content: "1.";
}
.p-privacy .c-section.-num02 .wrap .title.-no2::before {
  content: "2.";
}
.p-privacy .c-section.-num02 .wrap .title.-no3::before {
  content: "3.";
}
.p-privacy .c-section.-num02 .wrap .title.-no4::before {
  content: "4.";
}
.p-privacy .c-section.-num02 .wrap .title.-no5::before {
  content: "5.";
}
.p-privacy .c-section.-num02 .outer {
  background-color: #f5f5f5;
  padding: 2.5vw;
}
.p-privacy .c-section.-num02 .outer > p {
  margin-bottom: 1vw;
}
.p-privacy .c-section.-num02 .outer > p:has(~ p) {
  margin-bottom: 0;
}
.p-privacy .c-section.-num02 .outer span {
  display: inline-block;
}
.p-privacy .c-section.-num02 .lg-item {
  margin-bottom: 1.5vw;
}
.p-privacy .c-section.-num02 .lg-item:last-of-type {
  margin-bottom: 0;
}
.p-privacy .c-section.-num02 .lg-item > li {
  margin-bottom: 2vw;
}
.p-privacy .c-section.-num02 .lg-item > li:last-of-type {
  margin-bottom: 0;
}
.p-privacy .c-section.-num02 .lg-item_num {
  position: relative;
  padding-left: 2vw;
  margin-bottom: 0.5vw;
}
.p-privacy .c-section.-num02 .lg-item_num:before {
  position: absolute;
  left: 0;
}
.p-privacy .c-section.-num02 .lg-item > li:nth-of-type(1) > .lg-item_num:before {
  content: "(1)";
}
.p-privacy .c-section.-num02 .lg-item > li:nth-of-type(2) > .lg-item_num:before {
  content: "(2)";
}
.p-privacy .c-section.-num02 .lg-item > li:nth-of-type(3) > .lg-item_num:before {
  content: "(3)";
}
.p-privacy .c-section.-num02 .lg-item > li:nth-of-type(4) > .lg-item_num:before {
  content: "(4)";
}
.p-privacy .c-section.-num02 .lg-item > li:nth-of-type(5) > .lg-item_num:before {
  content: "(5)";
}
.p-privacy .c-section.-num02 .lg-item > li:nth-of-type(6) > .lg-item_num:before {
  content: "(6)";
}
.p-privacy .c-section.-num02 .lg-item > li:last-of-type > .lg-item_num {
  margin-bottom: 0;
}
.p-privacy .c-section.-num02 .lg-item_num ~ p {
  padding-left: 2vw;
  margin-bottom: 1vw;
}
.p-privacy .c-section.-num02 .lg-item_num ~ p:has(~ p) {
  margin-bottom: 0;
}
.p-privacy .c-section.-num02 .lg-item_num ~ p:has(~ p) span {
  display: inline-block;
}
.p-privacy .c-section.-num02 .mid-item {
  padding-left: 2vw;
}
.p-privacy .c-section.-num02 .mid-item > li {
  margin-bottom: 0.5vw;
}
.p-privacy .c-section.-num02 .mid-item_num {
  position: relative;
  padding-left: 1.5vw;
}
.p-privacy .c-section.-num02 .mid-item_num:before {
  position: absolute;
  left: 0;
}
.p-privacy .c-section.-num02 .mid-item_num:has(+ ul, div) {
  margin-bottom: 0.5vw;
}
.p-privacy .c-section.-num02 .mid-item_num ~ p {
  padding-left: 1.5vw;
  margin-bottom: 1vw;
}
.p-privacy .c-section.-num02 .mid-item div {
  padding-left: 1.5vw;
  margin-bottom: 1vw;
}
.p-privacy .c-section.-num02 .mid-item > li:nth-of-type(1) > .mid-item_num:before {
  content: "①";
}
.p-privacy .c-section.-num02 .mid-item > li:nth-of-type(2) > .mid-item_num:before {
  content: "②";
}
.p-privacy .c-section.-num02 .mid-item > li:nth-of-type(3) > .mid-item_num:before {
  content: "③";
}
.p-privacy .c-section.-num02 .mid-item > li:nth-of-type(4) > .mid-item_num:before {
  content: "④";
}
.p-privacy .c-section.-num02 .mid-item > li:nth-of-type(5) > .mid-item_num:before {
  content: "⑤";
}
.p-privacy .c-section.-num02 .mid-item > li:nth-of-type(6) > .mid-item_num:before {
  content: "⑥";
}
.p-privacy .c-section.-num02 .mid-item > li:last-of-type > .mid-item_num {
  margin-bottom: 0;
}
.p-privacy .c-section.-num02 .sm-item {
  padding-left: 1.5vw;
  margin-bottom: 1vw;
}
.p-privacy .c-section.-num02 .sm-item > li {
  position: relative;
  padding-left: 1vw;
}
.p-privacy .c-section.-num02 .sm-item > li:before {
  position: absolute;
  left: 0;
  content: "・";
}
.p-privacy .c-section.-num02 .comment {
  padding-top: 1vw;
}
.p-privacy .c-section.-num02 .lg-item > li > p.comment {
  padding-left: 2vw;
}
.p-privacy .c-section.-num02 .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-privacy .c-section.-num02 .flex .link_blank {
  padding-right: 0.5vw;
}

@media screen and (max-width: 768px) {
  .p-privacy main::before {
    padding-inline: 5.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy main::after {
    padding-inline: 5.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy main > .title {
    padding-top: 13.3333333333vw;
    padding-bottom: 6.6666666667vw;
    padding-inline: 5.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy main > .title .jp {
    margin: 0;
    padding: 0;
    padding-bottom: 3.2vw;
    font-size: 6.4vw;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy main > .title .jp::after {
    height: 2px;
  }
}
@media not screen and (max-width: 768px) {
  .p-privacy .c-breadcrumb {
    position: absolute;
    top: 1.25vw;
    left: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy .c-breadcrumb {
    position: relative;
    padding-bottom: 5.3333333333vw;
    padding-inline: 5.3333333333vw;
  }
  .p-privacy .c-breadcrumb::before {
    content: "";
    position: absolute;
    inset: 0;
    top: 0;
    bottom: -30vw;
    z-index: -1;
    opacity: 0.3;
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(57, 154, 197)), color-stop(50%, rgba(52, 140, 80, 0.5)), to(rgba(52, 140, 80, 0)));
    background-image: linear-gradient(180deg, rgb(57, 154, 197) 0%, rgba(52, 140, 80, 0.5) 50%, rgba(52, 140, 80, 0) 100%);
  }
}
@media screen and (max-width: 768px) {
  .p-privacy .c-section {
    margin-top: 16vw;
    padding-inline: 5.3333333333vw;
  }
}
@media not screen and (max-width: 768px) {
  .p-privacy .c-section p, .p-privacy .c-section span, .p-privacy .c-section dt, .p-privacy .c-section dd, .p-privacy .c-section li {
    font-size: 1vw;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy .c-section > .title {
    font-size: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy .c-section > .title .ico {
    width: 2.24vw;
    height: 2.24vw;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy .c-section > .title .ico::after {
    inset: 0.28vw;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy .c-section > .title .ico {
    margin-right: 2.1333333333vw;
    position: relative;
    display: block;
    width: 3vw;
    height: 3vw;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    border-radius: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-privacy .c-section > .title .ico {
    width: 4.48vw;
    height: 4.48vw;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy .c-section > .title .ico::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    border: 1px solid transparent;
    background: linear-gradient(45deg, rgb(57, 154, 197) 0%, rgb(52, 140, 80) 100%) border-box border-box;
    -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) border-box;
    mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    -webkit-transition: all 0.1s ease;
    transition: all 0.1s ease;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy .c-section > .title .ico::after {
    content: "";
    position: absolute;
    inset: 0.375vw;
    background-color: #fff;
    border-radius: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .p-privacy .c-section > .title .ico::after {
    inset: 0.56vw;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy .link_blank {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy .c-section.-num01 li {
    padding-left: 20px;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy .c-section.-num02 .wrap {
    margin-bottom: 8.5333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy .c-section.-num02 .wrap .title {
    padding-left: 24px;
    padding-bottom: 2.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy .c-section.-num02 .outer {
    padding: 8vw 5.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy .c-section.-num02 .outer span.bl {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy .c-section.-num02 .lg-item_num {
    padding-left: 24px;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy .c-section.-num02 .lg-item_num ~ p {
    padding-left: 24px;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy .c-section.-num02 .lg-item_num ~ p:has(~ p) span.bl {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy .c-section.-num02 .mid-item {
    padding-left: 24px;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy .c-section.-num02 .mid-item_num {
    padding-left: 24px;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy .c-section.-num02 .mid-item_num ~ p, .p-privacy .c-section.-num02 .mid-item div {
    padding-left: 24px;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy .c-section.-num02 .sm-item {
    padding-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy .c-section.-num02 .sm-item > li {
    padding-left: 24px;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy .c-section.-num02 .lg-item > li > p.comment {
    padding-left: 24px;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy .c-section.-num02 .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}