@charset "UTF-8";

/* CSS Document */
/* ------------------------------
テキスト
------------------------------ */
.txt_indent {
  display: block;
  text-indent: -1em;
  margin-left: 1em;
}

.txt_ls_0 {
  letter-spacing: 0;
}

.txt_ls_005 {
  letter-spacing: 0.05em;
}

.txt_ls_01 {
  letter-spacing: 0.1em;
}

.txt_ls_015 {
  letter-spacing: 0.15em;
}

.txt_ls_02 {
  letter-spacing: 0.2em;
}

.txt_ls_03 {
  letter-spacing: 0.3em;
}

.txt_ls_005 {
  letter-spacing: 0.05em;
}

.txt_black {
  font-weight: 900;
}

.txt_bold {
  font-weight: 700;
}

.txt_normal {
  font-weight: 300;
}

.txt_en {
  font-family: "Josefin Sans", sans-serif;
  letter-spacing: 0.02em;
}

.txt_center {
  text-align: center !important;
}

.txt_right {
  text-align: right !important;
}

.blue {
  color: #3D4BF5;
}

.navy {
  color: #141A5F;
}

.pink {
  color: #C94B98;
}

.white {
  color: #fff;
}

.pcbr {
  display: block !important;
}

.spbr {
  display: none !important;
}

.sp_only {
  display: none;
}

.fs_10 {
  font-size: 1rem;
}

.fs_12 {
  font-size: 1.2rem;
}

.fs_13 {
  font-size: 1.3rem;
}

.fs_14 {
  font-size: 1.4rem;
}

.fs_15 {
  font-size: 1.5rem;
}

.fs_16 {
  font-size: 1.6rem;
}

.fs_18 {
  font-size: 1.8rem;
}

.fs_20 {
  font-size: 2rem;
}

.fs_22 {
  font-size: 2.2rem;
}

.fs_24 {
  font-size: 2.4rem;
}

.fs_26 {
  font-size: 2.6rem;
}

.fs_28 {
  font-size: 2.8rem;
}

.fs_30 {
  font-size: 3rem;
}

.fs_34 {
  font-size: 3.4rem;
}

.fs_35 {
  font-size: 3.5rem;
}

.fs_36 {
  font-size: 3.6rem;
}

.fs_37 {
  font-size: 3.7rem;
}

.fs_38 {
  font-size: 3.8rem;
}

.fs_40 {
  font-size: 4rem;
}

.fs_45 {
  font-size: 4.5rem;
}

.fs_50 {
  font-size: 5rem;
}

.fs_53 {
  font-size: 5.3rem;
}

.fs_55 {
  font-size: 5.5rem;
}

.fs_59 {
  font-size: 5.9rem;
}

.fs_60 {
  font-size: 6rem;
}

.fs_65 {
  font-size: 6.5rem;
}

.fs_70 {
  font-size: 7rem;
}

.fs_80 {
  font-size: 8rem;
}

.fs_85 {
  font-size: 8.5rem;
}

.fs_89 {
  font-size: 8.9rem;
}

.fs_90 {
  font-size: 9rem;
}

.fs_100 {
  font-size: 10rem;
}

.fs_115 {
  font-size: 11.5rem;
}

.fs_119 {
  font-size: 11.9rem;
}

.fs_140 {
  font-size: 14rem;
}

.fw_100 {
  font-weight: 100;
}

.fw_200 {
  font-weight: 200;
}

.fw_300 {
  font-weight: 300;
}

.fw_400 {
  font-weight: 400;
}

.fw_500 {
  font-weight: 500;
}

.fw_700 {
  font-weight: 700;
}

.lh_10 {
  line-height: 1em !important;
}

.lh_12 {
  line-height: 1.2em !important;
}

.lh_14 {
  line-height: 1.4em !important;
}

.lh_15 {
  line-height: 1.5em !important;
}

.lh_16 {
  line-height: 1.6em !important;
}

.lh_18 {
  line-height: 1.8em !important;
}

.lh_20 {
  line-height: 2em !important;
}

.lh_25 {
  line-height: 2.5em !important;
}

.lh_28 {
  line-height: 2.8em !important;
}

.lh_30 {
  line-height: 3em !important;
}

.lh_32 {
  line-height: 3.2em !important;
}

.lh_35 {
  line-height: 3.5em !important;
}

.lh_40 {
  line-height: 4em !important;
}

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

.mrg__btm02 {
  margin-bottom: 0.2em !important;
}

.mrg__btm03 {
  margin-bottom: 0.3em !important;
}

.mrg__btm05 {
  margin-bottom: 0.5em !important;
}

.mrg__btm08 {
  margin-bottom: 0.8em !important;
}

.mrg__btm1 {
  margin-bottom: 1em !important;
}

.mrg__btm15 {
  margin-bottom: 1.5em !important;
}

.mrg__btm2 {
  margin-bottom: 2em !important;
}

.mrg__btm3 {
  margin-bottom: 3em !important;
}

.mrg__btm4 {
  margin-bottom: 4em !important;
}

.mrg__btm5 {
  margin-bottom: 5em !important;
}

.mrg__btm57 {
  margin-bottom: 5.7em !important;
}

.mrg__btm6 {
  margin-bottom: 6em !important;
}

.mrg__btm7 {
  margin-bottom: 7em !important;
}

.mrg__btm8 {
  margin-bottom: 8em !important;
}

.mrg__btm9 {
  margin-bottom: 9em !important;
}

.mrg__btm1-0 {
  margin-bottom: 10em !important;
}

.mrg__btm1-5 {
  margin-bottom: 15em !important;
}

.mrg__btm2-0 {
  margin-bottom: 20em !important;
}

.mrg__top-3 {
  margin-top: -3rem !important;
}

.mrg__top-7 {
  margin-top: -7rem !important;
}

.mrg__top0 {
  margin-top: 0 !important;
}

.mrg__top05 {
  margin-top: 0.5em !important;
}

.mrg__top1 {
  margin-top: 1em !important;
}

.mrg__top2 {
  margin-top: 2em !important;
}

.mrg__top3 {
  margin-top: 3em !important;
}

.mrg__top4 {
  margin-top: 4em !important;
}

.mrg__top5 {
  margin-top: 5em !important;
}

.mrg__top6 {
  margin-top: 6em !important;
}

.mrg__top7 {
  margin-top: 7em !important;
}

.mrg__top8 {
  margin-top: 8em !important;
}

.mrg__top9 {
  margin-top: 9em !important;
}

.mrg__left0 {
  margin-left: 0 !important;
}

.mrg__left1 {
  margin-left: 1em !important;
}

.mrg__left2 {
  margin-left: 2em !important;
}

.mrg__left3 {
  margin-left: 3em !important;
}

.mrg__right0 {
  margin-right: 0 !important;
}

.mrg__right1 {
  margin-right: 1em !important;
}

.mrg__right2 {
  margin-right: 2em !important;
}

.mrg__right3 {
  margin-right: 3em !important;
}

@media all and (max-width: 480px) {
  .txt__sp_ls_0 {
    letter-spacing: 0;
  }

  .txt__sp_ls_01 {
    letter-spacing: 0.1em;
  }

  .txt__sp_ls_02 {
    letter-spacing: 0.2em;
  }

  .txt__sp_s_005 {
    letter-spacing: 0.05em;
  }

  .pcbr {
    display: none !important;
  }

  .spbr {
    display: block !important;
  }

  .sp_only {
    display: block;
  }

  .txt__sp_center {
    display: block;
    text-align: center !important;
  }

  .txt__sp_right {
    display: block;
    text-align: right !important;
  }

  .txt__sp_left {
    display: block;
    text-align: left !important;
  }

  .fs__sp_10 {
    font-size: 1rem !important;
  }

  .fs__sp_12 {
    font-size: 1.2rem !important;
  }

  .fs__sp_13 {
    font-size: 1.3rem !important;
  }

  .fs__sp_14 {
    font-size: 1.4rem !important;
  }

  .fs__sp_16 {
    font-size: 1.6rem !important;
  }

  .fs__sp_18 {
    font-size: 1.8rem !important;
  }

  .fs__sp_20 {
    font-size: 2rem !important;
  }

  .fs__sp_22 {
    font-size: 2.2rem !important;
  }

  .fs__sp_24 {
    font-size: 2.4rem !important;
  }

  .fs__sp_30 {
    font-size: 3rem !important;
  }

  .fs__sp_35 {
    font-size: 3.5rem !important;
  }

  .fs__sp_40 {
    font-size: 4rem !important;
  }

  .fs__sp_45 {
    font-size: 4.5rem !important;
  }

  .fs__sp_50 {
    font-size: 5rem !important;
  }

  .fs__sp_60 {
    font-size: 6rem !important;
  }

  .fs__sp_70 {
    font-size: 7rem !important;
  }

  .lh__sp_08 {
    line-height: 0.8em !important;
  }

  .lh__sp_10 {
    line-height: 1em !important;
  }

  .lh__sp_12 {
    line-height: 1.2em !important;
  }

  .lh__sp_14 {
    line-height: 1.4em !important;
  }

  .lh__sp_15 {
    line-height: 1.5em !important;
  }

  .lh__sp_16 {
    line-height: 1.6em !important;
  }

  .lh___sp_18 {
    line-height: 1.8em !important;
  }

  .lh__sp_20 {
    line-height: 2em !important;
  }

  .lh__sp_26 {
    line-height: 2.6em !important;
  }

  .lh__sp_30 {
    line-height: 3em !important;
  }

  .lh__sp_36 {
    line-height: 3.6em !important;
  }

  .lh__sp_40 {
    line-height: 4em !important;
  }

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

  .mrg__sp_btm02 {
    margin-bottom: 0.2em !important;
  }

  .mrg__sp_btm05 {
    margin-bottom: 0.5em !important;
  }

  .mrg__sp_btm1 {
    margin-bottom: 1em !important;
  }

  .mrg__sp_btm15 {
    margin-bottom: 1.5em !important;
  }

  .mrg__sp_btm2 {
    margin-bottom: 2em !important;
  }

  .mrg__sp_btm3 {
    margin-bottom: 3em !important;
  }

  .mrg__sp_btm4 {
    margin-bottom: 4em !important;
  }

  .mrg__sp_btm5 {
    margin-bottom: 5em !important;
  }

  .mrg__sp_btm6 {
    margin-bottom: 6em !important;
  }

  .mrg__sp_btm7 {
    margin-bottom: 7em !important;
  }

  .mrg__sp_btm8 {
    margin-bottom: 8em !important;
  }

  .mrg__sp_btm9 {
    margin-bottom: 9em !important;
  }

  .mrg__sp_top-02 {
    margin-top: -0.2em !important;
  }

  .mrg__sp_top-1 {
    margin-top: -1em !important;
  }

  .mrg__sp_top-2 {
    margin-top: -2em !important;
  }

  .mrg__sp_top-6 {
    margin-top: -6rem !important;
  }

  .mrg__sp_top0 {
    margin-top: 0 !important;
  }

  .mrg__sp_top05 {
    margin-top: 0.5em !important;
  }

  .mrg__sp_top1 {
    margin-top: 1em !important;
  }

  .mrg__sp_top2 {
    margin-top: 2em !important;
  }

  .mrg__sp_top3 {
    margin-top: 3em !important;
  }

  .mrg__sp_top4 {
    margin-top: 4em !important;
  }

  .mrg__sp_top5 {
    margin-top: 5em !important;
  }

  .mrg__sp_top6 {
    margin-top: 6em !important;
  }

  .mrg__sp_top7 {
    margin-top: 7em !important;
  }

  .mrg__sp_top8 {
    margin-top: 8em !important;
  }

  .mrg__sp_top9 {
    margin-top: 9em !important;
  }
}

/*---------------------------------------------
	topページ　css
  ---------------------------------------------*/
/*---------------------------------------------
	トップのみのヘッダー部分css
  ---------------------------------------------*/
.header.top {
  background-color: transparent;
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header.top h1 a {
  color: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header.top nav ul li a {
  color: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header.top nav ul li a:before {
  background-color: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header.top a.allow:after {
  border-color: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header.top a.allow:hover {
  color: #fff;
}

.header.top .menu__second-level:before {
  background-color: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header.top .menu__second-level li a {
  color: #141A5F;
}

.header.top .menu__second-level nav ul li a {
  color: #141A5F;
}

.header.top.scroll {
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.header.top.scroll h1 a {
  color: #141A5F;
}

.header.top.scroll h1 a:before {
  background-color: #B4B6CC;
}

.header.top.scroll nav ul li a {
  color: #141A5F;
}

.header.top.scroll nav ul li a:hover {
  color: #3D4BF5;
}

.header.top.scroll nav ul li a:before {
  background-color: #B4B6CC;
}

.header.top.scroll a.allow:after {
  border-color: #141A5F;
}

.header.top.scroll a.allow:hover {
  color: #141A5F;
}

.header.top.scroll .menu__second-level:before {
  background-color: #B4B6CC;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header.top.scroll .menu__second-level li a {
  color: #141A5F;
}

.header.top.scroll .menu__second-level li a:hover {
  color: #3D4BF5;
}

.header.top.scroll .entry_btn a {
  color: #fff;
}

.header.top.scroll .entry_btn a:hover {
  color: #fff;
}

/*---------------------------------------------
	オープンアニメーション
  ---------------------------------------------*/
.open_anim {
  position: absolute;
  z-index: 9999;
  width: 100%;
  height: 100vh;
  background: linear-gradient(155deg, rgb(61, 75, 245) 0%, rgb(0, 213, 248) 100%);
  -webkit-animation: openAnim3 2s 2s cubic-bezier(0.19, 1, 0.22, 1);
  animation: openAnim3 2s 2s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  overflow: hidden;
}

.open_anim .main_txt {
  width: 730px;
  position: absolute;
  color: #fff;
  bottom: 50px;
  left: 50px;
}

@media all and (max-width: 480px) {
  .open_anim .main_txt {
    bottom: 34.5vh;
    left: 15px;
    width: 100%;
  }
}

.open_anim .main_txt h2 {
  line-height: 0.7em;
  opacity: 0;
  -webkit-transform: scale(10);
  transform: scale(10);
  -webkit-animation: openAnim1 0.5s 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  animation: openAnim1 0.5s 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.open_anim .main_txt h3 {
  letter-spacing: 0.2em;
  opacity: 0;
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
  -webkit-animation: openAnim2 1.3s 1s cubic-bezier(0.19, 1, 0.22, 1);
  animation: openAnim2 1.3s 1s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.open_anim .main_txt h3 span {
  margin-bottom: 10px;
}

.open_anim .main_txt p {
  opacity: 0;
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
  -webkit-animation: openAnim2 1.3s 1.5s cubic-bezier(0.19, 1, 0.22, 1);
  animation: openAnim2 1.3s 1.5s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

@-webkit-keyframes openAnim1 {
  0% {
    opacity: 0;
    -webkit-transform: scale(10);
    transform: scale(10);
  }

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

@keyframes openAnim1 {
  0% {
    opacity: 0;
    -webkit-transform: scale(10);
    transform: scale(10);
  }

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

@-webkit-keyframes openAnim2 {
  0% {
    opacity: 0;
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
  }

  100% {
    opacity: 1;
    -webkit-clip-path: inset(0);
    clip-path: inset(0);
  }
}

@keyframes openAnim2 {
  0% {
    opacity: 0;
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
  }

  100% {
    opacity: 1;
    -webkit-clip-path: inset(0);
    clip-path: inset(0);
  }
}

@-webkit-keyframes openAnim3 {
  0% {
    opacity: 1;
    display: block;
    visibility: visible;
    -webkit-clip-path: inset(0);
    clip-path: inset(0);
  }

  99% {
    opacity: 0;
    visibility: hidden;
    display: block;
    -webkit-clip-path: inset(0 0 0 100%);
    clip-path: inset(0 0 0 100%);
  }

  100% {
    opacity: 0;
    display: none;
    visibility: hidden;
    -webkit-clip-path: inset(0 0 0 100%);
    clip-path: inset(0 0 0 100%);
  }
}

@keyframes openAnim3 {
  0% {
    opacity: 1;
    display: block;
    visibility: visible;
    -webkit-clip-path: inset(0);
    clip-path: inset(0);
  }

  99% {
    opacity: 0;
    visibility: hidden;
    display: block;
    -webkit-clip-path: inset(0 0 0 100%);
    clip-path: inset(0 0 0 100%);
  }

  100% {
    opacity: 0;
    display: none;
    visibility: hidden;
    -webkit-clip-path: inset(0 0 0 100%);
    clip-path: inset(0 0 0 100%);
  }
}

/*↓ipad用縦css*/
@media screen and (min-device-width: 744px) and (max-device-width: 1133px) and (orientation: portrait) {
  .open_anim {
    display: none;
  }
}

/*---------------------------------------------
	ファーストビュー
  ---------------------------------------------*/
.fv {
  width: 100%;
  height: 100vh;
  position: relative;
  z-index: 1;
}

@media all and (max-width: 480px) {
  .fv {
    height: 70vh;
  }
}

.fv:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(155deg, rgb(61, 75, 245) 0%, rgb(0, 213, 248) 100%);
  opacity: 0.4;
  z-index: -1;
}

.fv .scroll a {
  display: inline-block;
  color: #fff;
  letter-spacing: 0.2em;
  position: absolute;
  top: 50%;
  right: 10px;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

@media all and (max-width: 480px) {
  .fv .scroll a {
    display: none;
  }
}

.fv .scroll a:before {
  content: "";
  width: 60px;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.5);
  position: absolute;
  bottom: 8px;
  left: -70px;
  -webkit-animation: scrollAnim 2s ease-in-out infinite;
  animation: scrollAnim 2s ease-in-out infinite;
}

.fv .main_txt {
  width: 730px;
  position: absolute;
  color: #fff;
  bottom: 50px;
  left: 50px;
}

@media all and (max-width: 480px) {
  .fv .main_txt {
    bottom: 30px;
    left: 15px;
    width: 100%;
  }
}

.fv .main_txt h2 {
  line-height: 0.7em;
}

.fv .main_txt h3 {
  letter-spacing: 0.2em;
}

.fv .main_txt h3 span {
  margin-bottom: 10px;
}

@-webkit-keyframes scrollAnim {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
  }

  25% {
    -webkit-clip-path: inset(0);
    clip-path: inset(0);
  }

  50% {
    -webkit-clip-path: inset(0 0 0 100%);
    clip-path: inset(0 0 0 100%);
  }

  100% {
    -webkit-clip-path: inset(0 0 0 100%);
    clip-path: inset(0 0 0 100%);
  }
}

@keyframes scrollAnim {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
  }

  25% {
    -webkit-clip-path: inset(0);
    clip-path: inset(0);
  }

  50% {
    -webkit-clip-path: inset(0 0 0 100%);
    clip-path: inset(0 0 0 100%);
  }

  100% {
    -webkit-clip-path: inset(0 0 0 100%);
    clip-path: inset(0 0 0 100%);
  }
}

/*↓ipad用縦css*/
@media screen and (min-device-width: 744px) and (max-device-width: 1133px) and (orientation: portrait) {
  .fv {
    height: 70vh;
  }
}

video {
  position: absolute;
  z-index: -100;
  -o-object-fit: cover;
  object-fit: cover;
}

@media (aspect-ratio: 16/9),
(min-aspect-ratio: 16/9) {
  video {
    width: 100%;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}

@media (max-aspect-ratio: 16/9) {
  video {
    height: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

.en_tlt {
  position: relative;
  /*&:before {
  	content: "";
  	position: absolute;
  	top: -10px;
  	left: -10px;
  	width: 10px;
  	height: 10px;
  	background-color: $color_lblue;
  	transform: rotate(45deg);

  	@media all and (max-width: 480px) {
  		width: 5px;
  		height: 5px;
  		top: -5px;
  		left: -5px;
  	}
  }
  &:after {
  	content: "";
  	position: absolute;
  	top: -25px;
  	left: -25px;
  	width: 10px;
  	height: 10px;
  	background-color: $color_blue;
  	transform: rotate(45deg);

  	@media all and (max-width: 480px) {
  		width: 5px;
  		height: 5px;
  		top: -12px;
  		left: -12px;
  	}
  }*/
}

/*---------------------------------------------
	ABOUTエリア
  ---------------------------------------------*/
.about_area {
  padding: 50px 0 100px;
  width: 1000px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

@media all and (max-width: 480px) {
  .about_area {
    width: 100%;
    margin: 0 auto;
    padding: 50px 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.about_area:after {
  content: "";
  -webkit-transition: 1s;
  transition: 1s;
  width: 600px;
  height: 600px;
  background: linear-gradient(155deg, rgb(61, 75, 245) 0%, rgb(0, 213, 248) 100%);
  opacity: 0;
  z-index: -1;
  position: absolute;
  top: 50px;
  left: 0;
  right: 0;
  margin: 0 auto;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media all and (max-width: 480px) {
  .about_area:after {
    width: 250px;
    height: 250px;
  }
}

@media all and (max-width: 480px) {
  .about_area h2 {
    width: 90%;
    margin: 0 auto;
    text-align: center;
  }
}

@media all and (max-width: 480px) {
  .about_area h2:before {
    left: 95px;
  }
}

@media all and (max-width: 480px) {
  .about_area h2:after {
    left: 88px;
  }
}

.about_area dl {
  width: 500px;
  margin: 0 auto;
}

@media all and (max-width: 480px) {
  .about_area dl {
    width: 90%;
  }
}

.about_area dl dt {
  letter-spacing: 0.1em;
}

@media all and (max-width: 480px) {
  .about_area dl dt {
    text-align: center;
  }
}

.about_area .about_image1 {
  opacity: 0;
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
  -webkit-transition: 0.5s 1s;
  transition: 0.5s 1s;
  width: 430px;
  height: 282px;
  position: absolute;
  top: -90px;
  right: -50px;
}

@media all and (max-width: 480px) {
  .about_area .about_image1 {
    position: static;
    width: 100%;
    height: auto;
  }
}

.about_area .about_image2 {
  opacity: 0;
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
  -webkit-transition: 0.5s 1s;
  transition: 0.5s 1s;
  width: 373px;
  height: 273px;
  position: absolute;
  top: 260px;
  left: -190px;
}

@media all and (max-width: 480px) {
  .about_area .about_image2 {
    position: static;
    width: 50%;
    margin-left: 3.5%;
    height: auto;
  }
}

.about_area .about_image3 {
  opacity: 0;
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
  -webkit-transition: 0.5s 1s;
  transition: 0.5s 1s;
  width: 254px;
  height: 167px;
  position: absolute;
  top: 310px;
  right: -50px;
}

@media all and (max-width: 480px) {
  .about_area .about_image3 {
    position: static;
    width: 40%;
    margin-right: 3.5%;
    height: auto;
  }
}

.about_area .link_wrap {
  width: 820px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media all and (max-width: 480px) {
  .about_area .link_wrap {
    width: 80%;
    margin: 0 auto;
  }
}

.about_area .link_wrap .link_btn {
  position: relative;
  width: 380px;
  height: 90px;
  background-color: #3D4BF5;
}

@media all and (max-width: 480px) {
  .about_area .link_wrap .link_btn {
    width: 100%;
    height: 50px;
  }
}

.about_area .link_wrap .link_btn:before {
  content: "";
  position: absolute;
}

.about_area .link_wrap .link_btn:nth-of-type(1):before {
  content: "";
  position: absolute;
  width: 32px;
  height: 32px;
  top: 25px;
  left: 20px;
  background: url("../img/top/message_ico.svg") no-repeat;
  background-size: contain;
  z-index: 3;
}

@media all and (max-width: 480px) {
  .about_area .link_wrap .link_btn:nth-of-type(1):before {
    width: 20px;
    height: 20px;
    top: 15px;
  }
}

.about_area .link_wrap .link_btn:nth-of-type(2):before {
  content: "";
  position: absolute;
  width: 28px;
  height: 36px;
  top: 30px;
  left: 20px;
  background: url("../img/top/flag＿ico.svg") no-repeat;
  background-size: contain;
  z-index: 3;
}

@media all and (max-width: 480px) {
  .about_area .link_wrap .link_btn:nth-of-type(2):before {
    width: 18px;
    height: 22px;
    top: 15px;
  }
}

.about_area .link_wrap .link_btn:nth-of-type(3):before {
  content: "";
  position: absolute;
  width: 31px;
  height: 21px;
  top: 35px;
  left: 20px;
  background: url("../img/top/list_ico.svg") no-repeat;
  background-size: contain;
  z-index: 3;
}

@media all and (max-width: 480px) {
  .about_area .link_wrap .link_btn:nth-of-type(3):before {
    width: 20px;
    height: 14px;
    top: 18px;
    left: 18px;
  }
}

.about_area .link_wrap .link_btn:nth-of-type(4):before {
  content: "";
  position: absolute;
  width: 36px;
  height: 32px;
  top: 28px;
  left: 20px;
  background: url("../img/top/bag_ico.svg") no-repeat;
  background-size: contain;
  z-index: 3;
}

@media all and (max-width: 480px) {
  .about_area .link_wrap .link_btn:nth-of-type(4):before {
    width: 24px;
    height: 18px;
    top: 16px;
    left: 18px;
  }
}

.about_area .link_wrap .link_btn a {
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 30px;
  color: #fff;
  text-align: center;
  position: relative;
  z-index: 2;
}

@media all and (max-width: 480px) {
  .about_area .link_wrap .link_btn a {
    padding-top: 15px;
  }
}

.about_area .link_wrap .link_btn a:after {
  content: "";
  width: 5px;
  height: 5px;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  top: 40px;
  right: 20px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media all and (max-width: 480px) {
  .about_area .link_wrap .link_btn a:after {
    top: 22px;
  }
}

.about_area .link_wrap .link_btn a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: right;
  transform-origin: right;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  background-color: #141A5F;
  z-index: -1;
}

.about_area .link_wrap .link_btn a:hover:after {
  right: 15px;
}

.about_area .link_wrap .link_btn a:hover:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: left;
  transform-origin: left;
}

.about_area.isAnimate:after {
  opacity: 0.1;
  width: 700px;
  height: 700px;
}

.about_area.isAnimate .about_image1,
.about_area.isAnimate .about_image2,
.about_area.isAnimate .about_image3 {
  opacity: 1;
  -webkit-clip-path: inset(0);
  clip-path: inset(0);
}

/*---------------------------------------------
	働く環境エリア
  ---------------------------------------------*/
.environment_area {
  text-align: center;
}

.environment_area h2 {
  display: inline-block;
  text-align: center;
  -webkit-transform: translateY(11vw);
  transform: translateY(11vw);
  z-index: 4;
  color: #fff;
  position: relative;
}

@media all and (max-width: 480px) {
  .environment_area h2 {
    -webkit-transform: translateY(20vw);
    transform: translateY(20vw);
  }
}

.environment_area .loop_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 15vw;
  overflow: hidden;
  position: relative;
}

@media all and (max-width: 480px) {
  .environment_area .loop_wrap {
    width: 150%;
    height: 25vw;
  }
}

.environment_area .loop_wrap:before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #3BE1FD;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.25;
  z-index: 2;
}

.environment_area .loop_wrap img {
  width: auto;
  height: 100%;
}

.environment_area .loop_wrap img:first-child {
  -webkit-animation: loop 90s -45s linear infinite;
  animation: loop 90s -45s linear infinite;
}

.environment_area .loop_wrap img:last-child {
  -webkit-animation: loop2 90s linear infinite;
  animation: loop2 90s linear infinite;
}

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

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

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

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

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

  to {
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%);
  }
}

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

  to {
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%);
  }
}

.environment_area .blue_bg {
  width: 100%;
  padding: 100px 0;
  background: url("../img/top/envi_bg.jpg") center top no-repeat;
  background-size: cover;
  position: relative;
}

@media all and (max-width: 480px) {
  .environment_area .blue_bg {
    padding: 50px 0 10px;
  }
}

.environment_area .blue_bg h3 {
  width: 200px;
  background-color: #fff;
  padding: 15px 40px;
  letter-spacing: 0.1em;
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 4;
}

@media all and (max-width: 480px) {
  .environment_area .blue_bg h3 {
    width: 150px;
    padding: 10px 20px;
    top: -15px;
  }
}

.environment_area .blue_bg p {
  color: #fff;
}

@media all and (max-width: 480px) {
  .environment_area .blue_bg p {
    width: 90%;
    margin: 0 auto;
    text-align: left;
  }
}

.environment_area .blue_bg .link_wrap {
  width: 1000px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media all and (max-width: 480px) {
  .environment_area .blue_bg .link_wrap {
    width: 90%;
    display: block;
  }
}

.environment_area .blue_bg .link_wrap .link_btn a {
  opacity: 0;
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
  display: block;
  width: 310px;
  padding: 140px 0 20px;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.5);
  background-color: rgba(10, 67, 156, 0.2);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  -webkit-transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  position: relative;
}

@media all and (max-width: 480px) {
  .environment_area .blue_bg .link_wrap .link_btn a {
    width: 100%;
    padding: 60px 0 10px;
  }
}

.environment_area .blue_bg .link_wrap .link_btn a:after {
  content: "";
  width: 5px;
  height: 5px;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position: absolute;
  top: 48%;
  right: 20px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.environment_area .blue_bg .link_wrap .link_btn a:hover {
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
  background-color: rgba(10, 67, 156, 0.4);
}

.environment_area .blue_bg .link_wrap .link_btn a:hover:after {
  right: 15px;
}

.environment_area .blue_bg .link_wrap .link_btn a.isAnimate {
  opacity: 1;
  -webkit-clip-path: inset(0);
  clip-path: inset(0);
}

.environment_area .blue_bg .link_wrap .link_btn:nth-of-type(1) a:before {
  content: "";
  width: 62px;
  height: 56px;
  background: url("../img/top/envi_ico01.svg") no-repeat;
  background-size: contain;
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

@media all and (max-width: 480px) {
  .environment_area .blue_bg .link_wrap .link_btn:nth-of-type(1) a:before {
    width: 31px;
    height: 28px;
    top: 20px;
  }
}

.environment_area .blue_bg .link_wrap .link_btn:nth-of-type(2) a:before {
  content: "";
  width: 63px;
  height: 63px;
  background: url("../img/top/envi_ico02.svg") no-repeat;
  background-size: contain;
  position: absolute;
  top: 55px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

@media all and (max-width: 480px) {
  .environment_area .blue_bg .link_wrap .link_btn:nth-of-type(2) a:before {
    width: 32px;
    height: 32px;
    top: 20px;
  }
}

.environment_area .blue_bg .link_wrap .link_btn:nth-of-type(3) a:before {
  content: "";
  width: 68px;
  height: 56px;
  background: url("../img/top/envi_ico03.svg") no-repeat;
  background-size: contain;
  position: absolute;
  top: 55px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

@media all and (max-width: 480px) {
  .environment_area .blue_bg .link_wrap .link_btn:nth-of-type(3) a:before {
    width: 34px;
    height: 28px;
    top: 20px;
  }
}

/*↓ipad用縦css*/
@media screen and (min-device-width: 744px) and (max-device-width: 1133px) and (orientation: portrait) {
  .environment_area h2 {
    -webkit-transform: translateY(19vw);
    transform: translateY(19vw);
  }

  .environment_area .loop_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 25vw;
  }
}

/*---------------------------------------------
	社員の声エリア
  ---------------------------------------------*/
.voice_area {
  padding: 180px 0;
  position: relative;
}

@media all and (max-width: 480px) {
  .voice_area {
    padding: 100px 0 50px;
  }
}

.voice_area:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 50vw;
  height: 50vw;
  background: url("../img/common/bg_triangle.svg") no-repeat;
  background-size: contain;
  z-index: -1;
}

.voice_area:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 50vw;
  height: 50vw;
  background: url("../img/common/bg_triangle2.svg") no-repeat;
  background-size: contain;
  z-index: -1;
}

.voice_area .wrap_inner {
  width: 1000px;
  margin: 0 auto;
}

@media all and (max-width: 480px) {
  .voice_area .wrap_inner {
    width: 90%;
  }
}

.voice_area .voice_wrap {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-top: 120px;
}

@media all and (max-width: 480px) {
  .voice_area .voice_wrap {
    padding-top: 0;
  }
}

.voice_area .voice_wrap .staff {
  width: 460px;
  position: relative;
}

@media all and (max-width: 480px) {
  .voice_area .voice_wrap .staff {
    width: 100%;
  }
}

.voice_area .voice_wrap .staff:nth-of-type(odd) {
  margin-top: -60px;
}

@media all and (max-width: 480px) {
  .voice_area .voice_wrap .staff:nth-of-type(odd) {
    margin-top: 0;
  }
}

.voice_area .voice_wrap .staff:nth-of-type(even) {
  margin-top: 80px;
}

@media all and (max-width: 480px) {
  .voice_area .voice_wrap .staff:nth-of-type(even) {
    margin-top: 0;
  }
}

.voice_area .voice_wrap .staff a {
  display: block;
  width: 100%;
  opacity: 0;
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
  -webkit-transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  position: relative;
}

.voice_area .voice_wrap .staff a:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: right;
  transform-origin: right;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  background: linear-gradient(155deg, rgb(61, 75, 245) 0%, rgb(0, 213, 248) 100%);
  opacity: 0.2;
  z-index: 1;
}

.voice_area .voice_wrap .staff a:hover:after {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: left;
  transform-origin: left;
}

.voice_area .voice_wrap .staff a.isAnimate {
  opacity: 1;
  -webkit-clip-path: inset(0);
  clip-path: inset(0);
}

.voice_area .voice_wrap .staff .category {
  position: absolute;
  top: 280px;
  left: -30px;
  color: #fff;
  z-index: 1;
  width: 150px;
  text-align: center;
}

@media all and (max-width: 480px) {
  .voice_area .voice_wrap .staff .category {
    top: 75%;
  }
}

.voice_area .voice_wrap .staff .category:after {
  content: "";
  width: 100px;
  height: 100px;
  background-color: #141A5F;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  bottom: -35px;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: -1;
}

@media all and (max-width: 480px) {
  .voice_area .voice_wrap .staff .category:after {
    width: 80px;
    height: 80px;
    bottom: -25px;
  }
}

.voice_area .voice_wrap .staff .category:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 15px 15px 15px;
  border-color: transparent transparent #3BE1FD transparent;
  position: absolute;
  top: -55px;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 1;
}

@media all and (max-width: 480px) {
  .voice_area .voice_wrap .staff .category:before {
    top: -45px;
  }
}

.voice_area .voice_wrap .staff .name {
  padding: 25px 0 0 130px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 1em;
}

@media all and (max-width: 480px) {
  .voice_area .voice_wrap .staff .name {
    padding: 15px 0 0 100px;
  }
}

.voice_area .voice_wrap .staff .name span {
  display: inline-block;
  font-weight: normal;
  margin-left: 15px;
  padding-left: 15px;
  border-left: 1px solid #B4B6CC;
}

/*---------------------------------------------
	募集要項
  ---------------------------------------------*/
.info_wrap {
  width: 100%;
  padding: 110px 0;
  background-color: #3BE1FD;
  position: relative;
}

@media all and (max-width: 480px) {
  .info_wrap {
    padding: 50px 0 40px;
  }
}

.info_wrap .inner {
  width: 1000px;
  margin: 0 auto;
}

@media all and (max-width: 480px) {
  .info_wrap .inner {
    width: 90%;
  }
}

@media all and (max-width: 480px) {
  .info_wrap h3 {
    text-align: center;
  }
}

.info_wrap .link_wrap {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media all and (max-width: 480px) {
  .info_wrap .link_wrap {
    display: block;
  }
}

.info_wrap .link_wrap .link_btn a {
  position: relative;
  display: block;
  letter-spacing: 0.1em;
  width: 190px;
  height: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  border: 1px solid #fff;
  background-color: rgba(255, 255, 255, 0.2);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  z-index: 1;
}

@media all and (max-width: 480px) {
  .info_wrap .link_wrap .link_btn a {
    width: 100%;
    height: 55px;
  }
}

.info_wrap .link_wrap .link_btn a:before {
  content: "";
  width: 5px;
  height: 5px;
  border-bottom: 2px solid #000;
  border-right: 2px solid #000;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position: absolute;
  top: 48%;
  right: 20px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media all and (max-width: 480px) {
  .info_wrap .link_wrap .link_btn a:before {
    top: 43%;
  }
}

.info_wrap .link_wrap .link_btn a:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: right;
  transform-origin: right;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  background: #fff;
  z-index: -1;
}

.info_wrap .link_wrap .link_btn a:hover:before {
  right: 15px;
}

.info_wrap .link_wrap .link_btn a:hover:after {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: left;
  transform-origin: left;
}

.info_wrap .loop01 {
  width: 100%;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
}

.info_wrap .loop02 {
  width: 100%;
  overflow: hidden;
  position: absolute;
  bottom: -15px;
  left: 0;
}

.info_wrap .loop01__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100vw;
  padding-top: 10px;
  padding-bottom: 10px;
}

.info_wrap .loop01__item,
.info_wrap .loop02__item {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  white-space: nowrap;
  padding-right: 15px;
  padding-left: 15px;
  color: #fff;
  line-height: 1em;
}

@media all and (max-width: 480px) {

  .info_wrap .loop01__item,
  .info_wrap .loop02__item {
    padding: 0 5px;
  }
}

.info_wrap .loop01__item:nth-child(odd) {
  -webkit-animation: loop 50s -25s linear infinite;
  animation: loop 50s -25s linear infinite;
}

.info_wrap .loop01__item:nth-child(even) {
  -webkit-animation: loop2 50s linear infinite;
  animation: loop2 50s linear infinite;
}

.info_wrap .loop02__item:nth-child(odd) {
  -webkit-animation: loop3 50s -25s linear infinite;
  animation: loop3 50s -25s linear infinite;
}

.info_wrap .loop02__item:nth-child(even) {
  -webkit-animation: loop4 50s linear infinite;
  animation: loop4 50s linear infinite;
}

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

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

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

  to {
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%);
  }
}

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

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

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

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

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

  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

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

  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

/*---------------------------------------------
	FAQエリア
  ---------------------------------------------*/
.qa_wrap {
  padding: 100px 0 100px;
  background-color: #f2f8ff;
  text-align: center;
}

@media all and (max-width: 480px) {
  .qa_wrap {
    padding: 50px 0;
  }
}

.qa_wrap .link_btn a {
  margin: 0 auto;
  display: block;
  width: 540px;
  height: 110px;
  position: relative;
  background-color: #fff;
  border: 1px solid #b3b9fb;
  z-index: 1;
}

@media all and (max-width: 480px) {
  .qa_wrap .link_btn a {
    width: 90%;
    height: 65px;
  }
}

.qa_wrap .link_btn a:before {
  content: "";
  width: 5px;
  height: 5px;
  border-bottom: 2px solid #000;
  border-right: 2px solid #000;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position: absolute;
  top: 48%;
  right: 20px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.qa_wrap .link_btn a:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: right;
  transform-origin: right;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  background: #3D4BF5;
  z-index: -1;
}

.qa_wrap .link_btn a:hover {
  color: #fff;
}

.qa_wrap .link_btn a:hover:before {
  right: 15px;
  border-color: #fff;
}

.qa_wrap .link_btn a:hover:after {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: left;
  transform-origin: left;
}