/* CSS Document */
body{
  font-family: 'Noto Serif JP', serif;
}
div.page_title{
  width: 100vw;
  background-color: #2f2622;
  display: flex;
  align-items: center;
  justify-content: center;
}
div.page_title > p{
  text-align: center;
  color: #f6f1eb;
  font-size: 1.5rem;
  font-weight: 700;
}
div.page_title > p::before{
  content: "ENTRY";
  color: #fff;
  font-size: 1.8rem;
  text-align: center;
  display: block;
  font-weight: 700;
  line-height: 1em;
  margin-bottom: 0.75rem;
}
div.maincolumn{
  background-color: #fff;
}
div.form_box{
  box-sizing: border-box;
}
div.form_box > p{
  line-height: 1.8rem;
  color: #2f2622;
  text-align: center;
}
form{
}
form > dl{
  display: flex;
  border-top: 1px solid #dfd7d3;
}
form > dl:last-of-type{
  border-bottom: 1px solid #dfd7d3;
}
form > dl dt,
form > dl dd{
  box-sizing: border-box;
  color: #2f2622;
}
form > dl dt{
}
form > dl dd{
}
form > dl dd input[type="text"]{
  border: solid #dfd7d3 1px;
  width: 100%;
  height: 40px;
  box-sizing: border-box;
}
dl.required{
}
dl.required dt label,
dl.required dt span{
  position: relative;
  padding-left: 3.5rem;
  box-sizing: border-box;
  z-index: 1;
}
dl.required dt label::before,
dl.required dt span::before{
  content: "必須";
  background-color: #2f2622;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  position: absolute;
  left: 0;
  padding: 0.25rem 0.75rem;
  line-height: 1em;
  top: 0.1rem;
}
input[type="date"]{
  width: auto;
  border: solid #d0d0d0 1px;
  box-sizing: border-box;
  height: 40px;
  background-color: #fff;
  text-align: left;
  position: relative;
  z-index: 1;
  color: #4d4d4d !important;
  text-indent: inherit;
  padding: 0 0.7rem;
}
input[type="text"].hidden {
  overflow: hidden;
  height: 0;
  border: none;
  width: 0;
}
[type="radio"]:checked + label::after, [type="radio"]:not(:checked) + label::after{
  background: #2f2622;
}
::placeholder{
	color:rgba(47,38,34,0.5) !important;
  font-size: 0.95rem;
}
div.flex_box,
div.flex_wrap{
  display: flex;
}
div.flex_box{
}
div.flex_wrap{
  flex-wrap: wrap;
}
div.radio{
  margin-right: 1.25rem;
}
/*ラジオボタン*/
[type="radio"]:checked + label, [type="radio"]:not(:checked) + label{
  padding-left: 40px !important;
  display: flex;
  align-items: center;
}
/*補足*/
span.hosoku{
  padding-left: 1rem;
  box-sizing: border-box;
  display: block;
  position: relative;
  z-index: 1;
  margin-top: 10px;
  font-size: 0.9rem;
}
span.hosoku::before{
  content: "※";
  position: absolute;
  top: 0;
  z-index: 2;
  font-size: 0.9rem;
  left: 0;
}
div.soushin{
  margin: 1.5rem auto 0 auto;
  display: table;
}
div.soushin button{
  background-color: #2f2622;
  color: #fff;
  padding: 1rem 2.5rem 1rem 2.5rem;
  font-size: 1.35rem;
  font-weight: 700;
}
div.soushin button span{
  position: relative;
  z-index: 1;
  padding-right: 3rem;
}
div.soushin button span::after{
content: "";
  mask-image:url("/belchic_2021/img/svg/arrow.svg");
  -webkit-mask-image:url("/belchic_2021/img/svg/arrow.svg");
    mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  width: 2rem;
  height: 2rem;
  background-color: #fff;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
div.copyright{
  padding: 1rem 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background-color: #2f2622;
}
p.form_intext{
  margin-bottom: 0.75rem;
  line-height: 1.45rem;
  font-size: 0.9rem;
}
/*プライバシーポリシー*/
div.privacy{
  border: solid 1px #d0d0d0;
  box-sizing: border-box;
  padding: 1.5rem;
  margin-top: 2.5rem;
  height: 200px;
  overflow-y: auto;
  max-height: 200px;
}
div.privacy p.privacy_top_text{
  font-size: 0.9rem;
  line-height: 1.5rem;
  color: #4d4d4d;
  margin-bottom: 1rem;
}
div.privacy > dl.privacy_list{
  margin-bottom: 1.5rem;
}
div.privacy > dl.privacy_list:last-of-type{
  margin-bottom: 0;
}
div.privacy > dl.privacy_list > dt,
div.privacy > dl.privacy_list > dd{
  color: #4d4d4d;
  font-size: 0.9rem;
}
div.privacy > dl.privacy_list > dt{
  font-weight: 700;
  margin-bottom: 0.25rem;
}
div.privacy > dl.privacy_list > dt > span{
  display: inline-block;
  font-weight: 700;
  margin-left: 0.25rem;
}
div.privacy > dl.privacy_list > dd{
  line-height: 1.5rem;
  padding: 0 0.75rem;
  box-sizing: border-box;
}
div.privacy > dl.privacy_list > dd > p.m_top{
  margin-top: 0.25rem;
}
ul.p_in_list{
  list-style: none;
  list-style-position: outside;
}
ul.p_in_list.m_l_top{
  margin-top: 0.25rem;
}
ul.p_in_list li{
  margin-bottom: 0.25rem;
  padding-left: 2.25rem;
  position: relative;
  z-index: 1;
}
ul.p_in_list li:last-of-type{
  margin-bottom: 0;
}
ul.p_in_list li span.p_list_num{
  display: inline-block;
  margin-right: 0.25rem;
  position: absolute;
  left: 0.75rem;
  top: 0;
}
ul.p_in_list02{
  list-style: none;
  list-style-position: outside;
  box-sizing: border-box;
}
ul.p_in_list02.m_l_top{
  margin-top: 0.25rem;
  padding: 0 0.75rem;
  box-sizing: border-box;
}
ul.p_in_list02 li{
  margin-bottom: 0.25rem;
}
ul.p_in_list02 li:last-of-type{
  margin-bottom: 0;
}
ul.p_in_list02 li > dl{
}
ul.p_in_list02 li > dl > dt{
}
ul.p_in_list02 li > dl > dt > span{
  display: inline-block;
  margin-right: 0.25rem;
} 
ul.p_in_list02 li > dl > dd{
  padding: 0 1.35rem;
  box-sizing: border-box;
}
ul.p_in_list03{
  list-style: none;
  list-style-position: outside;
  box-sizing: border-box;
}
ul.p_in_list03 li{
  margin-bottom: 0.25rem;
}
ul.p_in_list03 li:last-of-type{
  margin-bottom: 0;
}
ul.p_in_list03 li > dl{
}
ul.p_in_list03 li > dl > dt{
}
ul.p_in_list03 li > dl > dt > span{
  display: inline-block;
  margin-right: 0.25rem;
} 
ul.p_in_list03 li > dl > dd{
}
ul.p_in_list03 li > dl > dd > p{
  padding: 0 1.1rem;
  box-sizing: border-box;
}
ul.p_in_list03_inbox{
  list-style: none;
  list-style-position: outside;
  box-sizing: border-box;
  padding: 0 0.75rem;
}
ul.p_in_list03_inbox li{
  margin-bottom: 0.25rem;
  padding-left:1.75rem;
  position: relative;
  z-index: 1;
}
ul.p_in_list03_inbox li span.num{
  position: absolute;
  left: 0.5rem;
  top: 0;
  z-index: 2;
}
ul.p_in_list03_inbox li:last-of-type{
  margin-bottom: 0;
}
div.privacy_contact{
  display: table;
}
div.privacy_contact span.privacy_line{
  display: table;
  color: #dfd7d3;
}
div.privacy_contact span.privacy_line.top{
  margin-bottom: 0.5rem;
}
div.privacy_contact span.privacy_line.bottom{
  margin-top: 0.5rem;
}
div.privacy_contact div.add{
  font-size: 0.9rem;
  margin-bottom: 1rem;
  color: #4d4d4d;
  padding: 0 0.5rem;
  box-sizing: border-box;
}
div.privacy_contact div.add span{
  margin-bottom: 0.25rem;
  display: table;
}
div.privacy_contact dl.p_mail{
  margin-bottom: 1rem;
}
div.privacy_contact dl.p_tel{
}
div.privacy_contact dl.p_mail,
div.privacy_contact dl.p_tel{
  font-size: 0.9rem;
  color: #2f2622;
  display: flex;
  padding: 0 0.5rem;
  box-sizing: border-box;
  flex-direction: column;
}
div.privacy_contact dl.p_mail dt,
div.privacy_contact dl.p_tel dt{
  color: #2f2622;
  margin-bottom: 0.25rem;
}
div.privacy_contact dl.p_mail dd,
div.privacy_contact dl.p_tel dd{
  color: #2f2622;
}
div.check_block{
  text-align: center;
  color: #2f2622;
  margin-top: 1.5rem;
}
[type="checkbox"]:checked + label::before{
  border-color: rgba(223,215,211,0.5) !important;
}
[type="checkbox"]:checked + label::after, [type="checkbox"]:not(:checked) + label::after{
  border-left: 3px solid #2f2622;
  border-bottom: 3px solid #2f2622;
}
span.kome.red{
  color: #f04e58;
  padding-left: 1rem;
  position: relative;
  z-index: 1;
  font-size: 0.85rem;
  display: table;
  margin: 0 auto;
  margin-top: 0.75rem;
}
span.kome.red::before{
  content: "※";
  font-size: 0.95rem;
  position: absolute;
  top: 0;
  left: 0;
  color: #f04e58;
  z-index: 2;
}
/*元々の記述*/
div.scrollbtnwrap{
  mix-blend-mode: difference;
}
div.scrollbtnwrap.left div.contentstopbtn, div.scrollbtnwrap.right div.pagetopbtn{
  background-color: rgba(255,255,255,0.5) !important;
}
div.scrollbtnwrap.left div.contentstopbtn > span,
div.scrollbtnwrap.right div.pagetopbtn > span{
  width: 30px;
  height: 30px;
  mask-image: url("/acro_2021/img/svg/top_arrow.svg");
  -webkit-mask-image: url("/acro_2021/img/svg/top_arrow.svg");
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  background-color: #000;
  position: absolute;
  left: 50%;
  top: 12px;
  transform: translateX(-50%);
  z-index: 2;
}
[type="radio"]:checked + label::before, [type="radio"]:not(:checked) + label::before{
  border-color: rgba(223,215,211,0.5) !important;
}
@media screen and (max-width:767px){
	/*スマートフォン用のスタイルをここに記載*/
  div.page_title{
    height: 200px;
  }
  div.form_box{
    padding: 30px 7vw;
  }
  div.form_box > p{
    text-align: left;
    margin-bottom: 30px;
  }
  form > dl{
    flex-direction: column;
  }
  form > dl dt{
    padding: 1.5rem 1rem 0 1rem;
  }
  form > dl dd{
    padding: 1rem 1rem 1.5rem 1rem;
  }
  div.flex_wrap{
    flex-direction: column;
  }
  div.flex_wrap div.radio{
    margin-bottom: 0.5rem;
    margin-right: 0;
  }
  div.flex_wrap div.radio:last-of-type{
    margin-bottom: 0;
  }
}
@media screen and (max-width:320px){
	/*小さいサイズのスマートフォン用のスタイルをここに記載*/
 div.form_box{
    padding: 30px 7vw;
  }
}
@media screen and (min-width:768px) and (max-width:1099px){
	/*タブレット用のスタイルをここに記載*/
  div.page_title{
    height: 300px;
  }
  div.form_box{
    padding: 50px 10vw;
  }
  div.form_box > p{
    margin-bottom: 50px;
  }
  form > dl{
    flex-direction: column;
  }
  form > dl dt{
    padding: 1.5rem 1rem 0 1rem;
  }
  form > dl dd{
    padding: 1rem 1rem 1.5rem 1rem;
  }
  div.flex_wrap{
    flex-direction: column;
  }
  div.flex_wrap div.radio{
    margin-bottom: 0.5rem;
    margin-right: 0;
  }
  div.flex_wrap div.radio:last-of-type{
    margin-bottom: 0;
  }
}
@media (orientation: landscape) and (max-width:568px){
	/*小さいサイズのスマートフォン用横向きのスタイルをここに記載*/
  div.form_box{
    padding: 30px 10vw;
  }
}
@media (orientation: landscape) and (min-width:569px) and (max-width:724px){
	/*大きいサイズのスマートフォン用横向きのスタイルをここに記載*/
  div.form_box{
    padding: 30px 10vw;
  }
}
@media (orientation: landscape) and (min-width:725px) and (max-width:1099px){
	/*タブレット用横向きのスタイルをここに記載*/
  div.page_title{
    height: 300px;
  }
  div.form_box{
    padding: 50px 10vw;
  }
  form{
  }
  form dl{
    flex-direction: row;
  }
  form dl dt{
    width: 260px;
    padding: 1.5rem;
  }
  form dl dd{
    padding: 1.5rem;
    width: calc(100% - 260px);
  }
  div.flex_wrap div.radio{
    width: calc((100% / 2) - 1.25rem);
    margin-right: 1.25rem;
    margin-bottom: 0.5rem;
  }
  div.flex_wrap div.radio:nth-last-of-type(-n+2){
    margin-bottom: 0;
  }
}
@media screen and (min-width:1100px){
	/*PC用のスタイルをここに記載*/
  div.page_title{
    height: 300px;
  }
  div.form_box{
    padding: 75px calc((100vw - 800px) / 2);
  }
  div.form_box > p{
    margin-bottom: 75px;
  }
  form{
  }
  form dl{
  }
  form dl dt{
    width: 260px;
    padding: 1.5rem;
  }
  form dl dd{
    padding: 1.5rem;
    width: calc(100% - 260px);
  }
  div.flex_wrap div.radio{
    width: calc((100% / 2) - 1.25rem);
    margin-right: 1.25rem;
    margin-bottom: 0.5rem;
  }
  div.flex_wrap div.radio:nth-last-of-type(-n+2){
    margin-bottom: 0;
  }
  input[type="date"]{
    width: 200px;
  }
}