/* -----------------------------------
notice.css
--------------------------------------- */

.notice_wrap{
  background-color: #F1F4F5;
  display: block;
  margin: 10vh auto 20px;
  width: 90vw;
  border: 1px solid #CCCCCC;
  padding: 5px;
  position: relative;
  max-width: 650px;
}

.withdrawal_wrap .withdrawal_notice_wrap{
  max-width: none;
  width: 900px;
}

.withdrawal_contents_wrap{
  background-color: #fff;
  margin-top: 5px;
  padding: 4% 6%;
  font-size: 22px;
  color:#666666;
}
.withdrawal_contents_wrap table{
  width: 80%;
  margin: auto;
  margin-bottom: 30px;
}
.withdrawal_contents_wrap table tr,.withdrawal_contents_wrap table tr:last-child{
  border:none;
}

.withdrawal_contents_wrap table tr td{
  font-size: 14px;
  padding: 3px 5px;
  vertical-align: top;
}

.withdrawal_contents_wrap table tr td input{
  margin-right: 5px;
}

.withdrawal_title{
  margin-bottom: 15px;
  font-size: 18px;
  color: #f31f1f;
  text-align: center;
}

.withdrawal_text_red{
  color: #f31f1f;
  width: 80%;
  margin: 0px auto 30px;
  font-size: 13px;
  line-height: 1.2rem;
  margin-bottom: 40px;
}

.withdrawal_text{
  font-size: 16px;
  width: 80%;
  margin: 0px auto 10px;
}

.withdrawal_textarea{
  width: 80%;
  margin: 0px auto 30px;
}

.withdrawal_textarea textarea{
  border:1.5px #808080 solid;
  width: 100%;
  height: 200px;
  resize: none;
}

.withdrawal_ckeckbox_wrap{
  font-size: 16px;
  width: 80%;
  margin: auto;
}

.withdrawal_contents_wrap .table_btn{
  margin: 0px;
}
.withdrawal_contents_wrap .table_btn button{
  margin: 0px 5px;
}

.signup_necessary_wrap .notice_wrap,
.paid_necessary_wrap .notice_wrap,
.resume_notice_wrap .notice_wrap{
  max-width: none;
  width: 550px;
}

.protocol_wrap{
  margin: 30px auto 40px;
}

.notice_title{
  text-align: center;
  padding-bottom: 10px;
  border-bottom: 1px solid #CCCCCC;
}

.notice_title span{
  display: block;
}

.notice_logo{
  position: absolute;
  width: 80px;
  height: auto;
  left: 20px;
  top: 20px;
}

.notice_title span:first-child{
  background-color: #1B60AA;
  display: inline-block;
  color: #fff;
  border-radius: 10px;
  padding: 2px 10px;
  font-size: 10px;
  margin-bottom: 8px;
  margin-top: 10px;
  font-family: 'Abril Fatface', cursive,'Noto Serif JP', serif;
}

.notice_title span:last-child{
  font-size: 15px;
  font-family: 'Noto Sans JP', sans-serif;
}

.notice_contents_wrap{
  background-color: #fff;
  margin-top: 5px;
  padding-top: 5px;
  font-size: 14px;
  color:#666666;
  padding-bottom: 15px;
}

.notice_text, .notice_studentcard_text{
  padding-top: 20px;
  line-height: 1.8rem;
  width: 300px;
  margin: auto;
  margin-bottom: 20px;
  font-family: 'Noto Sans JP', sans-serif;
}

.notice_contents_step{
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin-bottom: 30px;
}

.notice_contents_step li{
  margin: auto 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
}

.notice_contents_step li:not(:last-child):after{
  content: "";
  position: absolute;
  width: 100%;
  border-top: 4px dotted #666666;
  top: 15px;
  right: -30px;
}

.notice_contents_step li span:first-child{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  background-color: #666666;
  border-radius: 30px;
  color:#fff;
  margin-bottom: 8px;
  font-family: 'Abril Fatface', cursive,'Noto Serif JP', serif;
  font-size: 18px;
  position: relative;
  z-index: 5;
}

.notice_contents_step li span:last-child{
  font-size: 12px
}

.notice_contents_step li.current_status span:first-child{
  background-color: #1B60AA;
}
.notice_btn_wrap{
  display: flex;
  align-items: center;
  justify-content: center;
}
.notice_btn_wrap button{
  transition: .1s;
}

.notice_btn_wrap button:hover{
  opacity: .8;
}

.notice_btn_wrap span{
  margin-right: 30px;
}

.protocol_wrap .notice_btn_wrap span{
  margin: auto;
  margin-bottom: 10px;
}

.notice_btn_wrap span input{
  margin-right: 5px;
}

.notice_btn_wrap .notice_btn_agree{
  background-color: #1B60AA;
  color: #fff;
  padding: 8px 18px;
  border-radius: 20px;
  font-size: 14px;
  font-family: 'Noto Sans JP', sans-serif;
  margin-right: 20px;
}

.notice_btn_wrap .notice_btn_cancel{
  font-size: 14px;
  font-family: 'Noto Sans JP', sans-serif;
}

.notice_btn_wrap a{
  transition: .1s;
}

.notice_btn_wrap a:hover{
  opacity: .8;
}

.notice_btn_wrap .notice_btn_agree{
  background-color: #1B60AA;
  color: #fff;
  padding: 8px 18px;
  border-radius: 20px;
  font-size: 14px;
  font-family: 'Noto Sans JP', sans-serif;
  margin-right: 20px;
}

.notice_btn_wrap .notice_btn_cancel{
  font-size: 14px;
  font-family: 'Noto Sans JP', sans-serif;
}

.campaign_banner{
  text-align: center;
  padding-top: 15px;
}

.protocol_area{
  border: 1px solid #CCCCCC;
  width: 95%;
  margin: auto;
  height: 200px;
  margin-bottom: 30px;
  overflow-x: auto;
}
.protocol_text{
  padding: 10px;
  line-height: 1.5;
  letter-spacing: .1em;
  font-size: 14px;
}
.protocol_text span{
  text-align: center;
  display: block;
}

.notice_spi_wrap{
  padding: 20px 15px;
}

.notice_spi_wrap>p:first-child{
  font-family: 'Noto Sans JP', sans-serif;
  padding-bottom: 20px;
  position: relative;
}

.notice_spi_wrap>p:first-child:after{
  content: "";
  position: absolute;
  display: block;
  bottom: 0px;
  height: 3px;
  width: 100%;
  border-width: 0;
	background-color: #ddd;
	background-image: -webkit-linear-gradient(135deg,
	#949494 0px,#949494 2px, transparent 2px, transparent 4px,
	#949494 4px, #949494 6px, transparent 6px, transparent);
	background-image:         linear-gradient(-45deg,
	#949494 0px,#949494 2px, transparent 2px, transparent 4px,
	#949494 4px, #949494 6px, transparent 6px, transparent);
	background-size: 6px 6px;
}

.notice_spi_wrap table tr{
  border:none;
}

.notice_spi_wrap table tr:nth-child(2n + 2){
  border-bottom: 1px solid #ddd;
}

.notice_spi_wrap table tr:nth-child(2n + 2) td:last-child{
  padding-bottom: 30px;
}

.notice_spi_wrap table tr:nth-child(2n + 1) td:last-child,.notice_spi_wrap table tr:nth-child(2n + 1) td:first-child{
  padding-top: 20px;
}

.notice_spi_wrap table tr td p{
  text-indent: -1em;
  padding-left: 1em;
  margin: 10px 0px;
}

.notice_spi_wrap table tr td{
  vertical-align: top;
}

.notice_spi_wrap table tr:nth-child(2n - 1) td:first-child{
  color:#fff;
  text-shadow:1px 1px 0 rgba(0,0,0,.1), -1px -1px 0 rgba(0,0,0,.1),
              -1px 1px 0 rgba(0,0,0,.1), 1px -1px 0 rgba(0,0,0,.1),
              0px 1px 0 rgba(0,0,0,.1),  0-1px 0 rgba(0,0,0,.1),
              -1px 0 0 rgba(0,0,0,.1), 1px 0 0 rgba(0,0,0,.1);
  font-size: 30px;
  font-weight: bold;
  font-family: 'Noto Sans JP', sans-serif;
  position: relative;
}

.notice_spi_wrap table tr:nth-child(2n - 1) td:first-child:after{
  content: attr(data-num);
  color:#fff;
  text-shadow: 3px 2px 4px #666;
  font-size: 30px;
  font-weight: bold;
  font-family: 'Noto Sans JP', sans-serif;
  position: absolute;
  left: 5px;
}

.notice_spi_wrap table tr td img{
  max-width: 100%;
  max-height: none;
  height: auto;
  margin: 5px auto;
}

.questionnaire_title{
  margin-top: 50px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 20px;
}

.questionnaire_title img{
  margin-right: 5px;
}

.questionnaire_list{
  margin-bottom: 30px;
}
.questionnaire_list li{
  font-size: 14px;
  margin-bottom: 5px;
}

.questionnaire_list li span{
  font-size: 10px;
  color: #ff0000;
  margin-left: 5px;
}

.questionnaire_list li span img{
  margin-right: 5px;
}

.questionnaire_list li input{
  margin-right: 5px;
}
.notice_input_table tr th{
  width: 220px;
}
.info_input_table tr td .notification_tgt_kb{
  margin-right: 0 !important;
}

@media screen and (max-width:1024px) {
  .withdrawal_wrap .withdrawal_notice_wrap{
    width: 90vw;
  }
  .withdrawal_contents_wrap{
    padding: 20px;
  }
  .withdrawal_text_red,.withdrawal_text,.withdrawal_textarea,.withdrawal_ckeckbox_wrap{
    width: 90%;
  }
}


@media screen and (max-width:768px) {
  .notice_btn_wrap span{
    display: block;
    margin-bottom: 30px;
  }
  .notice_wrap{
    width: 95vw;
  }
  .notice_contents_step:after{
    width: 72vw;
    max-width: 290px;
  }
  .notice_contents_step li span:last-child {
    font-size: 11px;
  }
  .notice_wrap {
    margin: 10vh auto 30px;
  }
  .protocol_wrap {
    margin: 30px auto 40px;
  }
  .questionnaire_list li{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 15px;
  }
  .questionnaire_list li span {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .notice_spi_wrap table tr{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
  }

  .notice_spi_wrap table tr:nth-child(2n){
    margin-bottom: 20px;
  }
  .notice_spi_wrap {
    padding: 20px 5px;
  }
  .notice_spi_wrap table tr:nth-child(2n - 1) td:first-child{
    font-size: 25px;
  }
  .notice_spi_wrap table tr:nth-child(2n - 1) td:first-child:after{
    font-size: 25px;
  }
  .withdrawal_title{
    padding: 0px 10px;
    text-align: left;
  }
  .withdrawal_wrap .withdrawal_notice_wrap {
    width: 90vw;
    height: 90vh;
    overflow-y: auto;
  }
  .withdrawal_contents_wrap{
    margin-bottom: 30px;
  }
  .withdrawal_title{
    font-size: 16px;
  }
  .withdrawal_text_red{
    font-size: 12px;
  }
  .withdrawal_text{
    font-size: 14px;
  }
  .withdrawal_contents_wrap table tr td{
    font-size: 12px;
  }
  .withdrawal_contents_wrap .table_btn button{
    padding: 10px 20px;
    font-size: 18px;
  }
}

/* -----------------------------------
画像モーダル表示用
--------------------------------------- */

.modal_main{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	max-width: 100%!important;
	height: 100%;
	background: rgba(0,0,0,0.8);
}
.modal_main_img>div{
	position: absolute;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    max-width: 90%;
    max-height: 60%;
    height: auto;
    width: auto;
}
.modal_main_img img{
    max-width: 90vw;
    max-height: 60vh;
    height: auto;
    width: auto;
}
.modal_main_img iframe{
	overflow:hidden;
	width: 50%;
	height:80%;
}
.modal_main_img p:after{
	content:"\00d7";
	position: absolute;
	font-size: 20px;
	margin-top: -20px;
	color:#FFF;
	cursor:pointer;
}

/* -----------------------------------
お知らせ詳細モーダル表示用
--------------------------------------- */

.notice_detail_wrap{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	max-width: 100%!important;
	height: 100%;
	background: rgba(0,0,0,0.8);
	z-index: -1;
	opacity: 0;
}

.notice_detail_wrap .notice_contents_wrap a{
	color:#2222FF;
}

.notice_detail_wrap .notice_contents_wrap a:hover{
	color:#7777FF;
}

.notice_detail_title{
	text-align: left;
    margin:  0 20px;
    border-bottom: 1px solid #CCCCCC;
}

.notice_detail_title span{
	background-color: #1B60AA;
    display: inline-block;
    color: #fff;
    border-radius: 10px;
    padding: 2px 10px;
    font-size: 10px;
    margin-bottom: 8px;
    margin-top: 10px;
    font-family: 'Abril Fatface', cursive,'Noto Serif JP', serif;
}

.notice_detail_close{
  background-color: #1B60AA;
  color: #fff;
  padding: 8px 18px;
  border-radius: 20px;
  font-size: 14px;
  font-family: 'Noto Sans JP', sans-serif;
  margin: 20px;
}

.notice_detail_open span {
	background-color: #ff7860;
    display: inline-block;
    color: #fff;
    border-radius: 10px;
    padding: 2px 8px;
    font-size: 10px;
    margin: 10px 0 8px 10px;
    font-family: 'Abril Fatface', cursive,'Noto Serif JP', serif;
}
.display_none{
	display : none;
}