@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  transition: all 0s ease-out;
  font-style: normal;
}

*::before,
*::after {
  transition: all 0s ease-out;
}

body {
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  color: #333;
  line-height: 1;
  text-align: justify;
  /* background: #17BF6D; */
  overflow-x: hidden;
}

ul,
li {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
  transition: all 0s ease-out;
  display: inline-block;
}

table {
  border-collapse: collapse;
}

i {
  display: block;
  line-height: 1;
  font-style: normal;
}

img {
  width: 100%;
  max-width: 100%;
  vertical-align: top;
  user-select: none;
  display: inline-block;
}

svg {
  fill: currentColor;
}

button {
  cursor: pointer;
}

input,
button {
  outline: none;
  border: none;
  background: unset;
}

section {
  position: relative;
}

@media screen and (max-width: 767px) {
  html {
    font-size: 62.5%;
  }
  body {
    width: 100%;
    min-width: 375px;
    overflow-x: auto;
  }
}
.is-initial::first-letter {
  color: #FF512D;
}

.is-em {
  color: #FF512D;
}

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

.is-serif {
  font-family: "Noto Serif JP", serif;
}

.is-modal-open {
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .is-gnav-open {
    overflow: hidden;
  }
}
/*
Animate.css - http://daneden.me/animate
Licensed under the ☺ license (http://licence.visualidiot.com/)

Copyright (c) 2012 Dan Eden

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
body { /* Addresses a small issue in webkit: http://bit.ly/NEdoDq */
  -webkit-backface-visibility: hidden;
}

.animated {
  -webkit-animation-duration: 1s;
  -moz-animation-duration: 1s;
  -o-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  -o-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animated.hinge {
  -webkit-animation-duration: 2s;
  -moz-animation-duration: 2s;
  -o-animation-duration: 2s;
  animation-duration: 2s;
}

@-webkit-keyframes flash {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
@-moz-keyframes flash {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
@-o-keyframes flash {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
@keyframes flash {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
.flash {
  -webkit-animation-name: flash;
  -moz-animation-name: flash;
  -o-animation-name: flash;
  animation-name: flash;
}

@-webkit-keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0);
  }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateX(-10px);
  }
  20%, 40%, 60%, 80% {
    -webkit-transform: translateX(10px);
  }
}
@-moz-keyframes shake {
  0%, 100% {
    -moz-transform: translateX(0);
  }
  10%, 30%, 50%, 70%, 90% {
    -moz-transform: translateX(-10px);
  }
  20%, 40%, 60%, 80% {
    -moz-transform: translateX(10px);
  }
}
@-o-keyframes shake {
  0%, 100% {
    -o-transform: translateX(0);
  }
  10%, 30%, 50%, 70%, 90% {
    -o-transform: translateX(-10px);
  }
  20%, 40%, 60%, 80% {
    -o-transform: translateX(10px);
  }
}
@keyframes shake {
  0%, 100% {
    transform: translateX(0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: translateX(-10px);
  }
  20%, 40%, 60%, 80% {
    transform: translateX(10px);
  }
}
.shake {
  -webkit-animation-name: shake;
  -moz-animation-name: shake;
  -o-animation-name: shake;
  animation-name: shake;
}

@-webkit-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-30px);
  }
  60% {
    -webkit-transform: translateY(-15px);
  }
}
@-moz-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -moz-transform: translateY(0);
  }
  40% {
    -moz-transform: translateY(-30px);
  }
  60% {
    -moz-transform: translateY(-15px);
  }
}
@-o-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -o-transform: translateY(0);
  }
  40% {
    -o-transform: translateY(-30px);
  }
  60% {
    -o-transform: translateY(-15px);
  }
}
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}
.bounce {
  -webkit-animation-name: bounce;
  -moz-animation-name: bounce;
  -o-animation-name: bounce;
  animation-name: bounce;
}

@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale(1);
  }
  10%, 20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
  }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale(1.1) rotate(3deg);
  }
  40%, 60%, 80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
  }
  100% {
    -webkit-transform: scale(1) rotate(0);
  }
}
@-moz-keyframes tada {
  0% {
    -moz-transform: scale(1);
  }
  10%, 20% {
    -moz-transform: scale(0.9) rotate(-3deg);
  }
  30%, 50%, 70%, 90% {
    -moz-transform: scale(1.1) rotate(3deg);
  }
  40%, 60%, 80% {
    -moz-transform: scale(1.1) rotate(-3deg);
  }
  100% {
    -moz-transform: scale(1) rotate(0);
  }
}
@-o-keyframes tada {
  0% {
    -o-transform: scale(1);
  }
  10%, 20% {
    -o-transform: scale(0.9) rotate(-3deg);
  }
  30%, 50%, 70%, 90% {
    -o-transform: scale(1.1) rotate(3deg);
  }
  40%, 60%, 80% {
    -o-transform: scale(1.1) rotate(-3deg);
  }
  100% {
    -o-transform: scale(1) rotate(0);
  }
}
@keyframes tada {
  0% {
    transform: scale(1);
  }
  10%, 20% {
    transform: scale(0.9) rotate(-3deg);
  }
  30%, 50%, 70%, 90% {
    transform: scale(1.1) rotate(3deg);
  }
  40%, 60%, 80% {
    transform: scale(1.1) rotate(-3deg);
  }
  100% {
    transform: scale(1) rotate(0);
  }
}
.tada {
  -webkit-animation-name: tada;
  -moz-animation-name: tada;
  -o-animation-name: tada;
  animation-name: tada;
}

@-webkit-keyframes swing {
  20%, 40%, 60%, 80%, 100% {
    -webkit-transform-origin: top center;
  }
  20% {
    -webkit-transform: rotate(15deg);
  }
  40% {
    -webkit-transform: rotate(-10deg);
  }
  60% {
    -webkit-transform: rotate(5deg);
  }
  80% {
    -webkit-transform: rotate(-5deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
  }
}
@-moz-keyframes swing {
  20% {
    -moz-transform: rotate(15deg);
  }
  40% {
    -moz-transform: rotate(-10deg);
  }
  60% {
    -moz-transform: rotate(5deg);
  }
  80% {
    -moz-transform: rotate(-5deg);
  }
  100% {
    -moz-transform: rotate(0deg);
  }
}
@-o-keyframes swing {
  20% {
    -o-transform: rotate(15deg);
  }
  40% {
    -o-transform: rotate(-10deg);
  }
  60% {
    -o-transform: rotate(5deg);
  }
  80% {
    -o-transform: rotate(-5deg);
  }
  100% {
    -o-transform: rotate(0deg);
  }
}
@keyframes swing {
  20% {
    transform: rotate(15deg);
  }
  40% {
    transform: rotate(-10deg);
  }
  60% {
    transform: rotate(5deg);
  }
  80% {
    transform: rotate(-5deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
.swing {
  -webkit-transform-origin: top center;
  -moz-transform-origin: top center;
  -o-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  -moz-animation-name: swing;
  -o-animation-name: swing;
  animation-name: swing;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
  }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
  }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
  }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
  }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
  }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
  }
  100% {
    -webkit-transform: translateX(0%);
  }
}
@-moz-keyframes wobble {
  0% {
    -moz-transform: translateX(0%);
  }
  15% {
    -moz-transform: translateX(-25%) rotate(-5deg);
  }
  30% {
    -moz-transform: translateX(20%) rotate(3deg);
  }
  45% {
    -moz-transform: translateX(-15%) rotate(-3deg);
  }
  60% {
    -moz-transform: translateX(10%) rotate(2deg);
  }
  75% {
    -moz-transform: translateX(-5%) rotate(-1deg);
  }
  100% {
    -moz-transform: translateX(0%);
  }
}
@-o-keyframes wobble {
  0% {
    -o-transform: translateX(0%);
  }
  15% {
    -o-transform: translateX(-25%) rotate(-5deg);
  }
  30% {
    -o-transform: translateX(20%) rotate(3deg);
  }
  45% {
    -o-transform: translateX(-15%) rotate(-3deg);
  }
  60% {
    -o-transform: translateX(10%) rotate(2deg);
  }
  75% {
    -o-transform: translateX(-5%) rotate(-1deg);
  }
  100% {
    -o-transform: translateX(0%);
  }
}
@keyframes wobble {
  0% {
    transform: translateX(0%);
  }
  15% {
    transform: translateX(-25%) rotate(-5deg);
  }
  30% {
    transform: translateX(20%) rotate(3deg);
  }
  45% {
    transform: translateX(-15%) rotate(-3deg);
  }
  60% {
    transform: translateX(10%) rotate(2deg);
  }
  75% {
    transform: translateX(-5%) rotate(-1deg);
  }
  100% {
    transform: translateX(0%);
  }
}
.wobble {
  -webkit-animation-name: wobble;
  -moz-animation-name: wobble;
  -o-animation-name: wobble;
  animation-name: wobble;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
  }
}
@-moz-keyframes pulse {
  0% {
    -moz-transform: scale(1);
  }
  50% {
    -moz-transform: scale(1.1);
  }
  100% {
    -moz-transform: scale(1);
  }
}
@-o-keyframes pulse {
  0% {
    -o-transform: scale(1);
  }
  50% {
    -o-transform: scale(1.1);
  }
  100% {
    -o-transform: scale(1);
  }
}
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
.pulse {
  -webkit-animation-name: pulse;
  -moz-animation-name: pulse;
  -o-animation-name: pulse;
  animation-name: pulse;
}

@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in;
  }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in;
  }
}
@-moz-keyframes flip {
  0% {
    -moz-transform: perspective(400px) rotateY(0);
    -moz-animation-timing-function: ease-out;
  }
  40% {
    -moz-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -moz-animation-timing-function: ease-out;
  }
  50% {
    -moz-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -moz-animation-timing-function: ease-in;
  }
  80% {
    -moz-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -moz-animation-timing-function: ease-in;
  }
  100% {
    -moz-transform: perspective(400px) scale(1);
    -moz-animation-timing-function: ease-in;
  }
}
@-o-keyframes flip {
  0% {
    -o-transform: perspective(400px) rotateY(0);
    -o-animation-timing-function: ease-out;
  }
  40% {
    -o-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -o-animation-timing-function: ease-out;
  }
  50% {
    -o-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -o-animation-timing-function: ease-in;
  }
  80% {
    -o-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -o-animation-timing-function: ease-in;
  }
  100% {
    -o-transform: perspective(400px) scale(1);
    -o-animation-timing-function: ease-in;
  }
}
@keyframes flip {
  0% {
    transform: perspective(400px) rotateY(0);
    animation-timing-function: ease-out;
  }
  40% {
    transform: perspective(400px) translateZ(150px) rotateY(170deg);
    animation-timing-function: ease-out;
  }
  50% {
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    animation-timing-function: ease-in;
  }
  80% {
    transform: perspective(400px) rotateY(360deg) scale(0.95);
    animation-timing-function: ease-in;
  }
  100% {
    transform: perspective(400px) scale(1);
    animation-timing-function: ease-in;
  }
}
.flip {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flip;
  -moz-backface-visibility: visible !important;
  -moz-animation-name: flip;
  -o-backface-visibility: visible !important;
  -o-animation-name: flip;
  backface-visibility: visible !important;
  animation-name: flip;
}

@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
  }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
  }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
}
@-moz-keyframes flipInX {
  0% {
    -moz-transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
  40% {
    -moz-transform: perspective(400px) rotateX(-10deg);
  }
  70% {
    -moz-transform: perspective(400px) rotateX(10deg);
  }
  100% {
    -moz-transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
}
@-o-keyframes flipInX {
  0% {
    -o-transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
  40% {
    -o-transform: perspective(400px) rotateX(-10deg);
  }
  70% {
    -o-transform: perspective(400px) rotateX(10deg);
  }
  100% {
    -o-transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
}
@keyframes flipInX {
  0% {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotateX(-10deg);
  }
  70% {
    transform: perspective(400px) rotateX(10deg);
  }
  100% {
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
}
.flipInX {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  -moz-backface-visibility: visible !important;
  -moz-animation-name: flipInX;
  -o-backface-visibility: visible !important;
  -o-animation-name: flipInX;
  backface-visibility: visible !important;
  animation-name: flipInX;
}

@-webkit-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}
@-moz-keyframes flipOutX {
  0% {
    -moz-transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
  100% {
    -moz-transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}
@-o-keyframes flipOutX {
  0% {
    -o-transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
  100% {
    -o-transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}
@keyframes flipOutX {
  0% {
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
  100% {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}
.flipOutX {
  -webkit-animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  -moz-animation-name: flipOutX;
  -moz-backface-visibility: visible !important;
  -o-animation-name: flipOutX;
  -o-backface-visibility: visible !important;
  animation-name: flipOutX;
  backface-visibility: visible !important;
}

@-webkit-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
  }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
  }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
}
@-moz-keyframes flipInY {
  0% {
    -moz-transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
  40% {
    -moz-transform: perspective(400px) rotateY(-10deg);
  }
  70% {
    -moz-transform: perspective(400px) rotateY(10deg);
  }
  100% {
    -moz-transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
}
@-o-keyframes flipInY {
  0% {
    -o-transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
  40% {
    -o-transform: perspective(400px) rotateY(-10deg);
  }
  70% {
    -o-transform: perspective(400px) rotateY(10deg);
  }
  100% {
    -o-transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
}
@keyframes flipInY {
  0% {
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotateY(-10deg);
  }
  70% {
    transform: perspective(400px) rotateY(10deg);
  }
  100% {
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
}
.flipInY {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  -moz-backface-visibility: visible !important;
  -moz-animation-name: flipInY;
  -o-backface-visibility: visible !important;
  -o-animation-name: flipInY;
  backface-visibility: visible !important;
  animation-name: flipInY;
}

@-webkit-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}
@-moz-keyframes flipOutY {
  0% {
    -moz-transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
  100% {
    -moz-transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}
@-o-keyframes flipOutY {
  0% {
    -o-transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
  100% {
    -o-transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}
@keyframes flipOutY {
  0% {
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
  100% {
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}
.flipOutY {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  -moz-backface-visibility: visible !important;
  -moz-animation-name: flipOutY;
  -o-backface-visibility: visible !important;
  -o-animation-name: flipOutY;
  backface-visibility: visible !important;
  animation-name: flipOutY;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-moz-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-o-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fadeIn {
  -webkit-animation-name: fadeIn;
  -moz-animation-name: fadeIn;
  -o-animation-name: fadeIn;
  animation-name: fadeIn;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@-moz-keyframes fadeInUp {
  0% {
    opacity: 0;
    -moz-transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -moz-transform: translateY(0);
  }
}
@-o-keyframes fadeInUp {
  0% {
    opacity: 0;
    -o-transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -o-transform: translateY(0);
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  -moz-animation-name: fadeInUp;
  -o-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@-moz-keyframes fadeInDown {
  0% {
    opacity: 0;
    -moz-transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -moz-transform: translateY(0);
  }
}
@-o-keyframes fadeInDown {
  0% {
    opacity: 0;
    -o-transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -o-transform: translateY(0);
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInDown {
  -webkit-animation-name: fadeInDown;
  -moz-animation-name: fadeInDown;
  -o-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}
@-moz-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -moz-transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    -moz-transform: translateX(0);
  }
}
@-o-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -o-transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    -o-transform: translateX(0);
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  -moz-animation-name: fadeInLeft;
  -o-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}
@-moz-keyframes fadeInRight {
  0% {
    opacity: 0;
    -moz-transform: translateX(20px);
  }
  100% {
    opacity: 1;
    -moz-transform: translateX(0);
  }
}
@-o-keyframes fadeInRight {
  0% {
    opacity: 0;
    -o-transform: translateX(20px);
  }
  100% {
    opacity: 1;
    -o-transform: translateX(0);
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInRight {
  -webkit-animation-name: fadeInRight;
  -moz-animation-name: fadeInRight;
  -o-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@-moz-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -moz-transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    -moz-transform: translateY(0);
  }
}
@-o-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -o-transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    -o-transform: translateY(0);
  }
}
@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  -moz-animation-name: fadeInUpBig;
  -o-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@-moz-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -moz-transform: translateY(-2000px);
  }
  100% {
    opacity: 1;
    -moz-transform: translateY(0);
  }
}
@-o-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -o-transform: translateY(-2000px);
  }
  100% {
    opacity: 1;
    -o-transform: translateY(0);
  }
}
@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    transform: translateY(-2000px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  -moz-animation-name: fadeInDownBig;
  -o-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}
@-moz-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -moz-transform: translateX(-2000px);
  }
  100% {
    opacity: 1;
    -moz-transform: translateX(0);
  }
}
@-o-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -o-transform: translateX(-2000px);
  }
  100% {
    opacity: 1;
    -o-transform: translateX(0);
  }
}
@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    transform: translateX(-2000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  -moz-animation-name: fadeInLeftBig;
  -o-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}
@-moz-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -moz-transform: translateX(2000px);
  }
  100% {
    opacity: 1;
    -moz-transform: translateX(0);
  }
}
@-o-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -o-transform: translateX(2000px);
  }
  100% {
    opacity: 1;
    -o-transform: translateX(0);
  }
}
@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    transform: translateX(2000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  -moz-animation-name: fadeInRightBig;
  -o-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-moz-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-o-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.fadeOut {
  -webkit-animation-name: fadeOut;
  -moz-animation-name: fadeOut;
  -o-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
  }
}
@-moz-keyframes fadeOutUp {
  0% {
    opacity: 1;
    -moz-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -moz-transform: translateY(-20px);
  }
}
@-o-keyframes fadeOutUp {
  0% {
    opacity: 1;
    -o-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -o-transform: translateY(-20px);
  }
}
@keyframes fadeOutUp {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-20px);
  }
}
.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  -moz-animation-name: fadeOutUp;
  -o-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(20px);
  }
}
@-moz-keyframes fadeOutDown {
  0% {
    opacity: 1;
    -moz-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -moz-transform: translateY(20px);
  }
}
@-o-keyframes fadeOutDown {
  0% {
    opacity: 1;
    -o-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -o-transform: translateY(20px);
  }
}
@keyframes fadeOutDown {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(20px);
  }
}
.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  -moz-animation-name: fadeOutDown;
  -o-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
  }
}
@-moz-keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -moz-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -moz-transform: translateX(-20px);
  }
}
@-o-keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -o-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -o-transform: translateX(-20px);
  }
}
@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-20px);
  }
}
.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  -moz-animation-name: fadeOutLeft;
  -o-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(20px);
  }
}
@-moz-keyframes fadeOutRight {
  0% {
    opacity: 1;
    -moz-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -moz-transform: translateX(20px);
  }
}
@-o-keyframes fadeOutRight {
  0% {
    opacity: 1;
    -o-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -o-transform: translateX(20px);
  }
}
@keyframes fadeOutRight {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(20px);
  }
}
.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  -moz-animation-name: fadeOutRight;
  -o-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
  }
}
@-moz-keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    -moz-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -moz-transform: translateY(-2000px);
  }
}
@-o-keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    -o-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -o-transform: translateY(-2000px);
  }
}
@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-2000px);
  }
}
.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  -moz-animation-name: fadeOutUpBig;
  -o-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}

@-webkit-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
  }
}
@-moz-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -moz-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -moz-transform: translateY(2000px);
  }
}
@-o-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -o-transform: translateY(0);
  }
  100% {
    opacity: 0;
    -o-transform: translateY(2000px);
  }
}
@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(2000px);
  }
}
.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  -moz-animation-name: fadeOutDownBig;
  -o-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
  }
}
@-moz-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -moz-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -moz-transform: translateX(-2000px);
  }
}
@-o-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -o-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -o-transform: translateX(-2000px);
  }
}
@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-2000px);
  }
}
.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  -moz-animation-name: fadeOutLeftBig;
  -o-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
  }
}
@-moz-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -moz-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -moz-transform: translateX(2000px);
  }
}
@-o-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -o-transform: translateX(0);
  }
  100% {
    opacity: 0;
    -o-transform: translateX(2000px);
  }
}
@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(2000px);
  }
}
.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  -moz-animation-name: fadeOutRightBig;
  -o-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}

@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
  }
  70% {
    -webkit-transform: scale(0.9);
  }
  100% {
    -webkit-transform: scale(1);
  }
}
@-moz-keyframes bounceIn {
  0% {
    opacity: 0;
    -moz-transform: scale(0.3);
  }
  50% {
    opacity: 1;
    -moz-transform: scale(1.05);
  }
  70% {
    -moz-transform: scale(0.9);
  }
  100% {
    -moz-transform: scale(1);
  }
}
@-o-keyframes bounceIn {
  0% {
    opacity: 0;
    -o-transform: scale(0.3);
  }
  50% {
    opacity: 1;
    -o-transform: scale(1.05);
  }
  70% {
    -o-transform: scale(0.9);
  }
  100% {
    -o-transform: scale(1);
  }
}
@keyframes bounceIn {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
  70% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
  }
}
.bounceIn {
  -webkit-animation-name: bounceIn;
  -moz-animation-name: bounceIn;
  -o-animation-name: bounceIn;
  animation-name: bounceIn;
}

@-webkit-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
  }
  80% {
    -webkit-transform: translateY(10px);
  }
  100% {
    -webkit-transform: translateY(0);
  }
}
@-moz-keyframes bounceInUp {
  0% {
    opacity: 0;
    -moz-transform: translateY(2000px);
  }
  60% {
    opacity: 1;
    -moz-transform: translateY(-30px);
  }
  80% {
    -moz-transform: translateY(10px);
  }
  100% {
    -moz-transform: translateY(0);
  }
}
@-o-keyframes bounceInUp {
  0% {
    opacity: 0;
    -o-transform: translateY(2000px);
  }
  60% {
    opacity: 1;
    -o-transform: translateY(-30px);
  }
  80% {
    -o-transform: translateY(10px);
  }
  100% {
    -o-transform: translateY(0);
  }
}
@keyframes bounceInUp {
  0% {
    opacity: 0;
    transform: translateY(2000px);
  }
  60% {
    opacity: 1;
    transform: translateY(-30px);
  }
  80% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(0);
  }
}
.bounceInUp {
  -webkit-animation-name: bounceInUp;
  -moz-animation-name: bounceInUp;
  -o-animation-name: bounceInUp;
  animation-name: bounceInUp;
}

@-webkit-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
  }
  80% {
    -webkit-transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(0);
  }
}
@-moz-keyframes bounceInDown {
  0% {
    opacity: 0;
    -moz-transform: translateY(-2000px);
  }
  60% {
    opacity: 1;
    -moz-transform: translateY(30px);
  }
  80% {
    -moz-transform: translateY(-10px);
  }
  100% {
    -moz-transform: translateY(0);
  }
}
@-o-keyframes bounceInDown {
  0% {
    opacity: 0;
    -o-transform: translateY(-2000px);
  }
  60% {
    opacity: 1;
    -o-transform: translateY(30px);
  }
  80% {
    -o-transform: translateY(-10px);
  }
  100% {
    -o-transform: translateY(0);
  }
}
@keyframes bounceInDown {
  0% {
    opacity: 0;
    transform: translateY(-2000px);
  }
  60% {
    opacity: 1;
    transform: translateY(30px);
  }
  80% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}
.bounceInDown {
  -webkit-animation-name: bounceInDown;
  -moz-animation-name: bounceInDown;
  -o-animation-name: bounceInDown;
  animation-name: bounceInDown;
}

@-webkit-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
  }
  80% {
    -webkit-transform: translateX(-10px);
  }
  100% {
    -webkit-transform: translateX(0);
  }
}
@-moz-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -moz-transform: translateX(-2000px);
  }
  60% {
    opacity: 1;
    -moz-transform: translateX(30px);
  }
  80% {
    -moz-transform: translateX(-10px);
  }
  100% {
    -moz-transform: translateX(0);
  }
}
@-o-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -o-transform: translateX(-2000px);
  }
  60% {
    opacity: 1;
    -o-transform: translateX(30px);
  }
  80% {
    -o-transform: translateX(-10px);
  }
  100% {
    -o-transform: translateX(0);
  }
}
@keyframes bounceInLeft {
  0% {
    opacity: 0;
    transform: translateX(-2000px);
  }
  60% {
    opacity: 1;
    transform: translateX(30px);
  }
  80% {
    transform: translateX(-10px);
  }
  100% {
    transform: translateX(0);
  }
}
.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  -moz-animation-name: bounceInLeft;
  -o-animation-name: bounceInLeft;
  animation-name: bounceInLeft;
}

@-webkit-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
  }
  80% {
    -webkit-transform: translateX(10px);
  }
  100% {
    -webkit-transform: translateX(0);
  }
}
@-moz-keyframes bounceInRight {
  0% {
    opacity: 0;
    -moz-transform: translateX(2000px);
  }
  60% {
    opacity: 1;
    -moz-transform: translateX(-30px);
  }
  80% {
    -moz-transform: translateX(10px);
  }
  100% {
    -moz-transform: translateX(0);
  }
}
@-o-keyframes bounceInRight {
  0% {
    opacity: 0;
    -o-transform: translateX(2000px);
  }
  60% {
    opacity: 1;
    -o-transform: translateX(-30px);
  }
  80% {
    -o-transform: translateX(10px);
  }
  100% {
    -o-transform: translateX(0);
  }
}
@keyframes bounceInRight {
  0% {
    opacity: 0;
    transform: translateX(2000px);
  }
  60% {
    opacity: 1;
    transform: translateX(-30px);
  }
  80% {
    transform: translateX(10px);
  }
  100% {
    transform: translateX(0);
  }
}
.bounceInRight {
  -webkit-animation-name: bounceInRight;
  -moz-animation-name: bounceInRight;
  -o-animation-name: bounceInRight;
  animation-name: bounceInRight;
}

@-webkit-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1);
  }
  25% {
    -webkit-transform: scale(0.95);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3);
  }
}
@-moz-keyframes bounceOut {
  0% {
    -moz-transform: scale(1);
  }
  25% {
    -moz-transform: scale(0.95);
  }
  50% {
    opacity: 1;
    -moz-transform: scale(1.1);
  }
  100% {
    opacity: 0;
    -moz-transform: scale(0.3);
  }
}
@-o-keyframes bounceOut {
  0% {
    -o-transform: scale(1);
  }
  25% {
    -o-transform: scale(0.95);
  }
  50% {
    opacity: 1;
    -o-transform: scale(1.1);
  }
  100% {
    opacity: 0;
    -o-transform: scale(0.3);
  }
}
@keyframes bounceOut {
  0% {
    transform: scale(1);
  }
  25% {
    transform: scale(0.95);
  }
  50% {
    opacity: 1;
    transform: scale(1.1);
  }
  100% {
    opacity: 0;
    transform: scale(0.3);
  }
}
.bounceOut {
  -webkit-animation-name: bounceOut;
  -moz-animation-name: bounceOut;
  -o-animation-name: bounceOut;
  animation-name: bounceOut;
}

@-webkit-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
  }
}
@-moz-keyframes bounceOutUp {
  0% {
    -moz-transform: translateY(0);
  }
  20% {
    opacity: 1;
    -moz-transform: translateY(20px);
  }
  100% {
    opacity: 0;
    -moz-transform: translateY(-2000px);
  }
}
@-o-keyframes bounceOutUp {
  0% {
    -o-transform: translateY(0);
  }
  20% {
    opacity: 1;
    -o-transform: translateY(20px);
  }
  100% {
    opacity: 0;
    -o-transform: translateY(-2000px);
  }
}
@keyframes bounceOutUp {
  0% {
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    transform: translateY(20px);
  }
  100% {
    opacity: 0;
    transform: translateY(-2000px);
  }
}
.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  -moz-animation-name: bounceOutUp;
  -o-animation-name: bounceOutUp;
  animation-name: bounceOutUp;
}

@-webkit-keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
  }
}
@-moz-keyframes bounceOutDown {
  0% {
    -moz-transform: translateY(0);
  }
  20% {
    opacity: 1;
    -moz-transform: translateY(-20px);
  }
  100% {
    opacity: 0;
    -moz-transform: translateY(2000px);
  }
}
@-o-keyframes bounceOutDown {
  0% {
    -o-transform: translateY(0);
  }
  20% {
    opacity: 1;
    -o-transform: translateY(-20px);
  }
  100% {
    opacity: 0;
    -o-transform: translateY(2000px);
  }
}
@keyframes bounceOutDown {
  0% {
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    transform: translateY(-20px);
  }
  100% {
    opacity: 0;
    transform: translateY(2000px);
  }
}
.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  -moz-animation-name: bounceOutDown;
  -o-animation-name: bounceOutDown;
  animation-name: bounceOutDown;
}

@-webkit-keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
  }
}
@-moz-keyframes bounceOutLeft {
  0% {
    -moz-transform: translateX(0);
  }
  20% {
    opacity: 1;
    -moz-transform: translateX(20px);
  }
  100% {
    opacity: 0;
    -moz-transform: translateX(-2000px);
  }
}
@-o-keyframes bounceOutLeft {
  0% {
    -o-transform: translateX(0);
  }
  20% {
    opacity: 1;
    -o-transform: translateX(20px);
  }
  100% {
    opacity: 0;
    -o-transform: translateX(-2000px);
  }
}
@keyframes bounceOutLeft {
  0% {
    transform: translateX(0);
  }
  20% {
    opacity: 1;
    transform: translateX(20px);
  }
  100% {
    opacity: 0;
    transform: translateX(-2000px);
  }
}
.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  -moz-animation-name: bounceOutLeft;
  -o-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft;
}

@-webkit-keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
  }
}
@-moz-keyframes bounceOutRight {
  0% {
    -moz-transform: translateX(0);
  }
  20% {
    opacity: 1;
    -moz-transform: translateX(-20px);
  }
  100% {
    opacity: 0;
    -moz-transform: translateX(2000px);
  }
}
@-o-keyframes bounceOutRight {
  0% {
    -o-transform: translateX(0);
  }
  20% {
    opacity: 1;
    -o-transform: translateX(-20px);
  }
  100% {
    opacity: 0;
    -o-transform: translateX(2000px);
  }
}
@keyframes bounceOutRight {
  0% {
    transform: translateX(0);
  }
  20% {
    opacity: 1;
    transform: translateX(-20px);
  }
  100% {
    opacity: 0;
    transform: translateX(2000px);
  }
}
.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  -moz-animation-name: bounceOutRight;
  -o-animation-name: bounceOutRight;
  animation-name: bounceOutRight;
}

@-webkit-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(-200deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
}
@-moz-keyframes rotateIn {
  0% {
    -moz-transform-origin: center center;
    -moz-transform: rotate(-200deg);
    opacity: 0;
  }
  100% {
    -moz-transform-origin: center center;
    -moz-transform: rotate(0);
    opacity: 1;
  }
}
@-o-keyframes rotateIn {
  0% {
    -o-transform-origin: center center;
    -o-transform: rotate(-200deg);
    opacity: 0;
  }
  100% {
    -o-transform-origin: center center;
    -o-transform: rotate(0);
    opacity: 1;
  }
}
@keyframes rotateIn {
  0% {
    transform-origin: center center;
    transform: rotate(-200deg);
    opacity: 0;
  }
  100% {
    transform-origin: center center;
    transform: rotate(0);
    opacity: 1;
  }
}
.rotateIn {
  -webkit-animation-name: rotateIn;
  -moz-animation-name: rotateIn;
  -o-animation-name: rotateIn;
  animation-name: rotateIn;
}

@-webkit-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
}
@-moz-keyframes rotateInUpLeft {
  0% {
    -moz-transform-origin: left bottom;
    -moz-transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -moz-transform-origin: left bottom;
    -moz-transform: rotate(0);
    opacity: 1;
  }
}
@-o-keyframes rotateInUpLeft {
  0% {
    -o-transform-origin: left bottom;
    -o-transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -o-transform-origin: left bottom;
    -o-transform: rotate(0);
    opacity: 1;
  }
}
@keyframes rotateInUpLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
}
.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  -moz-animation-name: rotateInUpLeft;
  -o-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
}

@-webkit-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
}
@-moz-keyframes rotateInDownLeft {
  0% {
    -moz-transform-origin: left bottom;
    -moz-transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -moz-transform-origin: left bottom;
    -moz-transform: rotate(0);
    opacity: 1;
  }
}
@-o-keyframes rotateInDownLeft {
  0% {
    -o-transform-origin: left bottom;
    -o-transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -o-transform-origin: left bottom;
    -o-transform: rotate(0);
    opacity: 1;
  }
}
@keyframes rotateInDownLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
}
.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  -moz-animation-name: rotateInDownLeft;
  -o-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
}

@-webkit-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
}
@-moz-keyframes rotateInUpRight {
  0% {
    -moz-transform-origin: right bottom;
    -moz-transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -moz-transform-origin: right bottom;
    -moz-transform: rotate(0);
    opacity: 1;
  }
}
@-o-keyframes rotateInUpRight {
  0% {
    -o-transform-origin: right bottom;
    -o-transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    -o-transform-origin: right bottom;
    -o-transform: rotate(0);
    opacity: 1;
  }
}
@keyframes rotateInUpRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1;
  }
}
.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  -moz-animation-name: rotateInUpRight;
  -o-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
}

@-webkit-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
}
@-moz-keyframes rotateInDownRight {
  0% {
    -moz-transform-origin: right bottom;
    -moz-transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -moz-transform-origin: right bottom;
    -moz-transform: rotate(0);
    opacity: 1;
  }
}
@-o-keyframes rotateInDownRight {
  0% {
    -o-transform-origin: right bottom;
    -o-transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    -o-transform-origin: right bottom;
    -o-transform: rotate(0);
    opacity: 1;
  }
}
@keyframes rotateInDownRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1;
  }
}
.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  -moz-animation-name: rotateInDownRight;
  -o-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
}

@-webkit-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(200deg);
    opacity: 0;
  }
}
@-moz-keyframes rotateOut {
  0% {
    -moz-transform-origin: center center;
    -moz-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -moz-transform-origin: center center;
    -moz-transform: rotate(200deg);
    opacity: 0;
  }
}
@-o-keyframes rotateOut {
  0% {
    -o-transform-origin: center center;
    -o-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -o-transform-origin: center center;
    -o-transform: rotate(200deg);
    opacity: 0;
  }
}
@keyframes rotateOut {
  0% {
    transform-origin: center center;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: center center;
    transform: rotate(200deg);
    opacity: 0;
  }
}
.rotateOut {
  -webkit-animation-name: rotateOut;
  -moz-animation-name: rotateOut;
  -o-animation-name: rotateOut;
  animation-name: rotateOut;
}

@-webkit-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0;
  }
}
@-moz-keyframes rotateOutUpLeft {
  0% {
    -moz-transform-origin: left bottom;
    -moz-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -moz-transform-origin: left bottom;
    -moz-transform: rotate(-90deg);
    opacity: 0;
  }
}
@-o-keyframes rotateOutUpLeft {
  0% {
    -o-transform-origin: left bottom;
    -o-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -o-transform-origin: left bottom;
    -o-transform: rotate(-90deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: left bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
}
.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  -moz-animation-name: rotateOutUpLeft;
  -o-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
}

@-webkit-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0;
  }
}
@-moz-keyframes rotateOutDownLeft {
  0% {
    -moz-transform-origin: left bottom;
    -moz-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -moz-transform-origin: left bottom;
    -moz-transform: rotate(90deg);
    opacity: 0;
  }
}
@-o-keyframes rotateOutDownLeft {
  0% {
    -o-transform-origin: left bottom;
    -o-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -o-transform-origin: left bottom;
    -o-transform: rotate(90deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: left bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
}
.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  -moz-animation-name: rotateOutDownLeft;
  -o-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
}

@-webkit-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0;
  }
}
@-moz-keyframes rotateOutUpRight {
  0% {
    -moz-transform-origin: right bottom;
    -moz-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -moz-transform-origin: right bottom;
    -moz-transform: rotate(90deg);
    opacity: 0;
  }
}
@-o-keyframes rotateOutUpRight {
  0% {
    -o-transform-origin: right bottom;
    -o-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -o-transform-origin: right bottom;
    -o-transform: rotate(90deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: right bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
}
.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  -moz-animation-name: rotateOutUpRight;
  -o-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
}

@-webkit-keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0;
  }
}
@-moz-keyframes rotateOutDownRight {
  0% {
    -moz-transform-origin: right bottom;
    -moz-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -moz-transform-origin: right bottom;
    -moz-transform: rotate(-90deg);
    opacity: 0;
  }
}
@-o-keyframes rotateOutDownRight {
  0% {
    -o-transform-origin: right bottom;
    -o-transform: rotate(0);
    opacity: 1;
  }
  100% {
    -o-transform-origin: right bottom;
    -o-transform: rotate(-90deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: right bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
}
.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  -moz-animation-name: rotateOutDownRight;
  -o-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
}

@-webkit-keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    -webkit-transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
  }
  20%, 60% {
    -webkit-transform: rotate(80deg);
    -webkit-transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
  }
  40% {
    -webkit-transform: rotate(60deg);
    -webkit-transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
  }
  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    opacity: 1;
    -webkit-transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
  }
  100% {
    -webkit-transform: translateY(700px);
    opacity: 0;
  }
}
@-moz-keyframes hinge {
  0% {
    -moz-transform: rotate(0);
    -moz-transform-origin: top left;
    -moz-animation-timing-function: ease-in-out;
  }
  20%, 60% {
    -moz-transform: rotate(80deg);
    -moz-transform-origin: top left;
    -moz-animation-timing-function: ease-in-out;
  }
  40% {
    -moz-transform: rotate(60deg);
    -moz-transform-origin: top left;
    -moz-animation-timing-function: ease-in-out;
  }
  80% {
    -moz-transform: rotate(60deg) translateY(0);
    opacity: 1;
    -moz-transform-origin: top left;
    -moz-animation-timing-function: ease-in-out;
  }
  100% {
    -moz-transform: translateY(700px);
    opacity: 0;
  }
}
@-o-keyframes hinge {
  0% {
    -o-transform: rotate(0);
    -o-transform-origin: top left;
    -o-animation-timing-function: ease-in-out;
  }
  20%, 60% {
    -o-transform: rotate(80deg);
    -o-transform-origin: top left;
    -o-animation-timing-function: ease-in-out;
  }
  40% {
    -o-transform: rotate(60deg);
    -o-transform-origin: top left;
    -o-animation-timing-function: ease-in-out;
  }
  80% {
    -o-transform: rotate(60deg) translateY(0);
    opacity: 1;
    -o-transform-origin: top left;
    -o-animation-timing-function: ease-in-out;
  }
  100% {
    -o-transform: translateY(700px);
    opacity: 0;
  }
}
@keyframes hinge {
  0% {
    transform: rotate(0);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  20%, 60% {
    transform: rotate(80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  40% {
    transform: rotate(60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  80% {
    transform: rotate(60deg) translateY(0);
    opacity: 1;
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  100% {
    transform: translateY(700px);
    opacity: 0;
  }
}
.hinge {
  -webkit-animation-name: hinge;
  -moz-animation-name: hinge;
  -o-animation-name: hinge;
  animation-name: hinge;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
  }
}
@-moz-keyframes rollIn {
  0% {
    opacity: 0;
    -moz-transform: translateX(-100%) rotate(-120deg);
  }
  100% {
    opacity: 1;
    -moz-transform: translateX(0px) rotate(0deg);
  }
}
@-o-keyframes rollIn {
  0% {
    opacity: 0;
    -o-transform: translateX(-100%) rotate(-120deg);
  }
  100% {
    opacity: 1;
    -o-transform: translateX(0px) rotate(0deg);
  }
}
@keyframes rollIn {
  0% {
    opacity: 0;
    transform: translateX(-100%) rotate(-120deg);
  }
  100% {
    opacity: 1;
    transform: translateX(0px) rotate(0deg);
  }
}
.rollIn {
  -webkit-animation-name: rollIn;
  -moz-animation-name: rollIn;
  -o-animation-name: rollIn;
  animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg);
  }
}
@-moz-keyframes rollOut {
  0% {
    opacity: 1;
    -moz-transform: translateX(0px) rotate(0deg);
  }
  100% {
    opacity: 0;
    -moz-transform: translateX(100%) rotate(120deg);
  }
}
@-o-keyframes rollOut {
  0% {
    opacity: 1;
    -o-transform: translateX(0px) rotate(0deg);
  }
  100% {
    opacity: 0;
    -o-transform: translateX(100%) rotate(120deg);
  }
}
@keyframes rollOut {
  0% {
    opacity: 1;
    transform: translateX(0px) rotate(0deg);
  }
  100% {
    opacity: 0;
    transform: translateX(100%) rotate(120deg);
  }
}
.rollOut {
  -webkit-animation-name: rollOut;
  -moz-animation-name: rollOut;
  -o-animation-name: rollOut;
  animation-name: rollOut;
}

/* originally authored by Angelo Rohit - https://github.com/angelorohit */
@-webkit-keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
}
@-moz-keyframes lightSpeedIn {
  0% {
    -moz-transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -moz-transform: translateX(-20%) skewX(30deg);
    opacity: 1;
  }
  80% {
    -moz-transform: translateX(0%) skewX(-15deg);
    opacity: 1;
  }
  100% {
    -moz-transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
}
@-o-keyframes lightSpeedIn {
  0% {
    -o-transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -o-transform: translateX(-20%) skewX(30deg);
    opacity: 1;
  }
  80% {
    -o-transform: translateX(0%) skewX(-15deg);
    opacity: 1;
  }
  100% {
    -o-transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
}
@keyframes lightSpeedIn {
  0% {
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
  60% {
    transform: translateX(-20%) skewX(30deg);
    opacity: 1;
  }
  80% {
    transform: translateX(0%) skewX(-15deg);
    opacity: 1;
  }
  100% {
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
}
.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  -moz-animation-name: lightSpeedIn;
  -o-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  -moz-animation-timing-function: ease-out;
  -o-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}

.animated.lightSpeedIn {
  -webkit-animation-duration: 0.5s;
  -moz-animation-duration: 0.5s;
  -o-animation-duration: 0.5s;
  animation-duration: 0.5s;
}

/* originally authored by Angelo Rohit - https://github.com/angelorohit */
@-webkit-keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
}
@-moz-keyframes lightSpeedOut {
  0% {
    -moz-transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
  100% {
    -moz-transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
}
@-o-keyframes lightSpeedOut {
  0% {
    -o-transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
  100% {
    -o-transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
}
@keyframes lightSpeedOut {
  0% {
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
  100% {
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
}
.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  -moz-animation-name: lightSpeedOut;
  -o-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  -moz-animation-timing-function: ease-in;
  -o-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}

.animated.lightSpeedOut {
  -webkit-animation-duration: 0.25s;
  -moz-animation-duration: 0.25s;
  -o-animation-duration: 0.25s;
  animation-duration: 0.25s;
}

/* originally authored by Angelo Rohit - https://github.com/angelorohit */
@-webkit-keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg);
  }
  10% {
    -webkit-transform: skewX(-8deg);
  }
  20% {
    -webkit-transform: skewX(7deg);
  }
  30% {
    -webkit-transform: skewX(-6deg);
  }
  40% {
    -webkit-transform: skewX(5deg);
  }
  50% {
    -webkit-transform: skewX(-4deg);
  }
  60% {
    -webkit-transform: skewX(3deg);
  }
  70% {
    -webkit-transform: skewX(-2deg);
  }
  80% {
    -webkit-transform: skewX(1deg);
  }
  90% {
    -webkit-transform: skewX(0deg);
  }
  100% {
    -webkit-transform: skewX(0deg);
  }
}
@-moz-keyframes wiggle {
  0% {
    -moz-transform: skewX(9deg);
  }
  10% {
    -moz-transform: skewX(-8deg);
  }
  20% {
    -moz-transform: skewX(7deg);
  }
  30% {
    -moz-transform: skewX(-6deg);
  }
  40% {
    -moz-transform: skewX(5deg);
  }
  50% {
    -moz-transform: skewX(-4deg);
  }
  60% {
    -moz-transform: skewX(3deg);
  }
  70% {
    -moz-transform: skewX(-2deg);
  }
  80% {
    -moz-transform: skewX(1deg);
  }
  90% {
    -moz-transform: skewX(0deg);
  }
  100% {
    -moz-transform: skewX(0deg);
  }
}
@-o-keyframes wiggle {
  0% {
    -o-transform: skewX(9deg);
  }
  10% {
    -o-transform: skewX(-8deg);
  }
  20% {
    -o-transform: skewX(7deg);
  }
  30% {
    -o-transform: skewX(-6deg);
  }
  40% {
    -o-transform: skewX(5deg);
  }
  50% {
    -o-transform: skewX(-4deg);
  }
  60% {
    -o-transform: skewX(3deg);
  }
  70% {
    -o-transform: skewX(-2deg);
  }
  80% {
    -o-transform: skewX(1deg);
  }
  90% {
    -o-transform: skewX(0deg);
  }
  100% {
    -o-transform: skewX(0deg);
  }
}
@keyframes wiggle {
  0% {
    transform: skewX(9deg);
  }
  10% {
    transform: skewX(-8deg);
  }
  20% {
    transform: skewX(7deg);
  }
  30% {
    transform: skewX(-6deg);
  }
  40% {
    transform: skewX(5deg);
  }
  50% {
    transform: skewX(-4deg);
  }
  60% {
    transform: skewX(3deg);
  }
  70% {
    transform: skewX(-2deg);
  }
  80% {
    transform: skewX(1deg);
  }
  90% {
    transform: skewX(0deg);
  }
  100% {
    transform: skewX(0deg);
  }
}
.wiggle {
  -webkit-animation-name: wiggle;
  -moz-animation-name: wiggle;
  -o-animation-name: wiggle;
  animation-name: wiggle;
  -webkit-animation-timing-function: ease-in;
  -moz-animation-timing-function: ease-in;
  -o-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}

.animated.wiggle {
  -webkit-animation-duration: 0.75s;
  -moz-animation-duration: 0.75s;
  -o-animation-duration: 0.75s;
  animation-duration: 0.75s;
}

.l-wrapper {
  width: 100%;
  min-width: 375px;
}
.l-header {
  width: 100%;
  min-width: 375px;
  height: 4.1875rem;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  background: white;
  position: fixed;
  top: 0;
  z-index: 60;
}
.l-header .l-header__inner {
  margin: 0 auto;
  padding: 0 1.25rem;
  width: 100%;
  max-width: 80rem;
  height: 4.1875rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.l-header .l-header__logo {
  width: 9.25rem;
}
.l-header .l-header__logo .l-header__anchor {
  display: block;
}
.l-header .l-header__menu {
  flex: none;
  margin-left: auto;
  display: flex;
  justify-content: center;
  align-items: stretch;
  font-size: 0.875rem;
}
.l-header .l-header__menu .l-header__anchor {
  padding: 1em 1em .1em;
  overflow: hidden;
}
.l-header .l-header__menu .l-header__anchor.u-hover--roll .u-hover__str--roll {
  padding-bottom: 0;
  line-height: 1.5;
}
.l-header .l-header__menu .l-header__anchor:hover {
  color: #17BF6D;
}
.l-header .l-header__menu .u-hover--roll:hover .u-hover__str--roll::after {
  background: #17BF6D;
}
.l-header .l-header__contect {
  margin-left: 2rem;
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 0.5rem;
  font-size: 0.9375rem;
  font-weight: bold;
}
.l-header .l-header__contect .l-header__item {
  width: 6.9375rem;
  height: 3.0625rem;
}
.l-header .l-header__contect .l-header__anchor {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 1.5625rem;
  color: white;
  transition: all 0.4s;
}
.l-header .l-header__contect .l-header__anchor:hover {
  opacity: 0.6;
}
.l-header .l-header__contect .l-header__item--entry .l-header__anchor {
  background: linear-gradient(0deg, rgb(255, 81, 45) 0%, rgb(255, 181, 95) 100%);
}
.l-header .l-header__contect .l-header__item--contact .l-header__anchor {
  background: linear-gradient(0deg, rgb(77, 232, 155) 0%, rgb(26, 191, 109) 100%);
}
.l-header .l-header__button {
  display: none;
}
.pc {
  display: block;
}
.sp {
  display: none;
}
@media screen and (max-width: 1199px) {
  .l-header .l-header__inner {
    padding: 0 1rem;
  }
  .l-header .l-header__menu {
    font-size: 0.75rem;
  }
  .l-header .l-header__contect {
    margin-left: 1rem;
    font-size: 0.75rem;
    gap: 0.5rem;
  }
  .l-header .l-header__contect .l-header__item {
    width: 6.25rem;
    height: 3.0625rem;
  }
}
@media screen and (max-width: 1023px) {
  .l-header .l-header__menu {
    font-size: 0.625rem;
  }
  .l-header .l-header__contect {
    margin-left: 0.5rem;
    font-size: 0.625rem;
    gap: 0.5rem;
  }
  .l-header .l-header__contect .l-header__item {
    width: 5rem;
    height: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .l-header {
    width: 100%;
    height: 6rem;
  }
  .l-header .l-header__inner {
    margin: 0 auto;
    padding: 0 0.8rem;
    width: 100%;
    max-width: 100%;
    height: 6rem;
  }
  .l-header .l-header__logo {
    width: 13.6rem;
    position: relative;
    z-index: 60;
  }
  .l-header .l-header__menu {
    display: none;
  }
  .l-header .l-header__contect {
    margin-left: auto;
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 0.8rem;
    font-size: 1.2rem;
  }
  .l-header .l-header__contect .l-header__item {
    width: 7.4rem;
    height: 3.2rem;
  }
  .l-header .l-header__contect .l-header__anchor {
    border-radius: 2.5rem;
  }
  .l-header .l-header__contect .l-header__item--entry .l-header__anchor {
    background: linear-gradient(0deg, rgb(255, 81, 45) 0%, rgb(255, 181, 95) 100%);
  }
  .l-header .l-header__contect .l-header__item--contact .l-header__anchor {
    background: linear-gradient(0deg, rgb(77, 232, 155) 0%, rgb(26, 191, 109) 100%);
  }
  .l-header .l-header__button {
    margin-left: 1.2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    width: 2.6rem;
    height: 1.6rem;
    position: relative;
    z-index: 60;
  }
  .l-header .l-header__button .l-header__bar {
    width: 100%;
    height: 1px;
    background: black;
    transition: all 0.4s;
  }
  .is-gnav-open .l-header .l-header__button .l-header__bar {
    background: white;
  }
  .is-gnav-open .l-header .l-header__button .l-header__bar:nth-of-type(1) {
    transform: rotate(30deg) scaleX(1.1547005384);
    transform-origin: 0% 0%;
  }
  .is-gnav-open .l-header .l-header__button .l-header__bar:nth-of-type(2) {
    transform: scaleX(0);
    transform-origin: 50% 50%;
  }
  .is-gnav-open .l-header .l-header__button .l-header__bar:nth-of-type(3) {
    transform: rotate(-30deg) scaleX(1.1547005384);
    transform-origin: 0% 0%;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
.l-footer {
  width: 100%;
  min-width: 23.4375rem;
  min-height: 80rem;
  background: #FFFFFF;
  color: #FFFFFF;
  overflow: hidden;
  position: relative;
}
.l-footer::before {
  display: block;
  content: "";
  width: 100%;
  height: 68.125rem;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 0;
  background: linear-gradient(0deg, #17BF6D 0%, #17BF6D 40%, #FFFFFF 80%, #FFFFFF 100%);
}
.l-footer .l-footer__inner {
  margin: 0 auto;
  padding: 5rem 1.25rem 1.25rem 1.25rem;
  width: 100%;
  max-width: 70rem;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 5rem;
}
.l-footer .l-footer__animation {
  display: block;
  width: 49.5rem;
  height: 49.5rem;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 0;
  margin: auto;
}
.l-footer .l-footer__contact {
  margin-bottom: 15rem;
  width: 100%;
  max-width: 70rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  gap: 2.25rem;
  position: relative;
}
.l-footer .l-footer__contact .l-footer__item {
  width: 100%;
  height: 15.625rem;
  border-radius: 2.25rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  overflow: hidden;
}
.l-footer .l-footer__contact .l-footer__item--contact .l-footer__anchor {
  background: linear-gradient(0deg, rgb(26, 191, 109) 0%, rgb(77, 232, 155) 100%);
}
.l-footer .l-footer__contact .l-footer__item--contact .l-footer__arrow {
  background: #17BF6D;
}
.l-footer .l-footer__contact .l-footer__item--entry .l-footer__anchor {
  background: linear-gradient(0deg, rgb(229, 211, 78) 0%, rgb(255, 168, 114) 100%);
}
.l-footer .l-footer__contact .l-footer__item--entry .l-footer__arrow {
  background: #FF7E2D;
}
.l-footer .l-footer__contact .l-footer__anchor {
  padding: 1.25rem 5rem;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  gap: 1.5rem;
  background: #17BF6D;
  position: relative;
}
.l-footer .l-footer__contact .l-footer__str {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  gap: 1.5rem;
}
.l-footer .l-footer__contact .l-footer__str > span {
  display: inline-block;
  overflow: hidden;
  line-height: 1.5;
}
.l-footer .l-footer__contact .l-footer__strong {
  font-size: 3.5625rem;
  font-weight: normal;
  display: inline-block;
}
.l-footer .l-footer__contact .l-footer__small {
  font-size: 1.0625rem;
  font-weight: normal;
  line-height: 1.6;
}

.l-footer .l-footer__contact a:hover .l-footer__strong {
  animation: 400ms linear 0s 1 normal forwards running roll;
  opacity: 0.7;
}

.l-footer .l-footer__contact .u-hover--button:hover .u-hover__str--button {
  animation: unset;
  opacity:1;
}

.l-footer .l-footer__contact .l-footer__arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 6.25rem;
  height: 3.625rem;
  border-radius: 1.875rem;
  background: #FFFFFF;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 5rem;
  margin: auto;
  overflow: hidden;
}
.l-footer .l-footer__contact .l-footer__figure {
  width: 2.5rem;
  height: 1rem;
}
.l-footer .l-footer__access {
  margin-right: auto;
  position: relative;
}
.l-footer .l-footer__access .l-footer__heading {
  font-weight: 400;
  margin-bottom: 0.625rem;
  font-size: 1.8rem;
  line-height: 1.6;
}
.l-footer .l-footer__access .l-footer__text {
  font-size: 1rem;
  line-height: 1.6;
}
.l-footer .l-footer__access .l-footer__gmap {
  font-size: 0.875rem;
  line-height: 1.6;
  text-decoration: underline;
}
.l-footer .l-footer__access .l-footer__icon {
  opacity: 0.4;
  margin-right: 0.5em;
}
.l-footer .l-footer__menu {
  width: 100%;
  max-width: 16.5rem;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 1.5rem;
  position: relative;
}
.l-footer .l-footer__menu .l-footer__item {
  width: 7.5rem;
  font-size: 0.9375rem;
}
.l-footer .l-footer__menu .l-footer__item .u-hover--roll .u-hover__str--roll {
  line-height: 1.5;
  padding-bottom: 0;
}
.l-footer .l-footer__legal {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1.5rem;
  position: relative;
  font-size: .8rem;
}
.l-footer--plain {
  font-size: 0.875rem;
  color: unset;
  height: unset;
  min-height: unset;
  background: none;
}
.l-footer--plain::before {
  display: none;
}
.l-footer--plain .l-footer__inner {
  margin: 0 auto;
  padding: 1.25rem 1.25rem 1.25rem 1.25rem;
  width: 100%;
  max-width: 70rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5rem;
}
.l-footer--plain .l-footer__legal {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .l-footer {
    width: 100%;
    min-width: 100%;
    min-height: 95.5rem;
  }
  .l-footer::before {
    display: block;
    content: "";
    width: 100%;
    height: 95.5rem;
    background: linear-gradient(0deg, #17BF6D 0%, #17BF6D 40%, #FFFFFF 80%, #FFFFFF 100%);
  }
  .l-footer .l-footer__inner {
    margin: 0 auto;
    padding: 4.2rem 2.2rem 2.2rem 2.2rem;
    width: 100%;
    max-width: 100%;
    gap: 4rem;
  }
  .l-footer .l-footer__animation {
    width: 40rem;
    height: 40rem;
    top: 40%;
    left: auto;
    right: 50%;
    transform: translateX(50%);
    margin: 0;
    opacity: .4;
  }
  .l-footer .l-footer__contact {
    margin-bottom: 8rem;
    width: 100%;
    max-width: 100%;
    gap: 2rem;
    order: 1;
  }
  .l-footer .l-footer__contact .l-footer__item {
    width: 100%;
    height: 17.5rem;
    border-radius: 1.8rem;
  }
  .l-footer .l-footer__contact .l-footer__anchor {
    padding: 2.2rem 2.2rem;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    gap: 1rem;
  }
  .l-footer .l-footer__contact .l-footer__str {
    gap: 1rem;
  }
  .l-footer .l-footer__contact .l-footer__strong {
    font-size: 3.2rem;
  }
  .l-footer .l-footer__contact .l-footer__small {
    font-size: 1.4rem;
  }
  .l-footer .l-footer__contact .l-footer__arrow {
    width: 5.7rem;
    height: 3.3rem;
    border-radius: 3rem;
    top: unset;
    bottom: 2.2rem;
    right: 2.2rem;
  }
  .l-footer .l-footer__contact .l-footer__figure {
    width: 2.3rem;
    height: 0.9rem;
  }
  .l-footer .l-footer__access {
    margin-right: unset;
    width: 100%;
    order: 3;
  }
  .l-footer .l-footer__access .l-footer__heading {
    margin-bottom: 1rem;
    font-size: 1.7rem;
  }
  .l-footer .l-footer__access .l-footer__text {
    font-size: 1.4rem;
  }
  .l-footer .l-footer__access .l-footer__gmap {
    font-size: 1.4rem;
  }
  .l-footer .l-footer__menu {
    margin-right: auto;
    width: 100%;
    max-width: 30.2rem;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 2.2rem;
    order: 2;
  }
  .l-footer .l-footer__menu .l-footer__item {
    width: 14rem;
    font-size: 1.4rem;
  }
  .l-footer .l-footer__legal {
    font-size: 1rem;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    gap: 1rem;
    order: 4;
  }
  .l-footer--plain {
    font-size: 1.4rem;
    min-height: auto;
  }
  .l-footer--plain::before {
    display: none;
  }
  .l-footer--plain .l-footer__inner {
    margin: 0 auto;
    padding: 2rem 2rem 2rem 2rem;
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8rem;
  }
}
.l-nav {
  display: none;
}

@media screen and (max-width: 767px) {
  .l-nav {
    display: block;
    position: fixed;
    top: 0;
    left: 100vw;
    z-index: 30;
    width: 100vw;
    height: 100dvh;
    transition: all 0.4s;
    color: white;
  }
  .l-nav::before {
    display: block;
    content: "";
    width: 100vw;
    height: 100dvh;
    background: url(../img/common/nav_gnav_bgi01.png) no-repeat 50% 100%/cover;
    z-index: 60;
  }
  .is-gnav-open .l-nav {
    left: 0;
  }
  .l-nav .l-nav__inner {
    margin: 0 auto;
    padding: 0 4.8rem 4rem 4.8rem;
    width: 100%;
    min-width: 375px;
    height: calc(100% - 8rem);
    position: fixed;
    top: 8rem;
    left: 100vw;
    z-index: 60;
    overflow: auto;
    transition: all 0.4s;
  }
  .is-gnav-open .l-nav .l-nav__inner {
    left: 0;
  }
  .l-nav .l-nav__menu {
    font-size: 1.4rem;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    gap: 1.6rem;
  }
  .l-nav .l-nav__menu .l-nav__small {
    font-size: 1rem;
    opacity: 0.75;
  }
  .l-nav .l-nav__access {
    margin-top: 3rem;
  }
  .l-nav .l-nav__access .l-nav__picture {
    width: 23rem;
    font-size: 1.6rem;
    filter: drop-shadow(0 3px 20px rgb(255, 255, 255));
  }
  .l-nav .l-nav__access .l-nav__figcaption {
    margin-top: 1.4rem;
    font-size: 1.6rem;
  }
  .l-nav .l-nav__access .l-nav__text {
    margin-top: 2rem;
    font-size: 0.7rem;
  }
}
.c-button {
  padding: 1.625rem 3rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 1.25rem;
  background: #17BF6D;
  font-size: 1.25rem;
  color: white;
}
.c-button:hover {
  opacity: 0.4;
}

@media screen and (max-width: 767px) {
  .c-button {
    padding: 2.2rem 4.4rem;
    border-radius: 2rem;
    font-size: 1.6rem;
  }
}
.c-figure .c-figure__picture {
  display: block;
}
.c-list--hashtag {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0 1em;
}
.c-list--hashtag .c-list__item {
  font-size: 1rem;
  line-height: 1.4;
}
.c-list--hashtag .c-list__item::before {
  display: inline-block;
  content: "#";
}
.c-list--tag {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0.5em;
  color: #17BF6D;
}
.c-list--tag .c-list__item {
  padding: 0.25rem 0.5rem;
  font-size: 1rem;
  line-height: 1.4;
  border: 1px solid #17BF6D;
  border-radius: 2rem;
}
.c-list--tag .c-list__item::before {
  display: inline-block;
  content: "#";
}
.c-list--notes .c-list__item {
  font-size: 1rem;
}

@media screen and (max-width: 767px) {
  .c-list--hashtag .c-list__item {
    font-size: 1rem;
  }
  .c-list--tag .c-list__item {
    padding: 0.4rem 0.8rem;
    font-size: 1rem;
    border-radius: 2rem;
  }
  .c-list--notes .c-list__item {
    font-size: 1rem;
    color: #fff;
  }
}
.p-section {
  background: #FFFFFF;
}
.p-section .p-section__inner {
  margin: 0 auto;
  padding: 1.25rem 1.25rem;
  width: 100%;
  max-width: 70rem;
}

.p-card {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 0.9375rem;
}
.p-card .p-card__item {
  width: calc((100% - 1.875rem) / 3);
  max-width: 21.875rem;
  background: white;
  border-radius: 1.125rem;
  overflow: hidden;
}
.p-card .p-card__anchor {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  color: #3C3C3C;
}
.p-card .p-card__anchor:hover .p-card__source,
.p-card .p-card__anchor:hover .p-card__img {
  transform: scale(1.1, 1.1);
}
.p-card .p-card__anchor .p-link--arrow::before {
  content: unset;
}
.p-card .p-card__figure,
.p-card .p-card__picture {
  width: 100%;
  overflow: hidden;
}
.p-card .p-card__source,
.p-card .p-card__img {
  aspect-ratio: 350/290;
  object-fit: cover;
  transition: all 0.4s;
}
.p-card .p-card__link {
  margin: 0 auto;
  padding: 1.25rem;
  width: 100%;
  max-width: 100%;
  border: none;
}
.l-wrapper .p-card .p-card__str {
  padding: 0;
}
.l-wrapper .p-card .p-card__arrow {
  right: 1.25rem;
}

@media screen and (max-width: 767px) {
  .p-card {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 3.2rem;
  }
  .p-card .p-card__item {
    width: 100%;
    max-width: unset;
    border-radius: 1.6rem;
  }
  .p-card .p-card__figure,
  .p-card .p-card__picture {
    width: 100%;
  }
  .p-card .p-card__source,
  .p-card .p-card__img {
    aspect-ratio: 330/220;
  }
  .p-card .p-card__link {
    padding: 2rem;
  }
  .l-wrapper .p-card .p-card__str {
    padding: 0;
  }
  .l-wrapper .p-card .p-card__arrow {
    right: 2rem;
  }
}
.p-hero {
  padding: 0 2.5rem;
  background: url(../img/common/hero_bgi01.png) no-repeat 50% 50%/cover;
  overflow: hidden;
  position: relative;
}
.p-hero::before {
  display: block;
  content: "";
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.4);
  position: absolute;
  bottom: 2.625rem;
  left: 0;
}
.p-hero .p-hero__inner {
  padding: 0 2.5rem 5rem 2.5rem;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  width: 100%;
  max-width: 72.5rem;
  height: 40.125rem;
  position: relative;
}
.p-hero .p-hero__inner::before {
  display: block;
  content: "";
  width: 1px;
  height: 100%;
  background: rgba(255, 255, 255, 0.4);
  position: absolute;
  top: 0;
  left: 0;
}
.p-hero .p-hero__heading {
  margin-top: 7.8125rem;
  margin-left: -3.9375rem;
  /* padding-left: 1rem; */
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  position: relative;
  z-index: 15;
  overflow: hidden;
  line-height: 1.5;
}
.p-hero .p-hero__heading .p-hero__small {
  font-size: 1.25rem;
  font-weight: normal;
  color: #FFFFFF;
}
.p-hero .p-hero__heading .p-hero__strong {
  /* margin-left: -0.1rem; */
  font-size: 6.25rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
  color: #FFFFFF;
}
.p-hero .p-hero__heading .p-hero__strong::first-letter {
  color: #FF512D;
}
.p-hero .p-hero__heading span {
  overflow: hidden;
  display: inline-block;
  line-height: 1;
  padding-bottom: 1rem;
}
.p-hero .p-hero__heading .p-hero__small,
.p-hero .p-hero__heading .p-hero__strong {
	display: inline-block;
	transform: translateY(110%);
}
.p-hero .p-hero__heading.animated .p-hero__small,
.p-hero .p-hero__heading.animated .p-hero__strong {
	transition: transform 1s ease;
	transform: translateY(0);
}
.p-hero .p-hero__heading.animated .p-hero__small {
	transition: transform 1s ease;
}
.p-hero .p-hero__heading.animated .p-hero__strong {
	transition: transform 1s ease;
}
.p-hero .p-hero__text {
  margin-top: 5rem;
  margin-bottom: 0.625rem;
  margin-left: -2.9375rem;
  position: relative;
  z-index: 15;
  font-size: 1rem;
  line-height: 1.6;
  color: white;
  width: 100%;
  max-width: 47.5rem;
}
.p-hero .p-hero__list {
  margin-top: auto;
  margin-left: -2.9375rem;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 1.875rem;
  font-size: 1rem;
  color: #FFF0F0;
  position: relative;
  z-index: 15;
}
.p-hero .p-hero__list .p-hero__anchor {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 1rem;
}
.p-hero .p-hero__list .p-hero__icon {
  width: 1rem;
  height: 1rem;
  background: url(../img/common/icon_arrow02_right01_img01.svg) no-repeat 50% 50%/contain;
}
.p-hero .p-hero__figure {
  width: 60rem;
  max-width: calc(100% - 5rem);
  height: 100%;
  max-height: 35.3125rem;
  border-radius: 0 0 0 3.75rem;
  overflow: hidden;
  position: absolute;
  top: 0;
  right: -6.25rem;
}
.p-hero--noborder::before {
  display: none;
}
.p-hero--noborder .p-hero__inner {
  padding-top: 4.1875rem;
  height: auto;
  min-height: 40.125rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.p-hero--noborder .p-hero__inner::before {
  display: none;
}
.p-hero--noborder .p-hero__heading {
  margin-left: 0;
}
.p-hero--noborder .p-hero__heading .p-hero__strong {
  margin-left: 0;
}
.p-hero--noborder .p-hero__text {
  margin-top: 2.5rem;
  margin-left: 0;
  line-height: 2;
}
.p-hero--message {
  padding: 0;
  background: white;
}
.p-hero--message::before {
  display: none;
}
.p-hero--message .p-hero__inner {
  padding: 10rem 0 8rem 2rem;
  width: 100%;
  max-width: 72.5rem;
  height: auto;
  min-height: 48.75rem;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row-reverse;
  gap: 2.75rem;
  position: relative;
}
.p-hero--message .p-hero__inner::before {
  display: block;
  content: "";
  width: 35.625rem;
  height: 17.25rem;
  background: linear-gradient(90deg, #375D90 0%, rgba(23, 191, 109, 0) 100%);
  position: absolute;
  top: 7.375rem;
  left: 15.4375rem;
}
.p-hero--message .p-hero__inner::after {
  display: block;
  content: "";
  width: 28rem;
  height: 16.25rem;
  background: linear-gradient(90deg, #375D90 0%, rgba(23, 191, 109, 0) 100%);
  position: absolute;
  bottom: 3rem;
  left: -6.6rem;
}
.p-hero--message .p-hero__blcok {
  transform: translateX(1.625rem);
  position: relative;
  z-index: 15;
}
.p-hero--message .p-hero__blcok--text {
  width: 44rem;
}
.p-hero--message .p-hero__blcok--image {
  width: calc(100% - 46rem);
}
.p-hero--message .p-hero__blcok--sign {
  display: inline-block;
  margin-top: 1rem;
  transform: translateX(0);
  /* position: absolute;
  right: 0;
  bottom: 12.4rem; */
}
.p-hero--message .p-hero__heading {
  margin: 0 0 2.5rem;
  padding: 1rem 0 0;
}
.p-hero--message .p-hero__heading .p-hero__strong {
  font-size: 8rem;
  line-height: 1;
  font-weight: 500;
  color: #17BF6D;
  filter: none;
}
.p-hero--message .p-hero__heading .p-hero__strong::first-letter {
  color: inherit;
}
.p-hero--message .p-hero__catch {
  display: block;
  /* padding: 2rem 2rem;
  background: linear-gradient(0deg, rgb(55, 93, 144) 0%, rgb(3, 176, 149) 100%); */
}

[data-page=message] .p-heading__top span {
  padding-top: 2rem;
}
[data-page=message] .p-heading__bottom span {
  padding-bottom: 2rem;
}
[data-page=message] .p-heading {
  display: block;
}
[data-page=message] .p-heading__top,
[data-page=message] .p-heading__bottom {
  display: block;
  line-height: 1;
}
[data-page=message] .p-heading__top span {
  line-height: 1.53;
  padding: .5rem 2rem .2rem;
  display: inline-block;
  background: linear-gradient(to bottom, #03B095 0%, #1F8492 100%);
}
[data-page=message] .p-heading__bottom span {
  line-height: 1.53;
  padding: 0 2rem .5rem;
  display: inline-block;
  background: linear-gradient(to bottom, #1F8492 0%, #375D90 100%);
}
[data-page=message] .p-part--article .p-part__section .p-part__block--text .p-part__heading .p-heading__top span {
  line-height: 1.3;
  padding: .5rem 2rem .1rem;
}
[data-page=message] .p-part--article .p-part__section .p-part__block--text .p-part__heading .p-heading__bottom span {
  line-height: 1.3;
  padding: .1rem 2rem .5rem;
}
.p-hero--message .p-hero__sign {
  padding: 1rem 2rem;
  background: #3C3C3C;
  display: inline-block;
}
.p-hero--message .p-hero__blcok--sign.sp {
  display: none;
}
.p-hero--message .p-hero__sign .p-hero__par {
  display: inline-block;
  font-size: 1.25rem;
  line-height: 1.6;
  color: white;
}
.p-hero--message .p-hero__figure {
  width: 100%;
  max-width: 100%;
  position: unset;
  top: unset;
  bottom: unset;
  left: unset;
  right: unset;
  max-height: unset;
  border-radius: 1.125rem;
  overflow: hidden;
}
.p-hero--interview {
  padding: 0;
  background: none;
}
.p-hero--interview::before {
  display: none;
}
.p-hero--interview .p-hero__inner {
  padding: 7.5rem 0 0 0;
  width: 100%;
  max-width: 72.5rem;
  height: auto;
  min-height: 48.75rem;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 2.75rem;
  position: relative;
}
.p-hero--interview .p-hero__inner::before {
  display: none;
}
.p-hero--interview .p-hero__blcok {
  width: 100%;
}
.p-hero--interview .p-hero__blcok--text {
  position: relative;
  z-index: 15;
}
.p-hero--interview .p-hero__heading {
  margin: 0 auto 7.5rem auto;
}
.p-hero--interview .p-hero__heading .p-hero__small {
  font-size: 1.25rem;
  font-weight: 400;
  color: white;
  text-align: center;
}
.p-hero--interview .p-hero__heading .p-hero__strong {
  font-size: 6.25rem;
  font-weight: 500;
  color: white;
  filter: none;
}
.p-hero--interview .p-hero__catch {
  margin-bottom: 3.125rem;
}
.p-hero--interview .p-hero__text {
  margin: 0 auto;
  text-align: center;
  width: 100%;
  max-width: 100%;
}
.p-hero--interview .p-hero__text .p-hero__par {
  font-size: 1.0625rem;
  line-height: 2;
  color: white;
}
.p-hero--interview .p-hero__figure {
  width: unset;
  max-width: unset;
  position: absolute;
  top: unset;
  bottom: unset;
  left: unset;
  right: unset;
  border-radius: 1.125rem;
  overflow: hidden;
}
.p-hero--interview .p-hero__figure--01 {
  width: 15.4375rem;
  height: auto;
  top: 21.6875rem;
  left: -3.5625rem;
}
.p-hero--interview .p-hero__figure--02 {
  width: 19.5625rem;
  height: auto;
  top: 11.1875rem;
  right: 1.0625rem;
}
.p-hero--interview .p-hero__figure--03 {
  width: 10.3125rem;
  height: auto;
  top: 36.6875rem;
  left: 4.5rem;
}
.p-hero--interview .p-hero__figure--04 {
  width: 18.25rem;
  height: auto;
  top: 33.75rem;
  right: -3.5rem;
}
.p-hero--plain {
  padding: 0;
  background: white;
}
.p-hero--plain::before {
  display: none;
}
.p-hero--plain .p-hero__inner {
  padding: 9.25rem 2.5rem 4.625rem 2.5rem;
  width: 100%;
  max-width: 41rem;
  height: auto;
  min-height: 11.5rem;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 2.5rem;
  position: relative;
}
.p-hero--plain .p-hero__inner::before {
  display: none;
}
.p-hero--plain .p-hero__heading {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.p-hero--plain .p-hero__heading .p-hero__strong {
  font-size: 2.9375rem;
  font-weight: bold;
  color: unset;
  filter: unset;
}
.p-hero--plain .p-hero__heading .p-hero__strong::first-letter {
  color: unset;
}
.p-hero--plain .p-hero__heading .p-hero__small {
  font-size: 1.625rem;
  font-weight: bold;
  color: unset;
  filter: unset;
}
.p-hero--plain .p-hero__text {
  margin: 0 auto;
  color: unset;
  width: 100%;
  max-width: 93%;
}
.p-hero--plain .p-hero__text .p-hero__par {
  font-size: 1.125rem;
}
.p-hero--movie {
  padding: 0;
  /* background: none; */
  background: #17BF6D;
  height: calc(100vh - 4.5rem);
}
.p-hero--movie::before {
  display: none;
}
.p-hero--movie .p-hero__inner {
  width: 100%;
  max-width: 80rem;
  height: auto;
  /* height: calc(100vh - 0.625rem); */
  position: relative;
  padding-bottom: 3rem;
}
.p-hero--movie .p-hero__inner::before {
  display: none;
}
.p-hero--movie .p-hero__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-hero--movie .p-hero__titl {
  width: calc(100% - 3rem);
  position: absolute;
  bottom: 0;
  left: 1.5rem;
  overflow: hidden;
  padding: 9px 6px 0;
}
.p-hero--movie .p-hero__logo {
  /* max-width: 31.125rem; */
  width: 100%;
  filter: drop-shadow(0 0 6px rgb(255, 255, 255));
  overflow: hidden;
  
}

.p-hero--movie .p-hero__logo.mv01 {
  width: 13rem;
  padding: 6px;
}
.p-hero--movie .p-hero__logo.mv02 {
  width: 9.75rem;
  padding: 6px;
  margin: 1rem 0;
}
.p-hero--movie .p-hero__logo.mv03 {
  width: 31.85rem;
  padding: 6px;
}
.p-hero--movie .p-hero__logo .p-hero__picture {
  transform: translateY(115%);
}
.p-hero--movie .p-hero__logo.animated.mv01 .p-hero__picture {
	transition: 1.4s ease-out;
	transform: matrix(1, 0, 0, 1, 0, 0);
}
.p-hero--movie .p-hero__logo.animated.mv02 .p-hero__picture {
	transition: 1.4s ease-out .35s;
	transform: matrix(1, 0, 0, 1, 0, 0);
}
.p-hero--movie .p-hero__logo.animated.mv03 .p-hero__picture {
	transition: 1.4s ease-out .7s;
	transform: matrix(1, 0, 0, 1, 0, 0);
}

@media screen and (max-width: 767px) {
  .p-hero {
    padding: 0 2.2rem;
  }
  .p-hero::before {
    bottom: 2.2rem;
    left: 0;
  }
  .p-hero .p-hero__inner {
    padding: 0 1.8rem 4rem 1.8rem;
    width: 100%;
    max-width: 100%;
    height: auto;
    position: relative;
  }
  .p-hero .p-hero__heading {
    order: 2;
    margin-top: 2rem;
    margin-left: 0rem;
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    gap: 0;
  }
  .p-hero .p-hero__heading .p-hero__small {
    font-size: 1.2rem;
  }
  .p-hero .p-hero__heading .p-hero__strong {
    margin-left: 0rem;
    font-size: 5.5rem;
  }
  .p-hero .p-hero__text {
    order: 3;
    margin-top: 1rem;
    margin-bottom: 1rem;
    margin-left: 0rem;
    font-size: 1.4rem;
    width: 100%;
    max-width: 100%;
  }
  .p-hero .p-hero__list {
    order: 4;
    margin-top: 2rem;
    margin-left: -2.5rem;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    gap: 1rem;
    font-size: 1.4rem;
  }
  .p-hero .p-hero__list .p-hero__anchor {
    gap: 1.6rem;
  }
  .p-hero .p-hero__list .p-hero__icon {
    width: 1.6rem;
    height: 1.6rem;
    background: url(../img/common/icon_arrow02_right01_img01.svg) no-repeat 50% 50%/contain;
  }
  .p-hero .p-hero__figure {
    order: 1;
    width: calc(100% + 4rem);
    max-width: calc(100% + 4rem);
    height: auto;
    max-height: unset;
    border-radius: 0 0 0 1.5rem;
    position: relative;
    top: unset;
    right: unset;
  }
  .p-hero--movie .p-hero__logo.mv01 {
    width: 12rem;
  }
  .p-hero--movie .p-hero__logo.mv02 {
    width: 9rem;
    margin: 0;
  }
  .p-hero--movie .p-hero__logo.mv03 {
    width: 28rem;
  }
  .p-hero--noborder .p-hero__inner {
    padding-top: 6rem;
    height: auto;
    min-height: 48.5rem;
  }
  .p-hero--noborder::before {
    display: block;
  }
  .p-hero--noborder .p-hero__inner::before {
    display: block;
  }
  .p-hero--noborder .p-hero__heading {
    margin-bottom: 2rem;
    width: 100%;
    max-width: 100%;
  }
  .p-hero--noborder .p-hero__heading .p-hero__small {
    font-size: 1.2rem;
  }
  .p-hero--noborder .p-hero__heading .p-hero__strong {
    font-size: 5rem;
  }
  .p-hero--noborder .p-hero__text {
    margin-top: 1.2rem;
    width: 100%;
    max-width: 100%;
  }
  .p-hero--message {
    padding: 0;
  }
  .p-hero--message::before {
    display: none;
  }
  .p-hero--message .p-hero__inner {
    padding: 13rem 2.2rem 2rem 2.2rem;
    margin-bottom: 0;
    width: 100%;
    max-width: 40rem;
    height: auto;
    min-height: unset;
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    gap: 0rem;
  }
  .p-hero--message .p-hero__inner::before {
    display: block;
    content: "";
    width: calc(100% + 4rem);
    height: 18.2rem;
    position: absolute;
    top: 9.4rem;
    left: -6rem;
  }
  .p-hero--message .p-hero__inner::after {
    display: block;
    content: "";
    width: 38rem;
    height: 19rem;
    top: unset;
    bottom: 3rem;
    left: -6rem;
  }
  .p-hero--message .p-hero__blcok {
    transform: translateX(0);
    position: unset;
  }
  .p-hero--message .p-hero__blcok--text {
    width: 100%;
  }
  .p-hero--message .p-hero__blcok--image {
    width: 23rem;
    margin-left: 13rem;
  }
  .p-hero--message .p-hero__blcok--sign {
    width: unset;
  }
  .p-hero--message .p-hero__blcok--sign.sp {
    display: block;
  }
  .p-hero--message .p-hero__blcok--sign.pc {
    display: none;
  }
  .p-hero--message .p-hero__heading {
    margin: 0 0 1.4rem;
  }
  .p-hero--message .p-hero__heading .p-hero__strong {
    font-size: 7.2rem;
    letter-spacing: 0;
  }
  .p-hero--message .p-hero__heading .p-hero__strong::first-letter {
    color: inherit;
  }
  .p-hero--message .p-hero__catch {
    padding: 0;
  }
  .p-hero--message .p-hero__blcok--sign {
    margin-top: .7rem;
  }
  .p-hero--message .p-hero__sign {
    padding: 1.2rem 2rem;
    margin-left: 0;
  }
  .p-hero--message .p-hero__sign .p-hero__par {
    font-size: 1.4rem;
  }
  .p-hero--message .p-hero__figure {
    border-radius: 1.8rem;
    width: 100%;
  }
  [data-page=message] .p-heading__top span,
  [data-page=message] .p-heading__bottom span {
    padding: .6rem 1.6rem;
  }
  [data-page=message] .p-heading__top span {
    padding-bottom: .3rem;
  }
  [data-page=message] .p-heading__bottom span {
    padding-top: .1rem;
  }
  [data-page=message] .p-part--article .p-part__section .p-part__block--text .p-part__heading .p-heading__top span {
    line-height: 1.5;
    padding: .5rem 2rem .1rem;
  }
  [data-page=message] .p-part--article .p-part__section .p-part__block--text .p-part__heading .p-heading__bottom span {
    line-height: 1.5;
    padding: .1rem 2rem .5rem;
  }
  .p-hero--interview {
    padding: 0;
    background: none;
  }
  .p-hero--interview::before {
    display: none;
  }
  .p-hero--interview .p-hero__inner {
    padding: 9rem 2.2rem 24rem 2.2rem;
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: unset;
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    gap: 0rem;
    position: relative;
  }
  .p-hero--interview .p-hero__inner::before {
    display: none;
  }
  .p-hero--interview .p-hero__blcok {
    width: 100%;
  }
  .p-hero--interview .p-hero__heading {
    margin: 0 auto 8rem auto;
  }
  .p-hero--interview .p-hero__heading .p-hero__small {
    font-size: 1.2rem;
  }
  .p-hero--interview .p-hero__heading .p-hero__strong {
    font-size: 5rem;
  }
  .p-hero--interview .p-hero__catch {
    margin-bottom: 0rem;
  }
  .p-hero--interview .p-hero__text .p-hero__par {
    font-size: 1.5rem;
  }
  .p-hero--interview .p-hero__figure {
    border-radius: 1rem;
    position: absolute;
  }
  .p-hero--interview .p-hero__figure--01 {
    width: 7.7rem;
    top: 19.7rem;
    left: 1.4rem;
  }
  .p-hero--interview .p-hero__figure--02 {
    width: 11.3rem;
    top: 17.6rem;
    right: 3rem;
  }
  .p-hero--interview .p-hero__figure--03 {
    width: 8.4rem;
    top: unset;
    bottom: 9rem;
    left: 4.4rem;
  }
  .p-hero--interview .p-hero__figure--04 {
    width: 12.7rem;
    top: unset;
    bottom: 12.2rem;
    right: 2.2rem;
  }
  .p-hero--plain {
    padding: 0;
    /* background: none; */
  }
  .p-hero--plain::before {
    display: none;
  }
  .p-hero--plain .p-hero__inner {
    padding: 10rem 2.2rem 3.6rem 2.2rem;
    width: 100%;
    max-width: 40rem;
    height: auto;
    min-height: auto;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 4rem;
    position: relative;
  }
  [data-page=contact] .p-hero--plain .p-hero__text {
    text-align: center;
  }
  .p-hero--plain .p-hero__inner::before {
    display: none;
  }
  .p-hero--plain .p-hero__heading {
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
  .p-hero--plain .p-hero__heading .p-hero__strong {
    font-size: 3rem;
  }
  .p-hero--plain .p-hero__heading .p-hero__strong::first-letter {
    color: unset;
  }
  .p-hero--plain .p-hero__heading .p-hero__small {
    font-size: 1.2rem;
  }
  .p-hero--plain .p-hero__text .p-hero__par {
    font-size: 1.4rem;
  }
  .p-hero--movie {
    padding: 0;
    height: calc(100vh - 2.3rem);
    /* background: none; */
  }
  .p-hero--movie::before {
    display: none;
  }
  .p-hero--movie .p-hero__inner {
    padding: 0 0 3.7rem 0;
    width: 100%;
    max-width: unset;
    position: relative;
  }
  .p-hero--movie .p-hero__inner::before {
    display: none;
  }
  .p-hero--movie .p-hero__titl {
    position: absolute;
    bottom: 0;
    padding: 0;
    left: 2.2rem;
    width: calc(100% - 4.8rem);
  }
  .p-hero--movie .p-hero__logo {
    width: 100%;
  }
  .p-hero--movie .p-hero__logo.animated.mv01 .p-hero__picture {
    transition: 1.1s ease-out;
  }
  .p-hero--movie .p-hero__logo.animated.mv02 .p-hero__picture {
    transition: 1.1s ease-out .25s;
  }
  .p-hero--movie .p-hero__logo.animated.mv03 .p-hero__picture {
    transition: 1.1s ease-out .5s;
  }
}
.p-heading {
  width: 100%;
  font-weight: normal;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 0.5rem;
  line-height: 1.6;
}
.p-heading--catch01 {
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 1.6;
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.p-heading--catch01 .p-heading__strong {
  font-size: 3.125rem;
  font-weight: 500;
}
.p-heading--ex01 {
  line-height: 1.4;
  gap: 1.5rem;
  justify-content: center;
  align-items: center;
  gap: 0.25rem;
}
.p-heading--ex01 .p-heading__strong {
  font-size: 5.625rem;
  font-weight: normal;
  line-height: 1.2;
  color: #17BF6D;
}
.p-heading--ex01 .p-heading__small {
  font-size: 2rem;
}
.p-heading--ex02 {
  line-height: 1.4;
  /* gap: 1.5rem; */
}
.p-heading--ex02 .p-heading__strong {
  font-size: 4.375rem;
  font-weight: 500;
}
.p-heading--ex02 .p-heading__small {
  font-size: 1.0625rem;
}
.p-heading--ex03 {
  line-height: 1.4;
  /* gap: 1rem; */
}
.p-heading--ex03 .p-heading__strong {
  font-size: 3.75rem;
  font-weight: 500;
}
.p-heading--ex03 .p-heading__small {
  font-size: 1.0625rem;
}
.p-heading--ex04 {
  line-height: 1.4;
  gap: .2rem;
}
.p-heading--ex04 .p-heading__strong {
  font-size: 3.125rem;
  font-weight: 500;
}
.p-heading--ex04 .p-heading__small {
  font-size: 1.0625rem;
  font-weight: 400;
}
.p-heading--ex05 {
  line-height: 1.4;
  gap: 1rem;
}
.p-heading--ex05 .p-heading__strong {
  font-size: 2.9375rem;
  font-weight: 500;
}
.p-heading--ex05 .p-heading__small {
  font-size: 1.1875rem;
}
.p-heading--ex06 {
  line-height: 1.4;
  gap: 1rem;
}
.p-heading--ex06 .p-heading__strong {
  font-size: 2.5rem;
}
.p-heading--ex06 .p-heading__small {
  font-size: 1.0625rem;
}
.p-heading--ex07 {
  line-height: 1.4;
  gap: 1rem;
}
.p-heading--ex07 .p-heading__strong {
  font-size: 2rem;
  font-weight: 500;
}
.p-heading--ex07 .p-heading__small {
  font-size: 0.75rem;
}
.p-heading--data {
  color: #17BF6D;
}
.p-heading--data .p-heading__strong {
  font-size: 2rem;
  font-weight: 500;
}
.p-heading--data .p-heading__small {
  font-size: 0.75rem;
}
.p-heading--point .p-heading__strong {
  font-size: 2.5rem;
}
.p-heading--point .p-heading__small {
  font-size: 1.25rem;
}
.p-heading--border01 {
  padding: 0.5rem 0.5rem 0.5rem 2.375rem;
  font-size: 1.25rem;
  color: #17BF6D;
  border-bottom: 1px dashed #17BF6D;
  position: relative;
}
.p-heading--border01::before {
  display: block;
  content: "";
  width: 15px;
  height: 100%;
  background: #17BF6D;
  position: absolute;
  bottom: -1px;
  left: 0;
  z-index: 0;
}
.p-heading--sign .p-heading__strong {
  font-size: 1.4375rem;
}
.p-heading--sign .p-heading__small {
  font-size: 0.9375rem;
}
.p-heading--h1 {
  font-size: 2.5rem;
}
.p-heading--h2 {
  font-size: 2.375rem;
}
.p-heading--h3 {
  font-size: 2.25rem;
}
.p-heading--h4 {
  font-size: 2.125rem;
}
.p-heading--h5 {
  font-size: 2rem;
}
.p-heading--h6 {
  font-size: 1.875rem;
}
.p-heading--h7 {
  font-size: 1.75rem;
}
.p-heading--h8 {
  font-size: 1.625rem;
}
.p-heading--h9 {
  font-size: 1.5rem;
}
.p-heading--h10 {
  font-size: 1.375rem;
}
.p-heading--h11 {
  font-size: 1.25rem;
}
.p-heading--h12 {
  font-size: 1.125rem;
}
.p-heading--h13 {
  font-size: 1rem;
}
.p-heading--h14 {
  font-size: 0.875rem;
}
.p-heading--h15 {
  font-size: 0.75rem;
}
.p-heading--h16 {
  font-size: 0.625rem;
}
.p-heading--h17 {
  font-size: 0.5rem;
}
.p-heading--h18 {
  font-size: 0.375rem;
}

@media screen and (max-width: 767px) {
  .p-heading {
    gap: 0.8rem;
  }
  .p-heading--catch01 {
    font-size: 2.4rem;
  }
  .p-heading--catch01 .p-heading__strong {
    font-size: 2.4rem;
  }
  .p-heading--ex01 {
    gap: 0.2rem;
  }
  .p-heading--ex01 .p-heading__strong {
    font-size: 4.5rem;
  }
  .p-heading--ex01 .p-heading__small {
    font-size: 1.6rem;
  }
  .p-heading--ex02 {
    gap: 1.2rem;
  }
  .p-heading--ex02 .p-heading__strong {
    font-size: 3.5rem;
  }
  .p-heading--ex02 .p-heading__small {
    font-size: 0.85rem;
  }
  .p-heading--ex03 {
    gap: 0rem;
  }
  .p-heading--ex03 .p-heading__strong {
    font-size: 7rem;
  }
  .p-heading--ex03 .p-heading__small {
    font-size: 1rem;
  }
  .p-heading--ex04 {
    gap: 0.8rem;
  }
  .p-heading--ex04 .p-heading__strong {
    font-size: 2.5rem;
  }
  .p-heading--ex04 .p-heading__small {
    font-size: 1rem;
  }
  .p-heading--ex05 {
    gap: 0.8rem;
  }
  .p-heading--ex05 .p-heading__strong {
    font-size: 2.35rem;
  }
  .p-heading--ex05 .p-heading__strong span {
    font-size: 2rem;
  }
  .p-heading--ex05 .p-heading__small {
    font-size: 1.2rem;
    font-weight: 600;
  }
  .p-heading--ex06 {
    gap: 0.8rem;
  }
  .p-heading--ex06 .p-heading__strong {
    font-size: 2rem;
  }
  .p-heading--ex06 .p-heading__small {
    font-size: 0.85rem;
  }
  .p-heading--ex07 {
    gap: 1.2rem;
  }
  .p-heading--ex07 .p-heading__strong {
    font-size: 2.5rem;
  }
  .p-heading--ex07 .p-heading__small {
    font-size: 1.2rem;
  }
  .p-heading--data .p-heading__strong {
    font-size: 2.4rem;
  }
  .p-heading--data .p-heading__small {
    font-size: 1rem;
  }
  .p-heading--point .p-heading__strong {
    font-size: 2rem;
  }
  .p-heading--point .p-heading__small {
    font-size: 1rem;
  }
  .p-heading--border01 {
    padding: 0.8rem 0.8rem 0.8rem 3.8rem;
    font-size: 1rem;
  }
  .p-heading--border01::before {
    width: 15px;
    height: 100%;
  }
  .p-heading--sign .p-heading__strong {
    font-size: 2.3rem;
  }
  .p-heading--sign .p-heading__small {
    font-size: 1.5rem;
  }
  .p-heading--h1 {
    font-size: 4rem;
  }
  .p-heading--h2 {
    font-size: 3.8rem;
  }
  .p-heading--h3 {
    font-size: 3.6rem;
  }
  .p-heading--h4 {
    font-size: 3.4rem;
  }
  .p-heading--h5 {
    font-size: 3.2rem;
  }
  .p-heading--h6 {
    font-size: 3rem;
  }
  .p-heading--h7 {
    font-size: 2.8rem;
  }
  .p-heading--h8 {
    font-size: 2.6rem;
  }
  .p-heading--h9 {
    font-size: 2.4rem;
  }
  .p-heading--h10 {
    font-size: 2.2rem;
  }
  .p-heading--h11 {
    font-size: 2rem;
  }
  .p-heading--h12 {
    font-size: 1.8rem;
  }
  .p-heading--h13 {
    font-size: 1.6rem;
  }
  .p-heading--h14 {
    font-size: 1.4rem;
  }
  .p-heading--h15 {
    font-size: 1.2rem;
  }
  .p-heading--h16 {
    font-size: 1rem;
  }
  .p-heading--h17 {
    font-size: 0.8rem;
  }
  .p-heading--h18 {
    font-size: 0.6rem;
  }
}
.p-link--arrow {
  padding: 1.25rem 0;
  width: 100%;
  max-width: 20rem;
  font-size: 1.25rem;
  /* border-bottom: 1px solid #707070; */
  position: relative;
  overflow: hidden;
}
.p-link--arrow::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 1px;
  z-index: 2;
  background: #707070;
  width: 100%;
  height: 1px;
  transition: transform .3s ease;
}
.p-link--arrow-white.p-link--arrow {
  border-bottom: none;
}
.p-link--arrow-white.p-link--arrow::before {
  background: #fff;
}
.u-hover--button:hover .p-link--arrow::before {
  animation: 400ms linear 0s 1 normal forwards running slide;
}
.p-link--arrow .p-link__str {
  padding-bottom: 0;
}
.p-link--arrow-white {
  border-bottom: 1px solid white;
  color: white;
}

@media screen and (max-width: 767px) {
  .p-link--arrow {
    padding: 1.2rem 0 2rem;
    width: 100%;
    max-width: 20rem;
    font-size: 1.6rem;
  }
}
.p-modal--staffinterview {
  position: fixed;
  z-index: 120;
  z-index: -120;
}
.p-modal--staffinterview .p-modal__inner {
  padding: 4.5rem;
}
.p-modal--staffinterview .p-modal__nav .p-modal__button--close {
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 3.75rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: absolute;
  background: #D1D1D1;
  position: fixed;
  top: 2.25rem;
  right: 2.5rem;
  z-index: 120;
  transition: all 0.4s;
}
.p-modal--staffinterview .p-modal__nav .p-modal__button--close .p-modal__bar {
  width: 50%;
  height: 1px;
  background: black;
}
.p-modal--staffinterview .p-modal__nav .p-modal__button--close .p-modal__bar:nth-of-type(1) {
  transform: rotate(45deg);
  transform-origin: 50% 50%;
}
.p-modal--staffinterview .p-modal__nav .p-modal__button--close .p-modal__bar:nth-of-type(2) {
  transform: rotate(-45deg);
  transform-origin: 50% 50%;
}
.p-modal--staffinterview .p-modal__nav .p-modal__button--close .p-modal__small {
  position: absolute;
  color: black;
  bottom: -1rem;
  left: 0;
  right: 0;
}
.p-modal--staffinterview .p-modal__nav .p-modal__button--close:hover {
  transform: scale(1.1, 1.1);
}
.p-modal--staffinterview .p-modal__nav .p-modal__background {
  width: 100vw;
  height: 100dvh;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 60;
  background: rgba(0, 0, 0, 0.7);
  cursor: pointer;
}
.p-modal--staffinterview .p-modal__scroll {
  padding-top: 4.1875rem;
  width: calc(100% - 2.5rem);
  max-width: 70.9375rem;
  height: 100dvh;
  overflow-y: auto;
  background: #F7F7F7;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 90;
}
.p-modal--staffinterview .p-modal__scroll::before {
  display: block;
  content: "";
  width: 100%;
  max-width: 70.9375rem;
  height: 4.1875rem;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 90;
  background: #17BF6D;
}
.p-modal--staffinterview .p-modal__header {
  background: white;
}
.p-modal--staffinterview .p-modal__header .p-modal__hero {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  position: relative;
  padding-top: 6rem;
}
.p-modal--staffinterview .p-modal__header .p-modal__block--text {
  height: fit-content;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -0.5rem;
  margin: auto;
  z-index: 30;
}
.p-modal--staffinterview .p-modal__header .p-modal__block--text .p-modal__heading {
  font-size: 2.8125rem;
  color: white;
  line-height: 2;
  background: linear-gradient(transparent 0%, #17BF6D 0%);
  display: inline;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  padding: 0.125rem 0.5rem;
  filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.2));
}
.p-modal--staffinterview .p-modal__header .p-modal__block--image {
  margin-right: 1.5rem;
  width: 100%;
  max-width: 36.625rem;
  position: relative;
  z-index: 15;
}
.p-modal--staffinterview .p-modal__header .p-modal__block--image .p-modal__figure {
  border-radius: 1.125rem;
  overflow: hidden;
}
.p-modal--staffinterview .p-modal__header .p-modal__block--image .p-part__tag {
  padding: 0.5rem 1rem;
  display: inline-block;
  font-size: 0.875rem;
  color: #17BF6D;
  background: white;
  border-radius: 1rem;
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  z-index: 15;
}
.p-modal--staffinterview .p-modal__header .p-modal__block--image .p-modal__list--tag {
  margin-top: 0.75rem;
  color: #17BF6D;
}
.p-modal--staffinterview .p-modal__header .p-modal__block--image .p-modal__list--tag .p-modal__item {
  border-color: #17BF6D;
}
.p-modal--staffinterview .p-modal__header .p-modal__catch {
  font-size: 7.1875rem;
  font-weight: bold;
  line-height: 1;
  text-align: left;
  color: #17BF6D;
  position: absolute;
  top: -4rem;
  left: -2rem;
  z-index: 0;
  opacity: 0.2;
}
.p-modal--staffinterview .p-modal__main .p-modal__inner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  gap: 8rem;
}
.p-modal--staffinterview .p-modal__main .p-modal__section {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 3rem;
}
.p-modal--staffinterview .p-modal__main .p-modal__section--r {
  flex-direction: row-reverse;
}
.p-modal--staffinterview .p-modal__main .p-modal__block--text .p-modal__heading {
  margin-bottom: 1.25rem;
  color: #17BF6D;
}
.p-modal--staffinterview .p-modal__main .p-modal__block--text .p-modal__heading.story03 {
  margin-top: 8rem;

}
.p-modal--staffinterview .p-modal__main .p-modal__block--text .p-modal__heading .p-modal__small {
  display: inline-block;
  font-size: 1.25rem;
  font-weight: normal;
}
.p-modal--staffinterview .p-modal__main .p-modal__block--text .p-modal__heading .p-modal__em {
  display: inline-block;
  font-size: 2.5rem;
  font-weight: bold;
  margin-left: 0.625rem;
}
.p-modal--staffinterview .p-modal__main .p-modal__block--text .p-modal__heading .p-modal__strong {
  margin-top: 0.625rem;
  display: block;
  font-size: 1.875rem;
  font-weight: bold;
  line-height: 1.6;
  width: 100%;
}
.p-modal--staffinterview .p-modal__main .p-modal__block--text .p-modal__text + .p-modal__heading {
  margin-top: 4.5rem;
}
.p-modal--staffinterview .p-modal__main .p-modal__block--image {
  margin-left: unset;
  margin-right: -4.5rem;
  width: calc(100% + 4.5rem);
  max-width: 25rem;
  border-radius: 1.125rem 0 0 1.125rem;
  overflow: hidden;
  flex: none;
}
.p-modal--staffinterview .p-modal__main .p-modal__block--image .p-modal__figure {
  width: 100%;
}
.p-modal--staffinterview .p-modal__main .p-modal__section--r .p-modal__block--image {
  margin-left: -4.5rem;
  margin-right: unset;
  width: calc(100% + 4.5rem);
  max-width: 25rem;
  border-radius: 0 1.125rem 1.125rem 0;
  overflow: hidden;
  flex: none;
}
.p-modal--staffinterview .p-modal__main .p-modal__section--i {
  margin-left: -4.5rem;
  margin-right: -4.5rem;
  width: calc(100% + 9rem);
}
.p-modal--staffinterview .p-modal__main .p-modal__section--i .p-modal__block--image {
  margin-left: unset;
  margin-right: unset;
  width: 100%;
  max-width: 100%;
  border-radius: 0;
  overflow: hidden;
}
.p-modal--staffinterview .p-modal__footer {
  border-radius: 4rem 4rem 0 0;
  background: #17BF6D;
}
.p-modal--staffinterview .p-modal__footer .p-modal__inner {
  padding-top: 3.125rem;
  padding-bottom: 6.25rem;
}
.p-modal--staffinterview .p-modal__footer .p-modal__heading {
  padding-bottom: 7.875rem;
  font-size: 7.875rem;
  text-align: center;
  color: white;
}
.p-modal--staffinterview .p-modal__footer .p-modal__index--notes {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 7.5rem 3.75rem;
}
.p-modal--staffinterview .p-modal__footer .p-modal__index--notes .p-modal__item {
  padding: 2.5rem 2.5rem 2.5rem 2.5rem;
  width: 100%;
  max-width: calc((100% - 3.75rem) / 2);
  border-radius: 1.875rem;
  background: white;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 1rem;
  position: relative;
}
.p-modal--staffinterview .p-modal__footer .p-modal__index--notes .p-modal__title {
  margin-top: -6.25rem;
  margin-left: -3.75rem;
  padding: 0.5rem 1.5rem 1.5rem 1.5rem;
  font-size: 1rem;
  line-height: 1;
  line-height: 1.6;
  width: calc(100% + 3.75rem);
  border-radius: 1.25rem;
  background: #FF512D;
  color: white;
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  gap: 0.5em;
  position: relative;
}
.p-modal--staffinterview .p-modal__footer .p-modal__index--notes .p-modal__title::before {
  display: block;
  content: "Q.";
  font-size: 2.25rem;
  line-height: 1;
}
.p-modal--staffinterview .p-modal__footer .p-modal__index--notes .p-modal__title::after {
  display: inline-block;
  content: "";
  width: 0;
  height: 0;
  border-left: 2.5rem solid transparent;
  border-right: 0rem solid transparent;
  border-top: 1.25rem solid #FF512D;
  position: absolute;
  bottom: -1.25rem;
  left: 3.75rem;
  margin: auto;
}
.p-modal--staffinterview .p-modal__footer .p-modal__index--notes .p-modal__item:nth-of-type(4n+1) .p-modal__title {
  background: #6E75CE;
}
.p-modal--staffinterview .p-modal__footer .p-modal__index--notes .p-modal__item:nth-of-type(4n+1) .p-modal__title::after {
  border-top-color: #6E75CE;
}
.p-modal--staffinterview .p-modal__footer .p-modal__index--notes .p-modal__item:nth-of-type(4n+2) .p-modal__title {
  background: #F67474;
}
.p-modal--staffinterview .p-modal__footer .p-modal__index--notes .p-modal__item:nth-of-type(4n+2) .p-modal__title::after {
  border-top-color: #F67474;
}
.p-modal--staffinterview .p-modal__footer .p-modal__index--notes .p-modal__item:nth-of-type(4n+3) .p-modal__title {
  background: #C1C130;
}
.p-modal--staffinterview .p-modal__footer .p-modal__index--notes .p-modal__item:nth-of-type(4n+3) .p-modal__title::after {
  border-top-color: #C1C130;
}
.p-modal--staffinterview .p-modal__footer .p-modal__index--notes .p-modal__item:nth-of-type(4n) .p-modal__title {
  background: #C69A49;
}
.p-modal--staffinterview .p-modal__footer .p-modal__index--notes .p-modal__item:nth-of-type(4n) .p-modal__title::after {
  border-top-color: #C69A49;
}
.p-modal--staffinterview .p-modal__footer .p-modal__index--notes .p-modal__text {
  flex: 1;
}
.p-modal--staffinterview .p-modal__footer .p-modal__index--notes .p-modal__figure {
  width: 100%;
  max-width: 10rem;
}
.p-modal--staffinterview .p-modal__footer .p-modal__list--notes {
  margin-top: 3.125rem;
  text-align: right;
  line-height: 1.6;
}
.p-modal--staffinterview[data-recruit-type=career] .p-modal__scroll::before {
  background: #54BABE;
}
.p-modal--staffinterview[data-recruit-type=career] .p-modal__header .p-modal__block--text .p-modal__heading {
  background: linear-gradient(transparent 0%, #54BABE 0%);
}
.p-modal--staffinterview[data-recruit-type=career] .p-modal__header .p-modal__block--image .p-part__tag {
  color: #54BABE;
}
.p-modal--staffinterview[data-recruit-type=career] .p-modal__header .p-modal__block--image .p-modal__list--tag {
  color: #54BABE;
}
.p-modal--staffinterview[data-recruit-type=career] .p-modal__header .p-modal__block--image .p-modal__list--tag .p-modal__item {
  border-color: #54BABE;
}
.p-modal--staffinterview[data-recruit-type=career] .p-modal__header .p-modal__catch {
  color: #54BABE;
}
.p-modal--staffinterview[data-recruit-type=career] .p-modal__main .p-modal__block--text .p-modal__heading {
  color: #54BABE;
}
.p-modal--staffinterview[data-recruit-type=career] .p-modal__footer {
  background: #54BABE;
}
.p-modal--staffinterview[data-recruit-type=senior] .p-modal__scroll::before {
  background: #F77474;
}
.p-modal--staffinterview[data-recruit-type=senior] .p-modal__scroll .p-modal__item:nth-of-type(4n+2) .p-modal__title {
  background: #54BABE;
}
.p-modal--staffinterview[data-recruit-type=senior] .p-modal__scroll .p-modal__item:nth-of-type(4n+2) .p-modal__title::after {
  border-top-color: #54BABE;
}
.p-modal--staffinterview[data-recruit-type=senior] .p-modal__header .p-modal__block--text .p-modal__heading {
  background: linear-gradient(transparent 0%, #F77474 0%);
}
.p-modal--staffinterview[data-recruit-type=senior] .p-modal__header .p-modal__block--image .p-part__tag {
  color: #F77474;
}
.p-modal--staffinterview[data-recruit-type=senior] .p-modal__header .p-modal__block--image .p-modal__list--tag {
  color: #F77474;
}
.p-modal--staffinterview[data-recruit-type=senior] .p-modal__header .p-modal__block--image .p-modal__list--tag .p-modal__item {
  border-color: #F77474;
}
.p-modal--staffinterview[data-recruit-type=senior] .p-modal__header .p-modal__catch {
  color: #F77474;
}
.p-modal--staffinterview[data-recruit-type=senior] .p-modal__main .p-modal__block--text .p-modal__heading {
  color: #F77474;
}
.p-modal--staffinterview[data-recruit-type=senior] .p-modal__footer {
  background: #F77474;
}
.p-modal--staffinterview[data-recruit-type=beginner] .p-modal__scroll::before {
  background: #17BF6D;
}
.p-modal--staffinterview[data-recruit-type=beginner] .p-modal__header .p-modal__block--text .p-modal__heading {
  background: linear-gradient(transparent 0%, #17BF6D 0%);
}
.p-modal--staffinterview[data-recruit-type=beginner] .p-modal__header .p-modal__block--image .p-part__tag {
  color: #17BF6D;
}
.p-modal--staffinterview[data-recruit-type=beginner] .p-modal__header .p-modal__block--image .p-modal__list--tag {
  color: #17BF6D;
}
.p-modal--staffinterview[data-recruit-type=beginner] .p-modal__header .p-modal__block--image .p-modal__list--tag .p-modal__item {
  border-color: #17BF6D;
}
.p-modal--staffinterview[data-recruit-type=beginner] .p-modal__header .p-modal__catch {
  color: #17BF6D;
}
.p-modal--staffinterview[data-recruit-type=beginner] .p-modal__main .p-modal__block--text .p-modal__heading {
  color: #17BF6D;
}
.p-modal--staffinterview[data-recruit-type=beginner] .p-modal__footer {
  background: #17BF6D;
}
.p-modal--staffinterview[data-recruit-type=fresh] .p-modal__scroll::before {
  background: #EF9C00;
}
.p-modal--staffinterview[data-recruit-type=fresh] .p-modal__header .p-modal__block--text .p-modal__heading {
  background: linear-gradient(transparent 0%, #EF9C00 0%);
}
.p-modal--staffinterview[data-recruit-type=fresh] .p-modal__header .p-modal__block--image .p-part__tag {
  color: #EF9C00;
}
.p-modal--staffinterview[data-recruit-type=fresh] .p-modal__header .p-modal__block--image .p-modal__list--tag {
  color: #EF9C00;
}
.p-modal--staffinterview[data-recruit-type=fresh] .p-modal__header .p-modal__block--image .p-modal__list--tag .p-modal__item {
  border-color: #EF9C00;
}
.p-modal--staffinterview[data-recruit-type=fresh] .p-modal__header .p-modal__catch {
  color: #EF9C00;
}
.p-modal--staffinterview[data-recruit-type=fresh] .p-modal__main .p-modal__block--text .p-modal__heading {
  color: #EF9C00;
}
.p-modal--staffinterview[data-recruit-type=fresh] .p-modal__footer {
  background: #EF9C00;
}
.p-modal--staffinterview .p-modal__nav .p-modal__button--close {
  opacity: 0;
}
.p-modal--staffinterview .p-modal__nav .p-modal__background {
  opacity: 0;
}
.p-modal--staffinterview .p-modal__scroll {
  transition: all 0.5s;
  right: -100vw;
}
.p-modal--staffinterview .p-modal__scroll::before {
  transition: all 0.5s;
  right: -100vw;
}
@keyframes animationModalScroll {
  0% {
    right: -100vw;
  }
  100% {
    right: 0;
  }
}
@keyframes animationModalNav {
  0% {
    opacity: 0;
    z-index: -60;
  }
  50% {
    opacity: 0;
    z-index: 60;
  }
  100% {
    opacity: 1;
    z-index: 60;
  }
}
.p-modal--staffinterview.is-modal-show {
  z-index: 120;
}
.p-modal--staffinterview.is-modal-show .p-modal__nav .p-modal__button--close {
  opacity: 1;
  z-index: 150;
  transition: all 0.5s 1s;
}
.p-modal--staffinterview.is-modal-show .p-modal__nav .p-modal__background {
  animation: animationModalNav forwards 0.5s ease 0s normal;
}
.p-modal--staffinterview.is-modal-show .p-modal__scroll {
  animation: animationModalScroll forwards 0.5s ease 0.5s normal;
  overflow-x: hidden;
  overflow-y: scroll;
}
.p-modal--staffinterview.is-modal-show .p-modal__scroll::before {
  animation: animationModalScroll forwards 0.5s ease 0.5s normal;
}
.p-modal--staffinterview.is-modal-hide {
  opacity: 0;
  transition: all 0.5s;
}
@media screen and (max-width: 767px) {
  .p-modal--staffinterview .p-modal__inner {
    padding: 2.2rem;
  }
  .p-modal--staffinterview .p-modal__nav .p-modal__button--close {
    width: 6rem;
    height: 6rem;
    border-radius: 6rem;
    position: fixed;
    top: 1.6rem;
    right: 2.2rem;
  }
  .p-modal--staffinterview .p-modal__nav .p-modal__button--close .p-modal__small {
    bottom: -1.6rem;
  }
  .p-modal--staffinterview .p-modal__nav .p-modal__background {
    width: 100vw;
    height: 100dvh;
  }
  .p-modal--staffinterview .p-modal__scroll {
    padding-top: 3.2rem;
    width: calc(100% - 4rem);
    max-width: 113.5rem;
    height: 100dvh;
  }
  .p-modal--staffinterview .p-modal__scroll::before {
    display: block;
    content: "";
    width: 100%;
    max-width: 113.5rem;
    height: 3.2rem;
  }
  .p-modal--staffinterview .p-modal__header .p-modal__hero {
    padding-top: 5.6rem;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    gap: 1.6rem;
    position: relative;
    overflow: hidden;
  }
  .p-modal--staffinterview .p-modal__header .p-modal__block--text {
    width: 100%;
    height: auto;
    position: unset;
    top: unset;
    bottom: unset;
    left: unset;
  }
  .p-modal--staffinterview .p-modal__header .p-modal__block--text .p-modal__heading {
    font-size: 2.4rem;
    padding: 0.2rem 0.8rem;
  }
  .p-modal--staffinterview .p-modal__header .p-modal__block--image {
    margin-right: 0;
    width: 100%;
    max-width: unset;
  }
  .p-modal--staffinterview .p-modal__header .p-modal__block--image .p-modal__figure {
    border-radius: 1.8rem;
  }
  .p-modal--staffinterview .p-modal__header .p-modal__block--image .p-part__tag {
    padding: 0.4rem 0.8rem;
    font-size: 1rem;
    border-radius: 1.6rem;
    position: absolute;
    top: 0.8rem;
    left: 0.8rem;
  }
  .p-modal--staffinterview .p-modal__header .p-modal__block--image .p-modal__list--tag {
    margin-top: 1.2rem;

    max-width: 29rem;
    width: 100%;
  }
  .p-modal--staffinterview .p-modal__header .p-modal__catch {
    font-size: 4.6rem;
    position: absolute;
    top: 0rem;
    left: 0rem;
    white-space: nowrap;
  }
  .p-modal--staffinterview .p-modal__main .p-modal__inner {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    gap: 7.2rem;
  }
  .p-modal--staffinterview .p-modal__main .p-modal__block--text .p-modal__heading.story03 {
    margin-top: 7.2rem;
  }
  .p-modal--staffinterview .p-modal__main .p-modal__section {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 3.6rem;
  }
  .p-modal--staffinterview .p-modal__main .p-modal__section--r {
    flex-direction: column;
  }
  .p-modal--staffinterview .p-modal__main .p-modal__block--text .p-modal__heading {
    margin-bottom: 2.4rem;
  }
  .p-modal--staffinterview .p-modal__main .p-modal__block--text .p-modal__heading .p-modal__small {
    font-size: 2rem;
  }
  .p-modal--staffinterview .p-modal__main .p-modal__block--text .p-modal__heading .p-modal__em {
    font-size: 4rem;
    margin-left: 1rem;
  }
  .p-modal--staffinterview .p-modal__main .p-modal__block--text .p-modal__heading .p-modal__strong {
    margin-top: 1rem;
    font-size: 2.4rem;
    line-height: 1.4;
  }
  .p-modal--staffinterview .p-modal__main .p-modal__block--text .p-modal__text + .p-modal__heading {
    margin-top: 3.6rem;
  }
  .p-modal--staffinterview .p-modal__main .p-modal__section--l .p-modal__block--image {
    margin: 2.5rem -2.2rem 6rem 6rem;
    width: calc(100% + 2.2rem);
    max-width: calc(100% + 2.2rem);
    border-radius: 1.8rem 0 0 1.8rem;
  }
  .p-modal--staffinterview .p-modal__main .p-modal__section--r .p-modal__block--image {
    margin-left: -2.2rem;
    margin-right: 0;
    width: calc(100% + 2.2rem);
    max-width: calc(100% + 2.2rem);
    border-radius: 0 1.8rem 1.8rem 0;
    margin-right: 6rem;
  }
  .p-modal--staffinterview .p-modal__main .p-modal__section--i {
    margin-left: -2.2rem;
    margin-right: -2.2rem;
    width: calc(100% + 4.4rem);
  }
  .p-modal--staffinterview .p-modal__footer {
    margin-top: 4rem;
    border-radius: 4.6rem 4.6rem 0 0;
    background: #17BF6D;
  }
  .p-modal--staffinterview .p-modal__footer .p-modal__inner {
    padding: 3.6rem 2.2rem;
  }
  .p-modal--staffinterview .p-modal__footer .p-modal__heading {
    padding-bottom: 7.2rem;
    font-size: 5rem;
  }
  .p-modal--staffinterview .p-modal__footer .p-modal__index--notes {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 6rem;
  }
  .p-modal--staffinterview .p-modal__footer .p-modal__index--notes .p-modal__item {
    padding: 2.2rem;
    width: 100%;
    max-width: 100%;
    border-radius: 3rem;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 1.6rem;
  }
  .p-modal--staffinterview .p-modal__footer .p-modal__index--notes .p-modal__title {
    margin-top: -5rem;
    margin-left: -2.2rem;
    margin-right: -2.2rem;
    padding: 0.8rem 1.6rem 1.6rem 1.6rem;
    font-size: 1.4rem;
    width: calc(100% + 4.4rem);
    max-width: calc(100% + 4.4rem);
    border-radius: 2rem;
  }
  .p-modal--staffinterview .p-modal__footer .p-modal__index--notes .p-modal__title::before {
    font-size: 3rem;
  }
  .p-modal--staffinterview .p-modal__footer .p-modal__index--notes .p-modal__title::after {
    border-left: 2rem solid transparent;
    border-right: 0rem solid transparent;
    border-top-width: 1rem;
    position: absolute;
    bottom: -1rem;
    left: 3rem;
  }
  .p-modal--staffinterview .p-modal__footer .p-modal__index--notes .p-modal__figure {
    width: 100%;
    max-width: 16rem;
  }
  .p-modal--staffinterview .p-modal__footer .p-modal__list--notes {
    margin-top: 2rem;
    text-align: left;
  }
}
.p-pager {
  padding: 5rem 0 2.5rem 0;
  /* border-top: 1px solid #CCCCCC; */
}
.p-pager .p-pager__heading {
  margin-bottom: 2.5rem;
}
.p-pager .p-pager__heading--next {
  margin-bottom: -2.5rem;
}
.p-pager .p-pager__heading--next .p-heading__strong {
  font-weight: 400;
}
.p-pager .p-pager__list {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 6.25rem;
}
.p-pager .p-pager__list .p-pager__item {
  width: calc((100% - 12.5rem) / 3);
}
.p-pager .p-pager__list .p-pager__anchor {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column-reverse;
  gap: 1.25rem;
}
.p-pager .p-pager__list .p-pager__anchor > * {
  width: 100%;
}
.p-pager .p-pager__list .p-pager__guide {
  width: inherit;
}
.p-pager .p-pager__list .p-pager__guide .p-pager__link {
  width: 100%;
  max-width: 20rem;
}
.p-pager .p-pager__list .p-pager__visual {
  width: 100%;
  max-width: 18.125rem;
  border-radius: 1.125rem;
  overflow: hidden;
}
.p-pager .p-pager__list--column .p-pager__item {
  width: 100%;
}
.p-pager .p-pager__list--column .p-pager__anchor {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-direction: row;
}
.p-pager .p-pager__list--column .p-pager__guide {
  margin-top: auto;
  width: inherit;
}
.p-pager .p-pager__list--column .p-pager__visual {
  width: 18.125rem;
  height: 10.625rem;
  border-radius: 1.125rem;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: stretch;
}
.p-pager .p-pager__list--column .p-pager__visual .p-pager__figure {
  width: 100%;
  height: 100%;
}
.p-pager .p-pager__list--column .p-pager__visual .p-pager__picture {
  width: 100%;
  height: 100%;
}
.p-pager .p-pager__list--column .p-pager__visual .p-pager__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

@media screen and (max-width: 767px) {
  .p-pager {
    padding: 6rem 0 2.2rem 0;
  }
  .p-pager .p-pager__inner {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    max-width: calc(100% - 4.4rem);
  }
  [data-page=project] .p-pager .p-pager__inner {
    padding: 0;
  }
  .p-pager .p-pager__heading {
    margin-bottom: 3.2rem;
  }
  .p-pager .p-pager__heading--next {
    margin-bottom: 2rem;
  }
  .p-pager .p-pager__list {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 5rem;
  }
  .p-pager .p-pager__list .p-pager__item {
    width: 100%;
  }
  .p-pager .p-pager__list .p-pager__anchor {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column-reverse;
    gap: 0.8rem;
  }
  .p-pager .p-pager__list .p-pager__anchor > * {
    width: 100%;
  }
  .p-pager .p-pager__list .p-pager__guide .p-pager__link {
    width: 100%;
    max-width: 100%;
  }
  .p-pager .p-pager__list .p-pager__visual {
    width: 100%;
    max-width: 100%;
    border-radius: 1.8rem;
    overflow: hidden;
  }
  .p-pager .p-pager__list--column .p-pager__anchor {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column-reverse;
    gap: 0.8rem;
  }
  .p-pager .p-pager__list--column .p-pager__guide {
    width: 100%;
  }
  .p-pager .p-pager__list--column .p-pager__guide .p-pager__link {
    width: 100%;
    max-width: 100%;
  }
  .p-pager .p-pager__list--column .p-pager__visual {
    width: 100%;
    max-width: 100%;
    height: unset;
    border-radius: 1.8rem;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: stretch;
  }
  .p-pager .p-pager__list--column .p-pager__visual .p-pager__figure {
    width: 100%;
    height: 100%;
  }
  .p-pager .p-pager__list--column .p-pager__visual .p-pager__picture {
    width: 100%;
    height: 100%;
  }
  .p-pager .p-pager__list--column .p-pager__visual .p-pager__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
  }
}
.p-part--intro {
  background: linear-gradient(0deg, rgb(77, 232, 155) 0%, rgb(26, 191, 109) 100%);
  color: #FFFFFF;
}
.p-part--intro .p-part__inner {
  margin: 0 auto;
  padding: 4.5rem 2.5rem 0 2.5rem;
  /* padding: 3.125rem 1.2rem 0 2.5rem; */
  width: 100%;
  /* max-width: 72.5rem; */
  max-width: 75rem;
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  position: relative;
}
.p-part--intro .p-part__animation {
  display: block;
  width: 49.5rem;
  height: 49.5rem;
  position: absolute;
  top: 7.5rem;
  right: 4rem;
  z-index: 0;
  margin: auto;
  opacity: .4;
}
.p-part--intro .p-part__block {
  position: relative;
  z-index: 15;
}
.p-part--intro .p-part__block--text {
  padding: 7.5rem 0;
  /* width: calc(100% - 25.4375rem); */
  width: calc(100% - 34rem);
}
.p-part--intro .p-part__block--text .p-part__heading {
  margin-bottom: 3.75rem;
}
.p-part--intro .p-part__block--slider {
  /* width: 25.4375rem; */
  width: 24rem;
  margin-left: 10rem;
  position: relative;
  overflow: hidden;
}
.p-part--intro .p-part__block--slider .p-part__splide {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 3;
}
.p-part--intro .p-part__block--slider .p-part__figure {
  overflow: hidden;
  border-radius: 1.125rem;
}
.p-part--company .p-part__inner {
  margin: 0 auto;
  padding: 5rem 2.5rem;
  width: 100%;
  max-width: 72.5rem;
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  position: relative;
}
.p-part--company .p-part__block {
  position: relative;
  z-index: 15;
}
.p-part--company .p-part__block--text {
  width: calc(100% - 25.4375rem);
  min-height: 29.375rem;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
.p-part--company .p-part__block--text .p-part__heading {
  margin-bottom: 3.75rem;
  width: 100%;
}
.p-part--company .p-part__block--text .p-part__list {
  margin-top: auto;
  width: -webkit-fill-available;
}
.p-part--company .p-part__block--slider {
  width: 25.4375rem;
  height: 29.375rem;
  z-index: 0;
}
.p-part--company .p-part__block--slider.u-switch--pc {
  display: block;
}
.p-part--company .p-part__block--slider .p-part__list {
  position: relative;
}
.p-part--company .p-part__block--slider .p-part__item {
  position: absolute;
  top: 0;
  left: 0;
}
.p-part--company .p-part__block--slider .p-part__item:first-of-type {
  z-index: 10;
}
.p-part--company .p-part__block--slider .p-part__figure {
  overflow: hidden;
  border-radius: 1.125rem;
}
.p-part--company .p-part__block--slider .p-part__img {
  width: 25.4375rem;
  height: 29.375rem;
  object-fit: cover;
}
.p-part--company[data-switch-hover-select="1"] [data-switch-hover-target="1"], .p-part--company[data-switch-hover-select="2"] [data-switch-hover-target="2"], .p-part--company[data-switch-hover-select="3"] [data-switch-hover-target="3"], .p-part--company[data-switch-hover-select="4"] [data-switch-hover-target="4"], .p-part--company[data-switch-hover-select="5"] [data-switch-hover-target="5"] {
  z-index: 15;
}
.p-part--business {
  background: linear-gradient(0deg, rgb(42, 113, 145) 0%, rgb(3, 176, 149) 100%);
  color: #FFFFFF;
  overflow: hidden;
}
.p-part--business .p-part__inner {
  margin: 0 auto;
  padding: 5rem 2.5rem 8.75rem 2.5rem;
  width: 100%;
  max-width: 72.5rem;
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  position: relative;
}

.p-part--business .p-part__animation {
  width: 50rem;
  height: 50rem;
  perspective: 100rem;
  position: absolute;
  top: -5rem;
  left: 50%;
  transform: translateX(-50%);
  margin-left: 17rem;
  z-index: 0;
}

.p-part--business .p-part__block--text {
  width: 100%;
  position: relative;
}
.p-part--business .p-part__block--text .p-part__heading {
  margin-bottom: 2rem;
}
.p-part--business .p-part__block--text .p-part__text {
  margin-bottom: 4.5rem;
  width: 100%;
  max-width: 31.25rem;
}
.p-part--business .p-part__block--card {
  width: 100%;
  position: relative;
}
.p-part--interview {
  background: linear-gradient(to bottom, rgb(77, 232, 155, 0) 0%, rgb(26, 191, 109, 1) 100%) !important;
  overflow: hidden;
}
.p-part--interview .p-part__inner {
  margin: 0 auto;
  padding: 7.5rem 2.5rem 20rem 2.5rem;
  width: 100%;
  max-width: 72.5rem;
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  position: relative;
}
.p-part--interview .p-part__block--text {
  width: 100%;
  position: relative;
}
.p-part--interview .p-part__block--text .p-part__heading {
  margin-bottom: 1.5rem;
}
.p-part--interview .p-part__block--text .p-part__text {
  margin-bottom: 2rem;
  width: 100%;
  max-width: 21.25rem;
}
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-58.375rem);
  }
}
@keyframes infinity-scroll-right {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-43.5rem);
  }
}
.p-part--interview .p-part__block--slider {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  transform: rotate(-45deg) translate(-50%, 50%);
}
@keyframes partSlide01 {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -302.875rem 0;
  }
}
@keyframes partSlide02 {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 242.375rem 0;
  }
}
.p-part--interview .p-part__block--slider .p-part__slider--01 {
  width: 302.875rem;
  height: 13.828125rem;
  background: url(../img/top/interview_slide01_img01.png) repeat-x 50% 50%;
  background-size: 75.71875rem;
  animation: partSlide01 160s linear infinite;
}
.p-part--interview .p-part__block--slider .p-part__slider--02 {
  margin-top: 1.25rem;
  width: 242.375rem;
  height: 13.828125rem;
  background: url(../img/top/interview_slide01_img02.png) repeat-x 50% 50%;
  background-size: 60.59375rem;
  animation: partSlide02 160s linear infinite;
}
.p-part--contentsbanner .p-part__inner {
  margin: 0 auto;
  padding: 3.375rem 2.5rem;
  width: 100%;
  max-width: 72.5rem;
}
.p-part--contentsbanner .p-part__list--entrance > .p-part__item {
  width: 100%;
  height: 31.25rem;
  border-radius: 1.25rem;
  overflow: hidden;
  color: white;
  position: relative;
}
.p-part--contentsbanner .p-part__list--entrance > .p-part__item .p-part__link {
  border-color: white;
}
.p-part--contentsbanner .p-part__list--entrance > .p-part__item .p-part__anchor {
  padding: 2.25rem 3.375rem 3.375rem 3.375rem;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
.p-part--contentsbanner .p-part__list--entrance > .p-part__item .p-part__anchor > * {
  width: 100%;
}
.p-part--contentsbanner .p-part__list--entrance > .p-part__item .p-part__heading {
  margin-bottom: 1.5rem;
  position: relative;
  z-index: 15;
}
.p-part--contentsbanner .p-part__list--entrance > .p-part__item .p-part__list {
  position: relative;
  z-index: 15;
}
.p-part--contentsbanner .p-part__list--entrance > .p-part__item .p-part__figure {
  width: 100%;
  height: 31.25rem;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 0;
  margin: auto;
}
.p-part--contentsbanner .p-part__list--entrance > .p-part__item .p-part__source,
.p-part--contentsbanner .p-part__list--entrance > .p-part__item .p-part__img {
  aspect-ratio: 960/500;
  object-fit: cover;
  transition: all 0.4s;
}
.p-part--contentsbanner .p-part__list--entrance > .p-part__item .p-part__anchor:hover .p-part__source,
.p-part--contentsbanner .p-part__list--entrance > .p-part__item .p-part__anchor:hover .p-part__img {
  transform: scale(1.1, 1.1);
}
.p-part--column .p-part__inner {
  margin: 0 auto;
  padding: 7.5rem 2.5rem;
  width: 100%;
  max-width: 72.5rem;
  min-height: 39.6875rem;
  position: relative;
}
.p-part--column .p-part__heading {
  margin-bottom: 1.5rem;
  position: relative;
  z-index: 15;
}
.p-part--column .p-part__text {
  position: relative;
  z-index: 15;
}
.p-part--column .p-part__figure {
  width: 39.6875rem;
  height: 39.6875rem;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2.5rem;
  z-index: 0;
  margin: auto;
}
.p-part--column .p-part__source,
.p-part--column .p-part__img {
  aspect-ratio: 1/1;
  object-fit: cover;
}
.p-part--facility {
  background: linear-gradient(0deg, rgb(42, 113, 145) 0%, rgb(23, 191, 109) 100%) !important;
  color: #FFFFFF;
  overflow: hidden;
}
.p-part--facility .p-part__inner {
  margin: 0 auto;
  padding: 10rem 2.5rem 7.5rem 2.5rem;
  width: 100%;
  max-width: 72.5rem;
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  position: relative;
}
.p-part--facility .p-part__section--column {
  margin-bottom: 8.375rem;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-self: flex-start;
  flex-direction: column;
  gap: 8.375rem;
}
.p-part--facility .p-part__section--column .p-part__item {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-self: stretch;
  gap: 2rem;
}
.p-part--facility .p-part__section--column .p-part__block {
  border-radius: 1.125rem;
  overflow: hidden;
}
.p-part--facility .p-part__section--column .p-part__block--image {
  width: calc(100% - 34.5rem);
}
.p-part--facility .p-part__section--column .p-part__block--image .p-part__figure {
  width: 100%;
  height: 100%;
}
.p-part--facility .p-part__section--column .p-part__block--image .p-part__picture {
  width: 100%;
  height: 100%;
}
.p-part--facility .p-part__section--column .p-part__block--image .p-part__source,
.p-part--facility .p-part__section--column .p-part__block--image .p-part__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-part--facility .p-part__section--column .p-part__block--text {
  padding: 2.5rem 3.75rem;
  width: 32.5rem;
  background: rgba(255, 255, 255, 0.18);
}
.p-part--facility .p-part__section--column .p-part__block--text .p-part__heading {
  margin-bottom: 1.25rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid white;
}
.p-part--facility .p-part__section--row {
  width: 100%;
}
.p-part--facility .p-part__section--row .p-part__block--text .p-part__heading {
  margin-bottom: 1.25rem;
}
.p-part--facility .p-part__section--row .p-part__block--image {
  margin-top: 2.375rem;
  border-radius: 1.125rem;
  overflow: hidden;
}
.p-part--available .p-part__inner {
  margin: 0 auto;
  padding: 7.5rem 2.5rem;
  width: 100%;
  max-width: 72.5rem;
  position: relative;
}
.p-part--available .p-part__block--heading {
  margin-bottom: 4rem;
}
.p-part--available .p-part__block--grid .p-part__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 5rem;
  grid-row-gap: 6.25rem;
}
.p-part--available .p-part__block--grid .p-part__grid .p-part__item--1 {
  grid-area: 1/1/2/2;
}
.p-part--available .p-part__block--grid .p-part__grid .p-part__item--2 {
  grid-area: 1/2/2/3;
}
.p-part--available .p-part__block--grid .p-part__grid .p-part__item--3 {
  grid-area: 1/3/2/4;
}
.p-part--available .p-part__block--grid .p-part__grid .p-part__item--4 {
  grid-area: 2/3/3/4;
}
.p-part--available .p-part__block--grid .p-part__grid .p-part__item--5 {
  grid-area: 2/1/3/3;
}
.p-part--available .p-part__block--grid .p-part__grid .p-part__item--icon .p-part__figure {
  margin: 0 auto;
  padding: 1rem 1rem 1rem 1rem;
  border-radius: 1.5rem;
  filter: drop-shadow(0 0 4px rgba(23, 191, 109, 0.2));
  background: white;
  color: #17BF6D;
  overflow: hidden;
  width: calc(100% - 2rem);
  height: 100%;
  max-height: 13.875rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 0.75rem;
  overflow: visible;
}
.p-part--available .p-part__block--grid .p-part__grid .p-part__item--icon .p-part__figure .p-part__picture {
  margin: 0 auto;
  width: 7.5rem;
  height: 7.5rem;
}
.p-part--available .p-part__block--grid .p-part__grid .p-part__item--icon .p-part__figure .p-part__figcaption {
  font-size: 1.5rem;
  text-align: center;
  line-height: 1.2;
}
.p-part--available .p-part__block--grid .p-part__grid .p-part__item--icon .p-part__text {
  padding: 1.5rem 0.75rem 0 0.75rem;
  color: #17BF6D;
  line-height: 1.4;
}
.p-part--available .p-part__block--grid .p-part__grid .p-part__item--icon .p-part__par {
  line-height: inherit;
}
.p-part--available .p-part__block--grid .p-part__grid .p-part__item--movie .p-part__video {
  width: 100%;
  height: auto;
}
.p-part--results .p-part__inner {
  margin: 0 auto;
  padding: 7.5rem 2.5rem;
  width: 100%;
  max-width: 72.5rem;
  position: relative;
}
.p-part--results .p-part__section + .p-part__section {
  margin-top: 7.5rem;
}
.p-part--results .p-part__block--list {
  margin: 3.5rem 1.5rem 0 3.875rem;
}
.p-part--results .p-part__block--list .p-part__list {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 2rem;
}
.p-part--results .p-part__block--list .p-part__item {
  width: calc((100% - 2rem) / 2);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1rem;
}
.p-part--results .p-part__block--list .p-part__item .p-part__figure {
  margin: 0.75rem;
  padding: 0.75rem;
  border-radius: 0.75rem;
  filter: drop-shadow(0 0 4px rgba(23, 191, 109, 0.2));
  background: white;
  color: #17BF6D;
  overflow: hidden;
  width: 8.5rem;
  height: 6.375rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 0.5rem;
  overflow: visible;
}
.p-part--results .p-part__block--list .p-part__item .p-part__img {
  width: 5.5rem;
  height: auto;
}
.p-part--results .p-part__block--list .p-parts__text {
  width: calc(100% - 9.5rem);
}
.p-part--results .p-part__block--list .p-parts__text .p-parts__par {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  gap: 0.5rem;
  font-size: 1rem;
  line-height: 1.4;
}
.p-part--results .p-part__block--list .p-parts__text .p-parts__par .p-part__small {
  color: #17BF6D;
}
.p-part--policy .p-part__inner {
  margin: 0 auto;
  padding: 7.5rem 2.5rem;
  width: 100%;
  max-width: 72.5rem;
  position: relative;
}
.p-part--message {
  display: flex;
  justify-content: center;
  align-items: stretch;
  position: relative;
}
.p-part--message::before {
  display: block;
  content: "";
  width: 100%;
  max-width: 71rem;
  background: linear-gradient(0deg, rgb(42, 113, 145) 0%, rgb(23, 191, 109) 100%);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  transform: translateX(-2.75rem);
}
.p-part--message .p-part__inner {
  margin: 0 auto;
  padding: 4.5rem 2.5rem;
  width: 100%;
  max-width: 72.5rem;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 4.5rem;
}
.p-part--message .p-part__block--text {
  width: 27.25rem;
  color: #fff;
}
.p-part--message .p-part__block--text .p-part__par {
  font-size: 1.125rem;
  line-height: 2;
}
.p-part--message .p-part__block--text .p-part__heading {
  margin-top: 2rem;
}
.p-part--message .p-part__block--text .p-part__list {
  margin-top: 2rem;
}
.p-part--message .p-part__block--image {
  width: calc(100% - 29.5rem);
  max-width: 37.5rem;
  border-radius: 1.125rem;
  overflow: hidden;
  transform: translate(2.5rem, -7.5rem);
}
[data-page=message] .p-heading--ex07 .p-heading__strong {
  display: block;
  font-weight: 400;
}
.p-part--outline .p-part__inner {
  margin: 0 auto;
  padding: 6.25rem 2.5rem;
  width: 100%;
  max-width: 72.5rem;
  position: relative;
}
.p-part--outline .p-part__section + .p-part__section {
  margin-top: 10rem;
}
.p-part--outline .p-part__block--table .p-part__dl {
  margin-top: 2rem;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 0 1.875rem;
  border-top: 1px solid #17BF6D;
  border-bottom: 1px solid #17BF6D;
}
.p-part--outline .p-part__block--table .p-part__dt {
  padding: 1rem 0;
  width: 15rem;
  border-bottom: 1px solid #17BF6D;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.p-part--outline .p-part__block--table .p-part__dt:last-of-type {
  border-bottom: none;
}
.p-part--outline .p-part__block--table .p-part__dt .p-part__dt_logo {
  margin-bottom: 0.625rem;
}
.p-part--outline .p-part__block--table .p-part__dt .p-part__dt_logo .p-part__source,
.p-part--outline .p-part__block--table .p-part__dt .p-part__dt_logo .p-part__img {
  width: auto;
  height: 2.5rem;
  /* object-fit: contain; */
}
.p-part--outline .p-part__block--table .p-part__dt .p-part__dt_par {
  font-size: 1.0625rem;
  font-weight: bold;
  line-height: 1.6;
  text-align: center;
  color: #17BF6D;
}
.p-part--outline .p-part__block--table .p-part__dt .p-part__dt_logo {
  display: inline-block;
}
.p-part--outline .p-part__block--table .p-part__dt .p-part__left .p-part__dt_par {
  text-align: left;
}
.p-part--outline .p-part__block--table .p-part__dd {
  padding: 1rem 0;
  width: calc(100% - 16.875rem);
  border-bottom: 1px solid #D8D8D8;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.875rem;
}
.p-part--outline .p-part__block--table .p-part__dd:last-of-type {
  border-bottom: none;
}
.p-part--outline .p-part__block--table .p-part__dd .p-part__dd_image {
  width: 15.625rem;
  border-radius: 1.125rem;
  overflow: hidden;
}
.p-part--outline .p-part__block--table .p-part__dd .p-part__dd_par {
  font-size: 1rem;
  line-height: 1.7;
}
.p-part--outline .p-part__block--table .p-part__dd .p-part__dd_par + .p-part__dd_par {
  margin-top: 1em;
}
.p-part--outline .p-part__block--table .p-part__dd .p-part__dd_gmap {
  margin-top: 0.5em;
  color: #17BF6D;
  text-decoration: underline;
}
.p-part--histry {
  background: linear-gradient(0deg, rgb(55, 93, 144) 0%, rgb(3, 176, 149) 100%);
  color: white;
  position: relative;
}
.p-part--histry::before {
  display: block;
  content: "";
  height: 100%;
  width: 1px;
  background: white;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.p-part--histry .p-part__inner {
  margin: 0 auto;
  padding: 3.75rem 2.5rem 31.25rem 2.5rem;
  width: 100%;
  max-width: 72.5rem;
  position: relative;
}
.p-part--histry .p-part__block--heading {
  position: relative;
  z-index: 15;
}
.p-part--histry .p-part__block--table {
  width: 100%;
  position: relative;
  z-index: 15;
  margin-top: 5rem;
}
.p-part--histry .p-part__block--table .p-part__table {
  margin: 0 1rem;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 9rem;
  transform: translateY(-8%);
}
.p-part--histry .p-part__block--table .p-part__table::before {
  display: block;
  content: "";
}
.p-part--histry .p-part__block--table .p-part__item {
  width: 100%;
  max-width: calc((100% - 9rem) / 2);
  position: relative;
}
.p-part--histry .p-part__block--table .p-part__item > div::before {
  display: block;
  content: "";
  width: 4.5rem;
  height: 1px;
  background: white;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
.p-part--histry .p-part__block--table .p-part__item > div::after {
  display: block;
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 0.75rem;
  background: white;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
.p-part--histry .p-part__block--table .p-part__item:nth-of-type(even) {
  transform: translateY(-50%);
}
.p-part--histry .p-part__block--table .p-part__item:nth-of-type(even) > div::before {
  left: 100%;
}
.p-part--histry .p-part__block--table .p-part__item:nth-of-type(even) > div::after {
  left: calc(100% + 4.125rem);
}
.p-part--histry .p-part__block--table .p-part__item:nth-of-type(odd) {
  transform: translateY(50%);
}
.p-part--histry .p-part__block--table .p-part__item:nth-of-type(odd) > div::before {
  right: 100%;

}
.p-part--histry .p-part__block--table .p-part__item:nth-of-type(odd) > div::after {
  right: calc(100% + 4.125rem);
}
.p-part--histry .p-part__block--table .p-part__year {
  font-size: 4.5rem;
  position: absolute;
  top: -0.7em;
  left: -0.3em;
}
.p-part--histry .p-part__block--table .p-part__text {
  padding: 3rem 3rem 1.75rem 3rem;
  background: rgba(255, 255, 255, 0.5);
}
.p-part--histry .p-part__block--table .p-part__par {
  font-size: 1.125rem;
  line-height: 1.6;
}
.p-part--histry .p-part__block--image {
  margin: 0 auto;
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  margin: auto;
}
.p-part--histry .p-part__block--image .p-part__picture,
.p-part--histry .p-part__block--image .p-part__img {
  width: 100%;
  height: 55.5rem;
  object-fit: cover;
}
.p-part--article {
  padding: 4rem 2.5rem 6.25rem 2.5rem;
  background: linear-gradient(0deg, #2A7191 0%, #03B095 100%);
}
.p-part--article .p-part__inner {
  margin: 0 auto;
  padding: 7.5rem 5.625rem 0rem 5.625rem;
  width: 100%;
  max-width: 67.5rem;
  position: relative;
  background: white;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 6.25rem;
}
.p-part--article .p-part__section {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 3.125rem;
}
.p-part--article .p-part__section:first-child {
  align-items: flex-end;
}
.p-part--article .p-part__section .p-part__block--text {
  width: 31.25rem;
  flex: 1;
}
.p-part--article .p-part__section .p-part__block--text .p-part__heading {
  margin-bottom: 2.5rem;
  padding: 0 0 0.75rem;
  font-size: 2.125rem;
  font-weight: bold;
  line-height: 1.4;
  color: white;
  /* background: linear-gradient(0deg, rgb(55, 93, 144) 0%, rgb(3, 176, 149) 100%); */
}
.p-part--article .p-part__section .p-part__block--text .p-part__text {
  font-size: 1rem;
  line-height: 1.6;
}
.p-part--article .p-part__section .p-part__block--image {
  width: calc(100% - 28.75rem);
  margin-right: -5.625rem;
}
.p-part--article .p-part__section--r {
  flex-direction: row-reverse;
}
.p-part--article .p-part__section--r .p-part__block--image {
  margin-right: unset;
  margin-left: -5.625rem;
}
.p-part--article .p-part__section--c {
  flex-direction: column;
}
.p-part--article .p-part__section--c .p-part__block--text {
  width: 100%;
}
.p-part--article .p-part__section--c .p-part__block--image {
  margin-right: -5.625rem;
  margin-left: -5.625rem;
  width: calc(100% + 11.25rem);
}
.p-part--employee {
  background: none;
}
.p-part--employee .p-part__inner {
  margin: 0 auto;
  padding: 6.25rem 2.5rem 10rem 2.5rem;
  width: 100%;
  max-width: 72.5rem;
  position: relative;
}
.p-part--employee .p-part__section--interview .p-part__list:not(.p-part__list--hashtag) {
  margin: 0 auto;
  width: 100%;
  max-width: 56rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 6rem;
}
.p-part--employee .p-part__section--interview .p-part__item {
  width: calc(50% - 3rem);
  height: 31.25rem;
  border-radius: 1.125rem;
  background: white;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: stretch;
  position: relative;
}
.p-part--employee .p-part__section--interview .p-part__item:nth-of-type(even) {
  transform: translateY(6.25rem);
}
.p-part--employee .p-part__section--interview .p-part__anchor {
  padding: 1.5rem;
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: column;
  position: relative;
}
.p-part--employee .p-part__section--interview .p-part__anchor::before {
  display: block;
  content: "";
  width: 100%;
  height: 15.625rem;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 15;
  background: linear-gradient(0deg, #17bf6d 0%, rgba(23, 191, 109, 0) 100%);
}
.p-part--employee .p-part__section--interview .p-part__tag {
  padding: 0.5rem 1rem;
  display: inline-block;
  font-size: 0.875rem;
  color: white;
  background: #17BF6D;
  border-radius: 1rem;
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  z-index: 15;
}
.p-part--employee .p-part__section--interview .p-part__block--text {
  color: white;
  position: relative;
  z-index: 15;
}
.p-part--employee .p-part__section--interview .p-part__block--text .p-part__heading {
  margin-top: auto;
  margin-bottom: 0.5rem;
  font-size: 1.625rem;
  line-height: 1.4;
  text-align: left;
}
.p-part--employee .p-part__section--interview .p-part__block--text .p-part__list {
  margin-right: 3.75rem;
}
.p-part--employee .p-part__section--interview .p-part__block--text .p-part__icon {
  width: 3rem;
  height: 3rem;
  border-radius: 3rem;
  border: 1px solid white;
  position: absolute;
  bottom: 0rem;
  right: 0rem;
  transition: all 0.4s;
}
.p-part--employee .p-part__section--interview .p-part__block--text .p-part__icon::before {
  display: inline-block;
  content: "";
  width: 1.75rem;
  height: 1px;
  background: white;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.p-part--employee .p-part__section--interview .p-part__block--text .p-part__icon::after {
  display: inline-block;
  content: "";
  width: 1px;
  height: 1.75rem;
  background: white;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.p-part--employee .p-part__section--interview .p-part__block--image {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 0;
}
.p-part--employee .p-part__section--interview .p-part__block--image .p-part__source,
.p-part--employee .p-part__section--interview .p-part__block--image .p-part__img {
  width: 100%;
  height: 31.25rem;
  object-fit: cover;
  transition: all 0.4s;
}
.p-part--employee .p-part__section--interview .p-part__anchor:hover .p-part__block--text .p-part__icon {
  transform: rotate(45deg);
}
.p-part--employee .p-part__section--interview .p-part__anchor:hover .p-part__block--image .p-part__source,
.p-part--employee .p-part__section--interview .p-part__anchor:hover .p-part__block--image .p-part__img {
  transform: scale(1.1, 1.1);
}
.p-part--employee .p-part__section--interview .p-part__item[data-recruit-type=career] .p-part__anchor::before {
  background: linear-gradient(0deg, #54babe 0%, rgba(84, 186, 190, 0) 100%);
}
.p-part--employee .p-part__section--interview .p-part__item[data-recruit-type=career] .p-part__tag {
  background: #54BABE;
}
.p-part--employee .p-part__section--interview .p-part__item[data-recruit-type=senior] .p-part__anchor::before {
  background: linear-gradient(0deg, #f77474 0%, rgba(247, 116, 116, 0) 100%);
}
.p-part--employee .p-part__section--interview .p-part__item[data-recruit-type=senior] .p-part__tag {
  background: #F77474;
}
.p-part--employee .p-part__section--interview .p-part__item[data-recruit-type=beginner] .p-part__anchor::before {
  background: linear-gradient(0deg, #17bf6d 0%, rgba(23, 191, 109, 0) 100%);
}
.p-part--employee .p-part__section--interview .p-part__item[data-recruit-type=beginner] .p-part__tag {
  background: #17BF6D;
}
.p-part--employee .p-part__section--interview .p-part__item[data-recruit-type=fresh] .p-part__anchor::before {
  background: linear-gradient(0deg, #ef9c00 0%, rgba(239, 156, 0, 0) 100%);
}
.p-part--employee .p-part__section--interview .p-part__item[data-recruit-type=fresh] .p-part__tag {
  background: #EF9C00;
}
.p-part--frame {
  background: white;
}
.p-part--frame.p-part--frame-column {

  background: #E4F0EB;
  border-radius: 0 0 9.125rem 9.125rem;
}
.p-part--frame .p-part__inner {
  margin: 0 auto;
  padding: 6rem 2.5rem;
  width: 100%;
  max-width: 72.5rem;
  position: relative;
}
.p-part--frame .p-part__section--column {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.5rem;
}
.p-part--frame .p-part__block--text {
  width: 100%;
  max-width: 25rem;
}
.p-part--frame .p-part__block--text .p-part__heading {
  margin-bottom: 1.5rem;
}
.p-part--frame .p-part__block--image {
  width: calc(100% - 26.5rem);
  max-width: 40.3125rem;
}
[data-page=interview] .l-main {
  background: #FAFAFA;
}
.p-part--voice {
  padding: 6.25rem 0;
  background: #FAFAFA;
}
.p-part--voice .p-part__inner {
  margin: 0 auto;
  padding: 0rem 2.5rem;
  width: 100%;
  max-width: 72.5rem;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 6.25rem;
}
.p-part--voice .p-part__block {
  width: 100%;
}
.p-part--voice .p-part__block--text .p-part__heading {
  margin-bottom: 1rem;
}
.p-part--voice .p-part__block--text .p-part__text {
  text-align: center;
}
.p-part--voice .p-part__block--slider {
  padding: 6.25rem 0rem;
}
.p-part--voice .p-part__block--slider .p-part__splide + .p-part__splide {
  margin-top: 3.75rem;
}
.p-part--voice .p-part__block--slider .p-part__item {
  margin-bottom: 1.25rem;
  background: #17BF6D;
  border-radius: 2.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 0.5rem;
  position: relative;
}
.p-part--voice .p-part__block--slider .p-part__item::after {
  display: inline-block;
  content: "";
  width: 0;
  height: 0;
  border-left: 2.5rem solid transparent;
  border-right: 2.5rem solid transparent;
  border-top: 1.25rem solid #17BF6D;
  position: absolute;
  bottom: -1.25rem;
  left: 0;
  right: 0;
  margin: auto;
}
.p-part--voice .p-part__block--slider .p-part__item--1 {
  background: #F67474;
}
.p-part--voice .p-part__block--slider .p-part__item--1::after {
  border-top-color: #F67474;
}
.p-part--voice .p-part__block--slider .p-part__item--2 {
  background: #59B758;
}
.p-part--voice .p-part__block--slider .p-part__item--2::after {
  border-top-color: #59B758;
}
.p-part--voice .p-part__block--slider .p-part__item--3 {
  background: #5681C6;
}
.p-part--voice .p-part__block--slider .p-part__item--3::after {
  border-top-color: #5681C6;
}
.p-part--voice .p-part__block--slider .p-part__item--4 {
  background: #4EADB1;
}
.p-part--voice .p-part__block--slider .p-part__item--4::after {
  border-top-color: #4EADB1;
}
.p-part--voice .p-part__block--slider .p-part__item--5 {
  background: #EF9C00;
}
.p-part--voice .p-part__block--slider .p-part__item--5::after {
  border-top-color: #EF9C00;
}
.p-part--voice .p-part__block--slider .p-part__item--6 {
  background: #C69A49;
}
.p-part--voice .p-part__block--slider .p-part__item--6::after {
  border-top-color: #C69A49;
}
.p-part--voice .p-part__block--slider .p-part__item--7 {
  background: #C1C130;
}
.p-part--voice .p-part__block--slider .p-part__item--7::after {
  border-top-color: #C1C130;
}
.p-part--voice .p-part__block--slider .p-part__item--8 {
  background: #9C65D3;
}
.p-part--voice .p-part__block--slider .p-part__item--8::after {
  border-top-color: #9C65D3;
}
.p-part--voice .p-part__block--slider .p-part__heading {
  width: 100%;
  font-size: 1.875rem;
  text-align: center;
  color: white;
}
.p-part--voice .p-part__block--slider .p-part__text {
  width: 100%;
  font-size: 0.9375rem;
  text-align: center;
  color: white;
}
.p-part--voice .p-part__block--slider .p-part__text .p-part__par {
  margin: 0 auto;
  width: max-content;
  position: relative;
}
.p-part--voice .p-part__block--slider .p-part__text .p-part__par::after {
  display: inline;
  content: "。";
  position: absolute;
  bottom: 0;
  right: -1.2em;
}
.p-part--voice .p-part__block--image {
  margin: 0 auto;
  width: 100%;
  max-width: 24rem;
}
.p-part--recruit,
[data-page=recruit] .p-hero {
  background: none !important;
}
.p-part--recruit {
  /* padding-left: 2.5rem; */
  padding: 0 2.5rem;
}
.p-part--recruit .p-part__inner {
  margin: 0 auto;
  padding: 2.5rem;
  width: 100%;
  max-width: 72.5rem;
  overflow: visible;
  position: relative;
}
.p-part--recruit .p-heading--ex04 .p-heading__strong {
  font-weight: 400;
}
.p-part--recruit .p-part__inner::before {
  display: block;
  content: "";
  width: 1px;
  height: 100%;
  background: rgba(255, 255, 255, 0.4);
  position: absolute;
  top: 0;
  left: 0;
}
.p-part--recruit .p-part__inner::after {
  display: block;
  content: "";
  width: 1px;
  height: 100%;
  background: rgba(23, 191, 109, 0.18);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.p-part--recruit-point .p-part__inner {
  padding-top: 6.25rem;
  padding-bottom: 6.25rem;
}
.p-part--recruit-point .p-part__block--text {
  margin-bottom: 8.75rem;
}
.p-part--recruit-point .p-part__block--text .p-part__catch {
  margin-bottom: 3.125rem;
}
.p-part--recruit-point .p-part__block--text .p-part__text {
  color: white;
  text-align: center;
}
.p-part--recruit-point .p-part__block--list .p-part__list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 2.5rem;
  color: white;
}
.p-part--recruit-point .p-part__block--list .p-part__item--01 {
  width: 100%;
  max-width: 20.0625rem;
  height: auto;
  min-height: 15.3125rem;
  margin-left: auto;
}
.p-part--recruit-point .p-part__block--list .p-part__item--02 {
  width: 100%;
  max-width: 19.1875rem;
  height: auto;
  min-height: 20rem;
  margin-right: auto;
}
.p-part--recruit-point .p-part__block--list .p-part__item--03 {
  width: 100%;
  max-width: 24.375rem;
  height: auto;
  min-height: 20.0625rem;
  margin-right: auto;
}
.p-part--recruit-point .p-part__block--list .p-part__item--04 {
  width: 100%;
  max-width: 25rem;
  height: auto;
  min-height: 14.75rem;
  margin-left: auto;
}
.p-part--recruit-point .p-part__block--list .p-part__figure {
  width: max-content;
  position: relative;
}
.p-part--recruit-point .p-part__block--list .p-part__figure .p-part__figcaption {
  margin-bottom: 1.25rem;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 1rem;
}
.p-part--recruit-point .p-part__block--list .p-part__figure .p-part__figcaption .p-part__small {
  font-size: 1.25rem;
  font-weight: bold;
}
.p-part--recruit-point .p-part__block--list .p-part__figure .p-part__figcaption .p-part__strong {
  font-size: 2.375rem;
  font-weight: bold;
}
.p-part--recruit-point .p-part__block--list .p-part__item--01 .p-part__picture {
  width: 39.875rem;
  position: absolute;
  top: -1rem;
  left: -40.875rem;
}
.p-part--recruit-point .p-part__block--list .p-part__item--02 .p-part__picture {
  width: 35.0625rem;
  position: absolute;
  top: -1rem;
  right: -36.0625rem;
}
.p-part--recruit-point .p-part__block--list .p-part__item--03 .p-part__picture {
  width: 36.375rem;
  position: absolute;
  top: -1rem;
  right: -37.375rem;
}
.p-part--recruit-point .p-part__block--list .p-part__item--04 .p-part__picture {
  width: 32.1875rem;
  position: absolute;
  top: -1rem;
  left: -33.1875rem;
}
.p-part--recruit-point .p-part__block--list .p-part__text {
  position: relative;
  z-index: 15;
}
.p-part--recruit-data {
  overflow: hidden;
}
.p-part--recruit-data .p-part__wrapper {
  position: relative;
  z-index: 3;
}
.p-part--recruit-data .p-part__wrapper::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  margin-left: 2.125rem;
  top: 0;
  z-index: -1;
  background: #fff;
  width: calc(100vw - 2.125rem);
  height: 100%;
}
.p-part--recruit-data .p-part__inner {
  padding-top: 0;
  padding-bottom: 0;
}
.p-part--recruit-data .p-part__inner::before {
  background: #15BF6D;
  opacity: .4;
  z-index: 4;
}
.p-part--recruit-data .p-part__container {
  margin: 0 auto;
  padding: 2.5rem;
  width: 100%;
  max-width: 53rem;
}
.p-part--recruit-data .p-part__block--text {
  margin-bottom: 3.125rem;
}
.p-part--recruit-data .p-part__block--data .p-part__tab {
  margin-bottom: 3.125rem;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0.625rem;
  position: relative;
  max-width: 80%;
  width: 100%;
  margin: 0 auto 3.125rem;
}
.p-part--recruit-data .p-part__block--data .p-part__tab::after {
  display: block;
  content: "";
  background: #17BF6D;
  width: 100vw;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: -50vw;
  right: -50vw;
  margin: 0 auto;
}
.p-part--recruit-data .p-part__block--data .p-part__tab .p-part__button {
  width: 15rem;
  height: 4.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 1.125rem 1.125rem 0 0;
  border: 1px solid #17BF6D;
  font-size: 1.375rem;
  position: relative;
}
.p-part--recruit-data .p-part__block--data .p-part__tab .p-part__button::after {
  display: none;
  content: "";
  width: 0;
  height: 0;
  border-left: 2rem solid transparent;
  border-right: 2rem solid transparent;
  border-top: 1rem solid #17BF6D;
  position: absolute;
  bottom: -1rem;
  left: 0;
  right: 0;
  margin: auto;
}
.p-part--recruit-data .p-part__block--data .p-part__contents {
  display: none;
}
.p-part--recruit-data .p-part__block--data .p-part__contents .p-part__table {
  width: 100%;
  font-size: 1rem;
  text-align: left;
}
.p-part--recruit-data .p-part__block--data .p-part__contents .p-part__caption {
  padding: 1rem 2.5rem;
  font-size: 1.375rem;
  font-weight: bold;
  color: #17BF6D;
  text-align: left;
  border-bottom: 1px solid #17BF6D;
  font-weight: 600;
}
.p-part--recruit-data .p-part__block--data .p-part__contents .p-part__tr {
  border-top: 1px solid #DEDEDE;
}
.p-part--recruit-data .p-part__block--data .p-part__contents .p-part__tr:first-of-type {
  border: none;
}
.p-part--recruit-data .p-part__block--data .p-part__contents .p-part__tr--caption {
  border: none;
  border-top: 2px solid #17BF6D;
}
.p-part--recruit-data .p-part__block--data .p-part__contents .p-part__tr--caption:last-of-type {
  line-height: 1.6;
  border: none;
  border-top: 2px solid #17BF6D;
}
.p-part--recruit-data .p-part__block--data .p-part__contents .p-part__th {
  padding: 1rem 2.5rem;
  width: 15rem;
}
.p-part--recruit-data .p-part__block--data .p-part__contents .p-part__td {
  padding: 1rem;
}
.p-part--recruit-data .p-part__block--data[data-switch-tab-select="1"] [data-switch-tab-trigger="1"] {
  background: #17BF6D;
  color: white;
}
.p-part--recruit-data .p-part__block--data[data-switch-tab-select="1"] [data-switch-tab-trigger="1"]::after {
  display: inline-block;
}
.p-part--recruit-data .p-part__block--data[data-switch-tab-select="1"] [data-switch-tab-target="1"] {
  display: block;
}
.p-part--recruit-data .p-part__block--data[data-switch-tab-select="2"] [data-switch-tab-trigger="2"] {
  background: #17BF6D;
  color: white;
}
.p-part--recruit-data .p-part__block--data[data-switch-tab-select="2"] [data-switch-tab-trigger="2"]::after {
  display: inline-block;
}
.p-part--recruit-data .p-part__block--data[data-switch-tab-select="2"] [data-switch-tab-target="2"] {
  display: block;
}
.p-part--recruit-data .p-part__block--data[data-switch-tab-select="3"] [data-switch-tab-trigger="3"] {
  background: #17BF6D;
  color: white;
}
.p-part--recruit-data .p-part__block--data[data-switch-tab-select="3"] [data-switch-tab-trigger="3"]::after {
  display: inline-block;
}
.p-part--recruit-data .p-part__block--data[data-switch-tab-select="3"] [data-switch-tab-target="3"] {
  display: block;
}
.p-part--recruit-intervew .p-part__block--slider {
  margin-left: -2.5rem;
  width: calc(100% + 5rem);
}
.p-part--recruit-intervew .p-part__bar {
  margin: 0 auto;
  padding: 0 2.5rem;
  width: 100%;
  max-width: 72.5rem;
  overflow: visible;
  position: relative;
}
.p-part--recruit-intervew .p-part__bar::before {
  display: block;
  content: "";
  width: 1px;
  height: 18.125rem;
  background: rgba(255, 255, 255, 0.4);
  position: absolute;
  top: 0;
  left: 0;
}
.p-part--recruit-intervew .p-part__bar::after {
  display: block;
  content: "";
  width: 1px;
  height: 18.125rem;
  background: rgba(23, 191, 109, 0.18);
  position: absolute;
  top: 0;
  left: 0;
}
.p-part--recruit-intervew .p-part__block--text {
  margin-bottom: 1.5rem;
  color: white;
}
.p-part--recruit-intervew .p-part__block--slider .p-part__splide .p-part__item {
  border-radius: 1.125rem;
  background: white;
  overflow: hidden;
}
.p-part--recruit-intervew .p-part__block--slider .p-part__splide .p-part__anchor {
  width: 100%;
  position: relative;
}
.p-part--recruit-intervew .p-part__block--slider .p-part__splide .p-part__anchor:hover .p-part__source,
.p-part--recruit-intervew .p-part__block--slider .p-part__splide .p-part__anchor:hover .p-part__img {
  transform: scale(1.1, 1.1);
}
.p-part--recruit-intervew .p-part__block--slider .p-part__splide .p-part__tag {
  padding: 0.5rem .8rem;
  display: inline-block;
  font-size: 0.875rem;
  color: white;
  background: #17BF6D;
  border-radius: 1rem;
  position: absolute;
  top: 0.5rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 15;
  white-space: nowrap;
}
.p-part--recruit-intervew .p-part__block--slider .p-part__splide .p-part__figure {
  width: 100%;
}
.p-part--recruit-intervew .p-part__block--slider .p-part__splide .p-part__picture {
  width: 100%;
}
.p-part--recruit-intervew .p-part__block--slider .p-part__splide .p-part__source,
.p-part--recruit-intervew .p-part__block--slider .p-part__splide .p-part__img {
  width: 100%;
  min-width: 13.125rem;
  height: 18.125rem;
  object-fit: cover;
  transition: all 0.4s;
}
.p-part--recruit-intervew .p-part__block--slider .p-part__splide .p-part__item[data-recruit-type=career] .p-part__tag {
  background: #54BABE;
}
.p-part--recruit-intervew .p-part__block--slider .p-part__splide .p-part__item[data-recruit-type=senior] .p-part__tag {
  background: #F77474;
}
.p-part--recruit-intervew .p-part__block--slider .p-part__splide .p-part__item[data-recruit-type=beginner] .p-part__tag {
  background: #17BF6D;
}
.p-part--recruit-intervew .p-part__block--slider .p-part__splide .p-part__item[data-recruit-type=fresh] .p-part__tag {
  background: #EF9C00;
}
.p-part--recruit-intervew .p-part__block--link {
  margin-bottom: 6.25rem;
}
.p-part--recruit-intervew .p-part__block--link .p-part__item {
  text-align: right;
}
.p-part--recruit-intervew .p-part__block--link .p-part__anchor {
  text-align: left;
}
[data-page="legal"] .p-hero--noborder .p-hero__inner {
  align-items: flex-start;
}
.p-part--book .p-part__inner {
  padding: 3.375rem 2.5rem;
  width: 100%;
  max-width: 72.5rem;
}
.p-part--book .p-part__section + .p-part__section {
  margin-top: 2.5rem;
}
.p-part--book .p-part__heading {
  margin-bottom: 0.625rem;
}
.p-part--book .p-part__par + .p-part__par {
  margin-top: 1em;
}
[data-page=contact] .p-hero .p-hero__heading .p-hero__small,
[data-page=contact] .p-hero .p-hero__heading .p-hero__strong  {
  transform: unset;
}
.p-part--form {
  padding: 6.25rem 0;
  background: none !important;
}
.p-part--form .p-part__inner {
  margin: 0 auto;
  padding: 0rem 2.5rem;
  width: 100%;
  max-width: 80rem;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 2.5rem;
}
.p-part--form .p-part__block {
  width: 100%;
}
.p-part--form.p-part--form-input .p-part__tab {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 2rem;
}
.p-part--form.p-part--form-input .p-part__tab .p-part__item {
  width: calc((100% - 2rem) / 2);
}
.p-part--form.p-part--form-input .p-part__tab .p-part__item .p-part__button {
  padding: 1.25rem;
  font-size: 1.625rem;
  background: white;
  width: 100%;
  color: #777777;
  text-align: center;
}
.p-part--form.p-part--form-input .p-part__block[data-switch-tab-select="1"] .p-part__button[data-switch-tab-trigger="1"] {
  background: #17BF6D;
  color: white;
}
.p-part--form.p-part--form-input .p-part__block[data-switch-tab-select="2"] .p-part__button[data-switch-tab-trigger="2"] {
  background: #FAA530;
  color: white;
}
.p-part--form.p-part--form-input .p-part__contents {
  padding: 5rem 2.5rem;
  background: white;
  display: none;
}
.p-part--form.p-part--form-input .p-part__contents .p-part__block--text {
  max-width: 30rem;
  width: 100%;
  margin: 0 auto 2.5rem;
  font-size: 1.125rem;
  text-align: left;
}
.p-part--form.p-part--form-input .p-part__block[data-switch-tab-select="2"] .p-part__contents .p-part__block--text {
  max-width: 46rem;
}
.p-part--form.p-part--form-input .p-part__contents[data-switch-tab-target="1"] {
  border: 10px solid #17BF6D;
}
.p-part--form.p-part--form-input .p-part__contents[data-switch-tab-target="2"] {
  border: 10px solid #FAA530;
}
.p-part--form.p-part--form-input .p-part__block[data-switch-tab-select="1"] .p-part__contents[data-switch-tab-target="1"] {
  display: block;
}
.p-part--form.p-part--form-input .p-part__block[data-switch-tab-select="2"] .p-part__contents[data-switch-tab-target="2"] {
  display: block;
}
.p-part--form.p-part--form-complete {
  min-height: calc(100vh - 22rem);
  text-align: center;
}
.p-part--form.p-part--form-complete .p-part__inner {
  width: 100%;
  max-width: 53rem;
}
.p-part--form.p-part--form-complete .p-part__block--complete {
  padding: 2.5rem;
  background: white;
  border-radius: 1.25rem;
}
.p-part--form.p-part--form-complete .p-part__block--button {
  text-align: center;
}
.p-part--form.p-part--form-complete .p-part__heading {
  margin-bottom: 1.25rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
}
.p-part--form.p-part--form-complete .p-part__text {
  text-align: center;
}
.p-part--form.p-part--form-contact .p-part__button {
  background: #17BF6D;
}
.p-part--form.p-part--form-entry .p-part__button {
  background: #FAA530;
}
@media screen and (max-width: 860px) {
  .p-part--column .p-part__figure {
    width: 37rem;
    height: 37rem;
    right: 0;
  }
  .p-part--intro .p-part__block--text {
    width: calc(100% - 25rem);
  }
  .p-part--intro .p-part__block--slider {
    width: 20rem;
    margin-left: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-part--intro {
    overflow: hidden;
  }
  .p-part--intro .p-part__inner {
    padding: 4.5rem 2.2rem;
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    flex-direction: column;
    position: relative;
  }
  .p-part--intro .p-part__animation {
    top: 6rem;
    width: 48.5rem;
    height: 48.5rem;
    right: 50%;
    transform: translateX(50%);
    margin-right: -12rem;
  }
  .p-part--intro .p-part__block--text {
    padding: 0;
    width: 100%;
  }
  .p-part--intro .p-part__block--text .p-part__heading {
    margin-bottom: 3.2rem;
  }
  .p-part--intro .p-part__block--slider {
    margin: 2.2rem -2.2rem 0 -2.2rem;
    width: calc(100% + 4.4rem);
  }
  .p-part--intro .p-part__block--slider .p-part__splide {
    position: relative;
  }
  .p-part--intro .p-part__block--slider .p-part__figure {
    border-radius: 1.8rem;
  }
  .p-part--company .p-part__inner {
    margin: 0 auto;
    padding: 4rem 2.2rem 8rem;
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-direction: column;
    gap: 3.2rem;
    position: relative;
  }
  .p-part--company .p-part__block--text {
    width: 100%;
    min-height: auto;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
  .p-part--company .p-part__block--text .p-part__heading {
    margin-bottom: 0;
    width: 100%;
    display: flex;
    flex-direction: column-reverse;
  }
  .p-part--company .p-part__block--text .p-part__heading.p-heading--ex03 .p-heading__strong {
    font-size: 5rem;
  }
  .p-part--company .p-part__block--slider.u-switch--pc {
    display: none;
  }
  .p-part--company .p-part__block--text .p-part__list {
    margin-top: auto;
    width: 100%;
  }
  .p-part--company .p-part__block--text .p-part__list .p-part__link {
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: flex-start;
    /* align-items: center; */
    align-items: flex-end;
    gap: 0.8rem;
  }
  .p-part--company .p-link__str.u-hover__str--button {
    padding-bottom: 1.3rem;
  }
  .p-part--company .u-hover--button .u-hover__arrow--button {
    margin: 0;
    top: auto;
    bottom: 2.5rem;
  }
  .p-part--company .p-part__block--text .p-part__list .p-part__figure {
    width: 16rem;
    border-radius: 1.8rem;
    overflow: hidden;
  }
  .p-part--business .p-part__inner {
    margin: 0 auto;
    padding: 9.5rem 2.2rem;
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    flex-wrap: wrap;
    position: relative;
  }
  .p-part--business .p-part__animation {
    top: -10rem;
    margin-left: 9rem;
    width: 40rem;
    height: 40rem;
  }
  .p-part--business .p-part__block--text .p-part__heading {
    flex-direction: column-reverse;
    margin-bottom: 3rem;
  }
  .p-part--business .p-part__block--text .p-part__text {
    margin-bottom: 3rem;
    width: 100%;
    max-width: 100%;
  }
  .p-part--interview .p-part__inner {
    margin: 0 auto;
    padding: 9.5rem 2.2rem 39.5rem 2.2rem;
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-direction: column;
    flex-wrap: wrap;
    position: relative;
  }
  .p-part--interview .p-part__block--text {
    width: 100%;
    position: relative;
  }
  .p-part--interview .p-part__block--text .p-part__heading {
    flex-direction: column-reverse;
    margin-bottom: 3rem;
  }
  .p-part--interview .p-part__block--text .p-part__text {
    margin-bottom: 3rem;
    width: 100%;
    max-width: 100%;
  }
  .p-part--interview .p-part__block--text .p-part__list {
    width: 100%;
    max-width: 20rem;
  }
  .p-part--interview .p-part__block--slider .p-part__slider--01 {
    width: 242.3rem;
    height: 13.5rem;
    background: url(../img/top/interview_slide01_img01.png) repeat-x 50% 50%;
    /* background-size: 60.575rem; */
    background-size: 73rem;
  }
  .p-part--interview .p-part__block--slider .p-part__slider--02 {
    margin-top: 2rem;
    width: 193.9rem;
    height: 13.5rem;
    background: url(../img/top/interview_slide01_img02.png) repeat-x 50% 50%;
    /* background-size: 48.475rem; */
    background-size:58rem;
  }
  .p-part--contentsbanner .p-part__inner {
    margin: 0 auto;
    padding: 1.8rem 2.2rem;
    width: 100%;
    max-width: 100%;
  }
  .p-part--contentsbanner .p-part__list--entrance {
    margin-top: 5rem;
  }
  .p-part--contentsbanner .p-part__list--entrance > .p-part__item {
    width: 100%;
    height: 44rem;
    height: auto;
    border-radius: 1.8rem;
  }
  .p-part--contentsbanner .p-part__list--entrance > .p-part__item .p-part__anchor {
    padding: 0;
    position: relative;
  }
  .p-part--contentsbanner .p-part__list--entrance > .p-part__item .p-part__heading {
    flex-direction: column-reverse;
    margin-bottom: 2.4rem;
    position: absolute;
    left: 0;
    top: 0;
    padding: 1.8rem;
    z-index: 2;
  }
  .p-part--contentsbanner .p-part__list--entrance > .p-part__item .p-part__list {
    margin-top: auto;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
    padding: 3.6rem 1.8rem;
  }
  .p-part--contentsbanner .p-part__list--entrance > .p-part__item .p-part__figure {
    width: 100%;
    /* height: 44rem; */
    height: auto;
    position: relative;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 0;
    margin: auto;
  }
  .p-part--contentsbanner .p-part__list--entrance > .p-part__item .p-part__source,
  .p-part--contentsbanner .p-part__list--entrance > .p-part__item .p-part__img {
    /* aspect-ratio: 330/440; */
    aspect-ratio: unset;
  }
  .p-part--column .p-part__inner {
    margin: 0 auto;
    padding: 4.5rem 2.2rem;
    width: 100%;
    max-width: 100%;
    min-height: unset;
  }
  .p-part--column .p-part__heading {
    margin-bottom: 2rem;
  }
  .p-part--column .p-part__text {
    margin-bottom: 2rem;
  }
  .p-part--column .p-part__figure {
    width: auto;
    max-width: 60rem;
    height: unset;
    position: relative;
    top: unset;
    bottom: unset;
    right: unset;
    z-index: 0;
    margin: 0 auto;
  }
  .p-part--column .p-part__source,
  .p-part--column .p-part__img {
    aspect-ratio: 1/1;
    object-fit: cover;
  }
  .p-part--facility .p-part__inner {
    margin: 0 auto;
    padding: 6rem 2.2rem;
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 3.6rem;
  }
  .p-part--facility .p-part__section--column {
    margin-bottom: 3.6rem;
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-self: flex-start;
    flex-direction: column;
    gap: 3.6rem;
  }
  .p-part--facility .p-part__section--column .p-part__item {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-self: stretch;
    flex-direction: column;
    gap: 0.8rem;
  }
  .p-part--facility .p-part__section--column .p-part__block {
    border-radius: 1.8rem;
  }
  .p-part--facility .p-part__section--column .p-part__block--image {
    width: 100%;
  }
  .p-part--facility .p-part__section--column .p-part__block--text {
    padding: 2.2rem 2.2rem;
    width: 100%;
  }
  .p-part--facility .p-part__section--column .p-part__block--text .p-part__heading {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
  }
  .p-part--facility .p-part__section--row {
    width: 100%;
  }
  .p-part--facility .p-part__section--row .p-part__block--text .p-part__heading {
    margin-bottom: 2rem;
  }
  .p-part--facility .p-part__section--row .p-part__block--image {
    margin-top: 3.6rem;
    border-radius: 1.8rem;
  }
  .p-part--available .p-part__inner {
    margin: 0 auto;
    padding: 4rem 2.2rem;
    width: 100%;
    max-width: 100%;
    position: relative;
  }
  .p-part--available .p-part__block--heading {
    margin-bottom: 4rem;
  }
  .p-part--available .p-part__block--grid .p-part__grid {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    grid-template-columns: unset;
    grid-template-rows: unset;
    grid-column-gap: unset;
    grid-row-gap: 6rem;
  }
  .p-part--available .p-part__block--grid .p-part__grid .p-part__item--1 {
    grid-area: unset;
  }
  .p-part--available .p-part__block--grid .p-part__grid .p-part__item--2 {
    grid-area: unset;
  }
  .p-part--available .p-part__block--grid .p-part__grid .p-part__item--3 {
    grid-area: unset;
  }
  .p-part--available .p-part__block--grid .p-part__grid .p-part__item--4 {
    grid-area: unset;
  }
  .p-part--available .p-part__block--grid .p-part__grid .p-part__item--5 {
    grid-area: unset;
  }
  .p-part--available .p-part__block--grid .p-part__grid .p-part__item--icon .p-part__figure {
    padding: 1.6rem 1.6rem 1.6rem 1.6rem;
    border-radius: 2.4rem;
    width: calc(100% - 3.2rem);
    height: 100%;
    max-height: unset;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 1.2rem;
  }
  .p-part--available .p-part__block--grid .p-part__grid .p-part__item--icon .p-part__figure .p-part__picture {
    margin: 0 auto;
    width: 12rem;
    height: 12rem;
  }
  .p-part--available .p-part__block--grid .p-part__grid .p-part__item--icon .p-part__figure .p-part__figcaption {
    font-size: 2.4rem;
  }
  .p-part--available .p-part__block--grid .p-part__grid .p-part__item--icon .p-part__text {
    padding: 2.4rem 1.2rem 0 1.2rem;
  }
  .p-part--available .p-part__block--grid .p-part__grid .p-part__item--movie {
    margin: 0 -2.2rem;
  }
  .p-part--results .p-part__inner {
    margin: 0 auto;
    padding: 5rem 2.2rem;
    width: 100%;
    max-width: 100%;
    position: relative;
  }
  .p-part--results .p-part__section + .p-part__section {
    margin-top: 5rem;
  }
  .p-part--results .p-part__block--list {
    margin: 0;
    margin-top: 3rem;
  }
  .p-part--results .p-part__block--list .p-part__list {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 2.6rem;
  }
  .p-part--results .p-part__block--list .p-part__item {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 1.6rem;
  }
  .p-part--results .p-part__block--list .p-part__item .p-part__figure {
    margin: 1.2rem;
    padding: 1.2rem;
    border-radius: 1.2rem;
    width: 9.5rem;
    height: 7.2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 0.8rem;
    margin-left: 0;
  }
  .p-part--results .p-part__block--list .p-part__item .p-part__img {
    width: auto;
    height: auto;
  }
  .p-part--results .p-part__block--list .p-parts__text {
    width: calc(100% - 11.1rem);
  }
  .p-part--results .p-part__block--list .p-parts__text .p-parts__par {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    gap: 0.8rem;
    font-size: 1.3rem;
  }
  .p-part--policy .p-part__inner {
    margin: 0 auto;
    padding: 5rem 1rem;
    width: 100%;
    max-width: calc(100% - 2rem);
    position: relative;
  }
  .p-part--policy .p-part__heading {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
  .p-part--message {
    display: flex;
    justify-content: center;
    align-items: stretch;
    position: relative;
    background: linear-gradient(0deg, rgb(42, 113, 145) 0%, rgb(23, 191, 109) 100%);
  }
  .p-part--message::before {
    display: none;
  }
  .p-part--message .p-part__inner {
    margin: 0 auto;
    padding: 5rem 2.2rem;
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column-reverse;
    gap: 4rem;
  }
  .p-part--message .p-part__block--text {
    width: 100%;
  }
  .p-part--message .p-part__block--text .p-part__par {
    font-size: 1.6rem;
  }
  .p-part--message .p-part__block--text .p-part__heading {
    margin-top: 3.2rem;
  }
  .p-part--message .p-part__block--text .p-part__list {
    margin-top: 3.2rem;
  }
  .p-part--message .p-part__block--image {
    width: 100%;
    max-width: 100%;
    border-radius: 1.8rem;
    transform: translate(0, 0);
  }
  .p-part--outline .p-part__inner {
    margin: 0 auto;
    padding: 7rem 2.2rem;
    width: 100%;
    max-width: 100%;
  }
  .p-part--outline .p-part__section + .p-part__section {
    margin-top: 8rem;
  }
  .p-part--outline .p-part__block--table .p-part__dl {
    margin-top: 1.6rem;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 0 1.6rem;
  }
  .p-part--outline .p-part__block--table .p-part__dt {
    padding: 1.6rem 0;
    width: 100%;
    border-bottom: none;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
  }
  .p-part--outline .p-part__block--table .p-part__dt:last-of-type {
    border-bottom: none;
  }
  /* .p-part--outline .p-part__block--table .p-part__dt .p-part__dt_logo .p-part__source,
  .p-part--outline .p-part__block--table .p-part__dt .p-part__dt_logo .p-part__img {
    width: 100%;
    height: 2.5rem;
    object-fit: contain;
  } */
  .p-part--outline .p-part__block--table .p-part__dt .p-part__dt_par {
    font-size: 1.4rem;
    text-align: left;
  }
  .p-part--outline .p-part__block--table .p-part__dd {
    padding: 0 0 1.6rem 0;
    width: 100%;
    border-bottom: 1px solid #17BF6D;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column-reverse;
    gap: 0.8rem;
  }
  .p-part--outline .p-part__block--table .p-part__dd:last-of-type {
    border-bottom: none;
  }
  .p-part--outline .p-part__block--table .p-part__dd .p-part__dd_image {
    width: 17.4rem;
    border-radius: 1.8rem;
  }
  .p-part--outline .p-part__block--table .p-part__dd .p-part__dd_par {
    font-size: 1.4rem;
  }
  .p-part--outline .p-part__block--table .p-part__dd .p-part__dd_gmap {
    margin-top: 0.5em;
    color: #17BF6D;
    text-decoration: underline;
  }
  .p-part--histry::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 2.2rem;
    right: unset;
    margin: auto;
  }
  .p-part--histry .p-part__inner {
    margin: 0 auto;
    padding: 2.5rem 2.2rem 55.5rem 2.2rem;
    width: 100%;
    max-width: 100%;
  }
  .p-part--histry .p-part__block--heading {
    padding-left: 3.6rem;
  }
  .p-part--histry .p-part__block--heading .p-part__heading {
    flex-direction: column-reverse;
  }
  .p-part--histry .p-part__block--table {
    padding-left: 3.6rem;
    margin-top: 3rem;
  }
  .p-part--histry .p-part__block--table .p-part__table {
    margin: 0;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 6.4rem;
    transform: translateY(0);
  }
  .p-part--histry .p-part__block--table .p-part__item {
    width: 100%;
    max-width: 100%;
  }
  .p-part--histry .p-part__block--table .p-part__item::before {
    width: 3.6rem;
    height: 1px;
  }
  .p-part--histry .p-part__block--table .p-part__item::after {
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 1.2rem;
  }
  .p-part--histry .p-part__block--table .p-part__item:nth-of-type(even) {
    transform: unset;
  }
  .p-part--histry .p-part__block--table .p-part__item:nth-of-type(even) > div::before {
    left: -3.6rem;
  }
  .p-part--histry .p-part__block--table .p-part__item:nth-of-type(even) > div::after {
    left: -4.2rem;
  }
  .p-part--histry .p-part__block--table .p-part__item:nth-of-type(odd) {
    transform: unset;
  }
  .p-part--histry .p-part__block--table .p-part__item:nth-of-type(odd) > div::before {
    left: -3.6rem;
  }
  .p-part--histry .p-part__block--table .p-part__item:nth-of-type(odd) > div::after {
    left: -4.2rem;
    transform: translateX(50%);
  }
  .p-part--histry .p-part__block--table .p-part__year {
    font-size: 5rem;
    position: absolute;
    top: -0.7em;
    left: -0.3em;
  }
  .p-part--histry .p-part__block--table .p-part__text {
    padding: 2.4rem 1.6rem 1.6rem 1.6rem;
  }
  .p-part--histry .p-part__block--table .p-part__par {
    font-size: 1.4rem;
  }
  .p-part--histry .p-part__block--image .p-part__picture,
  .p-part--histry .p-part__block--image .p-part__img {
    width: 100%;
    height: 53rem;
    object-fit: cover;
  }
  .p-part--article {
    padding: 4.6rem 0 0;
  }
  .p-part--article .p-part__inner {
    margin: 0 auto;
    padding: 2.2rem 2.2rem 0 2.2rem;
    width: 100%;
    max-width: calc(100% - 2rem);
    gap: 4.4rem;
    margin-left: 2rem;
  }
  .p-part--article .p-part__section {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    gap: 2rem;
  }
  .p-part--article .p-part__section .p-part__block--text {
    width: 100%;
    flex: 1;
  }
  .p-part--article .p-part__section .p-part__block--text .p-part__heading {
    margin-bottom: 2rem;
    padding: 0;
    font-size: 2rem;
  }
  .p-part--article .p-part__section .p-part__block--text .p-part__text {
    font-size: 1.4rem;
  }
  .p-part--article .p-part__section .p-part__block--image {
    width: 100%;
    margin: auto;
  }
  .p-part--article .p-part__section--r {
    flex-direction: column;
  }
  .p-part--article .p-part__section--r .p-part__block--image {
    margin: auto;
  }
  .p-part--article .p-part__section--c {
    flex-direction: column;
  }
  .p-part--article .p-part__section--c .p-part__block--text {
    width: 100%;
  }
  .p-part--article .p-part__section--c .p-part__block--image {
    margin: 0 -2.2rem;
    width: calc(100% + 4.4rem);
  }
  .p-part--employee {
    background: none;
  }
  .p-part--employee .p-part__inner {
    margin: 0 auto;
    padding: 0 2.2rem 10rem 2.2rem;
    width: 100%;
    max-width: 100%;
  }
  .p-part--employee .p-part__section--interview .p-part__list:not(.p-part__list--hashtag) {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 4.4rem;
  }
  .p-part--employee .p-part__section--interview .p-part__item {
    width: 28rem;
    height: 36rem;
    border-radius: 1.8rem;
  }
  .p-part--employee .p-part__section--interview .p-part__item:nth-of-type(even) {
    transform: translateY(0);
  }
  .p-part--employee .p-part__section--interview .p-part__anchor {
    padding: 1.4rem;
  }
  .p-part--employee .p-part__section--interview .p-part__anchor::before {
    width: 100%;
    height: 20rem;
  }
  .p-part--employee .p-part__section--interview .p-part__tag {
    padding: 0.4rem 0.8rem;
    font-size: 1.2rem;
    border-radius: 1.6rem;
    position: absolute;
    top: 0.8rem;
    right: 0.8rem;
  }
  .p-part--employee .p-part__section--interview .p-part__block--text .p-part__heading {
    margin-top: auto;
    margin-bottom: 0.8rem;
    font-size: 1.8rem;
    text-align: left;
  }
  .p-part--employee .p-part__section--interview .p-part__block--text .p-part__list {
    margin-right: 3.2rem;
  }
  .p-part--employee .p-part__section--interview .p-part__block--text .p-part__icon {
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 3.2rem;
  }
  .p-part--employee .p-part__section--interview .p-part__block--text .p-part__icon::before {
    width: 2rem;
  }
  .p-part--employee .p-part__section--interview .p-part__block--text .p-part__icon::after {
    height: 2rem;
  }
  .p-part--employee .p-part__section--interview .p-part__block--image .p-part__source,
  .p-part--employee .p-part__section--interview .p-part__block--image .p-part__img {
    width: 28rem;
    height: 36rem;
  }
  .p-part--frame .p-part__inner {
    margin: 0 auto;
    padding: 6rem 2.2rem;
    width: 100%;
    max-width: 100%;
    border-radius: 0 0 9rem 9rem;
  }
  .p-part--frame .p-part__section--column {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 3rem;
  }
  .p-part--frame .p-part__block--text {
    width: 100%;
    max-width: 100%;
  }
  .p-part--frame .p-part__block--text .p-part__heading {
    margin-bottom: 2.4rem;
  }
  .p-part--frame .p-part__block--image {
    width: calc(100% + 4.4rem);
    max-width: 35.3rem;
  }
  .p-part--voice {
    padding: 5.6rem 0;
  }
  .p-part--voice .p-part__inner {
    margin: 0 auto;
    padding: 0rem 2.2rem;
    width: 100%;
    max-width: 100%;
    gap: 5.6rem;
  }
  .p-part--voice .p-part__block {
    width: 100%;
  }
  .p-part--voice .p-part__block--text {
    margin-bottom: 6rem;
  }
  .p-part--voice .p-part__block--text .p-part__heading {
    margin-bottom: 1.6rem;
  }
  .p-part--voice .p-part__block--slider {
    margin-bottom: 3rem;
    padding: 0;
  }
  .p-part--voice .p-part__block--slider .p-part__splide + .p-part__splide {
    margin-top: 0rem;
  }
  .p-part--voice .p-part__block--slider .p-part__item {
    margin-bottom: 2rem;
    padding: 2rem;
    border-radius: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 0.8rem;
  }
  .p-part--voice .p-part__block--slider .p-part__item::after {
    border-left: 2rem solid transparent;
    border-right: 2rem solid transparent;
    border-top-width: 1rem;
    bottom: -1rem;
  }
  .p-part--voice .p-part__block--slider .p-part__heading {
    width: 100%;
    font-size: 2.4rem;
  }
  .p-part--voice .p-part__block--slider .p-part__text {
    width: 100%;
    font-size: 1.2rem;
  }
  .p-part--voice .p-part__block--image {
    margin: 0 auto;
    width: 100%;
    max-width: 38.4rem;
  }
  .p-part--recruit {
    background: none !important;
    padding:0;
  }
  .p-part--recruit .p-part__inner {
    margin: 0 auto;
    padding: 2.2rem;
    width: 100%;
    max-width: 100%;
  }
  .p-part--recruit .p-part__inner::before {
    left: 2.2rem;
  }
  .p-part--recruit .p-part__inner::after {
    left: 2.2rem;
  }
  .p-part--recruit-point .p-part__inner {
    padding-top: 1rem;
    padding-bottom: 7.2rem;
    padding-left: 4.4rem;
  }
  .p-part--recruit-point .p-part__block--text {
    margin-bottom: 2rem;
  }
  .p-part--recruit-point .p-part__block--text .p-part__catch {
    margin-bottom: 2rem;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
  .p-part--recruit-point .p-part__block--text .p-part__text {
    text-align: left;
  }
  .p-part--recruit-point .p-part__block--list .p-part__list {
    gap: 2rem;
  }
  .p-part--recruit-point .p-part__block--list .p-part__item--01 {
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: unset;
    margin: 0 auto;
  }
  .p-part--recruit-point .p-part__block--list .p-part__item--02 {
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: unset;
    margin: 0 auto;
  }
  .p-part--recruit-point .p-part__block--list .p-part__item--03 {
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: unset;
    margin: 0 auto;
  }
  .p-part--recruit-point .p-part__block--list .p-part__item--04 {
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: unset;
    margin: 0 auto;
  }
  .p-part--recruit-point .p-part__block--list .p-part__figure {
    width: 100%;
  }
  .p-part--recruit-point .p-part__block--list .p-part__figure .p-part__figcaption {
    margin: 2rem auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 0.8rem;
    text-align: center;
  }
  .p-part--recruit-point .p-part__block--list .p-part__figure .p-part__figcaption .p-part__small {
    font-size: 1.8rem;
  }
  .p-part--recruit-point .p-part__block--list .p-part__figure .p-part__figcaption .p-part__strong {
    font-size: 2.4rem;
  }
  .p-part--recruit-point .p-part__block--list .p-part__item--01 .p-part__picture {
    width: 100%;
    position: relative;
    top: unset;
    left: unset;
  }
  .p-part--recruit-point .p-part__block--list .p-part__item--02 .p-part__picture {
    width: 100%;
    position: relative;
    top: unset;
    right: unset;
  }
  .p-part--recruit-point .p-part__block--list .p-part__item--03 .p-part__picture {
    width: 100%;
    position: relative;
    top: unset;
    right: unset;
  }
  .p-part--recruit-point .p-part__block--list .p-part__item--04 .p-part__picture {
    width: 100%;
    position: relative;
    top: unset;
    left: unset;
  }
  .p-part--recruit-data .p-part__inner {
    padding-top: 0;
    padding-bottom: 0;
    overflow: hidden;
  }
  .p-part--recruit-data .p-part__wrapper::before {
    margin-left: 1.1rem;
    width: calc(100vw - 1.1rem);
  }
  .p-part--recruit-data .p-part__container {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    max-width: calc(100% - 0.6rem);
    padding: 2.2rem 2.2rem 2.2rem 3rem;
  }
  .p-part--recruit-data .p-part__block--text {
    margin-bottom: 5rem;
  }
  .p-part--recruit-data .p-part__block--data .p-part__tab {
    margin-bottom: 3rem;
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 1rem;
    position: relative;
    max-width: 100%;
  }
  .p-part--recruit-data .p-part__block--data .p-part__tab::after {
    width: calc(100vw - .9rem);
    left: 50%;
    transform: translateX(-50%);
    right: auto;
    margin-left: .9rem;
  }
  .p-part--recruit-data .p-part__block--data .p-part__tab .p-part__button {
    width: 8.7rem;
    height: 5.4rem;
    border-radius: 1.3rem 1.3rem 0 0;
    font-size: 1.4rem;
  }
  .p-part--recruit-data .p-part__block--data .p-part__tab .p-part__button::after {
    border-left: 1.6rem solid transparent;
    border-right: 1.6rem solid transparent;
    border-top-width: 0.8rem;
    bottom: -0.8rem;
  }
  .p-part--recruit-data .p-part__block--data .p-part__contents {
    display: none;
  }
  .p-part--recruit-data .p-part__block--data .p-part__contents .p-part__table {
    font-size: 1.4rem;
  }
  .p-part--recruit-data .p-part__block--data .p-part__contents .p-part__caption {
    padding: 1rem 0rem;
    font-size: 1.4rem;
  }
  .p-part--recruit-data .p-part__block--data .p-part__contents .p-part__tr {
    display: block;
  }
  .p-part--recruit-data .p-part__block--data .p-part__contents .p-part__tr--caption {
    font-size: 1rem;
  }
  .p-part--recruit-data .p-part__block--data .p-part__contents .p-part__th {
    padding: 1.6rem 0 0 0;
    width: 100%;
    display: block;
  }
  .p-part--recruit-data .p-part__block--data .p-part__contents .p-part__td {
    padding: 0.8rem 0;
    width: 100%;
    display: block;
  }
  .p-part--recruit-intervew .p-part__bar {
    margin: 0 auto;
    padding: 0 2.2rem;
    width: 100%;
    max-width: 100%;
  }
  .p-part--recruit-intervew .p-part__bar::before {
    height: 20.6rem;
    left: 2.2rem;
  }
  .p-part--recruit-intervew .p-part__bar::after {
    height: 20.6rem;
    left: 2.2rem;
  }
  .p-part--recruit-intervew .p-part__inner {
    padding-left: 4.4rem;
  }
  .p-part--recruit-intervew .p-part__block--text {
    margin-top: 2.4rem;
    margin-bottom: 2.4rem;
  }
  .p-part--recruit-intervew .p-part__block--slider .p-part__splide .p-part__item {
    border-radius: 1.8rem;
  }
  .p-part--recruit-intervew .p-part__block--slider .p-part__splide .p-part__tag {
    padding: 0.4rem 0.8rem;
    font-size: 0.8rem;
    border-radius: 1.6rem;
    top: 0.8rem;
  }
  .p-part--recruit-intervew .p-part__block--slider .p-part__splide .p-part__source,
  .p-part--recruit-intervew .p-part__block--slider .p-part__splide .p-part__img {
    width: 100%;
    min-width: 14.6rem;
    height: 20.4rem;
  }
  .p-part--recruit-intervew .p-part__block--link {
    margin-top: 2.4rem;
    margin-bottom: 2.4rem;
  }
  .p-part--book .p-part__inner {
    padding: 5.4rem 2.2rem;
    width: 100%;
    max-width: 100%;
  }
  .p-part--book .p-part__section + .p-part__section {
    margin-top: 2.2rem;
  }
  .p-part--book .p-part__heading {
    margin-bottom: 1rem;
  }
  [data-page=contact] .l-footer .l-footer__legal {
    align-items: center;
  }
  .p-part--form {
    padding: 4rem 0;
    background: none !important;
  }
  .p-part--form.p-part--form-complete {
    min-height: calc(100vh - 22rem);
  }
  .p-part--form .p-part__inner {
    margin: 0 auto;
    padding: 0rem 2.2rem;
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    gap: 4rem;
  }
  .p-part--form .p-part__block {
    width: 100%;
  }
  .p-part--form.p-part--form-input .p-part__tab {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0.4rem;
  }
  .p-part--form.p-part--form-input .p-part__tab .p-part__item {
    width: calc((100% - 0.4rem) / 2);
  }
  .p-part--form.p-part--form-input .p-part__tab .p-part__item .p-part__button {
    padding: 1.6rem;
    font-size: 1.4rem;
  }
  .p-part--form.p-part--form-input .p-part__contents {
    padding: 4.4rem 2.2rem;
  }
  .p-part--form.p-part--form-input .p-part__contents .p-part__block--text {
    max-width: 100%;
    margin-bottom: 4.4rem;
    font-size: 1.4rem;
    text-align: left;
  }
  .p-part--form.p-part--form-input .p-part__block[data-switch-tab-select="2"] .p-part__contents .p-part__block--text {
    max-width: 100%;
  }
  .p-part--form.p-part--form-input .p-part__contents[data-switch-tab-target="1"] {
    border-width: 2px;
  }
  .p-part--form.p-part--form-input .p-part__contents[data-switch-tab-target="2"] {
    border-width: 2px;
  }
  .p-part--form.p-part--form-complete .p-part__inner {
    width: 100%;
    max-width: 100%;
  }
  .p-part--form.p-part--form-complete .p-part__block--complete {
    padding: 2.2rem;
    background: white;
    border-radius: 2rem;
  }
  .p-part--form.p-part--form-complete .p-part__heading {
    margin-bottom: 2rem;
    text-align: center;
  }
  .p-part--form.p-part--form-complete .p-part__text {
    text-align: center;
  }
  .p-part--recruit-intervew .p-part__block--link .p-part__anchor {
    max-width: 27rem;
  }
}
.p-text {
  font-size: 1rem;
}
.p-text .p-text__par {
  line-height: 2;
}
.p-text .p-text__par.p-text__list span {
  display: block;
  text-indent: -1em;
  margin-left: 1em;
}
.p-text .p-text__par + .p-text__par {
  margin-top: 1em;
}

@media screen and (max-width: 767px) {
  .p-text {
    font-size: 1.4rem;
  }
}
.u-background {
  /*&--base {
    background: f.$clrBase;
    color: f.$clrWhite;
  }
  &--white {
    background: f.$clrWhite;
  }*/
}
.u-background--disable {
  background: none;
}
.u-background--gradation01 {
  background: url(../img/common/bgi_gradation_img01.jpg) repeat 50% 50%/50%;
  background-attachment: fixed;
}
.u-background--gray01 {
  background: #F2F2F2;
}

@media screen and (max-width: 767px) {
  .u-background--gradation01 {
    background: url(../img/common/bgi_gradation_img01_sp.png) #4DE89B no-repeat;
    background-size: cover;
    background-attachment: unset;
  }
}
@keyframes roll {
  0% {
    transform: translateY(0%);
  }
  40% {
    transform: translateY(-100%);
  }
  41% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0%);
  }
}
@keyframes slide {
  0% {
    transform: translateX(0%);
  }
  40% {
    transform: translateX(100%);
  }
  41% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0%);
  }
}
.u-hover--roll {
  overflow: hidden;
}
.u-hover--roll .u-hover__str--roll {
  padding-bottom: 0.5em;
  display: inline-block;
  transition: all 0.8s 0s ease;
  position: relative;
  overflow: hidden;
}
.u-hover--roll .u-hover__str--roll::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #000;
  position: absolute;
  left: -100%;
  bottom: 0;
  transition: all 0.3s 0.3s ease;
}
.u-hover--roll .u-hover__str--roll-white::after {
  background: #fff;
}
.u-hover--roll:hover {
  opacity: 1;
}
.u-hover--roll:hover .u-hover__str--roll {
  animation: 0.4s linear 0s 1 normal forwards running roll;
}
.u-hover--roll:hover .u-hover__str--roll::after {
  position: absolute;
  left: 0;
}
.u-hover--button {
  width: 100%;
  overflow: hidden;
}
.u-hover--button .u-hover__link--button {
  overflow: hidden;
}
.u-hover--button .u-hover__str--button {
  display: inline-block;
  transition: all 0.8s 0s ease;
  position: relative;
  overflow: hidden;
}
.u-hover--button .u-hover__arrow--button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3.125rem;
  height: 1.875rem;
  border-radius: 1.875rem;
  background: #17BF6D;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  overflow: hidden;
}
.u-hover--button .u-hover__figure--button {
  display: inline-block;
  transition: all 0.8s 0s ease;
  position: relative;
  overflow: hidden;
  width: 1.125rem;
  height: 0.5rem;
}
.u-hover--button-white .u-hover__arrow--button {
  background: white;
}
.u-hover--button:hover {
  opacity: 1;
}
.u-hover--button:hover .u-hover__str--button {
  animation: 400ms linear 0s 1 normal forwards running roll;
  opacity: 0.7;
}
.u-hover--button:hover .u-hover__figure--button {
  animation: 400ms linear 0s 1 normal forwards running slide;
  opacity: 0.7;
}
.u-hover--zoom .u-hover__figure--zoom {
  overflow: hidden;
}
.u-hover--zoom .u-hover__figure--zoom .u-hover__source--zoom,
.u-hover--zoom .u-hover__figure--zoom .u-hover__img--zoom {
  transition: all 0.4s;
  transform: scale(1, 1);
}
.u-hover--zoom:hover .u-hover__figure--zoom .u-hover__source--zoom,
.u-hover--zoom:hover .u-hover__figure--zoom .u-hover__img--zoom {
  transition: all 0.4s;
  transform: scale(1.1, 1.1);
}
.u-margin--t-0 {
  margin-top: 0px;
}
.u-margin--b-0 {
  margin-bottom: 0px;
}
.u-margin--l-0 {
  margin-left: 0px;
}
.u-margin--r-0 {
  margin-right: 0px;
}
.u-margin--t-xxs {
  margin-top: 16px;
}
.u-margin--b-xxs {
  margin-bottom: 16px;
}
.u-margin--l-xxs {
  margin-left: 16px;
}
.u-margin--r-xxs {
  margin-right: 16px;
}
.u-margin--t-xs {
  margin-top: 24px;
}
.u-margin--b-xs {
  margin-bottom: 24px;
}
.u-margin--l-xs {
  margin-left: 24px;
}
.u-margin--r-xs {
  margin-right: 24px;
}
.u-margin--t-sm {
  margin-top: 36px;
}
.u-margin--b-sm {
  margin-bottom: 36px;
}
.u-margin--l-sm {
  margin-left: 36px;
}
.u-margin--r-sm {
  margin-right: 36px;
}
.u-margin--t-md {
  margin-top: 40px;
}
.u-margin--b-md {
  margin-bottom: 40px;
}
.u-margin--l-md {
  margin-left: 40px;
}
.u-margin--r-md {
  margin-right: 40px;
}
.u-margin--t-lg {
  margin-top: 48px;
}
.u-margin--b-lg {
  margin-bottom: 48px;
}
.u-margin--l-lg {
  margin-left: 48px;
}
.u-margin--r-lg {
  margin-right: 48px;
}
.u-margin--t-xl {
  margin-top: 56px;
}
.u-margin--b-xl {
  margin-bottom: 56px;
}
.u-margin--l-xl {
  margin-left: 56px;
}
.u-margin--r-xl {
  margin-right: 56px;
}
.u-margin--t-xxl {
  margin-top: 64px;
}
.u-margin--b-xxl {
  margin-bottom: 64px;
}
.u-margin--l-xxl {
  margin-left: 64px;
}
.u-margin--r-xxl {
  margin-right: 64px;
}

@media screen and (max-width: 767px) {
  .u-margin--t-0 {
    margin-top: 0px;
  }
  .u-margin--b-0 {
    margin-bottom: 0px;
  }
  .u-margin--l-0 {
    margin-left: 0px;
  }
  .u-margin--r-0 {
    margin-right: 0px;
  }
  .u-margin--t-xxs {
    margin-top: 8px;
  }
  .u-margin--b-xxs {
    margin-bottom: 8px;
  }
  .u-margin--l-xxs {
    margin-left: 8px;
  }
  .u-margin--r-xxs {
    margin-right: 8px;
  }
  .u-margin--t-xs {
    margin-top: 12px;
  }
  .u-margin--b-xs {
    margin-bottom: 12px;
  }
  .u-margin--l-xs {
    margin-left: 12px;
  }
  .u-margin--r-xs {
    margin-right: 12px;
  }
  .u-margin--t-sm {
    margin-top: 18px;
  }
  .u-margin--b-sm {
    margin-bottom: 18px;
  }
  .u-margin--l-sm {
    margin-left: 18px;
  }
  .u-margin--r-sm {
    margin-right: 18px;
  }
  .u-margin--t-md {
    margin-top: 20px;
  }
  .u-margin--b-md {
    margin-bottom: 20px;
  }
  .u-margin--l-md {
    margin-left: 20px;
  }
  .u-margin--r-md {
    margin-right: 20px;
  }
  .u-margin--t-lg {
    margin-top: 24px;
  }
  .u-margin--b-lg {
    margin-bottom: 24px;
  }
  .u-margin--l-lg {
    margin-left: 24px;
  }
  .u-margin--r-lg {
    margin-right: 24px;
  }
  .u-margin--t-xl {
    margin-top: 28px;
  }
  .u-margin--b-xl {
    margin-bottom: 28px;
  }
  .u-margin--l-xl {
    margin-left: 28px;
  }
  .u-margin--r-xl {
    margin-right: 28px;
  }
  .u-margin--t-xxl {
    margin-top: 32px;
  }
  .u-margin--b-xxl {
    margin-bottom: 32px;
  }
  .u-margin--l-xxl {
    margin-left: 32px;
  }
  .u-margin--r-xxl {
    margin-right: 32px;
  }
}
.u-padding--t-0 {
  padding-top: 0px;
}
.u-padding--b-0 {
  padding-bottom: 0px;
}
.u-padding--l-0 {
  padding-left: 0px;
}
.u-padding--r-0 {
  padding-right: 0px;
}
.u-padding--t-xxs {
  padding-top: 16px;
}
.u-padding--b-xxs {
  padding-bottom: 16px;
}
.u-padding--l-xxs {
  padding-left: 16px;
}
.u-padding--r-xxs {
  padding-right: 16px;
}
.u-padding--t-xs {
  padding-top: 24px;
}
.u-padding--b-xs {
  padding-bottom: 24px;
}
.u-padding--l-xs {
  padding-left: 24px;
}
.u-padding--r-xs {
  padding-right: 24px;
}
.u-padding--t-sm {
  padding-top: 36px;
}
.u-padding--b-sm {
  padding-bottom: 36px;
}
.u-padding--l-sm {
  padding-left: 36px;
}
.u-padding--r-sm {
  padding-right: 36px;
}
.u-padding--t-md {
  padding-top: 40px;
}
.u-padding--b-md {
  padding-bottom: 40px;
}
.u-padding--l-md {
  padding-left: 40px;
}
.u-padding--r-md {
  padding-right: 40px;
}
.u-padding--t-lg {
  padding-top: 48px;
}
.u-padding--b-lg {
  padding-bottom: 48px;
}
.u-padding--l-lg {
  padding-left: 48px;
}
.u-padding--r-lg {
  padding-right: 48px;
}
.u-padding--t-xl {
  padding-top: 56px;
}
.u-padding--b-xl {
  padding-bottom: 56px;
}
.u-padding--l-xl {
  padding-left: 56px;
}
.u-padding--r-xl {
  padding-right: 56px;
}
.u-padding--t-xxl {
  padding-top: 64px;
}
.u-padding--b-xxl {
  padding-bottom: 64px;
}
.u-padding--l-xxl {
  padding-left: 64px;
}
.u-padding--r-xxl {
  padding-right: 64px;
}

@media screen and (max-width: 767px) {
  .u-padding--t-0 {
    padding-top: 0px;
  }
  .u-padding--b-0 {
    padding-bottom: 0px;
  }
  .u-padding--l-0 {
    padding-left: 0px;
  }
  .u-padding--r-0 {
    padding-right: 0px;
  }
  .u-padding--t-xxs {
    padding-top: 8px;
  }
  .u-padding--b-xxs {
    padding-bottom: 8px;
  }
  .u-padding--l-xxs {
    padding-left: 8px;
  }
  .u-padding--r-xxs {
    padding-right: 8px;
  }
  .u-padding--t-xs {
    padding-top: 12px;
  }
  .u-padding--b-xs {
    padding-bottom: 12px;
  }
  .u-padding--l-xs {
    padding-left: 12px;
  }
  .u-padding--r-xs {
    padding-right: 12px;
  }
  .u-padding--t-sm {
    padding-top: 18px;
  }
  .u-padding--b-sm {
    padding-bottom: 18px;
  }
  .u-padding--l-sm {
    padding-left: 18px;
  }
  .u-padding--r-sm {
    padding-right: 18px;
  }
  .u-padding--t-md {
    padding-top: 20px;
  }
  .u-padding--b-md {
    padding-bottom: 20px;
  }
  .u-padding--l-md {
    padding-left: 20px;
  }
  .u-padding--r-md {
    padding-right: 20px;
  }
  .u-padding--t-lg {
    padding-top: 24px;
  }
  .u-padding--b-lg {
    padding-bottom: 24px;
  }
  .u-padding--l-lg {
    padding-left: 24px;
  }
  .u-padding--r-lg {
    padding-right: 24px;
  }
  .u-padding--t-xl {
    padding-top: 28px;
  }
  .u-padding--b-xl {
    padding-bottom: 28px;
  }
  .u-padding--l-xl {
    padding-left: 28px;
  }
  .u-padding--r-xl {
    padding-right: 28px;
  }
  .u-padding--t-xxl {
    padding-top: 32px;
  }
  .u-padding--b-xxl {
    padding-bottom: 32px;
  }
  .u-padding--l-xxl {
    padding-left: 32px;
  }
  .u-padding--r-xxl {
    padding-right: 32px;
  }
}
.u-switch--pc {
  display: none;
}
.u-switch--tb {
  display: none;
}
.u-switch--sp {
  display: none;
}

@media screen and (min-width: 1080px) {
  .u-switch--pc {
    display: unset;
  }
}
@media screen and (max-width: 1079px) and (min-width: 768px) {
  .u-switch--tb {
    display: unset;
  }
}
@media screen and (max-width: 767px) {
  .u-switch--sp {
    display: unset;
  }
}
.u-width--xxs {
  width: 100%;
  max-width: 320px;
}
.u-width--xs {
  width: 100%;
  max-width: 375px;
}
.u-width--sm {
  width: 100%;
  max-width: 576px;
}
.u-width--md {
  width: 100%;
  max-width: 768px;
}
.u-width--lg {
  width: 100%;
  max-width: 992px;
}
.u-width--xl {
  width: 100%;
  max-width: 1080px;
}
.u-width--xxl {
  width: 100%;
  max-width: 1280px;
}

[data-page=contact] .tabcontent {
  display: none;
}
[data-page=contact] .tabcontent.show {
  display: block;
}
[data-page=contact] .hidden {
  display: none;
}
[data-page=contact] .form-group {
  margin-bottom: 15px;
}
[data-page=contact] .form-group label {
  display: block;
  font-size: 1.125rem;
  line-height: 1;
  font-weight: 500;
  padding: 0.8125rem;
  width: 16rem;
}
[data-page=contact] .form-group > p {
  width: calc(100% - 16rem);
}
[data-page=contact] .form-group input,
[data-page=contact] .form-group textarea {
  font-size: 0.9375rem;
  width: 100%;
  padding: 0.8125rem;
  background-color: #F2F2F2;
  border: none;
}
[data-page=contact] .form-group textarea {
  resize: vertical;
}
[data-page=contact] .form-group.file-upload input {
  width: 35.0625rem;
  padding: 8px;
  border: none;
  border-radius: 4px;
  margin-left: 0.625rem;
  background-color: #fff;
}
[data-page=contact] .submit-btn {
  background-color: #17BF6D;
  color: white;
  padding: 0.625rem 0.9375rem;
  border: none;
  cursor: pointer;
  border-radius: 0.25rem;
  width: 16.875rem;
  margin: 1.25rem auto 0.1875rem;
  display: block;
  font-size: 1.4375rem;
  font-weight: 600;
}
[data-page=contact] .submit-btn.org-btn {
  background-color: #FAA530;
}
[data-page=contact] form.contact-form {
  padding-top: 2.5rem;
  margin: 0 auto;
}
[data-page=contact] .arrow span {
  position: relative;
}
[data-page=contact] .tab.arrow.active span::after {
  content: "";
  background-image: url(../img/contact/icon_open.svg);
  width: 1.875rem;
  height: 1.875rem;
  position: absolute;
  right: -3.125rem;
  top: 0;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
[data-page=contact] .tab.arrow.tab-orange.active span::after {
  background-image: url(../img/contact/icon_open-org.svg);
  border: none;
}
[data-page=contact] .tab.arrow span::after {
  content: "";
  background-image: url(../img/contact/icon_close.svg);
  width: 1.875rem;
  height: 1.875rem;
  position: absolute;
  right: -3.125rem;
  top: 0;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
[data-page=contact] .form-group {
  margin-bottom: 1.875rem;
  display: flex;
  justify-content: space-between;
  /* align-items: center; */
}
[data-page=contact] .content-inner {
  max-width: 47.9375rem;
  margin: 0 auto;
  width: 100%;
}
[data-page=contact] .form-group .required {
  position: relative;
  display: inline-block;
  display: flex;
}
[data-page=contact] .form-group.custom-radio-box .required {
  position: relative;
  display: inline-block;
  display: flex;
  flex-direction: column;
  align-items: flex-start;

  width: calc(100% - 16rem);
}
[data-page=contact] .form-group.custom-radio-box {
  justify-content: space-between;
  align-items: flex-start;
}
[data-page=contact] .form-group.custom-radio-box .required label {
  display: block;
  font-size: 1.125rem;
  line-height: 1;
  font-weight: 500;
  padding: 0.8125rem 0;
  width: calc(100% - 3rem);
}
[data-page=contact] .form-group.custom-radio-box .required label a {
  font-size: 1.125rem;
}
[data-page=contact] .form-group.custom-radio-box > label.required {
  width: 16rem;
}
[data-page=contact] .form-group.custom-radio-box > div {
  width: calc(100% - 16rem);
}
[data-page=contact] .form-group .required::before {
  position: absolute;
  content: "必須";
  /* テストのために文字を追加 */
  background-color: #FF0000;
  padding: 0.3125rem;
  color: #fff;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1;
  left: -3.0625rem;
  /* ラベルの左側に配置 */
  top: 0.8125rem;
  width: 2.0625rem;
  height: auto;
  text-align: center;
  border-radius: 0.3125rem;
}
[data-page=contact] .form-group label.required::before {
  content: unset;
}
[data-page=contact] .content-tit {
  text-align: center;
  font-size: 1.125rem;
  line-height: 2;
  margin-top: 2.5rem;
  letter-spacing: 0.04em;
  padding: 0 1.375rem;
}
[data-page=contact] .custom-radio {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 0.0625rem;
  width: 100%;
}
[data-page=contact] .custom-radio input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  background-color: #fff;
  border: 0.125rem solid #ccc;
  border-radius: 50%;
  width: 1.875rem;
  height: 1.875rem;
  margin-right: 0.625rem;
  position: relative;
  cursor: pointer;
}
[data-page=contact] .custom-radio input[type=checkbox]:checked {
  border-color: #007bff;
}
[data-page=contact] .custom-radio input[type=checkbox]:checked::before {
  content: "";
  position: absolute;
  z-index: 2;
  width: 1.25rem;
  height: 1.25rem;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  background: radial-gradient(#007bff 50%, transparent 55%);
  /* 内部圆点 */
}
[data-page=contact] .custom-radio label {
  cursor: pointer;
  width: calc(100% - 3rem);
  font-size: 1.125rem;
}
[data-page=contact] .custom-radio label a {
  display: inline-block;
  background-image: linear-gradient(#000, #000);
  background-size: 100% 0.0625rem;
  background-position: bottom;
  background-repeat: repeat-x;
  padding-bottom: 0.3125rem;
  font-size: 1.125rem;
}
[data-page=contact] .submit-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
[data-page=contact] .required.custom-radio-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
[data-page=contact] #tabentry .custom-radio {
  justify-content: flex-start;
}
[data-page=contact] .mgt_20 {
  margin-top: 1.25rem;
}
[data-page=contact] .occupation-radio-box input[type=radio] {
  appearance: auto;
  width: 1.6875rem;
  margin-left: 0;
  margin-top: 0;
}
[data-page=contact] .occupation-radio-box label {
  padding: 1rem 0.5rem;
  width: auto;
}
[data-page=contact] .radio-org {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  white-space: nowrap;
}
[data-page=contact] .occupation-radio-box {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  width: calc(100% - 16rem);
}
[data-page=contact] .file-btn {
  display: inline-block;
  border: solid 1px #707070;
  border-radius: 0.25rem;
  padding: 0.1875rem 0.25rem 0.1875rem 4rem;
  position: relative;
  font-size: 0.9375rem;
  line-height: 1;
  background-image: url(../img/contact/icon_file.svg);
  background-position: left 0.9375rem center;
  background-repeat: no-repeat;
  background-size: 1rem 1rem;
}
[data-page=contact] .file-upload-box {
  width: calc(100% - 16rem);
}
[data-page=contact] .filestatus-box {
  display: flex;
  align-items: center;
}
[data-page=contact] .file-status,
[data-page=contact] .fileStatus-1 {
  margin-left: 0.625rem;
  font-size: 0.9375rem;
}
[data-page=contact] .file-note {
  font-size: 0.5625rem;
  color: #FF0000;
  line-height: 2;
  font-weight: 50;
  margin-top: 0.4375rem;
}
[data-page=contact] .content-tit.org {
  text-align: left;
  margin-bottom: 1.875rem;
  padding: 0;
}
[data-page=contact] .finish-inner {
  background-color: #fff;
  width: 43.75rem;
  margin: 0 auto;
  padding: 2.5rem 7.5rem 0.5rem;
  border-radius: 1.25rem;
  text-align: center;
}
[data-page=contact] .finish-tit {
  font-size: 1.5625rem;
  font-weight: 600;
  padding: 1.875rem 0;
  display: block;
  text-align: center;
  line-height: 1;
}
[data-page=contact] .finish-txt {
  font-size: 1.125rem;
  line-height: 3;
  font-weight: 400;
}
[data-page=contact] .finish-txt + .finish-txt {
  margin-top: 1.875rem;
}
[data-page=contact] .totop {
  display: block;
  text-align: center;
}
[data-page=contact] .totop a {
  display: inline-block;
  text-align: center;
  background-color: #17BF6D;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 400;
  padding: 0.625rem 1.875rem;
  border-radius: 0.625rem;
  margin-top: 3.125rem;
}
[data-page=contact] .totop :hover {
  opacity: 0.5;
}
[data-page=contact] .totop.org a {
  background-color: #FAA530;
}
[data-page=contact] .recruit-DESCRIPTION {
  /* margin-top: f.rem-pc(100); */
  padding-top: 0.625rem;
}

@media screen and (max-width: 767px) {
  [data-page=contact] {
    /* .custom-radio label a {
    	text-decoration: underline;
    } */
  }
  [data-page=contact] .hidden {
    display: none;
  }
  [data-page=contact] .form-group {
    margin-bottom: 15px;
    font-size: 1.4rem;
  }
  [data-page=contact] .form-group label {
    font-size: 1.4rem;
    margin-bottom: 1rem;
  }
  [data-page=contact] .form-group.custom-radio-box .required label {
    font-size: 1.4rem;
  }
  [data-page=contact] .form-group.custom-radio-box .required label a {
    font-size: 1.4rem;
  }
  [data-page=contact] .form-group label.required {
    display: inline-block;
    font-size: 1.4rem;
    position: relative;
  }
  [data-page=contact] .form-group label.required::before {
    content: "必須";
    padding: 0.2rem;
    color: #fff;
    font-size: 0.9rem;
    left: auto;
    right: 0;
    /* ラベルの左側に配置 */
    top: 50%;
    transform: translate(100%, -50%);
    width: 3.2rem;
    height: auto;
    text-align: center;
    border-radius: 0.4rem;
    margin-right: -1rem;
  }
  [data-page=contact] .form-group > p {
    width: 100%;
  }
  [data-page=contact] .form-group input,
  [data-page=contact] .form-group textarea {
    width: 100%;
    border: none;
    border-radius: 0;
    margin-left: 0;
    font-size: 1.3rem;
  }
  [data-page=contact] .form-group textarea {
    min-height: 22rem;
  }
  [data-page=contact] .form-group.file-upload input {
    width: 100%;
    padding: 8px;
    border: none;
    border-radius: 4px;
    margin-left: 0;
    height: 4.5rem;
    font-size: 1.4rem;
  }
  [data-page=contact] .submit-btn {
    padding: 1rem;
    border: none;
    cursor: pointer;
    border-radius: 1rem;
    max-width: 20rem;
    width: 100%;
    margin: 3rem auto;
    height: 4.3rem;
    display: block;
    font-size: 1.6rem;
    font-weight: 600;
  }
  [data-page=contact] form.contact-form {
    padding-top: 0;
    width: 100%;
  }
  [data-page=contact] .arrow span {
    position: relative;
  }
  [data-page=contact] .tab.arrow.active span::after {
    content: unset;
  }
  [data-page=contact] .tab.arrow span::after {
    content: unset;
  }
  [data-page=contact] .form-group {
    margin-bottom: 3rem;
    display: block;
    justify-content: flex-start;
    align-items: center;
  }
  [data-page=contact] .form-group.occupation label.required {
    margin-bottom: 2rem;
  }
  [data-page=contact] .content-inner {
    max-width: 767px;
    margin: 0 auto;
    width: 100%;
  }
  [data-page=contact] .form-group .required {
    position: relative;
    display: inline-block;
    display: flex;
  }
  [data-page=contact] .form-group label {
    padding: 0;
    width: auto;
  }
  [data-page=contact] .form-group.custom-radio-box label.required {
    display: inline-block;
  }
  [data-page=contact] .form-group.custom-radio-box .required {
    position: relative;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }
  [data-page=contact] .form-group.custom-radio-box > div {
    width: 100%;
  }
  [data-page=contact] .form-group.custom-radio-box {
    justify-content: space-between;
    align-items: flex-start;
  }
  [data-page=contact] .form-group .required::before {
    content: unset;
  }
  [data-page=contact] .form-group.custom-radio-box .required::before {
    top: 50%;
  }
  [data-page=contact] .content-tit {
    text-align: left;
    font-size: 1.4rem;
    line-height: 1.42;
    margin-top: 3rem;
    letter-spacing: 0.04em;
  }
  [data-page=contact] .custom-radio {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
  }
  [data-page=contact] .custom-radio label {
    margin-bottom: 0;
    font-size: 1.4rem;
  }
  [data-page=contact] .custom-radio label a {
    font-size: 1.4rem;
  }
  [data-page=contact] .custom-radio input[type=checkbox] {
    width: 2.2rem;
    height: 2.2rem;
    margin-bottom: 0;
    margin-top: 0;
    border: 0.1rem solid #B4B4B4;
  }
  [data-page=contact] .custom-radio input[type=checkbox]:checked::before {
    width: 2.2rem;
    height: 2.2rem;
  }
  [data-page=contact] .mgt_20 {
    margin-top: 2rem;
  }
  [data-page=contact] .occupation-radio-box input[type=radio] {
    appearance: auto;
    width: 1rem;
  }
  [data-page=contact] .radio-org {
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
  [data-page=contact] .form-group .occupation-radio-box {
    display: block;
    width: 100%;
  }
  [data-page=contact] .occupation-radio-box a {
    font-size: 1.4rem;
    margin-bottom: 2rem;
    line-height: 1;
  }
  [data-page=contact] .form-group .occupation-radio-box label {
    margin-bottom: 0;
  }
  [data-page=contact] .occupation-radio-box input[type=radio] {
    margin-top: 0;
    width: 2.7rem;
  }
  [data-page=contact] .file-btn {
    padding: 1.4rem 2rem 1.4rem 6rem;
    position: relative;
    font-size: 1.2rem;
    line-height: 1;
    background-image: url(../img/contact/icon_file.svg);
    background-position: left 4rem center;
    background-repeat: no-repeat;
    background-size: 1.6rem 1.6rem;
  }
  [data-page=contact] .file-btn label {
    font-size: 1.2rem;
  }
  [data-page=contact] .file-btn label {
    margin-bottom: 0;
  }
  [data-page=contact] .file-upload-box {
    width: 100%;
  }
  [data-page=contact] .filestatus-box {
    display: flex;
    align-items: center;
  }
  [data-page=contact] .file-status {
    margin-left: 1rem;
  }
  [data-page=contact] .file-note {
    font-size: 0.9rem;
    color: #FF0000;
    line-height: 2;
    margin-top: 0.7rem;
    line-height: 1;
  }
  [data-page=contact] .content-tit {
    line-height: 1.78;
    padding: 0 1rem;
  }
  [data-page=contact] .content-tit.org {
    text-align: left;
  }
  [data-page=contact] .finish-inner {
    background-color: #fff;
    max-width: 70rem;
    width: 100%;
    margin: 0 auto;
    padding: 4.4rem 1.8rem 5rem;
    border-radius: 1.6rem;
  }
  [data-page=contact] .finish-tit {
    font-size: 2rem;
    padding: 0 0 4.2rem;
    letter-spacing: 0.04em;
    line-height: 1.5;
  }
  [data-page=contact] .finish-txt {
    text-align: left;
    font-size: 1.4rem;
    line-height: 1.78;
    letter-spacing: 0.04em;
  }
  [data-page=contact] .finish-txt + .finish-txt {
    margin-top: 1em;
  }
  [data-page=contact] .totop {
    display: block;
    text-align: center;
  }
  [data-page=contact] .totop a {
    font-size: 1.6rem;
    font-weight: 600;
    padding: 1.3rem 3rem;
    max-width: 2rem;
    width: 100%;
    margin: 3.8rem auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  [data-page=contact] .recruit-DESCRIPTION {
    /* margin-top: f.rem-sp(65); */
    padding-top: 6.5rem;
  }
}