html{
  /* min-width: 1200px; */
  overflow-x: hidden;
}
@media screen and (max-width: 520px) {
  html{
    min-width: auto;
  }
}

.txt_red{
  color: #c62f30;
}

.mb5{
  margin-bottom: 5px;
}

.mb10{
  margin-bottom: 10px;
}
.mb20{
  margin-bottom: 20px;
}
.mb30{
  margin-bottom: 30px;
}
.mb40{
  margin-bottom: 40px;
}


.mr20{
  margin-right: 20px;
}

.mr20-pc{
  margin-right: 20px;
}
@media screen and (max-width: 520px){
  .mr20-pc{
    margin-right: auto;
  }
}

.m_ctr{
  margin: 0 auto;
  display: block;
}

.fs_mini{
  font-size: 0.8em;
}

.poa_ctr{
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
}

@media screen and (min-width: 521px){
  .br-sp{
  display: none;
  }
}

.fl_l{
  float: left;
}
.clearfix:after{
  content:"";
  display:
  block;
  clear:both;
}
/*スマートフォンだけフロート解除*/
@media screen and (max-width: 520px){
  .clear-sp{
    clear:both;
  }
}

.layout_flex {
  display: flex;
  flex-direction: row;
  justify-content :center;
  align-items: center;
}
@media screen and (max-width: 520px) {
  .layout_flex {
    flex-wrap: wrap;
    margin-left: auto;
    margin-right: auto;
  }
}

.layout_flex_b {
  display: flex;
  flex-direction: row;
  justify-content : space-between;
  align-items: end;
}
@media screen and (max-width: 520px) {
  .layout_flex_b {
    flex-wrap: wrap;
    margin-left: auto;
    margin-right: auto;
  }
}

.layout_flex_r{
  justify-content: flex-start;
  display: flex;
  flex-wrap: wrap;
}
.layout_flex_r .box{
  margin-right: 2.2%;
}
.layout_flex_r .box:last-child{
  margin-right: auto;
}


/*-----------------------*/
/*--------------------------
ScrollMagic js アニメーション対応
--------------------------*/

#trigger_01,
#trigger_02,
#trigger_03,
#trigger_04,
#trigger_05{
  opacity: 0;
  -webkit-transform: scale(0.9);
     -moz-transform: scale(0.9);
      -ms-transform: scale(0.9);
       -o-transform: scale(0.9);
          transform: scale(0.9);
  -webkit-transition: all 1s ease-in-out;
     -moz-transition: all 1s ease-in-out;
      -ms-transition: all 1s ease-in-out;
       -o-transition: all 1s ease-in-out;
          transition: all 1s ease-in-out;
}

#trigger_01.visible,
#trigger_02.visible,
#trigger_03.visible,
#trigger_04.visible,
#trigger_05.visible{
  opacity: 1;
  -webkit-transform: none;
     -moz-transform: none;
      -ms-transform: none;
       -o-transform: none;
          transform: none;
}


/*-----------------------*/
/*固定する背景*/

.parallax-bg {
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 520px) {
  .parallax-bg {
      background-attachment: scroll;
  }
}
/*各背景の画像*/

.bg_wood{
  background-color:hsla(285,100%,71%,1);
background-image:
radial-gradient(at 40% 20%, hsla(60,100%,87%,1) 0px, transparent 50%),
radial-gradient(at 80% 0%, hsla(189,100%,56%,1) 0px, transparent 50%),
radial-gradient(at 0% 50%, hsla(355,100%,93%,1) 0px, transparent 50%),
radial-gradient(at 80% 50%, hsla(292,100%,67%,1) 0px, transparent 50%),
radial-gradient(at 0% 100%, hsla(312,100%,77%,1) 0px, transparent 50%),
radial-gradient(at 80% 100%, hsla(242,100%,70%,1) 0px, transparent 50%),
radial-gradient(at 0% 0%, hsla(333,100%,78%,1) 0px, transparent 50%);
}


.bg_grass{
  background-image: url('/page/pre_register/img/bg/bg_grass.jpg');
  border-top: solid 6px #caacff;
}

.bg_sky{
  background: #9af2ff;
  background-image: url('/page/pre_register/img/bg/bg_cloud_01.png'),url('/page/pre_register/img/bg/bg_cloud_02.png');
  background-position: left top, left 50% top 10%;
  animation: bgiLoop 10s linear infinite;
}

@keyframes bgiLoop {
    0% { background-position: 0 0;}
  100% { background-position: -820px 0;}
}


.bg_story {
  background-image: url('/page/pre_register/img/bg/bg_story_pc.jpg');
}
@media screen and (max-width: 520px) {
  .bg_story {
    background-image: url('/page/pre_register/img/bg/bg_story_sp.jpg');
  }
}
.bg_feature {
  background-image: url('/page/pre_register/img/bg/bg_feature_pc.jpg');
}
@media screen and (max-width: 520px) {
  .bg_feature {
    background-image: url('/page/pre_register/img/bg/bg_feature_sp.jpg');

  }
}
.bg_chara {
  background-image: url('/page/pre_register/img/bg/bg_chara_pc.jpg');
}
@media screen and (max-width: 520px) {
  .bg_chara {
    background-image: url('/page/pre_register/img/bg/bg_chara_sp.jpg');
  }
}

/*-----------------------*/
/*コンテンツ部分*/
.title{
  margin:0 auto 48px;
  display: block;
}
@media screen and (max-width: 520px) {
  .title{
    width: 90%;
    margin:0 auto 20px;
  }
}


.inner{
  padding-top: 64px;
  padding-bottom: 64px;
}

/*-----------------------*/
/*追従トップボタン*/
#link-pagetop {
  position: fixed;
  width: 70px;
  height: 70px;
  border-radius: 8px;
  background: #7558f8;
  color: #fff;
  bottom: 50px;
  right: 50px;
  cursor: pointer;
  z-index: 98;
}
@media screen and (max-width: 520px) {
  #link-pagetop {
    width: 50px;
    height: 50px;
    bottom: 20px;
    right: 3%;
  }
}
@media screen and (min-width: 521px) {
  #link-pagetop:hover{
    background: #a18cff;
  }
}

#link-pagetop .triangle {
  position: absolute;
  top: 44%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 100%;
  text-align: center;
  font-size: 2em;
}
@media screen and (max-width: 520px) {
  #link-pagetop .triangle {
    top: 40%;
    font-size: 1.5em;
  }
}

#link-pagetop .txt{
  position: absolute;
  top: 74%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 100%;
  text-align: center;
  font-size: 14px;
}



/*-----------------------*/
/*事前登録ボタン*/

.btn_pre{
  width: 422px;
  height: 83px;
}
@media screen and (max-width: 520px) {
  .btn_pre{
    width: 80%;
    height: 20%;
  }
}

.btn_pre span{
  cursor: pointer;
  width: 420px;
  height: 84px;
  background: url(/page/pre_register/img/part/btn_pre_off.png) no-repeat;
  background-position: center center;
  background-size: 100%;
  display: block;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
@media screen and (max-width: 520px) {
  .btn_pre span{
    width: 100%;
    height: 0;
    padding-top: 20%;
  }
}
@media screen and (min-width: 521px) {
  .btn_pre span:hover{
    background: url(/page/pre_register/img/part/btn_pre_on.png) no-repeat;
    background-position: center center;
    background-size: 100%;
  }
}


/*-----------------------*/
/*事前登録k完了*/

.btn_pre_end{
  width: 422px;
  height: 83px;
}
@media screen and (max-width: 520px) {
  .btn_pre_end{
    width: 80%;
    height: 20%;
  }
}

.btn_pre_end span{
  width: 420px;
  height: 84px;
  background: url(/page/pre_register/img/part/btn_pre_end.png) no-repeat;
  background-position: center center;
  background-size: 100%;
  display: block;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
@media screen and (max-width: 520px) {
  .btn_pre_end span{
    width: 100%;
    height: 0;
    padding-top: 20%;
  }
}


/*-----------------------*/
/*基本ボタン*/
.btn_bule{
  width: 160px;
  height: 45px;
  border-radius: 5rem;
  overflow: hidden;
  display: block;
  padding: 1px 1px 0.14rem;
  background: #d06423;
  position: relative;
}
@media screen and (max-width: 520px) {
  .btn_bule{
    width: 145px;
    height: 40px;
  }
}
.btn_bule:before{
  border-radius: 5rem;
  content: "";
  display: block;
  background: linear-gradient(0deg, rgba(254, 236, 138, 1) 0%, rgba(254, 236, 138, 1) 50%, rgba(254, 236, 138, 1) 100%);
  width: calc(100% - 2px);
  height: calc(100% - 4px);
  position: absolute;
}
.btn_bule .btn_inner {
  border-radius: 5rem;
  display: flex;
  justify-content: center;
    align-items: center;
    margin-top: 2px;
  background: linear-gradient(0deg, rgba(255, 167, 13, 1) 0%, rgba(255, 167, 13, 1) 50%, rgba(255, 167, 13, 1) 100%);
    position: relative;
}
.btn_bule .btn_inner span {
  color: #fff;
  padding: 0.9rem 0 0.8rem;
  line-height: .755rem;
  font-size: 0.9rem;
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 521px) {
    .btn_bule:hover{
      background: #a84c14;
    }
    .btn_bule:hover .btn_inner{
      background: #ed880c;
    }
    .btn_bule:hover:before{
      background: #d67b0b;
    }
}

@media screen and (max-width: 520px) {
  .btn_bule .btn_inner span {
    padding: 0.8rem 0 0.6rem;
    font-size: 0.85rem;
  }
}
/*-----------------------*/
/*基本ボタン 黄色*/

.btn_yello{
  width: 160px;
  height: 45px;
  border-radius: 5rem;
  overflow: hidden;
  display: block;
  padding: 1px 1px 0.14rem;
  background: #7b3a05;
  position: relative;
}
@media screen and (max-width: 520px) {
  .btn_yello{
    width: 145px;
    height: 40px;
  }
}
.btn_yello:before{
  border-radius: 5rem;
  content: "";
  display: block;
  background: linear-gradient(0deg, rgba(246,186,70,1) 0%, rgba(253,224,81,1) 50%, rgba(255,245,160,1) 100%);
  width: calc(100% - 2px);
  height: calc(100% - 4px);
  position: absolute;
}
.btn_yello .btn_inner {
  border-radius: 5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 2px;
  background: linear-gradient(0deg, rgba(246,186,70,1) 0%, rgba(250,205,76,1) 50%, rgba(253,222,80,1) 100%);
  position: relative;
}
.btn_yello .btn_inner span,
.btn_yello .btn_inner a {
  color: #7b3a05;
  padding: 0.9rem 0 0.8rem;
  line-height: .755rem;
  font-size: 0.9rem;
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 521px) {
  .btn_yello:hover{
    background: #bc5400;
  }
  .btn_yello:hover .btn_inner{
    background: #fde350;
  }
  .btn_yello:hover .btn_inner span,
  .btn_yello:hover .btn_inner a {
    color: #bc5400;
  }
  .btn_yello:hover:before{
    background: #fff;
  }
}

@media screen and (max-width: 520px) {
  .btn_yello .btn_inner span,
  .btn_yello .btn_inner a {
    padding: 0.8rem 0 0.6rem;
    font-size: 0.85rem;
  }
}


/*-----------------------*/
/*Twitter丸ボタン*/
.btn_twitter a{
  background: #311313 url(/page/pre_register/img/part/icon_twitter.png);
  background-repeat: no-repeat;
  background-position: center center;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  display: block;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
@media screen and (min-width: 521px) {
  .btn_twitter a:hover{
    background-color: #5c3737;
  }
}



/*-----------------------*/



/*-----------------------*/
/*メインビジュアル部分指定*/
.main_visual {
  position: relative;
  width: 100%;
  min-width: 1200px;
  background-image: url(/page/pre_register/img/bg/bg_main_visual_pc.jpg);
  background-position: top center;
  background-size: cover;
}
@media screen and (max-width: 520px) {
  .main_visual {
    min-width: auto;
    width: 100%;
    background-image: url(/page/pre_register/img/bg/bg_main_visual_sp.jpg);
  }
}
.main_visual:before{
  content: "";
  display: block;
  padding-top: 52.25%;
}
@media screen and (max-width: 520px) {
  .main_visual:before{
    padding-top: 162.77%;
  }
}

.main_visual .content_area{
  top: 10px;
  width: 1064px;
}
@media screen and (max-width: 520px) {
  .main_visual .content_area{
    top: 10px;
    width: 90%;
  }
}

.main_visual .logo_game{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 450px;

}
@media screen and (max-width: 520px) {
  .main_visual .logo_game{
  width:250px;
  }

}

.main_visual .btn_pre{
  top: -10px;
}
@media screen and (max-width: 520px) {
  .main_visual .btn_pre{
    top: -5%;
  }
}
.main_visual .btn_bule{
  position: absolute;
  top: 100px;
  margin: 0 auto;
  left: 0;
  right: 0;;
}
@media screen and (max-width: 520px) {
  .main_visual .btn_bule{
    top: 40%;
  }
}


/*------------------*/
/*動画部分*/
.main_visual .bg_movie{
  width: 100%;
  position: absolute;

  top: 0;
}
@media screen and (max-width: 520px) {
}

.hide{
  visibility: hidden;
}
.main_visual .bg_movie video{
  width: 100%;
  height: 56.3%;
}
@media screen and (max-width: 520px) {
  .main_visual .bg_movie video{
    height: 177.7%;
  }
}
.bg_dot{
  background: url(/page/pre_register/img/bg/bg_dot.png) repeat-x;
  width: 100%;
  height: 23%;
  position: absolute;
  bottom: 0;
  background-position: bottom;
  background-size: contain;
}
@media screen and (max-width: 520px) {
}

/*-------------------------------------------*/
/*キャッチ部分*/
/*ロゴ*/
.hansan_logo{
  width: 252px;
  height: 120px;
}
@media screen and (max-width: 520px) {
  .hansan_logo{
    width: 40%;
    height: auto;
  }
}

/*-------------------------------------------*/
/*-------------------------------------------*/
/*事前登録特典*/
.gift .content_area{
  margin: 0 auto 10px;
  display: block;
  width: 1064px;
  height: 765px;
  background: url(/page/pre_register/img/bg/bg_paper_pc.png) no-repeat;
  background-size: 100% 100%;
  padding-top: 64px;
  padding-bottom: 80px;
  text-align: center;
}
@media screen and (max-width: 520px) {
  .gift .content_area{
    width: 90%;
    height: auto;
    background: url(/page/pre_register/img/bg/bg_paper_sp_01.png) no-repeat;
    background-size: 100% 100%;
    padding-top: 32px;
    padding-bottom: 40px;
    aspect-ratio: 1 / 1.236;
  }
}
@media screen and (max-width: 520px) {
  .gift .pic_gift{
    width: 90%;
  }
}
/*-------------------------------------------*/
/*-------------------------------------------*/
/*Twitterキャンペーン*/
.twitter_cp .content_area{
  margin: 0 auto 40px;
  display: block;
  width: 1064px;
  background: url(/page/pre_register/img/bg/bg_paper_pc.png) no-repeat;
  background-size: 100% 100%;
  padding-top: 64px;
  padding-bottom: 54px;
  padding-left: 40px;
  padding-right: 40px;
  text-align: center;
}
@media screen and (max-width: 520px) {
  .twitter_cp .content_area{
    width: 90%;
    height: auto;
    background: url(/page/pre_register/img/bg/bg_paper_sp_02.png) no-repeat;
    background-size: 100% 100%;
    padding-top: 32px;
    padding-bottom: 40px;
    padding-left: 5%;
    padding-right: 5%;
  }
}

.pic_twitter_cp_01{
  width: 512px;
}
@media screen and (max-width: 520px) {
  .pic_twitter_cp_01{
    width: 100%;
    margin-bottom: 20px;
  }
}

.pic_twitter_cp_02{
  width: 454px;
}
@media screen and (max-width: 520px) {
  .pic_twitter_cp_02{
    width: 100%;
  }
}

.pic_twiiter_cp_step{
  width: 100%;
}


.twitter_cp .layout_flex_b .box{
  text-align: left;
}

.step_pic{
  margin-right: 10px;
  width: 90px;
  height: 100px;
}
@media screen and (max-width: 520px) {
  .step_pic{
    width: 30%;
  }
}

.step_txt{
  width: 220px;
  text-align: left;
}
@media screen and (max-width: 520px) {
  .step_txt{
    width: 66%;
  }
}


/*-------------------------------------------*/
/*-------------------------------------------*/
/*ストーリー*/

@media screen and (max-width: 520px) {
  .story .pic_story{
    width: 90%;
  }
}

/*-------------------------------------------*/
/*-------------------------------------------*/
/*ゲームの特徴*/

@media screen and (max-width: 520px) {
  .feature .pic_feature{
    width: 100%;
  }
}

/*-------------------------------------------*/
/*-------------------------------------------*/
/*キャラクター紹介*/
.pic_chara{
  width: 100%;
}
.slider{
  width: 888px;
}
@media screen and (max-width: 520px) {
  .slider{
    width: 100%;
  }
}
@media screen and (min-width: 521px) {
  .slick-initialized .slick-slide{
    margin: 0 20px;
  }
}


.slick-prev{
  position: absolute;
  width: 46px;
  height: 80px;
  background: url(/page/pre_register/img/part/arrows_l.png) no-repeat;
  background-position: center center;
  background-size: 100%;
  display: block;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  z-index: 2;
  left: -50px;
  top: 38%;
}
@media screen and (max-width: 520px) {
  .slick-prev{
    width: 30px;
    height: 50px;
    left: 5px;
  }
}

.slick-next {
  position: absolute;
  width: 46px;
  height: 80px;
  background: url(/page/pre_register/img/part/arrows_r.png) no-repeat;
  background-position: center center;
  background-size: 100%;
  display: block;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  z-index: 2;
  right: -50px;
  top: 38%;
}
@media screen and (max-width: 520px) {
  .slick-next{
    width: 30px;
    height: 50px;
    right: 5px;
  }
}
@media screen and (min-width: 521px) {
  .slick-prev:hover,
  .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    filter: brightness(120%);
  }
}


/*-------------------------------------------*/
/*-------------------------------------------*/
/*下部事前登録*/
@media screen and (max-width: 520px) {
  .pre_bottom.inner{
    padding-top: 32px;
    padding-bottom: 32px;
  }
}

/*-------------------------------------------*/
/*-------------------------------------------*/
/*インフォメーション*/
.info_title{
  display: block;
}
@media screen and (max-width: 520px) {
  .info_title{
    width: 56%;
    margin: 0 auto;
    display: block;
  }
}

.pic_vman{
  width: 154px;
}
@media screen and (max-width: 520px) {
  .info .layout_flex{
    width: 90%;
  }
}


.info .layout_flex .box{
  margin-right: 20px;
  color: #fff;
}
@media screen and (max-width: 520px) {
  .info .layout_flex .box{
    width: 100%;
    margin-right: auto;
    margin-bottom: 20px;
  }
}

.info .layout_flex .box:nth-child(2) {
  margin-right: 80px;
}
@media screen and (max-width: 520px) {
  .info .layout_flex .box:nth-child(2) {
    margin-right: auto;
    margin-bottom: 50px;
  }
}
.info .layout_flex .box:last-child {
  margin-right: 0;
}
@media screen and (max-width: 520px) {
  .info .layout_flex .box:last-child {
    margin-right: auto;
    margin-bottom: 0;
  }
}


@media screen and (max-width: 520px) {
  .info table{
    margin: auto;
  }
}
.info td,
.info th{
  font-size: 0.9em;
  padding-bottom: 10px;
}
.info th{
  width: 88px;
  font-weight: normal;
}



/*-------------------------------------------*/
/*-------------------------------------------*/
/*フッター*/

#footerWrap {
  width: 100%;
  background: #101010;
  border-top: 1px solid #272727;
  padding: 55px 0 52px 0;
  text-align: center;
}
#footerWrap .footerMain {
  width: 1100px;
  position: relative;
  margin: 0 auto;
  font-size: 13px;
}
@media screen and (max-width: 520px) {
  #footerWrap .footerMain {
    width: auto;
  }
}
#footerWrap .footerMain ul li {
  position: relative;
  display: inline-block;
  padding: 0 9px 0 13px;
  line-height: 1.4em;
}
#footerWrap .footerMain ul li:before {
  content: "|";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  height: 11px;
  color: #666;
}
@media screen and (max-width: 520px) {
  #footerWrap .footerMain ul li:nth-child(4):before {
    content: "";
    width: 0;
  }
}
#footerWrap .footerMain li:first-child:before {
  content: "";
  width: 0;
}
#footerWrap .footerMain ul li a {
  color: #666;
}
@media screen and (min-width: 521px) {
  #footerWrap .footerMain ul li a:hover {
    text-decoration: underline;
  }
}

#footerWrap .footerMain .copy {
  color: #666;
  margin-top: 23px;
}
#footerWrap ul{
  padding: 0 6%;
}

/*-------------------------------------------*/

.fluffy {
  animation: fluffy1 3s ease infinite;
  transform-origin: 50% 50%;
}

@keyframes fluffy1 {
  0% { transform: translateY(0) }
  50% { transform: translateY(-10px) }
  100% { transform: translateY(0) }
}


/*-------------------------------------------*/
/*-------------------------------------------*/
/*モーダルウィンドウ*/

.visible_none{
  opacity: 0;
  visibility: hidden;
}
.modal-wrapper {
  z-index: 999;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center;
  transition: .3s;
}

.modal-wrapper::after {
  display: inline-block;
  height: 100%;
  margin-left: -.05em;
  vertical-align: middle;
  content: ""
}

.modal-wrapper .modal-window {
  box-sizing: border-box;
  display: inline-block;
  z-index: 20;
  position: relative;
  width: 70%;
  max-width: 600px;
  padding: 30px;
  border-radius: 2px;
  background: #fff;
  box-shadow: 0 0 30px rgba(0, 0, 0, .6);
  vertical-align: middle;
  /*追加*/
  margin: 0 auto;
  background: #fff;
  border:15px solid #8d63dd;
  border-radius: 30px 30px 30px 30px;
  background-size: 100% 100%;
  text-align: center;
}
@media screen and (max-width: 520px) {
  .modal-wrapper .modal-window {
    width: 86%;
    padding: 30px 0px 30px;
  }
}

.modal-wrapper .modal-window .modal-content {
  height: 55vh;
  /* overflow-y: auto; */
  overflow-y: hidden;
  text-align: left;
  padding: 10px;
}

.modal-overlay {
  z-index: 10;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, .8)
}

.modal-wrapper .modal-close {
  z-index: 20;
  position: absolute;
  top: 0;
  right: 0;
  width: 35px;
  color: #95979c !important;
  font-size: 20px;
  font-weight: 700;
  line-height: 35px;
  text-align: center;
  text-decoration: none;
  text-indent: 0
}
@media screen and (min-width: 521px) {
  .modal-wrapper .modal-close:hover {
    color: #2b2e38 !important
  }
}

/***/

/*モーダルウィンドウ*/


.modal-wrapper_pre {
  z-index: 999;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center
}
.modal-wrapper_pre:not(:target) {
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, visibility .3s;
}
.modal-wrapper_pre:target {
  opacity: 1;
  visibility: visible;
  transition: opacity .4s, visibility .4s;
}
.modal-wrapper_pre::after {
  display: inline-block;
  height: 100%;
  margin-left: -.05em;
  vertical-align: middle;
  content: ""
}

.modal-wrapper_pre .modal-window {
  box-sizing: border-box;
  display: inline-block;
  z-index: 20;
  position: relative;
  width: 70%;
  max-width: 600px;
  padding: 30px;
  border-radius: 2px;
  background: #fff;
  box-shadow: 0 0 30px rgba(0, 0, 0, .6);
  vertical-align: middle;
  /*追加*/
  margin: 0 auto;
  background: url(/page/pre_register/img/bg/bg_paper_pc.png) no-repeat;
  background-size: 100% 100%;
  text-align: center;
}
@media screen and (max-width: 520px) {
  .modal-wrapper_pre .modal-window {
    width: 86%;
    padding: 30px 15px 30px;
  }
}

.modal-wrapper_pre .modal-window .modal-content {
  height: 45vh;
  overflow-y: auto;
  text-align: left;
  padding: 10px;
}

.modal-wrapper_pre .modal-close {
  z-index: 20;
  position: absolute;
  top: 0;
  right: 0;
  width: 35px;
  color: #95979c !important;
  font-size: 20px;
  font-weight: 700;
  line-height: 35px;
  text-align: center;
  text-decoration: none;
  text-indent: 0
}
@media screen and (min-width: 521px) {
  .modal-wrapper_pre .modal-close:hover {
    color: #2b2e38 !important
  }
}



.modal-content h4{
  margin-bottom: 20px;
}

.modal-content ul{
  font-size: 0.9em;
}
.modal-content li{
  margin-bottom: 0.3em;
  text-indent: -1em;
  padding-left: 1em;
}

/*------------------------------------*/

.modal-content h3{
  font-size: 2em;
}


.modal_txt{
  font-size: 0.8em;
}
.modal-content .cp_iptxt {
	position: relative;
	width: 80%;
	margin: 20px 0;
}
@media screen and (max-width: 520px) {
  .modal-content .cp_iptxt {
    width: 100%;
  }
}
.modal-content .cp_iptxt input[type='text'] {
	font: 15px/24px sans-serif;
	box-sizing: border-box;
	width: 100%;
	padding: 0.3em;
	transition: 0.3s;
	letter-spacing: 1px;
	color: #000;
	border: 2px solid #caacff;
	border-radius: 4px;
  background: #dfe0ff;
}
.modal-content input[type='text']:focus {
	border: 2px solid #da3c41;
	outline: none;
	box-shadow: 0 0 5px 1px rgba(218,60,65, .5);
}


/*SNS連携ボタン*/
@media screen and (min-width: 521px) {
  .btn_sns:hover{
    filter: brightness(120%);
  }
}

/*------------------------------------*/
