@charset "UTF-8";


/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license

Copyright (c) 2013 Daniel 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.
*/

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

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

@-webkit-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  40% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }

  60% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  40% {
    -webkit-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    transform: translateY(-30px);
  }

  60% {
    -webkit-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
}

@-webkit-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;
  animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  50% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }

  50% {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
  }

  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}

.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
}

@-webkit-keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
  }

  20%, 40%, 60%, 80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }
}

@keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    transform: translateX(-10px);
  }

  20%, 40%, 60%, 80% {
    -webkit-transform: translateX(10px);
    -ms-transform: translateX(10px);
    transform: translateX(10px);
  }
}

.shake {
  -webkit-animation-name: shake;
  animation-name: shake;
}

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg);
  }

  40% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }

  60% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
  }

  80% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }

  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}

@keyframes swing {
  20% {
    -webkit-transform: rotate(15deg);
    -ms-transform: rotate(15deg);
    transform: rotate(15deg);
  }

  40% {
    -webkit-transform: rotate(-10deg);
    -ms-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }

  60% {
    -webkit-transform: rotate(5deg);
    -ms-transform: rotate(5deg);
    transform: rotate(5deg);
  }

  80% {
    -webkit-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }

  100% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}

.swing {
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing;
}

@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  10%, 20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg);
  }

  30%, 50%, 70%, 90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg);
  }

  40%, 60%, 80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg);
  }

  100% {
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0);
  }
}

@keyframes tada {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }

  10%, 20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg);
  }

  30%, 50%, 70%, 90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg);
  }

  40%, 60%, 80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg);
  }

  100% {
    -webkit-transform: scale(1) rotate(0);
    -ms-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0);
  }
}

.tada {
  -webkit-animation-name: tada;
  animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }

  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg);
  }

  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg);
  }

  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg);
  }

  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg);
  }

  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg);
  }

  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
}

@keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%);
  }

  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    -ms-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg);
  }

  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    -ms-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg);
  }

  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    -ms-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg);
  }

  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    -ms-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg);
  }

  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    -ms-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg);
  }

  100% {
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%);
  }
}

.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble;
}

@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(.3);
    transform: scale(.3);
  }

  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }

  70% {
    -webkit-transform: scale(.9);
    transform: scale(.9);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(.3);
    -ms-transform: scale(.3);
    transform: scale(.3);
  }

  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
  }

  70% {
    -webkit-transform: scale(.9);
    -ms-transform: scale(.9);
    transform: scale(.9);
  }

  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}

.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn;
}

@-webkit-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }

  80% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    -ms-transform: translateY(30px);
    transform: translateY(30px);
  }

  80% {
    -webkit-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    transform: translateY(-10px);
  }

  100% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown;
}

@-webkit-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
    transform: translateX(30px);
  }

  80% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
  }

  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
    -ms-transform: translateX(30px);
    transform: translateX(30px);
  }

  80% {
    -webkit-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    transform: translateX(-10px);
  }

  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft;
}

@-webkit-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
    transform: translateX(-30px);
  }

  80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }

  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
    -ms-transform: translateX(-30px);
    transform: translateX(-30px);
  }

  80% {
    -webkit-transform: translateX(10px);
    -ms-transform: translateX(10px);
    transform: translateX(10px);
  }

  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight;
}

@-webkit-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }

  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    transform: translateY(-30px);
  }

  80% {
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px);
  }

  100% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp;
}

@-webkit-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  25% {
    -webkit-transform: scale(.95);
    transform: scale(.95);
  }

  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  100% {
    opacity: 0;
    -webkit-transform: scale(.3);
    transform: scale(.3);
  }
}

@keyframes bounceOut {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }

  25% {
    -webkit-transform: scale(.95);
    -ms-transform: scale(.95);
    transform: scale(.95);
  }

  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
  }

  100% {
    opacity: 0;
    -webkit-transform: scale(.3);
    -ms-transform: scale(.3);
    transform: scale(.3);
  }
}

.bounceOut {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut;
}

@-webkit-keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }
}

@keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px);
  }
}

.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown;
}

@-webkit-keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

@keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft;
}

@-webkit-keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

@keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    transform: translateX(-20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight;
}

@-webkit-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

@keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp;
}

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

  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    transform: translateX(-20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}

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

  100% {
    opacity: 0;
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
}

@keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
  }
}

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }
}

@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px);
  }
}

.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px);
  }
}

@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    transform: translateX(-20px);
  }
}

.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
  }
}

@keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px);
  }
}

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }
}

@keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px);
  }
}

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}

@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  100% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

@keyframes flip {
  0% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    -ms-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
    -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  100% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

.animated.flip {
  -webkit-backface-visibility: visible;
  -ms-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip;
}

@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg);
  }

  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg);
  }

  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
}

@keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    -ms-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg);
  }

  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    -ms-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg);
  }

  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
}

.flipInX {
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX;
}

@-webkit-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg);
  }

  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg);
  }

  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
}

@keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    -ms-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg);
  }

  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    -ms-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg);
  }

  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
}

.flipInY {
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY;
}

@-webkit-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}

@keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    -ms-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}

.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
}

@-webkit-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}

@keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    -ms-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}

.flipOutY {
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY;
}

@-webkit-keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
}

@keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    -ms-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    -ms-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
}

.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
}

@keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    -ms-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
}

.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}

@-webkit-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0;
  }

  100% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(-200deg);
    -ms-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0;
  }

  100% {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
}

@-webkit-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }

  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }

  100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
}

@-webkit-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }

  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }

  100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
}

@-webkit-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }

  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }

  100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
}

@-webkit-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }

  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }

  100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
}

@-webkit-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  100% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0;
  }
}

@keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  100% {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(200deg);
    -ms-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0;
  }
}

.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
}

@-webkit-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
}

.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
}

@-webkit-keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
}

.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
}

@-webkit-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
}

.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
}

@-webkit-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
}

.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
}

@-webkit-keyframes slideInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes slideInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }

  100% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown;
}

@-webkit-keyframes slideInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }

  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes slideInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }

  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}

@-webkit-keyframes slideInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }

  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes slideInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px);
  }

  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight;
}

@-webkit-keyframes slideOutLeft {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

@keyframes slideOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft;
}

@-webkit-keyframes slideOutRight {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

@keyframes slideOutRight {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight;
}

@-webkit-keyframes slideOutUp {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

@keyframes slideOutUp {
  0% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp;
}

@-webkit-keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%, 60% {
    -webkit-transform: rotate(80deg);
    transform: rotate(80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  40% {
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    transform: rotate(60deg) translateY(0);
    opacity: 1;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  100% {
    -webkit-transform: translateY(700px);
    transform: translateY(700px);
    opacity: 0;
  }
}

@keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%, 60% {
    -webkit-transform: rotate(80deg);
    -ms-transform: rotate(80deg);
    transform: rotate(80deg);
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  40% {
    -webkit-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    transform: rotate(60deg);
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    -ms-transform: rotate(60deg) translateY(0);
    transform: rotate(60deg) translateY(0);
    opacity: 1;
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  100% {
    -webkit-transform: translateY(700px);
    -ms-transform: translateY(700px);
    transform: translateY(700px);
    opacity: 0;
  }
}

.hinge {
  -webkit-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);
    transform: translateX(-100%) rotate(-120deg);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg);
  }
}

@keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg);
  }
}

.rollIn {
  -webkit-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);
    transform: translateX(0px) rotate(0deg);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg);
    transform: translateX(100%) rotate(120deg);
  }
}

@keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    -ms-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg);
    -ms-transform: translateX(100%) rotate(120deg);
    transform: translateX(100%) rotate(120deg);
  }
}

.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut;
}
@charset "UTF-8";
:root {
  --window-width: tan(atan2(100vw, 1px));
  --guideline-color: #e6b887;
  --break: 1600;
  font-size: calc(16 / var(--break) * 100vw);
  --linktxt: #a8415d;
  --black: #000;
  --color01: #3D62AD;
  --color02: #EBEFF7;
  --color03: #FFF226;
  --color04: #F8F8F8;
  --color05: #F1F5FA;
  --color06: #c4952c;
  --color07: #f0e4ce;
  --color08: #eeeeee;
  --color09: #c27337;
  --color10: #af9973;
  --color11: #514429;
  --color12: #FFF4E8;
  --color13: #;
  --color14: #;
  --color15: #;
  --color16: #;
  --color17: #;
  --color18: #;
  --color19: #;
  --size5px: calc(5 / var(--break) * 100vw);
  --size10px: calc(10 / var(--break) * 100vw);
  --size15px: calc(15 / var(--break) * 100vw);
  --size20px: calc(20 / var(--break) * 100vw);
  --size24px: calc(24 / var(--break) * 100vw);
  --size25px: calc(25 / var(--break) * 100vw);
  --size30px: calc(30 / var(--break) * 100vw);
  --size35px: calc(35 / var(--break) * 100vw);
  --size40px: calc(40 / var(--break) * 100vw);
  --size45px: calc(45 / var(--break) * 100vw);
  --size50px: calc(50 / var(--break) * 100vw);
  --size55px: calc(55 / var(--break) * 100vw);
  --size60px: calc(60 / var(--break) * 100vw);
  --size65px: calc(65 / var(--break) * 100vw);
  --size70px: calc(70 / var(--break) * 100vw);
  --size75px: calc(75 / var(--break) * 100vw);
  --size80px: calc(80 / var(--break) * 100vw);
  --size85px: calc(85 / var(--break) * 100vw);
  --size90px: calc(90 / var(--break) * 100vw);
  --size95px: calc(95 / var(--break) * 100vw);
  --size100px: calc(100 / var(--break) * 100vw);
  --size105px: calc(105 / var(--break) * 100vw);
  --size110px: calc(110 / var(--break) * 100vw);
  --size115px: calc(115 / var(--break) * 100vw);
  --size120px: calc(120 / var(--break) * 100vw);
  --size125px: calc(125 / var(--break) * 100vw);
  --size130px: calc(130 / var(--break) * 100vw);
  --size135px: calc(135 / var(--break) * 100vw);
  --size140px: calc(140 / var(--break) * 100vw);
  --size145px: calc(145 / var(--break) * 100vw);
  --size150px: calc(150 / var(--break) * 100vw);
  --size160px: calc(160 / var(--break) * 100vw);
  --size170px: calc(170 / var(--break) * 100vw);
  --size175px: calc(175 / var(--break) * 100vw);
  --size180px: calc(180 / var(--break) * 100vw);
  --size190px: calc(190 / var(--break) * 100vw);
  --size195px: calc(195 / var(--break) * 100vw);
  --size200px: calc(200 / var(--break) * 100vw);
}

@media (min-width: 1600px) {
  :root {
    --break: 1600;
    font-size: 1rem;
    --size5px: 0.3125rem;
    --size10px: 0.625rem;
    --size15px: 0.9375rem;
    --size20px: 1.25rem;
    --size24px: 1.5rem;
    --size25px: 1.5625rem;
    --size30px: 1.875rem;
    --size35px: 2.1875rem;
    --size40px: 2.5rem;
    --size45px: 2.8125rem;
    --size50px: 3.125rem;
    --size55px: 3.4375rem;
    --size60px: 3.75rem;
    --size65px: 4.0625rem;
    --size70px: 4.375rem;
    --size75px: 4.6875rem;
    --size80px: 5rem;
    --size85px: 5.3125rem;
    --size90px: 5.625rem;
    --size95px: 5.9375rem;
    --size100px: 6.25rem;
    --size105px: 6.5625rem;
    --size110px: 6.875rem;
    --size115px: 7.1875rem;
    --size120px: 7.5rem;
    --size125px: 7.8125rem;
    --size130px: 8.125rem;
    --size135px: 8.4375rem;
    --size140px: 8.75rem;
    --size145px: 9.0625rem;
    --size150px: 9.375rem;
    --size155px: 9.6875rem;
    --size160px: 10rem;
    --size165px: 10.3125rem;
    --size170px: 10.625rem;
    --size175px: 10.9375rem;
    --size180px: 11.25rem;
    --size185px: 11.5625rem;
    --size190px: 11.875rem;
    --size195px: 12.1875rem;
    --size200px: 12.5rem;
  }
}
@media (min-width: 1200px) and (max-width: 1599px) {
  :root {
    --break: 1599;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  :root {
    --break: 1199;
  }
}
@media (max-width: 767px) {
  :root {
    --break: 375;
    font-size: 4.27vw;
  }
  html,
body {
    font-size: 1rem;
    letter-spacing: 0.05em;
  }
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-size: 1rem;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  color: var(--black);
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.ef {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.mf {
  font-family: "Shippori Antique B1", sans-serif;
  font-optical-sizing: auto;
}

/*ページエフェクト*/
body::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff; /* 背景カラー */
  z-index: 9999; /* 一番手前に */
  pointer-events: none; /* 他の要素にアクセス可能にするためにポインターイベントは無効に */
  opacity: 0; /* 初期値では非表示 */ /* アニメーション時間は 0.8秒 */
  transition: opacity 0.8s ease;
}

/*body要素に.fadeoutセレクタがある場合には、レイヤーが表示されるようにopacityを１に設定します。*/
body.fade::after {
  opacity: 1;
}

.fwn {
  font-weight: normal;
}

.fwm {
  font-weight: 500;
}

.fwb {
  font-weight: bold;
}

.fwsb {
  font-weight: 600;
}

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

iframe {
  max-width: 100%;
}

video {
  max-width: 100%;
}

* {
  margin: 0;
  padding: 0;
}

li {
  list-style: none;
}

a {
  color: var(--linktxt);
  text-decoration: none;
  transition: color 0.2s, background-color 0.2s, border-color 0.2s, opacity 0.2s, text-decoratin 0.2s;
}

#wrap {
  overflow-x: hidden;
  position: relative;
}

.oh {
  overflow: hidden;
}

a:hover {
  opacity: 0.85;
  transition: 0.2s;
}

a.zoom {
  pointer-events: none;
}

.inner_s,
.inner_sm,
.inner,
.inner_m,
.inner_ml,
.inner_l,
.inner_ll,
.inner1000,
.inner1140,
.inner1200,
.inner1340,
.inner1500,
.inner1640,
.inner1720 {
  max-width: 1168px;
  max-width: 1252px;
  padding-left: 66px;
  padding-right: 66px;
  margin: 0 auto;
  width: 100%;
}

.inner_s {
  max-width: 848px;
  max-width: 932px;
}

.inner_sm {
  max-width: 948px;
  max-width: 1032px;
}

.inner_ll {
  max-width: 1528px;
  max-width: 1612px;
}

.inner_l {
  max-width: 1498px;
  max-width: 1582px;
}

.inner_m {
  max-width: 1248px;
  max-width: 1332px;
}

.inner_ml {
  max-width: 1348px;
  max-width: 1432px;
}

.inner1000 {
  max-width: 1000px;
  max-width: 1084px;
}

.inner1140 {
  max-width: 1140px;
  max-width: 1224px;
}

.inner1200 {
  max-width: 1200px;
  max-width: 1284px;
}

.inner1340 {
  max-width: 1340px;
  max-width: 1424px;
}

.inner1500 {
  max-width: 1500px;
  max-width: 1584px;
}

.inner1640 {
  max-width: 1640px;
  max-width: 1724px;
}

.inner1720 {
  max-width: 1720px;
  max-width: 1804px;
}

.w100 {
  width: 100% !important;
}

table {
  table-layout: fixed;
}

td input {
  max-width: 100%;
}

a[href^="tel:"] {
  cursor: default;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  a[href^="tel:"] {
    pointer-events: all;
  }
}

a[href^="tel:"]:hover {
  opacity: 1;
}

.slick-slide {
  outline: none;
}

.adjust {
  display: none;
}

.tb_only {
  display: none;
}

.sp_only {
  display: none;
}

.tb_pc {
  display: inherit;
}

.in_pc {
  display: inline;
}

.sp_tb {
  display: none;
}

@media (min-width: 768px) and (max-width: 1299px) {
  .pc_only {
    display: none;
  }
  .tb_only {
    display: inherit;
  }
  .sp_only {
    display: none;
  }
  .tb_pc {
    display: inherit;
  }
  .in_pc {
    display: inline;
  }
  .sp_tb {
    display: inherit;
  }
}
.flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-start;
}

.flex.start {
  justify-content: flex-start;
}

.flex.end {
  justify-content: flex-end;
}

.flex.center {
  justify-content: center;
}

.flex.around {
  justify-content: space-around;
}

.flex.between {
  justify-content: space-between;
}

.flex.stretch {
  align-items: stretch;
}

.flex.ai_center {
  align-items: center;
}

.flex.ai_start {
  align-items: flex-start;
}

.flex.ai_end {
  align-items: flex-end;
}

.flex.ai_baseline {
  align-items: baseline;
}

.flex.nowrap {
  flex-wrap: nowrap;
}

.flex.column {
  flex-direction: column;
}

.flex.row {
  flex-direction: row;
}

.flex.c_reverse {
  flex-direction: column-reverse;
}

.flex.r_reverse {
  flex-direction: row-reverse;
}

.flex.cc {
  align-items: center;
  justify-content: center;
}

.flex.ccc {
  align-items: center;
  justify-content: center;
  text-align: center;
}

.flex.cccc {
  align-items: center;
  justify-content: center;
  text-align: center;
  flex-direction: column;
}

.cgap10 {
  -moz-column-gap: calc(10 / var(--break) * 100vw);
       column-gap: calc(10 / var(--break) * 100vw);
}

.cgap20 {
  -moz-column-gap: calc(20 / var(--break) * 100vw);
       column-gap: calc(20 / var(--break) * 100vw);
}

.cgap30 {
  -moz-column-gap: calc(30 / var(--break) * 100vw);
       column-gap: calc(30 / var(--break) * 100vw);
}

.cgap40 {
  -moz-column-gap: calc(40 / var(--break) * 100vw);
       column-gap: calc(40 / var(--break) * 100vw);
}

.cgap50 {
  -moz-column-gap: calc(50 / var(--break) * 100vw);
       column-gap: calc(50 / var(--break) * 100vw);
}

.cgap70 {
  -moz-column-gap: calc(70 / var(--break) * 100vw);
       column-gap: calc(70 / var(--break) * 100vw);
}

.cgap100 {
  -moz-column-gap: calc(100 / var(--break) * 100vw);
       column-gap: calc(100 / var(--break) * 100vw);
}

.rgap70 {
  row-gap: calc(70 / var(--break) * 100vw);
}

.noshrink {
  flex: 0 0 auto;
}

.grow {
  flex: 1 1 auto;
}

.ccl {
  border-radius: 100%;
}

.bdrd5 {
  border-radius: var(--size5px);
}

.bdrd10 {
  border-radius: var(--size10px);
}

.bdrd15 {
  border-radius: var(--size15px);
}

.bdrd20 {
  border-radius: var(--size20px);
}

.bdrd25 {
  border-radius: var(--size25px);
}

.bdrd30 {
  border-radius: var(--size30px);
}

.bdrd35 {
  border-radius: var(--size35px);
}

.bdrd40 {
  border-radius: var(--size40px);
}

.bdrd45 {
  border-radius: var(--size45px);
}

.bdrd50 {
  border-radius: var(--size50px);
}

.txt_left {
  text-align: left;
}

.txt_center {
  text-align: center;
}

.txt_right {
  text-align: right;
}

.txt_rl {
  writing-mode: vertical-rl;
  text-orientation: upright;
}

.txt_ind {
  text-indent: 1em;
}

.txt_ind_r {
  text-indent: -0.5em;
}

.mgn_a {
  margin-left: auto;
  margin-right: auto;
}

.mgn_l {
  margin-left: auto;
}

.mgn_r {
  margin-right: auto;
}

.no_mgn {
  margin-bottom: 0 !important;
}

.mb5 {
  margin-bottom: var(--size5px);
}

.mb10 {
  margin-bottom: var(--size10px);
}

.mb15 {
  margin-bottom: var(--size15px);
}

.mb20 {
  margin-bottom: var(--size20px);
}

.mb24 {
  margin-bottom: var(--size24px);
}

.mb25 {
  margin-bottom: var(--size25px);
}

.mb30 {
  margin-bottom: var(--size30px);
}

.mb35 {
  margin-bottom: var(--size35px);
}

.mb40 {
  margin-bottom: var(--size40px);
}

.mb45 {
  margin-bottom: var(--size45px);
}

.mb50 {
  margin-bottom: var(--size50px);
}

.mb55 {
  margin-bottom: var(--size55px);
}

.mb60 {
  margin-bottom: var(--size60px);
}

.mb65 {
  margin-bottom: var(--size65px);
}

.mb70 {
  margin-bottom: var(--size70px);
}

.mb75 {
  margin-bottom: var(--size75px);
}

.mb80 {
  margin-bottom: var(--size80px);
}

.mb85 {
  margin-bottom: var(--size85px);
}

.mb90 {
  margin-bottom: var(--size90px);
}

.mb95 {
  margin-bottom: var(--size95px);
}

.mb100 {
  margin-bottom: var(--size100px);
}

.mb105 {
  margin-bottom: var(--size105px);
}

.mb110 {
  margin-bottom: var(--size110px);
}

.mb115 {
  margin-bottom: var(--size115px);
}

.mb120 {
  margin-bottom: var(--size120px);
}

.mb125 {
  margin-bottom: var(--size125px);
}

.mb130 {
  margin-bottom: var(--size130px);
}

.mb135 {
  margin-bottom: var(--size135px);
}

.mb140 {
  margin-bottom: var(--size140px);
}

.mb145 {
  margin-bottom: var(--size145px);
}

.mb150 {
  margin-bottom: var(--size150px);
}

.mb195 {
  margin-bottom: var(--size195px);
}

.mb200 {
  margin-bottom: var(--size200px);
}

.mb05em {
  margin-bottom: 0.5em;
}

.mb10em {
  margin-bottom: 1em;
}

.mb15em {
  margin-bottom: 1.5em;
}

.mb20em {
  margin-bottom: 2em;
}

.mb25em {
  margin-bottom: 2.5em;
}

.mb30em {
  margin-bottom: 3em;
}

.mt5 {
  margin-top: var(--size5px);
}

.mt10 {
  margin-top: var(--size10px);
}

.mt15 {
  margin-top: var(--size15px);
}

.mt20 {
  margin-top: var(--size20px);
}

.mt24 {
  margin-top: var(--size24px);
}

.mt25 {
  margin-top: var(--size25px);
}

.mt30 {
  margin-top: var(--size30px);
}

.mt35 {
  margin-top: var(--size35px);
}

.mt40 {
  margin-top: var(--size40px);
}

.mt45 {
  margin-top: var(--size45px);
}

.mt50 {
  margin-top: var(--size50px);
}

.mt55 {
  margin-top: var(--size55px);
}

.mt60 {
  margin-top: var(--size60px);
}

.mt65 {
  margin-top: var(--size65px);
}

.mt70 {
  margin-top: var(--size70px);
}

.mt75 {
  margin-top: var(--size75px);
}

.mt80 {
  margin-top: var(--size80px);
}

.mt85 {
  margin-top: var(--size85px);
}

.mt90 {
  margin-top: var(--size90px);
}

.mt95 {
  margin-top: var(--size95px);
}

.mt100 {
  margin-top: var(--size100px);
}

.mt105 {
  margin-top: var(--size105px);
}

.mt110 {
  margin-top: var(--size110px);
}

.mt115 {
  margin-top: var(--size115px);
}

.mt120 {
  margin-top: var(--size120px);
}

.mt125 {
  margin-top: var(--size125px);
}

.mt130 {
  margin-top: var(--size130px);
}

.mt135 {
  margin-top: var(--size135px);
}

.mt140 {
  margin-top: var(--size140px);
}

.mt145 {
  margin-top: var(--size145px);
}

.mt150 {
  margin-top: var(--size150px);
}

.mt05em {
  margin-top: 0.5em;
}

.mt10em {
  margin-top: 1em;
}

.mt15em {
  margin-top: 1.5em;
}

.mt20em {
  margin-top: 2em;
}

.mt25em {
  margin-top: 2.5em;
}

.mt30em {
  margin-top: 3em;
}

.mr5 {
  margin-right: var(--size5px);
}

.mr10 {
  margin-right: var(--size10px);
}

.mr15 {
  margin-right: var(--size15px);
}

.mr20 {
  margin-right: var(--size20px);
}

.mr24 {
  margin-right: var(--size24px);
}

.mr25 {
  margin-right: var(--size25px);
}

.mr30 {
  margin-right: var(--size30px);
}

.mr35 {
  margin-right: var(--size35px);
}

.mr40 {
  margin-right: var(--size40px);
}

.mr45 {
  margin-right: var(--size45px);
}

.mr50 {
  margin-right: var(--size50px);
}

.ml5 {
  margin-left: var(--size5px);
}

.ml10 {
  margin-left: var(--size10px);
}

.ml15 {
  margin-left: var(--size15px);
}

.ml20 {
  margin-left: var(--size20px);
}

.ml24 {
  margin-left: var(--size24px);
}

.ml25 {
  margin-left: var(--size25px);
}

.ml30 {
  margin-left: var(--size30px);
}

.ml35 {
  margin-left: var(--size35px);
}

.ml40 {
  margin-left: var(--size40px);
}

.ml45 {
  margin-left: var(--size45px);
}

.ml50 {
  margin-left: var(--size50px);
}

.ml60 {
  margin-left: var(--size60px);
}

.db {
  display: block;
}

.dib {
  display: inline-block;
}

.dtbl {
  display: table;
}

.por {
  position: relative;
  z-index: 1;
}

.poa {
  position: absolute;
}

.zi0 {
  z-index: 0;
}

.zi1 {
  z-index: 1;
}

.zi2 {
  z-index: 2;
}

.turn_up {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}

.lh1 {
  line-height: 1;
}

.lh11 {
  line-height: 1.1;
}

.lh12 {
  line-height: 1.2;
}

.lh13 {
  line-height: 1.3;
}

.lh14 {
  line-height: 1.4;
}

.lh15 {
  line-height: 1.5;
}

.lh16 {
  line-height: 1.6;
}

.lh17 {
  line-height: 1.7;
}

.lh18 {
  line-height: 1.8;
}

.lh19 {
  line-height: 1.9;
}

.lh2 {
  line-height: 2;
}

.lh21 {
  line-height: 2.1;
}

.lh22 {
  line-height: 2.2;
}

.lh25 {
  line-height: 2.5;
}

.pt0 {
  padding-top: 0;
}

.pt5 {
  padding-top: var(--size5px);
}

.pt10 {
  padding-top: var(--size10px);
}

.pt15 {
  padding-top: var(--size15px);
}

.pt20 {
  padding-top: var(--size20px);
}

.pt24 {
  padding-top: var(--size24px);
}

.pt25 {
  padding-top: var(--size25px);
}

.pt30 {
  padding-top: var(--size30px);
}

.pt35 {
  padding-top: var(--size35px);
}

.pt40 {
  padding-top: var(--size40px);
}

.pt45 {
  padding-top: var(--size45px);
}

.pt50 {
  padding-top: var(--size50px);
}

.pt55 {
  padding-top: var(--size55px);
}

.pt60 {
  padding-top: var(--size60px);
}

.pt65 {
  padding-top: var(--size65px);
}

.pt70 {
  padding-top: var(--size70px);
}

.pt75 {
  padding-top: var(--size75px);
}

.pt80 {
  padding-top: var(--size80px);
}

.pt85 {
  padding-top: var(--size85px);
}

.pt90 {
  padding-top: var(--size90px);
}

.pt95 {
  padding-top: var(--size95px);
}

.pt100 {
  padding-top: var(--size100px);
}

.pt105 {
  padding-top: var(--size105px);
}

.pt110 {
  padding-top: var(--size110px);
}

.pt115 {
  padding-top: var(--size115px);
}

.pt120 {
  padding-top: var(--size120px);
}

.pt125 {
  padding-top: var(--size125px);
}

.pt130 {
  padding-top: var(--size130px);
}

.pt135 {
  padding-top: var(--size135px);
}

.pt140 {
  padding-top: var(--size140px);
}

.pt145 {
  padding-top: var(--size145px);
}

.pt150 {
  padding-top: var(--size150px);
}

.pt160 {
  padding-top: var(--size160px);
}

.pt170 {
  padding-top: var(--size170px);
}

.pt180 {
  padding-top: var(--size180px);
}

.pt190 {
  padding-top: var(--size190px);
}

.pt200 {
  padding-top: var(--size200px);
}

.pb0 {
  padding-bottom: 0;
}

.pb5 {
  padding-bottom: var(--size5px);
}

.pb10 {
  padding-bottom: var(--size10px);
}

.pb15 {
  padding-bottom: var(--size15px);
}

.pb20 {
  padding-bottom: var(--size20px);
}

.pb24 {
  padding-bottom: var(--size24px);
}

.pb25 {
  padding-bottom: var(--size25px);
}

.pb30 {
  padding-bottom: var(--size30px);
}

.pb35 {
  padding-bottom: var(--size35px);
}

.pb40 {
  padding-bottom: var(--size40px);
}

.pb45 {
  padding-bottom: var(--size45px);
}

.pb50 {
  padding-bottom: var(--size50px);
}

.pb55 {
  padding-bottom: var(--size55px);
}

.pb60 {
  padding-bottom: var(--size60px);
}

.pb65 {
  padding-bottom: var(--size65px);
}

.pb70 {
  padding-bottom: var(--size70px);
}

.pb75 {
  padding-bottom: var(--size75px);
}

.pb80 {
  padding-bottom: var(--size80px);
}

.pb85 {
  padding-bottom: var(--size85px);
}

.pb90 {
  padding-bottom: var(--size90px);
}

.pb95 {
  padding-bottom: var(--size95px);
}

.pb100 {
  padding-bottom: var(--size100px);
}

.pb105 {
  padding-bottom: var(--size105px);
}

.pb110 {
  padding-bottom: var(--size110px);
}

.pb115 {
  padding-bottom: var(--size115px);
}

.pb120 {
  padding-bottom: var(--size120px);
}

.pb125 {
  padding-bottom: var(--size125px);
}

.pb130 {
  padding-bottom: var(--size130px);
}

.pb135 {
  padding-bottom: var(--size135px);
}

.pb140 {
  padding-bottom: var(--size140px);
}

.pb145 {
  padding-bottom: var(--size145px);
}

.pb150 {
  padding-bottom: var(--size150px);
}

.pb160 {
  padding-bottom: var(--size160px);
}

.pb170 {
  padding-bottom: var(--size170px);
}

.pb180 {
  padding-bottom: var(--size180px);
}

.pb190 {
  padding-bottom: var(--size190px);
}

.pb200 {
  padding-bottom: var(--size200px);
}

.pr5 {
  padding-right: var(--size5px);
}

.pr10 {
  padding-right: var(--size10px);
}

.pr15 {
  padding-right: var(--size15px);
}

.pr20 {
  padding-right: var(--size20px);
}

.pr24 {
  padding-right: var(--size24px);
}

.pr25 {
  padding-right: var(--size25px);
}

.pr30 {
  padding-right: var(--size30px);
}

.pr35 {
  padding-right: var(--size35px);
}

.pr40 {
  padding-right: var(--size40px);
}

.pr45 {
  padding-right: var(--size45px);
}

.pr50 {
  padding-right: var(--size50px);
}

.pr55 {
  padding-right: var(--size55px);
}

.pr60 {
  padding-right: var(--size60px);
}

.pr65 {
  padding-right: var(--size65px);
}

.pr70 {
  padding-right: var(--size70px);
}

.pr75 {
  padding-right: var(--size75px);
}

.pr80 {
  padding-right: var(--size80px);
}

.pr85 {
  padding-right: var(--size85px);
}

.pr90 {
  padding-right: var(--size90px);
}

.pr95 {
  padding-right: var(--size95px);
}

.pr100 {
  padding-right: var(--size100px);
}

.pl5 {
  padding-left: var(--size5px);
}

.pl10 {
  padding-left: var(--size10px);
}

.pl15 {
  padding-left: var(--size15px);
}

.pl20 {
  padding-left: var(--size20px);
}

.pl24 {
  padding-left: var(--size24px);
}

.pl25 {
  padding-left: var(--size25px);
}

.pl30 {
  padding-left: var(--size30px);
}

.pl35 {
  padding-left: var(--size35px);
}

.pl40 {
  padding-left: var(--size40px);
}

.pl45 {
  padding-left: var(--size45px);
}

.pl50 {
  padding-left: var(--size50px);
}

.pl55 {
  padding-left: var(--size55px);
}

.pl60 {
  padding-left: var(--size60px);
}

.pl65 {
  padding-left: var(--size65px);
}

.pl70 {
  padding-left: var(--size70px);
}

.pl75 {
  padding-left: var(--size75px);
}

.pl80 {
  padding-left: var(--size80px);
}

.pl85 {
  padding-left: var(--size85px);
}

.pl90 {
  padding-left: var(--size90px);
}

.pl95 {
  padding-left: var(--size95px);
}

.pl100 {
  padding-left: var(--size100px);
}

.prl5 {
  padding-right: var(--size5px);
  padding-left: var(--size5px);
}

.prl10 {
  padding-right: var(--size10px);
  padding-left: var(--size10px);
}

.prl15 {
  padding-right: var(--size15px);
  padding-left: var(--size15px);
}

.prl20 {
  padding-right: var(--size20px);
  padding-left: var(--size20px);
}

.prl24 {
  padding-right: var(--size24px);
  padding-left: var(--size24px);
}

.prl25 {
  padding-right: var(--size25px);
  padding-left: var(--size25px);
}

.prl30 {
  padding-right: var(--size30px);
  padding-left: var(--size30px);
}

.prl35 {
  padding-right: var(--size35px);
  padding-left: var(--size35px);
}

.prl40 {
  padding-right: var(--size40px);
  padding-left: var(--size40px);
}

.prl45 {
  padding-right: var(--size45px);
  padding-left: var(--size45px);
}

.prl50 {
  padding-right: var(--size50px);
  padding-left: var(--size50px);
}

.prl55 {
  padding-right: var(--size55px);
  padding-left: var(--size55px);
}

.prl60 {
  padding-right: var(--size60px);
  padding-left: var(--size60px);
}

.prl65 {
  padding-right: var(--size65px);
  padding-left: var(--size65px);
}

.prl70 {
  padding-right: var(--size70px);
  padding-left: var(--size70px);
}

.prl75 {
  padding-right: var(--size75px);
  padding-left: var(--size75px);
}

.prl80 {
  padding-right: var(--size80px);
  padding-left: var(--size80px);
}

.prl85 {
  padding-right: var(--size85px);
  padding-left: var(--size85px);
}

.prl90 {
  padding-right: var(--size90px);
  padding-left: var(--size90px);
}

.prl95 {
  padding-right: var(--size95px);
  padding-left: var(--size95px);
}

.prl100 {
  padding-right: var(--size100px);
  padding-left: var(--size100px);
}

.fz10 {
  font-size: 0.625rem;
  letter-spacing: 0.05em;
}

.fz12 {
  font-size: 0.75rem;
  letter-spacing: 0.05em;
}

.fz13 {
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
}

.fz14 {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}

.fz15 {
  font-size: 0.9375rem;
  letter-spacing: 0.05em;
}

.fz16 {
  font-size: 1rem;
  letter-spacing: 0.05em;
}

.fz18 {
  font-size: 1.125rem;
  letter-spacing: 0.05em;
}

.fz20 {
  font-size: 1.25rem;
  letter-spacing: 0.05em;
}

.fz22 {
  font-size: 1.375rem;
  letter-spacing: 0.05em;
}

.fz24 {
  font-size: 1.5rem;
  letter-spacing: 0.05em;
}

.fz25 {
  font-size: 1.5625rem;
  letter-spacing: 0.05em;
}

.fz26 {
  font-size: 1.625rem;
  letter-spacing: 0.05em;
}

.fz28 {
  font-size: 1.75rem;
  letter-spacing: 0.05em;
}

.fz30 {
  font-size: 1.875rem;
  letter-spacing: 0.05em;
}

.fz32 {
  font-size: 2rem;
  letter-spacing: 0.05em;
}

.fz34 {
  font-size: 2.125rem;
  letter-spacing: 0.05em;
}

.fz35 {
  font-size: 2.187rem;
  letter-spacing: 0.05em;
}

.fz36 {
  font-size: 2.25rem;
  letter-spacing: 0.05em;
}

.fz38 {
  font-size: 2.375rem;
  letter-spacing: 0.05em;
}

.fz40 {
  font-size: 2.5rem;
  letter-spacing: 0.05em;
}

.fz42 {
  font-size: 2.625rem;
  letter-spacing: 0.05em;
}

.fz44 {
  font-size: 2.75rem;
  letter-spacing: 0.05em;
}

.fz45 {
  font-size: 2.812rem;
  letter-spacing: 0.05em;
}

.fz46 {
  font-size: 2.875rem;
  letter-spacing: 0.05em;
}

.fz48 {
  font-size: 3rem;
  letter-spacing: 0.05em;
}

.fz50 {
  font-size: 3.125rem;
  letter-spacing: 0.05em;
}

.fz52 {
  font-size: 3.25rem;
  letter-spacing: 0.05em;
}

.fz54 {
  font-size: 3.375rem;
  letter-spacing: 0.05em;
}

.fz56 {
  font-size: 3.5rem;
  letter-spacing: 0.05em;
}

.fz58 {
  font-size: 3.625rem;
  letter-spacing: 0.05em;
}

.fz60 {
  font-size: 3.75rem;
  letter-spacing: 0.05em;
}

.fz62 {
  font-size: 3.875rem;
  letter-spacing: 0.05em;
}

.fz64 {
  font-size: 4rem;
  letter-spacing: 0.05em;
}

.fz66 {
  font-size: 4.125rem;
  letter-spacing: 0.05em;
}

.fz68 {
  font-size: 4.25rem;
  letter-spacing: 0.05em;
}

.fz70 {
  font-size: 4.375rem;
  letter-spacing: 0.05em;
}

.fz80 {
  font-size: 5rem;
  letter-spacing: 0.05em;
}

.fz84 {
  font-size: 5.25rem;
  letter-spacing: 0.05em;
}

.fz86 {
  font-size: 5.5rem;
  letter-spacing: 0.05em;
}

.fz90 {
  font-size: 5.625rem;
  letter-spacing: 0.05em;
}

.fz96 {
  font-size: 6rem;
  letter-spacing: 0.05em;
}

.fz100 {
  font-size: 6.25rem;
  letter-spacing: 0.05em;
}

.fz110 {
  font-size: 6.875rem;
  letter-spacing: 0.05em;
}

.fz120 {
  font-size: 7.5rem;
  letter-spacing: 0.05em;
}

.fz130 {
  font-size: 8.125rem;
  letter-spacing: 0.05em;
}

.fz140 {
  font-size: 8.75rem;
  letter-spacing: 0.05em;
}

.fz150 {
  font-size: 9.375rem;
  letter-spacing: 0.05em;
}

.fz160 {
  font-size: 10rem;
  letter-spacing: 0.05em;
}

.fz170 {
  font-size: 10.625rem;
  letter-spacing: 0.05em;
}

.fz180 {
  font-size: 11.25rem;
  letter-spacing: 0.05em;
}

.fz190 {
  font-size: 11.875rem;
  letter-spacing: 0.05em;
}

.fz200 {
  font-size: 12.5rem;
  letter-spacing: 0.05em;
}

.ls0 {
  letter-spacing: 0;
}

.ls05 {
  letter-spacing: 0.05em;
}

.ls1 {
  letter-spacing: 0.1em;
}

.ls15 {
  letter-spacing: 0.15em;
}

.ls2 {
  letter-spacing: 0.2em;
}

.ls25 {
  letter-spacing: 0.25em;
}

.txt_white {
  color: #fff !important;
}

.bg_white {
  background-color: #fff !important;
}

.bdr_white {
  border-color: #fff !important;
}

.shadow_w {
  text-shadow: 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 15px #fff, 0px 0px 15px #fff;
}

.shadow_wb {
  text-shadow: 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 15px #fff, 0px 0px 15px #fff, 0px 0px 15px #fff, 0px 0px 20px #fff, 0px 0px 20px #fff;
}

.shadow {
  text-shadow: 0px 0px 5px #464646, 0px 0px 5px #464646, 0px 0px 10px #464646, 0px 0px 10px #464646, 0px 0px 15px #464646, 0px 0px 15px #464646;
}

.shadow_b {
  text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5), 0px 0px 5px rgba(0, 0, 0, 0.5), 0px 0px 10px rgba(0, 0, 0, 0.5);
}

em {
  font-style: normal;
}

.txt_col01 {
  color: var(--color01) !important;
}

.txt_col02 {
  color: var(--color02) !important;
}

.txt_col03 {
  color: var(--color03) !important;
}

.txt_col04 {
  color: var(--color04) !important;
}

.txt_col05 {
  color: var(--color05) !important;
}

.txt_col06 {
  color: var(--color06) !important;
}

.txt_col07 {
  color: var(--color07) !important;
}

.txt_col08 {
  color: var(--color08) !important;
}

.txt_col09 {
  color: var(--color09) !important;
}

.txt_col10 {
  color: var(--color10) !important;
}

.txt_col11 {
  color: var(--color11) !important;
}

.txt_col12 {
  color: var(--color12) !important;
}

.txt_col13 {
  color: var(--color13) !important;
}

.txt_col14 {
  color: var(--color14) !important;
}

.txt_col15 {
  color: var(--color15) !important;
}

.txt_col16 {
  color: var(--color16) !important;
}

.txt_col17 {
  color: var(--color17) !important;
}

.txt_col18 {
  color: var(--color18) !important;
}

.txt_col19 {
  color: var(--color19) !important;
}

.txt_col20 {
  color: var(--color20) !important;
}

.txt_col_fl01::first-letter {
  color: var(--color01) !important;
}

.txt_col_fl02::first-letter {
  color: var(--color02) !important;
}

.txt_col_fl03::first-letter {
  color: var(--color03) !important;
}

.txt_col_fl04::first-letter {
  color: var(--color04) !important;
}

.txt_col_fl05::first-letter {
  color: var(--color05) !important;
}

.txt_col_fl06::first-letter {
  color: var(--color06) !important;
}

.txt_col_fl07::first-letter {
  color: var(--color07) !important;
}

.txt_col_fl08::first-letter {
  color: var(--color08) !important;
}

.txt_col_fl09::first-letter {
  color: var(--color09) !important;
}

.txt_col_fl10::first-letter {
  color: var(--color10) !important;
}

.txt_col_fl11::first-letter {
  color: var(--color11) !important;
}

.txt_col_fl12::first-letter {
  color: var(--color12) !important;
}

.txt_col_fl13::first-letter {
  color: var(--color13) !important;
}

.txt_col_fl14::first-letter {
  color: var(--color14) !important;
}

.txt_col_fl15::first-letter {
  color: var(--color15) !important;
}

.txt_col_fl16::first-letter {
  color: var(--color16) !important;
}

.txt_col_fl17::first-letter {
  color: var(--color17) !important;
}

.txt_col_fl18::first-letter {
  color: var(--color18) !important;
}

.txt_col_fl19::first-letter {
  color: var(--color19) !important;
}

.txt_col_fl20::first-letter {
  color: var(--color20) !important;
}

.bg_col01 {
  background-color: var(--color01) !important;
}

.bg_col02 {
  background-color: var(--color02) !important;
}

.bg_col03 {
  background-color: var(--color03) !important;
}

.bg_col04 {
  background-color: var(--color04) !important;
}

.bg_col05 {
  background-color: var(--color05) !important;
}

.bg_col06 {
  background-color: var(--color06) !important;
}

.bg_col07 {
  background-color: var(--color07) !important;
}

.bg_col08 {
  background-color: var(--color08) !important;
}

.bg_col09 {
  background-color: var(--color09) !important;
}

.bg_col10 {
  background-color: var(--color10) !important;
}

.bg_col11 {
  background-color: var(--color11) !important;
}

.bg_col12 {
  background-color: var(--color12) !important;
}

.bg_col13 {
  background-color: var(--color13) !important;
}

.bg_col14 {
  background-color: var(--color14) !important;
}

.bg_col15 {
  background-color: var(--color15) !important;
}

.bg_col16 {
  background-color: var(--color16) !important;
}

.bg_col17 {
  background-color: var(--color17) !important;
}

.bg_col18 {
  background-color: var(--color18) !important;
}

.bg_col19 {
  background-color: var(--color19) !important;
}

.bg_col20 {
  background-color: var(--color20) !important;
}

.bdr_col01 {
  border-color: var(--color01) !important;
}

.bdr_col02 {
  border-color: var(--color02) !important;
}

.bdr_col03 {
  border-color: var(--color03) !important;
}

.bdr_col04 {
  border-color: var(--color04) !important;
}

.bdr_col05 {
  border-color: var(--color05) !important;
}

.bdr_col06 {
  border-color: var(--color06) !important;
}

.bdr_col07 {
  border-color: var(--color07) !important;
}

.bdr_col08 {
  border-color: var(--color08) !important;
}

.bdr_col09 {
  border-color: var(--color09) !important;
}

.bdr_col10 {
  border-color: var(--color10) !important;
}

.bdr_col11 {
  border-color: var(--color11) !important;
}

.bdr_col12 {
  border-color: var(--color12) !important;
}

.bdr_col13 {
  border-color: var(--color13) !important;
}

.bdr_col14 {
  border-color: var(--color14) !important;
}

.bdr_col15 {
  border-color: var(--color15) !important;
}

.bdr_col16 {
  border-color: var(--color16) !important;
}

.bdr_col17 {
  border-color: var(--color17) !important;
}

.bdr_col18 {
  border-color: var(--color18) !important;
}

.bdr_col19 {
  border-color: var(--color19) !important;
}

.bdr_col20 {
  border-color: var(--color20) !important;
}

@media (max-width: 767px) {
  :root {
    font-size: 4.27vw;
  }
  html,
body {
    font-size: 1rem;
    letter-spacing: 0.05em;
  }
  .inner_s,
.inner_sm,
.inner,
.inner_m,
.inner_ml,
.inner_l,
.inner_ll,
.inner1000,
.inner1140,
.inner1200,
.inner1340,
.inner1500,
.inner1640,
.inner1720 {
    width: 100%;
    max-width: 100vw;
    padding-left: 24px;
    padding-right: 24px;
  }
  .pc_only {
    display: none;
  }
  .tb_only {
    display: none;
  }
  .sp_only {
    display: inherit;
  }
  .tb_pc {
    display: none;
  }
  .in_pc {
    display: none;
  }
  .sp_tb {
    display: inherit;
  }
  .pt_1vw {
    padding-top: 1vw;
  }
  .pt_2vw {
    padding-top: 2vw;
  }
  .pt_3vw {
    padding-top: 3vw;
  }
  .pt_4vw {
    padding-top: 3vw;
  }
  .pt_5vw {
    padding-top: 5vw;
  }
  .pt_6vw {
    padding-top: 6vw;
  }
  .pt_7vw {
    padding-top: 7vw;
  }
  .pt_8vw {
    padding-top: 8vw;
  }
  .pt_9vw {
    padding-top: 9vw;
  }
  .pt_10vw {
    padding-top: 10vw;
  }
  .pt_11vw {
    padding-top: 11vw;
  }
  .pt_12vw {
    padding-top: 12vw;
  }
  .pt_13vw {
    padding-top: 13vw;
  }
  .pt_14vw {
    padding-top: 14vw;
  }
  .pt_15vw {
    padding-top: 15vw;
  }
  .pb_1vw {
    padding-bottom: 1vw;
  }
  .pb_2vw {
    padding-bottom: 2vw;
  }
  .pb_3vw {
    padding-bottom: 4vw;
  }
  .pb_5vw {
    padding-bottom: 5vw;
  }
  .pb_6vw {
    padding-bottom: 6vw;
  }
  .pb_7vw {
    padding-bottom: 7vw;
  }
  .pb_8vw {
    padding-bottom: 8vw;
  }
  .pb_9vw {
    padding-bottom: 9vw;
  }
  .pb_10vw {
    padding-bottom: 10vw;
  }
  .pb_11vw {
    padding-bottom: 11vw;
  }
  .pb_12vw {
    padding-bottom: 12vw;
  }
  .pb_13vw {
    padding-bottom: 13vw;
  }
  .pb_14vw {
    padding-bottom: 14vw;
  }
  .pb_15vw {
    padding-bottom: 15vw;
  }
  .ls0_sp {
    letter-spacing: 0 !important;
  }
  .ls05_sp {
    letter-spacing: 0.05em !important;
  }
  .ls15_sp {
    letter-spacing: 0.15em !important;
  }
  .ls2_sp {
    letter-spacing: 0.2em !important;
  }
  .txt_width {
    max-width: calc(646 / var(--break) * 100vw) !important;
    margin-left: auto;
    margin-right: auto;
  }
  .sp_left {
    text-align: left !important;
  }
  .shadow_w {
    text-shadow: 0px 0px calc(5 / var(--break) * 100vw) #fff, 0px 0px calc(5 / var(--break) * 100vw) #fff, 0px 0px calc(10 / var(--break) * 100vw) #fff, 0px 0px calc(10 / var(--break) * 100vw) #fff, 0px 0px calc(15 / var(--break) * 100vw) #fff, 0px 0px calc(15 / var(--break) * 100vw) #fff;
  }
  .shadow {
    text-shadow: 0px 0px calc(5 / var(--break) * 100vw) #464646, 0px 0px calc(5 / var(--break) * 100vw) #464646, 0px 0px calc(10 / var(--break) * 100vw) #464646, 0px 0px calc(10 / var(--break) * 100vw) #464646, 0px 0px calc(15 / var(--break) * 100vw) #464646, 0px 0px calc(15 / var(--break) * 100vw) #464646;
  }
  .txt_tb {
    writing-mode: horizontal-tb;
  }
}
a {
  transition: color 0.2s, background-color 0.2s, border-color 0.2s, opacity 0.2s, text-decoratin 0.2s;
}

a:link,
a:visited {
  color: var(--color01);
}

img {
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
}

.container {
  max-width: 1168px;
  padding-left: 24px;
  padding-right: 24px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .container {
    width: 100%;
  }
}

.wrap_main {
  padding: 3.75rem 0 0;
}
@media screen and (max-width: 767px) {
  .wrap_main {
    padding: 3.75rem 0 0;
    flex-direction: column-reverse !important;
  }
}

#main {
  position: relative;
  overflow: hidden;
}

.columns {
  padding-top: var(--size55px);
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .columns {
    flex-direction: column;
    padding-top: 1.875rem;
  }
}
.columns aside {
  width: 22.3%;
  order: 1;
  padding-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .columns aside {
    width: 100%;
    order: 2;
    padding-bottom: 50px;
  }
}
.columns main {
  width: 71.4%;
  order: 2;
}
@media screen and (max-width: 767px) {
  .columns main {
    order: 1;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  body {
    min-width: auto;
  }
}
/*pc sp switch*/
.pc {
  display: block !important;
}

span.pc {
  display: inline !important;
}

.sp {
  display: none !important;
}

@media only screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
  span.sp {
    display: inline !important;
  }
}
/*fuwafuwa*/
.pop {
  -webkit-animation: float1 8s infinite;
          animation: float1 8s infinite;
}

@-webkit-keyframes float1 {
  0% {
    transform: translateY(0%);
    transition: ease 0.5s;
  }
  50% {
    transform: translateY(30px);
    transition: ease 0.5s;
  }
  100% {
    transform: translateY(0%);
    transition: ease 0.5s;
  }
}

@keyframes float1 {
  0% {
    transform: translateY(0%);
    transition: ease 0.5s;
  }
  50% {
    transform: translateY(30px);
    transition: ease 0.5s;
  }
  100% {
    transform: translateY(0%);
    transition: ease 0.5s;
  }
}
/*btns*/
.btn {
  border: 1px solid var(--color01);
  width: 13.75rem;
  height: 3.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 1.875rem;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.btn::before {
  content: "";
  position: absolute;
  right: 2.0625rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 7px;
  border-color: transparent transparent transparent var(--color01);
}
.btn::after {
  background: var(--color01);
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
.btn.bdr_white::before {
  border-color: transparent transparent transparent #fff;
}
.btn.bdr_white::after {
  background: #fff;
}
.btn.noarw::before {
  display: none;
}
.btn.mbtn {
  background-color: var(--color01);
  width: 8.125rem;
  height: 1.625rem;
}
.btn.mbtn span {
  color: #fff;
  font-size: 0.6875rem;
}
.btn.mbtn:hover {
  opacity: 0.6;
}

a.btn:hover {
  opacity: 1;
}
a.btn:hover span {
  color: #fff !important;
}
a.btn:hover::before {
  border-color: transparent transparent transparent #fff;
}

a.btn:hover::after {
  transform: scale(1, 1);
}

a.btn.bdr_white:hover span {
  color: var(--color01) !important;
}
a.btn.bdr_white:hover::before {
  border-color: transparent transparent transparent var(--color01);
}

.bg_grad {
  background: linear-gradient(to right, #3d62ad 0%, #fff226 100%);
}

.bg_grad02 {
  background: linear-gradient(to right, #3d62ad 0%, #fff226 100%);
}

/*splash*/
/* splash */
.splash {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #FFF;
  z-index: 99999;
  overflow: hidden;
}

.splash.-is-hide {
  -webkit-animation: fadeout 0.5s ease-in-out 0.5s;
          animation: fadeout 0.5s ease-in-out 0.5s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both; /*0%の時と100%の時の状態を保つ*/
  pointer-events: none;
}

.splash .splash_image {
  position: relative;
  display: block;
  width: 5rem;
  height: 5rem;
  background: url(../images/apple-touch-icon.png) no-repeat;
  background-size: cover;
  line-height: 0;
  overflow: hidden;
  opacity: 0;
  -webkit-animation: fadein 0.5s ease-in-out 0.3s;
          animation: fadein 0.5s ease-in-out 0.3s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both; /*0%の時と100%の時の状態を保つ*/
}

.splash .splash_image.-is-hide {
  -webkit-animation: fadeout 0.5s ease-in-out;
          animation: fadeout 0.5s ease-in-out;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both; /*0%の時と100%の時の状態を保つ*/
}

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

@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/*==================================================
 * header
 *================================================*/
.wrapper {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .wrapper {
    overflow: hidden;
    margin-top: 0;
  }
}

#header {
  padding-top: 0px;
  padding-bottom: 0px;
  top: 0;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: 3;
  transition: all 0.3s;
}
#header > .inner_l {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  #header > .inner_l {
    max-width: none;
    padding-left: 66px;
    padding-right: 66px;
  }
}
#header .logo {
  font-size: 0.75rem;
  font-weight: normal;
  white-space: nowrap;
  position: relative;
}
@media screen and (max-width: 767px) {
  #header .logo {
    z-index: 3;
    margin-bottom: 2.5rem;
  }
}
#header .logo a {
  margin: 4.0625rem 0 0;
  padding: 0;
  display: block;
  text-indent: 150%;
  overflow: hidden;
  white-space: nowrap;
  background: url(../images/common/logo.svg) no-repeat;
  background-size: 100% auto;
  width: 20rem;
  height: 3.9375rem;
}
@media screen and (max-width: 767px) {
  #header .logo a {
    width: 12.125rem;
    height: 2.375rem;
    margin: 1.8125rem 0 0;
  }
}
#header .logo span {
  position: absolute;
  left: 0;
  top: 0;
}
@media screen and (max-width: 767px) {
  #header .logo span {
    display: none;
  }
}
#header .spmailbtn {
  display: none;
}
@media screen and (max-width: 767px) {
  #header .spmailbtn {
    position: absolute;
    right: 5.625rem;
    top: 1.4375rem;
    background-repeat: no-repeat;
    background-image: url(../images/common/icn_mail_o.svg);
    background-size: contain;
    display: block;
    width: 1.8125rem;
    height: 1.25rem;
    z-index: 3;
  }
  #header .spmailbtn span {
    display: none;
  }
}
#header .recruitbtn {
  position: fixed;
  right: 3.75rem;
  bottom: 3.75rem;
  width: 10.375rem;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  #header .recruitbtn {
    right: 0.75rem;
    top: 4.625rem;
    bottom: auto;
    width: 7.5rem;
  }
}

.gmenu {
  display: none;
  flex-grow: 2;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  background-color: #fff;
  height: 100vh;
  padding: 0;
  z-index: 2;
  margin-top: 0;
}
@media (min-width: 768px) {
  .gmenu .logo {
    position: fixed !important;
    left: 66px;
    top: 0;
  }
}
.gmenu .inner_l {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.gmenu nav {
  width: 68%;
  margin: 0 0 0 auto;
  height: 100%;
  flex-grow: 2;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .gmenu nav {
    width: 100%;
    height: 100%;
    overflow: auto;
    display: block;
  }
}
.gmenu .navarea {
  -moz-column-gap: calc(60 / var(--break) * 100vw);
       column-gap: calc(60 / var(--break) * 100vw);
  width: 100%;
}
@media screen and (max-width: 767px) {
  .gmenu .navarea {
    flex-direction: column;
    padding-bottom: 6.25rem;
  }
}
.gmenu .navarea > div {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .gmenu .navarea > div {
    width: 100%;
    border-top: 1px solid #DDDDDD;
  }
  .gmenu .navarea > div + div {
    border-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .gmenu .nav {
    flex-direction: column;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
.gmenu .nav > li {
  margin-bottom: 3.4375rem;
}
@media screen and (max-width: 767px) {
  .gmenu .nav > li {
    margin-bottom: 0;
  }
}
.gmenu .nav > li > .parent,
.gmenu .nav > li > a {
  display: block;
  font-size: 0.9375rem;
  line-height: 1;
  text-decoration: none;
  position: relative;
  color: #000;
  border-bottom: 1px solid #DDDDDD;
  padding-bottom: calc(15 / var(--break) * 100vw);
}
@media screen and (max-width: 767px) {
  .gmenu .nav > li > .parent,
.gmenu .nav > li > a {
    font-size: 0.8125rem;
    padding: 1.75rem 0;
    border-top: 1px solid #DDDDDD;
    border-top: 0;
    position: relative;
  }
  .gmenu .nav > li > .parent::after,
.gmenu .nav > li > a::after {
    position: absolute;
    right: 1.0625rem;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    content: "";
    display: block;
    border-top: 2px solid var(--color01);
    border-right: 2px solid var(--color01);
    width: 0.5rem;
    height: 0.5rem;
  }
}
.gmenu .nav > li > .parent span:first-child,
.gmenu .nav > li > a span:first-child {
  font-size: 1.75rem;
  font-weight: 600;
  display: block;
  line-height: 1;
  padding-bottom: 0.625rem;
}
@media screen and (max-width: 767px) {
  .gmenu .nav > li > .parent span:first-child,
.gmenu .nav > li > a span:first-child {
    display: inline-block;
    font-size: 1.375rem !important;
    font-weight: bold;
    width: 11.375rem;
    padding-bottom: 0;
    font-weight: 500;
    vertical-align: middle;
  }
}
@media (hover: hover) {
  .gmenu .nav > li a:hover {
    color: var(--color01);
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .gmenu .nav > li > .parent {
    position: relative;
  }
  .gmenu .nav > li > .parent::after {
    right: 0.875rem;
    border-top: 0;
    border-right: 0;
    transform: translateY(-50%) rotate(0);
    width: 0.875rem;
    height: 2px;
    background-color: var(--color01);
  }
  .gmenu .nav > li > .parent::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 1.25rem;
    border-top: 0;
    border-right: 0;
    transform: translateY(-50%) rotate(0);
    width: 2px;
    height: 14px;
    background-color: var(--color01);
  }
  .gmenu .nav > li > .parent.active::before {
    display: none !important;
  }
}
.gmenu .nav .submenu {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .gmenu .nav .submenu {
    display: none;
    border-bottom: 1px solid #DDDDDD;
    margin-top: 1.5rem;
    padding-bottom: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .gmenu .nav .submenu li {
    margin-bottom: 0.625rem;
  }
}
.gmenu .nav .submenu a {
  padding: 0.4375rem 0px;
  display: block;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  position: relative;
  color: #000;
}
@media screen and (max-width: 767px) {
  .gmenu .nav .submenu a {
    display: flex;
    flex-direction: column;
    background-color: var(--color02);
    border-radius: 0.9375rem;
    padding: 1.375rem 1.5rem;
    font-size: 0.75rem;
  }
  .gmenu .nav .submenu a span {
    font-size: 1.25rem;
    order: 2;
    font-weight: 600;
    color: var(--color01);
    margin-top: 0.625rem;
  }
}
@media screen and (max-width: 767px) {
  .gmenu .nav .submenu > ul {
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 0.75rem;
         column-gap: 0.75rem;
  }
  .gmenu .nav .submenu > ul li {
    width: calc(50% - 12 / var(--break) * 100vw);
  }
  .gmenu .nav .submenu > ul li a {
    text-align: center;
    color: var(--color01);
    font-weight: 500;
    font-size: 0.875rem;
  }
}
/*menu*/
.navbar-toggle {
  position: fixed;
  right: 66px;
  top: 5.3125rem;
  cursor: pointer;
  outline: none;
  z-index: 1000;
  margin: 0;
  border: 0;
  height: 2.5rem;
  width: 9.375rem;
  border-radius: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  text-decoration: none;
  text-align: center;
  color: #fff !important;
  font-weight: 600;
  font-size: 0.9375rem;
  background: linear-gradient(to right, #3d62ad 0%, #fff226 100%);
  transition: color 0.4s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.navbar-toggle::before {
  content: "MENU";
  position: relative;
  z-index: 1;
  transition: color 0.4s cubic-bezier(0.25, 0.1, 0.25, 1);
}
@media screen and (min-width: 768px) {
  .navbar-toggle::after {
    content: "";
    background: none;
    position: absolute;
    left: 0.125rem;
    top: 0.125rem;
    content: "";
    border-radius: 999px;
    width: calc(100% - 0.25rem);
    height: calc(100% - 0.25rem);
    transition: background 0.4s cubic-bezier(0.25, 0.1, 0.25, 1);
  }
}
@media (hover: hover) {
  .navbar-toggle:hover::before {
    color: #000;
  }
}
@media screen and (hover: hover) and (min-width: 768px) {
  .navbar-toggle:hover::after {
    background-color: #fff;
    width: calc(100% - 0.25rem);
    height: calc(100% - 0.25rem);
  }
}
@media (min-width: 768px) and (max-width: 1520px) {
  .navbar-toggle {
    left: auto;
    transform: translateX(0);
  }
}
@media screen and (max-width: 767px) {
  .navbar-toggle {
    left: auto;
    top: 1.8125rem;
    right: 0.75rem;
    transform: translateX(0);
    height: 2.1875rem;
    width: 7.5rem;
    font-size: 0.875rem;
    padding-left: 1.5rem;
  }
  .navbar-toggle::after {
    content: "";
    position: absolute;
    width: 1rem;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    height: 0.375rem;
    left: calc(50% - 2rem);
  }
}
.navbar-toggle.open {
  background: var(--color01);
  padding-left: 0;
}
.navbar-toggle.open::before {
  content: "CLOSE";
  color: #fff !important;
}
.navbar-toggle.open::after {
  display: none;
}

.page-header {
  margin: 8rem 0 0;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .page-header {
    margin: 4.6875rem 0 0;
  }
}
.page-header .inner_l:after {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 1450/550;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 3.125rem;
}
@media screen and (max-width: 767px) {
  .page-header .inner_l:after {
    aspect-ratio: 327/250;
    border-radius: 1.875rem;
  }
}
.page-mission .page-header .inner_l:after {
  background-image: url(../images/mission/bg_mission.jpg);
}
@media screen and (max-width: 767px) {
  .page-mission .page-header .inner_l:after {
    background-image: url(../images/mission/bg_mission_sp.jpg);
  }
}
.error404 .page-header .inner_l:after, .page-about .page-header .inner_l:after {
  background-image: url(../images/about/bg_about.jpg);
}
@media screen and (max-width: 767px) {
  .error404 .page-header .inner_l:after, .page-about .page-header .inner_l:after {
    background-image: url(../images/about/bg_about_sp.jpg);
  }
}
.page-starlit .page-header .inner_l:after {
  background-image: url(../images/starlit/bg_starlit.jpg);
}
@media screen and (max-width: 767px) {
  .page-starlit .page-header .inner_l:after {
    background-image: url(../images/starlit/bg_starlit_sp.jpg);
  }
}
.page-starlitservice .page-header .inner_l:after {
  background-image: url(../images/starlitservice/bg_starlitservice.jpg);
}
@media screen and (max-width: 767px) {
  .page-starlitservice .page-header .inner_l:after {
    background-image: url(../images/starlitservice/bg_starlitservice_sp.jpg);
  }
}
.page-starlitwork .page-header .inner_l:after {
  background-image: url(../images/starlitwork/bg_starlitwork.jpg);
}
@media screen and (max-width: 767px) {
  .page-starlitwork .page-header .inner_l:after {
    background-image: url(../images/starlitwork/bg_starlitwork_sp.jpg);
  }
}
.page-tectec .page-header .inner_l:after {
  background-image: url(../images/tectec/bg_tectec.jpg);
}
@media screen and (max-width: 767px) {
  .page-tectec .page-header .inner_l:after {
    background-image: url(../images/tectec/bg_tectec_sp.jpg);
  }
}
.page-groupcompany .page-header .inner_l:after {
  background-image: url(../images/groupcompany/bg_groupcompany.jpg);
}
@media screen and (max-width: 767px) {
  .page-groupcompany .page-header .inner_l:after {
    background-image: url(../images/groupcompany/bg_groupcompany_sp.jpg);
  }
}
.page-message .page-header .inner_l:after {
  background-image: url(../images/message/bg_message.jpg);
}
@media screen and (max-width: 767px) {
  .page-message .page-header .inner_l:after {
    background-image: url(../images/message/bg_message_sp.jpg);
  }
}
.page-profile .page-header .inner_l:after {
  background-image: url(../images/profile/bg_profile.jpg);
}
@media screen and (max-width: 767px) {
  .page-profile .page-header .inner_l:after {
    background-image: url(../images/profile/bg_profile_sp.jpg);
  }
}
.page-member .page-header .inner_l:after {
  background-image: url(../images/member/bg_member.jpg);
}
@media screen and (max-width: 767px) {
  .page-member .page-header .inner_l:after {
    background-image: url(../images/member/bg_member_sp.jpg);
  }
}
.page-history .page-header .inner_l:after {
  background-image: url(../images/history/bg_history.jpg);
}
@media screen and (max-width: 767px) {
  .page-history .page-header .inner_l:after {
    background-image: url(../images/history/bg_history_sp.jpg);
  }
}
.page-member .page-header .inner_l:after {
  background-image: url(../images/member/bg_member.jpg);
}
@media screen and (max-width: 767px) {
  .page-member .page-header .inner_l:after {
    background-image: url(../images/member/bg_member_sp.jpg);
  }
}
.page-access .page-header .inner_l:after {
  background-image: url(../images/access/bg_access.jpg);
}
@media screen and (max-width: 767px) {
  .page-access .page-header .inner_l:after {
    background-image: url(../images/access/bg_access_sp.jpg);
  }
}
.page-contact .page-header .inner_l:after {
  background-image: url(../images/contact/bg_contact.jpg);
}
@media screen and (max-width: 767px) {
  .page-contact .page-header .inner_l:after {
    background-image: url(../images/contact/bg_contact_sp.jpg);
  }
}
.page-privacypolicy .page-header .inner_l:after {
  background-image: url(../images/privacypolicy/bg_privacypolicy.jpg);
}
@media screen and (max-width: 767px) {
  .page-privacypolicy .page-header .inner_l:after {
    background-image: url(../images/privacypolicy/bg_privacypolicy_sp.jpg);
  }
}
.page-company .page-header .inner_l:after {
  background-image: url(../images/company/bg_company.jpg);
}
@media screen and (max-width: 767px) {
  .page-company .page-header .inner_l:after {
    background-image: url(../images/company/bg_company_sp.jpg);
  }
}
.page-recruit .page-header .inner_l:after {
  background-image: url(../images/recruit/bg_recruit.jpg);
}
@media screen and (max-width: 767px) {
  .page-recruit .page-header .inner_l:after {
    background-image: url(../images/recruit/bg_recruit_sp.jpg);
  }
}
.author .page-header .inner_l:after, .blog .page-header .inner_l:after, .category .page-header .inner_l:after, .date .page-header .inner_l:after, .search .page-header .inner_l:after, .single .page-header .inner_l:after {
  display: none;
}
.page-header .ttlarea {
  text-align: left;
  height: auto;
  padding-top: 0px;
  display: flex;
  align-items: center;
  padding: 6.25rem 4.6875rem;
}
@media screen and (max-width: 767px) {
  .page-header .ttlarea {
    padding: 3.4375rem 0;
    flex-direction: column;
    align-items: flex-start;
  }
}
.page-header .ttlarea .h1 {
  padding: 0px;
}
@media screen and (max-width: 767px) {
  .page-header .ttlarea .h1 {
    letter-spacing: 0;
    white-space: nowrap;
    font-size: 2.5rem;
    margin: 0 0 var(--size10px);
  }
}
.page-header .ttlarea .ttl {
  margin-left: 3.75rem;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .page-header .ttlarea .ttl {
    margin-left: 0rem;
    font-size: 0.75rem;
  }
}

.page-tectec .page-header .ttlarea .h1 {
  line-height: 1.2;
}
@media screen and (max-width: 1200px) {
  .page-tectec .page-header .ttlarea .h1 {
    white-space: nowrap;
  }
}
@media screen and (max-width: 767px) {
  .page-tectec .page-header .ttlarea .h1 {
    font-size: 2.3125rem;
  }
}
.page-tectec .page-header .ttlarea .ttl {
  margin-top: 5rem;
}
@media screen and (max-width: 1200px) {
  .page-tectec .page-header .ttlarea .ttl {
    line-height: 1.3;
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .page-groupcompany .page-header .ttlarea .h1 {
    font-size: 2.25rem;
  }
}

.breadcrumbs {
  position: relative;
  height: 4.125rem;
  margin: 0px;
  border-bottom: none;
  margin-bottom: 0px;
  font-size: 0.75rem;
  line-height: 1;
  color: var(--color02);
  margin-top: -4.125rem;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .breadcrumbs {
    display: none;
    padding: 10px 0;
    line-height: 1.3;
    height: auto;
    margin-left: 24px;
  }
}
.breadcrumbs .inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 100%;
}
.breadcrumbs .inner .list {
  width: 65%;
  margin: 0 0 0 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: right;
}
.breadcrumbs a {
  text-decoration: none;
  font-size: 0.75rem;
  color: var(--color02);
  margin-right: 5px;
}
.breadcrumbs a + a {
  margin-left: 5px;
}
.page-service-child .breadcrumbs a + a {
  pointer-events: none;
}
.breadcrumbs a:hover {
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .breadcrumbs a {
    font-size: 8px !important;
  }
}
.breadcrumbs strong {
  margin-left: 5px;
  color: var(--color02);
  font-weight: normal;
  font-size: 0.75rem;
}
@media screen and (max-width: 767px) {
  .breadcrumbs strong {
    font-size: 8px !important;
  }
}

/**
* .section
*/
.anchor {
  position: absolute;
  top: -120px;
}
@media screen and (max-width: 767px) {
  .anchor {
    top: -75px;
  }
}
.agreebox .anchor {
  top: -160px;
}
@media screen and (max-width: 767px) {
  .agreebox .anchor {
    top: -75px;
  }
}

section {
  /*
  	.anchor {
  		position: absolute;
  		top: -120px;

  		@media screen and (max-width: $media-max-small) {
  			top: -75px;
  		}
  	}
  */
}

/*メインイメージ*/
.mainslide {
  padding: 0;
  height: 100vh;
}
.mainslide #mv {
  position: relative;
  height: 100%;
  overflow: hidden;
}
.mainslide .mv {
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.mainslide .mv::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  display: none;
}
@media screen and (max-width: 767px) {
  .mainslide .mv::after {
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    display: block;
  }
}
.mainslide .mv > div {
  width: 43.75rem;
  height: 43.75rem;
  min-width: 43.75rem;
}
@media (min-width: 768px) and (max-width: 1299px) {
  .mainslide .mv > div {
    width: 37.5rem;
    height: 37.5rem;
    min-width: 37.5rem;
  }
}
@media screen and (max-width: 767px) {
  .mainslide .mv > div {
    width: 26.6875rem;
    height: 26.6875rem;
    min-width: 26.6875rem;
  }
}
.mainslide .ccl1 {
  position: absolute;
  right: 50%;
  top: 50%;
  transform: translate(10%, -45%);
}
@media screen and (max-width: 767px) {
  .mainslide .ccl1 {
    transform: translate(30%, -30%);
  }
}
.mainslide .ccl1::before {
  content: "";
  -webkit-animation: move1 8s linear infinite;
          animation: move1 8s linear infinite;
  border-radius: 48% 69% 56% 53%/47% 73% 43% 49%;
  z-index: -1;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #3D62AD;
  filter: blur(20px);
  transform: translateZ(0);
  will-change: filter;
}
@media screen and (max-width: 767px) {
  .mainslide .ccl1::before {
    filter: none;
  }
}
.mainslide .ccl2 {
  position: absolute;
  left: 50%;
  top: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transform: translate(-10%, -55%);
}
@media screen and (max-width: 767px) {
  .mainslide .ccl2 {
    transform: translate(-30%, -60%);
  }
}
.mainslide .ccl2::before {
  content: "";
  -webkit-animation: move2 7.5s linear infinite;
          animation: move2 7.5s linear infinite;
  border-radius: 47% 37% 27% 50%/37% 40% 27% 33%;
  z-index: -1;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #FFF226;
  filter: blur(20px);
  transform: translateZ(0);
  will-change: filter;
}
@media screen and (max-width: 767px) {
  .mainslide .ccl2::before {
    filter: none;
  }
}
.mainslide .ccl3 {
  position: absolute;
  left: 50%;
  top: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transform: translate(-10%, -55%);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .mainslide .ccl3 {
    transform: translate(-30%, -60%);
  }
}
@-webkit-keyframes move1 {
  50% {
    border-radius: 100% 69% 100% 83%/68% 99% 53% 93%;
  }
  75% {
    border-radius: 48% 69% 56% 53%/47% 73% 43% 49%;
  }
}
@keyframes move1 {
  50% {
    border-radius: 100% 69% 100% 83%/68% 99% 53% 93%;
  }
  75% {
    border-radius: 48% 69% 56% 53%/47% 73% 43% 49%;
  }
}
@-webkit-keyframes move2 {
  50% {
    border-radius: 100% 69% 100% 83%/68% 99% 53% 93%;
  }
  75% {
    border-radius: 43% 57% 61% 39%/32% 45% 55% 68%;
  }
}
@keyframes move2 {
  50% {
    border-radius: 100% 69% 100% 83%/68% 99% 53% 93%;
  }
  75% {
    border-radius: 43% 57% 61% 39%/32% 45% 55% 68%;
  }
}
.mainslide #mv.slick-initialized {
  opacity: 1;
}
.mainslide #mv,
.mainslide .slick-list,
.mainslide .slick-track {
  height: 100%;
}
.mainslide .titletxt {
  text-align: left;
}
.mainslide .titletxt .title01 {
  display: block;
  width: 17.375rem;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 767px) {
  .mainslide .titletxt .title01 {
    width: 10.625rem;
    margin-bottom: 0.625rem;
  }
}
.mainslide .titletxt .title02 {
  display: block;
  width: 20.3125rem;
}
@media screen and (max-width: 767px) {
  .mainslide .titletxt .title02 {
    width: 12.25rem;
  }
}
.mainslide .titletxt .sm {
  opacity: 0;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .mainslide .titletxt .sm {
    margin-top: 0.625rem;
  }
}
@-webkit-keyframes txtfadeIn {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@media screen and (max-width: 767px) {
  .mainslide .titletxt {
    margin-right: 3.125rem;
  }
  .mainslide .titletxt .lg {
    font-size: 1.625rem;
    letter-spacing: 0.1em;
    margin-bottom: 0.625rem;
  }
  .mainslide .titletxt .sm {
    font-size: 0.75rem;
    letter-spacing: 0.05em;
  }
}
.mainslide .titletxt .t1 span, .mainslide .titletxt .t2 span, .mainslide .titletxt .t3 span {
  opacity: 0;
}
.mainslide .titletxt .t1.on span,
.mainslide .titletxt .t2.on span {
  -webkit-animation: text_anime_on 2s ease-out forwards;
          animation: text_anime_on 2s ease-out forwards;
}
.mainslide .titletxt .t3.on span {
  -webkit-animation: text_anime_on 1s ease-out forwards;
          animation: text_anime_on 1s ease-out forwards;
}
@-webkit-keyframes text_anime_on {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes text_anime_on {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.mainslide .inner {
  border-radius: 0;
  margin-right: 0px;
  margin-left: 0;
  overflow: hidden;
  position: relative;
  display: flex;
}
@media screen and (max-width: 767px) {
  .mainslide .inner {
    overflow: visible;
  }
}
.mainslide .inner::before {
  content: "";
  display: block;
  min-width: calc(50% - 560px);
}
@media screen and (max-width: 767px) {
  .mainslide .inner::before {
    min-width: auto;
    width: 11%;
    min-width: 11%;
  }
}

.scroll {
  position: absolute;
  z-index: 2;
  display: block;
  left: calc(50% - 700px);
  bottom: 5.4375rem;
  height: 14.0625rem;
}
@media (min-width: 768px) and (max-width: 1572px) {
  .scroll {
    left: 72px;
  }
}
@media screen and (max-width: 767px) {
  .scroll {
    left: auto;
    right: 2.25rem;
    bottom: 0;
    height: 8.4375rem;
  }
}

.scroll_arrow {
  position: absolute;
  top: 4.25rem;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 9.8125rem;
  margin-left: -1px;
}
@media screen and (max-width: 767px) {
  .scroll_arrow {
    top: auto;
    bottom: 0;
    height: 4.9375rem;
  }
}

.scroll_arrow:before {
  display: block;
  flex: 0 0 100%;
  width: 1px;
  content: "";
  background-color: #707070;
}

.scroll_arrow:after {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -100%);
  width: 0.4375rem;
  height: 0.4375rem;
  border-radius: 50%;
  background-color: #000;
  content: "";
  -webkit-animation: calc(3s * tan(atan2(100vw, 1px)) / 100) cubic-bezier(0.445, 0.05, 0.55, 0.95) 0s infinite both scroll-arrow;
          animation: calc(3s * tan(atan2(100vw, 1px)) / 100) cubic-bezier(0.445, 0.05, 0.55, 0.95) 0s infinite both scroll-arrow;
}

body.-reduced-motion .scroll_arrow[data-astro-cid-mnynwuyc]:after {
  -webkit-animation: none;
          animation: none;
}

.scroll_text {
  position: absolute;
  top: 0;
  width: 1.3125rem;
  height: 2.75rem;
  max-width: none;
  transform: translateX(-50%);
  aspect-ratio: 21/44;
}
@media screen and (max-width: 767px) {
  .scroll_text {
    width: 1.0625rem;
    height: auto;
  }
}

@-webkit-keyframes scroll-arrow {
  0% {
    top: 100%;
  }
  40% {
    top: 100%;
  }
  40.1% {
    top: 0;
  }
  to {
    top: 100%;
  }
}

@keyframes scroll-arrow {
  0% {
    top: 100%;
  }
  40% {
    top: 100%;
  }
  40.1% {
    top: 0;
  }
  to {
    top: 100%;
  }
}
@media screen and (max-width: max(1440px, 90rem)) {
  .scroll_arrow[data-astro-cid-mnynwuyc]:after {
    -webkit-animation-duration: 2s;
            animation-duration: 2s;
  }
}
.home section #main_visual {
  flex-grow: 3;
  height: auto;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .home section #main_visual {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
  }
}

.home .mainslide .slick-slide.slick-current {
  /*animation  : bgAnime 8.5s 1;*/
}

.anchor {
  position: absolute;
  top: -50px;
}

.home .sec-about .anchor {
  position: absolute;
  top: -50px;
}

@media screen and (max-width: 767px) {
  .home #main {
    padding-top: 0px;
  }
  .home .minislider.slick-prev,
.home .minislider.slick-next {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  /*6*/
  .mainslide .container > .row > .col-md-12 {
    padding: 0;
  }
}
/*==================================================
 * layout
 *================================================*/
#container {
  /*overflow: hidden;*/
  position: relative;
  min-height: 100%;
}

.flex > #main {
  margin-bottom: 0px;
  position: relative;
  width: 71.9%;
}
@media screen and (min-width: 1200px) {
  .flex > #main {
    width: calc(100% - 315px);
  }
}
@media screen and (max-width: 767px) {
  .flex > #main {
    width: 100%;
  }
}

@media (min-width: 992px) {
  .col-md-pull-9 {
    right: 760px;
  }
  .col-md-push-3 {
    left: 340px;
  }
}
/*==================================================
 * sub
 *================================================*/
#sub {
  width: 22.3%;
}
@media screen and (min-width: 1200px) {
  #sub {
    width: 250px;
  }
}
@media screen and (max-width: 767px) {
  #sub {
    width: 100%;
  }
}

/*==================================================
 * footer
 *================================================*/
/**
 * .footer-widget-area
 */
#footer {
  background-image: url(../images/common/bg_footer.jpg);
  content: "";
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 12.5rem 0;
}
@media only screen and (max-width: 767px) {
  #footer {
    padding: 4.375rem 0;
  }
}
#footer .inner {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  #footer .inner {
    padding: 0;
    flex-direction: column;
  }
}
#footer .footmenu {
  -moz-column-gap: 3.125rem;
       column-gap: 3.125rem;
  row-gap: 3.625rem;
  flex-wrap: wrap;
  width: 61.6%;
}
@media only screen and (max-width: 767px) {
  #footer .footmenu {
    display: none;
  }
}
#footer .footmenu .nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 3.4375rem;
}
#footer .footmenu .nav > li:nth-child(1) {
  width: 29%;
}
#footer .footmenu .nav > li:nth-child(2) {
  width: 64.5%;
}
#footer .footmenu .nav > li:nth-child(3) {
  width: 29%;
}
#footer .footmenu .nav > li:nth-child(4) {
  width: 29%;
}
#footer .footmenu .nav > li:nth-child(5) {
  width: 29%;
}
#footer .footmenu .nav > li a:hover {
  opacity: 0.7;
}
#footer .footmenu .nav > li > a,
#footer .footmenu .nav > li > .parent {
  width: 100%;
  display: block;
  border-bottom: 1px solid #fff;
  padding-bottom: 1.25rem;
  line-height: 1;
  font-size: 1rem;
}
#footer .footmenu .nav > li > a span,
#footer .footmenu .nav > li > .parent span {
  font-weight: 600;
}
#footer .footmenu .nav > li > a + a,
#footer .footmenu .nav > li > .parent + a {
  margin-top: 1.25rem;
}
#footer .footmenu .nav > li .submenu li {
  margin-bottom: 0.3125rem;
}
#footer .footmenu .nav > li .submenu a {
  font-size: 0.875rem;
}
#footer .footmenu .footer_ttl {
  border-bottom: 1px solid #ddd;
  font-size: 0.9375rem;
  font-weight: 700;
  padding-bottom: var(--size20px);
  line-height: 1;
}
#footer .footmenu .footer_ttl a {
  color: #fff;
}
#footer .footmenu .footer_ttl + .footer_ttl {
  margin-top: var(--size20px);
}
#footer .footmenu ul {
  margin-top: 0.9375rem;
}
#footer .footmenu ul li a {
  font-size: 0.875rem;
  color: #fff;
}
#footer .company-info {
  padding: 0;
  width: 36.6%;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #footer .company-info {
    padding: 0;
    text-align: center;
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  #footer .company-info .ttl {
    text-align: center;
    margin-bottom: 3.125rem;
  }
  #footer .company-info .ttl a {
    display: block;
  }
}
#footer .company-info .ttl img {
  width: 17.5rem;
  height: auto;
}
@media only screen and (max-width: 767px) {
  #footer .company-info .subttl {
    margin-bottom: 1.25rem;
  }
}
#footer .company-info .bottom {
  position: absolute;
  left: 0;
  bottom: 0;
}
@media only screen and (max-width: 767px) {
  #footer .company-info .bottom {
    position: relative;
  }
}
@media only screen and (max-width: 767px) {
  #footer .company-info .snslist {
    justify-content: center;
    margin-top: 1.875rem;
  }
}
#footer .company-info .snslist li {
  margin-right: 1.875rem;
}
@media only screen and (max-width: 767px) {
  #footer .company-info .snslist li {
    margin: 0 0.9375rem;
  }
}
#footer .company-info .snslist li a {
  font-size: 1.625rem;
}
#footer .company-info .snslist li.nodisp {
  display: none;
}
#footer .company-info .copy {
  font-size: 0.75rem;
}
@media only screen and (max-width: 767px) {
  #footer .company-info .copy {
    font-size: 0.625rem !important;
    text-align: center;
  }
}

/*==================================================
 * contents
 *================================================*/
section {
  text-align: center;
  position: relative;
}
section .sec_subttl {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  section .sec_subttl {
    flex-direction: column;
    align-items: center;
  }
}
section .sec_subttl::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, #3d62ad 0%, #fff226 100%);
}
section .sec_subttl span {
  white-space: nowrap;
  display: block;
  flex-shrink: 0;
  width: 18.75rem;
  font-size: 1.25rem;
}
@media screen and (max-width: 767px) {
  section .sec_subttl span {
    font-size: 1.125rem;
    text-align: center;
    width: auto;
    margin-bottom: 0.9375rem;
  }
}
@media only screen and (max-width: 767px) {
  section p + .sec_subttl {
    margin-top: 2.5rem;
  }
}
section .sec_subttl2 {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  section .sec_subttl2 {
    flex-direction: column;
    align-items: center;
  }
}
section .sec_subttl2::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, #3d62ad 0%, #fff226 100%);
}
section .sec_subttl2 > span {
  white-space: nowrap;
  font-weight: normal;
  text-align: left;
  flex-shrink: 0;
  width: 31.875rem;
  font-size: 1rem;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  section .sec_subttl2 > span {
    flex-direction: column;
    font-size: 0.8125rem;
    text-align: center;
    width: auto;
    margin-bottom: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  section .sec_subttl2 > span .ef {
    margin-right: 0;
    font-size: 1.625rem;
    margin-bottom: 0.625rem;
  }
}

.readmore > a,
.readmore > span {
  font-weight: normal;
  font-size: 0.9375rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  position: relative;
  color: #000;
}
@media screen and (max-width: 767px) {
  .readmore > a,
.readmore > span {
    margin: 0 auto;
  }
}
.readmore > a::before,
.readmore > span::before {
  display: block;
  width: 2.0625rem;
  height: 2.0625rem;
  border-radius: 1.0625rem;
  background-color: var(--color01);
  transition: all 0.2s;
  content: "";
  background-size: 0.625rem auto;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(../images/common/icn_arrow_w.svg);
  margin-right: 1.0625rem;
}
.readmore > a:hover,
.readmore > span:hover {
  opacity: 1;
}
.readmore > a:hover::before,
.readmore > span:hover::before {
  transform: scale(1.15);
}

@media screen and (max-width: 767px) {
  p {
    font-size: 0.875rem;
    line-height: 2;
    letter-spacing: 0.05em;
  }
}

.secttl_line {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .secttl_line {
    font-size: 1rem;
    margin-bottom: var(--size30px);
    justify-content: space-between;
  }
}
.secttl_line::before, .secttl_line::after {
  content: "";
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  display: block;
  width: 5rem;
  height: 1px;
  margin: 0 var(--size55px);
  background-color: var(--color01);
}
@media screen and (max-width: 767px) {
  .secttl_line::before, .secttl_line::after {
    width: 3.5625rem;
    margin: 0;
  }
}

body section .ttlarea {
  text-align: center;
}
@media screen and (max-width: 767px) {
  body section .ttlarea {
    margin-bottom: 3.75rem;
  }
}
@media screen and (max-width: 767px) {
  body section .ttlarea .h2 {
    font-size: 2.5rem;
  }
}
body section .ttlarea .h2 + .ttl {
  margin: 0;
}
@media screen and (max-width: 767px) {
  body section .ttlarea .h2 + .ttl {
    margin: 0;
    text-align: center;
    letter-spacing: 0.05em;
    font-size: 0.75rem;
  }
  body section .ttlarea .h2 + .ttl span {
    display: none;
  }
}
body section .ttlarea.rev {
  flex-direction: row-reverse;
  text-align: right;
}
body section .ttlarea.rev .h2 + .ttl {
  margin: 0 50px 0 0;
}
@media screen and (max-width: 767px) {
  body section .ttlarea.rev .h2 + .ttl {
    margin: 10px 24px 0 0px;
  }
}

body:not(.home) section.bg_col03 .ttlarea .h2 {
  color: #F1F5FA;
}

body:not(.home) section .ttlarea_ja {
  text-align: center;
}
@media screen and (max-width: 767px) {
  body:not(.home) section .ttlarea_ja {
    margin-bottom: 4.375rem;
  }
}
body:not(.home) section .ttlarea_ja .h2 {
  line-height: 1.7;
  margin-bottom: 0.75rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) section .ttlarea_ja .h2 {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) section .ttlarea_ja .ttl {
    font-size: 0.75rem;
  }
}

/***********************************
	下層
************************************/
body:not(.home) section {
  margin-bottom: 0px;
  display: block;
  position: relative;
  padding: 11.25rem 0;
}
@media screen and (max-width: 767px) {
  body:not(.home) section {
    padding: 60px 0;
  }
}

.box_grad {
  border-radius: 6.25rem;
  background: linear-gradient(135deg, #3d62ad 0%, #3d62ad 25%, #fff226 75%, #fff226 100%);
  position: relative;
  overflow: hidden;
  padding: 11.875rem 11.25rem;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .box_grad {
    padding: 11.875rem 3.75rem;
  }
}
@media screen and (max-width: 767px) {
  .box_grad {
    border-radius: 3.125rem;
    padding: 3.75rem 1.5rem 4.375rem;
  }
}
.box_grad::before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(61, 98, 173, 0.3);
  z-index: 0;
  mix-blend-mode: multiply;
}
.box_grad > * {
  position: relative;
}

/*top mission  *********************/
.sec__mission {
  text-align: left;
  z-index: 1;
}
.sec__mission .wrap_mission {
  position: relative;
}
@media screen and (max-width: 767px) {
  .sec__mission .wrap_mission {
    display: block;
  }
}
.sec__mission .wrap_mission .col {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .sec__mission .wrap_mission .copy {
    font-size: 1.125rem;
    margin-bottom: 2.1875rem;
    line-height: 1.8;
  }
}
@media screen and (max-width: 767px) {
  .sec__mission .wrap_mission .txt {
    font-size: 0.875rem;
    line-height: 2.1;
  }
}
.sec__mission .wrap_mission .btnarea {
  position: absolute;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .sec__mission .wrap_mission .btnarea {
    position: relative;
    margin: 3.125rem 0 0;
  }
  .sec__mission .wrap_mission .btnarea a {
    margin: 0 auto;
  }
}

/*top recruit ******************/
.sec__recruit {
  padding: 11.25rem 0 12.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .sec__recruit {
    padding: 4.375rem 0;
  }
}
.sec__recruit::before {
  content: "";
  display: block;
  width: 37.75rem;
  height: 37.75rem;
  background-color: var(--color03);
  border-radius: 50%;
  position: absolute;
  opacity: 0.3;
  filter: blur(30px);
  left: -10.3125rem;
  top: -5.5rem;
  z-index: 0;
  -webkit-animation: float1 8s infinite;
          animation: float1 8s infinite;
}
@media screen and (max-width: 767px) {
  .sec__recruit::before {
    width: 26.3125rem;
    height: 26.3125rem;
    left: -12.5rem;
    top: -14.1875rem;
  }
}
@media screen and (max-width: 767px) {
  .sec__recruit .ttlarea {
    margin-bottom: var(--size65px);
  }
}
.sec__recruit .sec__recruit-lead {
  position: relative;
}
@media screen and (max-width: 1627px) {
  .sec__recruit .sec__recruit-lead {
    position: static;
  }
}
.sec__recruit .sec__recruit-list {
  padding: var(--size180px) 0 var(--size140px);
}
@media screen and (max-width: 767px) {
  .sec__recruit .sec__recruit-list {
    padding: var(--size65px) 0 var(--size65px);
  }
}
.sec__recruit .row_recruit {
  position: relative;
  -moz-column-gap: 3.125rem;
       column-gap: 3.125rem;
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .sec__recruit .row_recruit {
    display: block;
  }
}
.sec__recruit .row_recruit .ttlarea {
  position: absolute;
  left: calc(50% + 5.625rem);
  bottom: 13.125rem;
  display: flex;
  align-items: flex-start;
  flex-direction: column-reverse;
}
@media screen and (max-width: 767px) {
  .sec__recruit .row_recruit .ttlarea {
    position: relative;
    left: auto;
    bottom: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
.sec__recruit .row_recruit .img {
  width: calc((100% - 3.125rem) / 2);
  margin-bottom: 7.5rem;
}
@media screen and (max-width: 767px) {
  .sec__recruit .row_recruit .img {
    width: 100%;
    margin-bottom: 2.5rem;
  }
}
.sec__recruit .row_recruit .recruit-imgs {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .sec__recruit .row_recruit .recruit-imgs {
    width: 100%;
    height: auto;
  }
}
.sec__recruit .row_recruit .txtarea {
  text-align: left;
  width: calc((100% - 3.125rem) / 2);
  position: relative;
  padding: 0 0 0 4rem;
}
@media screen and (max-width: 767px) {
  .sec__recruit .row_recruit .txtarea {
    width: 100%;
    padding: 0;
  }
  .sec__recruit .row_recruit .txtarea .txt {
    text-align: center;
    font-size: 0.875rem;
    line-height: 2.1;
  }
}
.sec__recruit .row_recruit .txtarea .subttl {
  font-size: 1.375rem;
  line-height: 1.8;
  margin: 0 0 3.125rem;
}
@media screen and (max-width: 767px) {
  .sec__recruit .row_recruit .txtarea .subttl {
    font-size: 1rem;
    margin: 0 0 2.5rem;
    line-height: 2.1;
  }
}
.sec__recruit .bg {
  position: absolute;
  right: -16.75rem;
  top: -5.75rem;
  width: 42.75rem;
}
@media screen and (max-width: 1627px) {
  .sec__recruit .bg {
    transform: translateX(-100%);
    left: calc(100vw + 3.125rem);
    right: auto;
    top: 5.75rem;
  }
}
@media screen and (max-width: 1200px) {
  .sec__recruit .bg {
    width: 31.25rem;
  }
}
@media screen and (max-width: 767px) {
  .sec__recruit .bg {
    position: relative;
    top: auto;
    left: auto;
    transform: translateX(0);
    margin-top: 2.5rem;
    width: 25rem;
  }
}
.sec__recruit .bg img {
  width: 100%;
  height: auto;
}
.sec__recruit .recruit-imgs {
  position: relative;
}
@media screen and (max-width: 767px) {
  .sec__recruit .recruit-imgs {
    margin-bottom: 0;
  }
}
.sec__recruit .recruit-imgs .slick-dots,
.sec__recruit .recruit-imgs .dot {
  position: absolute;
  left: 0;
  bottom: -45px;
  display: flex;
  list-style: none;
  -moz-column-gap: var(--size20px);
       column-gap: var(--size20px);
}
@media screen and (max-width: 767px) {
  .sec__recruit .recruit-imgs .slick-dots,
.sec__recruit .recruit-imgs .dot {
    left: 50%;
    transform: translateX(-50%);
    bottom: -2.1875rem;
    display: none !important;
  }
}
.sec__recruit .recruit-imgs .slick-dots li button,
.sec__recruit .recruit-imgs .dot li button {
  content: "";
  display: block;
  width: 4.375rem;
  height: 2px;
  background-color: #FFF;
  border-radius: 0;
}
.sec__recruit .recruit-imgs .slick-dots li.slick-active button,
.sec__recruit .recruit-imgs .dot li.slick-active button {
  background-color: var(--color01);
}
.sec__recruit .recruit-slide {
  position: relative;
  height: 100%;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .sec__recruit .recruit-slide .recruit-slide-item {
    width: 100%;
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .sec__recruit .recruit-slide .recruit-slide-item {
    width: 100%;
    height: auto;
    z-index: 1;
  }
}
.sec__recruit .recruit-slide .recruit-slide-item > div {
  border-radius: 7.1875rem;
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  width: 100%;
  aspect-ratio: 633/844;
}
@media screen and (max-width: 767px) {
  .sec__recruit .recruit-slide .recruit-slide-item > div {
    border-radius: 1.875rem;
    aspect-ratio: 327/260;
  }
}
.sec__recruit .recruit-slide .recruit-slide-item.item01 > div {
  background-image: url(../images/index/slide_recrut01.jpg);
}
@media screen and (max-width: 767px) {
  .sec__recruit .recruit-slide .recruit-slide-item.item01 > div {
    background-image: url(../images/index/slide_recrut01_sp.jpg);
  }
}
.sec__recruit .recruit-slide .recruit-slide-item.item02 > div {
  background-image: url(../images/index/slide_recrut02.jpg);
}
@media screen and (max-width: 767px) {
  .sec__recruit .recruit-slide .recruit-slide-item.item02 > div {
    background-image: url(../images/index/slide_recrut02_sp.jpg);
  }
}
.sec__recruit .recruit-slide .recruit-slide-item.item03 > div {
  background-image: url(../images/index/slide_recrut03.jpg);
}
@media screen and (max-width: 767px) {
  .sec__recruit .recruit-slide .recruit-slide-item.item03 > div {
    background-image: url(../images/index/slide_recrut03_sp.jpg);
  }
}
.sec__recruit .recruit-slide .recruit-slide-item.item04 > div {
  background-image: url(../images/index/slide_recrut04.jpg);
}
@media screen and (max-width: 767px) {
  .sec__recruit .recruit-slide .recruit-slide-item.item04 > div {
    background-image: url(../images/index/slide_recrut04_sp.jpg);
  }
}
.sec__recruit .recruit-slide {
  width: 100%;
  position: relative;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .sec__recruit .recruit-slide {
    aspect-ratio: 918/640;
    width: 100%;
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .sec__recruit .recruit-slide {
    aspect-ratio: 918/640;
    width: 100%;
    height: auto;
    z-index: 1;
  }
}
.sec__recruit .slide[data-position="0"] .recruit-slide-item[data-num="0"] {
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0);
  transition: -webkit-clip-path 1.5s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  transition: clip-path 1.5s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  transition: clip-path 1.5s cubic-bezier(0.23, 1, 0.32, 1) 0s, -webkit-clip-path 1.5s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  z-index: 1;
}
.sec__recruit .slide[data-position="0"] li[data-num="0"]::before {
  background-color: var(--color01);
}
.sec__recruit .slide[data-position="1"] .recruit-slide-item[data-num="1"] {
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0);
  transition: -webkit-clip-path 1.5s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  transition: clip-path 1.5s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  transition: clip-path 1.5s cubic-bezier(0.23, 1, 0.32, 1) 0s, -webkit-clip-path 1.5s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  z-index: 1;
}
.sec__recruit .slide[data-position="1"] li[data-num="1"]::before {
  background-color: #000;
}
.sec__recruit .slide[data-position="2"] .recruit-slide-item[data-num="2"] {
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0);
  transition: -webkit-clip-path 1.5s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  transition: clip-path 1.5s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  transition: clip-path 1.5s cubic-bezier(0.23, 1, 0.32, 1) 0s, -webkit-clip-path 1.5s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  z-index: 1;
}
.sec__recruit .slide[data-position="2"] li[data-num="2"]::before {
  background-color: var(--color01);
}
.sec__recruit .slide[data-position="3"] .recruit-slide-item[data-num="3"] {
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0);
  transition: -webkit-clip-path 1.5s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  transition: clip-path 1.5s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  transition: clip-path 1.5s cubic-bezier(0.23, 1, 0.32, 1) 0s, -webkit-clip-path 1.5s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  z-index: 1;
}
.sec__recruit .slide[data-position="3"] li[data-num="3"]::before {
  background-color: var(--color01);
}
@media screen and (max-width: 767px) {
  .sec__recruit .btnarea {
    margin-top: 2rem;
  }
  .sec__recruit .btnarea a {
    margin: 0 auto;
  }
}

.row_reverse {
  align-items: center;
  flex-direction: row;
}
.row_reverse .about-imgs {
  width: calc(50% + 7.375rem);
  height: auto;
  aspect-ratio: 918/640;
}
@media (min-width: 1200px) {
  .row_reverse .about-imgs {
    height: 40rem;
  }
}
@media screen and (max-width: 767px) {
  .row_reverse .about-imgs {
    width: 100%;
    height: auto;
  }
}
.row_reverse .txt {
  text-align: left;
  width: calc(50% - 7.375rem);
  position: relative;
}
@media screen and (max-width: 767px) {
  .row_reverse .txt {
    width: auto;
    padding: 0 1.5rem 4.375rem;
  }
  .row_reverse .txt::before {
    content: "";
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    display: block;
    background-color: var(--color03);
    width: 100%;
    height: calc(100% + 4.375rem);
    bottom: 0;
    right: 0;
    z-index: -1;
  }
}
.row_reverse .txt .inner {
  max-width: 466px;
  margin: 0 0 0 5.25rem;
  padding: 0 3.125rem 0 1.5rem;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .row_reverse .txt .inner {
    padding: 0 1.5rem 0 3.125rem;
    margin: 0;
  }
}
@media screen and (max-width: 767px) {
  .row_reverse .txt .inner {
    padding: 0 0px 0 0;
    margin: 0 0 0 0;
  }
}
.row_reverse .txt .subttl {
  font-size: 1.375rem;
  line-height: 1.8;
  margin: 0 0 3.125rem;
}
@media screen and (max-width: 767px) {
  .row_reverse .txt .subttl {
    font-size: 1rem;
    margin: 0 0 2.5rem;
    line-height: 2.1;
  }
}
.row_reverse .slick-dots,
.row_reverse .about-imgs .dot {
  left: auto !important;
  right: 0;
}
@media screen and (max-width: 767px) {
  .row_reverse .slick-dots,
.row_reverse .about-imgs .dot {
    left: 50% !important;
    right: auto;
  }
}

/*top news*/
.sec__column {
  padding: 12.1875rem 0 16.625rem;
  position: relative;
  /*slickarrow*/
}
@media screen and (max-width: 767px) {
  .sec__column {
    padding: 3.75rem 0 6.875rem;
  }
}
.sec__column::before {
  content: "";
  display: block;
  width: 37.75rem;
  height: 37.75rem;
  background-color: var(--color03);
  border-radius: 50%;
  position: absolute;
  opacity: 0.3;
  filter: blur(30px);
  left: -10.3125rem;
  top: -5.5rem;
  z-index: 0;
  -webkit-animation: float1 8s infinite;
          animation: float1 8s infinite;
}
@media screen and (max-width: 767px) {
  .sec__column::before {
    width: 26.3125rem;
    height: 26.3125rem;
    left: -12.5rem;
    top: -14.1875rem;
  }
}
.sec__column .frame {
  overflow: hidden;
}
.sec__column .inner {
  position: relative;
}
.sec__column .wrap_column {
  position: relative;
}
@media screen and (max-width: 767px) {
  .sec__column .ttlarea2 {
    flex-direction: column;
    align-items: center;
    margin-bottom: 4.375rem;
  }
  .sec__column .ttlarea2 .h2 {
    margin-right: 0;
    font-size: 2.5rem;
    margin-bottom: 0.625rem;
  }
  .sec__column .ttlarea2 .ttl {
    font-size: 0.75rem;
  }
}
.sec__column .btnarea {
  position: absolute;
  left: calc(50% + 340px);
  top: var(--size190px);
}
@media screen and (max-width: 1200px) {
  .sec__column .btnarea {
    right: 24px;
    left: auto;
  }
}
@media screen and (max-width: 767px) {
  .sec__column .btnarea {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
  }
  .sec__column .btnarea a {
    margin: 0 auto;
  }
}
.sec__column .block__column {
  margin-left: calc(50% - 560px);
  position: static;
  width: calc(100% - (50% - 650px));
}
@media (min-width: 768px) and (max-width: 1199px) {
  .sec__column .block__column {
    margin-left: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .sec__column .block__column {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
    width: auto;
  }
}
.sec__column .slick-slider {
  position: static;
}
.sec__column .slick-arrow {
  cursor: pointer;
  position: absolute;
  top: var(--size190px);
  background-color: #fff;
  border: 1px solid var(--color01);
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 50%;
  z-index: 2;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sec__column .slick-arrow::after {
  transform: rotate(45deg);
  content: "";
  display: block;
  border-top: 2px solid var(--color01);
  border-right: 2px solid var(--color01);
  width: 0.5rem;
  height: 0.5rem;
}
@media screen and (max-width: 767px) {
  .sec__column .slick-arrow {
    background: none;
    width: 18px;
    height: 18px;
    border-radius: 0;
    border: 0;
    border-top: 1px solid var(--color01);
    border-right: 1px solid var(--color01);
    transform: rotate(45deg);
    top: 40%;
  }
}
.sec__column .slick-arrow.next {
  left: calc(50% + 15.9375rem);
}
@media screen and (max-width: 1200px) {
  .sec__column .slick-arrow.next {
    right: 16.5rem;
    left: auto;
  }
}
@media screen and (max-width: 767px) {
  .sec__column .slick-arrow.next {
    right: -0.3125rem;
    left: auto;
  }
}
.sec__column .slick-arrow.prev {
  left: calc(50% + 11.75rem);
  transform: rotate(180deg);
}
@media screen and (max-width: 1200px) {
  .sec__column .slick-arrow.prev {
    right: 20.8125rem;
    left: auto;
  }
}
@media screen and (max-width: 767px) {
  .sec__column .slick-arrow.prev {
    left: -0.3125rem;
    right: auto;
    transform: rotate(-135deg);
  }
}

/*news 一一覧*/
.block__column .col {
  padding: 0 1.5625rem;
}
@media screen and (max-width: 767px) {
  .block__column .col {
    padding: 0;
    margin-bottom: 2.1875rem;
  }
}
.block__column .col .img {
  background-color: #fff;
  aspect-ratio: 500/329;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  overflow: hidden;
  border-radius: 1.875rem;
}
.block__column .col .img img {
  aspect-ratio: 500/329;
  width: 100%;
  height: auto;
  transition: all ease 0.3s;
  -o-object-fit: cover;
     object-fit: cover;
}
.block__column .col .img.noimg {
  border: 1px solid #ddd;
}
.block__column .col .img.noimg img {
  width: 7.5rem;
  height: 7.5rem;
}
.block__column .col > a:hover .img img {
  transform: scale(1.1);
}
.block__column .col .txtarea_column {
  text-align: left;
}
.block__column .col .date {
  color: var(--black);
}
@media screen and (max-width: 767px) {
  .block__column .col .date {
    font-size: 0.9375rem;
  }
}
.block__column .col .cat {
  width: 8.125rem;
  height: 1.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .block__column .col .cat {
    font-size: 0.6875rem;
  }
}
.block__column .col .txt_column {
  color: var(--black);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .block__column .col .txt_column {
    font-size: 0.875rem;
  }
}

/*top project*/
.sec__project {
  padding: 15.625rem 0 12.1875rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .sec__project {
    padding: 6.875rem 0 4.6875rem;
  }
}
.sec__project .scrolltxtarea {
  position: absolute;
  right: 0;
  top: 0;
  width: 228vw;
  aspect-ratio: 3652.5/146;
  height: auto;
  background-repeat: repeat-x;
  background-position: 0 center;
  background-image: url(../images/index/scrolltxt.svg);
  background-size: 100% auto;
  transition: all 0.3s ease;
  -webkit-animation: txt-scroll 90s linear infinite;
          animation: txt-scroll 90s linear infinite;
  z-index: 2;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .sec__project .scrolltxtarea {
    width: 480vw;
    -webkit-animation: txt-scroll-sp 30s linear infinite;
            animation: txt-scroll-sp 30s linear infinite;
  }
}
@-webkit-keyframes txt-scroll {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: -228vw;
  }
}
@keyframes txt-scroll {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: -228vw;
  }
}
@-webkit-keyframes txt-scroll-sp {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: -480vw;
  }
}
@keyframes txt-scroll-sp {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: -480vw;
  }
}
.sec__project .wrap_project {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 4.0625rem;
       column-gap: 4.0625rem;
  row-gap: 4.375rem;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .sec__project .wrap_project {
    flex-direction: column;
    row-gap: 1.25rem;
  }
}
.sec__project .wrap_project li {
  width: calc((100% - 8.125rem) / 3);
  border-radius: 3.125rem;
  overflow: hidden;
  background-color: #fff;
  height: 23.125rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .sec__project .wrap_project li {
    border-radius: 1.875rem;
    width: 100% !important;
    height: 16.25rem;
  }
}
.sec__project .wrap_project li a {
  display: block;
  color: #000;
}
.sec__project .wrap_project li a:hover {
  opacity: 0.7;
}
.sec__project .wrap_project li .txt {
  line-height: 1.5;
  margin-bottom: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .sec__project .wrap_project li .txt {
    margin-bottom: 0.625rem;
    font-size: 0.75rem;
  }
}
.sec__project .wrap_project li .ttl {
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .sec__project .wrap_project li .ttl {
    font-size: 1.5rem;
  }
}
.sec__project .wrap_project li .img {
  height: 9.375rem;
  margin-bottom: 2.1875rem;
}
@media screen and (max-width: 767px) {
  .sec__project .wrap_project li .img {
    height: 6.25rem;
    margin-bottom: 1.875rem;
  }
}
.sec__project .wrap_project li .img img {
  height: 100%;
  width: auto;
}
.sec__project .wrap_project li.full {
  width: calc(100% - (100% - 8.125rem) / 3 - 4.0625rem);
}
.sec__project .wrap_project li.full a {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  height: 100%;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .sec__project .wrap_project li.full a {
    flex-direction: column;
    justify-content: start;
    width: 100%;
    height: 100%;
  }
}
.sec__project .wrap_project li.full .txtarea {
  width: 46.6%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .sec__project .wrap_project li.full .txtarea {
    width: 100%;
    order: 2;
  }
}
.sec__project .wrap_project li.full .img {
  width: 53.4%;
  height: auto;
  order: 2;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .sec__project .wrap_project li.full .img {
    width: 100%;
    order: 1;
    height: 9.25rem;
    margin-bottom: 1.5rem;
  }
}
.sec__project .wrap_project li.full .img img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
/*top company*/
.sec__company {
  padding: 11.25rem 0 12.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .sec__company {
    padding: 4.375rem 0;
    z-index: 1;
  }
}
.sec__company::before {
  content: "";
  display: block;
  width: 37.75rem;
  height: 37.75rem;
  background-color: var(--color01);
  border-radius: 50%;
  position: absolute;
  opacity: 0.3;
  filter: blur(30px);
  right: -10.3125rem;
  top: -5.5rem;
  z-index: 0;
  -webkit-animation: float1 8s infinite;
          animation: float1 8s infinite;
}
@media screen and (max-width: 767px) {
  .sec__company::before {
    width: 26.3125rem;
    height: 26.3125rem;
    right: -14.375rem;
    top: -8.25rem;
  }
}
.sec__company .block ul.wrap_company {
  -moz-column-gap: 4.0625rem;
       column-gap: 4.0625rem;
  row-gap: 4.0625rem;
}
@media screen and (max-width: 767px) {
  .sec__company .block ul.wrap_company {
    flex-direction: column;
    row-gap: 1.25rem;
  }
}
.sec__company .block ul.wrap_company li {
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .sec__company .block ul.wrap_company li {
    width: 100%;
  }
}
.sec__company .block ul.wrap_company li:nth-child(-n+2) {
  width: calc((100% - 4.0625rem) / 2);
}
@media screen and (max-width: 767px) {
  .sec__company .block ul.wrap_company li:nth-child(-n+2) {
    width: 100%;
  }
}
.sec__company .block ul.wrap_company li:nth-child(-n+2) a {
  aspect-ratio: 707/370;
}
.sec__company .block ul.wrap_company li:nth-child(n+3) {
  width: calc((100% - 8.125rem) / 3);
}
@media screen and (max-width: 767px) {
  .sec__company .block ul.wrap_company li:nth-child(n+3) {
    width: 100%;
  }
}
.sec__company .block ul.wrap_company li:nth-child(n+3) a {
  aspect-ratio: 450/370;
}
.sec__company .block ul.wrap_company li:first-child a:before {
  background-image: url(../images/index/img_company01.jpg);
}
@media screen and (max-width: 767px) {
  .sec__company .block ul.wrap_company li:first-child a:before {
    background-image: url(../images/index/img_company01_sp.jpg);
  }
}
.sec__company .block ul.wrap_company li:nth-child(2) a:before {
  background-image: url(../images/index/img_company02.jpg);
}
@media screen and (max-width: 767px) {
  .sec__company .block ul.wrap_company li:nth-child(2) a:before {
    background-image: url(../images/index/img_company02_sp.jpg);
  }
}
.sec__company .block ul.wrap_company li:nth-child(3) a:before {
  background-image: url(../images/index/img_company03.jpg);
}
@media screen and (max-width: 767px) {
  .sec__company .block ul.wrap_company li:nth-child(3) a:before {
    background-image: url(../images/index/img_company03_sp.jpg);
  }
}
.sec__company .block ul.wrap_company li:nth-child(4) a:before {
  background-image: url(../images/index/img_company04.jpg);
}
@media screen and (max-width: 767px) {
  .sec__company .block ul.wrap_company li:nth-child(4) a:before {
    background-image: url(../images/index/img_company04_sp.jpg);
  }
}
.sec__company .block ul.wrap_company li:nth-child(5) a:before {
  background-image: url(../images/index/img_company05.jpg);
}
@media screen and (max-width: 767px) {
  .sec__company .block ul.wrap_company li:nth-child(5) a:before {
    background-image: url(../images/index/img_company05_sp.jpg);
  }
}
.sec__company .block ul.wrap_company li a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 3.125rem;
  color: #fff;
  height: auto;
  text-decoration: none;
  transition: background-size ease 0.3s;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .sec__company .block ul.wrap_company li a {
    aspect-ratio: 327/260 !important;
    border-radius: 1.875rem;
  }
}
.sec__company .block ul.wrap_company li a:hover {
  opacity: 1;
}
.sec__company .block ul.wrap_company li a:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: all ease 0.3s;
}
.sec__company .block ul.wrap_company li a::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  mix-blend-mode: multiply;
  z-index: 0;
}
.sec__company .block ul.wrap_company li a:hover:before {
  transform: scale(1.1);
}
.sec__company .block ul.wrap_company li .titlearea {
  z-index: 1;
}
.sec__company .block ul.wrap_company li .titlearea .ttl {
  margin: 0;
}
@media screen and (max-width: 767px) {
  .sec__company .block ul.wrap_company li .titlearea .ttl {
    font-size: 1.5rem;
  }
}
.sec__company .block ul.wrap_company li .titlearea .ttl span {
  display: block;
}
@media screen and (max-width: 767px) {
  .sec__company .block ul.wrap_company li .titlearea .ttl span {
    font-size: 0.875rem;
  }
}
.sec__company .block ul.wrap_company li .btnarea {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .sec__company .block ul.wrap_company li .btnarea .btn {
    margin-top: 0;
    width: 10.375rem;
    height: 2.875rem;
  }
  .sec__company .block ul.wrap_company li .btnarea .btn span {
    font-size: 0.8125rem;
  }
  .sec__company .block ul.wrap_company li .btnarea .btn::before {
    display: none;
  }
}

/*foot*/
#page-top {
  display: none !important;
  position: absolute;
  z-index: 1;
  bottom: 0px;
  right: 30px;
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  #page-top {
    display: none;
    position: fixed;
    z-index: 1;
    bottom: 30px;
    right: 30px;
    font-size: 12px;
  }
}
#page-top a {
  line-height: 1;
  text-decoration: none;
  color: #fff;
  text-align: center;
  width: 25px;
  display: block;
  position: relative;
  padding: 0 0 8em 0;
  transition: all 0.2s;
}
#page-top a:hover {
  opacity: 0.8;
}
#page-top a:before {
  content: "";
  height: 75px;
  width: 3px;
  display: block;
  background-color: #fff;
}
#page-top a span {
  display: block;
  transform: rotate(-90deg);
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  width: 8em;
  position: absolute;
  bottom: 38px;
  left: -55px;
}
#page-top a span:before {
  position: absolute;
  transform: rotate(40deg);
  content: "";
  width: 15px;
  height: 3px;
  right: -72px;
  top: 2px;
  background-color: #fff;
}

/*-----------------------
pagination
---------------------------*/
.pagination-wrapper {
  text-align: center !important;
}
@media screen and (max-width: 767px) {
  .pagination-wrapper {
    padding: 0px 0 10px 0;
  }
}

.pagination {
  list-style: none;
  display: flex;
  justify-content: center;
  padding-left: 0;
  margin: 7.5rem 0 0;
  -moz-column-gap: var(--size10px);
       column-gap: var(--size10px);
}
@media screen and (max-width: 767px) {
  .pagination {
    justify-content: center;
    -moz-column-gap: var(--size8px);
         column-gap: var(--size8px);
  }
}
.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  color: var(--color01);
  text-decoration: none;
  background-color: var(--color04);
  border: 1px solid var(--color04);
  width: 3.125rem;
  height: 3.125rem;
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .pagination > li > a,
.pagination > li > span {
    width: 2.5rem;
    height: 2.5rem;
  }
}
.pagination > li > span.current,
.pagination > li > a:focus,
.pagination > li > a:hover,
.pagination > li > span:focus,
.pagination > li > span:hover {
  z-index: 2;
  color: #FFF;
  background-color: var(--color01);
  border-color: var(--color01);
}
.pagination > li > a.prev,
.pagination > li > a.next {
  color: #000;
  background-color: var(--color02);
  border: 1px solid var(--color02);
}
.pagination > li > span.disable {
  color: #ddd;
  background-color: rgba(238, 238, 238, 0.5);
  border: rgba(238, 238, 238, 0.5);
}
@media screen and (max-width: 767px) {
  .pagination {
    margin: 37px 0 0;
  }
  .pagination > li > a,
.pagination > li > span {
    padding: 7px 15px;
    margin: 0 2px;
    font-size: 0.9375rem;
  }
}

/* top slide Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .slick-dotted.slick-slider {
    margin-bottom: 0;
  }
}

/*
.slick-dots {
	position: absolute;
	bottom: 100px;
	display: inline-block !important;
	left: 50%;
	transform: translateX(-550px);
	width: auto;
	padding: 0;
	margin: 0;
	list-style: none;
	text-align: center;
}

.slick-dots.thin {
	bottom: 20px;
}
*/
.slick-dots li {
  position: relative;
  display: inline-block;
  width: auto;
  height: 10px;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 14px;
  height: 14px;
  padding: 0px;
  border-radius: 50%;
  background-color: #fff;
  cursor: pointer;
  border: 0;
  outline: none;
}

/*
.slick-dots li button:hover,
.slick-dots li button:focus {
	outline: none;
}

.slick-dots li.slick-active button {
	border: 2px solid #fff;
	background-color: transparent;
}

@media screen and (max-width: $media-max-small) {
	.slick-dots li button {
		width: 40px;
	}
}
*/
/*==================================================
 * archive
 *================================================*/
/**
 * .entries
 */
.resentarea,
.news_archive {
  padding-top: 0 !important;
}
.resentarea .block__column,
.news_archive .block__column {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 3.125rem;
       column-gap: 3.125rem;
  row-gap: 4.375rem;
}
@media screen and (max-width: 767px) {
  .resentarea .block__column,
.news_archive .block__column {
    row-gap: 0;
  }
}
.resentarea .block__column .col,
.news_archive .block__column .col {
  width: calc((100% - 6.25rem) / 3);
  padding: 0;
}
@media screen and (max-width: 767px) {
  .resentarea .block__column .col,
.news_archive .block__column .col {
    width: 100%;
    margin-bottom: 2.1875rem;
  }
}
.resentarea .dropdown_news,
.news_archive .dropdown_news {
  position: relative;
}
@media screen and (max-width: 767px) {
  .resentarea .dropdown_news,
.news_archive .dropdown_news {
    margin-bottom: 2.1875rem;
  }
}
.resentarea .dropdown_news .head,
.news_archive .dropdown_news .head {
  padding: 1.875rem 2.8125rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .resentarea .dropdown_news .head,
.news_archive .dropdown_news .head {
    font-size: 0.875rem;
    padding: 0.9375rem 1.5625rem;
  }
}
.resentarea .dropdown_news .head::after,
.news_archive .dropdown_news .head::after {
  position: absolute;
  right: 2.5rem;
  top: 50%;
  transform: translateY(-50%) rotate(135deg);
  content: "";
  display: block;
  border-top: 2px solid var(--color01);
  border-right: 2px solid var(--color01);
  width: 0.375rem;
  height: 0.375rem;
}
@media screen and (max-width: 767px) {
  .resentarea .dropdown_news .head::after,
.news_archive .dropdown_news .head::after {
    right: 1.25rem;
  }
}
.resentarea .dropdown_news .head.active::after,
.news_archive .dropdown_news .head.active::after {
  transform: translateY(0) rotate(-45deg);
}
.resentarea .dropdown_news .cont,
.news_archive .dropdown_news .cont {
  display: none;
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  font-size: 1.0625rem;
}
@media screen and (max-width: 767px) {
  .resentarea .dropdown_news .cont,
.news_archive .dropdown_news .cont {
    font-size: 0.875rem;
  }
}
.resentarea .dropdown_news .cont ul li,
.news_archive .dropdown_news .cont ul li {
  border-top: 1px solid #fff;
}
.resentarea .dropdown_news .cont ul li a,
.news_archive .dropdown_news .cont ul li a {
  display: block;
  padding: 1.875rem 2.8125rem;
  position: relative;
  text-align: left;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .resentarea .dropdown_news .cont ul li a,
.news_archive .dropdown_news .cont ul li a {
    font-size: 0.875rem;
    padding: 0.9375rem 1.5625rem;
  }
}
.resentarea .dropdown_news .cont ul li a:hover,
.news_archive .dropdown_news .cont ul li a:hover {
  background-color: var(--color01);
  color: #fff;
}

/***********************************
	mission
************************************/
body:not(.home) section.mission_lead {
  padding-top: 8.125rem;
  padding-bottom: 1.25rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) section.mission_lead {
    padding-top: 4.125rem;
    padding-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) section.mission_lead .ttl {
    font-size: 1rem;
    margin-bottom: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) section.mission_lead .txt {
    font-size: 0.875rem;
    text-align: left;
    line-height: 2;
    margin-bottom: 1.875rem;
  }
}

.mission_vision .inner_l:after {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 1450/550;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 3.125rem;
}
@media screen and (max-width: 767px) {
  .mission_vision .inner_l:after {
    aspect-ratio: 327/250;
    border-radius: 1.875rem;
  }
}
.page-mission .mission_vision .inner_l:after {
  background-image: url(../images/mission/img_vision.jpg);
}
@media screen and (max-width: 767px) {
  .page-mission .mission_vision .inner_l:after {
    background-image: url(../images/mission/img_vision_sp.jpg);
  }
}
@media screen and (max-width: 767px) {
  .mission_vision .ttlarea {
    padding: 0;
    flex-direction: column;
    align-items: center;
    margin-bottom: 4.6875rem;
  }
}
@media screen and (max-width: 767px) {
  .mission_vision .ttlarea .h1 {
    font-size: 2.5rem;
    margin: 0 0 var(--size10px);
  }
}
@media screen and (max-width: 767px) {
  .mission_vision .ttlarea .ttl {
    margin-left: 0rem;
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  .mission_vision .inner {
    padding: 4.125rem 1.5rem 0;
  }
  .mission_vision .inner .txt {
    text-align: left;
  }
  .mission_vision .inner .txt.mb35 {
    margin-bottom: 1.875rem;
  }
  .mission_vision .inner .txt:last-child {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .mission_vision .inner .ttl {
    font-size: 1rem;
    margin-bottom: 1.875rem;
  }
}
.mission_vision .inner .ttl .tb_pc {
  display: inline;
}
@media screen and (max-width: 767px) {
  .mission_vision .inner .ttl .tb_pc {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .mission_socialchallenges .ttlarea {
    margin-bottom: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .mission_socialchallenges .ttlarea .h2 {
    font-size: 1.875rem;
    line-height: 1.3;
    letter-spacing: 0.1em;
    margin-bottom: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .mission_socialchallenges .ttlarea .ttl {
    font-size: 1rem !important;
    line-height: 2;
  }
}
.mission_socialchallenges .box_socialchallenges {
  padding: 5.625rem 10.3125rem;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .mission_socialchallenges .box_socialchallenges {
    padding: 5.625rem 4.0625rem;
  }
}
@media screen and (max-width: 767px) {
  .mission_socialchallenges .box_socialchallenges {
    padding: 3.125rem 1.5rem;
  }
  .mission_socialchallenges .box_socialchallenges.mt50 {
    margin-top: 1.625rem;
  }
}
@media screen and (max-width: 767px) {
  .mission_socialchallenges .box_socialchallenges .ttl {
    font-size: 0.875rem;
    margin-bottom: 1.875rem;
  }
}
.mission_socialchallenges .wrap_socialchallenges {
  flex-wrap: nowrap;
  -moz-column-gap: 3.25rem;
       column-gap: 3.25rem;
  display: flex;
}
@media screen and (max-width: 767px) {
  .mission_socialchallenges .wrap_socialchallenges {
    flex-direction: column;
  }
}
.mission_socialchallenges .wrap_socialchallenges .img_col {
  width: 23.8125rem;
  min-width: 23.8125rem;
}
@media screen and (max-width: 767px) {
  .mission_socialchallenges .wrap_socialchallenges .img_col {
    width: 100%;
    min-width: auto;
    margin-bottom: 1.875rem;
  }
}
@media screen and (max-width: 767px) {
  .mission_socialchallenges .wrap_socialchallenges .txt_col .txt.mb40 {
    margin-bottom: 1.875rem;
  }
}
.mission_socialchallenges .wrap_socialchallenges.r_reverse .img_col {
  border-radius: 3.125rem;
  overflow: hidden;
  width: 23.625rem;
  min-width: 23.625rem;
}
@media screen and (max-width: 767px) {
  .mission_socialchallenges .wrap_socialchallenges.r_reverse .img_col {
    border-radius: 1.875rem;
    width: 100%;
    min-width: auto;
    margin-bottom: 1.875rem;
  }
}
.mission_socialchallenges .wrap_socialchallenges.three {
  justify-content: center;
  -moz-column-gap: 3.625rem;
       column-gap: 3.625rem;
}
@media screen and (max-width: 767px) {
  .mission_socialchallenges .wrap_socialchallenges.three {
    flex-direction: column;
    row-gap: 0.375rem;
  }
}
.mission_socialchallenges .wrap_socialchallenges.three .img_col {
  width: 18.625rem;
  min-width: 18.625rem;
}
@media screen and (max-width: 767px) {
  .mission_socialchallenges .wrap_socialchallenges.three .img_col {
    margin-bottom: 0;
    width: 100%;
    min-width: auto;
  }
  .mission_socialchallenges .wrap_socialchallenges.three .img_col img {
    width: 12.1875rem;
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .mission_socialchallenges .txt {
    text-align: left;
  }
  .mission_socialchallenges .txt.mb80 {
    margin-bottom: 1.875rem;
  }
  .mission_socialchallenges .txt.mt55 {
    margin-top: 2.1875rem;
  }
}
@media screen and (max-width: 767px) {
  .mission_socialchallenges .subttl {
    text-align: left;
    margin-bottom: 2.1875rem;
  }
}

.mission_solution .box_solution {
  margin-bottom: 6.25rem;
}
@media screen and (max-width: 767px) {
  .mission_solution .box_solution {
    margin-bottom: 3.75rem;
  }
}
.mission_solution .box_solution:last-child {
  margin-bottom: 0 !important;
}
@media screen and (max-width: 767px) {
  .mission_solution .num {
    font-size: 4.375rem;
    margin-bottom: 1.875rem;
  }
}
@media screen and (max-width: 767px) {
  .mission_solution .ttl {
    font-size: 0.875rem;
    margin-bottom: 1.875rem;
  }
}
@media screen and (max-width: 767px) {
  .mission_solution .lead {
    text-align: left;
  }
}
.mission_solution .row_solution {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: stretch;
}
@media screen and (max-width: 767px) {
  .mission_solution .row_solution {
    flex-direction: column;
    row-gap: 1.5625rem;
  }
  .mission_solution .row_solution.mt75 {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 1200px) {
  .mission_solution .row_solution.c1 {
    -moz-column-gap: 1.5625rem;
         column-gap: 1.5625rem;
    row-gap: 1.5625rem;
  }
}
.mission_solution .row_solution.c3 {
  -moz-column-gap: 3.125rem;
       column-gap: 3.125rem;
}
.mission_solution .row_solution .col {
  overflow: hidden;
}
.mission_solution .row_solution .col1 {
  width: calc((100% - 6.375rem) / 4);
  padding: 4.375rem 2.25rem;
}
@media screen and (max-width: 767px) {
  .mission_solution .row_solution .col1 {
    width: 100%;
    padding: 2.8125rem 1.5rem;
  }
  .mission_solution .row_solution .col1 > .txt {
    margin-bottom: 10.3125rem;
  }
}
.mission_solution .row_solution .col1:nth-child(2) {
  position: relative;
}
.mission_solution .row_solution .col1:nth-child(2)::before {
  content: "";
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 3rem;
  width: 8rem;
  height: 10.9375rem;
  background-image: url(../images/mission/deco_solution02.png);
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .mission_solution .row_solution .col1:nth-child(2)::before {
    left: 50%;
    top: 13.125rem;
    transform: translateX(-50%);
    width: 6.25rem;
    height: 8.5625rem;
  }
}
.mission_solution .row_solution .col1:nth-child(3) {
  position: relative;
}
.mission_solution .row_solution .col1:nth-child(3)::before {
  content: "";
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 3rem;
  width: 7.5625rem;
  height: 11.3125rem;
  background-image: url(../images/mission/deco_solution03.png);
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .mission_solution .row_solution .col1:nth-child(3)::before {
    left: 50%;
    top: 13.125rem;
    transform: translateX(-50%);
    width: 5.6875rem;
    height: 8.5625rem;
  }
}
.mission_solution .row_solution .col2 {
  width: calc((100% - 2.125rem) / 2);
  padding: 4.375rem 3rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .mission_solution .row_solution .col2 {
    width: 100%;
    padding: 2.8125rem 1.5rem;
  }
  .mission_solution .row_solution .col2 > .txt {
    margin-bottom: 10.3125rem;
  }
}
.mission_solution .row_solution .col2::before {
  content: "";
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  display: block;
  position: absolute;
  right: 3rem;
  top: 4.375rem;
  width: 6.8125rem;
  height: 9.9375rem;
  background-image: url(../images/mission/deco_solution01.png);
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .mission_solution .row_solution .col2::before {
    left: 50%;
    top: 13.125rem;
    transform: translateX(-50%);
    width: 5.3125rem;
    height: 7.8125rem;
  }
}
.mission_solution .row_solution .col2 .row_solution02 {
  display: flex;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 1rem;
  flex-wrap: wrap;
  align-items: stretch;
}
@media screen and (max-width: 767px) {
  .mission_solution .row_solution .col2 .row_solution02 {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 0.625rem;
  }
}
.mission_solution .row_solution .col2 .row_solution02 li {
  width: calc((100% - 1rem) / 2);
  padding: 1.875rem 0;
}
@media screen and (max-width: 767px) {
  .mission_solution .row_solution .col2 .row_solution02 li {
    width: 100%;
    padding: 1.5rem 0;
  }
}
.mission_solution .row_solution .col3 {
  width: calc((100% - 6.375rem) / 4);
  padding: 0;
}
@media screen and (max-width: 767px) {
  .mission_solution .row_solution .col3 {
    width: 100%;
  }
}
.mission_solution .row_solution .col4 {
  width: calc((100% - 6.25rem) / 3);
  padding: 0;
}
@media screen and (max-width: 767px) {
  .mission_solution .row_solution .col4 {
    width: 100%;
  }
}
.mission_solution .row_solution02 li {
  padding: 1.875rem 0;
}
@media screen and (max-width: 1200px) {
  .mission_solution .row_solution02 li {
    padding: 1.625rem 0;
  }
}
@media screen and (max-width: 767px) {
  .mission_solution .row_solution02 li {
    width: 100%;
  }
  .mission_solution .row_solution02 li .subttl2 {
    font-size: 0.9375rem;
    margin-bottom: 0.625rem;
  }
  .mission_solution .row_solution02 li .txt {
    font-size: 0.8125rem;
  }
}
@media screen and (max-width: 1200px) {
  .mission_solution .subttl {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .mission_solution .subttl {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .mission_solution .img img {
    width: 100%;
  }
}
.mission_solution .cont {
  padding: 2.5rem 2rem;
}
@media screen and (max-width: 767px) {
  .mission_solution .cont {
    padding: 1.875rem 1.5rem;
  }
}
.mission_solution .cont .logo {
  overflow: hidden;
}
.mission_solution .cont .logo img {
  width: auto;
  height: 11rem;
}
@media screen and (max-width: 767px) {
  .mission_solution .cont .logo img {
    height: 8.3125rem;
  }
}

/***********************************
	starlit
************************************/
.starlit_lead {
  text-align: left;
}

.starlit_method {
  padding-bottom: 12.5rem;
}
.starlit_method::after {
  content: "";
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  display: block;
  margin: 0 auto;
  background-image: url(../images/starlit/img_starlit02.png);
  width: 48rem;
  aspect-ratio: 768/279;
}
@media screen and (max-width: 767px) {
  .starlit_method::after {
    width: 20.4375rem;
  }
}
.starlit_method.star::after {
  display: none;
}
.starlit_method.starlitwork::after {
  display: none;
}
.starlit_method.tectec::after {
  display: none;
}
.starlit_method .txt a {
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .starlit_method .txt p {
    line-height: 2;
  }
}
.starlit_method .row_starlit_method {
  position: relative;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .starlit_method .row_starlit_method {
    flex-direction: column;
  }
}
.starlit_method .row_starlit_method .img {
  width: 48%;
  border-radius: 3.125rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .starlit_method .row_starlit_method .img {
    border-radius: 1.875rem;
    width: 100%;
    margin-bottom: 2.5rem;
  }
}
.starlit_method .row_starlit_method .img.bg_white {
  aspect-ratio: 625/475;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .starlit_method .row_starlit_method .img.bg_white {
    aspect-ratio: 327/200;
  }
}
.starlit_method .row_starlit_method .img.bg_white.starlitservice img {
  width: 10.5625rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .starlit_method .row_starlit_method .img.bg_white.starlitservice img {
    width: 5.5625rem;
  }
}
.starlit_method .row_starlit_method .img.bg_white.starlitwork img {
  width: 13.0625rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .starlit_method .row_starlit_method .img.bg_white.starlitwork img {
    width: 5.5625rem;
  }
}
.starlit_method .row_starlit_method .img.bg_white.tectec img {
  width: 13.0625rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .starlit_method .row_starlit_method .img.bg_white.tectec img {
    width: 5.5625rem;
  }
}
.starlit_method .row_starlit_method .recruit-imgs {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .starlit_method .row_starlit_method .recruit-imgs {
    width: 100%;
    height: auto;
  }
}
.starlit_method .row_starlit_method .txtarea {
  text-align: left;
  width: 42.7%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .starlit_method .row_starlit_method .txtarea {
    width: 100%;
    padding: 0;
  }
  .starlit_method .row_starlit_method .txtarea .ttl {
    font-size: 1rem;
    text-align: center;
    margin-bottom: 2.1875rem;
  }
  .starlit_method .row_starlit_method .txtarea .txt {
    text-align: left;
    line-height: 2;
  }
}
.starlit_method .row_starlit_method .txtarea .subttl {
  font-size: 1.375rem;
  line-height: 1.8;
  margin: 0 0 3.125rem;
}
@media screen and (max-width: 767px) {
  .starlit_method .row_starlit_method .txtarea .subttl {
    font-size: 1rem;
    margin: 0 0 2.5rem;
    line-height: 2.1;
  }
}
.starlit_method .row_starlit_method02 {
  -moz-column-gap: 2.0625rem;
       column-gap: 2.0625rem;
}
@media screen and (max-width: 767px) {
  .starlit_method .row_starlit_method02 {
    -moz-column-gap: 1.0625rem;
         column-gap: 1.0625rem;
    margin-top: 4.375rem;
    row-gap: 1.125rem;
    margin-bottom: 1.25rem;
  }
}
.starlit_method .row_starlit_method02 li {
  flex: 1;
  padding: 3.125rem 2rem;
  aspect-ratio: 293/358;
}
@media screen and (max-width: 767px) {
  .starlit_method .row_starlit_method02 li {
    border-radius: 0.9375rem;
    padding: 1.875rem 0.625rem 0;
    flex: auto;
    width: calc((100% - 1.0625rem) / 2);
    aspect-ratio: 155/205;
  }
}
.starlit_method .row_starlit_method02 li .sttl {
  height: 3.4375rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
  .starlit_method .row_starlit_method02 li .sttl {
    height: auto;
    min-height: 1.875rem;
    margin-bottom: 0.4375rem;
    font-size: 0.9375rem;
    line-height: 1.3;
  }
}
.starlit_method .row_starlit_method02 li::after {
  content: "";
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  display: block;
  margin: 0 auto;
}
.starlit_method .row_starlit_method02 li:first-child::after {
  background-image: url(../images/starlit/logo_starlit01.png);
  width: 7.1875rem;
  aspect-ratio: 115/145;
}
@media screen and (max-width: 767px) {
  .starlit_method .row_starlit_method02 li:first-child::after {
    width: 5.0625rem;
  }
}
.starlit_method .row_starlit_method02 li:nth-child(2)::after {
  background-image: url(../images/starlit/logo_starlit02.png);
  width: 8.875rem;
  aspect-ratio: 142/142;
}
@media screen and (max-width: 767px) {
  .starlit_method .row_starlit_method02 li:nth-child(2)::after {
    width: 6.375rem;
  }
}
.starlit_method .row_starlit_method02 li:nth-child(3)::after {
  background-image: url(../images/starlit/logo_starlit03.png);
  width: 8.875rem;
  aspect-ratio: 142/142;
}
@media screen and (max-width: 767px) {
  .starlit_method .row_starlit_method02 li:nth-child(3)::after {
    width: 6.375rem;
  }
}
.starlit_method .row_starlit_method02 li:nth-child(4)::after {
  background-image: url(../images/starlit/logo_starlit04.png);
  width: 8.75rem;
  aspect-ratio: 140/157;
}
@media screen and (max-width: 767px) {
  .starlit_method .row_starlit_method02 li:nth-child(4)::after {
    width: 5.0625rem;
  }
}
.starlit_method .row_starlit_method02.star li {
  padding: 3.125rem 2rem;
  aspect-ratio: inherit;
}
@media screen and (max-width: 767px) {
  .starlit_method .row_starlit_method02.star li {
    padding: 1.875rem 0.625rem 0;
    flex: auto;
    width: calc((100% - 1.0625rem) / 2);
  }
}
.starlit_method .row_starlit_method02.star li .sttl {
  height: auto;
  margin-bottom: 0.9375rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .starlit_method .row_starlit_method02.star li .sttl {
    min-height: auto;
    margin-bottom: 0.4375rem;
    font-size: 0.9375rem;
    line-height: 1.3;
  }
}
.starlit_method .row_starlit_method02.star li .txt {
  margin-bottom: 0.625rem;
  line-height: 1;
}
.starlit_method .row_starlit_method02.star li::after {
  content: "";
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  display: block;
  margin: 1.25rem auto 0;
  height: 1.875rem;
  background-image: url(../images/starlitservice/icn_star.png);
  background-position: left center;
  background-size: auto 100%;
  background-repeat: repeat-x;
  aspect-ratio: inherit;
}
.starlit_method .row_starlit_method02.star li:first-child::after {
  width: 3.25rem;
}
.starlit_method .row_starlit_method02.star li:nth-child(2)::after {
  width: 6.5rem;
}
.starlit_method .row_starlit_method02.star li:nth-child(3)::after {
  width: 9.75rem;
}
.starlit_method .row_starlit_method02.star li:nth-child(4)::after {
  width: 13rem;
}
.starlit_method .row_starlit_method03 {
  -moz-column-gap: 3.125rem;
       column-gap: 3.125rem;
}
@media screen and (max-width: 767px) {
  .starlit_method .row_starlit_method03 {
    flex-direction: column;
    row-gap: 2.5rem;
    margin-top: 2.5rem;
  }
}
.starlit_method .row_starlit_method03 .col {
  border-top: 2px solid var(--color01);
  flex: 1;
  padding: 3.125rem 0 0;
}
@media screen and (max-width: 767px) {
  .starlit_method .row_starlit_method03 .col {
    padding: 1.5625rem 0 0;
    flex: auto;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .starlit_method .row_starlit_method03 .col .ttl {
    font-size: 1rem;
    margin-bottom: 1.5625rem;
  }
}
.starlit_method .row_starlit_method03 .col .img {
  overflow: hidden;
  border-radius: 1.875rem;
}
@media screen and (max-width: 767px) {
  .starlit_method .row_starlit_method03 .col .img {
    margin-bottom: 1.5625rem;
  }
}
.starlit_method .row_starlit_method03 .col .img img {
  width: 100%;
  height: auto;
}
.starlit_method .arrow_method {
  background-image: url(../images/starlitservice/img_arrow.svg);
  height: 2.5625rem;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
@media screen and (max-width: 767px) {
  .starlit_method .ttl.mt100 {
    font-size: 1rem;
    margin: 0.625rem 0 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .starlit_method .wrap_method_star {
    display: flex;
    align-items: stretch;
    -moz-column-gap: 0.8125rem;
         column-gap: 0.8125rem;
    margin-bottom: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .starlit_method .wrap_method_star .arrow_method {
    width: 1.75rem;
    background-image: url(../images/starlitservice/img_arrow_sp.svg);
    background-size: auto 100%;
    background-position: bottom center;
    height: auto;
    flex-shrink: 0;
  }
}
@media screen and (max-width: 767px) {
  .starlit_method .wrap_method_star .row_starlit_method02 {
    row-gap: 0.625rem;
    margin: 0;
  }
  .starlit_method .wrap_method_star .row_starlit_method02 li {
    border-radius: 1.875rem;
    padding: 1.375rem 0.625rem;
    flex: auto;
    width: 100%;
  }
  .starlit_method .wrap_method_star .row_starlit_method02 li .sttl {
    min-height: auto;
    margin-bottom: 0.4375rem;
    font-size: 1.125rem;
    line-height: 1;
  }
  .starlit_method .wrap_method_star .row_starlit_method02 li::after {
    margin-top: 0.625rem;
  }
  .starlit_method .wrap_method_star .row_starlit_method02 li:first-child::after {
    width: 3.25rem;
  }
  .starlit_method .wrap_method_star .row_starlit_method02 li:nth-child(2)::after {
    width: 6.5rem;
  }
  .starlit_method .wrap_method_star .row_starlit_method02 li:nth-child(3)::after {
    width: 9.75rem;
  }
  .starlit_method .wrap_method_star .row_starlit_method02 li:nth-child(4)::after {
    width: 13rem;
  }
}

.starlit_program {
  text-align: left;
}
.starlit_program .row_starlit_program {
  -moz-column-gap: 3.125rem;
       column-gap: 3.125rem;
  row-gap: 5rem;
}
@media screen and (max-width: 767px) {
  .starlit_program .row_starlit_program {
    row-gap: 2.5rem;
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
    flex-direction: column;
    margin-bottom: 0;
  }
}
.starlit_program .row_starlit_program li {
  width: calc((100% - 6.25rem) / 3);
  padding: 0;
}
@media screen and (max-width: 767px) {
  .starlit_program .row_starlit_program li {
    flex: auto;
    width: 100%;
  }
}
.starlit_program .row_starlit_program li .img {
  border-radius: 1.875rem;
  overflow: hidden;
}
.starlit_program .row_starlit_program li .img img {
  width: 100%;
  height: auto;
}
.starlit_program .row_starlit_program li .sttl {
  border-radius: 1.25rem;
  padding: 1.5rem 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  width: 17.8125rem;
  margin: -2.1875rem auto 0.625rem;
}
@media screen and (max-width: 767px) {
  .starlit_program .row_starlit_program li .sttl {
    height: auto;
    min-height: 1.875rem;
    margin-bottom: 0.4375rem;
    font-size: 1.125rem;
    line-height: 1.3;
  }
}
.starlit_program.star .row_starlit_program {
  row-gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .starlit_program.star .row_starlit_program {
    row-gap: 0;
  }
}
.starlit_program.starlitwork .row_starlit_program {
  row-gap: 2.5rem;
  max-width: 53.125rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .starlit_program.starlitwork .row_starlit_program {
    row-gap: 0;
  }
}
.starlit_program.starlitwork .row_starlit_program li {
  width: calc((100% - 3.125rem) / 2);
  padding: 0;
}
@media screen and (max-width: 767px) {
  .starlit_program.starlitwork .row_starlit_program li {
    flex: auto;
    width: 100%;
  }
}

.starlit_interview {
  padding: 1.25rem 0 !important;
}
@media screen and (max-width: 767px) {
  .starlit_interview {
    padding: 0.625rem 0 !important;
  }
}
@media screen and (max-width: 767px) {
  .starlit_interview .ttlarea_ja {
    margin-bottom: 2.5rem !important;
  }
}
@media screen and (max-width: 767px) {
  .starlit_interview .bg_interview {
    border-radius: 1.875rem;
  }
}
.starlit_interview .row_starlit_interview {
  display: flex;
  justify-content: center;
  -moz-column-gap: 6.875rem;
       column-gap: 6.875rem;
  flex-wrap: nowrap;
}
@media screen and (max-width: 767px) {
  .starlit_interview .row_starlit_interview {
    display: block;
    margin-left: 1.5625rem;
    margin-right: 1.5625rem;
    margin-bottom: 0;
  }
}
.starlit_interview .row_starlit_interview .modalbutton {
  cursor: pointer;
  transition: all 0.2s;
}
.starlit_interview .row_starlit_interview .modalbutton img {
  transition: all 0.3s;
}
.starlit_interview .row_starlit_interview .modalbutton:hover img {
  transform: scale(1.1);
}
@media screen and (max-width: 767px) {
  .starlit_interview .row_starlit_interview .slick-slide {
    padding: 0 0.875rem;
  }
}
.starlit_interview .img {
  position: relative;
}
.starlit_interview .img::before {
  content: "";
  display: block;
  z-index: -1;
  background-color: #fff;
  border-radius: 50%;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 1.25rem;
  top: 1.125rem;
}
@media screen and (max-width: 767px) {
  .starlit_interview .img::before {
    left: 0.8125rem;
    top: 0.8125rem;
  }
}
.starlit_interview .img span {
  display: block;
  overflow: hidden;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .starlit_interview .img img {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  .starlit_interview .sttl span {
    font-size: 1.125rem;
    margin-top: 0.9375rem;
  }
}
.starlit_interview .slick-arrow {
  cursor: pointer;
  position: absolute;
  top: var(--size190px);
  background-color: #fff;
  border: 1px solid #fff;
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 50%;
  z-index: 2;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .starlit_interview .slick-arrow {
    background: none;
    width: 18px;
    height: 18px;
    border-radius: 0;
    border: 0;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
    top: 34%;
  }
}
@media screen and (max-width: 767px) {
  .starlit_interview .slick-arrow.next {
    right: -1.875rem;
    left: auto;
  }
}
.starlit_interview .slick-arrow.prev {
  transform: rotate(180deg);
}
@media screen and (max-width: 767px) {
  .starlit_interview .slick-arrow.prev {
    left: -1.875rem;
    right: auto;
    transform: rotate(-135deg);
  }
}

.starlit_1st {
  text-align: left;
}
@media screen and (max-width: 767px) {
  .starlit_1st .lead {
    text-align: left;
    margin-bottom: 2.5rem;
  }
}

@media screen and (max-width: 767px) {
  .starlit_starlit .lead,
.starlit_jr .lead {
    text-align: left;
    margin-bottom: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .starlit_starlit .txt_bottom,
.starlit_jr .txt_bottom {
    margin-top: 2.5rem;
    font-size: 0.875rem;
    text-align: left;
  }
}
.starlit_starlit .txt_bottom a:hover,
.starlit_jr .txt_bottom a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
  .starlit_jr .logo img {
    width: 4.5625rem;
    height: 4.5625rem;
  }
}

.row_starlit03 {
  text-align: left;
  display: flex;
  flex-wrap: nowrap;
  padding: 5.625rem;
  -moz-column-gap: 4.25rem;
       column-gap: 4.25rem;
}
@media (min-width: 768px) and (max-width: 1299px) {
  .row_starlit03 {
    padding: 5.625rem 3.75rem;
  }
}
@media screen and (max-width: 767px) {
  .row_starlit03 {
    padding: 2.5rem 1.5rem 0;
    flex-direction: column;
  }
  .row_starlit03.mb50 {
    margin-bottom: 1.875rem;
  }
}
.row_starlit03 .img_col {
  width: 25rem;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .row_starlit03 .img_col {
    width: 100%;
    border-radius: 1.875rem;
  }
}
.row_starlit03 .txt_col {
  flex-grow: 2;
}
.row_starlit03 .row_starlit03_ttl {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  -moz-column-gap: 2.375rem;
       column-gap: 2.375rem;
  margin-bottom: 1.625rem;
}
@media screen and (max-width: 767px) {
  .row_starlit03 .row_starlit03_ttl {
    flex-direction: column;
  }
}
.row_starlit03 .row_starlit03_ttl .logo {
  width: 9.1875rem;
  height: 9.1875rem;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .row_starlit03 .row_starlit03_ttl .logo {
    width: 6.875rem;
    height: 6.875rem;
    background-color: #fff;
    margin: -3.4375rem auto 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .row_starlit03 .row_starlit03_ttl .copy {
    text-align: center;
    line-height: 2;
    font-size: 0.8125rem;
    margin-bottom: 0.625rem;
  }
}
.row_starlit03 .row_starlit03_ttl .txt {
  flex-grow: 2;
}
.row_starlit03 .row_starlit03_ttl .ttl {
  line-height: 1.3;
  margin-right: -1.25rem;
}
@media screen and (max-width: 767px) {
  .row_starlit03 .row_starlit03_ttl .ttl {
    line-height: 1.6;
    font-size: 1.375rem;
    text-align: center;
    margin-bottom: 1.875rem;
    margin-right: 0;
  }
}
.row_starlit03 .address {
  display: flex;
  flex-wrap: wrap;
  row-gap: 0.3125rem;
}
@media screen and (max-width: 767px) {
  .row_starlit03 .address {
    font-size: 0.75rem;
    row-gap: 0.625rem;
  }
}
.row_starlit03 .address dt {
  width: 1.875rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .row_starlit03 .address dt {
    width: 1.5rem;
  }
}
.row_starlit03 .address dd {
  width: calc(100% - 1.875rem);
  flex-grow: 2;
  padding-top: 0.1875rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .row_starlit03 .address dd {
    padding-top: 0.0625rem;
    width: calc(100% - 1.5rem);
  }
}
.row_starlit03 .btnarea {
  position: absolute;
  left: 5.625rem;
  bottom: 0;
}
@media (min-width: 768px) and (max-width: 1299px) {
  .row_starlit03 .btnarea {
    left: 3.75rem;
  }
}
@media screen and (max-width: 767px) {
  .row_starlit03 .btnarea {
    position: relative;
    left: auto;
    bottom: auto;
    margin: 2.5rem auto 0;
  }
}
.row_starlit03 .btnarea a {
  display: block;
  width: 25rem;
  border-top-left-radius: 1.875rem;
  border-top-right-radius: 1.875rem;
  height: 3.5625rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .row_starlit03 .btnarea a {
    width: 14.75rem;
    height: 3.25rem;
  }
}

/*モーダル*/
.remodal-overlay {
  background: #9DB0D6;
}

.remodal {
  position: relative;
  background-color: transparent;
  padding: 0;
}
@media only screen and (min-width: 641px) {
  .remodal {
    max-width: 1480px;
  }
}
@media screen and (max-width: 767px) {
  .remodal {
    border-radius: 1.875rem;
  }
}

.remodal-wrapper {
  padding: 0;
}

/* モーダル内側の指定 */
.modal-container {
  display: inline-block;
  vertical-align: middle;
  max-width: none;
  width: auto;
  padding: 5.625rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .modal-container {
    padding: 3.75rem 1.5rem;
  }
}
.modal-container .quest {
  display: flex;
  align-items: center;
  position: relative;
  padding: 0.8125rem 1.875rem 0.8125rem 4.875rem;
  border-radius: 9999px;
}
@media screen and (max-width: 767px) {
  .modal-container .quest {
    padding: 0.8125rem 0.8125rem 0.8125rem 2.8125rem;
    font-size: 0.8125rem;
    border-radius: 0.625rem;
    margin-bottom: 1.25rem;
  }
}
.modal-container .quest::before {
  position: absolute;
  left: 1.875rem;
  top: 50%;
  transform: translateY(-50%);
  content: "Q";
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
  margin-right: 1.25rem;
  font-family: "Poppins", sans-serif;
}
@media screen and (max-width: 767px) {
  .modal-container .quest::before {
    left: 0.8125rem;
    font-size: 1.625rem;
  }
}
@media screen and (max-width: 767px) {
  .modal-container .ans {
    margin-bottom: 1.25rem;
  }
  .modal-container .ans:last-child {
    margin-bottom: 0;
  }
  .modal-container .ans span.fz22 {
    font-size: 1.125rem;
  }
}
.modal-container .timetable {
  padding-bottom: 3.75rem;
  position: relative;
  margin-bottom: 3.4375rem;
}
@media screen and (max-width: 767px) {
  .modal-container .timetable {
    padding-bottom: 2.5rem;
    margin-bottom: 1.875rem;
  }
}
.modal-container .timetable::after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, #3d62ad 0%, #fff226 100%);
}
.modal-container .sec_subttl {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .modal-container .sec_subttl {
    flex-direction: column;
    align-items: center;
    margin-bottom: 2.5rem;
  }
}
.modal-container .sec_subttl::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, #3d62ad 0%, #fff226 100%);
}
.modal-container .sec_subttl span {
  white-space: nowrap;
  display: block;
  flex-shrink: 0;
  width: 12.125rem;
}
@media screen and (max-width: 767px) {
  .modal-container .sec_subttl span {
    font-size: 1.125rem;
    text-align: center;
    width: auto;
    margin-bottom: 0.9375rem;
  }
}
.modal-container .time_modal {
  row-gap: 1.125rem;
}
@media screen and (max-width: 767px) {
  .modal-container .time_modal {
    row-gap: 0.25rem;
  }
}
.modal-container .time_modal dt {
  width: 5.9375rem;
}
@media screen and (max-width: 767px) {
  .modal-container .time_modal dt {
    width: 4em;
    font-size: 0.8125rem;
  }
}
.modal-container .time_modal dd {
  width: calc(100% - 5.9375rem);
}
@media screen and (max-width: 767px) {
  .modal-container .time_modal dd {
    width: calc(100% - 4em);
    font-size: 0.875rem;
  }
}

/* モーダルを閉じるボタンの指定 */
.modal-close {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 2.5rem;
  right: 2.6875rem;
  width: 7.375rem;
  height: 7.375rem;
  background: var(--color02);
  color: var(--color01);
  border-radius: 50%;
  cursor: pointer;
  font-size: 3.125rem;
  font-weight: 100;
  transition: all 0.2s;
  z-index: 11111111111111;
}
@media screen and (max-width: 767px) {
  .modal-close {
    font-size: 1.5625rem;
    top: 2.5rem;
    right: 0.8125rem;
    width: 3.625rem;
    height: 3.625rem;
  }
}
@media screen and (min-width: 1460px) {
  .modal-close {
    right: calc(50% - 690px);
  }
}
.modal-close:hover {
  background-color: var(--color01);
  color: #fff;
}
.modal-close.mclosebtn {
  display: none;
}
.modal-close.mclosebtn.show {
  display: flex;
}

.modal-content {
  border-radius: 3.125rem;
  padding: 5.625rem;
  grid-column: 3.125rem;
  background: #fff;
  text-align: left;
  display: grid;
  grid-template-areas: "area1 area2" "area3 area2" "area4 area2";
  grid-template-columns: calc(50% - 1.5625rem) calc(50% - 1.5625rem);
  grid-template-rows: -webkit-max-content 1fr -webkit-max-content auto;
  grid-template-rows: max-content 1fr max-content auto;
  grid-column-gap: 3.125rem;
}
@media screen and (max-width: 767px) {
  .modal-content {
    border-radius: 1.875rem;
    padding: 3.75rem 1.5rem;
    display: block;
  }
}

.modal-content2 {
  border-radius: 3.125rem;
  padding: 5.625rem;
  background: #fff;
  text-align: left;
  row-gap: 5.625rem;
}
@media screen and (max-width: 767px) {
  .modal-content2 {
    border-radius: 1.875rem;
    padding: 3.75rem 1.5rem;
    flex-direction: column;
    row-gap: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .modal-content2 .row_modal {
    flex-direction: column;
  }
}
.modal-content2 .row_modal > * {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .modal-content2 .row_modal > * {
    flex: auto;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .modal-content2 .row_modal .img_col {
    margin-bottom: 1.5625rem;
  }
}

.grid1 {
  grid-area: area1;
}
@media screen and (max-width: 767px) {
  .grid1 {
    margin-bottom: 2.5rem;
  }
  .grid1 .img {
    border-radius: 1.875rem;
    margin-bottom: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .grid1 .en {
    font-size: 1.375rem;
  }
}
.grid1 img {
  width: 100%;
  height: auto;
}

.grid2 {
  grid-area: area2;
}
@media screen and (max-width: 767px) {
  .grid2 {
    margin-bottom: 1.875rem;
  }
}

.grid3 {
  grid-area: area3;
  position: relative;
}
.grid3::after {
  margin-top: 3.125rem;
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, #3d62ad 0%, #fff226 100%);
}
@media screen and (max-width: 767px) {
  .grid3::after {
    margin-top: 1.875rem;
  }
}

.grid4 {
  grid-area: area4;
}

/***********************************
	グループ会社
************************************/
.sec_groupcompany {
  text-align: left;
}
@media screen and (max-width: 767px) {
  .sec_groupcompany .lead {
    margin-bottom: 4.375rem;
    text-align: left;
  }
}
.sec_groupcompany .wrap_gcompany {
  padding: 5.625rem 5.625rem 8.625rem;
}
@media screen and (max-width: 767px) {
  .sec_groupcompany .wrap_gcompany {
    padding: 2.5rem 1.5rem 5.75rem;
  }
}
@media screen and (max-width: 767px) {
  .sec_groupcompany .wrap_gcompany.mt150 {
    margin-top: 5rem;
  }
}
.sec_groupcompany .wrap_gcompany .sec_subttl span {
  width: 26.25rem;
}
@media screen and (max-width: 767px) {
  .sec_groupcompany .wrap_gcompany .sec_subttl span {
    width: 26.25rem;
  }
}
.sec_groupcompany .wrap_gcompany > .btnarea {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.sec_groupcompany .wrap_gcompany > .btnarea > * {
  cursor: pointer;
  display: block;
  width: 25rem;
  border-top-left-radius: 1.875rem;
  border-top-right-radius: 1.875rem;
  height: 3.5625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}
@media screen and (max-width: 767px) {
  .sec_groupcompany .wrap_gcompany > .btnarea > * {
    width: 12.5rem;
    height: 3.25rem;
    border-top-left-radius: 1.875rem;
    border-top-right-radius: 1.875rem;
  }
}
.sec_groupcompany .wrap_gcompany > .btnarea > *::before {
  content: "VIEW MORE";
}
.sec_groupcompany .wrap_gcompany > .btnarea > *:hover {
  opacity: 0.7;
}
.sec_groupcompany .wrap_gcompany > .btnarea.active div::before {
  content: "CLOSE";
}
.sec_groupcompany .row_gcompany {
  display: flex;
  flex-wrap: nowrap;
}
@media screen and (max-width: 767px) {
  .sec_groupcompany .row_gcompany {
    flex-direction: column;
  }
}
.sec_groupcompany .row_gcompany .img_col {
  width: 19.375rem;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .sec_groupcompany .row_gcompany .img_col {
    width: 100%;
    margin-bottom: 2.5rem;
  }
}
.sec_groupcompany .row_gcompany .img1 {
  width: 17.75rem;
  height: 17.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .sec_groupcompany .row_gcompany .img1 {
    height: auto;
  }
}
.sec_groupcompany .row_gcompany .img2 {
  width: 17.75rem;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .sec_groupcompany .row_gcompany .img2 {
    height: auto;
  }
}
.sec_groupcompany .row_gcompany .img2 img {
  width: 11.25rem;
}
.sec_groupcompany .row_gcompany .img3 {
  width: 15.25rem;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .sec_groupcompany .row_gcompany .img3 {
    height: auto;
  }
}
.sec_groupcompany .row_gcompany .img3 img {
  width: 11.25rem;
}
.sec_groupcompany .row_gcompany02 {
  display: flex;
  justify-content: flex-start;
  padding: 4.0625rem 3.75rem 3.75rem;
  -moz-column-gap: 3.375rem;
       column-gap: 3.375rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .sec_groupcompany .row_gcompany02 {
    margin-top: 2.5rem;
    padding: 2.1875rem 1.5rem 2.5rem;
  }
}
.sec_groupcompany .row_gcompany02 .img_col {
  width: 12.1875rem;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .sec_groupcompany .row_gcompany02 .img_col {
    width: 100%;
    margin-bottom: 1.5625rem;
  }
  .sec_groupcompany .row_gcompany02 .img_col img {
    width: 100%;
  }
}
.sec_groupcompany .row_gcompany02 .txt_col {
  width: calc(100% - 15.5625rem);
  flex-grow: 2;
}
@media screen and (max-width: 767px) {
  .sec_groupcompany .row_gcompany02 .txt_col {
    width: 100%;
  }
  .sec_groupcompany .row_gcompany02 .txt_col .sttl {
    line-height: 1.76;
    text-align: center;
  }
  .sec_groupcompany .row_gcompany02 .txt_col .ttl {
    flex-direction: column;
    font-size: 1.25rem;
    margin-bottom: 1.875rem;
  }
  .sec_groupcompany .row_gcompany02 .txt_col .ttl span {
    display: block;
    margin-top: 0.625rem;
    margin-left: 0;
  }
}
.sec_groupcompany .row_gcompany02 .dec {
  padding-left: 1.25rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .sec_groupcompany .row_gcompany02 .dec {
    font-size: 0.6875rem;
  }
}
.sec_groupcompany .row_gcompany02 .dec::before {
  position: absolute;
  left: 0;
  top: 0.5em;
  content: "";
  display: block;
  width: 4px;
  height: calc(100% - 1em);
  background: linear-gradient(to bottom, #3d62ad 0%, #fff226 100%);
}
@media screen and (max-width: 767px) {
  .sec_groupcompany .row_gcompany02 .txt_bottom {
    margin-top: 1.25rem;
  }
}
.sec_groupcompany .detail_gcompany {
  display: none;
  padding: 4.0625rem 0 0;
}
@media screen and (max-width: 767px) {
  .sec_groupcompany .detail_gcompany {
    padding: 2.8125rem 0 0;
  }
  .sec_groupcompany .detail_gcompany .ttlarea {
    margin-bottom: 1.875rem;
  }
  .sec_groupcompany .detail_gcompany .ttlarea .h2 {
    font-size: 1.5rem;
  }
}
.sec_groupcompany .detail_gcompany .btnarea {
  padding: 0;
}
.sec_groupcompany .detail_gcompany .btnarea .btn {
  width: 42rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .sec_groupcompany .detail_gcompany .btnarea .btn {
    width: 100%;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
  }
  .sec_groupcompany .detail_gcompany .btnarea .btn span {
    font-size: 0.8125rem;
    line-height: 1.6;
    text-align: center;
  }
  .sec_groupcompany .detail_gcompany .btnarea .btn::before {
    display: none;
  }
}
.sec_groupcompany .row_starlit03 {
  margin-top: 5rem;
  padding: 5rem 0 4.375rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .sec_groupcompany .row_starlit03 {
    margin-top: 2.5rem;
    padding: 2.5rem 0 2.5rem;
  }
}
.sec_groupcompany .row_starlit03::before, .sec_groupcompany .row_starlit03::after {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, #3d62ad 0%, #fff226 100%);
}
.sec_groupcompany .row_starlit03::after {
  top: auto;
  bottom: 0;
}

/***********************************
	message
************************************/
.sec_message {
  text-align: left;
}
@media screen and (max-width: 767px) {
  .sec_message .lead {
    text-align: left;
  }
  .sec_message .lead.mb100 {
    margin-bottom: 3.75rem;
  }
}
@media screen and (max-width: 767px) {
  .sec_message .sec_subttl2 {
    margin-bottom: 3.125rem;
  }
}

.sec_message_story {
  text-align: left;
}
.sec_message_story .row_message02 {
  display: flex;
  -moz-column-gap: 3.125rem;
       column-gap: 3.125rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .sec_message_story .row_message02 {
    flex-direction: column;
    margin-bottom: 3.75rem;
  }
}
.sec_message_story .row_message02 .img_col {
  width: calc((100% - 3.125rem) / 2);
}
@media screen and (max-width: 767px) {
  .sec_message_story .row_message02 .img_col {
    width: 100%;
    border-radius: 1.875rem;
    margin-bottom: 2.1875rem;
  }
  .sec_message_story .row_message02 .img_col img {
    width: 100%;
  }
}
.sec_message_story .row_message02 .txt_col {
  width: calc((100% - 3.125rem) / 2 - 3.75rem);
}
@media screen and (max-width: 767px) {
  .sec_message_story .row_message02 .txt_col {
    width: 100%;
  }
  .sec_message_story .row_message02 .txt_col .sttl {
    line-height: 1.76;
    text-align: center;
    margin-bottom: 0.625rem;
  }
}
@media screen and (max-width: 767px) {
  .sec_message_story .row_message02.sp_reverse {
    flex-direction: column-reverse;
    margin-bottom: 2.1875rem;
  }
  .sec_message_story .row_message02.sp_reverse .img_col {
    margin-bottom: 0;
  }
  .sec_message_story .row_message02.sp_reverse .txt_col {
    margin-bottom: 4.375rem;
  }
}
@media screen and (max-width: 767px) {
  .sec_message_story .name {
    margin-top: 2.1875rem !important;
  }
  .sec_message_story .name img {
    width: 8.8125rem;
    height: auto;
  }
}
.sec_message_story .wrap_message {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .sec_message_story .img {
    border-radius: 1.875rem;
  }
}
@media screen and (max-width: 767px) {
  .sec_message_story .bottom_s {
    margin-bottom: 2.1875rem !important;
  }
}
@media screen and (max-width: 767px) {
  .sec_message_story .txt.mb30 {
    margin-bottom: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .sec_message_story .mb120 {
    margin-bottom: 4.375rem;
  }
  .sec_message_story .ttl {
    flex-direction: column;
    font-size: 1rem;
    margin-bottom: 1.875rem;
  }
  .sec_message_story .ttl span {
    display: block;
    margin-top: 1.25rem;
    font-size: 0.8125rem;
    margin-left: 0;
  }
}

.table01 {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid var(--color01);
  border-bottom: 1px solid var(--color01);
}
@media screen and (max-width: 767px) {
  .table01 {
    flex-direction: column;
    border-top: 0;
    border-bottom: 0;
  }
}
.table01 > dt {
  background-color: var(--color02);
  width: 14.625rem;
  border-bottom: 1px solid #ddd;
  line-height: 1.5;
  padding: 2.3125rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .table01 > dt {
    border-top: 1px solid var(--color01);
    width: 100%;
    padding: 0.75rem 1.5rem;
    font-size: 0.875rem;
  }
}
.table01 > dd {
  width: calc(100% - 14.625rem);
  padding: 2.3125rem 2.5rem;
  border-bottom: 1px solid #ddd;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .table01 > dd {
    border-bottom: 0;
    width: 100%;
    padding: 0.75rem 0 0.9375rem;
    font-size: 0.875rem;
    line-height: 2;
  }
}

.row_message {
  justify-content: flex-start;
  -moz-column-gap: 6.25rem;
       column-gap: 6.25rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .row_message {
    flex-direction: column;
    margin-bottom: 3.75rem;
  }
}
.row_message .img_col {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .row_message .img_col {
    width: 100%;
    border-radius: 1.875rem;
    margin-bottom: 2.1875rem;
  }
  .row_message .img_col img {
    width: 100%;
  }
}
.row_message .txt_col {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .row_message .txt_col {
    width: 100%;
  }
  .row_message .txt_col .sttl {
    line-height: 1.76;
    text-align: center;
    margin-bottom: 0.625rem;
  }
  .row_message .txt_col .ttl {
    flex-direction: column;
    font-size: 1.25rem;
    margin-bottom: 1.875rem;
  }
  .row_message .txt_col .ttl span {
    display: block;
    margin-top: 1.25rem;
    font-size: 0.8125rem;
    margin-left: 0;
  }
}
.row_message .dec {
  position: relative;
  padding-bottom: 2.5rem;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
  .row_message .dec {
    font-size: 0.6875rem;
    padding-left: 1.25rem;
    padding-bottom: 0;
  }
}
.row_message .dec::before {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  display: block;
  height: 2px;
  width: 100%;
  background: linear-gradient(to right, #3d62ad 0%, #fff226 100%);
}
@media screen and (max-width: 767px) {
  .row_message .dec::before {
    height: 100%;
    width: 4px;
    background: linear-gradient(to bottom, #3d62ad 0%, #fff226 100%);
  }
}
@media screen and (max-width: 767px) {
  .row_message .txt_bottom {
    margin-top: 1.25rem;
  }
}
.row_message .detail {
  display: none;
}
@media screen and (max-width: 767px) {
  .row_message .detail {
    margin-top: 1.25rem;
  }
}
.row_message .mbtn span::before {
  content: "続きを読む";
}
.row_message .mbtn.active span::before {
  content: "閉じる";
}

/***********************************
	profile
************************************/
.sec_profile {
  text-align: left;
}
.sec_profile dd > div {
  flex-wrap: nowrap;
  justify-content: flex-start;
}
@media screen and (max-width: 767px) {
  .sec_profile dd > div {
    flex-direction: column;
  }
}
.sec_profile dd > div > dl {
  width: 17.5rem;
  flex-wrap: wrap;
}
.sec_profile dd > div > dl dt {
  width: 8.125rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .sec_profile dd > div > dl dt {
    font-size: 0.875rem;
  }
}
.sec_profile dd > div > dl dd {
  width: 9.375rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .sec_profile dd > div > dl dd {
    font-size: 0.875rem;
  }
}

/***********************************
	member
************************************/
.sec_member {
  text-align: left;
}
@media screen and (max-width: 767px) {
  .sec_member .sec_subttl2 {
    margin-bottom: 3.125rem;
  }
}
.sec_member .btnarea {
  display: block;
}
@media screen and (max-width: 767px) {
  .sec_member .wrap_member01 {
    margin-bottom: 4.0625rem;
  }
}
@media screen and (max-width: 767px) {
  .sec_member .wrap_member01 .txt {
    font-size: 0.8125rem;
  }
}
.sec_member .wrap_member01 .dec {
  padding-top: 2.5rem;
  margin-top: 2.5rem;
  padding-bottom: 0;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .sec_member .wrap_member01 .dec {
    padding-top: 0;
    font-size: 0.875rem;
    margin-top: 1.5625rem;
  }
}
.sec_member .wrap_member01 .dec::before {
  bottom: auto;
  top: 0;
}
.sec_member .row_member.half {
  -moz-column-gap: 6.25rem;
       column-gap: 6.25rem;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .sec_member .row_member.half {
    flex-direction: column;
    margin-bottom: 4.0625rem;
  }
}
.sec_member .row_member.half > div {
  width: calc((100% - 6.25rem) / 2);
}
@media screen and (max-width: 767px) {
  .sec_member .row_member.half > div {
    width: 100%;
  }
}
.sec_member .row_member.half .img_col img {
  width: 100%;
  height: auto;
  max-width: none;
}
.sec_member .wrap_member.small .dec,
.sec_member .row_member.half .dec {
  padding-left: 2.0625rem;
  padding-bottom: 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .sec_member .wrap_member.small .dec,
.sec_member .row_member.half .dec {
    font-size: 0.875rem;
    margin-bottom: 0;
  }
}
.sec_member .wrap_member.small .dec::before,
.sec_member .row_member.half .dec::before {
  position: absolute;
  left: 0;
  top: 0.5em;
  content: "";
  display: block;
  width: 4px;
  height: calc(100% - 1em);
  background: linear-gradient(to bottom, #3d62ad 0%, #fff226 100%);
}
.sec_member .wrap_member.small .row_message .img_col {
  flex: none;
  width: 18.75rem;
  flex-grow: 0;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .sec_member .wrap_member.small .row_message .img_col {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .page-member .row_message:last-child {
    margin-bottom: 0;
  }
  .page-member .row_message .txt_col .sttl {
    text-align: left;
    font-size: 0.8125rem;
  }
  .page-member .row_message .txt_col .ttl {
    text-align: left;
    font-size: 1.6875rem;
    flex-direction: row;
  }
  .page-member .row_message .txt_col .ttl .ef {
    font-size: 0.8125rem;
    margin-left: 1.375rem;
    margin-top: 0;
  }
}

/***********************************
	history
************************************/
.sec_history .wrap_history {
  position: relative;
  padding-bottom: 1px;
}
@media screen and (max-width: 767px) {
  .sec_history .wrap_history {
    padding-left: 2.5rem;
  }
}
.sec_history .wrap_history::before {
  content: "";
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  left: 50%;
  top: 0;
  height: 100%;
  width: 1px;
  background-color: var(--color01);
}
@media screen and (max-width: 767px) {
  .sec_history .wrap_history::before {
    left: 0.5rem;
  }
}
.sec_history .img img {
  border-radius: 1.5625rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .sec_history .img img {
    border-radius: 0.9375rem;
  }
}
.sec_history .year {
  position: relative;
}
@media screen and (max-width: 767px) {
  .sec_history .year {
    font-size: 2.5rem;
    text-align: left;
    margin-bottom: 1.25rem;
  }
}
.sec_history .year::before {
  content: "";
  position: absolute;
  top: 50%;
  display: block;
  width: 1rem;
  height: 1rem;
  border-radius: 999px;
  background-color: var(--color03);
}
.sec_history .year.txt_right::before {
  transform: translate(50%, -50%);
  right: -1.5625rem;
}
@media screen and (max-width: 767px) {
  .sec_history .year.txt_right::before {
    transform: translate(0, -50%);
    right: auto;
    left: -2.5rem;
  }
}
.sec_history .year.txt_left::before {
  transform: translate(-50%, -50%);
  left: -1.5625rem;
}
@media screen and (max-width: 767px) {
  .sec_history .year.txt_left::before {
    transform: translate(0, -50%);
    right: auto;
    left: -2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .sec_history .date {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .sec_history .txt {
    font-size: 0.8125rem;
  }
}
@media screen and (max-width: 767px) {
  .sec_history .txt.fz18 {
    font-size: 0.875rem;
  }
}
.sec_history .row_history {
  text-align: left;
  display: flex;
  -moz-column-gap: 3.125rem;
       column-gap: 3.125rem;
}
@media screen and (max-width: 767px) {
  .sec_history .row_history {
    flex-direction: column;
    align-items: flex-start;
  }
  .sec_history .row_history.rev {
    flex-direction: column-reverse;
  }
  .sec_history .row_history.mb120 {
    margin-bottom: 3.125rem;
  }
  .sec_history .row_history.mb100 {
    margin-bottom: 3.125rem;
  }
  .sec_history .row_history.mb90 {
    margin-bottom: 3.125rem;
  }
}
.sec_history .row_history > * {
  flex: 1;
}
.sec_history .row_history.minus {
  margin-top: -1.875rem;
}
@media screen and (max-width: 767px) {
  .sec_history .row_history.minus {
    margin-top: 3.125rem;
  }
}
.sec_history .txt_col.mt100 {
  margin-top: 3.125rem;
}
.sec_history .txt_col.mt90 {
  margin-top: 3.125rem;
}
@media screen and (max-width: 767px) {
  .sec_history .spmt {
    margin-top: 3.125rem;
  }
}
/***********************************
	access
************************************/
.sec_access {
  text-align: left;
}
@media screen and (max-width: 767px) {
  .sec_access .sec_subttl2 {
    margin-bottom: 3.125rem;
    line-height: 1.5;
  }
}
.sec_access .sec_subttl2 > span {
  width: 40.625rem;
}
@media screen and (max-width: 767px) {
  .sec_access .sec_subttl2 .ef {
    line-height: 1;
  }
}
@media screen and (max-width: 767px) {
  .sec_access .wrap_access {
    margin-bottom: 3.125rem;
  }
  .sec_access .wrap_access:last-child {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .sec_access .row_access {
    flex-direction: column;
  }
}
.sec_access .row_access.flex .map_col {
  width: 50%;
  padding-right: 3.125rem;
}
@media screen and (max-width: 767px) {
  .sec_access .row_access.flex .map_col {
    width: 100%;
    padding-right: 0;
    margin-bottom: 1.25rem;
  }
}
.sec_access .row_access.flex .txt_col {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .sec_access .row_access.flex .txt_col {
    width: 100%;
  }
  .sec_access .row_access.flex .txt_col .ttl {
    font-size: 1.125rem;
    margin-bottom: 1.25rem;
  }
  .sec_access .row_access.flex .txt_col .txt {
    line-height: 2;
  }
}
.sec_access .row_access a {
  color: var(--black);
}
.sec_access .row_access a:hover {
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .sec_access .row_access .map_col {
    margin-bottom: 1.25rem;
  }
}
.sec_access .map {
  width: 100%;
  border-radius: 3.125rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .sec_access .map {
    border-radius: 1.875rem;
  }
}
.sec_access .map iframe {
  width: 100%;
  aspect-ratio: 600/358;
  height: 22.375rem;
}
@media screen and (max-width: 767px) {
  .sec_access .map iframe {
    aspect-ratio: 600/358;
    height: 14.0625rem;
  }
}
.sec_access .row_access02 {
  -moz-column-gap: 6.25rem;
       column-gap: 6.25rem;
  row-gap: 5rem;
}
@media screen and (max-width: 767px) {
  .sec_access .row_access02 {
    flex-direction: column;
    row-gap: 2.5rem;
  }
}
.sec_access .row_access02 > * {
  width: calc((100% - 6.25rem) / 2);
}
@media screen and (max-width: 767px) {
  .sec_access .row_access02 > * {
    width: 100%;
  }
}
.sec_access .txt_col.flex {
  -moz-column-gap: 3.125rem;
       column-gap: 3.125rem;
  flex-wrap: nowrap;
}
@media screen and (max-width: 767px) {
  .sec_access .txt_col.flex {
    -moz-column-gap: 0.9375rem;
         column-gap: 0.9375rem;
    width: 100%;
    flex-wrap: nowrap;
  }
  .sec_access .txt_col.flex .subttl {
    font-size: 0.75rem;
    margin-bottom: 0.3125rem;
  }
  .sec_access .txt_col.flex .ttl {
    font-size: 1.125rem;
    margin-bottom: 1.25rem;
  }
  .sec_access .txt_col.flex .txt {
    font-size: 0.875rem;
    margin-right: -8.125rem;
    line-height: 2;
  }
  .sec_access .txt_col.flex .ttarea {
    min-height: 7.5rem;
    margin-bottom: 0.625rem;
  }
}
.sec_access .txt_col.flex .img_col {
  width: 15.25rem;
}
@media screen and (max-width: 767px) {
  .sec_access .txt_col.flex .img_col {
    width: 7.5rem;
    flex-shrink: 0;
    border-radius: 0.9375rem;
  }
  .sec_access .txt_col.flex .img_col img {
    width: 7.5rem;
    -o-object-fit: cover;
       object-fit: cover;
    height: 7.5rem;
  }
}
.sec_access .txt_col.flex .ttl {
  min-height: 4.25rem;
}
@media screen and (max-width: 767px) {
  .sec_access .txt_col.flex .ttl {
    min-height: 4.375rem;
  }
}

/***********************************
	採用情報
************************************/
@media screen and (max-width: 767px) {
  .sec_recruit .lead {
    text-align: left;
  }
  .sec_recruit .lead.mb70 {
    margin-bottom: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .sec_recruit .signature {
    font-size: 1.25rem;
  }
}

@media screen and (max-width: 767px) {
  .sec_recruit02 .txt {
    text-align: left;
    margin-bottom: 2.5rem;
  }
}
.sec_recruit02 .row_recruit {
  justify-content: space-between;
  row-gap: 3.125rem;
}
@media screen and (max-width: 767px) {
  .sec_recruit02 .row_recruit {
    row-gap: 1.25rem;
  }
}
.sec_recruit02 .row_recruit .col:first-child, .sec_recruit02 .row_recruit .col:nth-child(2), .sec_recruit02 .row_recruit .col:nth-child(3), .sec_recruit02 .row_recruit .col:nth-child(5), .sec_recruit02 .row_recruit .col:nth-child(6), .sec_recruit02 .row_recruit .col:nth-child(7), .sec_recruit02 .row_recruit .col:nth-child(8), .sec_recruit02 .row_recruit .col:nth-child(n+8) {
  width: calc((100% - 6.25rem) / 3);
}
@media screen and (max-width: 767px) {
  .sec_recruit02 .row_recruit .col:first-child, .sec_recruit02 .row_recruit .col:nth-child(2), .sec_recruit02 .row_recruit .col:nth-child(3), .sec_recruit02 .row_recruit .col:nth-child(5), .sec_recruit02 .row_recruit .col:nth-child(6), .sec_recruit02 .row_recruit .col:nth-child(7), .sec_recruit02 .row_recruit .col:nth-child(8), .sec_recruit02 .row_recruit .col:nth-child(n+8) {
    width: calc((100% - 1.25rem) / 2);
  }
}
.sec_recruit02 .row_recruit .col:nth-child(4) {
  width: calc(66.6666666667% - 1.25rem);
}
@media screen and (max-width: 767px) {
  .sec_recruit02 .row_recruit .col:nth-child(4) {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .sec_recruit02 .row_recruit .col:nth-child(1) {
    order: 1;
  }
}
@media screen and (max-width: 767px) {
  .sec_recruit02 .row_recruit .col:nth-child(2) {
    order: 2;
  }
}
@media screen and (max-width: 767px) {
  .sec_recruit02 .row_recruit .col:nth-child(3) {
    order: 4;
  }
}
@media screen and (max-width: 767px) {
  .sec_recruit02 .row_recruit .col:nth-child(4) {
    order: 3;
  }
}
@media screen and (max-width: 767px) {
  .sec_recruit02 .row_recruit .col:nth-child(5) {
    order: 5;
  }
}
@media screen and (max-width: 767px) {
  .sec_recruit02 .row_recruit .col:nth-child(6) {
    order: 8;
  }
}
@media screen and (max-width: 767px) {
  .sec_recruit02 .row_recruit .col:nth-child(7) {
    order: 6;
  }
}
@media screen and (max-width: 767px) {
  .sec_recruit02 .row_recruit .col:nth-child(8) {
    order: 6;
  }
}
@media screen and (max-width: 767px) {
  .sec_recruit02 .row_recruit .col:nth-child(9) {
    order: 9;
  }
}
@media screen and (max-width: 767px) {
  .sec_recruit02 .row_recruit .col:nth-child(10) {
    order: 10;
  }
}
@media screen and (max-width: 767px) {
  .sec_recruit02 .row_recruit .col:nth-child(11) {
    order: 11;
  }
}
@media screen and (max-width: 767px) {
  .sec_recruit02 .row_recruit .col:nth-child(12) {
    order: 12;
  }
}
@media screen and (max-width: 767px) {
  .sec_recruit02 .row_recruit .col:nth-child(13) {
    order: 13;
  }
}
@media screen and (max-width: 767px) {
  .sec_recruit02 .row_recruit .col:nth-child(14) {
    order: 14;
  }
}

.sec_recruit03 {
  text-align: left;
}
@media screen and (max-width: 767px) {
  .sec_recruit03 .wrap_recruit02 {
    row-gap: 3.125rem;
  }
}
.sec_recruit03 .row_recruit02 {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .sec_recruit03 .row_recruit02 {
    flex-direction: column;
  }
}
.sec_recruit03 .row_recruit02 > * {
  width: calc(50% - 3.125rem);
}
@media screen and (max-width: 767px) {
  .sec_recruit03 .row_recruit02 > * {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .sec_recruit03 .row_recruit02 .img_col {
    border-radius: 1.875rem;
    margin-bottom: 1.875rem;
  }
}
@media screen and (max-width: 767px) {
  .sec_recruit03 .row_recruit02 .sttl {
    text-align: center;
    font-size: 0.8125rem;
    margin-bottom: 0.9375rem;
  }
}
@media screen and (max-width: 767px) {
  .sec_recruit03 .row_recruit02 .ttl {
    text-align: center;
    justify-content: center;
    font-size: 1.5rem;
  }
}
.sec_recruit03 .row_recruit02 .dec {
  padding: 2.5rem 0 0 0;
  position: relative;
}
.sec_recruit03 .row_recruit02 .dec::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  display: block;
  height: 2px;
  width: 100%;
  background: linear-gradient(to right, #3d62ad 0%, #fff226 100%);
}

.sec_recruit04 .wrap_recruit04 {
  padding-left: 12.5rem;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .sec_recruit04 .wrap_recruit04 {
    row-gap: 11.25rem;
    padding-left: 0;
    margin-top: 11.25rem;
  }
}
@media screen and (max-width: 767px) {
  .sec_recruit04 .inner_ml {
    padding: 0;
  }
}
.sec_recruit04 .row_recruit04 {
  background-color: #fff;
  border-radius: 1.875rem;
  width: 100%;
  align-items: stretch;
  padding: 6.25rem 4.0625rem 6.25rem 0;
}
@media screen and (max-width: 767px) {
  .sec_recruit04 .row_recruit04 {
    flex-direction: column;
    border-radius: 0;
    padding: 0 1.5rem 3.4375rem;
  }
}
@media screen and (max-width: 767px) {
  .sec_recruit04 .row_recruit04 > * {
    width: 100%;
  }
}
.sec_recruit04 .row_recruit04 .img_col {
  position: relative;
  width: 19.3%;
}
@media screen and (max-width: 1200px) {
  .sec_recruit04 .row_recruit04 .img_col {
    width: 22%;
  }
}
@media screen and (max-width: 767px) {
  .sec_recruit04 .row_recruit04 .img_col {
    border-radius: 1.875rem;
    margin-bottom: 1.875rem;
    width: 100%;
    margin-top: -7.5rem;
  }
}
.sec_recruit04 .row_recruit04 .img_col img {
  position: absolute;
  right: 0;
  top: 0;
  width: 25rem;
  max-width: none;
}
@media screen and (max-width: 1200px) {
  .sec_recruit04 .row_recruit04 .img_col img {
    width: 23.75rem;
  }
}
@media screen and (max-width: 767px) {
  .sec_recruit04 .row_recruit04 .img_col img {
    width: 100%;
    position: relative;
    right: auto;
    top: auto;
  }
}
.sec_recruit04 .row_recruit04 .txt_col {
  width: 74%;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .sec_recruit04 .row_recruit04 .txt_col {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .sec_recruit04 .row_recruit04 .sttl {
    flex-direction: column;
  }
}
.sec_recruit04 .row_recruit04 .sttl span {
  display: block;
  width: 5.875rem;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .sec_recruit04 .row_recruit04 .sttl span {
    font-size: 1.125rem;
    width: 100%;
    padding-bottom: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .sec_recruit04 .row_recruit04 .sttl {
    text-align: center;
    font-size: 0.8125rem;
    margin-bottom: 1.875rem;
  }
}
.sec_recruit04 .row_recruit04 .sttl::after {
  content: "";
  display: block;
  height: 2px;
  width: 100%;
  background: linear-gradient(to right, #3d62ad 0%, #fff226 100%);
}
@media screen and (max-width: 767px) {
  .sec_recruit04 .row_recruit04 .ttl {
    font-size: 1.125rem;
    margin-bottom: 1.875rem;
  }
}
.sec_recruit04 .row_recruit04 .dec {
  padding: 2.5rem 0 0 0;
  position: relative;
}
.sec_recruit04 .row_recruit04 .dec::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  display: block;
  height: 2px;
  width: 100%;
  background: linear-gradient(to right, #3d62ad 0%, #fff226 100%);
}
.sec_recruit04 .row_recruit04 .list_recruit li {
  display: flex;
  line-height: 2.1;
}
.sec_recruit04 .row_recruit04 .list_recruit li::before {
  content: "■";
  color: var(--color01);
  margin-right: 0.3125rem;
}
@media screen and (max-width: 767px) {
  .sec_recruit04 .row_recruit04 .list_recruit li {
    font-size: 0.875rem;
    line-height: 2;
    word-break: break-all;
  }
}

@media screen and (max-width: 767px) {
  .sec_recruit05 .ttlarea {
    margin-bottom: 4.0625rem;
  }
}
.sec_recruit05 .bg_interview {
  border-radius: 0;
  position: relative;
}
@media screen and (min-width: 768px) {
  .sec_recruit05 .bg_interview {
    padding: 9.375rem 0 0;
    background: none;
  }
  .sec_recruit05 .bg_interview::before {
    border-radius: 12.5rem;
    content: "";
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background: linear-gradient(135deg, #3d62ad 0%, #3d62ad 25%, #fff226 75%, #fff226 100%);
    height: 18.75rem;
  }
  .sec_recruit05 .bg_interview::after {
    border-radius: 12.5rem;
    content: "";
    position: absolute;
    display: block;
    left: 0;
    top: 0;
    width: 100%;
    height: 18.75rem;
    background-color: rgba(61, 98, 173, 0.3);
    z-index: 0;
  }
  .sec_recruit05 .bg_interview .row_starlit_interview {
    position: relative;
    z-index: 1;
  }
}
@media screen and (max-width: 767px) {
  .sec_recruit05 .bg_interview {
    padding: 3.75rem 1.5rem 1.25rem;
    border-radius: 1.875rem;
  }
  .sec_recruit05 .bg_interview .sttl {
    color: #fff;
    margin-left: -1.875rem;
    margin-right: -1.875rem;
  }
  .sec_recruit05 .bg_interview .sttl span {
    margin-top: 0.3125rem;
  }
}

.sec_recruit06 .btnarea a {
  display: block;
  width: 22.9375rem;
  height: 6.25rem;
  margin: 0 auto;
  border: 0 !important;
  border-radius: 999px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: linear-gradient(to right, #3d62ad 0%, #fff226 100%);
}
@media screen and (max-width: 767px) {
  .sec_recruit06 .btnarea a {
    width: 20.4375rem;
    height: 5.5625rem;
    font-size: 1.25rem;
  }
}

/***********************************
	お問い合わせ
************************************/
.page-contact {
  padding-bottom: 0;
}
.page-contact .sec_contact-lead {
  padding-bottom: 0 !important;
}
@media screen and (max-width: 767px) {
  .page-contact .sec_contact-lead .copy_lead {
    text-align: center !important;
  }
}
@media screen and (max-width: 767px) {
  .page-contact section .ttl {
    font-size: 1rem;
    line-height: 2;
    margin-bottom: 2.1875rem;
    letter-spacing: 0em;
    text-align: left;
  }
}
@media screen and (max-width: 767px) {
  .page-contact section .lead {
    text-align: left;
    font-size: 0.875rem;
  }
}

.sec_contact-form {
  padding: 0 0 var(--size150px);
}
@media screen and (max-width: 767px) {
  .sec_contact-form {
    padding: 0 0 var(--size70px) !important;
  }
}
.sec_contact-form .subttl_contact {
  margin-bottom: var(--size50px);
  text-align: center;
  position: relative;
  letter-spacing: 0.1em;
  padding: var(--size20px) 0;
}
@media screen and (max-width: 767px) {
  .sec_contact-form .subttl_contact {
    font-size: 0.9375rem;
    font-weight: bold;
    margin-top: var(--size30px);
    margin-bottom: var(--size25px);
  }
}
.sec_contact-form .tel a {
  pointer-events: none;
  color: #000;
}
@media screen and (max-width: 767px) {
  .sec_contact-form .tel a {
    pointer-events: all;
  }
}
.sec_contact-form .telarea {
  text-align: center;
  margin-top: -10px;
}
.sec_contact-form .telarea ul {
  align-items: center;
  display: flex;
  justify-content: center;
  -moz-column-gap: 2.375rem;
       column-gap: 2.375rem;
}
@media screen and (max-width: 767px) {
  .sec_contact-form .telarea ul {
    flex-direction: column;
    row-gap: 0rem;
  }
}
.sec_contact-form .telarea ul li {
  display: flex;
  align-items: center;
  margin: 0 0 0.9375rem 0;
}
@media screen and (max-width: 767px) {
  .sec_contact-form .telarea ul li {
    display: inline-flex;
    margin: 0;
  }
}
.sec_contact-form .telarea ul li a,
.sec_contact-form .telarea ul li span {
  background-repeat: no-repeat;
  background-position: left center;
}
.sec_contact-form .telarea ul li.tel a {
  padding-left: 2.125rem;
  background-image: url(../images/contact/icn_tel_g.svg);
  background-size: 1.3125rem auto;
  min-height: 32px;
  color: #000;
}
.sec_contact-form .telarea ul li.fax span {
  padding-left: 3.4375rem;
  background-image: url(../images/contact/icn_fax_g.svg);
  background-size: 2.5rem auto;
  min-height: 32px;
}
@media screen and (max-width: 767px) {
  .sec_contact-form .telarea ul li.fax span {
    padding-left: 3.125rem;
  }
}

/***********************************
	プライバシー
************************************/
.sec-privacy {
  padding-bottom: var(--size160px);
}
@media screen and (max-width: 767px) {
  .sec-privacy {
    padding-bottom: var(--size70px);
  }
}
.sec-privacy p {
  font-size: 1rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .sec-privacy p {
    font-size: 0.875rem;
  }
}
.sec-privacy h2 {
  margin: 2em 0 0.5em;
  line-height: 1;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .sec-privacy h2 {
    font-size: 0.875rem;
  }
}
.sec-privacy ol,
.sec-privacy ol > li {
  list-style: decimal;
  margin-left: 0.7em;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .sec-privacy ol,
.sec-privacy ol > li {
    font-size: 0.875rem;
  }
}
.sec-privacy ul,
.sec-privacy ul > li {
  list-style: disc;
  margin-left: 0.7em;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .sec-privacy ul,
.sec-privacy ul > li {
    font-size: 0.875rem;
  }
}
.sec-privacy ul::marker,
.sec-privacy ul > li::marker {
  font-size: 80%;
}
.sec-privacy ul span,
.sec-privacy ul > li span {
  display: block;
  line-height: 2;
  margin-left: 1em;
}

/**/
/***********************************
news
************************************/
.news-list {
  margin-left: 0px;
}
.news-list ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.news-list ul li {
  padding: 29px 0;
  border-bottom: 1px dashed #707070;
}
.news-list ul li:first-child {
  border-top: 1px dashed #707070;
}
@media screen and (max-width: 767px) {
  .news-list ul li {
    padding: 20px 0;
  }
}
.sidebar .news-list ul li {
  padding: 20px 0;
  border-bottom: 1px solid #DDDDDD;
}
.sidebar .news-list ul li:first-child {
  border-top: 1px solid #DDDDDD;
}
@media screen and (max-width: 767px) {
  .sidebar .news-list ul li {
    width: 100%;
  }
}
.news-list ul li dl {
  margin-bottom: 0px;
  padding: 0px 0;
  display: flex;
}
.sidebar .news-list ul li dl {
  align-items: center;
}
.news-list ul li dl dt,
.news-list ul li dl dd {
  padding: 0px 0 0px;
  font-weight: normal;
}
.news-list ul li dl dt {
  vertical-align: top;
  overflow: hidden;
  min-width: 80px;
}
.sidebar .news-list ul li dl dt {
  min-width: clamp(3.75rem, 8.6206896552vw + -0.3879310345rem, 5rem);
}
.news-list ul li dl dt .img {
  width: 100%;
  padding-top: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  transition: all 0.3s;
  overflow: hidden;
  position: relative;
  background-color: #fff;
  border: 1px solid #DDDDDD;
  background-image: url(../images/noimg.png);
}
.news-list ul li dl dt a {
  transition: all 0.2s;
}
.news-list ul li dl dt a:hover {
  display: block;
}
.news-list ul li dl dd {
  vertical-align: middle;
  padding-left: 27px;
  padding-top: 10px;
}
@media screen and (max-width: 767px) {
  .news-list ul li dl dd {
    padding-left: 18px;
    padding-top: 0px;
    display: flex;
    flex-direction: column;
  }
}
.sidebar .news-list ul li dl dd {
  padding-top: 0px;
  padding-left: 15px;
}
.news-list ul li dl dd .title {
  padding: 0;
  text-align: left;
  display: block;
  font-size: 1.6rem;
  line-height: 1.5;
  text-decoration: none;
  color: #000;
  margin: 0 0 10px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .news-list ul li dl dd .title {
    font-size: 1.3rem;
    margin: 0;
    order: 2;
    display: block;
  }
  .news-list ul li dl dd .title span {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
}
.sidebar .news-list ul li dl dd .title {
  font-size: 1.3rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.news-list ul li dl dd .title:hover {
  opacity: 0.8;
}
.news-list ul li .metaarea {
  font-weight: 400;
  margin: 0;
  text-align: left;
  font-size: 1.5rem;
}
.sidebar .news-list ul li .metaarea {
  font-size: 1.1rem;
}
@media screen and (max-width: 767px) {
  .news-list ul li .metaarea {
    font-size: 1.3rem;
    order: 1;
    margin: 0 0 10px 0;
  }
}
.news-list ul li .cat {
  text-decoration: none;
  display: inline-block;
  margin-right: 10px;
  font-size: 1.3rem;
  padding: 2px 10px;
  background-color: #EAEAEA;
  color: #000;
}
@media screen and (max-width: 767px) {
  .news-list ul li .cat {
    font-size: 1rem;
    padding: 2px 10px;
  }
}
.sidebar .news-list ul li .cat {
  background-color: transparent;
  padding: 0;
}
.news-list ul li .cat:hover {
  opacity: 0.8;
}
.news-list .readmore a {
  background-color: transparent;
}
.news-list .readmore a:hover {
  background-color: #3786CD;
}

.thumnb-list {
  margin-left: 0px;
}
.thumnb-list ul {
  list-style: none;
  margin: 0 -14px;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .thumnb-list ul {
    margin: 0 -8px;
  }
}
.thumnb-list ul li {
  width: 33.3333333333%;
  padding: 0 14px;
}
@media screen and (max-width: 767px) {
  .thumnb-list ul li {
    width: 50%;
    padding: 0 8px;
  }
}
.home .news .thumnb-list ul li {
  width: 25%;
}
@media screen and (max-width: 767px) {
  .home .news .thumnb-list ul li {
    width: 50%;
  }
}
.thumnb-list ul li dl {
  margin-bottom: 40px;
  padding: 0px 0;
}
@media screen and (max-width: 767px) {
  .thumnb-list ul li dl {
    margin-bottom: 20px;
  }
}
.thumnb-list ul li dl dt,
.thumnb-list ul li dl dd {
  padding: 0px 0 0px;
  font-weight: normal;
}
.thumnb-list ul li dl dt {
  vertical-align: top;
  overflow: hidden;
  min-width: 120px;
}
.thumnb-list ul li dl dt .img {
  width: 100%;
  padding-top: 60%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  transition: all 0.3s;
  overflow: hidden;
  position: relative;
  background-color: #eee;
  transition: transform ease 0.3s;
  background-image: url(../images/nolimg.png);
}
.tax-works_category .thumnb-list ul li dl dt .img, .post-type-archive-works .thumnb-list ul li dl dt .img {
  padding-top: 135%;
}
.thumnb-list ul li dl dt a {
  transition: all 0.2s;
}
.thumnb-list ul li dl dt a:hover .img {
  transform: scale(1.1);
}
.thumnb-list ul li dl dt a:hover {
  display: block;
}
.thumnb-list ul li dl dd {
  vertical-align: middle;
  padding-left: 0px;
}
@media screen and (max-width: 767px) {
  .thumnb-list ul li dl dd {
    padding-bottom: 15px;
  }
}
.thumnb-list ul li dl dd .title {
  padding: 25px 0 10px;
  text-align: left;
  font-weight: bold;
  display: block;
  font-size: 2rem;
  line-height: 1.5;
  text-decoration: none;
  color: #000;
}
@media screen and (max-width: 767px) {
  .thumnb-list ul li dl dd .title {
    font-size: 1.6rem;
    padding: 10px 0 10px;
  }
}
.thumnb-list ul li dl dd .title:hover {
  opacity: 0.8;
}
.thumnb-list ul li .placearea {
  font-size: 1.5rem;
}
.thumnb-list ul li .metaarea {
  font-weight: 400;
  margin: 5px 0 0;
  text-align: left;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .thumnb-list ul li .metaarea {
    align-items: center;
    font-size: 10px;
  }
}
.thumnb-list ul li .metaarea span {
  display: inline-block;
  line-height: 1;
  padding-right: 10px;
}
.thumnb-list ul li .metaarea span + span {
  padding-left: 10px;
  border-left: 1px solid #000;
}
.thumnb-list ul li .cat {
  text-decoration: none;
  display: inline-block;
  margin-right: 10px;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .thumnb-list ul li .cat {
    font-size: 10px;
    min-width: 50%;
    padding: 0 3px;
  }
}
.thumnb-list ul li .cat:hover {
  opacity: 0.8;
}
.thumnb-list .readmore a {
  background-color: transparent;
}
.thumnb-list .readmore a:hover {
  background-color: #3786CD;
}

/*********************
フォーム
**********************/
.form {
  padding: 0 0 0px;
}
@media screen and (max-width: 767px) {
  .form {
    border-top: 1px solid #ddd;
  }
}
.form dl {
  display: flex;
  flex-wrap: wrap;
  padding: 0px 0 0 0;
  border-top: 1px solid #CCCCCC;
  /* Google Chrome, Safari, Opera 15+, Android, iOS */
  /* Firefox 19+ */
  /* IE 10+ */
}
.form dl.line {
  border-top: 1px solid #ccc;
}
@media screen and (max-width: 767px) {
  .form dl {
    border-top: 1px solid #ccc;
    display: block;
    border-top: 0;
  }
}
.form dl dt {
  width: 29%;
  padding: var(--size40px) var(--size25px) var(--size40px) var(--size30px);
  line-height: 1.3;
  font-size: 1rem;
  font-weight: 700;
  position: relative;
  min-height: 142px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #ddd;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .form dl dt {
    border-bottom: 0;
    width: 100%;
    padding: 1.25rem 0;
    min-height: auto;
    font-weight: 500;
    font-size: 0.875rem;
  }
}
.form dl dt span {
  height: 1.8125rem;
  width: 3.875rem;
  text-align: center;
  top: 1.75rem;
  line-height: 1.8125rem;
  color: #fff;
  font-size: 0.9375rem;
  font-weight: normal;
  background-color: #AAAAAA;
  border-radius: 1.1875rem;
}
@media screen and (max-width: 767px) {
  .form dl dt span {
    height: 1.5rem;
    width: 3.1875rem;
    text-align: center;
    top: 1.75rem;
    line-height: 1.5rem;
    font-size: 0.8125rem;
  }
}
.form dl dt span.require {
  background-color: var(--color01);
}
.form dl.line dt {
  border-bottom: 1px solid #CCCCCC;
}
.form dl dd {
  margin-left: 0px;
  padding: var(--size40px) 0 var(--size40px) var(--size35px);
  width: 71%;
  line-height: 1.3;
  position: relative;
  font-size: 1rem;
  border-bottom: 1px solid #ddd;
}
@media screen and (max-width: 767px) {
  .form dl dd {
    padding: 0 0 1.25rem 0;
    font-size: 16px;
    width: 100%;
  }
  .form dl dd:last-child {
    border-bottom: 0;
  }
}
.form dl dd .postalbtn {
  cursor: pointer;
  display: block;
  width: 105px;
  margin: 0 0 0 10px;
  border: none;
  background-color: #aaa;
  color: #fff;
  font-weight: normal;
  font-size: 1rem;
  text-align: center;
  position: relative;
  height: 60px;
  line-height: 60px;
  outline: none;
}
@media screen and (max-width: 767px) {
  .form dl dd .postalbtn {
    width: 6.25rem;
    flex-shrink: 0;
    padding: 0;
    white-space: nowrap;
    font-size: 0.875rem;
  }
}
.form dl.line dd {
  border-bottom: 1px solid #CCCCCC;
}
.form dl .wpcf7-list-item {
  display: block;
  margin: 6px 0;
}
@media screen and (max-width: 767px) {
  .form dl .wpcf7-list-item {
    margin: 10px 0;
  }
  .form dl .wpcf7-list-item:first-child {
    margin-top: 0;
  }
  .form dl .wpcf7-list-item:last-child {
    margin-bottom: 0;
  }
}
.form dl .wpcf7-list-item:last-child {
  margin-bottom: 0px;
}
.form dl .wpcf7-list-item:last-child > label {
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .form dl .wpcf7-list-item:last-child > label {
    width: 150px;
    display: inline-block;
  }
}
.form dl .wpcf7-list-item:last-child .wpcf7-list-item-label {
  white-space: nowrap;
}
.form dl a:hover,
.form dl a:focus {
  background-color: #ccc;
  color: #fff;
  text-decoration: none;
}
.form dl a:hover:after {
  color: #fff;
}
.form dl input[type=text],
.form dl input[type=tel],
.form dl input[type=email] {
  width: 100%;
  height: 3.75rem;
  line-height: 3.625rem;
  padding: 0 1.875rem;
  font-size: 1rem;
  border-radius: 0px;
  border: 1px solid var(--color02);
  background-color: var(--color02);
}
@media screen and (max-width: 767px) {
  .form dl input[type=text],
.form dl input[type=tel],
.form dl input[type=email] {
    padding: 0 1.375rem;
  }
}
.form dl .your-postal1,
.form dl .your-postal2 {
  display: inline-block;
  width: 126px;
}
.form dl dd.multi span {
  display: block;
  margin-top: 10px;
}
.form dl dd.multi span:last-child {
  margin-bottom: 0;
}
.form dl span.line {
  padding: 0 5px;
}
.form dl p {
  margin-bottom: 0;
}
.form dl input.age {
  width: 6em;
}
.form dl textarea {
  width: 100%;
  padding: 10px 10px;
  line-height: 1.3;
  font-size: 1rem;
  border: 1px solid var(--color02);
  background-color: var(--color02);
}
.form dl input[type=radio],
.form dl input[type=checkbox],
.form dl .agree input[type=checkbox] {
  width: 20px;
  height: 20px;
  line-height: 20px;
  vertical-align: middle;
  margin-top: 0;
}
.form dl input[type=radio] + span,
.form dl input[type=checkbox] + span {
  vertical-align: middle;
  line-height: 25px;
  font-size: 17px;
  font-weight: normal;
  margin-right: 20px;
}
.form dl dd.half input {
  width: 70%;
}
.form dl p.note {
  text-align: left;
  margin-bottom: 20px;
}
.form dl .filearea {
  display: flex;
  align-items: center;
  margin-top: 10px;
}
.form dl .filearea label {
  cursor: pointer;
  display: inline-block;
  position: relative;
  background: #fff;
  color: #555;
  font-size: 16px;
  padding: 0 30px;
  transition: all 0.3s;
  height: 50px;
  line-height: 50px;
  border: 1px solid #CCCCCC;
  border-radius: 6px;
}
@media screen and (max-width: 767px) {
  .form dl .filearea label {
    font-size: 14px;
    height: 45px;
    line-height: 43px;
  }
}
.form dl .filearea label input {
  /* 今回のポイント */
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
}
.form dl .filearea label .filename {
  font-size: 16px;
  margin: 0 0 0 10px;
}
@media screen and (max-width: 767px) {
  .form dl .filearea label .filename {
    font-size: 14px;
  }
}
.form dl :-moz-placeholder-shown {
  color: #717171;
  padding-top: 4px !important;
}
.form dl :placeholder-shown {
  color: #717171;
  padding-top: 4px !important;
}
.form dl ::-webkit-input-placeholder {
  color: #717171;
  padding-top: 4px !important;
}
.form dl ::-moz-placeholder {
  color: #717171;
  padding-top: 4px !important;
  opacity: 1;
}
.form dl :-ms-input-placeholder {
  color: #717171;
}
.form dl select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
  position: relative;
  z-index: 1;
  outline: none;
  width: 100%;
  height: 3.75rem;
  line-height: 3.625rem;
  padding: 0 1.875rem;
  font-size: 1rem;
  border-radius: 0;
  border: 0;
  background-color: transparent;
}
.form dl .widget_archive select::-ms-expand {
  display: none;
}
.form dl .inner {
  padding: 20px 0px 0;
}
.form dl .selectWrap {
  position: relative;
  background-color: var(--color02);
}
@media screen and (max-width: 767px) {
  .form dl .selectWrap {
    width: 100%;
  }
}
.form dl .selectWrap::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  height: 40px;
  width: 46px;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
  display: none;
}
@media screen and (max-width: 767px) {
  .form dl .selectWrap::before {
    height: 55px;
    width: 55px;
    background-color: #3786CD;
  }
}
.form dl .selectWrap::after {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 6px 0 6px;
  border-color: var(--color01) transparent transparent transparent;
  content: "";
  position: absolute;
  z-index: 0;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .form dl .selectWrap::after {
    color: #fff;
    right: 22px;
    top: 60%;
  }
}
.form dl .selectarea .wpcf7-custom-item-error {
  display: none;
}
.form dl .selectarea .wpcf7-form-control-wrap {
  position: relative;
  background-color: var(--color02);
  display: block;
}
.form dl .selectarea .wpcf7-form-control-wrap:after {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 6px 0 6px;
  border-color: var(--color01) transparent transparent transparent;
  content: "";
  position: absolute;
  z-index: 0;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .form dl .selectarea .wpcf7-form-control-wrap:after {
    color: #fff;
    right: 22px;
    top: 60%;
  }
}
.form dl .selectarea .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
  display: none;
}
.form dl .selectarea .wpcf7-form-control-wrap:has(.wpcf7-not-valid-tip) + .wpcf7-custom-item-error {
  display: block;
  color: #dc3232;
  font-size: 1em;
  font-weight: normal;
  text-align: left;
}
.form dl .wpcf7-free-text {
  margin-left: 10px;
}
@media screen and (max-width: 767px) {
  .form dl .wpcf7-free-text {
    margin-left: 0px;
  }
}
.form dd .lg,
.form dd .sm {
  display: flex;
  margin-bottom: 10px;
}
.form dd .lg span:first-child,
.form dd .sm span:first-child {
  width: 6em;
  display: block;
  line-height: 3.75rem;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .form dd .lg span:first-child,
.form dd .sm span:first-child {
    margin-right: 10px;
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .form dd .lg span:first-child,
.form dd .lg span:last-child {
    margin-right: 0;
  }
}
.form dd .sm > span {
  width: 30%;
}
@media screen and (max-width: 767px) {
  .form dd .sm > span {
    width: auto;
    flex-grow: 2;
  }
}
.form dd .lg span:last-child {
  margin-bottom: 0px;
  flex-grow: 3;
}
.form .info-txt.form-control {
  display: block;
  width: 100%;
  height: 8.5rem;
  padding: 5px 0 0;
  margin-top: 4.6875rem;
  margin-bottom: 3.125rem;
  text-align: left;
  border: 1px solid #ccc;
  overflow-y: auto;
}
@media screen and (max-width: 767px) {
  .form .info-txt.form-control {
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }
}
.form .info-txt.form-control .txt {
  padding: 20px 20px 0;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .form .info-txt.form-control .txt {
    padding: 10px 10px 0;
  }
}
.form .info-txt.form-control div {
  font-weight: bold;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .form .info-txt.form-control div {
    font-size: 12px;
  }
}
.form .info-txt.form-control p {
  text-align: left;
  margin-bottom: 20px;
  font-size: 14px;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .form .info-txt.form-control p {
    font-size: 12px;
  }
}
.form .info-txt.form-control ol {
  font-weight: normal;
  margin-bottom: 20px;
  margin-left: 2em;
}
.form .info-txt.form-control ol li {
  list-style: decimal;
}
.form .agreebox a {
  text-decoration: underline;
}
.form .agreebox input[type=checkbox] {
  width: 32px;
  height: 32px;
  line-height: 32px;
  vertical-align: middle;
  margin-top: 0;
  background-color: var(--color02);
  border: 1px solid #ccc;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
}
.form .agreebox input[type=checkbox]:checked::before {
  content: "";
  display: block;
  position: relative;
  left: 10px;
  top: 5px;
  width: 6px;
  height: 12px;
  border: solid #000;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
}
.form .agreebox input[type=checkbox]:focus-visible {
  outline: 0 !important;
}
.form .agreebox .wpcf7-list-item-label {
  font-size: 1rem;
  color: #2F2F2F;
  margin-left: 0.625rem;
  margin-top: var(--size45px);
}
@media screen and (max-width: 767px) {
  .form .agreebox .wpcf7-list-item-label {
    margin-top: var(--size15px);
    font-size: 0.9375rem;
    text-align: left;
  }
}
.form .agreebox .wpcf7-list-item {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .form .agreebox .wpcf7-list-item > label {
    display: flex;
    align-items: center;
  }
}
.form .your-age + span,
.form .acceptance + a {
  vertical-align: middle;
  line-height: 25px;
  font-size: 16px;
  font-weight: normal;
  margin-left: 10px;
}
.form span.wpcf7-list-item {
  margin-left: 0;
}
.form .btnarea {
  padding: 0;
  text-align: center;
  position: relative;
  margin: var(--size50px) auto 0;
}
@media screen and (max-width: 767px) {
  .form .btnarea {
    width: 100%;
    margin: var(--size25px) auto 0;
  }
}
.form .btnarea::before {
  position: absolute;
  top: calc(50% - 0px);
  right: 40px;
  display: block;
  width: 30px;
  height: 8px;
  color: #fff;
  border-top: solid 1px;
  content: "";
  z-index: 1;
  display: none;
}
.form .btnarea::after {
  position: absolute;
  top: calc(50% - 0px);
  right: 37px;
  display: block;
  width: 10px;
  height: 10px;
  color: #fff;
  border-right: solid 1px;
  content: "";
  letter-spacing: 0.05em;
  transform: rotate(-60deg) translateY(-50%);
  display: none;
}
.form .btnarea .wpcf7-spinner,
.form .btnarea .ajax-loader {
  display: none;
}
.form .btnarea input {
  z-index: 1;
  display: block;
  width: 22.9375rem;
  height: 6.25rem;
  margin: 0 auto;
  border: 0 !important;
  border-radius: 3.125rem;
  color: #fff;
  font-weight: bold;
  font-size: 1.5625rem;
  text-align: center;
  outline: none;
  font-family: "Noto Sans JP", sans-serif;
  background: linear-gradient(to right, #3d62ad 0%, #fff226 100%);
}
@media screen and (max-width: 767px) {
  .form .btnarea input {
    width: 100%;
    height: 5rem;
    font-size: 1.125rem;
  }
}
.form .btnarea input[disabled],
.form .btnarea input[disabled=disabled] {
  background: #AAAAAA;
}
.form .btnarea input:hover {
  opacity: 0.6;
}
.form .btnarea input[disabled]:hover,
.form .btnarea input[disabled=disabled]:hover {
  opacity: 0.6;
}
.form span.wpcf7-not-valid-tip {
  margin-top: 5px;
  display: block;
  text-align: left;
}
.form dd .your-postal1 span.wpcf7-not-valid-tip,
.form dd .your-postal2 span.wpcf7-not-valid-tip {
  display: block;
  line-height: 1.3;
  padding-top: 10px;
}
.form .agreebox {
  text-align: center;
  position: relative;
}
.form .agree_inner {
  border: 1px solid #ddd;
  height: 8.5rem;
  overflow: auto;
  margin-bottom: var(--size45px);
}
@media screen and (max-width: 767px) {
  .form .agree_inner {
    margin-bottom: 0;
  }
}
.form .agree_inner .txt {
  text-align: left;
  padding: var(--size30px);
}
@media screen and (max-width: 767px) {
  .form .agree_inner .txt {
    padding: var(--size15px);
  }
}
.form .agree_inner .txt p {
  margin-bottom: 1em;
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .form .agree_inner .txt p {
    font-size: 0.75rem;
  }
}
.form .acceptance {
  margin-right: 10px;
}
.form .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  padding: 10px 0 10px 0;
}
@media screen and (max-width: 767px) {
  .form .wpcf7-checkbox {
    padding: 0;
    display: block;
  }
}
.form .wpcf7-checkbox .wpcf7-list-item.last {
  width: 100%;
  display: flex;
}
.form .wpcf7-radio {
  display: flex;
  padding: 10px 0 10px 0;
}
@media screen and (max-width: 767px) {
  .form .wpcf7-radio {
    padding: 0;
    display: block;
  }
}
.form .has-free-text {
  display: flex;
  align-items: center;
}
.form .attachment {
  margin-bottom: 12px;
  border-radius: 10px;
  padding: 10px;
  border: 1px solid #CCCCCC;
  background-color: #F8F8F8;
  display: table;
}
@media screen and (max-width: 767px) {
  .form .attachment {
    width: 100%;
  }
}
.form .attachment label {
  /* ボタン部分の見た目（任意） */
  display: inline-block;
  position: relative;
  background-color: #fff;
  border: 1px solid #ccc;
  color: #000;
  font-size: 0.875rem;
  padding: 10px 18px;
  border-radius: 4px;
  transition: all 0.3s;
}
.form .attachment label:hover {
  background: #888;
  transition: all 0.4s;
}
.form .attachment label input {
  /* 今回のポイント */
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
}
.form .attachment .filename {
  font-size: 0.875rem;
  margin: 0 0 0 10px;
}

.widget_recent_entries ul,
.widget_recent_comments ul,
.widget_archive ul,
.widget_categories ul,
.widget_meta ul,
.widget_pages ul,
.widget_nav_menu ul {
  list-style: none;
  padding-left: 0;
}

.widget_categories ul li {
  border-bottom: 1px solid #ddd;
}
.widget_categories ul li a {
  padding: 15px 0;
  display: block;
  line-height: 1.3;
  position: relative;
  font-size: 0.875rem;
  text-decoration: none;
  color: #000;
  font-weight: normal;
}
.widget_categories ul li a::after {
  position: absolute;
  content: "";
  display: block;
  border-top: 2px solid var(--color01);
  border-right: 2px solid var(--color01);
  top: 50%;
  width: 5px;
  height: 5px;
  transform: translateY(-50%) rotate(45deg);
  right: 10px;
}
.widget_categories ul li ul li.current {
  background-color: #D9E9F5;
}
.widget_categories.probar ul li {
  border-color: #ddd !important;
}
.widget_categories.probar ul li a {
  padding: 1.125rem 0;
  font-size: 0.875rem;
}
.widget_categories.probar .inner {
  background-color: #F1F6FC;
  padding: 15px 12px;
}
@media screen and (max-width: 767px) {
  .widget_categories.probar .inner {
    padding: 0;
  }
}

.widget_archive ul li a:hover,
.widget_categories ul li a:hover {
  text-decoration: none;
}

.widget_search .input-group {
  margin-top: 1.5rem;
  padding: 0px 0px 0;
  position: relative;
}
.widget_search .btnarea {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .widget_search .btnarea {
    left: auto;
    right: 15px;
  }
}
.widget_search .btnarea .btn {
  outline: none;
  background: url("../images/common/icn_search.svg") no-repeat center center;
  text-align: center;
  display: block;
  height: 18px;
  background-size: auto 100%;
  width: 20px;
}
@media screen and (max-width: 767px) {
  .widget_search .btnarea .btn {
    height: 50px;
    width: 55px;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMSI+PHBhdGggZD0iTTMuOSAxMy41Yy0yLjUtMi43LTIuNS02LjggMC05LjQgMi4zLTIuNSA2LjItMi42IDguNy0uM2wuMy4zYzIuNSAyLjcgMi41IDYuOCAwIDkuNC0yLjMgMi41LTYuMiAyLjYtOC43LjMtLjItLjEtLjMtLjItLjMtLjN6bTE1LjcgNC44bC00LjMtNC42YzIuMy0zLjUgMS45LTguMS0xLTExLjItMy0zLjMtOC4yLTMuNC0xMS40LS40LS4yLjItLjQuMy0uNS41LTMuMiAzLjUtMy4yIDguOSAwIDEyLjQgMi44IDMgNy40IDMuNCAxMC43IDFsNC4zIDQuNWMuNi42IDEuNS42IDIuMS4xbC4xLS4xYy42LS42LjYtMS42IDAtMi4yeiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiNmZmYiLz48L3N2Zz4=");
    background-size: 25px auto;
  }
}
.widget_search input[type=search].form-control {
  width: 100%;
  border: 0;
  padding-right: 40px;
  height: 45px;
  line-height: 43px;
  background-color: var(--color03);
  border-radius: 0;
  padding-left: 5px;
}
@media screen and (max-width: 767px) {
  .widget_search input[type=search].form-control {
    height: 50px;
    line-height: 48px;
    border: 0 !important;
    font-size: 16px;
  }
}
.widget_search.probar .inner {
  padding: 0;
}
@media screen and (max-width: 767px) {
  .widget_search.probar .inner {
    padding: 0;
  }
}
.widget_search.probar .btnarea .btn {
  outline: none;
  background: url("../images/common/icn_search.svg") no-repeat center center;
  text-align: center;
  display: block;
  height: 18px;
  background-size: auto 100%;
  width: 20px;
}
@media screen and (max-width: 767px) {
  .widget_search.probar .btnarea .btn {
    height: 20px;
    width: 20px;
    background-size: 18px 18px;
  }
}
.widget_search.probar input[type=search].form-control:focus {
  outline: none;
}

.widget_search :-moz-placeholder-shown {
  color: #666;
  padding-top: 4px !important;
}

.widget_search :placeholder-shown {
  color: #666;
  padding-top: 4px !important;
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
.widget_search ::-webkit-input-placeholder {
  color: #666;
  padding-top: 4px !important;
}

/* Firefox 19+ */
.widget_search ::-moz-placeholder {
  color: #666;
  padding-top: 4px !important;
  opacity: 1;
}

.widget_search .input-group-btn {
  position: relative;
}

.widget_archive .screen-reader-text {
  display: none;
}

.widget_categories.newsbar select,
.widget_archive.newsbar select {
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  margin: 0;
  height: 42px;
  background: transparent;
  position: relative;
  z-index: 1;
  padding: 0 40px 0 25px;
  border: 0 !important;
  line-height: 40px;
  background-color: transparent;
  border-radius: 5px;
  outline: none;
}
@media screen and (max-width: 767px) {
  .widget_categories.newsbar select,
.widget_archive.newsbar select {
    border-radius: 0px;
    height: 50px;
    line-height: 48px;
    font-size: 16px;
  }
}

.widwidget_categories.newsbar select::-ms-expand,
.widget_archive select::-ms-expand {
  display: none;
}

.widget_categories.newsbar .inner,
.widget_archive.newsbar .inner {
  padding: 20px 0px 0;
}

.widget_categories.newsbar .selectWrap,
.widget_archive.newsbar .selectWrap {
  position: relative;
  margin-top: 1.5625rem;
}

.widget_categories.newsbar .selectWrap::before,
.widget_archive.newsbar .selectWrap::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  height: 40px;
  width: 46px;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}
@media screen and (max-width: 767px) {
  .widget_categories.newsbar .selectWrap::before,
.widget_archive.newsbar .selectWrap::before {
    height: 50px;
    width: 55px;
    background-color: var(--color01);
  }
}

.widget_categories .selectWrap::after,
.widget_archive .selectWrap::after {
  /*
  	content: '\f078';
  	font-family: "Font Awesome 5 Free";
  	position: absolute;
  	z-index: 0;
  	color: var(--color01);
  	top: 50%;
  	transform: translateY(-50%);
  	bottom: 0;
  	margin: auto 0;
  	right: 15px;
  	font-weight: bold;
  */
  position: absolute;
  content: "";
  display: block;
  z-index: 0;
  border-bottom: 2px solid var(--color01);
  border-right: 2px solid var(--color01);
  top: 50%;
  width: 5px;
  height: 5px;
  transform: translateY(-50%) rotate(45deg);
  right: 15px;
}
@media screen and (max-width: 767px) {
  .widget_categories .selectWrap::after,
.widget_archive .selectWrap::after {
    right: 22px;
  }
}

/**/
.widget_categories.probar select,
.widget_archive.probar select {
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  margin: 0;
  height: 45px;
  background: transparent;
  position: relative;
  z-index: 1;
  padding: 0 40px 0 25px;
  border: none !important;
  line-height: 43px;
  background-color: transparent;
  border-radius: 0px;
  outline: none;
}
@media screen and (max-width: 767px) {
  .widget_categories.probar select,
.widget_archive.probar select {
    border-radius: 0px;
    height: 50px;
    line-height: 48px;
    font-size: 16px;
    border: 0 !important;
  }
}
.widget_categories.probar select::-ms-expand,
.widget_archive.probar select::-ms-expand {
  display: none;
}
.widget_categories.probar .selectWrap,
.widget_archive.probar .selectWrap {
  position: relative;
  margin-top: 1.5625rem;
  background-color: var(--color03);
}
.widget_categories.probar .selectWrap::before,
.widget_archive.probar .selectWrap::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  height: 40px;
  width: 46px;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}
@media screen and (max-width: 767px) {
  .widget_categories.probar .selectWrap::before,
.widget_archive.probar .selectWrap::before {
    height: 50px;
    width: 55px;
  }
}

.sidebar-widget {
  margin: 0 0 2.5rem;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .sidebar-widget {
    margin: 0 0 2.5rem;
  }
}

.sidebar-widget__title {
  margin-top: 0;
  border-top: 1px solid var(--color01);
  border-bottom: 1px solid var(--color01);
  text-align: left;
  font-weight: bold;
  line-height: 1;
  color: var(--color01);
  font-size: 0.9375rem;
  padding: 1.25rem 0;
  letter-spacing: normal;
  margin-bottom: 0;
}
.sidebar-widget__title span {
  margin: 0 10px;
}

.sidebar-widget__title a {
  display: block;
  padding: 0 0 0 15px !important;
}

.sidebar-widget__title a:hover {
  text-decoration: none;
  background-color: #F1F6FC;
}

.widget_recent_entries .newslist {
  position: relative;
  border-bottom: 1px solid #ddd;
}
.widget_recent_entries .newslist li {
  padding: 1.5625rem 0;
}
@media screen and (max-width: 767px) {
  .widget_recent_entries .newslist li {
    padding: 1.25rem 0;
  }
}
.widget_recent_entries .newslist dl {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .widget_recent_entries .newslist dl dd {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .widget_recent_entries .newslist dl dd .date {
    font-size: 0.625rem;
  }
}
.widget_recent_entries .newslist dl dd .txt_news {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-height: 1.7;
}

/*==================================================
* single
*================================================*/
/**
* .single
*/
.news_single {
  padding-bottom: 6.875rem !important;
}
@media screen and (max-width: 767px) {
  .news_single {
    padding: 3.75rem 0 4.375rem !important;
  }
}

.single-post article {
  text-align: left;
}
.single-post article .single-head {
  margin-bottom: var(--size50px);
}
@media screen and (max-width: 767px) {
  .single-post article .single-head {
    margin-bottom: var(--size30px);
  }
}
.single-post article .single-head h1 {
  margin-bottom: var(--size10px);
}
@media screen and (max-width: 767px) {
  .single-post article .single-head h1 {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .single-post article .single-head .date {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .single-post article .single-head .metaarea {
    margin-bottom: 2.5rem;
  }
}
.single-post article .single-head .cat {
  min-width: 9.5rem;
}
@media screen and (max-width: 767px) {
  .single-post article .single-head .cat {
    font-size: 0.6875rem;
    min-width: 8.125rem;
  }
}
.single-post article .single-head .cat:hover {
  opacity: 0.8;
}
@media screen and (max-width: 767px) {
  .single-post article .single-title {
    font-size: 1.125rem;
  }
}
.single-post article .mainimg {
  margin: 0 0 var(--size50px) 0;
}
@media screen and (max-width: 767px) {
  .single-post article .mainimg {
    margin: 0 0 var(--size40px) 0;
  }
}
.single-post article .mainimg img {
  width: 100%;
  height: auto;
}
.single-post article .contfr {
  line-height: 1.8;
  /*目次スタイル*/
}
.single-post article .contfr ul,
.single-post article .contfr ol {
  margin-left: 1.5em;
}
.single-post article .contfr h2 {
  font-size: 1.5rem;
  color: var(--color01);
  padding-bottom: var(--size20px);
  line-height: 1.5;
  position: relative;
  margin: var(--size45px) 0 var(--size45px);
  border-bottom: 1px solid var(--color01);
  position: relative;
}
@media screen and (max-width: 767px) {
  .single-post article .contfr h2 {
    font-size: 1rem;
  }
}
.single-post article .contfr h2:first-child {
  margin-top: 0;
}
.single-post article .contfr h3 {
  font-size: 1.25rem;
  line-height: 1.5;
  font-weight: bold;
  position: relative;
  margin: var(--size45px) 0 var(--size45px);
}
.single-post article .contfr h3:first-child {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .single-post article .contfr h3 {
    font-size: 0.9375rem;
    margin: var(--size30px) 0 var(--size30px);
  }
}
.single-post article .contfr h4 {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  margin: var(--size35px) 0 var(--size35px);
}
.single-post article .contfr h4:first-child {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .single-post article .contfr h4 {
    font-size: 0.9375rem;
    margin: var(--size30px) 0 var(--size30px);
  }
}
.single-post article .contfr h5 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  margin: var(--size35px) 0 var(--size35px);
}
@media screen and (max-width: 767px) {
  .single-post article .contfr h5 {
    font-size: 0.875rem;
    margin: var(--size25px) 0 var(--size25px);
  }
}
.single-post article .contfr h6 {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  margin: var(--size35px) 0 var(--size35px);
}
@media screen and (max-width: 767px) {
  .single-post article .contfr h6 {
    font-size: 0.875rem;
    margin: var(--size25px) 0 var(--size25px);
  }
}
.single-post article .contfr p {
  line-height: 2.1;
}
.single-post article .contfr p + p {
  margin-top: 1.5em;
}
@media screen and (max-width: 767px) {
  .single-post article .contfr p {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .single-post article .contfr img {
    height: auto !important;
  }
}
.single-post article .contfr table td {
  line-height: 1.8;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .single-post article .contfr table td {
    line-height: 1.5;
    font-size: 14px;
  }
}
.single-post article .contfr .alignleft {
  float: left;
  margin-right: 1.25rem;
}
.single-post article .contfr .alignright {
  float: right;
  margin-left: 1.25rem;
}
.single-post article .contfr .aligncenter {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  display: block;
}
.single-post article .contfr .wp-block-image {
  margin: 30px 0;
}
@media screen and (max-width: 767px) {
  .single-post article .contfr .wp-block-image {
    margin: 25px 0;
  }
}
.single-post article .contfr .wp-block-media-text .wp-block-media-text__content {
  padding-left: 0;
}
@media screen and (max-width: 767px) {
  .single-post article .contfr .wp-block-media-text .wp-block-media-text__content {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
.single-post article .contfr .wp-block-media-text .wp-block-media-text__media + .wp-block-media-text__content {
  padding-right: 0;
  padding-left: 8%;
}
.single-post article .contfr .wp-block-media-text + .wp-block-media-text {
  margin-top: 45px;
}
@media screen and (max-width: 767px) {
  .single-post article .contfr .wp-block-media-text + .wp-block-media-text {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .single-post article .contfr .wp-block-columns {
    gap: 0;
  }
}
@media screen and (max-width: 767px) {
  .single-post article .contfr .wp-block-media-text__content {
    padding: 20px 0 0 !important;
  }
}
@media screen and (max-width: 767px) {
  .single-post article .contfr .wp-block-media-text:not(.is-stacked-on-mobile) .wp-block-media-text__content {
    padding: 20px 0 0 20px;
  }
}
.single-post article .contfr .wp-element-caption {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .single-post article .contfr .wp-element-caption {
    font-size: 1.3rem;
  }
}
.single-post article .contfr .wp-block-group {
  background-color: #F8F8F8;
  position: relative;
  padding: 50px 40px;
  margin: 50px 0;
}
@media screen and (max-width: 767px) {
  .single-post article .contfr .wp-block-group {
    padding: 25px 20px;
    margin: 25px 0;
  }
}
.single-post article .contfr #ez-toc-container {
  background-color: transparent;
  border: 1px solid var(--color01);
  border-radius: 0;
  width: 100%;
  margin: 5.9375rem 0 5rem;
  padding: var(--size50px) var(--size40px);
}
@media screen and (max-width: 767px) {
  .single-post article .contfr #ez-toc-container {
    margin: 40px 0 0;
    padding: 30px 20px 25px;
  }
}
.single-post article .contfr #ez-toc-container .ez-toc-title {
  background-color: var(--color01);
  font-family: "Poppins", sans-serif;
  position: absolute;
  left: 1.875rem;
  top: 0;
  color: #fff;
  transform: translateY(-50%);
  font-size: 0.9375rem;
  display: block;
  width: 5.625rem;
  height: 1.875rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-weight: 400;
}
.single-post article .contfr #ez-toc-container .ez-toc-title::before, .single-post article .contfr #ez-toc-container .ez-toc-title::after {
  background-color: var(--color01);
  content: "";
  position: absolute;
  height: 100%;
  width: 1.875rem;
}
.single-post article .contfr #ez-toc-container .ez-toc-title::before {
  left: 0;
  top: 0;
  border-bottom-left-radius: 110%;
  transform: translateX(calc(-100% + 1px));
}
.single-post article .contfr #ez-toc-container .ez-toc-title::after {
  right: 0;
  top: 0;
  border-top-right-radius: 110%;
  transform: translateX(calc(100% - 1px));
}
.single-post article .contfr #ez-toc-container .ez-toc-heading-level-2 {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .single-post article .contfr #ez-toc-container .ez-toc-heading-level-2 {
    margin-top: 0.625rem;
  }
}
.single-post article .contfr #ez-toc-container .ez-toc-heading-level-2:first-child {
  margin-top: 0;
}
.single-post article .contfr #ez-toc-container .ez-toc-heading-level-2 > a {
  font-weight: 700;
  font-size: 1rem;
  color: #000;
}
@media screen and (max-width: 767px) {
  .single-post article .contfr #ez-toc-container .ez-toc-heading-level-2 > a {
    font-size: 0.9375rem;
  }
}
.single-post article .contfr #ez-toc-container .ez-toc-heading-level-3 a {
  font-weight: 400;
  font-size: 0.9375rem;
  color: #000;
}
@media screen and (max-width: 767px) {
  .single-post article .contfr #ez-toc-container .ez-toc-heading-level-3 a {
    font-size: 0.875rem;
  }
}
.single-post article .contfr #ez-toc-container .ez-toc-list-level-3 {
  margin-top: 10px;
  list-style: disc;
  overflow: visible;
}
@media screen and (max-width: 767px) {
  .single-post article .contfr #ez-toc-container .ez-toc-list-level-3 {
    margin-top: 10px;
  }
}
.single-post article .contfr #ez-toc-container .ez-toc-list-level-3 li {
  list-style: disc;
  margin-top: 5px;
  overflow: visible;
}
.single-post article .contfr #ez-toc-container .ez-toc-list-level-3 li::marker {
  font-size: 0.5625rem;
}
.single-post article .contfr #ez-toc-container ul ul {
  margin-left: 1em;
}
.single-post article .linkarea {
  list-style: none;
  margin: var(--size50px) 0px 0;
  padding: var(--size50px) 0;
  width: 100%;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #0B265B;
}
@media screen and (max-width: 767px) {
  .single-post article .linkarea {
    margin: var(--size50px) 0px 0;
    padding: var(--size40px) 0;
  }
}
.single-post article .linkarea .nav-links {
  width: 20%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.single-post article .linkarea .nav-previous,
.single-post article .linkarea .nav-next {
  width: 33%;
  flex-grow: 0;
  flex-shrink: 0;
}
.single-post article .linkarea .nav-previous a,
.single-post article .linkarea .nav-next a {
  display: block;
  text-decoration: none;
  color: #000;
  position: relative;
  font-size: 0.9375rem;
  line-height: 1.5;
  min-height: 2.8125rem;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .single-post article .linkarea .nav-previous a,
.single-post article .linkarea .nav-next a {
    font-size: 0.8125rem;
  }
}
.single-post article .linkarea .nav-previous a span,
.single-post article .linkarea .nav-next a span {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .single-post article .linkarea .nav-previous a span,
.single-post article .linkarea .nav-next a span {
    display: none;
  }
}
.single-post article .linkarea .nav-previous a:hover,
.single-post article .linkarea .nav-next a:hover {
  opacity: 0.7;
}
.single-post article .linkarea .nav-previous a::before,
.single-post article .linkarea .nav-next a::before {
  content: "";
  position: absolute;
  content: "";
  transition: all 0.5s;
  position: absolute;
  top: 50%;
  left: 0;
  border-bottom: 1px solid #000;
  border-left: 1px solid #000;
  height: 2.0625rem;
  width: 2.0625rem;
  transform: translateY(-50%);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .single-post article .linkarea .nav-previous a::before,
.single-post article .linkarea .nav-next a::before {
    height: 1.625rem;
    width: 1.625rem;
  }
}
.single-post article .linkarea .nav-previous a {
  padding-left: 3.125rem;
}
.single-post article .linkarea .nav-previous a::before {
  transform: translateY(-50%) rotate(45deg);
  left: 10px;
}
@media screen and (max-width: 767px) {
  .single-post article .linkarea .nav-previous a {
    padding-left: 24px;
  }
}
.single-post article .linkarea .nav-next a {
  padding-right: 3.125rem;
}
.single-post article .linkarea .nav-next a::before {
  transform: translateY(-50%) rotate(-135deg);
  left: auto;
  right: 10px;
}
@media screen and (max-width: 767px) {
  .single-post article .linkarea .nav-next a {
    padding-right: 24px;
  }
}
.single-post article .linkarea .linklist {
  width: 20%;
  border-right: 0;
  text-decoration: underline;
  display: block;
  text-align: center;
  text-decoration: none;
  color: #000;
  font-size: 0.9375rem;
}
.single-post article .linkarea .linklist a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.single-post article .linkarea .linklist a span {
  margin-top: 0.9375rem;
  display: inline-block;
  line-height: 1;
}
.single-post article .linkarea .linklist:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .single-post article .linkarea .linklist {
    font-size: 1.4rem;
  }
}
.single-post article .author {
  margin-top: var(--size85px);
  background-color: #fff;
  padding: var(--size50px) var(--size40px);
  position: relative;
}
@media screen and (max-width: 767px) {
  .single-post article .author {
    margin-top: var(--size60px);
    padding: var(--size40px) var(--size25px);
  }
}
.single-post article .author .ttl {
  display: inline-block;
  padding: 0 var(--size10px);
  line-height: 1.875rem;
  text-align: center;
  position: absolute;
  font-size: 0.8125rem;
  font-weight: normal;
  width: 6.25rem;
  left: 1.875rem;
  top: 0;
  transform: translateY(-50%);
  letter-spacing: 0;
}
.single-post article .author .ttl::before, .single-post article .author .ttl::after {
  background-color: var(--color01);
  content: "";
  position: absolute;
  height: 100%;
  width: 1.875rem;
}
.single-post article .author .ttl::before {
  left: 0;
  top: 0;
  border-bottom-left-radius: 110%;
  transform: translateX(calc(-100% + 1px));
}
.single-post article .author .ttl::after {
  right: 0;
  top: 0;
  border-top-right-radius: 110%;
  transform: translateX(calc(100% - 1px));
}
.single-post article .author .ttl span {
  display: block;
  margin-left: -1.875rem;
  margin-right: -1.875rem;
  position: relative;
  z-index: 1;
}
.single-post article .author .row_author {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .single-post article .author .row_author {
    flex-direction: column;
  }
}
.single-post article .author .img_col {
  width: 6.25rem;
  flex-shrink: 0;
  overflow: hidden;
}
.single-post article .author .img_col img {
  border-radius: 0.9375rem;
}
.single-post article .author .txt_col {
  width: auto;
  padding-left: var(--size25px);
  flex-grow: 2;
}
@media screen and (max-width: 767px) {
  .single-post article .author .txt_col {
    margin-top: var(--size15px);
    width: 100%;
    padding-left: 0;
    position: relative;
  }
}
.single-post article .author .txt_col .subttl {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .single-post article .author .txt_col .subttl {
    flex-direction: column;
    position: absolute;
    left: calc(100px + 1.625rem);
    top: -7.1875rem;
    line-height: 1.5;
    font-size: 1rem;
    width: calc(100% - (100px + 1.625rem));
    word-break: break-all;
  }
}
.single-post article .author .txt_col .subttl a {
  font-size: 0.875rem;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .single-post article .author .txt_col .subttl a {
    font-size: 0.8125rem;
    margin-top: 0.625rem;
  }
}

body:not(.home) section.relation_single {
  padding: 7.1875rem 0 12.1875rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) section.relation_single {
    padding: 4.5rem 0 4.5rem;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) section.relation_single .btnarea {
    margin-top: 2.1875rem;
  }
}

@media screen and (max-width: 767px) {
  .single .resentarea {
    margin-top: 0px;
  }
}
@media screen and (max-width: 767px) {
  .single .resentarea .ttl_resent {
    font-size: 1rem;
    margin-bottom: 2.5rem;
  }
}
.single .resentarea ul {
  margin-top: 2.8125rem;
}
@media screen and (max-width: 767px) {
  .single .resentarea ul li {
    margin-top: 1.5625rem;
    width: 100%;
  }
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.noevent {
  pointer-events: none;
  display: block;
}

#kv-title-1 .st0 {
  fill-rule: evenodd;
  clip-rule: evenodd;
  fill: #111;
}

#kv-title-1 .st1 {
  fill: #111;
}

.is-start #kv-title-1 g {
  opacity: 0;
  transform: translateX(5%) rotateY(90deg);
  transition: transform 2.4s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 2.4s;
}

.is-start #kv-title-1 g:first-child {
  transform-origin: 4% center;
  transition-delay: 2s;
}

.is-start #kv-title-1 g:nth-child(2) {
  transform-origin: 20% center;
  transition-delay: 2.2s;
}

.is-start #kv-title-1 g:nth-child(3) {
  transform-origin: 36% center;
  transition-delay: 2.4s;
}

.is-start #kv-title-1 g:nth-child(4) {
  transform-origin: 52% center;
  transition-delay: 2.6s;
}

.is-start #kv-title-1 g:nth-child(5) {
  transform-origin: 68% center;
  transition-delay: 2.8s;
}

.is-start #kv-title-1 g:nth-child(6) {
  transform-origin: 84% center;
  transition-delay: 3s;
}

/*
.is-start #kv-title-1 g:nth-child(7) {
    -webkit-transform-origin: 82.5% center;
    transform-origin: 82.5% center;
    -webkit-transition-delay: 5.8s;
    transition-delay: 5.8s
}

.is-start #kv-title-1 g:nth-child(8) {
    -webkit-transform-origin: 92% center;
    transform-origin: 92% center;
    -webkit-transition-delay: 6s;
    transition-delay: 6s
}

.is-start #kv-title-1 g:nth-child(n+9) {
    opacity: .5;
    -webkit-transform: rotateY(0deg);
    transform: rotateY(0deg)
}
*/
.is-start.is-loaded #kv-title-1 g {
  opacity: 1;
  transform: translateX(0) rotateY(0deg);
}

#kv-title-2 .st0 {
  fill-rule: evenodd;
  clip-rule: evenodd;
  fill: #111;
}

#kv-title-2 .st1 {
  fill: #111;
}

.is-start #kv-title-2 g {
  opacity: 0;
  transform: translateX(5%) rotateY(90deg);
  transition: transform 1.6s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 1.6s;
}

.is-start #kv-title-2 g:first-child {
  transform-origin: 4% center;
  transition-delay: 3.8s;
}

.is-start #kv-title-2 g:nth-child(2) {
  transform-origin: 18% center;
  transition-delay: 4s;
}

.is-start #kv-title-2 g:nth-child(3) {
  transform-origin: 32% center;
  transition-delay: 4.2s;
}

.is-start #kv-title-2 g:nth-child(4) {
  transform-origin: 46% center;
  transition-delay: 4.4s;
}

.is-start #kv-title-2 g:nth-child(5) {
  transform-origin: 60% center;
  transition-delay: 4.6s;
}

.is-start #kv-title-2 g:nth-child(6) {
  transform-origin: 74% center;
  transition-delay: 4.8s;
}

.is-start #kv-title-2 g:nth-child(7) {
  transform-origin: 88% center;
  transition-delay: 5s;
}

/*
.is-start #kv-title-2 g:nth-child(8) {
    -webkit-transform-origin: 75% center;
    transform-origin: 75% center;
    -webkit-transition-delay: 7.5s;
    transition-delay: 7.5s
}

.is-start #kv-title-2 g:nth-child(9) {
    -webkit-transform-origin: 84% center;
    transform-origin: 84% center;
    -webkit-transition-delay: 7.6s;
    transition-delay: 7.6s
}

.is-start #kv-title-2 g:nth-child(10) {
    -webkit-transform-origin: 93% center;
    transform-origin: 93% center;
    -webkit-transition-delay: 7.7s;
    transition-delay: 7.7s
}

.is-start #kv-title-2 g:nth-child(11) {
    -webkit-transform-origin: 99% center;
    transform-origin: 99% center;
    -webkit-transition-delay: 7.8s;
    transition-delay: 7.8s
}

.is-start #kv-title-2 g:nth-child(n+12) {
    opacity: .5;
    -webkit-transform: rotateY(0deg);
    transform: rotateY(0deg)
}
*/
.is-start.is-loaded #kv-title-2 g {
  opacity: 1;
  transform: translateX(0) rotateY(0deg);
}

.is-start.is-loaded .titletxt .sm {
  /*-webkit-transition-delay: 6.0s;
  transition-delay: 6.0s;
  */
  -webkit-animation-name: txtfadeIn;
          animation-name: txtfadeIn;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-delay: 6s;
          animation-delay: 6s;
}

body:not(.page-contact) .grecaptcha-badge {
  display: none;
}
/*# sourceMappingURL=main.css.map */