@charset "UTF-8";
/* ----------------------------------------------------------- */
/* color変数定義 */
/* ----------------------------------------------------------- */
/* サイトカラー */
/* グラデーション用 */
ul,
dl,
ol {
  padding: 0;
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
b,
strong,
span,
li,
dt,
dd,
td {
  color: rgb(20, 20, 20);
  margin-bottom: auto;
  letter-spacing: 1.5px;
}

li {
  list-style: none;
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #0000e6;
  line-height: 1.8;
}
@media screen and (min-width: 992px) {
  body {
    font-size: 1.125rem;
  }
}

.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
}
@media screen and (min-width: 1200px) {
  .container {
    padding: 0;
  }
}

.mt_1rem {
  margin-top: 1rem;
}

.mb_1rem {
  margin-bottom: 1rem;
}

.pt_1rem {
  padding-top: 1rem;
}

.pb_1rem {
  padding-bottom: 1rem;
}

.mt_2rem {
  margin-top: 2rem;
}

.mb_2rem {
  margin-bottom: 2rem;
}

.pt_2rem {
  padding-top: 2rem;
}

.pb_2rem {
  padding-bottom: 2rem;
}

.mt_3rem {
  margin-top: 3rem;
}

.mb_3rem {
  margin-bottom: 3rem;
}

.pt_3rem {
  padding-top: 3rem;
}

.pb_3rem {
  padding-bottom: 3rem;
}

.mt_4rem {
  margin-top: 4rem;
}

.mb_4rem {
  margin-bottom: 4rem;
}

.pt_4rem {
  padding-top: 4rem;
}

.pb_4rem {
  padding-bottom: 4rem;
}

.mt_5rem {
  margin-top: 5rem;
}

.mb_5rem {
  margin-bottom: 5rem;
}

.pt_5rem {
  padding-top: 5rem;
}

.pb_5rem {
  padding-bottom: 5rem;
}

.mt_6rem {
  margin-top: 6rem;
}

.mb_6rem {
  margin-bottom: 6rem;
}

.pt_6rem {
  padding-top: 6rem;
}

.pb_6rem {
  padding-bottom: 6rem;
}

.mt_7rem {
  margin-top: 7rem;
}

.mb_7rem {
  margin-bottom: 7rem;
}

.pt_7rem {
  padding-top: 7rem;
}

.pb_7rem {
  padding-bottom: 7rem;
}

.mt_8rem {
  margin-top: 8rem;
}

.mb_8rem {
  margin-bottom: 8rem;
}

.pt_8rem {
  padding-top: 8rem;
}

.pb_8rem {
  padding-bottom: 8rem;
}

.mt_9rem {
  margin-top: 9rem;
}

.mb_9rem {
  margin-bottom: 9rem;
}

.pt_9rem {
  padding-top: 9rem;
}

.pb_9rem {
  padding-bottom: 9rem;
}

.mt_10rem {
  margin-top: 10rem;
}

.mb_10rem {
  margin-bottom: 10rem;
}

.pt_10rem {
  padding-top: 10rem;
}

.pb_10rem {
  padding-bottom: 10rem;
}

.mt_11rem {
  margin-top: 11rem;
}

.mb_11rem {
  margin-bottom: 11rem;
}

.pt_11rem {
  padding-top: 11rem;
}

.pb_11rem {
  padding-bottom: 11rem;
}

.mt_12rem {
  margin-top: 12rem;
}

.mb_12rem {
  margin-bottom: 12rem;
}

.pt_12rem {
  padding-top: 12rem;
}

.pb_12rem {
  padding-bottom: 12rem;
}

.mt_13rem {
  margin-top: 13rem;
}

.mb_13rem {
  margin-bottom: 13rem;
}

.pt_13rem {
  padding-top: 13rem;
}

.pb_13rem {
  padding-bottom: 13rem;
}

.mt_14rem {
  margin-top: 14rem;
}

.mb_14rem {
  margin-bottom: 14rem;
}

.pt_14rem {
  padding-top: 14rem;
}

.pb_14rem {
  padding-bottom: 14rem;
}

.mt_15rem {
  margin-top: 15rem;
}

.mb_15rem {
  margin-bottom: 15rem;
}

.pt_15rem {
  padding-top: 15rem;
}

.pb_15rem {
  padding-bottom: 15rem;
}

.mt_16rem {
  margin-top: 16rem;
}

.mb_16rem {
  margin-bottom: 16rem;
}

.pt_16rem {
  padding-top: 16rem;
}

.pb_16rem {
  padding-bottom: 16rem;
}

.mt_17rem {
  margin-top: 17rem;
}

.mb_17rem {
  margin-bottom: 17rem;
}

.pt_17rem {
  padding-top: 17rem;
}

.pb_17rem {
  padding-bottom: 17rem;
}

.mt_18rem {
  margin-top: 18rem;
}

.mb_18rem {
  margin-bottom: 18rem;
}

.pt_18rem {
  padding-top: 18rem;
}

.pb_18rem {
  padding-bottom: 18rem;
}

.mt_19rem {
  margin-top: 19rem;
}

.mb_19rem {
  margin-bottom: 19rem;
}

.pt_19rem {
  padding-top: 19rem;
}

.pb_19rem {
  padding-bottom: 19rem;
}

.mt_20rem {
  margin-top: 20rem;
}

.mb_20rem {
  margin-bottom: 20rem;
}

.pt_20rem {
  padding-top: 20rem;
}

.pb_20rem {
  padding-bottom: 20rem;
}

@media screen and (min-width: 768px) {
  .mt_md_1rem {
    margin-top: 1rem;
  }
  .mt_md_2rem {
    margin-top: 2rem;
  }
  .mt_md_3rem {
    margin-top: 3rem;
  }
  .mt_md_4rem {
    margin-top: 4rem;
  }
  .mt_md_5rem {
    margin-top: 5rem;
  }
  .mt_md_6rem {
    margin-top: 6rem;
  }
  .mt_md_7rem {
    margin-top: 7rem;
  }
  .mt_md_8rem {
    margin-top: 8rem;
  }
  .mt_md_9rem {
    margin-top: 9rem;
  }
  .mt_md_10rem {
    margin-top: 10rem;
  }
  .mt_md_11rem {
    margin-top: 11rem;
  }
  .mt_md_12rem {
    margin-top: 12rem;
  }
  .mt_md_13rem {
    margin-top: 13rem;
  }
  .mt_md_14rem {
    margin-top: 14rem;
  }
  .mt_md_15rem {
    margin-top: 15rem;
  }
  .mt_md_16rem {
    margin-top: 16rem;
  }
  .mt_md_17rem {
    margin-top: 17rem;
  }
  .mt_md_18rem {
    margin-top: 18rem;
  }
  .mt_md_19rem {
    margin-top: 19rem;
  }
  .mt_md_20rem {
    margin-top: 20rem;
  }
  .mt_md_21rem {
    margin-top: 21rem;
  }
  .mt_md_22rem {
    margin-top: 22rem;
  }
  .mt_md_23rem {
    margin-top: 23rem;
  }
  .mt_md_24rem {
    margin-top: 24rem;
  }
  .mt_md_25rem {
    margin-top: 25rem;
  }
  .mt_md_26rem {
    margin-top: 26rem;
  }
  .mt_md_27rem {
    margin-top: 27rem;
  }
  .mt_md_28rem {
    margin-top: 28rem;
  }
  .mt_md_29rem {
    margin-top: 29rem;
  }
  .mt_md_30rem {
    margin-top: 30rem;
  }
}
.ws_no {
  white-space: nowrap;
}

.ms-n1 {
  margin-left: -0.25rem;
}

.ms-n2 {
  margin-left: -0.5rem;
}

.ms-n3 {
  margin-left: -1rem;
}

.ms-n4 {
  margin-left: -1.5rem;
}

.ms-n5 {
  margin-left: -3rem;
}

.mt-n1 {
  margin-top: -0.25rem;
}

.mt-n2 {
  margin-top: -0.5rem;
}

.mt-n3 {
  margin-top: -1rem;
}

.mt-n4 {
  margin-top: -1.5rem;
}

.mt-n5 {
  margin-top: -3rem;
}

.cMain {
  color: #0000e6;
}

.cSub {
  color: #9fbff0;
}

.cBlack {
  color: rgb(20, 20, 20);
}

.cWhite {
  color: rgb(255, 255, 255);
}

.bg_cMain {
  background-color: #0000e6;
}

.bg_cSub {
  background-color: #9fbff0;
}

.bg_cBalck {
  background-color: rgb(20, 20, 20);
}

.bg_cWhite {
  background-color: rgb(255, 255, 255);
}

.ff_zenKaku {
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.ff_leagueGothic {
  font-family: "League Gothic", sans-serif;
}

.ff_manrope {
  font-family: "Manrope", sans-serif;
}

.fs_0 {
  font-size: 0;
}

.fs_10 {
  font-size: 0.625rem;
}

.fs_11 {
  font-size: 0.6875rem;
}

.fs_12 {
  font-size: 0.75rem;
}

.fs_13 {
  font-size: 0.8125rem;
}

.fs_14 {
  font-size: 0.875rem;
}

.fs_15 {
  font-size: 0.9375rem;
}

.fs_16 {
  font-size: 1rem;
}

.fs_17 {
  font-size: 1.0625rem;
}

.fs_18 {
  font-size: 1.125rem;
}

.fs_19 {
  font-size: 1.1875rem;
}

.fs_20 {
  font-size: 1.25rem;
}

.fs_21 {
  font-size: 1.3125rem;
}

.fs_22 {
  font-size: 1.375rem;
}

.fs_23 {
  font-size: 1.4375rem;
}

.fs_24 {
  font-size: 1.5rem;
}

.fs_25 {
  font-size: 1.5625rem;
}

.fs_26 {
  font-size: 1.625rem;
}

.fs_27 {
  font-size: 1.6875rem;
}

.fs_28 {
  font-size: 1.75rem;
}

.fs_29 {
  font-size: 1.8125rem;
}

.fs_30 {
  font-size: 1.875rem;
}

.fs_31 {
  font-size: 1.9375rem;
}

.fs_32 {
  font-size: 2rem;
}

.fs_33 {
  font-size: 2.0625rem;
}

.fs_34 {
  font-size: 2.125rem;
}

.fs_35 {
  font-size: 2.1875rem;
}

.fs_36 {
  font-size: 2.25rem;
}

.fs_37 {
  font-size: 2.3125rem;
}

.fs_38 {
  font-size: 2.375rem;
}

.fs_39 {
  font-size: 2.4375rem;
}

.fs_40 {
  font-size: 2.5rem;
}

.fs_41 {
  font-size: 2.5625rem;
}

.fs_42 {
  font-size: 2.625rem;
}

.fs_43 {
  font-size: 2.6875rem;
}

.fs_44 {
  font-size: 2.75rem;
}

.fs_45 {
  font-size: 2.8125rem;
}

.fs_46 {
  font-size: 2.875rem;
}

.fs_47 {
  font-size: 2.9375rem;
}

.fs_48 {
  font-size: 3rem;
}

.fs_49 {
  font-size: 3.0625rem;
}

.fs_50 {
  font-size: 3.125rem;
}

.fs_51 {
  font-size: 3.1875rem;
}

.fs_52 {
  font-size: 3.25rem;
}

.fs_53 {
  font-size: 3.3125rem;
}

.fs_54 {
  font-size: 3.375rem;
}

.fs_55 {
  font-size: 3.4375rem;
}

.fs_56 {
  font-size: 3.5rem;
}

.fs_57 {
  font-size: 3.5625rem;
}

.fs_58 {
  font-size: 3.625rem;
}

.fs_59 {
  font-size: 3.6875rem;
}

.fs_60 {
  font-size: 3.75rem;
}

.fs_61 {
  font-size: 3.8125rem;
}

.fs_62 {
  font-size: 3.875rem;
}

.fs_63 {
  font-size: 3.9375rem;
}

.fs_64 {
  font-size: 4rem;
}

.fs_65 {
  font-size: 4.0625rem;
}

.fs_66 {
  font-size: 4.125rem;
}

.fs_67 {
  font-size: 4.1875rem;
}

.fs_68 {
  font-size: 4.25rem;
}

.fs_69 {
  font-size: 4.3125rem;
}

.fs_70 {
  font-size: 4.375rem;
}

@media screen and (min-width: 768px) {
  .fs_md_10 {
    font-size: 0.625rem;
  }
  .fs_md_11 {
    font-size: 0.6875rem;
  }
  .fs_md_12 {
    font-size: 0.75rem;
  }
  .fs_md_13 {
    font-size: 0.8125rem;
  }
  .fs_md_14 {
    font-size: 0.875rem;
  }
  .fs_md_15 {
    font-size: 0.9375rem;
  }
  .fs_md_16 {
    font-size: 1rem;
  }
  .fs_md_17 {
    font-size: 1.0625rem;
  }
  .fs_md_18 {
    font-size: 1.125rem;
  }
  .fs_md_19 {
    font-size: 1.1875rem;
  }
  .fs_md_20 {
    font-size: 1.25rem;
  }
  .fs_md_21 {
    font-size: 1.3125rem;
  }
  .fs_md_22 {
    font-size: 1.375rem;
  }
  .fs_md_23 {
    font-size: 1.4375rem;
  }
  .fs_md_24 {
    font-size: 1.5rem;
  }
  .fs_md_25 {
    font-size: 1.5625rem;
  }
  .fs_md_26 {
    font-size: 1.625rem;
  }
  .fs_md_27 {
    font-size: 1.6875rem;
  }
  .fs_md_28 {
    font-size: 1.75rem;
  }
  .fs_md_29 {
    font-size: 1.8125rem;
  }
  .fs_md_30 {
    font-size: 1.875rem;
  }
  .fs_md_31 {
    font-size: 1.9375rem;
  }
  .fs_md_32 {
    font-size: 2rem;
  }
  .fs_md_33 {
    font-size: 2.0625rem;
  }
  .fs_md_34 {
    font-size: 2.125rem;
  }
  .fs_md_35 {
    font-size: 2.1875rem;
  }
  .fs_md_36 {
    font-size: 2.25rem;
  }
  .fs_md_37 {
    font-size: 2.3125rem;
  }
  .fs_md_38 {
    font-size: 2.375rem;
  }
  .fs_md_39 {
    font-size: 2.4375rem;
  }
  .fs_md_40 {
    font-size: 2.5rem;
  }
  .fs_md_41 {
    font-size: 2.5625rem;
  }
  .fs_md_42 {
    font-size: 2.625rem;
  }
  .fs_md_43 {
    font-size: 2.6875rem;
  }
  .fs_md_44 {
    font-size: 2.75rem;
  }
  .fs_md_45 {
    font-size: 2.8125rem;
  }
  .fs_md_46 {
    font-size: 2.875rem;
  }
  .fs_md_47 {
    font-size: 2.9375rem;
  }
  .fs_md_48 {
    font-size: 3rem;
  }
  .fs_md_49 {
    font-size: 3.0625rem;
  }
  .fs_md_50 {
    font-size: 3.125rem;
  }
  .fs_md_51 {
    font-size: 3.1875rem;
  }
  .fs_md_52 {
    font-size: 3.25rem;
  }
  .fs_md_53 {
    font-size: 3.3125rem;
  }
  .fs_md_54 {
    font-size: 3.375rem;
  }
  .fs_md_55 {
    font-size: 3.4375rem;
  }
  .fs_md_56 {
    font-size: 3.5rem;
  }
  .fs_md_57 {
    font-size: 3.5625rem;
  }
  .fs_md_58 {
    font-size: 3.625rem;
  }
  .fs_md_59 {
    font-size: 3.6875rem;
  }
  .fs_md_60 {
    font-size: 3.75rem;
  }
  .fs_md_61 {
    font-size: 3.8125rem;
  }
  .fs_md_62 {
    font-size: 3.875rem;
  }
  .fs_md_63 {
    font-size: 3.9375rem;
  }
  .fs_md_64 {
    font-size: 4rem;
  }
  .fs_md_65 {
    font-size: 4.0625rem;
  }
  .fs_md_66 {
    font-size: 4.125rem;
  }
  .fs_md_67 {
    font-size: 4.1875rem;
  }
  .fs_md_68 {
    font-size: 4.25rem;
  }
  .fs_md_69 {
    font-size: 4.3125rem;
  }
  .fs_md_70 {
    font-size: 4.375rem;
  }
  .fs_md_71 {
    font-size: 4.4375rem;
  }
  .fs_md_72 {
    font-size: 4.5rem;
  }
  .fs_md_73 {
    font-size: 4.5625rem;
  }
  .fs_md_74 {
    font-size: 4.625rem;
  }
  .fs_md_75 {
    font-size: 4.6875rem;
  }
  .fs_md_76 {
    font-size: 4.75rem;
  }
  .fs_md_77 {
    font-size: 4.8125rem;
  }
  .fs_md_78 {
    font-size: 4.875rem;
  }
  .fs_md_79 {
    font-size: 4.9375rem;
  }
  .fs_md_80 {
    font-size: 5rem;
  }
  .fs_md_81 {
    font-size: 5.0625rem;
  }
  .fs_md_82 {
    font-size: 5.125rem;
  }
  .fs_md_83 {
    font-size: 5.1875rem;
  }
  .fs_md_84 {
    font-size: 5.25rem;
  }
  .fs_md_85 {
    font-size: 5.3125rem;
  }
  .fs_md_86 {
    font-size: 5.375rem;
  }
  .fs_md_87 {
    font-size: 5.4375rem;
  }
  .fs_md_88 {
    font-size: 5.5rem;
  }
  .fs_md_89 {
    font-size: 5.5625rem;
  }
  .fs_md_90 {
    font-size: 5.625rem;
  }
  .fs_md_91 {
    font-size: 5.6875rem;
  }
  .fs_md_92 {
    font-size: 5.75rem;
  }
  .fs_md_93 {
    font-size: 5.8125rem;
  }
  .fs_md_94 {
    font-size: 5.875rem;
  }
  .fs_md_95 {
    font-size: 5.9375rem;
  }
  .fs_md_96 {
    font-size: 6rem;
  }
  .fs_md_97 {
    font-size: 6.0625rem;
  }
  .fs_md_98 {
    font-size: 6.125rem;
  }
  .fs_md_99 {
    font-size: 6.1875rem;
  }
  .fs_md_100 {
    font-size: 6.25rem;
  }
  .fs_md_101 {
    font-size: 6.3125rem;
  }
  .fs_md_102 {
    font-size: 6.375rem;
  }
  .fs_md_103 {
    font-size: 6.4375rem;
  }
  .fs_md_104 {
    font-size: 6.5rem;
  }
  .fs_md_105 {
    font-size: 6.5625rem;
  }
  .fs_md_106 {
    font-size: 6.625rem;
  }
  .fs_md_107 {
    font-size: 6.6875rem;
  }
  .fs_md_108 {
    font-size: 6.75rem;
  }
  .fs_md_109 {
    font-size: 6.8125rem;
  }
  .fs_md_110 {
    font-size: 6.875rem;
  }
}
@media screen and (min-width: 1200px) {
  .fs_xl_10 {
    font-size: 0.625rem;
  }
  .fs_xl_11 {
    font-size: 0.6875rem;
  }
  .fs_xl_12 {
    font-size: 0.75rem;
  }
  .fs_xl_13 {
    font-size: 0.8125rem;
  }
  .fs_xl_14 {
    font-size: 0.875rem;
  }
  .fs_xl_15 {
    font-size: 0.9375rem;
  }
  .fs_xl_16 {
    font-size: 1rem;
  }
  .fs_xl_17 {
    font-size: 1.0625rem;
  }
  .fs_xl_18 {
    font-size: 1.125rem;
  }
  .fs_xl_19 {
    font-size: 1.1875rem;
  }
  .fs_xl_20 {
    font-size: 1.25rem;
  }
  .fs_xl_21 {
    font-size: 1.3125rem;
  }
  .fs_xl_22 {
    font-size: 1.375rem;
  }
  .fs_xl_23 {
    font-size: 1.4375rem;
  }
  .fs_xl_24 {
    font-size: 1.5rem;
  }
  .fs_xl_25 {
    font-size: 1.5625rem;
  }
  .fs_xl_26 {
    font-size: 1.625rem;
  }
  .fs_xl_27 {
    font-size: 1.6875rem;
  }
  .fs_xl_28 {
    font-size: 1.75rem;
  }
  .fs_xl_29 {
    font-size: 1.8125rem;
  }
  .fs_xl_30 {
    font-size: 1.875rem;
  }
  .fs_xl_31 {
    font-size: 1.9375rem;
  }
  .fs_xl_32 {
    font-size: 2rem;
  }
  .fs_xl_33 {
    font-size: 2.0625rem;
  }
  .fs_xl_34 {
    font-size: 2.125rem;
  }
  .fs_xl_35 {
    font-size: 2.1875rem;
  }
  .fs_xl_36 {
    font-size: 2.25rem;
  }
  .fs_xl_37 {
    font-size: 2.3125rem;
  }
  .fs_xl_38 {
    font-size: 2.375rem;
  }
  .fs_xl_39 {
    font-size: 2.4375rem;
  }
  .fs_xl_40 {
    font-size: 2.5rem;
  }
  .fs_xl_41 {
    font-size: 2.5625rem;
  }
  .fs_xl_42 {
    font-size: 2.625rem;
  }
  .fs_xl_43 {
    font-size: 2.6875rem;
  }
  .fs_xl_44 {
    font-size: 2.75rem;
  }
  .fs_xl_45 {
    font-size: 2.8125rem;
  }
  .fs_xl_46 {
    font-size: 2.875rem;
  }
  .fs_xl_47 {
    font-size: 2.9375rem;
  }
  .fs_xl_48 {
    font-size: 3rem;
  }
  .fs_xl_49 {
    font-size: 3.0625rem;
  }
  .fs_xl_50 {
    font-size: 3.125rem;
  }
  .fs_xl_51 {
    font-size: 3.1875rem;
  }
  .fs_xl_52 {
    font-size: 3.25rem;
  }
  .fs_xl_53 {
    font-size: 3.3125rem;
  }
  .fs_xl_54 {
    font-size: 3.375rem;
  }
  .fs_xl_55 {
    font-size: 3.4375rem;
  }
  .fs_xl_56 {
    font-size: 3.5rem;
  }
  .fs_xl_57 {
    font-size: 3.5625rem;
  }
  .fs_xl_58 {
    font-size: 3.625rem;
  }
  .fs_xl_59 {
    font-size: 3.6875rem;
  }
  .fs_xl_60 {
    font-size: 3.75rem;
  }
  .fs_xl_61 {
    font-size: 3.8125rem;
  }
  .fs_xl_62 {
    font-size: 3.875rem;
  }
  .fs_xl_63 {
    font-size: 3.9375rem;
  }
  .fs_xl_64 {
    font-size: 4rem;
  }
  .fs_xl_65 {
    font-size: 4.0625rem;
  }
  .fs_xl_66 {
    font-size: 4.125rem;
  }
  .fs_xl_67 {
    font-size: 4.1875rem;
  }
  .fs_xl_68 {
    font-size: 4.25rem;
  }
  .fs_xl_69 {
    font-size: 4.3125rem;
  }
  .fs_xl_70 {
    font-size: 4.375rem;
  }
}
.fw_100 {
  font-weight: 100 !important;
}

.fw_200 {
  font-weight: 200 !important;
}

.fw_300 {
  font-weight: 300 !important;
}

.fw_400 {
  font-weight: 400 !important;
}

.fw_500 {
  font-weight: 500 !important;
}

.fw_600 {
  font-weight: 600 !important;
}

.fw_700 {
  font-weight: 700 !important;
}

.fw_800 {
  font-weight: 800 !important;
}

.fw_900 {
  font-weight: 900 !important;
}

.redc {
  color: red;
}

.ls_n050rem {
  letter-spacing: -0.5rem;
}

.ls_n030rem {
  letter-spacing: -0.3rem;
}

.ls_n020rem {
  letter-spacing: -0.2rem;
}

.ls_n010rem {
  letter-spacing: -0.1rem;
}

.ls_n001rem {
  letter-spacing: -0.01rem;
}

.ls_000rem {
  letter-spacing: 0rem;
}

.ls_010rem {
  letter-spacing: 0.1rem;
}

.ls_015rem {
  letter-spacing: 0.15rem;
}

.ls_020rem {
  letter-spacing: 0.2rem;
}

.ls_025rem {
  letter-spacing: 0.25rem;
}

.ls_030rem {
  letter-spacing: 0.3rem;
}

.ls_035rem {
  letter-spacing: 0.35rem;
}

.ls_040rem {
  letter-spacing: 0.4rem;
}

.ls_045rem {
  letter-spacing: 0.45rem;
}

.ls_050rem {
  letter-spacing: 0.5rem;
}

.lh_000 {
  line-height: 0 !important;
}

.lh_010 {
  line-height: 0.1 !important;
}

.lh_025 {
  line-height: 0.25 !important;
}

.lh_050 {
  line-height: 0.5 !important;
}

.lh_100 {
  line-height: 1 !important;
}

.lh_110 {
  line-height: 1.1 !important;
}

.lh_120 {
  line-height: 1.2 !important;
}

.lh_130 {
  line-height: 1.3 !important;
}

.lh_140 {
  line-height: 1.4 !important;
}

.lh_150 {
  line-height: 1.5 !important;
}

.lh_160 {
  line-height: 1.6 !important;
}

.lh_170 {
  line-height: 1.7 !important;
}

.lh_180 {
  line-height: 1.8 !important;
}

.lh_190 {
  line-height: 1.9 !important;
}

.lh_200 {
  line-height: 2 !important;
}

.lh_250 {
  line-height: 2.5 !important;
}

.lh_300 {
  line-height: 3 !important;
}

.lh_350 {
  line-height: 3.5 !important;
}

.w_1h {
  width: 1.5rem;
}

.w_2h {
  width: 2.5rem;
}

.w_3h {
  width: 3.5rem;
}

.w_4h {
  width: 4.5rem;
}

.w_5h {
  width: 5.5rem;
}

.w_6h {
  width: 6.5rem;
}

.w_7h {
  width: 7.5rem;
}

.w_8h {
  width: 8.5rem;
}

.w_9h {
  width: 9.5rem;
}

.w_10h {
  width: 10.5rem;
}

.w_11h {
  width: 11.5rem;
}

@media screen and (min-width: 768px) {
  .w_md_1h {
    width: 1.5rem;
  }
  .w_md_2h {
    width: 2.5rem;
  }
  .w_md_3h {
    width: 3.5rem;
  }
  .w_md_4h {
    width: 4.5rem;
  }
  .w_md_5h {
    width: 5.5rem;
  }
  .w_md_6h {
    width: 6.5rem;
  }
  .w_md_7h {
    width: 7.5rem;
  }
  .w_md_8h {
    width: 8.5rem;
  }
  .w_md_9h {
    width: 9.5rem;
  }
  .w_md_10h {
    width: 10.5rem;
  }
  .w_md_11h {
    width: 11.5rem;
  }
}
@media screen and (min-width: 992px) {
  .w_lg_1h {
    width: 1.5rem;
  }
  .w_lg_2h {
    width: 2.5rem;
  }
  .w_lg_3h {
    width: 3.5rem;
  }
  .w_lg_4h {
    width: 4.5rem;
  }
  .w_lg_5h {
    width: 5.5rem;
  }
  .w_lg_6h {
    width: 6.5rem;
  }
  .w_lg_7h {
    width: 7.5rem;
  }
  .w_lg_8h {
    width: 8.5rem;
  }
  .w_lg_9h {
    width: 9.5rem;
  }
  .w_lg_10h {
    width: 10.5rem;
  }
  .w_lg_11h {
    width: 11.5rem;
  }
}
@media screen and (min-width: 1200px) {
  .w_xl_1h {
    width: 1.5rem;
  }
  .w_xl_2h {
    width: 2.5rem;
  }
  .w_xl_3h {
    width: 3.5rem;
  }
  .w_xl_4h {
    width: 4.5rem;
  }
  .w_xl_5h {
    width: 5.5rem;
  }
  .w_xl_6h {
    width: 6.5rem;
  }
  .w_xl_7h {
    width: 7.5rem;
  }
  .w_xl_8h {
    width: 8.5rem;
  }
  .w_xl_9h {
    width: 9.5rem;
  }
  .w_xl_10h {
    width: 10.5rem;
  }
  .w_xl_11h {
    width: 11.5rem;
  }
}
.h_1h {
  height: 1.5rem;
}

.h_2h {
  height: 2.5rem;
}

.h_3h {
  height: 3.5rem;
}

.h_4h {
  height: 4.5rem;
}

.h_5h {
  height: 5.5rem;
}

.h_6h {
  height: 6.5rem;
}

.h_7h {
  height: 7.5rem;
}

.h_8h {
  height: 8.5rem;
}

.h_9h {
  height: 9.5rem;
}

.h_10h {
  height: 10.5rem;
}

.h_11h {
  height: 11.5rem;
}

@media screen and (min-width: 768px) {
  .h_md_1h {
    height: 1.5rem;
  }
  .h_md_2h {
    height: 2.5rem;
  }
  .h_md_3h {
    height: 3.5rem;
  }
  .h_md_4h {
    height: 4.5rem;
  }
  .h_md_5h {
    height: 5.5rem;
  }
  .h_md_6h {
    height: 6.5rem;
  }
  .h_md_7h {
    height: 7.5rem;
  }
  .h_md_8h {
    height: 8.5rem;
  }
  .h_md_9h {
    height: 9.5rem;
  }
  .h_md_10h {
    height: 10.5rem;
  }
  .h_md_11h {
    height: 11.5rem;
  }
}
@media screen and (min-width: 992px) {
  .h_lg_1h {
    height: 1.5rem;
  }
  .h_lg_2h {
    height: 2.5rem;
  }
  .h_lg_3h {
    height: 3.5rem;
  }
  .h_lg_4h {
    height: 4.5rem;
  }
  .h_lg_5h {
    height: 5.5rem;
  }
  .h_lg_6h {
    height: 6.5rem;
  }
  .h_lg_7h {
    height: 7.5rem;
  }
  .h_lg_8h {
    height: 8.5rem;
  }
  .h_lg_9h {
    height: 9.5rem;
  }
  .h_lg_10h {
    height: 10.5rem;
  }
  .h_lg_11h {
    height: 11.5rem;
  }
}
@media screen and (min-width: 1200px) {
  .h_xl_1h {
    height: 1.5rem;
  }
  .h_xl_2h {
    height: 2.5rem;
  }
  .h_xl_3h {
    height: 3.5rem;
  }
  .h_xl_4h {
    height: 4.5rem;
  }
  .h_xl_5h {
    height: 5.5rem;
  }
  .h_xl_6h {
    height: 6.5rem;
  }
  .h_xl_7h {
    height: 7.5rem;
  }
  .h_xl_8h {
    height: 8.5rem;
  }
  .h_xl_9h {
    height: 9.5rem;
  }
  .h_xl_10h {
    height: 10.5rem;
  }
  .h_xl_11h {
    height: 11.5rem;
  }
}
.text_underLine {
  text-decoration: underline;
}

.rounded10px {
  border-radius: 0.625rem;
}

.rounded15px {
  border-radius: 0.9375rem;
}

.rounded18px {
  border-radius: 1.125rem;
}

.rounded32px {
  border-radius: 2.5rem;
}

.rounded_top10px {
  border-top-left-radius: 0.625rem;
  border-top-right-radius: 0.625rem;
}

.rounded_top15px {
  border-top-left-radius: 0.9375rem;
  border-top-right-radius: 0.9375rem;
}

.rounded_top25px {
  border-top-left-radius: 1.6rem;
  border-top-right-radius: 1.6rem;
}

.rounded_bt10px {
  border-bottom-left-radius: 0.625rem;
  border-bottom-right-radius: 0.625rem;
}

.rounded_bt15px {
  border-bottom-left-radius: 0.9375rem;
  border-bottom-right-radius: 0.9375rem;
}

.rounded_md {
  border-radius: 1rem;
}

.rounded_lg {
  border-radius: 2rem;
}

.bdr_cGray_1px_solid {
  border: #cccccc 1px solid !important;
}

.bdrBt_cMain_3px_solid {
  border-bottom: #0000e6 3px solid !important;
}

.arrow-right {
  display: inline-block;
  vertical-align: middle;
  color: #0000e6;
  line-height: 1;
  position: relative;
  top: -3px;
  width: 1.2em;
  height: 2px;
  background: currentColor;
  margin-left: 7px;
}

.arrow-right::before {
  content: "";
  width: 0.55em;
  height: 0.55em;
  border: 2px solid currentColor;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(45deg);
  transform-origin: top right;
  position: absolute;
  top: 50%;
  right: -0.05em;
  box-sizing: border-box;
}

nav {
  position: fixed;
  inset: 0 0 auto 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding-top: clamp(15px, 2.5vw, 45px);
  padding-right: clamp(15px, 2.5vw, 45px);
  z-index: 1000;
}

.site-logo {
  opacity: 0;
  transition: opacity 0.25s ease, transform 0.25s ease;
  position: relative;
}
.site-logo img {
  position: absolute;
  top: 0;
  left: clamp(15px, 2.5vw, 45px);
  border: 1px solid rgb(255, 255, 255);
  height: clamp(60px, 5.2vw, 80px);
  width: auto;
  display: block;
}

body.page-sub .site-logo {
  opacity: 1;
  transform: none;
}

body.page-top .site-logo {
  opacity: 0;
  transform: translateY(0);
}

body.page-top.scrolled-past-fv .site-logo {
  opacity: 1;
  transform: none;
}

.entry-button {
  width: clamp(80px, 24vw, 200px);
  aspect-ratio: 20/9;
  display: grid;
  place-items: center;
  background: #0000e6;
  color: rgb(255, 255, 255);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 400;
  font-size: clamp(24px, 6.4vw, 57px);
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border: none;
  padding: 0;
  position: relative;
  overflow: hidden;
  border: 1px solid rgb(255, 255, 255);
}
.entry-button::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: repeating-linear-gradient(-45deg, transparent 0 5px, #0000e6 0 7px);
  opacity: 0;
  transition: opacity 0.25s ease;
}
.entry-button:hover {
  background: rgb(255, 255, 255);
  color: #0000e6;
}
.entry-button:hover::before {
  opacity: 1;
}

#modal_entry .modal-body {
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
#modal_entry .modal-body::-webkit-scrollbar {
  display: none;
}
#modal_entry .modal-dialog {
  width: 100vw;
  max-width: 100%;
  height: 100vh;
}
#modal_entry .modal-content {
  border: 0;
  border-radius: 0px;
  overflow: hidden;
  position: relative;
  padding: 30px 30px 0;
  background-color: #0000e6;
  background-color: rgba(0, 0, 230, 0.8);
  height: 100vh;
}
#modal_entry .modal-title {
  margin: 0 48px 6px 0;
  line-height: 1.3;
}
#modal_entry .modal-lead {
  margin: 0 48px 14px 0;
  line-height: 1.6;
}
#modal_entry .modal-body {
  max-height: 100vh;
  overflow-y: auto;
  padding: 0 0 30px;
}
#modal_entry .modal-body img {
  display: block;
  width: 100%;
  height: auto;
}
#modal_entry .btn-close {
  position: absolute;
  top: -5px;
  right: 0px;
  width: 75px;
  height: 75px;
  border: none;
  background: none;
  cursor: pointer;
  opacity: 1;
  z-index: 2;
  transition: transform 0.5s ease;
}
#modal_entry .btn-close::before, #modal_entry .btn-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 60%;
  height: 2px;
  background-color: #fff;
  transform-origin: center;
}
#modal_entry .btn-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
#modal_entry .btn-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
#modal_entry .btn-close:hover {
  transform: rotate(360deg);
}
#modal_entry #entry_area {
  color: rgb(255, 255, 255);
  padding: 5px 0 0 0;
}
#modal_entry #entry_area .container {
  position: relative;
}
#modal_entry #entry_area .container > .row > div:first-child {
  border-bottom: 2px solid rgb(255, 255, 255);
  padding-bottom: 25px;
  margin-bottom: clamp(18px, 5vw, 28px);
}
#modal_entry #entry_area h2 {
  font-size: clamp(86px, 16vw, 180px);
  margin-bottom: clamp(15px, 4vw, 30px);
  padding-bottom: 0;
  line-height: 0.75;
}
#modal_entry #entry_area h3 {
  font-size: clamp(19px, 5vw, 40px);
  line-height: 1;
  letter-spacing: 0.12em;
  margin: 0.2em 0 0;
}
#modal_entry #entry_area .container > .row > div:last-child p {
  font-size: clamp(18px, 3vw, 33px);
  line-height: 1.2;
}
#modal_entry #entry_area .container > .row > div:last-child p:nth-of-type(3) span {
  font-size: clamp(16px, 2vw, 27px);
  line-height: 2;
}
#modal_entry #entry_area .container > .row > div:last-child p:nth-of-type(4) {
  font-size: clamp(10px, 1.7vw, 12px);
  margin-top: 10px;
}
#modal_entry #entry_area .container > .row > div:last-child .recruit_link {
  width: 100%;
  max-width: 430px;
}
#modal_entry #entry_area .container > .row > div:last-child .recruit_link a {
  padding: clamp(14px, 4vw, 40px);
  margin-top: 10px;
  display: inline-block;
}
#modal_entry #entry_area .container > .row > div:last-child .recruit_link a:hover {
  opacity: 0.8;
}
#modal_entry #entry_area .container > .row > div:last-child .recruit_link a:nth-of-type(1) img {
  display: block;
  width: 60%;
  height: auto;
}
#modal_entry #entry_area .container > .row > div:last-child .recruit_link a:nth-of-type(2) img,
#modal_entry #entry_area .container > .row > div:last-child .recruit_link a:nth-of-type(3) img {
  display: block;
  width: 100%;
  height: auto;
}
#modal_entry #entry_area .container > .row > div:last-child .recruit_link .miidas p {
  font-size: clamp(10px, 1.5vw, 12px);
}
@media screen and (min-width: 768px) {
  #modal_entry #entry_area .container > .row {
    align-items: center;
    margin-top: 50px;
  }
  #modal_entry #entry_area .container > .row > div:first-child {
    border: none;
    padding-right: clamp(16px, 3vw, 32px);
    margin-bottom: 0;
  }
  #modal_entry #entry_area .container > .row::after {
    content: "";
    position: absolute;
    left: 36%;
    top: -40px;
    bottom: -40px;
    width: 2px;
    background: rgb(255, 255, 255);
    pointer-events: none;
  }
}

h2 {
  text-align: left;
  font-size: clamp(12px, 2.5vw, 26px);
  line-height: 1.2;
}

#sitetop h1 {
  position: fixed;
  text-align: center;
  margin: 0 auto;
  margin-top: -10vh;
  padding: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 0;
}
#sitetop h1 img {
  height: auto;
  margin-bottom: clamp(6px, 1vw, 12px);
}
#sitetop h1 .logomark {
  width: clamp(36px, 9vw, 70px);
}
#sitetop h1 .logotype {
  width: clamp(108px, 25vw, 204px);
}

.start {
  position: relative;
  top: 61vh;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
  z-index: 1;
}

#about h2 {
  margin-bottom: clamp(30px, 4vw, 60px);
}
#about .container {
  padding-top: clamp(60px, 7vw, 110px);
  padding-bottom: clamp(60px, 7vw, 110px);
  padding-right: 2rem;
  padding-left: 2.5rem;
}

.text_scroll {
  text-align: center;
  font-size: clamp(18px, 4vw, 32px);
  font-weight: 400;
  line-height: 1.2;
  color: #0000e6;
}
.text_scroll .icon_arrow01 {
  width: clamp(4px, 0.9vw, 7px);
  height: auto;
  margin-left: 3px;
  vertical-align: baseline;
}

.text_philliesgallery {
  text-align: left;
  width: 100vw;
  font-size: 41vw;
  font-weight: 400;
  line-height: 0.7;
  margin-left: -1vw;
  padding-top: 20px;
  overflow: hidden;
}
@media screen and (min-width: 576px) {
  .text_philliesgallery {
    font-size: 19.4vw;
  }
}

.text_concept {
  text-align: left;
  font-size: clamp(16px, 4.5vw, 40px);
  margin-top: 20px;
  margin-left: -4px;
  margin-bottom: clamp(40px, 11vw, 110px);
  letter-spacing: clamp(0.1rem, 0.8vw, 0.5rem);
  line-height: 2;
}
.text_concept span {
  color: rgb(255, 255, 255);
}

.text_concept_en {
  text-align: left;
  font-size: clamp(10px, 2.6vw, 20px);
  letter-spacing: 0.05rem;
  line-height: 1.5;
}
.text_concept_en span {
  color: rgb(255, 255, 255);
}

#office .container {
  padding-top: clamp(60px, 7vw, 110px);
  padding-bottom: clamp(60px, 7vw, 110px);
  padding-left: 15px;
  padding-right: 15px;
}
@media screen and (min-width: 1200px) {
  #office .container {
    padding-left: 0;
    padding-right: 0;
  }
}
#office h2 {
  margin-bottom: clamp(7px, 2vw, 15px);
}
#office h3 {
  font-size: clamp(111px, 17vw, 200px);
  margin-bottom: clamp(10px, 2vw, 15px);
  margin-left: -5px;
  line-height: 0.75;
}
#office h3 span {
  letter-spacing: -0.2rem !important;
  color: #0000e6;
}

.link_kiito {
  font-size: clamp(26px, 2.8vw, 35px);
  line-height: 0.75;
  margin-bottom: clamp(15px, 2vw, 20px);
  position: relative;
  display: inline-block;
  color: #0000e6;
  text-decoration: none;
  padding: 2px 2px 2px 1px;
  overflow: hidden;
  z-index: 0;
  transition: color 0.2s ease;
}
.link_kiito::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #0000e6;
  transform: translateX(-100%);
  transition: transform 0.4s ease;
  z-index: -1;
}
.link_kiito:hover {
  color: rgb(255, 255, 255);
}
.link_kiito:hover .arrow-right {
  color: rgb(255, 255, 255);
}
.link_kiito:hover::before {
  transform: translateX(0);
}

.text_address {
  font-size: clamp(16px, 3.5vw, 23px);
  line-height: 1.4;
  margin-bottom: clamp(20px, 3vw, 40px);
  letter-spacing: 0.02rem;
}

#works_banner {
  padding-bottom: clamp(60px, 7vw, 110px);
}
#works_banner > a {
  background: #0000e6;
  display: block;
  position: relative;
  background: #0000e6;
  opacity: 1 !important;
  transition: background-color 0.35s ease;
  overflow: hidden;
}
#works_banner > a::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0;
  transition: opacity 0.35s ease;
  background-image: repeating-linear-gradient(-45deg, #0000e6 0 2px, rgba(0, 0, 0, 0) 2px 10px);
  pointer-events: none;
}
#works_banner > a > * {
  position: relative;
  z-index: 1;
}
#works_banner > a:hover {
  background: rgb(255, 255, 255);
  opacity: 1 !important;
}
#works_banner > a:hover::before {
  opacity: 1;
}
#works_banner > a:hover .cWhite {
  color: #0000e6 !important;
}
#works_banner > a:hover .text_viewmore .arrow-right {
  color: #0000e6 !important;
}
#works_banner h2 {
  font-size: clamp(111px, 17vw, 200px);
  margin-bottom: 235px;
  margin-left: -3px;
  margin-top: -1px;
  line-height: 0.75;
}
@media screen and (min-width: 768px) {
  #works_banner h2 {
    margin-bottom: 155px;
  }
}

.text_viewmore {
  font-size: clamp(58px, 15vw, 75px);
  line-height: 0.73;
  margin-right: -4px;
}
@media screen and (min-width: 768px) {
  .text_viewmore {
    margin-right: 20px;
    margin-bottom: 20px;
  }
}
.text_viewmore .arrow-right {
  color: rgb(255, 255, 255);
  width: 0.5em;
}
.text_viewmore .arrow-right::before {
  width: 0.3em;
  height: 0.3em;
  right: -0.03em;
}

#marquee span {
  margin-right: clamp(20px, 5vw, 40px);
}

.marquee_right {
  padding-top: clamp(3px, 0.8vw, 8px);
  padding-bottom: clamp(3px, 0.8vw, 8px);
  display: flex;
  gap: 2rem;
  overflow: hidden;
  white-space: nowrap;
  line-height: 1;
  align-items: center;
}
.marquee_right span {
  color: rgb(255, 255, 255);
  font-size: clamp(50px, 13vw, 90px);
}
.marquee_right .marquee__group {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 2rem;
  min-width: 100%;
  animation: marquee-scroll 18s linear infinite;
  will-change: transform;
}
@keyframes marquee-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .marquee_right .marquee__group {
    animation: none;
  }
}

.marquee_left {
  padding-top: clamp(12px, 2vw, 20px);
  padding-bottom: clamp(12px, 2vw, 20px);
  display: flex;
  gap: 2rem;
  overflow: hidden;
  white-space: nowrap;
  line-height: 1;
  align-items: center;
  color: #0000e6;
}
.marquee_left span {
  color: #0000e6;
  font-size: clamp(26px, 13vw, 48px);
  font-weight: 700;
}
.marquee_left .marquee__group {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 2rem;
  min-width: 100%;
  animation: marquee-scroll-left 25s linear infinite;
  will-change: transform;
}
@keyframes marquee-scroll-left {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}

#info {
  padding-top: clamp(60px, 7vw, 110px);
  padding-bottom: clamp(60px, 7vw, 110px);
  font-size: clamp(16px, 4vw, 23px);
  color: rgb(255, 255, 255);
}
#info th {
  width: clamp(80px, 21vw, 140px);
  align-content: flex-start;
  font-weight: normal;
}
#info td {
  color: rgb(255, 255, 255);
}

#copyright .container {
  padding-bottom: clamp(60px, 7vw, 110px);
  font-size: 13px;
  color: rgb(255, 255, 255);
}

#works h1 {
  font-size: clamp(111px, 17vw, 200px);
  margin-top: clamp(100px, 27vw, 210px);
  margin-bottom: clamp(50px, 14vw, 100px);
  margin-left: 0px;
  line-height: 0.8;
}
#works h1 span {
  letter-spacing: -0.2rem !important;
  color: #0000e6;
}
#works h1 span:last-child {
  margin-right: 3px;
}
#works h2 {
  font-size: clamp(35px, 10vw, 70px);
  margin-bottom: clamp(30px, 8vw, 75px);
  margin-left: 0px;
  padding-bottom: 10px;
  line-height: 0.75;
}
#works .thumb-frame {
  display: block;
  border: 1px solid #ccc;
  overflow: hidden;
  cursor: pointer;
}
#works .works_thumbnail {
  display: block;
  width: 100%;
  transform: scale(1);
  transform-origin: center;
  transition: transform 0.35s ease;
}
#works .thumb-frame:hover .works_thumbnail {
  transform: scale(1.08);
}
#works a {
  text-decoration: none !important;
}
#works .works_linktext {
  transition: color 0.25s ease;
}
#works .works_linktext:hover {
  color: #9fbff0;
  cursor: pointer;
}
#works a:hover .works_linktext {
  color: #9fbff0;
}

.modal_graphic .modal-dialog,
.modal_store .modal-dialog {
  width: 92vw;
  max-width: 1200px;
}
.modal_graphic .modal-content,
.modal_store .modal-content {
  border: 0;
  border-radius: 0px;
  overflow: hidden;
  position: relative;
  padding: 30px 30px 0;
}
.modal_graphic .modal-title,
.modal_store .modal-title {
  margin: 0 48px 6px 0;
  line-height: 1.3;
}
.modal_graphic .modal-lead,
.modal_store .modal-lead {
  margin: 0 48px 14px 0;
  line-height: 1.6;
}
.modal_graphic .modal-body,
.modal_store .modal-body {
  max-height: 80vh;
  overflow-y: auto;
  padding: 0 0 30px;
}
.modal_graphic .modal-body img,
.modal_store .modal-body img {
  display: block;
  width: 100%;
  height: auto;
}
.modal_graphic .btn-close,
.modal_store .btn-close {
  position: absolute;
  top: -5px;
  right: 0px;
  width: 75px;
  height: 75px;
  border: none;
  background: none;
  cursor: pointer;
  opacity: 1;
  z-index: 2;
  transition: transform 0.5s ease;
}
.modal_graphic .btn-close::before, .modal_graphic .btn-close::after,
.modal_store .btn-close::before,
.modal_store .btn-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 60%;
  height: 1px;
  background-color: #000;
  transform-origin: center;
}
.modal_graphic .btn-close::before,
.modal_store .btn-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.modal_graphic .btn-close::after,
.modal_store .btn-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.modal_graphic .btn-close:hover,
.modal_store .btn-close:hover {
  transform: rotate(360deg);
}

.anime_bounce {
  animation: bounce 1.2s infinite;
  animation-timing-function: cubic-bezier(0.28, 0.84, 0.42, 1);
}

@keyframes bounce {
  0%, 100% {
    transform: translateY(0);
  }
  30% {
    transform: translateY(-15px);
  }
  50% {
    transform: translateY(0);
  }
  70% {
    transform: translateY(-8px);
  }
}
.anime_wipe .wipe {
  position: relative;
  display: inline-block;
  overflow: hidden;
  opacity: 0;
}

.anime_wipe .wipe::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #0000e6;
  transform: translateX(0%);
}

.anime_wipe .wipe.is-inview {
  animation: textUpFade 1s ease forwards;
  animation-delay: calc(var(--d, 0s) + 0.1s);
}

.anime_wipe .wipe.is-inview::after {
  animation: wipeOut 1.6s cubic-bezier(0.2, 0.7, 0.2, 1) forwards;
  animation-delay: var(--d, 0s);
}

@keyframes textUpFade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes wipeOut {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(101%);
  }
}
.anime_block {
  position: relative;
  display: inline-block;
  opacity: 0;
  overflow: hidden;
}

.anime_block::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #0000e6;
  transform: translateX(0%);
}

.anime_block.is-inview {
  animation: blockFade 0.9s ease forwards;
  animation-delay: 0.1s;
}

.anime_block.is-inview::after {
  animation: blockWipe 2s cubic-bezier(0.2, 0.7, 0.2, 1) forwards;
}

@keyframes blockFade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes blockWipe {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(101%);
  }
}
.anime_steps {
  display: inline-block;
  overflow: hidden;
}

.anime_steps .step-ch {
  display: inline-block;
  opacity: 0;
  transform: translateY(120%);
  will-change: transform, opacity;
}

.anime_steps.is-inview .step-ch {
  animation: stepRise var(--dur, 0.6s) cubic-bezier(0.2, 0.7, 0.2, 1) forwards;
  animation-delay: calc(var(--i) * var(--delay, 0.06s));
}

@keyframes stepRise {
  from {
    transform: translateY(120%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}