/*===============================================
 共通スタイル
===============================================*/
#main{
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
  float: none;
  color: #333;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 40px;
}

#main p{
  font-size: 16px;
}

/* header
-----------------------------------------------*/
.wsj_header{
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 50px auto;
  width: 100%;
}

.wsj_header img{
  max-width: 500px;
  width: 100%;
  margin-bottom: 25px;
}

.wsj_header h1{
  font-size: 22px;
  /* font-weight: normal; */
  line-height: 1.8;
  text-align: center;
  border-top: 1px solid #bbb;
  padding-top: 15px;
  width: 100%;
  margin-bottom: 30px;
}

/*===============================================
  画面の横幅が600px以下
===============================================*/
@media screen and (max-width: 600px){
  .wsj_header{
    margin: 20px auto 50px;
  }
  .wsj_header h1{
    font-size: 18px;
    line-height: 1.8;
  }
}

/* CVボタン
-----------------------------------------------*/
.wsj_btn{
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 50px;
  width: 100%;
}

/* ノーマルボタン */
a.wsj_btn__item{
  background-color: #e64b78;
  color: #fff;
  text-decoration: none;
  font-size: 18px;
  text-align: center;
  padding: 20px 30px;
  border-radius: 4px;
  line-height: 1;
  max-width: 500px;
  width: 100%;
  box-sizing: border-box;
  font-weight: bold;
}

a.wsj_btn__item:hover{
  opacity: .8;
}

a.wsj_btn__item span{
  font-size: 14px;
  display: block;
  margin-top: 10px;
  font-weight: normal;
}

a.to_register{
  background-color: #e64b78;
  margin-bottom: 25px;
}

a.to_wsj{
  background-color: #888;
  margin-bottom: 8px;
}

/* ボタン下文字リンク */
.wsj_btn p{
  color: #777;
  font-size: 14px !important;
  margin: 0;
}

.wsj_btn p a{
  color: #e64b78;
  text-decoration: underline;
}

/* ボタン下文字リンク2 */
.wsj_btn p.wsj_btn__kaiin{
  text-align: center;
  color: #333;
}

.wsj_btn p.wsj_btn__kaiin a{
  color: #333;
}

.wsj_btn p.wsj_btn__kaiin a:hover{
  color: #e64b78;
}

/* disable ボタン */
.wsj_btn__item.disable{
  pointer-events: none;
  background-color: #EDEDED;
  color: #bababa;
}



/*===============================================
 index.php
===============================================*/

/* 注意事項
-----------------------------------------------*/
.wsj_caution{
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 60px;
}

.wsj_caution h3{
  margin-bottom: 20px;
}

.wsj_caution ul{
  line-height: 1.6;
  font-size: 14px;
  text-indent: -1em;
  padding-left: 1em;
}

.wsj_caution ul li{
  margin-bottom: 5px;
}

.wsj_caution ul li a{
  color: #e64b78;
  text-decoration: underline;
}

/* wsjについて
-----------------------------------------------*/
.wsj_about{
  border: 4px solid #ddd;
  padding: 35px 40px;
  display: flex;
  align-items: center;
  margin-bottom: 40px;
}

.wsj_about > img{
  flex-shrink: 0;
  width: 35%;
  margin-right: 20px;
}

.wsj_about__ttl{
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}

.wsj_about__ttl img{
  flex-shrink: 0;
  width: 50px;
  margin-right: 10px;
}

.wsj_about__ttl h3{
  line-height: 1.5;
}

.wsj_about p{
  font-size: 14px !important;
  margin: 0;
}

.wsj_about p a{
  color: #e64b78;
  display: block;
  text-decoration: underline;
}

/*===============================================
  画面の横幅が600px以下
===============================================*/
@media screen and (max-width: 600px){
  .wsj_about{
    flex-direction: column;
    padding: 35px 25px;
  }
  .wsj_about > img{
    width: 160px;
    margin-right: 0;
    margin-bottom: 30px;
  }
}

/* アクティベートリンク
-----------------------------------------------*/
.activate_link{
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 40px auto;
}

.activate_link h3{
  font-size: 16px;
  margin-bottom: 10px;
  border-bottom: 2px solid #333;
  padding-bottom: 5px;
}

.activate_link a{
  font-size: 16px;
  color: #e64b78;
  text-decoration: underline;
  line-height: 1.5;
}



/* faq
-----------------------------------------------*/
.wsj_faq{
  width: 100%;
  margin-top: 60px;
}

.wsj_faq h3{
  font-size: 18px;
  margin-bottom: 10px;
  line-height: 1.5;
  display: flex;
  align-items: center;
}

.wsj_faq h3 span{
  font-size: 0.8em;
}

.wsj_faq ul{
  width: 100%;
  font-size: 15px;
  line-height: 1.5;
}

.wsj_faq ul li{
  border-top: 1px solid #ddd;
  
}

.wsj_faq ul li a{
  padding: 15px;
  color: #222;
  display: flex;
  align-items: center;
}

.wsj_faq ul li a::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f0da";
  margin-right: .5em;
  color: #aaa;
}

.wsj_faq ul li a:hover{
  color: #e64b78;
  text-decoration: none;
}



/*===============================================
 entry.php
===============================================*/

/* 利用規約
-----------------------------------------------*/
.wsj_terms{
  border: 4px solid #ddd;
  padding: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 30px;
  width: 100%;
  box-sizing: border-box;
}

.wsj_terms h3{
  font-size: 17px;
  margin-bottom: 15px;
}

.wsj_terms ul{
  font-size: 14px;
  line-height: 1.8;
  text-indent: -1em;
  padding-left: .5em;
}

/*===============================================
  画面の横幅が600px以下
===============================================*/
@media screen and (max-width: 600px){
  .wsj_terms{
    padding: 20px;
  }
}

/* チェックボックス 
-----------------------------------------------*/
.wsj_checkbox{
  margin-bottom: 40px;
  cursor: pointer;
}

.wsj_checkbox  input{
  cursor: pointer;
}

.wsj_checkbox  label{
  font-size: 16px;
  cursor: pointer;
}



/*===============================================
 wsj.php
===============================================*/

/* 各言語版へのリンク
-----------------------------------------------*/
.wsj_link{
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: 20px auto 60px;
}

.wsj_link a{
  width: calc((100% - 40px) / 3);
  background-color: #f4f4f4;
  border: 1px solid #D1D1D1;
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  box-sizing: border-box;
  color: #222;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
}

.wsj_link a:hover{
  background-color: #e6e6e6;
}

.wsj_link a img{
  max-width: 180px;
  width: 100%;
  margin-bottom: 10px;
}

.wsj_link span{
  display: flex;
  align-items: center;
}

.wsj_link a span::before{
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  margin-right: 5px;
}

.wsj_link__jp span::before{
  background: url('../img/flag_jp.png') no-repeat center / cover;
}

.wsj_link__us span::before{
  background: url('../img/flag_us.png') no-repeat center / cover;
}

.wsj_link__cn span::before{
  background: url('../img/flag_cn.png') no-repeat center / cover;
}

/*===============================================
  画面の横幅が600px以下
===============================================*/
@media screen and (max-width: 600px){
  .wsj_link{
    flex-direction: column;
    /* margin: 20px auto 60px; */
  }
  .wsj_link a{
    width: 100%;
    margin-bottom: 10px;
  }
}

/* アプリダウンロード
-----------------------------------------------*/
.wsj_app__ttl{
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}

.wsj_app__ttl img{
  width: 80px;
  flex-shrink: 0;
  margin-right: 20px;
}

.wsj_app__ttl p{
  margin: 0;
}

.wsj_app__dl{
  display: flex;
  justify-content: center;
}

.wsj_app__dl a{
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 10px;
  color: #222;
  text-decoration: none;
}

.wsj_app__dl a img{
  display: block;
  margin-bottom: 8px;
}

/*===============================================
  画面の横幅が600px以下
===============================================*/
@media screen and (max-width: 600px){
  .wsj_app__ttl{
    flex-direction: column;
  }
  .wsj_app__ttl img{
    width: 60px;
    margin-right: 0;
    margin-bottom: 10px;
  }
  .wsj_app__dl a{
    font-size: 11px;
  }
  .wsj_app__ttl p br{
    display: none;
  }
}

.howto{
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 40px;
}

.howto a{
  padding: 14px 18px;
  border: 1px solid #999;
  color: #555;
  border-radius: 4px;
  font-size: 15px;
}

.howto a::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f059";
  margin-right: .3em;
}

.howto a:hover{
  text-decoration: none;
  border: 1px solid #aaa;
  background-color: #aaa;
  color: #fff;
}