@charset "utf-8";

/* ---------------------------------------- 
 - maintitle
---------------------------------------- */
#maintitle {
  border-bottom: solid 1px #7d8d7a;
}

/* ---------------------------------------- 
 - entry_form
---------------------------------------- */
#entry_form{
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 100px;
	text-align: center;
}

/* input */
#entry_form input {
	border:none;
	padding:5px;
	box-sizing:border-box;
}
#entry_form textarea {
	border:none;
	padding:5px;
	box-sizing:border-box;
	width:100%;
	min-height:200px;
}
#entry_form select {
	border:none;
	padding:5px 10px;
	box-sizing:border-box;
	min-width:35%;
	cursor: pointer;
}
#entry_form input[type=checkbox] { /* checkbox */
  margin-right: 0.5em;
  position: relative;
  display: inline-block;
  cursor: pointer;
}
#entry_form input[type=checkbox]::before { /* checkbox */
	display: block;
  width: 18px;
  height: 18px;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  box-sizing: border-box;
	border: 1px solid #777;
	margin-top: -2px; /* 調整 */
}
#entry_form input[type=checkbox]:checked::after { /* checkbox */
	display: block;
	width: 12px;
  height: 7px;
	content: "";
  position: absolute;
  top: 0;
	left: 3px;	    
  border-left: 3px solid #222;
  border-bottom: 3px solid #222;
  transform: rotate(-45deg);
	margin-top: 2px; /* 調整 */
}
#entry_form input[type=radio] { /* radio */
  margin-right: 0.5em;
  position: relative;
  display: inline-block;
  cursor: pointer;
}
#entry_form input[type=radio]::before { /* radio */
	display: block;
  width: 18px;
  height: 18px;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  box-sizing: border-box;
	border: 1px solid #7c7c7c;
	border-radius: 50%;
	margin-top: -2px; /* 調整 */
}
#entry_form input[type=radio]:checked::after { /* radio */
	display: block;
	width: 8px;
  height: 8px;
	content: "";
  position: absolute;
  top: 0;
	left: 0;	  
	border-radius: 50%;
	background: #222;
	margin-top: 3px;
  margin-left: 5px;
}
#entry_form table td input[type="text"] { /* text */
	width:100%;
}

/* notice_box */
#entry_form .notice_box {
	margin-bottom:2.0em;
	text-align: left;
	line-height: 1.8;
}
#entry_form .notice_box .txt {
	margin-bottom:1.0em;
}
#entry_form .notice_box ul.notice {
	margin-bottom:1.0em;
}
#entry_form .notice_box ul.notice li {
	text-indent: -1.0em;
	margin-left: 1.0em;
	margin-bottom: 0.5em;
}
#entry_form .notice_box .required span {
	display: inline-block;
	color: #fff;
	font-size: 1.2rem;
	background: #ae0000;
	padding: 3px 10px;
	margin-right:5px;
}

/* form_box */
#entry_form .form_box {
	text-align: left;
	line-height: 1.6;
}
#entry_form .form_box table {
	width:100%;
	table-layout: fixed;
	border-top:solid 1px #a2a2a2;
	border-collapse: collapse;
    border-spacing: 0;
}
#entry_form .form_box table th {
	width:28%;
	border-bottom:solid 1px #7d8d7a;
	padding:30px 60px 30px 30px;
	box-sizing:border-box;
	vertical-align: top;
	position: relative;
	text-align: left;
	background: #e2e5d7;
	font-size: 1.6rem;
}
#entry_form .form_box table th .required {
	display: inline-block;
	color: #fff;
	font-size: 1.2rem;
	background: #a20000;
	padding: 0 5px;
	position: absolute;
  right: 15px;
  top: 28px;
}
#entry_form .form_box table th .example {
	font-size:1.2rem;
}
#entry_form .form_box table th .notice {
	font-size:1.2rem;
}
#entry_form .form_box table th .notice li {
	text-indent: -1.0em;
	margin-left:1.0em;
}
#entry_form .form_box table td {
	width:72%;
	border-bottom:solid 1px #7d8d7a;
	padding:30px;
	box-sizing:border-box;
}
#entry_form .form_box table td > .txt {
	margin-top:1.2em;
	margin-bottom:1.2em;
}
#entry_form .form_box table td > .txt:first-child {
	margin-top:0;
}
#entry_form .form_box table td > .txt:last-child {
	margin-bottom:0;
}
#entry_form .form_box table td > ul.list li {
	margin-bottom:0.5em;
}
#entry_form .form_box table td > .flex {
	display:flex;
	align-items: center;
	flex-wrap: wrap;
}
#entry_form .form_box table td ul.notice {
	margin-top:1.0em;
}
#entry_form .form_box table td ul.notice li {
	text-indent:-1.0em;
	margin-left:1.0em;
	font-size:1.3rem;
}
#entry_form .form_box table td .example {
	margin-top:1.0em;
	font-size:1.3rem;
}
/* 項目別 */
#entry_form .form_box table td.sex label:nth-child(n + 2) { /* 性別 */
	margin-left: 1em;
}
#entry_form .form_box table td.birthday input { /* 生年月日 */
	width:6em;
	margin-right: 0.3em;
}
#entry_form .form_box table td.birthday input:nth-child(2) { /* 生年月日 */
	width:4em;
	margin-left: 0.3em;
	margin-right: 0.3em;
}
#entry_form .form_box table td.birthday input:nth-child(3){ /* 生年月日 */
	width:4em;
	margin-left: 0.3em;
}
#entry_form .form_box table td.tel input { /* 電話番号(携帯) */
	width:100%;
}
#entry_form .form_box table td.mail .again { /* メール */
	margin: 20px 0 0.5em;
}
#entry_form .form_box table td.mail input { /* メール */
	width:100%;
}
#entry_form .form_box table td.postcode input { /* 郵便番号 */
	width:100px;
	margin-right: 0.5em;
}
#entry_form .form_box table td.postcode input:nth-child(2) { /* 郵便番号 */
	margin-left: 0.5em;
}
@media screen and (max-width: 768px) {
  #entry_form{
    margin: 0 auto 50px;
  }
	#entry_form .form_box table th {
		display:block;
		width:100%;
		border-bottom:none;
		padding:1.0em 3%;
		vertical-align:middle;
		font-size: 1.5rem;
	}
	#entry_form .form_box table th .required {
		position:static;
		margin-left:10px;
	}
	#entry_form .form_box table td {
		display:block;
		width:100%;
		padding:1.5em 0;
	}
}

/* submit_box */
#entry_form .submit_box {
	margin:0 auto;
	text-align:center;
	margin-top:65px;
}
#entry_form .submit_box .privacy {
	font-size:2.2rem;
	font-weight:200;
	margin-bottom: 20px;
}
#entry_form .submit_box .txt {
	font-size:1.6rem;
	margin-bottom: 1.5em;
}
#entry_form .submit_box ul.btn {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}
#entry_form .submit_box ul.btn li {
	margin:0 15px;
	width:300px;
}
#entry_form .submit_box ul.btn li button {
  text-align: center;
  box-sizing: border-box;
  cursor: pointer;	
	padding:10px;
	width:100%;
	transition: 0.3s;
	border-radius: 30px;
}
#entry_form .submit_box ul.btn li button.conf {
	background: #032005;
	color: #fff;
	border: none;
}
#entry_form .submit_box ul.btn li button.reset {
  background: #fff;
	border:solid 1px #333;
	color:#333;
}
#entry_form .submit_box ul.btn li button:hover {
	opacity: 0.6;
}
@media screen and (max-width: 768px) {
	#entry_form .submit_box {
		margin-top:35px;
	}
	#entry_form .submit_box .privacy {
		font-size:1.8rem;
	}
	#entry_form .submit_box .txt {
		font-size:1.4rem;
	}
	#entry_form .submit_box ul.btn {
		display: block;
	}
	#entry_form .submit_box ul.btn li {
		padding:0 0;
		font-size:1.6rem;
		width:80%;
		max-width:300px;
		margin:0 auto 1.5em;
	}
	#entry_form .submit_box ul.btn li:last-child {
		margin-bottom:0;
	}
}

/* ---------------------------------------- 
 - contents（thanks）
---------------------------------------- */
#entry_form .thanks {
	text-align:center;
	margin:0 auto;
	max-width: 750px;
}
#entry_form .thanks .txt {
	font-size:1.8rem;
}
#entry_form .thanks p.link_btn {
    margin:50px auto 0;
}
#entry_form .thanks p.link_btn a {    
    border-radius: 60px;
    min-width: 300px;
    text-align: center;
    padding: 10px;
}
#entry_form .thanks p.link_btn a::after {
  display: none;
}
@media screen and (max-width: 768px) {
	#entry_form .thanks .txt {
		font-size:1.6rem;
	}
  #entry_form .thanks p.link_btn {
      margin:30px auto 0;
  }
}