@import url("https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,400;1,800&family=M+PLUS+1p&display=swap");
/**/
@media screen and (min-width: 751px) {
  html {
    /*font-size: 10px;*/
    font-size: 10px; } }
@media screen and (max-width: 750px) {
  html {
    font-size: 2.667vw; } }

body {
  margin: 0;
  font-weight: 400;
  font-family: "M PLUS 1p", sans-serif;
  font-style: normal;
  color: #F5F2EC;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  position: relative;
  line-height: 0;
  background: #fff;
  overflow-x: hidden; }

.txt_en_i {
  font-family: "Barlow", sans-serif;
  font-weight: 800;
  font-style: italic; }

html {
  height: -webkit-fill-available; }

body {
  min-height: 100vh;
  min-height: -webkit-fill-available; }

img {
  vertical-align: bottom;
  will-change: transform; }

img, svg {
  width: 100%;
  height: auto; }

a {
  text-decoration: none;
  color: inherit;
  color: #F5F2EC; }

h1, h2, h3, h4, h5, p, dl, dt, dd, ul, ol, li, figure {
  margin: 0;
  padding: 0; }

ul, ol {
  list-style: none; }

@media screen and (max-width: 750px) {
  .pcv {
    display: none !important; } }

@media screen and (min-width: 751px) {
  .spv {
    display: none !important; } }

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

/*common*/
.slider,
.slider div {
  width: 100%;
  height: 100%; }

main {
  position: relative;
  width: 100%;
  margin: 0 auto; }
  @media screen and (min-width: 751px) {
    main {
      max-width: 37.5rem; } }

@media screen and (min-width: 751px) {
  body {
    padding-top: 4rem; } }

.general_txt {
  position: relative;
  font-weight: 400;
  letter-spacing: 0.15em; }
  @media screen and (min-width: 751px) {
    .general_txt {
      line-height: 2em;
      font-size: 1.6rem; } }
  @media screen and (max-width: 750px) {
    .general_txt {
      line-height: 1.847em;
      font-size: 2.6rem; } }

/**/
#bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  min-height: 72rem;
  z-index: 1;
  background: url("../img/pc_bg.jpg") center center no-repeat;
  background-size: cover; }

#bg .logo {
  position: absolute;
  top: 3rem;
  left: 4rem;
  width: 22.7rem;
  transition: ease-out 0.4s all; }
  @media screen and (max-width: 1320px) {
    #bg .logo {
      display: none; } }

#bg_parts {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../img/bg_parts.png") center top no-repeat;
  background-size: 185rem auto; }

#bg_circle,
#bg_chara {
  position: absolute;
  /*top: divceil(50, 10, rem);*/
  top: 50%;
  transform: translateY(-50%);
  left: 51%;
  width: 70rem;
  height: 70rem;
  overflow: hidden; }

#bg_circle img {
  animation: rotate_loop_bg 32.0s linear infinite; }

@keyframes rotate_loop_bg {
  0% {
    transform: rotate(0deg); }
  50% {
    transform: rotate(-180deg); }
  100% {
    transform: rotate(-360deg); } }
main {
  z-index: 2;
  background: #fff; }

header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 9900;
  transition: ease-out .4s all; }
  @media screen and (min-width: 751px) {
    header {
      top: 4rem; } }

/*2.00*/
header > div {
  position: relative;
  width: 100%;
  max-width: 37.5rem;
  margin: 0 auto;
  transition: ease-out 0.6s all; }

header.scr {
  top: 0 !important; }

header .logo {
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
  width: 15.4rem;
  transition: ease-out 0.4s all;
  z-index: 9900; }
  @media screen and (min-width: 1321px) {
    header .logo {
      display: none; } }

/*
.logo a img{
	transition:ease-out .6s all;
}
.logo a:hover img{
  @include mq(pc) {
	opacity: .7;
	}
}
*/
#local_nav {
  position: fixed;
  background: rgba(28, 28, 28, 0.9);
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9910;
  height: 100lvh;
  display: flex;
  /*align-items: flex-start;*/
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: ease-out 0.4s all;
  overflow-x: none;
  overflow-y: auto;
  /*padding:divceil(100, 10, rem) 0 0;*/ }
  @media screen and (min-width: 751px) {
    #local_nav {
      min-height: 78rem;
      /*padding:divceil(120, 10, rem) 0 0 !important;*/ } }
  @media screen and (min-width: 1321px) {
    #local_nav {
      left: 50% !important;
      transform: translateX(-60rem);
      width: 31.5rem !important;
      /*padding:divceil(200, 10, rem) 0 0 !important;*/
      opacity: 1 !important;
      pointer-events: none !important;
      background: none !important;
      z-index: 2 !important; } }

#local_nav.open {
  opacity: 1 !important;
  pointer-events: auto !important; }
  @media screen and (min-width: 1321px) {
    #local_nav.open {
      pointer-events: none !important; } }

#local_nav #local_nav_inner {
  position: relative;
  width: 31.5rem;
  padding: 0;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 2.4rem 0;
  transition: ease-out 0.4s all; }
  @media screen and (min-width: 1321px) {
    #local_nav #local_nav_inner {
      pointer-events: auto !important; } }

#local_nav #local_nav_inner a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 31.5rem;
  height: 10.6rem;
  background: url("../img/menu_btn.png") center center no-repeat;
  background-size: contain; }

#local_nav #local_nav_inner a span {
  position: absolute;
  top: 0.3rem;
  left: 3.5rem;
  display: inline-block;
  letter-spacing: 0.0em;
  line-height: 1em;
  font-size: 1.9rem;
  color: #fff;
  transition: ease-out 0.6s all; }

#local_nav #local_nav_inner a p {
  position: relative;
  display: block;
  width: 100%;
  text-align: center;
  font-weight: 800 !important;
  letter-spacing: 0.04em;
  line-height: 1.295em;
  font-size: 1.7rem;
  padding: 2rem 0 0;
  color: #2c57a3;
  transition: ease-out 0.6s all; }

@media screen and (min-width: 1321px) {
  #local_nav div a:hover p,
  #local_nav div a:hover span {
    opacity: .5; } }

.nav_btn {
  display: inline-block;
  position: absolute;
  top: 2.5rem;
  right: 3rem;
  width: 5.4rem;
  height: 5.4rem;
  z-index: 9980;
  cursor: pointer;
  transition: .3s;
  display: block;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  border: none;
  background: none;
  pointer-events: auto !important; }
  @media screen and (min-width: 1321px) {
    .nav_btn {
      display: none; } }

.nav_btn > span {
  display: block;
  position: absolute;
  top: 2.6rem;
  left: 0;
  width: 5.4rem;
  height: 2px;
  margin: 0;
  background: #fff;
  transition: .4s ease-in-out;
  border-radius: 0.2rem; }

.nav_btn > span:before,
.nav_btn > span:after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 4rem;
  height: 2px;
  background: #fff;
  transition: .4s ease-in-out; }

.nav_btn > span:before {
  width: 5.4rem;
  margin-top: -9px; }

.nav_btn > span:after {
  width: 5.4rem;
  margin-top: 10px; }

.nav_btn.close,
.nav_btn.close > span {
  background: transparent !important; }

.nav_btn.close > span:before, .nav_btn.close > span:after {
  margin-top: 0;
  background: #fff; }

.nav_btn.close > span:before {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg); }

.nav_btn.close > span:after {
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg); }

/**/
footer {
  position: relative;
  width: 100%;
  height: 18.5rem;
  padding: 0;
  background: url("../img/footer_bg.jpg") center top no-repeat;
  background-size: cover; }

#totop {
  position: absolute;
  display: inline-block;
  top: -5.5rem;
  left: 50%;
  transform: translate(-5.5rem);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 11rem;
  height: 11rem;
  background: url("../img/totop.png") center center no-repeat;
  background-size: contain; }

#sns_btn {
  position: absolute;
  display: inline-block;
  bottom: 5.5rem;
  left: 50%;
  transform: translate(-50%);
  width: 5.2rem;
  height: 5.2rem;
  transition: ease-out 0.6s all; }

#totop span {
  position: relative;
  display: inline-block;
  letter-spacing: 0.0em;
  line-height: 1em;
  font-size: 2.2rem;
  color: #2c57a3;
  transition: ease-out 0.6s all; }

@media screen and (min-width: 1321px) {
  #totop:hover span,
  #sns_btn:hover {
    opacity: .5; } }

footer .cc {
  position: absolute;
  display: inline-block;
  bottom: 1rem;
  left: 0;
  width: 100%;
  text-align: center;
  display: inline-block;
  letter-spacing: 0.0em;
  line-height: 1em;
  font-size: 1.2rem;
  font-weight: 700 !important;
  color: #fff; }

/*kv*/
#kv {
  position: relative;
  width: 100%;
  overflow: hidden; }

#kv p,
#kv h1 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  overflow: hidden; }

#kv_base img {
  transform: translateY(0.6rem); }

#kv #kv_circle {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 100%;
  overflow: hidden; }

#kv #kv_circle img {
  animation: rotate_loop 16.0s linear infinite; }

@keyframes rotate_loop {
  0% {
    transform: rotate(0deg); }
  50% {
    transform: rotate(180deg); }
  100% {
    transform: rotate(360deg); } }
.kv_item {
  opacity: 0;
  transform: translateY(4rem); }

.kv_item.start {
  opacity: 1;
  transform: translateY(0);
  transition: all 900ms cubic-bezier(0.17, 0.755, 0.11, 1.33);
  /* custom */
  transition-timing-function: cubic-bezier(0.17, 0.755, 0.11, 1.33);
  /* custom */ }

#kv_ttl {
  opacity: 0;
  transform: translateX(6rem); }

#kv_ttl.start {
  opacity: 1;
  transform: translateX(0);
  transition: all 1200ms cubic-bezier(0.46, 0.655, 0.08, 1.005);
  /* custom */
  transition-timing-function: cubic-bezier(0.46, 0.655, 0.08, 1.005);
  /* custom */ }

/*tab_area*/
#abouts {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: url("../img/abouts_bg.jpg") center top no-repeat;
  background-size: cover; }

#abouts .inner {
  position: relative;
  width: 29rem;
  margin: 0 auto;
  padding: 7rem 0 4.5rem;
  text-align: center; }

.jp_cont #abouts .inner {
  width: 32rem; }

#abouts h2 {
  position: relative;
  width: 100%;
  font-weight: 900 !important;
  letter-spacing: 0.04em;
  line-height: 1.7em;
  font-size: 2rem;
  color: #2c57a3; }

#abouts .read_txt {
  position: relative;
  width: 100%;
  font-weight: 500 !important;
  letter-spacing: 0.08em;
  line-height: 2.143em;
  font-size: 1.4rem;
  padding: 2rem 0 0;
  color: #2c57a3; }

#abouts_circle {
  position: relative;
  width: 37.5rem;
  height: 37.5rem;
  margin: -4rem auto 0;
  overflow: hidden; }

#abouts_circle #abouts_circle_img {
  animation: rotate_loop 24.0s linear infinite; }

@keyframes rotate_loop {
  0% {
    transform: rotate(0deg); }
  50% {
    transform: rotate(180deg); }
  100% {
    transform: rotate(360deg); } }
#abouts_chara {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none; }

#abouts_character_set {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 3rem;
  padding-bottom: 6rem;
  margin: 0rem auto 0;
  overflow: hidden; }

#features {
  position: relative;
  width: 100%; }

#features hgroup {
  position: relative;
  padding: 0 !important;
  margin: 0 !important; }

#features .ttl_set {
  position: relative;
  width: 100%;
  background: url("../img/features_ttl_bg.jpg") center top no-repeat;
  background-size: cover;
  padding: 4rem 0 2rem; }

#features .ttl_set h2 {
  position: relative;
  width: 37.5rem;
  height: 11.5rem;
  background: url("../img/features_h2.png") center center no-repeat;
  background-size: contain;
  text-align: center;
  margin-bottom: 3rem; }

.jp_cont #features .ttl_set h2 {
  position: relative;
  width: 37.5rem;
  height: 9.8rem !important;
  background: url("../img/features_h2_jp.png") center center no-repeat !important;
  background-size: contain !important;
  margin-bottom: 3rem; }

#features .ttl_set h2 span {
  position: absolute;
  top: 1.7rem;
  left: 0;
  width: 100%;
  display: block;
  letter-spacing: 0.0em;
  line-height: 1em;
  font-size: 2.2rem;
  font-weight: 600 !important;
  color: #2c57a3;
  transition: ease-out 0.6s all; }

#features .ttl_set h2 p {
  position: absolute;
  top: 6rem;
  left: 0;
  width: 100%;
  display: block;
  letter-spacing: 0.0em;
  line-height: 1.2em;
  font-size: 1.5rem;
  color: #2c57a3;
  transition: ease-out 0.6s all; }

#features .color_set {
  position: relative;
  width: 100%;
  height: 34.5rem;
  background: url("../img/features_color_bg.jpg") center top no-repeat;
  background-size: cover;
  /*padding: divceil(30, 10, rem) 0 0;*/
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.5rem; }

#features .color_set figure {
  position: relative;
  width: 10.5rem; }

#features .color_set p {
  position: relative;
  width: 14rem;
  letter-spacing: 0.0em;
  line-height: 1.77em;
  font-size: 1.3rem;
  color: #2c57a3;
  transition: ease-out 0.6s all; }

#color_loop_set {
  position: relative;
  width: 37.5rem;
  overflow: hidden; }

#color_loop_set .color_loop {
  position: relative;
  width: 100%;
  height: 15.5rem; }

#color_loop_set .color_loop div {
  position: absolute;
  top: 0;
  width: 300rem;
  height: 15.5rem;
  background: url("../img/color_loop.jpg") 0 0 repeat-x;
  background-size: 150rem auto; }

#color_loop_set #color_loop_1 div {
  left: 0;
  animation: color_loop_1 40.0s linear infinite; }

@keyframes color_loop_1 {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-150rem); } }
#color_loop_set #color_loop_2 div {
  right: 0;
  animation: color_loop_2 40.0s linear infinite; }

@keyframes color_loop_2 {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(150rem); } }
#functional_top {
  position: relative;
  width: 100%;
  height: 55rem;
  background: url("../img/functional_top_bg.jpg") center top no-repeat;
  background-size: cover;
  padding: 4rem 0 0; }

#functional_circle {
  position: relative;
  width: 37.5rem;
  height: 37.5rem;
  margin: 1rem auto 0;
  overflow: hidden; }

#functional_circle #functional_circle_img {
  animation: rotate_loop_functional 24.0s linear infinite; }

@keyframes rotate_loop_functional {
  0% {
    transform: rotate(0deg); }
  50% {
    transform: rotate(180deg); }
  100% {
    transform: rotate(360deg); } }
#functional_item {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none; }

#functional_mdl {
  position: relative;
  width: 100%;
  height: 11.6rem;
  background: url("../img/functional_mdl_bg.jpg") center top no-repeat;
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 0 1.5rem; }

#functional_mdl p {
  position: relative;
  display: block;
  width: 32rem;
  letter-spacing: 0.0em;
  line-height: 1.786em;
  font-size: 1.4rem;
  color: #2c57a3;
  text-align: left;
  font-weight: 600 !important; }

#functional_btm {
  position: relative;
  width: 100%;
  height: 16.8rem;
  background: url("../img/functional_btm_bg.jpg") center top no-repeat;
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 0 0rem; }

.link_btn {
  position: relative;
  width: 29.5rem;
  height: 8.5rem;
  background: url("../img/btn_parts.png") center center no-repeat;
  background-size: contain;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center; }

.link_btn p {
  position: relative;
  letter-spacing: 0.0em;
  line-height: 1.177em;
  font-size: 1.7rem;
  color: #fff;
  font-weight: 600 !important; }

.link_btn p span {
  position: relative;
  line-height: 1.667em;
  font-size: 1.2rem; }

.link_btn.soon {
  pointer-events: none; }

#thinner {
  position: relative;
  width: 100%;
  height: 81rem;
  background: url("../img/thinner_bg.jpg") center top no-repeat;
  background-size: cover;
  padding: 4rem 0 0; }

#thinner_circle {
  position: relative;
  width: 37.5rem;
  height: 37.5rem;
  margin: 3rem auto 0;
  overflow: hidden; }

#thinner_circle #thinner_circle_img {
  animation: rotate_loop_thinner 24.0s linear infinite; }

@keyframes rotate_loop_thinner {
  0% {
    transform: rotate(0deg); }
  50% {
    transform: rotate(-180deg); }
  100% {
    transform: rotate(-360deg); } }
#thinner_item {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none; }

#thinner hgroup h4,
#thinner hgroup span,
#thinner hgroup p {
  color: #2c57a3 !important; }

#thinner .link_btn {
  margin: 4rem auto 0; }

#tips {
  position: relative;
  width: 100%;
  background: url("../img/tips_bg.jpg") center top no-repeat;
  background-size: cover; }

#tips hgroup {
  position: relative;
  padding: 6.5rem 0 0;
  width: 100%;
  height: 26rem;
  margin: 0 auto;
  background: url("../img/tips_parts_top.png") center bottom no-repeat;
  background-size: contain; }

hgroup.paint_hgroup h4 {
  position: relative;
  display: block;
  letter-spacing: 0.0em;
  line-height: 1em;
  font-size: 2.8rem;
  color: #fff;
  text-align: center;
  margin: 1.5rem auto 0; }

hgroup.paint_hgroup > span {
  position: relative;
  display: block;
  letter-spacing: 0.0em;
  line-height: 1em;
  font-size: 2.3rem;
  color: #fff;
  text-align: center;
  margin: 1rem auto 0; }

hgroup.paint_hgroup > span span {
  position: relative;
  display: inline-block;
  letter-spacing: 0.0em;
  line-height: 1em;
  font-size: 1.8rem;
  font-weight: 600 !important;
  font-style: normal !important;
  font-family: "M PLUS 1p", sans-serif !important;
  transform: translateY(-0.1rem); }

hgroup.paint_hgroup p {
  position: relative;
  display: block;
  width: 27rem;
  letter-spacing: 0.0em;
  line-height: 1.223em;
  font-size: 1.8rem;
  color: #fff;
  text-align: center;
  font-weight: 600 !important;
  margin: 1.5rem auto 0; }

.jp_cont hgroup.paint_hgroup p {
  width: 29rem;
  margin: 1.5rem auto 0; }

hgroup.paint_hgroup div {
  position: relative;
  width: 100%;
  height: 5.4rem;
  margin: 0 auto;
  background: url("../img/paint_bg.png") center top no-repeat;
  background-size: contain;
  display: flex;
  align-items: center;
  justify-content: center; }

hgroup.paint_hgroup div h2 {
  position: relative;
  display: inline-block;
  letter-spacing: 0.0em;
  line-height: 1em;
  font-size: 2.8rem;
  color: #ffffff;
  transition: ease-out 0.6s all;
  padding-bottom: 0.4rem; }

hgroup.paint_hgroup div h3 {
  position: relative;
  display: inline-block;
  letter-spacing: 0.0em;
  line-height: 1em;
  font-size: 2.2rem;
  color: #ffffff;
  transition: ease-out 0.6s all;
  padding-bottom: 0.4rem; }

.slider_set {
  position: relative;
  width: 100%;
  height: 36.5rem; }

.movie_banner img {
  transform: scale(0.8) translateY(-2.3rem);
  transition: transform .6s;
  transform-origin: center center; }

.movie_banner.slick-center img {
  transform: scale(1) translateY(0rem); }

.slick-dots {
  position: absolute;
  bottom: -6.5rem;
  left: 0;
  width: 100%;
  display: block;
  padding: 0;
  list-style: none;
  text-align: center;
  z-index: 9000; }

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  margin: 0 1.5rem;
  padding: 0;
  cursor: pointer;
  pointer-events: auto !important;
  border-radius: 50%;
  overflow: hidden; }

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: #e9eef9; }

.slick-dots li.slick-active button {
  color: black;
  background: #2c57a3; }

#tips .btm {
  pointer-events: none; }

#faq {
  position: relative;
  width: 100%;
  padding: 3.5rem 0 13rem;
  background: url("../img/faq_bg.jpg") center top no-repeat;
  background-size: cover; }

#faq hgroup {
  position: relative;
  width: 32.5rem;
  height: 9.9rem;
  margin: 0 auto;
  padding: 3.5rem 0 13rem;
  padding: 0;
  background: url("../img/faq_ttl.png") center top no-repeat;
  background-size: contain;
  display: flex;
  align-items: center;
  justify-content: center; }

#faq hgroup h2 {
  position: relative;
  display: inline-block;
  letter-spacing: 0.0em;
  line-height: 1em;
  font-size: 2.8rem;
  color: #2c57a3;
  transition: ease-out 0.6s all; }

#faq .faq_set {
  position: relative;
  width: 32.5rem;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 4rem;
  padding-top: 6rem;
  overflow: hidden; }

#faq dl {
  position: relative;
  width: 32.5rem; }

#faq dl dt {
  position: relative;
  width: 32.5rem;
  height: 8rem;
  padding: 0;
  background: url("../img/faq_q.png") center center no-repeat;
  background-size: contain;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  cursor: pointer; }

#faq dl dt span {
  display: block;
  position: absolute;
  top: 4rem;
  right: 2rem;
  width: 1.6rem;
  height: 1px;
  margin: 0;
  background: #83defb;
  transition: .4s ease-in-out;
  border-radius: 0.2rem; }

#faq dl dt span:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1.6rem;
  height: 1px;
  background: #83defb;
  transition: .4s ease-in-out;
  transform: rotate(90deg); }

#faq dl dt.open span:before {
  transform: rotate(0deg); }

#faq dl dt .q,
#faq dl dd .a {
  position: relative;
  display: inline-block;
  letter-spacing: 0.0em;
  line-height: 1em;
  font-size: 2.5rem;
  color: #fff;
  text-align: center;
  width: 6rem; }

#faq dl dd .a {
  color: #339fde; }

#faq dl dt .q {
  padding-bottom: 0.5rem; }

#faq dl dt .q_txt {
  position: relative;
  display: inline-block;
  letter-spacing: 0.0em;
  line-height: 1.429em;
  font-size: 1.4rem;
  color: #fff;
  text-align: left;
  width: 21.5rem;
  font-weight: 700 !important; }

#faq dl dd {
  position: relative;
  width: 32.5rem;
  padding: 2rem 0;
  background: rgba(44, 87, 163, 0.35);
  display: none; }

#faq dl dd div {
  position: relative;
  display: flex;
  align-items: flex-start !important;
  justify-content: flex-start; }

#faq dl dd .a_txt {
  position: relative;
  display: inline-block;
  letter-spacing: 0.0em;
  line-height: 1.539em;
  font-size: 1.3rem;
  color: #2c57a3;
  text-align: left;
  width: 24.5rem;
  font-weight: 500 !important;
  padding-top: 0.4rem; }

.slide_in {
  opacity: 0;
  transform: translateY(3rem); }

.slide_in.fade_in {
  opacity: 0;
  transform: translateY(0); }

.slide_in.active {
  opacity: 1;
  transform: translateY(0);
  transition: all 900ms cubic-bezier(0.17, 0.755, 0.11, 1.33);
  /* custom */
  transition-timing-function: cubic-bezier(0.17, 0.755, 0.11, 1.33);
  /* custom */ }
