@charset "UTF-8";
/*---------------------------------------
// Adobe font 表示CSS    ※ head内に<script>で表示しているタイプの呼び出しをしている時のみ
---------------------------------------*/
/*
html {
  visibility: hidden;
}
html.wf-active,
html.loading-delay {
  visibility: visible;
}
*/
/* 文字のベース */
p,a,span,h1,h2,h3,h4,time {
  color: #030303;
  overflow-wrap: break-word; /* 文字列が長すぎる場合に折り返し */
  font-family: "zen-maru-gothic", sans-serif;
  font-weight: 500;
  font-style: normal;
}

/*----------------------------------------
font-family
----------------------------------------*/
html .f1 {
  font-family: "poppins", sans-serif;
  font-weight: 500;
  font-style: normal;
}


/*----------------------------------------
font-size
----------------------------------------*/
.f-10 { font-size: 10px; }
.f-11 { font-size: 11px; }
.f-12 { font-size: 12px; }
.f-13 { font-size: 13px; }
.f-14 { font-size: 14px; }
.f-15 { font-size: 15px; }
.f-16 { font-size: 16px; }
.f-17 { font-size: 17px; }
.f-18 { font-size: 18px; }
.f-19 { font-size: 19px; }
.f-20 { font-size: 20px; }
.f-21 { font-size: 21px; }
.f-22 { font-size: 22px; }
.f-23 { font-size: 23px; }
.f-24 { font-size: 24px; }
.f-25 { font-size: 25px; }
.f-26 { font-size: 26px; }
.f-27 { font-size: 27px; }
.f-28 { font-size: 28px; }
.f-29 { font-size: 29px; }
.f-30 { font-size: 30px; }
.f-31 { font-size: 31px; }
.f-32 { font-size: 32px; }
.f-33 { font-size: 33px; }
.f-34 { font-size: 34px; }
.f-35 { font-size: 35px; }
.f-36 { font-size: 36px; }
.f-37 { font-size: 37px; }
.f-38 { font-size: 38px; }
.f-39 { font-size: 39px; }
.f-40 { font-size: 40px; }
.f-41 { font-size: 41px; }
.f-42 { font-size: 42px; }
.f-43 { font-size: 43px; }
.f-44 { font-size: 44px; }
.f-45 { font-size: 45px; }
.f-46 { font-size: 46px; }
.f-47 { font-size: 47px; }
.f-48 { font-size: 48px; }
.f-49 { font-size: 49px; }
.f-50 { font-size: 50px; }
.f-51 { font-size: 51px; }
.f-52 { font-size: 52px; }
.f-53 { font-size: 53px; }
.f-54 { font-size: 54px; }
.f-55 { font-size: 55px; }
.f-56 { font-size: 56px; }
.f-57 { font-size: 57px; }
.f-58 { font-size: 58px; }
.f-59 { font-size: 59px; }
.f-60 { font-size: 60px; }
.f-61 { font-size: 61px; }
.f-62 { font-size: 62px; }
.f-63 { font-size: 63px; }
.f-64 { font-size: 64px; }
.f-65 { font-size: 65px; }
.f-66 { font-size: 66px; }
.f-67 { font-size: 67px; }
.f-68 { font-size: 68px; }
.f-69 { font-size: 69px; }
.f-70 { font-size: 70px; }
.f-71 { font-size: 71px; }
.f-72 { font-size: 72px; }
.f-73 { font-size: 73px; }
.f-74 { font-size: 74px; }
.f-75 { font-size: 75px; }
.f-76 { font-size: 76px; }
.f-77 { font-size: 77px; }
.f-78 { font-size: 78px; }
.f-79 { font-size: 79px; }
.f-80 { font-size: 80px; }

/*-------------------------------
    1536px             --------*/
@media screen and (max-width:1536px) {
  .f-10 { font-size: 10px; }
  .f-11 { font-size: 11px; }
  .f-12 { font-size: 12px; }
  .f-13 { font-size: 13px; }
  .f-14 { font-size: 14px; }
  .f-15 { font-size: 14px; }
  .f-16 { font-size: 14px; }
  .f-17 { font-size: 16px; }
  .f-18 { font-size: 16px; }
  .f-19 { font-size: 18px; }
  .f-20 { font-size: 18px; }
  .f-21 { font-size: 20px; }
  .f-22 { font-size: 20px; }
  .f-23 { font-size: 21px; }
  .f-24 { font-size: 22px; }
  .f-25 { font-size: 22px; }
  .f-26 { font-size: 23px; }
  .f-27 { font-size: 23px; }
  .f-28 { font-size: 24px; }
  .f-29 { font-size: 26px; }
  .f-30 { font-size: 26px; }
  .f-31 { font-size: 28px; }
  .f-32 { font-size: 28px; }
  .f-33 { font-size: 30px; }
  .f-34 { font-size: 30px; }
  .f-35 { font-size: 32px; }
  .f-36 { font-size: 32px; }
  .f-37 { font-size: 32px; }
  .f-38 { font-size: 34px; }
  .f-39 { font-size: 34px; }
  .f-40 { font-size: 34px; }
  .f-41 { font-size: 34px; }
  .f-42 { font-size: 36px; }
  .f-43 { font-size: 36px; }
  .f-44 { font-size: 36px; }
  .f-45 { font-size: 38px; }
  .f-46 { font-size: 38px; }
  .f-47 { font-size: 40px; }
  .f-48 { font-size: 40px; }
  .f-49 { font-size: 42px; }
  .f-50 { font-size: 42px; }
  .f-51 { font-size: 42px; }
  .f-52 { font-size: 42px; }
  .f-53 { font-size: 44px; }
  .f-54 { font-size: 44px; }
  .f-55 { font-size: 48px; }
  .f-56 { font-size: 48px; }
  .f-57 { font-size: 48px; }
  .f-58 { font-size: 48px; }
  .f-59 { font-size: 50px; }
  .f-60 { font-size: 50px; }
  .f-61 { font-size: 50px; }
  .f-62 { font-size: 52px; }
  .f-63 { font-size: 52px; }
  .f-64 { font-size: 54px; }
  .f-65 { font-size: 54px; }
  .f-66 { font-size: 54px; }
  .f-67 { font-size: 54px; }
  .f-68 { font-size: 58px; }
  .f-69 { font-size: 58px; }
  .f-70 { font-size: 60px; }
  .f-71 { font-size: 60px; }
  .f-72 { font-size: 60px; }
  .f-73 { font-size: 60px; }
  .f-74 { font-size: 62px; }
  .f-75 { font-size: 62px; }
  .f-76 { font-size: 62px; }
  .f-77 { font-size: 62px; }
  .f-78 { font-size: 64px; }
  .f-79 { font-size: 64px; }
  .f-80 { font-size: 64px; }
  /*  1536 px end  */
}

/*-------------------------------
  1024px             --------*/
  @media screen and (max-width:1024px) {
    .f-10 { font-size: 10px; }
    .f-11 { font-size: 11px; }
    .f-12 { font-size: 12px; }
    .f-13 { font-size: 13px; }
    .f-14 { font-size: 14px; }
    .f-15 { font-size: 15px; }
    .f-16 { font-size: 15px; }
    .f-17 { font-size: 16px; }
    .f-18 { font-size: 17px; }
    .f-19 { font-size: 17px; }
    .f-20 { font-size: 18px; }
    .f-21 { font-size: 18px; }
    .f-22 { font-size: 18px; }
    .f-23 { font-size: 18px; }
    .f-24 { font-size: 20px; }
    .f-25 { font-size: 20px; }
    .f-26 { font-size: 20px; }
    .f-27 { font-size: 24px; }
    .f-28 { font-size: 24px; }
    .f-29 { font-size: 24px; }
    .f-30 { font-size: 24px; }
    .f-31 { font-size: 26px; }
    .f-32 { font-size: 26px; }
    .f-33 { font-size: 28px; }
    .f-34 { font-size: 28px; }
    .f-35 { font-size: 28px; }
    .f-36 { font-size: 30px; }
    .f-37 { font-size: 30px; }
    .f-38 { font-size: 32px; }
    .f-39 { font-size: 32px; }
    .f-40 { font-size: 32px; }
    .f-41 { font-size: 32px; }
    .f-42 { font-size: 34px; }
    .f-43 { font-size: 34px; }
    .f-44 { font-size: 34px; }
    .f-45 { font-size: 36px; }
    .f-46 { font-size: 36px; }
    .f-47 { font-size: 38px; }
    .f-48 { font-size: 38px; }
    .f-49 { font-size: 40px; }
    .f-50 { font-size: 40px; }
    .f-51 { font-size: 40px; }
    .f-52 { font-size: 40px; }
    .f-53 { font-size: 42px; }
    .f-54 { font-size: 42px; }
    .f-55 { font-size: 44px; }
    .f-56 { font-size: 44px; }
    .f-57 { font-size: 44px; }
    .f-58 { font-size: 44px; }
    .f-59 { font-size: 46px; }
    .f-60 { font-size: 46px; }
    .f-61 { font-size: 46px; }
    .f-62 { font-size: 48px; }
    .f-63 { font-size: 48px; }
    .f-64 { font-size: 50px; }
    .f-65 { font-size: 50px; }
    .f-66 { font-size: 50px; }
    .f-67 { font-size: 50px; }
    .f-68 { font-size: 54px; }
    .f-69 { font-size: 54px; }
    .f-70 { font-size: 54px; }
    .f-71 { font-size: 54px; }
    .f-72 { font-size: 54px; }
    .f-73 { font-size: 54px; }
    .f-74 { font-size: 60px; }
    .f-75 { font-size: 60px; }
    .f-76 { font-size: 62px; }
    .f-77 { font-size: 62px; }
    .f-78 { font-size: 62px; }
    .f-79 { font-size: 62px; }
    .f-80 { font-size: 62px; }
      /*  1024 px end  */
  }

/*-------------------------------
    414px             --------*/
@media screen and (max-width: 414px) {
.sp-f-10 { font-size: 2.5641vw !important; } /* 10 ÷ 3.9 */
.sp-f-11 { font-size: 2.8205vw !important; }
.sp-f-12 { font-size: 3.0769vw !important; }
.sp-f-13 { font-size: 3.3333vw !important; }
.sp-f-14,
.about-area .group-3 ul li .text-set .flex .link-btn p { font-size: 3.5897vw !important; }
.sp-f-15,
.btn-type-1 p { font-size: 3.8462vw !important; }
.sp-f-16,
.about-area .group-3 ul li .text-set p { font-size: 4.1026vw !important; }
.sp-f-17 { font-size: 4.3590vw !important; }
.sp-f-18 { font-size: 4.6154vw !important; }
.sp-f-19 { font-size: 4.8718vw !important; }
.sp-f-20,
.about-area .group-3 ul li .name p,
.about-area .group-3 ul li .text-set h3 { font-size: 5.1282vw !important; }
.sp-f-21 { font-size: 5.3846vw !important; }
.sp-f-22 { font-size: 5.6410vw !important; }
.sp-f-23 { font-size: 5.8974vw !important; }
.sp-f-24 { font-size: 6.1538vw !important; }
.sp-f-25 { font-size: 6.4103vw !important; }
.sp-f-26 { font-size: 6.6667vw !important; }
.sp-f-27 { font-size: 6.9231vw !important; }
.sp-f-28 { font-size: 7.1795vw !important; }
.sp-f-29 { font-size: 7.4359vw !important; }
.sp-f-30 { font-size: 7.6923vw !important; }
.sp-f-31 { font-size: 7.9487vw !important; }
.sp-f-32 { font-size: 8.2051vw !important; }
.sp-f-33 { font-size: 8.4615vw !important; }
.sp-f-34 { font-size: 8.7179vw !important; }
.sp-f-35 { font-size: 8.9744vw !important; }
.sp-f-36 { font-size: 9.2308vw !important; }
.sp-f-37 { font-size: 9.4872vw !important; }
.sp-f-38 { font-size: 9.7436vw !important; }
.sp-f-39 { font-size: 10.0000vw !important; }
.sp-f-40 { font-size: 10.2564vw !important; }

  /*  414 px end  */
}
/*----------------------------------------
font-line
----------------------------------------*/
.f-line-20 { line-height: 20px; }
.f-line-21 { line-height: 21px; }
.f-line-22 { line-height: 22px; }
.f-line-23 { line-height: 23px; }
.f-line-24 { line-height: 24px; }
.f-line-25 { line-height: 25px; }
.f-line-26 { line-height: 26px; }
.f-line-27 { line-height: 27px; }
.f-line-28 { line-height: 28px; }
.f-line-29 { line-height: 29px; }
.f-line-30 { line-height: 30px; }
.f-line-31 { line-height: 31px; }
.f-line-32 { line-height: 32px; }
.f-line-33 { line-height: 33px; }
.f-line-34 { line-height: 34px; }
.f-line-35 { line-height: 35px; }
.f-line-36 { line-height: 36px; }
.f-line-37 { line-height: 37px; }
.f-line-38 { line-height: 38px; }
.f-line-39 { line-height: 39px; }
.f-line-40 { line-height: 40px; }
.f-line-41 { line-height: 41px; }
.f-line-42 { line-height: 42px; }
.f-line-43 { line-height: 43px; }
.f-line-44 { line-height: 44px; }
.f-line-45 { line-height: 45px; }
.f-line-46 { line-height: 46px; }
.f-line-47 { line-height: 47px; }
.f-line-48 { line-height: 48px; }
.f-line-49 { line-height: 49px; }
.f-line-50 { line-height: 50px; }
.f-line-51 { line-height: 51px; }
.f-line-52 { line-height: 52px; }
.f-line-53 { line-height: 53px; }
.f-line-54 { line-height: 54px; }
.f-line-55 { line-height: 55px; }
.f-line-56 { line-height: 56px; }
.f-line-57 { line-height: 57px; }
.f-line-58 { line-height: 58px; }
.f-line-59 { line-height: 59px; }
.f-line-60 { line-height: 60px; }
.f-line-61 { line-height: 61px; }
.f-line-62 { line-height: 62px; }
.f-line-63 { line-height: 63px; }
.f-line-64 { line-height: 64px; }
.f-line-65 { line-height: 65px; }
.f-line-66 { line-height: 66px; }
.f-line-67 { line-height: 67px; }
.f-line-68 { line-height: 68px; }
.f-line-69 { line-height: 69px; }
.f-line-70 { line-height: 70px; }
.f-line-71 { line-height: 71px; }
.f-line-72 { line-height: 72px; }
.f-line-73 { line-height: 73px; }
.f-line-74 { line-height: 74px; }
.f-line-75 { line-height: 75px; }
.f-line-76 { line-height: 76px; }
.f-line-77 { line-height: 77px; }
.f-line-78 { line-height: 78px; }
.f-line-79 { line-height: 79px; }
.f-line-80 { line-height: 80px; }
.f-line-81 { line-height: 81px; }
.f-line-82 { line-height: 82px; }
.f-line-83 { line-height: 83px; }
.f-line-84 { line-height: 84px; }
.f-line-85 { line-height: 85px; }
.f-line-86 { line-height: 86px; }
.f-line-87 { line-height: 87px; }
.f-line-88 { line-height: 88px; }
.f-line-89 { line-height: 89px; }
.f-line-90 { line-height: 90px; }
.f-line-91 { line-height: 91px; }
.f-line-92 { line-height: 92px; }
.f-line-93 { line-height: 93px; }
.f-line-94 { line-height: 94px; }
.f-line-95 { line-height: 95px; }
.f-line-96 { line-height: 96px; }
.f-line-97 { line-height: 97px; }
.f-line-98 { line-height: 98px; }
.f-line-99 { line-height: 99px; }
.f-line-100 { line-height: 100px; }
@media screen and (max-width: 1024px) {
  .f-line-20 { line-height: 20px; }
  .f-line-21 { line-height: 21px; }
  .f-line-22 { line-height: 22px; }
  .f-line-23 { line-height: 23px; }
  .f-line-24 { line-height: 24px; }
  .f-line-25 { line-height: 25px; }
  .f-line-26 { line-height: 26px; }
  .f-line-27 { line-height: 27px; }
  .f-line-28 { line-height: 28px; }
  .f-line-29 { line-height: 28px; }
  .f-line-30 { line-height: 28px; }
  .f-line-31 { line-height: 28px; }
  .f-line-32 { line-height: 28px; }
  .f-line-33 { line-height: 32px; }
  .f-line-34 { line-height: 32px; }
  .f-line-35 { line-height: 32px; }
  .f-line-36 { line-height: 32px; }
  .f-line-37 { line-height: 32px; }
  .f-line-38 { line-height: 32px; }
  .f-line-39 { line-height: 36px; }
  .f-line-40 { line-height: 36px; }
  .f-line-41 { line-height: 36px; }
  .f-line-42 { line-height: 36px; }
  .f-line-43 { line-height: 36px; }
  .f-line-44 { line-height: 36px; }
  .f-line-45 { line-height: 42px; }
  .f-line-46 { line-height: 42px; }
  .f-line-47 { line-height: 42px; }
  .f-line-48 { line-height: 42px; }
  .f-line-49 { line-height: 42px; }
  .f-line-50 { line-height: 42px; }
  .f-line-51 { line-height: 42px; }
  .f-line-52 { line-height: 42px; }
  .f-line-53 { line-height: 42px; }
  .f-line-54 { line-height: 42px; }
  .f-line-55 { line-height: 48px; }
  .f-line-56 { line-height: 48px; }
  .f-line-57 { line-height: 48px; }
  .f-line-58 { line-height: 48px; }
  .f-line-59 { line-height: 48px; }
  .f-line-60 { line-height: 48px; }
  .f-line-61 { line-height: 48px; }
  .f-line-62 { line-height: 48px; }
  .f-line-63 { line-height: 48px; }
  .f-line-64 { line-height: 48px; }
  .f-line-65 { line-height: 48px; }
  .f-line-66 { line-height: 48px; }
  .f-line-67 { line-height: 48px; }
  .f-line-68 { line-height: 48px; }
  .f-line-69 { line-height: 60px; }
  .f-line-70 { line-height: 60px; }
  .f-line-71 { line-height: 60px; }
  .f-line-72 { line-height: 60px; }
  .f-line-73 { line-height: 60px; }
  .f-line-74 { line-height: 60px; }
  .f-line-75 { line-height: 60px; }
  .f-line-76 { line-height: 60px; }
  .f-line-77 { line-height: 60px; }
  .f-line-78 { line-height: 60px; }
  .f-line-79 { line-height: 60px; }
  .f-line-80 { line-height: 60px; }
  .f-line-81 { line-height: 72px; }
  .f-line-82 { line-height: 72px; }
  .f-line-83 { line-height: 72px; }
  .f-line-84 { line-height: 72px; }
  .f-line-85 { line-height: 72px; }
  .f-line-86 { line-height: 72px; }
  .f-line-87 { line-height: 72px; }
  .f-line-88 { line-height: 72px; }
  .f-line-89 { line-height: 72px; }
  .f-line-90 { line-height: 72px; }
  .f-line-91 { line-height: 72px; }
  .f-line-92 { line-height: 72px; }
  .f-line-93 { line-height: 86px; }
  .f-line-94 { line-height: 86px; }
  .f-line-95 { line-height: 86px; }
  .f-line-96 { line-height: 86px; }
  .f-line-97 { line-height: 86px; }
  .f-line-98 { line-height: 86px; }
  .f-line-99 { line-height: 86px; }
  .f-line-100 { line-height: 86px; }
  }
@media screen and (max-width: 414px) {
  .sp-f-line-12 { line-height: 3.08vw !important; }
  .sp-f-line-13 { line-height: 3.33vw !important; }
  .sp-f-line-14 { line-height: 3.59vw !important; }
  .sp-f-line-15 { line-height: 3.85vw !important; }
  .sp-f-line-16 { line-height: 4.10vw !important; }
  .sp-f-line-17 { line-height: 4.36vw !important; }
  .sp-f-line-18 { line-height: 4.62vw !important; }
  .sp-f-line-19 { line-height: 4.87vw !important; }
  .sp-f-line-20 { line-height: 5.13vw !important; }
  .sp-f-line-21 { line-height: 5.38vw !important; }
  .sp-f-line-22 { line-height: 5.64vw !important; }
  .sp-f-line-23 { line-height: 5.90vw !important; }
  .sp-f-line-24 { line-height: 6.15vw !important; }
  .sp-f-line-25,
  .sp-f-16, .about-area .group-3 ul li .text-set p { line-height: 6.41vw !important; }
  .sp-f-line-26 { line-height: 6.67vw !important; }
  .sp-f-line-27 { line-height: 6.92vw !important; }
  .sp-f-line-28 { line-height: 7.18vw !important; }
  .sp-f-line-29 { line-height: 7.44vw !important; }
  .sp-f-line-30 { line-height: 7.69vw !important; }
  .sp-f-line-31 { line-height: 7.95vw !important; }
  .sp-f-line-32 { line-height: 8.21vw !important; }
  .sp-f-line-33 { line-height: 8.46vw !important; }
  .sp-f-line-34 { line-height: 8.72vw !important; }
  .sp-f-line-35 { line-height: 8.97vw !important; }
  .sp-f-line-36 { line-height: 9.23vw !important; }
  .sp-f-line-37 { line-height: 9.49vw !important; }
  .sp-f-line-38 { line-height: 9.74vw !important; }
  .sp-f-line-39 { line-height: 10.00vw !important; }
  .sp-f-line-40 { line-height: 10.26vw !important; }
  .sp-f-line-41 { line-height: 10.51vw !important; }
  .sp-f-line-42 { line-height: 10.77vw !important; }
  .sp-f-line-43 { line-height: 11.03vw !important; }
  .sp-f-line-44 { line-height: 11.28vw !important; }
  .sp-f-line-45 { line-height: 11.54vw !important; }
  .sp-f-line-46 { line-height: 11.79vw !important; }
  .sp-f-line-47 { line-height: 12.05vw !important; }
  .sp-f-line-48 { line-height: 12.31vw !important; }
  .sp-f-line-49 { line-height: 12.56vw !important; }
  .sp-f-line-50 { line-height: 12.82vw !important; }
  .sp-f-line-51 { line-height: 13.08vw !important; }
  .sp-f-line-52 { line-height: 13.33vw !important; }
  .sp-f-line-53 { line-height: 13.59vw !important; }
  .sp-f-line-54 { line-height: 13.85vw !important; }
  .sp-f-line-55 { line-height: 14.10vw !important; }
  .sp-f-line-56 { line-height: 14.36vw !important; }
  .sp-f-line-57 { line-height: 14.62vw !important; }
  .sp-f-line-58 { line-height: 14.87vw !important; }
  .sp-f-line-59 { line-height: 15.13vw !important; }
  .sp-f-line-60 { line-height: 15.38vw !important; }
  .sp-f-line-61 { line-height: 15.64vw !important; }
  .sp-f-line-62 { line-height: 15.90vw !important; }
  .sp-f-line-63 { line-height: 16.15vw !important; }
  .sp-f-line-64 { line-height: 16.41vw !important; }
  .sp-f-line-65 { line-height: 16.67vw !important; }
  .sp-f-line-66 { line-height: 16.92vw !important; }
  .sp-f-line-67 { line-height: 17.18vw !important; }
  .sp-f-line-68 { line-height: 17.44vw !important; }
  .sp-f-line-69 { line-height: 17.69vw !important; }
  .sp-f-line-70 { line-height: 17.95vw !important; }
  .sp-f-line-71 { line-height: 18.21vw !important; }
  .sp-f-line-72 { line-height: 18.46vw !important; }
  .sp-f-line-73 { line-height: 18.72vw !important; }
  .sp-f-line-74 { line-height: 18.97vw !important; }
  .sp-f-line-75 { line-height: 19.23vw !important; }
  .sp-f-line-76 { line-height: 19.49vw !important; }
  .sp-f-line-77 { line-height: 19.74vw !important; }
  .sp-f-line-78 { line-height: 20.00vw !important; }
  .sp-f-line-79 { line-height: 20.26vw !important; }
  .sp-f-line-80 { line-height: 20.51vw !important; }
  .sp-f-line-81 { line-height: 20.77vw !important; }
  .sp-f-line-82 { line-height: 21.03vw !important; }
  .sp-f-line-83 { line-height: 21.28vw !important; }
  .sp-f-line-84 { line-height: 21.54vw !important; }
  .sp-f-line-85 { line-height: 21.79vw !important; }
  .sp-f-line-86 { line-height: 22.05vw !important; }
  .sp-f-line-87 { line-height: 22.31vw !important; }
  .sp-f-line-88 { line-height: 22.56vw !important; }
  .sp-f-line-89 { line-height: 22.82vw !important; }
  .sp-f-line-90 { line-height: 23.08vw !important; }
  .sp-f-line-91 { line-height: 23.33vw !important; }
  .sp-f-line-92 { line-height: 23.59vw !important; }
  .sp-f-line-93 { line-height: 23.85vw !important; }
  .sp-f-line-94 { line-height: 24.10vw !important; }
  .sp-f-line-95 { line-height: 24.36vw !important; }
  .sp-f-line-96 { line-height: 24.62vw !important; }
  .sp-f-line-97 { line-height: 24.87vw !important; }
  .sp-f-line-98 { line-height: 25.13vw !important; }
  .sp-f-line-99 { line-height: 25.38vw !important; }
  .sp-f-line-100 { line-height: 25.64vw !important; }
}

/*----------------------------------------
font-letter
----------------------------------------*/
.f-letter--50  { letter-spacing: -0.05em; }
.f-letter--40  { letter-spacing: -0.04em; }
.f-letter--30  { letter-spacing: -0.03em; }
.f-letter--20  { letter-spacing: -0.02em; }
.f-letter--10  { letter-spacing: -0.01em; }
.f-letter-10   { letter-spacing: 0.01em; }
.f-letter-20   { letter-spacing: 0.02em; }
.f-letter-30   { letter-spacing: 0.03em; }
.f-letter-40   { letter-spacing: 0.04em; }
.f-letter-50   { letter-spacing: 0.05em; }
.f-letter-60   { letter-spacing: 0.06em; }
.f-letter-70   { letter-spacing: 0.07em; }
.f-letter-80   { letter-spacing: 0.08em; }
.f-letter-90   { letter-spacing: 0.09em; }
.f-letter-100  { letter-spacing: 0.1em; }
.f-letter-110  { letter-spacing: 0.11em; }
.f-letter-120  { letter-spacing: 0.12em; }
.f-letter-130  { letter-spacing: 0.13em; }
.f-letter-140  { letter-spacing: 0.14em; }
.f-letter-150  { letter-spacing: 0.15em; }
.f-letter-160  { letter-spacing: 0.16em; }
.f-letter-170  { letter-spacing: 0.17em; }
.f-letter-180  { letter-spacing: 0.18em; }
.f-letter-190  { letter-spacing: 0.19em; }
.f-letter-200  { letter-spacing: 0.2em; }


@media screen and (max-width: 414px) {
.sp-f-letter--50  { letter-spacing: -0.1282vw; }  /* XD -50 = -0.5px */
.sp-f-letter--40  { letter-spacing: -0.1026vw; }  /* XD -40 = -0.4px */
.sp-f-letter--30  { letter-spacing: -0.0769vw; }  /* XD -30 = -0.3px */
.sp-f-letter--20  { letter-spacing: -0.0513vw; }  /* XD -20 = -0.2px */
.sp-f-letter--10  { letter-spacing: -0.0256vw; }  /* XD -10 = -0.1px */
.sp-f-letter-10   { letter-spacing: 0.0256vw; }   /* XD +10 = 0.1px */
.sp-f-letter-20   { letter-spacing: 0.0513vw; }   /* XD +20 = 0.2px */
.sp-f-letter-30   { letter-spacing: 0.0769vw; }   /* XD +30 = 0.3px */
.sp-f-letter-40   { letter-spacing: 0.1026vw; }   /* XD +40 = 0.4px */
.sp-f-letter-50   { letter-spacing: 0.1282vw; }   /* XD +50 = 0.5px */
.sp-f-letter-60   { letter-spacing: 0.1538vw; }   /* XD +60 = 0.6px */
.sp-f-letter-70   { letter-spacing: 0.1795vw; }   /* XD +70 = 0.7px */
.sp-f-letter-80   { letter-spacing: 0.2051vw; }   /* XD +80 = 0.8px */
.sp-f-letter-90   { letter-spacing: 0.2308vw; }   /* XD +90 = 0.9px */
.sp-f-letter-100  { letter-spacing: 0.2564vw; }   /* XD +100 = 1.0px */
.sp-f-letter-110  { letter-spacing: 0.2821vw; }   /* XD +110 = 1.1px */
.sp-f-letter-120  { letter-spacing: 0.3077vw; }   /* XD +120 = 1.2px */
.sp-f-letter-130  { letter-spacing: 0.3333vw; }   /* XD +130 = 1.3px */
.sp-f-letter-140  { letter-spacing: 0.3590vw; }   /* XD +140 = 1.4px */
.sp-f-letter-150  { letter-spacing: 0.3846vw; }   /* XD +150 = 1.5px */
.sp-f-letter-160  { letter-spacing: 0.4103vw; }   /* XD +160 = 1.6px */
.sp-f-letter-170  { letter-spacing: 0.4359vw; }   /* XD +170 = 1.7px */
.sp-f-letter-180  { letter-spacing: 0.4615vw; }   /* XD +180 = 1.8px */
.sp-f-letter-190  { letter-spacing: 0.4872vw; }   /* XD +190 = 1.9px */
.sp-f-letter-200  { letter-spacing: 0.5128vw; }   /* XD +200 = 2.0px */
}

/*----------------------------------------
font-weight
----------------------------------------*/
.f-w-light {
  font-weight:100;
}
.f-w-400 {
  font-weight: 400;
}
.f-w-500 {
  font-weight: 500;
}
.f-w-600 {
  font-weight: 600;
}
.f-w-bold {
  font-weight: bold;
}


/*-------------------------------------------------------------
レイアウト
-------------------------------------------------------------*/
a {
  text-decoration: none;
  display: block;
}
img {
  width: 100%;
}
html p {
  margin-bottom: 0;
}
html ul {
  padding-left: 0;
}
html body .wrapper {
  width: 88vw;
  max-width: 1630px;
  margin-right: auto;
  margin-left: auto;
}
html body .wrapper-2 {
  width: 88vw;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}
html body .wrapper-3 {
  width: 88vw;
  max-width: 1024px;
  margin-right: auto;
  margin-left: auto;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.text-left {
  text-align: left;
}
.center {
  margin-right: auto;
  margin-left: auto;
  display: block;
}
.right {
  margin-left: auto;
  display: block;
}
.left {
  margin-right: auto;
  display: block;
}

.flex {
  display: flex;
  align-items: center;
}
/* 2グリット */
.flex-box {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.flex-box .block-left {
  width: 48%;
}
.flex-box .block-right {
  width: 48%;
}


/* 3グリット   ( ２種類あり ) */
ul.flex-box-2,  /*sp 1列*/
ul.flex-box-2-type2  /*sp ２列*/ {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
ul.flex-box-2 li,
ul.flex-box-2-type2 li {
  width: 31%;
  margin-bottom: 6%;
}
ul.flex-box-2 li:nth-of-type(2),
ul.flex-box-2 li:nth-of-type(5),
ul.flex-box-2 li:nth-of-type(8),
ul.flex-box-2 li:nth-of-type(11),
ul.flex-box-2-type2 li:nth-of-type(2),
ul.flex-box-2-type2 li:nth-of-type(5),
ul.flex-box-2-type2 li:nth-of-type(8),
ul.flex-box-2-type2 li:nth-of-type(11) {
  margin-right: 3.5%;
  margin-left: 3.5%;
}

.btn-type-1 {
  display: block;
  max-width: 360px;
  max-height: 102px;
width: 16.7vw;
    height: 4.85vw;
  border-radius: 999px;
  position: relative;
  background-color: #030303;
  transition: all 0.4s;
}
.btn-type-1 p {
  width: fit-content;
  position: absolute;
top: 52%;
    left: 55.5%;
  transform: translate(-50%,-50%);
  color: #fff;
  white-space: nowrap;
}
.btn-type-1 img {
  max-width: 30px;
  width: 100%;
  position: absolute;
  top: 49%;
  left: 7%;
  transform: translate(0%,-50%);
}
.img-mask {
  width: 100%;
  position: relative;
  overflow: hidden;
}
.img-mask::after {
  content: "";
  width: 100%;
  display: block;
  padding-top: 66.8%; /*  3:2の比率  */
}
.img-mask img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top:0;
  left: 0;
  object-position: center;
  transition: all 0.4s;
}

@media screen and (max-width: 1024px) {
  html body .wrapper,
  html body .wrapper-2,
  html body .wrapper-3 {
    max-width: 560px;
  }

  /* 2グリット */
  .flex-box {
    flex-direction: column;
    width: 100%;
    max-width: 560px;
    margin-right: auto;
    margin-left: auto;
  }
  .flex-box .block-left {
    width: 100% !important;
    margin-bottom: 6%;
  }
  .flex-box .block-right {
    width: 100% !important;
  }
  /* 3グリット */
  /* １列 */
  ul.flex-box-2 li {
    width: 100%;
    margin-bottom: 6%;
  }
  ul.flex-box-2 li:nth-of-type(2),
  ul.flex-box-2 li:nth-of-type(5),
  ul.flex-box-2 li:nth-of-type(8),
  ul.flex-box-2 li:nth-of-type(11),
  ul.flex-box-2-type2 li:nth-of-type(2),
  ul.flex-box-2-type2 li:nth-of-type(5),
  ul.flex-box-2-type2 li:nth-of-type(8),
  ul.flex-box-2-type2 li:nth-of-type(11) {
    margin-right: 0% !important;
    margin-left: 0% !important;
  }
  /* ２列 */
  ul.flex-box-2-type2 {
    justify-content: space-between;
  }
  ul.flex-box-2-type2 li {
    width: 48% !important;
  }
}

/*------------------
 スペース表
------------------*/
/* padding/margin  -  type-1 */
.pt-type-1 {
  padding-top: 8vw;
}
.pb-type-1 {
  padding-bottom: 8vw;
}
.mt-type-1 {
  margin-top: 8vw;
}
.mb-type-1 {
  margin-bottom: 8vw;
}

/* padding/margin  -  type-2 */
.pt-type-2 {
  padding-top: 6.4vw;
}
.pb-type-2 {
  padding-bottom: 6.4vw;
}
.mt-type-2 {
  margin-top: 6.4vw;
}
.mb-type-2 {
  margin-bottom: 6.4vw;
}

/* padding/margin  -  type-3 */
.pt-type-3 {
  padding-top: 5.8vw;
}
.pb-type-3 {
  padding-bottom: 5.8vw;
}
.mt-type-3 {
  margin-top: 5.8vw;
}
.mb-type-3 {
  margin-bottom: 5.8vw;
}

/* padding/margin  -  type-4 */
.pt-type-4 {
  padding-top: 4.2vw;
}
.pb-type-4 {
  padding-bottom: 4.2vw;
}
.mt-type-4 {
  margin-top: 4.2vw;
}
.mb-type-4 {
  margin-bottom: 4.2vw;
}

/* padding/margin  -  type-5 */
.pt-type-5 {
  padding-top: 1.7vw;
}
.pb-type-5 {
  padding-bottom: 1.7vw;
}
.mt-type-5 {
  margin-top: 1.7vw;
}
.mb-type-5 {
  margin-bottom: 1.7vw;
}

@media screen and (max-width: 1024px) {
  /* padding/margin  -  type-1 */
.pt-type-1 {
  padding-top: 9.6vw;
}
.pb-type-1 {
  padding-bottom: 9.6vw;
}
.mt-type-1 {
  margin-top: 9.6vw;
}
.mb-type-1 {
  margin-bottom: 9.6vw;
}

/* padding/margin  -  type-2 */
.pt-type-2 {
  padding-top: 8vw;
}
.pb-type-2 {
  padding-bottom: 8vw;
}
.mt-type-2 {
  margin-top: 8vw;
}
.mb-type-2 {
  margin-bottom:8vw;
}

/* padding/margin  -  type-3 */
.pt-type-3 {
  padding-top: 5.6vw;
}

.pb-type-3 {
  padding-bottom: 5.6vw;
}

.mt-type-3 {
  margin-top: 5.6vw;
}

.mb-type-3 {
  margin-bottom: 5.6vw;
}

/* padding/margin  -  type-4 */
.pt-type-4 {
  padding-top: 3.6vw;
}

.pb-type-4 {
  padding-bottom: 3.6vw;
}

.mt-type-4 {
  margin-top: 3.6vw;
}

.mb-type-4 {
  margin-bottom: 3.6vw;
}

/* padding/margin  -  type-5 */
.pt-type-5 {
  padding-top: 2.2vw;
}

.pb-type-5 {
  padding-bottom: 2.2vw;
}

.mt-type-5 {
  margin-top: 2.2vw;
}

.mb-type-5 {
  margin-bottom: 2.2vw;
}
}

@media screen and (max-width: 560px) {
  /* padding/margin  -  type-1 */
.pt-type-1 {
  padding-top: 20.6vw;
}
.pb-type-1 {
  padding-bottom: 20.6vw;
}
.mt-type-1 {
  margin-top: 20.6vw;
}
.mb-type-1 {
  margin-bottom: 20.6vw;
}

/* padding/margin  -  type-2 */
.pt-type-2 {
  padding-top: 16vw;
}
.pb-type-2 {
  padding-bottom: 16vw;
}
.mt-type-2 {
  margin-top: 16vw;
}
.mb-type-2 {
  margin-bottom:16vw;
}

/* padding/margin  -  type-3 */
.pt-type-3 {
  padding-top: 12vw;
}

.pb-type-3 {
  padding-bottom: 12vw;
}

.mt-type-3 {
  margin-top: 12vw;
}

.mb-type-3 {
  margin-bottom: 12vw;
}

/* padding/margin  -  type-4 */
.pt-type-4 {
  padding-top: 9.6vw;
}

.pb-type-4 {
  padding-bottom: 9.6vw;
}

.mt-type-4 {
  margin-top: 9.6vw;
}

.mb-type-4 {
  margin-bottom: 9.6vw;
}

/* padding/margin  -  type-5 */
.pt-type-5 {
  padding-top: 6.4vw;
}

.pb-type-5 {
  padding-bottom: 6.4vw;
}

.mt-type-5 {
  margin-top: 6.4vw;
}

.mb-type-5 {
  margin-bottom: 6.4vw;
}
}

/*------------------------------------------------------------
お問い合わせ
------------------------------------------------------------*/
/* 入力 */
.page-main-contact .text-1 {
  margin: 6% 0;
}
.wp_contact-area {
  margin-right: auto;
  margin-left: auto;
  max-width: 800px;
  width: 88vw;
}
.wp_contact-area li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 4%;
}
.wp_contact-area li:last-of-type {
  margin-bottom: 0;
}
.wp_contact-area li article {
  width: 30%;
}
.wp_contact-area li aside {
  width: 65%;
}
.wp_contact-area li .button,
.wp_contact-area li input,
.wp_contact-area li optgroup,
.wp_contact-area li select,
.wp_contact-area li textarea {
  width: 100%;
  padding: 15px 16px;
  background-color: #F4F4F4;
}
.wp-con-btn-area {
  margin-top: 12%;
  margin-bottom: 8%;
}
.wp-con-btn-area input {
  margin-right: auto;
  margin-left: auto;
  display: block;
  background-color: #fff;
  padding: 4px 24px;
  transition: all 0.4s;
}
.wp_contact-area .radio-mode input {
  width: fit-content;
}
.wp_contact-area .radio-mode aside span {
  margin-right: 12px;
  margin-left: 0 !important;
}
.wp_contact-area .red {
  font-size: 12px;
  color: #e20e0e;
  padding-left: 12px;
}
.wp_contact-area li.name-mode input {
  max-width: 358px;
}
.wp_contact-area li.tell-mode input {
  max-width: 262px;
}
.wp_contact-area li.address-mode input {
  max-width: 500px;
}
.wp_contact-area li.img-mode aside {
  position: relative;
}
.wp_contact-area li.img-mode aside span {
  position: absolute;
  bottom: -4px;
  left: 0;
  transform: translateY(-100%);
}
.contact-group-1 {
  margin-top: 8%;
  width: 100%;
  max-width: 720px;
  margin-right: auto;
  margin-left: auto;
}
.contact-group-1 img {
  display: block;
  width: 100%;
}

/* 確認 */
.wp_contact-area-confirmation .wp-con-btn-area {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.mw_wp_form.mw_wp_form_confirm span.red {
  display: none;
}

@media screen and (max-width: 768px) {
  .wp_contact-area li {
    flex-direction: column;
  }
  .wp_contact-area li article,
  .wp_contact-area li aside {
    width: 100%;
  }
  .wp_contact-area li article {
    margin-bottom: 1.2%;
  }
}
@media screen and (max-width: 414px) {
  .wp_contact-area li article  {
    font-size: 3.847vw;
    line-height: 7.2vw;
  }
  .wp_contact-area li aside {
    font-size: 3.847vw;
    line-height: 7.2vw;
  }
  .wp_contact-area li .button, .wp_contact-area li input, .wp_contact-area li optgroup, .wp_contact-area li select, .wp_contact-area li textarea {
    padding: 13.5px 16px;
  }
  .wp_contact-area li.name-item input {
    max-width: 270px;
  }
  .wp_contact-area li.tell-item input {
    max-width: 220px;
  }
}
.contact-send {
  width: 100vw;
  height: 100vw;
  max-width: 320px;
  max-height: 64px;
  border-radius: 999px;
  background-color: #004A86;
  position: relative;
  margin-top: 6%;
}
.contact-send input {
  width: 100%;
  height: 100%;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  text-align: center;
}

/*---------------------------------------
header.php
---------------------------------------*/
header.pc-header {
  position: fixed;
  top: 0%;
  left: 0%;
  z-index: 999999;
  width: 100vw;
  border-bottom: 1px solid #707070;
    background-color: #ffffffc0;
}
header.pc-header nav {
  width: 84.5%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1% 0;
}
header.pc-header nav .logo {
  width: 30%;
  max-width: 512px
}
header.pc-header nav .logo img {
  width: 100%;
}
header.pc-header nav ul {
  width: 43%;
  max-width: 760px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 1.8%;
}

/*========= ナビゲーションドロップダウンのためのCSS ===============*/
.header-nav-menu ul ul.dropdown-menu{
	display: block;
}
.header-nav-menu ul li.has-child{
	position: relative;
  padding-right: 3%;
}
.header-nav-menu ul li.has-child:after {
  content: '';
  width: 8px;
  height: 8px;
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
  position: absolute;
  top: 50%;
  right: 0%;
  transform: translateY(-85%) rotate(315deg);
}
.header-nav-menu ul li a{
	display: block;
	text-decoration: none;
}
.header-nav-menu li.has-child ul.dropdown-menu{
	position: absolute;
	left:0;
	bottom:0;
	transform: translateY(100%);
	z-index: 4;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
  width: 100vw;
  max-width: 400px;
}
.header-nav-menu li.has-child:hover > ul,
.header-nav-menu li.has-child ul li:hover > ul,
.header-nav-menu li.has-child:active > ul,
.header-nav-menu li.has-child ul li:active > ul{
  visibility: visible;
  opacity: 1;
}


/*-----------------
ハンバーガーメニュー
-----------------*/
header.sp-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 55px;
  z-index: 9999;
}
.header-set.sp-header .logo {
  width: 28%;
  max-width: 240px;
}
.header-set.sp-header .wrapper.flex {
  align-items: center;
}
.header-set.sp-header {
  background-color: #000;
  width: 100%;
  padding: 1% 0;
}
.sp-header .header-set {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999;
  background-color: #ffffffc7;
  padding: 0% 4%;
}
.sp-header a.logo {
  padding: 1.2% 0;
}
.sp-header a.logo img {
  height: auto;
  width: 100%;
}
.hamburger {
  display: block;
  width: 12.4vw;
  height: 12.4vw;
  max-width: 52px;
  max-height: 52px;
  cursor: pointer;
  text-align: center;
  position: relative;
}
.hamburger span {
  display: block;
  position: absolute;
  width: 71%;
  height: 2px;
  left: 50%;
  transform: translateX(-50%);
  background: #030303;
  transition: 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 32%;
}
.hamburger span:nth-child(2) {
  top: 50%;
}
.hamburger span:nth-child(3) {
  top: 68%;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top: 50%;
  left: 50%;
  transform: translateX(-50%) rotate(-45deg);
}
.hamburger.active span:nth-child(2), .hamburger.active span:nth-child(3) {
  top: 50%;
  left: 50%;
  background: #030303;
  transform: translate(-50%, 50%) rotate(45deg);
}

nav.globalMenuSp {
  position: fixed;
  z-index: 99;
  top: 0;
  right: 0;
  color: #fff;
  background: #000000ba;
  text-align: center;
  width: 100%;
/*   max-width: 560px; */
  /* height: 100vh; */
  transform: translateY(-100%);
  transition: all 0.4s;
  padding-top: 8rem;
}

nav.globalMenuSp .menu-scroll-area {
  /* height: 100vh; */
  padding-bottom: 6rem;
  overflow-y: scroll;
}
nav.globalMenuSp ul.navmenu-list {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

nav.globalMenuSp ul.navmenu-list li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: 0.4s all;
  margin-bottom: 8%;
}

nav.globalMenuSp ul.navmenu-list li:last-child {
  padding-bottom: 0;
}

nav.globalMenuSp ul.navmenu-list li a {
  display: block;
  text-decoration: none;
}
nav.globalMenuSp ul.navmenu-list li a p {
  color: #8CDD88;
  font-weight: 400;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translateY(0);
}

.globalMenuSp {
  pointer-events: none;
}

nav.globalMenuSp.active {
  pointer-events: auto;
}
.sp-header .header-set .logo {
  width: 52%;
  max-width: 196px;
}
.sp-header .header-set .logo img {
  width: 100%;
}
nav.globalMenuSp .sp-menu-sns-list {
  margin-top: 16%;
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 212px;
  margin-right: auto;
  margin-left: auto;
  height: 50vw;
  max-height: 35px;
}
nav.globalMenuSp .sp-menu-sns-list li {
  height: 100%;
}
nav.globalMenuSp .sp-menu-sns-list li a,
nav.globalMenuSp .sp-menu-sns-list li a img {
  width: auto;
  height: 100%;
}

.loading-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #fff; /* ローディング画面の背景色 */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 99999999999999; /* 他の要素よりも手前に表示 */
  }
  .loader {
    border: 6px solid #f3f3f3; /* ローディングアイコンの外側の円 */
    border-top: 6px solid #3498db; /* ローディングアイコンの内側の円 */
    border-radius: 50%;
    width: 50px;
    height: 50px;
    position: absolute;
    top: 72%;
    left: 50%;
    transform: translateX(-50%);
  }
  .loading-screen img {
    width: 100vw;
    max-width: 694px;
    position: absolute;
    top: 18%;
    left: 50%;
    transform: translateX(-50%);
  }

/*---------------------------------------
footer.php
---------------------------------------*/
footer {
  display: block;
  width: 100vw;
}
footer .set {
  width: 100%;
  background-color: #030303;
  padding: 2.3% 0;
  position: relative;
}
footer .set .ft-logo {
  width: 26.7%;
  max-width: 560px;
  display: block;
  margin-right: auto;
  margin-left: auto;
}
footer .set .ft-logo img {
  width: 100%;
}
footer .set ul {
  width: 15.6%;
  max-width: 240px;
  display: flex;
  justify-content: space-between;
  margin-right: auto;
  margin-left: auto;
  margin-top: 2.4%;
  margin-bottom: 1.6%;
}
footer .set ul li {
  max-height: 35px;
  height: 100vw;
}
footer .set ul li a,
footer .set ul li a img {
  height: 100%;
  width: auto;
}
footer .set .character-1 {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  width: 42vw;
  height: 54vw;
  overflow: hidden;
}
footer .set .character-1 img {
    width: 176%;
    height: 193%;
    object-fit: cover;
    object-position: 0% 100%;
    transform: translate(-39%, 0.7%);
}
footer .set .character-2 {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
    width: 38.2vw;
    height: 57.5vw;
  overflow: hidden;
}
footer .set .character-2 img {
  width: 129%;
  height: 170%;
  object-fit: cover;
  object-position: 0% 0%;
  transform: translate(0%, 0%);
}
footer .set .last-text,
.copyright-text {
  color: #fff;
  font-family: "lato", sans-serif;
  font-weight: 300;
  font-style: normal;
}
.copyright-text {
  position: absolute;
  left: 4%;
  bottom: 2%;
}
footer {
  position: relative;
  z-index: 1;
}
main {
  position: relative;
  z-index: 2;
}

/*---------------------------------------
TOP
---------------------------------------*/
.first-view-area {
  width: 100vw;
  height: 100vh;
  position: relative;
  overflow: hidden;
}
.first-view-area .set {
  width: fit-content;
  position: absolute;
  top: 54.5%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.first-view-area .set h1 {
  width: fit-content;
  display: block;
  margin-right: auto;
  margin-left: auto;
  transform: translateX(5%);
}
.first-view-area .set h1 img {
  width: auto;
  height: 44.5vh;
}
.first-view-area .set h2,
.first-view-area .set p {
  color: #fff;
}
.first-view-area .h2-set {
  margin: 0.5vh 0 5vh 0;
}
.first-view-area .h2-set h2 {
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
  white-space: nowrap;
}
.first-view-area .h2-set h2.sab-h2 {
  margin-top: 1vh;
  margin-bottom: 2.5vh;
}
.first-view-area .h2-set h2,
.first-view-area .h2-set p {
  display: block;
  width: fit-content;
  margin-right: auto;
  margin-left: auto;
}
.first-view-area .set .btn-set {
  max-width: 682px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  justify-content: space-between;
}
.first-view-area .set .btn-set a {
  width: 42vh;
  height: 11vh;
  max-width: 320px;
  max-height: 93px;
  position: relative;
  border-radius: 999px;
}
.first-view-area .set .btn-set a:first-of-type {
  background-color: #E63515;
}
.first-view-area .set .btn-set a:last-of-type {
  background-color: #584BEB;
}
.first-view-area .set .btn-set a .btn-set-2 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.first-view-area .set .btn-set a .btn-set-2 p {
  white-space: nowrap;
}
.first-view-area .set .btn-set a:first-of-type .btn-set-2 img {
  display: block;
  margin-right: 8px;
  width: 100vw;
  max-width: 29px;
}
.first-view-area .set .btn-set a:last-of-type .btn-set-2 img {
  display: block;
  margin-right: 8px;
  width: 100vw;
  max-width: 32px;
}
.first-view-area .bg {
  background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0, 0, 0, 0.7));
  width: 100vw;
  height: 50vh;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}
.first-view-area .character-1 {
    display: block;
    object-fit: cover;
    object-position: 50% 2.5%;
    width: 80vw;
    height: 100vh;
    position: absolute;
    left: -18%;
    top: 0%;
    z-index: -3;
}
.first-view-area .character-2 {
    display: block;
    object-fit: cover;
    object-position: 50% 11.6%;
    width: 80vw;
    height: 100vh;
    position: absolute;
    right: -19.8%;
    top: 0%;
    z-index: -2;
}
.first-view-area .h2-set h2 {
  text-shadow: 0px 4px 4px rgba(0,0,0,0.6);
}

.about-area {
  padding: 6.8% 0 0 0;
  position: relative;
}
.about-area .item-bg {
  width: 100%;
  height: 52%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  overflow: hidden;
}
.about-area .item-bg img {
    width: 120%;
    height: 100%;
    object-fit: cover;
    object-position: 0 37%;
    transform: translateX(-5%);
}
.about-area h2 {
  color: #E63515;
  margin-bottom: 3%;
}
.about-area .wrapper {
  position: relative;
}
.about-area .wrapper .character-1 {
    position: absolute;
    top: -8.5%;
    left: 0;
    transform: translateX(-2%);
}
.about-area .wrapper .character-1 img:first-of-type {
  width: 25vw;
  display: block;
  max-width: 504px;
}
.about-area .wrapper .character-1 img:last-of-type {
  width: 5.4vw;
  display: block;
  position: absolute;
  left: 2%;
  bottom: 1%;
    max-width: 110px;
}
.about-area .wrapper .character-2  {
position: absolute;
    top: -12.5%;
    right: 0;
    transform: translateX(0%);
}
.about-area .wrapper .character-2 img:first-of-type {
  width: 24vw;
    display: block;
    max-width: 554px;
}
.about-area .wrapper .character-2 img:last-of-type {
  width: 5.1vw;
  display: block;
  position: absolute;
  right: 7%;
  bottom: 5%;
  max-width: 104px;
}
.about-area .group-2 {
  margin-top: 8%;
}
.about-area .group-2 h3{
  color: #584BEB;
  margin-bottom: 0.6%;
}
.about-area .group-2 ul {
  width: 88%;
  max-width: 1412px;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  justify-content: space-between;
  margin-top: 2.1%;
  margin-bottom: -7vw;
}
.about-area .group-2 ul li {
  width: 32.8%;
}
.about-area .group-3 {
  width: 100%;
  padding-top: 10.5%;
  padding-bottom: 5%;
  background: linear-gradient(to bottom right, #FCF6D3, #D3F2FC);
}
.about-area .group-3 .corabo {
  max-width: 915px;
  width: 48vw;
  margin-right: auto;
  margin-left: auto;
  display: block;
}
.about-area .group-3 ul {
  display: flex;
  justify-content: space-between;
}
.about-area .group-3 ul li {
  width: 22.5%;
  /* overflow: hidden; */
  border-radius: 26px;
  position: relative;
  background-color: #fff;
}
.about-area .group-3 ul li .img-mask {
  border-radius: 26px 26px 0 0;
  overflow: hidden;
}
.about-area .group-3 ul li .name {
  border-radius: 20px 0 20px 0;

  max-width: 172px;
  width: 49%;
  padding-top: 13%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-color: #584BEB;
}
.about-area .group-3 ul li:nth-of-type(odd) {
  border: #584BEB 3px solid;
}
.about-area .group-3 ul li:nth-of-type(even) {
  border: #E63515 3px solid;
}
.about-area .group-3 ul li:nth-of-type(even) .name {
  max-width: 172px;
  background-color: #E63515;
}
.about-area .group-3 ul li .name p {
  color: #fff;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  white-space: nowrap;
}
.about-area .group-3 ul li .img-mask:after {
  padding-top: 66%;
}
.about-area .group-3 ul li .text-set {
  padding: 5% 5.5% 4% 5.5%;
}
.about-area .group-3 ul li .text-set h3 {
  margin-bottom: 2%;
}
.about-area .group-3 ul li .text-set .flex {
  margin-top: 20%;
  align-items: end;
  justify-content: space-between;
}
.about-area .group-3 ul li:nth-of-type(4) .text-set .flex {
  margin-top: 5%;
}
.about-area .group-3 ul li .text-set .flex .comment-area {
  width: 60.5%;
  background-color: #C3EFFD;
  padding: 6% 2.5%;
  border-radius: 16px;
  position: relative;
}
.about-area .group-3 ul li .text-set .flex .comment-area img {
  max-width: 22px;
  width: 16%;
  position: absolute;
  right: 0;
  top: 0;
  transform: translate(30%, -30%);
}
.about-area .group-3 ul li .text-set .flex .link-btn {
  max-width: 118px;
  max-height: 35px;
  width: 6.5vw;
  height: 2vw;
  background-color: #030303;
  border-radius: 999px;
  position: relative;
}
.about-area .group-3 ul li .text-set .flex .link-btn p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  color: #F897AA;
  white-space: nowrap;
}
.about-area .group-3 ul li .character-img {
  position: absolute;
  bottom: 8.5%;
  right: 0;
  width: 68%;
  transform: translateX(21%);
  z-index: 1;
}
.about-area .group-3 ul li:nth-of-type(2) .character-img  {
bottom: 9%;
    right: 7%;
    width: 44.5%;
}
.about-area .group-3 ul li:nth-of-type(3) .character-img  {
bottom: 9.5%;
    right: 7%;
    width: 51%;
}
.about-area .group-3 ul li:nth-of-type(4) .character-img  {
bottom: 10%;
    right: 5%;
    width: 73%;
}
.about-area .group-3 ul li:nth-of-type(even) .text-set .flex .comment-area {
  background-color: #FCD3DB;
}
.about-area .group-4 {
  margin-top: 3.6%;
}
.about-area .group-4 h3 {
  color: #584BEB;
  margin-bottom: 1.5%;
}
.shintomi-area {
  width: 100vw;
  height: 30.8vw;
  overflow: hidden;
}
.shintomi-area img {
  width: 120%;
  height: 166%;
  object-fit: cover;
  object-position: 50% 50%;
  margin-top: -10%;
}
.charm-area {
  background: linear-gradient(to bottom, #FCF6D3 0%, #C3EFFD 100%);
  padding: 5.5% 0 8% 0;
  position: relative;
}
.charm-area .group-1,
.charm-area .group-2 {
  position: relative;
  z-index: 1;
}
.charm-area .group-1 {
  margin-bottom: 6.5%;
}
.charm-area .group-1 h3 {
  color: #584BEB;
}
.charm-area .group-1 .text-1 {
    margin-top: 0.5%;
    margin-bottom: 2%;
}
.charm-area .group-1 .text-2 {
  width: 64vw;
  max-width: 640px;
  margin-right: auto;
  margin-left: auto;
}
.charm-area .group-1 .video-zone {
  background: linear-gradient(to bottom, #FDF0A7 0%, #FCD3DB 100%);
  width: 54.45vw;
  height: 30.3vw;
  border-radius: 62px;
  padding: 0.8%;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
  margin-top: 2.5%;
  margin-bottom: 2%;
  display: block;
  margin-right: auto;
  margin-left: auto;
}
.charm-area .group-1 .video-zone .video-area {
  width: 100%;
  height: 100%;
  border-radius: 49px;
  background-color: #03030366;
  position: relative;
  overflow: hidden;
}
.charm-area .group-1 .video-zone .video-area p {
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.charm-area .group-1 .video-zone .video-area video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.charm-area .group-1 .btn-type-1 {
  background-color: #584BEB;
}
.charm-area .group-2 .set {
  position: relative;
}
.charm-area .group-2 .set ul {
  width: 100%;
}
.charm-area .group-2 .set ul li {
  width: 100%;
  margin-bottom: 5.2%;
}
.charm-area .group-2 .set ul li:last-of-type {
  margin-bottom: 0;
}
.charm-area .group-2 .set ul li .set-2 {
  width: 48%;
}
.charm-area .group-2 .set ul li:nth-of-type(2) .set-2 {
  margin-left: 24%;
  margin-right: auto;
}
.charm-area .group-2 .set ul li:nth-of-type(3) .set-2 {
  margin-left: auto;
  margin-right: 0;
}
.charm-area .group-2 .set ul li:nth-of-type(4) .set-2 {
  margin-left: auto;
  margin-right: 24%;
}
.charm-area .group-2 .set ul li:nth-of-type(3) .set-2 .block-left,
.charm-area .group-2 .set ul li:nth-of-type(4) .set-2 .block-left {
  order: 2;
}
.charm-area .group-2 .set ul li:nth-of-type(3) .set-2 .block-right,
.charm-area .group-2 .set ul li:nth-of-type(4) .set-2 .block-right {
  order: 1;
}
.charm-area .group-2 .set ul li .block-left {
  width: 52%;
}
.charm-area .group-2 .set ul li .block-right {
  width: 44%;
}
.charm-area .group-2 .set ul li .block-left .img-mask {
  border-radius: 62px;
  border: 12px solid #fff;
}
.charm-area .group-2 .set ul li .block-left .img-mask:after {
  padding-top: 72%;
}
.charm-area .group-2 .set ul li .block-right h4 {
  background-color: #030303;
  padding: 4% 5%;
  color: #8CDD88;
  border-radius: 999px;
  margin-bottom: 4%;
}
.charm-area .item-bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.charm-area .item-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}
.charm-area .group-2 .set .character-img-1 {
  width: 38%;
  transform: translateX(-20.5%);
  position: absolute;
  left: 0;
  bottom: 0;
}
.charm-area .group-2 .set .character-img-2 {
    width: 28%;
    transform: translate(-11%, -15%);
    position: absolute;
    right: 0;
    top: 0;
}
.hurusato-area {
  padding-top: 8%;
  padding-bottom: 6%;
  position: relative;
  z-index: 1;
}
.hurusato-area .group-1 h2 {
  color: #8CDD88;
}
.hurusato-area .group-1 p {
  margin-top: 1.2%;
  margin-bottom: 4.5%;
}
.hurusato-area .group-1 img {
  display: block;
  margin-right: auto;
  margin-left: auto;
}
.hurusato-area .group-1 img,
.hurusato-area .group-2 ul {
  max-width: 1262px;
  width: 88vw;
}
.hurusato-area .group-2 .text-1 {
    margin-top: 5.5%;
    margin-bottom: 3.5%;
}
.hurusato-area .group-2 ul{
  max-width: 1262px;
  width: 88vw;
  display: flex;
  flex-wrap: wrap;
  margin-right: auto;
  margin-left: auto;
  justify-content: space-between;
}
.hurusato-area .group-2 ul li {
  width: 30.5%;
  height: 100vw;
  max-height: 116px;
  margin-bottom: 4%;
}
.hurusato-area .group-2 ul li:nth-of-type(1) {
  margin-bottom: 0.5%;
}
.hurusato-area .group-2 ul li:last-of-type {
  margin-bottom: 0;
}
.hurusato-area .group-2 ul li:nth-of-type(13) {
  width: 100%;
}
.hurusato-area .group-2 ul li:nth-of-type(13) a {
  width: 30%;
  display: block;
  margin-right: auto;
  margin-left: auto;
}
.hurusato-area .group-2 ul li img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.apply-area {
  position: relative;
  width: 100vw;
      z-index: -1;
    margin-top: -6%;
}
.apply-area img {
  width: 100%;
  height: auto;
}
.apply-area .btn-type-1 {
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%,-50%);
  z-index: 3;
}
.apply-area .btn-type-1 img {
  max-width: 34px;
  width: 10%;
  position: absolute;
  top: 47%;
  left: 13%;
}

/*---------------------------------------
404.php
---------------------------------------*/
.error-area {
  height: 96vh;
  position: relative;
}
.error-area-2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.nowrap {
  white-space: nowrap;
}
.error-area-2 h2 {
  margin-bottom: 40px;
  font-size: 32px !important;
}
.error-area-2 p {
  margin: 12px 0;
  font-size: 12px;
  letter-spacing: .05rem;
  line-height: 20px;
}
.error-area-2 a {
  display: block;
  width: fit-content;
  margin-right: auto;
  margin-left: auto;
  margin-top: 8%;
}
.error-area-2 a p {
  background-color: #000;
  color: #fff;
  padding: 8px 24px;
  width: fit-content;
}
.error-area-2 a:hover {
  background-color: #ffffff;
  color:#9BB790;
  transition: all 0.4s;
}
.error-btn {
  margin-top:16% !important;
}

@media (min-width: 992px) {
  .sp-ver-1 {
    display:none;
  }
}
@media (max-width: 991px) {
  .sp-ver-1 {
    display:contents;
  }
  .pc-ver-1 {
    display:none;
  }
  .error-area-2 h2 {
    line-height:56px;
  }
}
@media (max-width: 768px) {
  .error-area-2 h2 {
    line-height: 40px;
    font-size: 24px !important;
  }
}
@media (max-width: 560px) {
  .error-area-2 h2 {
    line-height: 32px;
    font-size: 18px !important;
  }
  .error-area {
    height: 72vh;
  }
}
@media (max-width: 375px) {
  .error-area-2 h2 {
  line-height: 28px;
  font-size: 16px !important;
  letter-spacing: 0.05rem;
  }
  .error-area-2 h2 {
  font-size: 14px !important;
  }
}

/*---------------------------------------
//
//           レスポンシブ
//
---------------------------------------*/
@media screen and (min-width: 2560px) {
  /*  2560 px end  */
}
@media screen and (min-width: 2000px) {
  header.pc-header nav ul {
    width: 44%;
    max-width: unset;
}
  .header-nav-menu ul li a p {
    font-size: 0.8vw;
  }
  /*  2000 px end  */
}
@media screen and (max-width: 1919px) {
  .about-area .group-3 ul li .text-set h3 {
    font-size: 0.99vw;
  }
  .about-area .group-3 ul li .text-set p {
    font-size: 0.785vw;
    line-height: 1.25vw;
  }
  .about-area .group-3 ul li .text-set .flex .link-btn p {
    font-size: 0.76vw;
  }
  .about-area .group-3 ul li .name p {
    font-size: 1.061vw;
  }
  .btn-type-1 p {
    font-size: 1.3vw;
  }

  /*  1919 px end  */
}
@media screen and (max-width: 1536px) {
  .first-view-area .set {
    top: 52%;
  }
  .first-view-area .set h1 img {
    height: 38vh;
  }
  .first-view-area .h2-set h2.main-h2 {
    font-size: 5.6vh;
  }
  .first-view-area .h2-set h2.sab-h2 {
    font-size: 3.2vh;
  }
  .first-view-area .h2-set p {
    font-size: 2.6vh;
    line-height: 4vh;
  }
  .first-view-area .h2-set {
    margin: 5.6vh 0 4.8vh 0;
  }
  .first-view-area .set .btn-set a .btn-set-2 p {
    font-size: 3vh;
  }
  .btn-type-1 p {
    font-size: 1.4vw;
  }
  .btn-type-1 img {
    left: unset;
    right: 82.5%;
    width: 10%;
  }
  footer .set .character-1 {
    width: 37vw;
    height: 49vw;
  }
  footer .set .character-2 {
    width: 34vw;
    height: 52vw;
  }
  .hurusato-area .group-1 img {
    width: 72vw;
  }
  footer .set {
    padding: 4% 0;
  }

  /*  1536 px end  */
}
@media screen and (max-width: 1440px) {
  /*  1440 px end  */
}
@media screen and (max-width: 1366px) {
  /*  1366 px end  */
}
@media screen and (max-width: 1200px) {
  /*  1200 px end  */
}
@media screen and (max-width: 1024px) {
  .first-view-area .set h1 img{
        height: 27vh;
        object-fit: contain;
        width: 80vw;
        max-width: 460px;
  }
  .first-view-area .h2-set h2.main-h2 {
    text-align: center;
    font-size: 40px;
  }
  .first-view-area .h2-set h2.sab-h2,
  .first-view-area .h2-set p {
    font-size: 20px;
    white-space: nowrap;
  }
  .first-view-area .set .btn-set a .btn-set-2 p {
    font-size: 18px;
  }
  .first-view-area .set .btn-set a {
    width: 44.7vw;
    height: 13.4vw;
    max-width: 196px;
    max-height: 56px;
  }
  .first-view-area .set .btn-set a:first-of-type .btn-set-2 img {
    width: 4.2vw;
    max-width: 20px;
    transform: translateY(-22%);
  }
  .first-view-area .set .btn-set a:last-of-type .btn-set-2 img {
    width: 4.7vw;
    max-width: 22px;
    transform: translateY(-4%);
  }
  .copyright-text {
    left: unset;
    right: 4%;
    bottom: 2%;
  }
  .first-view-area {
    height: calc(var(--vh, 1vh) * 100);
  }
  .first-view-area .set {
    top: calc(var(--vh, 1vh) * 54.0);
  }
  .first-view-area .h2-set {
    margin-top: calc(var(--vh, 1vh) * 14);
    margin-bottom: calc(var(--vh, 1vh) * 2);
  }
  .first-view-area .h2-set h2.sab-h2 {
    margin-top: 1.5vh;
    margin-bottom: 2.0vh;
  }
  .first-view-area .character-1 {
    object-position: unset;
    width: 169vw;
    max-width: 676px;
    height: calc(var(--vh, 1vh) * 111);
    object-fit: contain;
    left: 0%;
    top: calc(var(--vh, 1vh) * 32.5);
    transform: translateX(-35.5%);
  }
.first-view-area .character-2 {
    display: block;
    object-fit: cover;
    object-position: 50% 10%;
    width: 177vw;
    max-width: 708px;
    height: calc(var(--vh, 1vh) * 116);
    object-fit: contain;
    position: absolute;
    right: 0%;
    top: calc(var(--vh, 1vh) * -9);
    z-index: -4;
    transform: translateX(40%);
}
.about-area {
    padding: 8.8% 0 0 0;
    position: relative;
}
  .about-area .wrapper p {
    text-align: left;
  }
  .about-area .wrapper .character-1,.about-area .wrapper .character-2 {
    position: relative;
    display: block;
    width: unset;
  }
  .about-area .wrapper .character-1 {
    transform: translate(-3%, 0%);
  }
  .about-area .wrapper .character-2 {
    transform: translate(-19%,0%);
  }
  .about-area .wrapper .character-1 img:first-of-type {
    width: 48vw;
    max-width: 213px;
  }
  .about-area .wrapper .character-1 img:last-of-type {
    width: 10.8vw;
    max-width: 48px;
    left: -2%;
    bottom: 1%;
  }
  .about-area .wrapper .character-2 img:first-of-type {
    width: 52vw;
    max-width: 231px;
  }
  .about-area .wrapper .character-2 img:last-of-type {
    width: 10.2vw;
    max-width: 46px;
    right: 0%;
    bottom: 4%;
  }
  .about-area .wrapper .flex.sp-2 {
    display: flex;
    justify-content: space-between;
  }
  .about-area h2 {
    margin-bottom: 1%;
  }
  .about-area .group-2 {
        margin-top: 8%;
        padding-top: 8%;
  }
  .about-area .group-2 h3 {
    margin-bottom: 1.8%;
  }
  .about-area .group-2 ul {
    margin-top: 8.5%;
    flex-direction: column;
    max-width: 460px;
  }
  .about-area .group-2 ul li {
    width: 100%;
    margin-bottom: 2%;
  }
  .about-area .group-2 ul li:last-of-type {
    margin-bottom: 0;
  }
  .about-area .group-set {
    background: linear-gradient(to bottom right, #FCF6D3, #D3F2FC);
  }
  .about-area .group-3 {
    background: unset;
    overflow: hidden;
  }
  .about-area .group-3 ul {
    flex-wrap: wrap;
  }
  .about-area .group-3 ul li {
    width: 49%;
    margin-bottom: 9%;
  }
  .about-area .group-3 .corabo {
    max-width: 396px;
    width: 88vw;
    transform: translateX(-4%);
  }
  .about-area .group-3 ul li .name p {
    font-size: 15px;
  }
  .about-area .group-3 ul li .text-set h3 {
    font-size: 16px;
  }
  .about-area .group-3 ul li .text-set p {
      font-size: 12px;
      line-height: 16px;
  }
  .about-area .group-3 ul li .text-set .flex .link-btn p {
    font-size: 11px;
  }
  .about-area .group-3 ul li .text-set .flex .link-btn {
    max-width: 90px;
    max-height: 25px;
    width: 13.5vw;
    height: 4.2vw;
  }
  .about-area .group-3 {
    padding-top: 13.5%;
    padding-bottom: 16.5%;
  }
  .shintomi-area {
    height: 52.8vw;
    max-height: 320px;
  }
  .btn-type-1 {
    width: 45.5vw;
    height: 13.2vw;
    max-width: 220px;
    max-height: 72px;
  }
  .btn-type-1 p {
    font-size: 15px;
    transform: translate(-50%, -42%);
  }
  .about-area .group-4 {
    margin-top: 6.6%;
  }
  .about-area .group-4 h3 {
    margin-bottom: 4%;
  }
  .charm-area {
    padding: 8.5% 0 12% 0;
  }
  .charm-area .group-1 .text-2 {
    width: 88vw;
    max-width: 560px;
    margin-right: auto;
    margin-left: auto;
  }
  .charm-area .group-1 .text-1 {
    margin-bottom: 4%;
    margin-top: 2.6%;
  }
  .charm-area .group-1 .sp-character-area {
    width: 88vw;
    height: 81vw;
    max-width: unset;
    max-height: unset;
    margin-right: auto;
    margin-left: auto;
    position: relative;
  }
  .charm-area .group-1 .sp-character-area .character-1 {
    width: 54.5%;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(-3%, 3%);
  }
  .charm-area .group-1 .sp-character-area .character-2 {
    width: 59%;
    height: auto;
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(3%, 0%);
  }
  .charm-area .group-1 .video-zone {
    width: 88vw;
    height: 58vw;
max-width: 560px;
        max-height: 360px;
    margin-top: 14.5%;
    margin-bottom: 6.6%;
  }
  .charm-area .group-1 .video-zone .video-area p {
    white-space: nowrap;
    font-size: 32px;
  }
  .hurusato-area .group-1 h2 {
    font-size: 32px;
    white-space: nowrap;
  }
  .hurusato-area {
    padding-top: 12%;
  }
  .hurusato-area .group-1 p {
    margin-top: 2.2%;
    margin-bottom: 8.5%;
  }
  .hurusato-area .group-1 img {
    width: 53%;
    max-width: 240px;
  }
  .hurusato-area .group-2 .text-1 {
    margin-top: 12.0%;
    margin-bottom: 7%;
  }
  .hurusato-area .group-2 ul {
    max-width: 400px;
    width: 78vw;
    flex-direction: column;
  }
  .hurusato-area .group-2 ul li {
    width: 100%;
    height: 100vw;
    max-height: 88px;
    margin-bottom: 4.3% !important;
  }
  .hurusato-area .group-2 ul li:last-of-type {
    margin-bottom: 0 !important;
  }
  .hurusato-area .group-2 ul li:nth-of-type(13) img {
    width: 100%;
  }
  .apply-area {
    position: relative;
    width: 100vw;
    margin-top: -3%;
  }
  footer {
    background-color: #030303;
    position: relative;
  }
  footer .set {
    padding: 10% 0 44rem 0;
    background-color: unset;
    width: 100%;
    max-width: 560px;
    margin-right: auto;
    margin-left: auto;
    position: unset;
  }
  footer .set .ft-logo {
    width: 55.7%;
    max-width: 260px;
    display: block;
    margin-right: auto;
    margin-left: auto;
  }
  footer .set ul {
    width: fit-content;
    max-width: unset;
    display: flex;
    justify-content: unset;
    margin-left: 6%;
    margin-top: 12.4%;
    margin-bottom: 5%;
  }
  footer .set ul li {
    max-height: 35px;
    height: 9vw;
    margin-right: 18%;
  }
  footer .set ul li:last-of-type {
    margin-right: 0;
  }
  footer .set .last-text {
    text-align: left;
    padding-left: 6%;
  }
  footer .set .character-1 {
    width: 85vw;
    height: 107.5vw;
    max-width: 420px;
    max-height: 594px;
  }
  footer .set .character-2 {
    width: 75vw;
    height: 152vw;
        max-width: 420px;
        max-height: 835px;
  }
  footer .set .character-1 img {
    width: 178%;
    height: auto;
    object-fit: cover;
    object-position: 0% 0%;
    transform: translate(-40%, 0%);
  }
  footer .set .character-2 img {
    width: 143%;
    height: auto;
    object-fit: cover;
    object-position: 0% 0%;
    transform: translate(0%, 0%);
  }
/*------------------*/
/*  スライダータイプ1  */
/*------------------*/
.sliderArea {
  width: 98%;
  margin: 0 auto;
}
.slick-slide img {
  width: 100%;
  height: auto;
}
.slick-prev, .slick-next {
  z-index: 1;
}
.slick-prev:before, .slick-next:before {
  color: #000;
}
.slick-active {
  opacity: 1;
}
.slick-current {
  opacity: 1;
}
.thumb .slick-slide {
  cursor: pointer;
}
.thumb .slick-slide:hover {
  opacity: .7;
}
.charm-area .group-2 .set ul {
  display: flex;
  justify-content: center;
}
.charm-area .group-2 .set ul li {
  width: fit-content;
  margin-right: 2%;
  margin-bottom: 0;
  width: 7px;
  height: 7px;
  padding: 2%;
}
.slick-dotted.slick-slider {
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
}
.slick-dotted.slick-slider .slick-list {
  order: 2;
}
.slick-dotted.slick-slider ul.slick-dots {
  order: 1;
  position: unset;
  margin-bottom: 6%;
}
.slick-dots li button {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: none;
  background-color: none;
  border-radius: 50%;
  opacity: 1;
}
.slick-dots li button:before {
  width: 7px;
  height: 7px;
  font-size: 0;
  line-height: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  background: #fff;
  color: #fff;
  border: 0.5px solid #00000094;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  opacity: 1;
}
.slick-dots li.slick-active button:before {
  opacity: 1;
  background: #030303bd;
  background-color: #030303bd;
}
.slick-arrow {
  display: none !important;
}
.charm-area .group-1 {
  margin-bottom: 10.5%;
}
.slick-dotted.slick-slider .slick-list .slide-list-item .img-mask {
  border-radius: 44px;
  border: 8px solid #fff;
  margin-bottom: 5%;
}
.slick-dotted.slick-slider .slick-list .slide-list-item .img-mask:after {
  padding-top: 70%;
}
.slick-dotted.slick-slider .slick-list .slide-list-item {
  padding: 0% 0.5%;
}
.slide-list-item h4 {
  width: 80%;
  max-width: 240px;
  background-color: #030303;
  color: #8CDD88;
  text-align: center;
  border-radius: 999px;
  padding: 2.4% 0;
  margin-bottom: 5%;
  margin-right: auto;
  margin-left: auto;
}
.charm-area .group-1 .video-zone .video-area {
  border-radius: 56px;
}
.charm-area .group-1 .video-zone {
  padding: 1.8%;
}
.hurusato-area .group-2 ul li a ,
.hurusato-area .group-2 ul li a img {
  height: 100%;
}
.loader {
  top: 60%;
}
.hurusato-area .group-2 ul li:nth-of-type(13) a {
  width: 100%;
}
.about-area .item-bg {
  height: 26%;
}
    .about-area .item-bg img {
        width: 100%;
        height: auto;
        object-fit: cover;
        object-position: 0% 0%;
        transform: translate(0%, 0%);
    }
.apply-area .project-btn img {
    width: 64vw;
    max-width: 400px;
}
.about-area .group-3 ul li .img-mask {
    border-radius: 22px 22px 0 0;
}

  /*  1024 px end  */
}
@media screen and (max-width: 768px) {
  .about-area h2 {
    font-size: 36px;
  }
  .hurusato-area .group-1 h2 {
    font-size: 30px;
  }
  .about-area .group-2 h3,
  .charm-area .group-1 h3 {
    font-size: 28px;
  }
.about-area .group-4 h3 {
  font-size: 5.2vw;
    line-height: 8.8vw;
}
  .hurusato-area {
    padding-top: 22%;
  }

  /*  768 px end  */
}
@media screen and (max-width: 640px) {
  .about-area .group-3 ul li .text-set p {
      font-size: 1.8vw;
      line-height: 2.8vw;
  }
  /*  640 px end  */
}
@media screen and (max-width: 560px) {
  .about-area .group-3 ul li {
    width: 100%;
  }
  .about-area .group-3 ul li .text-set .flex .link-btn {
      max-width: unset;
      max-height: unset;
      width: 36%;
      height: 7.8vw;

    }
    .about-area .group-3 ul li:nth-of-type(4) .text-set .flex {
      margin-top: 4%;
    }
    .about-area .group-3 ul li .name p {
      font-size: 18px;
    }
    .about-area .group-3 ul li .text-set h3 {
      font-size: 19px;
    }
    .about-area .group-3 ul li .text-set p {
        font-size: 3.8vw;
        line-height: 5.4vw;
    }
    .about-area .group-3 ul li .text-set .flex .link-btn p {
        font-size: 15px;
    }
    .about-area .group-3 ul li:last-of-type {
      margin-bottom: 0;
    }
    footer .set {
      padding: 10% 0 128% 0;
    }
    .loader {
      max-width: 48px;
      max-height: 48px;
      width: 8vw;
      height: 8vw;
      border: 1.5vw solid #f3f3f3;
      border-top: 1.5vw solid #3498db;
    }
    .about-area .item-bg img {
    width: 170%;
    height: auto;
    object-fit: cover;
    object-position: 0% 0%;
    transform: translate(-1%, -2%);
}

  /*  560 px end  */
}
@media screen and (max-width: 460px) {
  /*  460 px end  */
}
@media screen and (max-width: 414px) {
  .about-area .group-3 ul li .text-set p {
    font-size: 3.8vw !important;
    line-height: 5.6vw !important;
  }
  /*  414 px end  */
}
@media screen and (max-width: 390px) {
  /*  390 px end  */
}
@media screen and (max-width: 375px) {
  /*  375 px end  */
}
@media screen and (max-width: 320px) {
  /*  320 px end  */
}

/*---------------------------------------
//
//           画像保存禁止
//
---------------------------------------*/
img {
	pointer-events: none;
	    /* SPの長押し禁止 */
    -webkit-user-select:none;
    -moz-user-select:none;
    user-select:none;
}
/*---------------------------------------
//
//           アニメーション
//
---------------------------------------*/
.globalMenuSp .open-anime {
  opacity: 0 !important;
  transform: translateX(18px) !important;
  transition: all 0.3s;
}
.globalMenuSp.active .open-anime {
  opacity: 1 !important;
  transform: translateX(0px) !important;
}
.open-anime-1 {
  transition-delay: 0.2s !important;
}
.open-anime-2 {
  transition-delay: 0.3s !important;
}
.open-anime-3 {
  transition-delay: 0.4s !important;
}
.open-anime-4 {
  transition-delay: 0.5s !important;
}
.open-anime-5 {
  transition-delay: 0.6s !important;
}
.open-anime-6 {
  transition-delay: 0.7s !important;
}
.open-anime-7 {
  transition-delay: 0.8s !important;
}
.open-anime-8 {
  transition-delay: 0.9s !important;
}

/*--- ふわっと ---*/
body {
  animation-name: fadeInAnime;
  animation-duration: 1.2s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/*----------------------------------------
レスポンシブ　pc / sp
----------------------------------------*/
/*----------- 560 ------------*/
@media screen and (min-width: 561px) {
  .sp {
    display: none !important;
  }
}
@media screen and (max-width: 560px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block;
  }
}

/*----------- 1024 ------------*/
@media screen and (min-width: 1025px) {
  .sp-2 {
    display: none !important;
  }
}
@media screen and (max-width: 1024px) {
  .pc-2 {
    display: none !important;
  }
  .sp-2 {
    display: block;
  }
}

/*---------------------------------------
//
//           ホバー集
//
---------------------------------------*/
@media screen and (min-width: 1025px) {
.header-nav-menu ul li a p {
  position: relative;
}
.header-nav-menu ul li a p:after {
  content: '';
  width: 100%;
  height: 1px;
  background-color: #030303;
  transform: scaleX(0%);
  transition: all 0.4s;
  position: absolute;
  bottom: -10%;
  left: 0;
}
.header-nav-menu ul li a:hover p:after {
  transform: scaleX(100%);
}
.first-view-area .set .btn-set a .btn-set-2 img {
  transition: all 0.2s;
  transform-origin: bottom right;
}
.first-view-area .set .btn-set a:hover .btn-set-2 img {
  transform: scale(1.1) rotate(5deg);
}
.first-view-area .set .btn-set a:first-of-type,
.first-view-area .set .btn-set a:last-of-type {
  transition: all 0.2s;
}
.first-view-area .set .btn-set a:first-of-type:hover {
  background-color: #c72d11;
}
.first-view-area .set .btn-set a:last-of-type:hover {
  background-color: #4439c2;
}
.about-area .group-3 ul li .text-set .flex .link-btn p {
  transition: all 0.4s;
}
.about-area .group-3 ul li:hover .text-set .flex .link-btn p {
  color: #ffe3e8;
}
.btn-type-1 {
  transition: all 0.2s;
  transform-origin: center;
}
.btn-type-1:hover {
  transform: scale(1.04) ;
}
.apply-area .btn-type-1:hover {
    transform: scale(1.04) translate(-50%,-50%);
}
footer .set ul a,
.hurusato-area .group-2 ul a {
  transition: all 0.4s;
}
footer .set ul a:hover,
.hurusato-area .group-2 ul a:hover {
  opacity: 0.8;
}

  /*  1025 px end  */
}

#Collab {
  transform: translateY(6rem);
}

.apply-area .btn-type-1 {
  display: none;
}
.apply-area .project-btn {
  position: absolute;
  top: 46%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: fit-content;
  height: fit-content;
}
.apply-area .project-btn img {
  width: 28vw;
  max-width: 480px;
}
.first-view-area .set .btn-set a:nth-of-type(1) .btn-set-2 p {
   transform: translateY(14%);
}
.first-view-area .set .btn-set a:nth-of-type(2) .btn-set-2 p {
   transform: translateY(10%);
}

@media screen and (max-width: 1024px) {
  .apply-area .project-btn img {
    width: 64vw;
    max-width: 400px;
  }
  .first-view-area .set .btn-set a:nth-of-type(1) .btn-set-2 p {
   transform: translateY(0%);
}
.first-view-area .set .btn-set a:nth-of-type(2) .btn-set-2 p {
   transform: translateY(0%);
}
html .first-view-area .set .btn-set a:first-of-type .btn-set-2 img {
        transform: translateY(-12%);
    }

  /*  1024 px end  */
}
@media screen and (max-width: 414px) {
.first-view-area .h2-set h2.main-h2.sp-f-37.sp-f-line-43 {
  font-size: 4.4vh !important;
  line-height: 5.1vh !important;
}
.first-view-area .h2-set h2.sab-h2.sp-f-18  {
  font-size: 2.13vh !important;
  margin-top: calc(var(--vh, 1vh) * 1.5);
        margin-bottom: calc(var(--vh, 1vh) * 2.0);
}
.first-view-area .h2-set p.sp-f-line-26.sp-f-18 {
  font-size: 2.13vh !important;
  line-height: 3.1vh !important;
}
  /*  414 px end  */
}
