@charset "utf-8";
/* CSS Document */
/*========================================
　　新規会員登録
========================================*/
#register01Top {
	padding: 0 0 60px;
}
#register01Top p {
	text-align: center;
}
#register01Top div.buttonContent a:before {
	display: none;
}
#register p.center {
	display: table;
	margin: 0 auto 30px;
}
#register div.buttonContent.button02 ul li:first-child a:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 768px) {
	#register01Top {
		padding: 0 0 40px;
	}
	#register01Top p {
		text-align: left;
	}
	#register01Top p br.pcContent {
		display: none;
	}
	div.stepContent ul li p b {
		height: 9em;
	}
}
/*　会員登録のメリット
----------------------------------------*/
#register01Merit {
	position: relative;
	margin: 0 0 60px;
	padding: 80px 0;
	overflow: hidden;
}
#register01MeritMain {
	position: relative;
	z-index: 1;
	padding: 50px 0 20px;
	background-color: #FFF;
}
#register01Merit dl {
	position: relative;
	padding: 50px 40px 50px 160px;
}
#register01Merit dl:before {
	content: "";
	position: absolute;
	left: 40px;
	top: 50%;
	width: 90px;
	height: 90px;
	margin: -45px 0 0;
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: 100% auto;	
}
#register01Merit dl.merit01:before {
	background-image: url(../../img/register/merit01.png);
}
#register01Merit dl.merit02:before {
	background-image: url(../../img/register/merit02.png);
}
#register01Merit dl.merit03:before {
	background-image: url(../../img/register/merit03.png);
}
#register01Merit dl.merit04:before {
	background-image: url(../../img/register/merit04.png);
}
#register01Merit dl.merit05:before {
	background-image: url(../../img/register/merit05.png);
}
#register01Merit dl dt {
	display: inline-block;
	padding: 0 0 10px;
	font-size: 140%;
	line-height: 140%;
	font-weight: 700;
}
#register01Merit dl dd small {
	display: block;
	text-indent: -1em;
	padding-left: 1em;
}
@media screen and (max-width: 768px) {
	#register01Merit {
		margin: 0 0 40px;
		padding: 50px 0;
	}
	#register01MeritMain {
		padding: 40px 0 20px;
	}
	#register01Merit dl {
		padding: 95px 20px 20px;
		text-align: center;
	}
	#register01Merit dl:before {
		left: 50%;
		top: 20px;
		width: 70px;
		height: 70px;
		margin: 0 0 0 -35px;
	}
	#register01Merit dl dt {
		display: inline;
		font-size: 108%;
		line-height: 140%;
	}
	#register01Merit dl dd {
		text-align: left;
		font-size: 100%;
		padding-top: 15px;
	}
	#register01Merit dl dd small {
		padding: 10px 0 0;
		text-indent: 0;
		padding-left: 0;
		line-height: 160%;
	}
}
/*　メール
----------------------------------------*/
#register01Mail {
	padding: 0 0 20px;
}
#register01Mail #registerForm div.kiyaku {
	padding: 0 0 30px;
	text-align: center;
}
@media screen and (max-width: 768px) {
	#register01Mail {
		padding: 0 0 40px;
	}
	#register01Mail #registerForm table {
		margin: 0 0 20px;
	}
	#register01Mail #registerForm div.kiyaku {
		padding: 0 0 20px;
	}
}
/*　フォーム
----------------------------------------*/
#registerForm {
	padding: 0 0 40px;
}
#registerForm table {
	margin: 0 0 40px;
	width: 100%;
	font-size: 94%;
	line-height: 160%;
}
#registerForm table th {
	width: 180px;
}
#registerForm table td.textboxContent.textbox01 input {
	width: 100%;
	max-width: 800px;
}
#registerForm table td.textboxContent.textbox02 input {
	width: 100%;
	max-width: 400px;
}
#registerForm table td.textboxContent.textbox03 input {
	width: 100%;
	max-width: 200px;
}
#registerForm table td.textboxContent.textbox04 input {
	width: 100%;
	max-width: 100px;
}
#registerForm table td.textboxContent.textbox05 input {
	width: 100%;
	max-width: 200px;
}
#registerForm table td.textboxContent.textboxContent #MemberNewPassword {
	margin: 0 0 10px;
}
#registerForm table td p.clear {
	margin: 0;
	padding: 5px 0 0;
}
#registerForm table td div.selectContent {
	width: 100%;
	max-width: 300px;
}
#registerForm table td ul li label {
	cursor: pointer;
}
#registerForm table td.checkboxContent.left ul li {
	float: left;
	min-width: 100px;
}
#registerForm table td.birth ul li {
	float: left;
}
#registerForm table td.birth ul li input {
	float: left;
}
#registerForm table td.birth ul li input {
	width: 100px !important;
}
#registerForm table td.birth ul li small {
	float: left;
	display: block;
	padding: 0 5px;
	line-height: 40px;
}
#registerForm div.kiyaku label {
	font-size: 120%;
	font-weight: bold;
	text-decoration: underline;
}
@media screen and (max-width: 768px) {
	#register {
		padding: 0;
	}
	#registerForm {
		padding: 0;
	}
	#registerForm table {
		margin: 0 0 30px;
	}
	#registerForm table td.birth ul li input {
		float: left;
		width: 60px !important;
	}
}
@media screen and (max-width: 480px) {
	#registerForm table th {
		width: 100%;
	}
}
/*　認証メールを自動配信
----------------------------------------*/
#register02 {
	padding: 0 0 40px;
}
#register02 div.step dl {
	position: relative;
	margin: 0 0 40px;
	padding: 20px;
	line-height: 160%;
	background-color: #FFF;
	border: 2px solid #DDD;
}
#register02 div.step dl:before,
#register02 div.step dl:after {
	position: absolute;
	bottom: -20px;
	left: 50%;
	margin: auto;
	content: "";
}
#register02 div.step dl:before {
	margin-bottom: -20px;
	box-sizing: border-box;
	width: 10px;
	height: 10px;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	border-left-width: 10px;
	border-left-style: solid;
	border-right: 10px solid transparent;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
}
#register02 div.step dl:after {
	top: inherit;
	margin-left: 5px;
	width: 10px;
	height: 10px;
}
#register02 div.step dl:last-child:before,
#register02 div.step dl:last-child:after {
	display: none;
}
#register02 div.step dl:first-child {
	padding: 20px 16px;
	font-weight: 700;
	border-width: 2px;
	border-style: solid;
}
#register02 div.step dl:first-child:before,
#register02 div.step dl:first-child:after {
	bottom: -25px;
}
#register02 div.step dl dt {
	float: left;
	width: 90px;
	font-weight: 700;
	font-size: 114%;
	letter-spacing: 1px;
}
#register02 div.step dl dd {
	margin: 0 0 0 90px;
}
#register02 dl.mail {
	margin: 0 0 20px;
	padding: 30px 40px;
	font-size: 94%;
	line-height: 180%;
	background-color: #F5F5F5;
}
#register02 dl.mail dt {
	font-size: 108%;
	line-height: 160%;
	font-weight: 700;
}
#register02 div.clear {
	padding: 0 0 20px;
	clear: both;
	text-align: center;
}
@media screen and (max-width: 768px) {
	#register02 {
		padding: 0 0 40px;
	}
	#register02 dl.mail {
		padding: 25px 20px 30px;
	}
	#register02 div.clear {
		padding: 0;
		clear: both;
		text-align: center;
	}
}
/*　必要事項を入力
----------------------------------------*/
#register03 {
	padding: 0 0 20px;
}
#register03 #search {
	padding: 0;
}
#register03 div.buttonContent.confirm {
	max-width: 300px;
	margin: 0 auto;
}
#register03 div.attention {
	margin: 40px 0 0;
	padding: 20px 40px;
	font-size: 94%;
	line-height: 160%;
	border: 1px solid #F00;
	background-color: #FFF;
}
#register03 div.attention b {
	color: #F00;
}
#register03 div.offices {
	padding: 40px 0 0;
}
#register03 div.offices dl.clearfix {
	position: relative;
	margin: 0 0 40px;
	border: 1px solid #CCC;
}
#register03 div.offices dl.clearfix::before,
#register03 div.offices dl dt.subtitle::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 40px;
	height: 100%;
	background: #BD8CBB;
	z-index: 0;
}
#register03 div.offices dl dt.subtitle {
	position: relative;
	z-index: 1;
	font-size: 114%;
	line-height: 140%;
	font-weight: 700;
	background: #F7EEF7;
}
#register03 div.offices dl dt.subtitle label {
	position: relative;
	padding: 13px 20px 13px 80px;
	display: block;
	cursor: pointer;
	text-decoration: underline;
}
#register03 div.offices dl dt.subtitle label div[class^=iradio_] {
	position: absolute;
	left: 10px;
	top: 50%;
	margin: -12px 0 0;
}
#register03 div.offices dl dd.clearfix {
	position: relative;
	padding: 40px 40px 20px 80px;
}
#register03 div.offices dl dd div.logo {
	position: absolute;
	left: 80px;
	top: 40px;
}
#register03 div.offices dl dd div.logo a {
	display: block;
	position: relative;
	overflow: hidden;
}
#register03 div.offices dl dd div.logo a span {
	width: 200px;
	height: 150px;
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}
#register03 div.offices dl dd div.logo a span img {
	width: auto;
	height: auto;
	max-width: 200px;
	max-height: 150px;
}
#register03 div.offices dl dd dl.area {
	margin: 0 0 30px 260px;
	display: flex;
	flex-wrap: wrap;
	padding: 20px 15px;
	line-height: 160%;
	background: #ECF1F4;
}
#register03 div.offices dl dd dl.area dt {
	width: 5em;
	margin: 0 15px;
	font-weight: 700;
}
#register03 div.offices dl dd dl.area dd ul {
	padding: 0 15px;
}
#register03 div.offices dl dd dl.area dd ul li {
	display: inline;	
}
#register03 div.offices dl dd dl.area dd ul li::after {
	content: "、";
}
#register03 div.offices dl dd dl.area dd ul li:last-child::after {
	display: none;
}
#register03 div.offices dl dd div.number {
	display: flex;
	margin: 0 0 30px 260px;
	border-right: 1px solid #DDD;
}
#register03 div.offices dl dd div.number dl {
	width: 33.33%;
	text-align: center;
	line-height: 140%;
	border-left: 1px solid #DDD;
}
#register03 div.offices dl dd div.number dl dt {
	font-size: 94%;
	line-height: 140%;
}
#register03 div.offices dl dd div.number dl dd b {
	padding: 0 5px 0 0;
	font-size: 140%;
	line-height: 140%;
	font-weight: 700;
}
#register03 div.offices dl dd ul.points {
	clear: both;
	display: flex;
	flex-wrap: wrap;
	padding: 0 0 30px;
}
#register03 div.offices dl dd ul.points li {
	margin: 0 10px 10px 0;
	padding: 5px 15px;
	line-height: 120%;
	font-weight: 700;
	font-size: 80%;
	border: 1px solid #864483;
	color: #864483;
}
#register03 div.offices dl dd p.slogan {
	margin: 0 0 10px;
	padding: 0 0 0 15px;
	line-height: 130%;
	font-size: 94%;
	font-weight: 700;
	border-left: 5px solid #864483;
}
#register03 div.offices dl dd table {
	margin: 0;
	border: none;
}
#register03 div.offices dl dd table th {
	width: 4.5em;
	padding: 7px 0;
	border: none;
	font-size: 94%;
	font-weight: 700;
	text-align: left;
	background: none;
	border-top: 1px solid #DDD;
	vertical-align: top;
}
#register03 div.offices dl dd table td {
	padding: 7px 0;
	border: none;
	border-top: 1px solid #DDD;
	vertical-align: top;
}
#register03 div.offices dl dd table tr:first-child th,
#register03 div.offices dl dd table tr:first-child td {
	border-top: none;
}
@media screen and (max-width: 768px) {
	#register03 {
		padding: 0 0 40px;
	}
	#register03 div.buttonContent.confirm {
		margin: 0 auto;
	}
	#register03 div.attention {
		margin: 30px 0 0;
		padding: 20px;
	}
	#register03 div.offices dl.clearfix::before,
	#register03 div.offices dl dt.subtitle::before {
		width: 30px;
	}
	#register03 div.offices dl dt.subtitle {
		font-size: 100%;
		line-height: 140%;
	}
	#register03 div.offices dl dt.subtitle label {
		padding: 13px 10px 13px 60px;
	}
	#register03 div.offices dl dt.subtitle label div[class^=iradio_] {
		left: 5px;
	}
	#register03 div.offices dl dd.clearfix {
		position: relative;
		padding: 20px 20px 20px 50px;
	}
	#register03 div.offices dl dd div.logo {
		position: static;
		left: auto;
		top: auto;
		width: 160px;
		margin: 0 auto 20px;
	}
	#register03 div.offices dl dd div.logo a span {
		width: 160px;
		height: 120px;
	}
	#register03 div.offices dl dd div.logo a span img {
		width: auto;
		height: auto;
		max-width: 160px;
		max-height: 120px;
	}
	#register03 div.offices dl dd dl.area {
		margin: 0 0 20px;
		padding: 15px 5px;
		line-height: 140%;
	}
	#register03 div.offices dl dd dl.area dt {
		font-size: 94%;
	}
	#register03 div.offices dl dd dl.area dd ul {
		font-size: 94%;
	}
	#register03 div.offices dl dd div.number {
		display: flex;
		margin: 0 -10px 20px;
		border-right: none;
	}
	#register03 div.offices dl dd div.number dl:first-child {
		border: none;
	}
	#register03 div.offices dl dd div.number dl dt {
		font-size: 11px;
		line-height: 140%;
	}
	#register03 div.offices dl dd div.number dl dd b {
		font-size: 18px;
		line-height: 140%;
	}
	#register03 div.offices dl dd div.number dl dd small {
		font-size: 11px;
		line-height: 140%;	
	}
	#register03 div.offices dl dd ul.points {
		padding: 0 0 20px;
	}
	#register03 div.offices dl dd ul.points li {
		margin: 0 5px 5px 0;
		padding-left: 10px;
		padding-right: 10px;
	}
}
@media screen and (max-width: 480px) {
	#register03 div.offices dl dd table th {
		display: table-cell;
	}
	#register03 div.offices dl dd table td {
		display: table-cell;
		width: auto;
		border-left: none;
	}
}
/*　会員登録完了
----------------------------------------*/
#registerFinish {
	padding: 0 0 60px;
	text-align: center;
}
#registerFinish div.buttonContent,
#register01Top div.buttonContent,
#register01Mail #registerForm div.buttonContent {
	margin: 0 auto;
	max-width: 300px;
}
#registerFinish div.clear {
	clear: both;
	padding: 20px 0 0;
	text-align: center;
}
@media screen and (max-width: 768px) {
	#registerFinish {
		padding: 0 0 30px;
		text-align: left;
	}
}