@charset "utf-8";

/* step
---------------------------- */
.section .step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 80px;
}
.section .step li {
	width: 22%;
	border: 1px solid #d8d8d8;
	text-align: center;
	position: relative;
	display: grid;
	align-items: center;
}
.section .step li.stay {
	background-color: #ebebeb;
}
.section .step li .num {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background-color: #000;
	color: #fff;
  font-family: 'Oswald', sans-serif;
	font-size: 1.8rem;
	line-height: 1;
	font-weight: 500;
	padding: 0.4em 0;
}
.section .step li .num span {
	font-size: 2.2rem;
}
.section .step li p {
	padding: 4em 0 2em;
	font-weight: bold;
}
.section .step li:before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom:0;
	right:-11%;
	margin:auto;
	width: 12px;
	height: 12px;
	border-right: 2px solid #222;
	border-bottom: 2px solid #222;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.section .step li:last-child:before{
	display: none;
}
@media screen and (max-width:767px){
	.section .step {
		margin-bottom: 10%;
	}
	.section .step li {
		width: 22%;
	}
	.section .step li .num {
		font-size: 1.1rem;
		padding: 0.2em 0 0.4em;
	}
	.section .step li .num span {
		font-size: 1.4rem;
	}
	.section .step li p {
		padding: 3em 0 1em;
		font-weight: normal;
		font-size: 1.0rem;
		line-height: 1.2;
	}
	.section .step li:before{
		right:-12%;
		margin:auto;
		width: 7px;
		height: 7px;
		border-right: 1px solid #222;
		border-bottom: 1px solid #222;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
}

/* margin */
.section .right20 {
	margin-right: 20px;
}
@media screen and (min-width:768px) {
	.section .mt20_pc {
		margin-top: 20px;
	}
	.section .mt40_pc {
		margin-top: 40px;
	}
	.section .mt60_pc {
		margin-top: 60px;
	}
	.section .mt80_pc {
		margin-top: 80px;
	}
	.section .mb10_pc {
		margin-bottom: 10px;
	}
	.section .mb30_pc {
		margin-bottom: 30px;
	}
}
@media screen and (max-width:767px){
	.section .mt3_sp {
		margin-top: 3%;
	}
	.section .mt5_sp {
		margin-top: 5%;
	}
	.section .mt10_sp {
		margin-top: 10%;
	}
	.section .mt15_sp {
		margin-top: 15%;
	}
	.section .mb10_sp {
		margin-bottom: 10%;
	}
}

/* section
---------------------------- */
.section {
  padding: 80px 0 100px;
}
.section .contents {
	padding-top: 80px;
  font-size: 1.6rem;
}
.section .bg_gray {
  background-color: #f5f5f5;
  padding: 40px;
  font-size: 1.4rem;
}
.section .center {
	text-align: center;
}
.section .pc_center {
	text-align: center;
}
.section .text_right {
	text-align: right;
}
.section .pc_text_right {
	text-align: right;
}

/* font */
.section .font_red {
	color: #ff0000;
}
.section .font_bold {
	font-weight: bold;
}
.section .font_nomal {
	font-weight: normal;
}
.section .font_small {
  font-size: 1.4rem;
}
.section .font_big {
  font-size: 2rem;
}
.section .font_error {
	text-align: center;
	color: #ff0000;
	font-weight: bold;
}
.section .font_link {
	text-decoration: underline;
}
.section .font_link:hover {
	text-decoration: none;
}

/* req */
.section .req {
	color: #fff;
	background-color: #888888;
	font-weight: normal;
	font-size: 1.2rem;
	display: inline-block;
	padding: 3px 7px 2px;
	border-radius: 3px;
	margin-left: 10px;
}
/* btn_zipcode */
.section .btn_zipcode {
	color: #fff;
	background-color: #000;
	font-weight: normal;
	font-size: 1.4rem;
	display: inline-block;
	padding: 0 20px;
	line-height: 30px;
	border-radius: 15px;
	margin-left: 10px;
}

.section .chara {
  font-size: 1.2rem;
  font-weight: normal;
  padding-left: 1em;
}
.section dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0 10%;
}
.section dl dt {
  padding: 2rem 2rem 1.5rem 0;
  width: 35%;
  font-weight: bold;
  line-height: 1.4;
}
.section dl dd {
  padding: 1.5rem 0;
  width: 65%;
}
.section .text_link {
	padding-top: 1em;
	font-size: 1.4rem;
}
.section .text_link a {
	text-decoration: underline;
	line-height: 2.5;
}

/* btn_set */
.section .btn_set {
	text-align: center;
}
.section .btn_set .btn_color_s {
	background-color: #000;
  width: 30%;
  display: inline-block;
	color: #fff;
  font-size: 2rem;
  letter-spacing: 0.05em;
  font-weight: bold;
  line-height: 60px;
  border-radius: 30px;
}
.section .btn_set .btn_color_m {
	background-color: #000;
  width: 40%;
  margin: 0 2%;
  display: inline-block;
	color: #fff;
  font-size: 2rem;
  letter-spacing: 0.05em;
  font-weight: bold;
  line-height: 80px;
  border-radius: 40px;
}
.section .btn_set .btn_gray_m {
	background-color: #7c7c7c;
  width: 40%;
  margin: 0 2%;
  display: inline-block;
	color: #fff;
  font-size: 2rem;
  letter-spacing: 0.05em;
  font-weight: bold;
  line-height: 80px;
  border-radius: 40px;
}
@media screen and (max-width:767px){
  .section {
    padding: 15% 0;
  }
	.section .contents {
		padding-top: 15%;
	  font-size: 1.4rem;
	  line-height: 1.6;
	}
	.section .bg_gray {
	  padding: 5%;
	  font-size: 1.2rem;
	}
	.section .pc_center {
		text-align: left;
	}
	.section .pc_text_right {
		text-align: left;
	}
	/* font */
	.section .font_small {
	  font-size: 1.2rem;
	}
	.section .font_big {
	  font-size: 1.4rem;
	}
	.section .font_error {
		text-align: left;
		line-height: 1.4;
		font-size: 1.4rem;
	}

	/* btn_zipcode */
	.section .btn_zipcode {
		font-size: 1.2rem;
		padding: 0 20px;
		line-height: 24px;
		border-radius: 12px;
	}
	.section .text_sub {
		font-size: 1.2rem;
	}
	.section dl {
	  padding: 0;
	}
	.section dl dt {
	  padding: 2rem 2rem 0.5rem 0;
	  width: 100%;
	  font-size: 1.5rem;
	}
	.section dl dd {
	  padding: 0;
	  width: 100%;
	}
	.section .text_link {
		font-size: 1.2rem;
	}
	/* btn_set */
	.section .btn_set .btn_color_s {
	  width: 80%;
	  font-size: 1.6rem;
	  line-height: 50px;
	  border-radius: 25px;
	}
	.section .btn_set .btn_color_m {
	  width: 90%;
	  margin: 4% 0;
	  font-size: 1.8rem;
	  line-height: 60px;
	  border-radius: 30px;
	}
	.section .btn_set .btn_gray_m {
	  width: 90%;
	  margin: 4% 0;
	  font-size: 1.6rem;
	  line-height: 46px;
	  border-radius: 23px;
	}

	/* login
	---------------------------- */
	.login .section .input_m {
	  width: 100%;
	}
	/* password_reset
	---------------------------- */
	.password_reset .section .input_m {
	  width: 100%;
	}
	/* password_edit
	---------------------------- */
	.password_edit .section .input_m {
	  width: 100%;
	}
}

/* registry_mail
---------------------------- */
.registry_terms {
	padding: 40px;
	border: 3px solid #d8d8d8;
	overflow-y: scroll;
	height: 300px;
}
.registry_terms {
	padding: 40px;
	border: 3px solid #d8d8d8;
	overflow-y: scroll;
	height: 300px;
}
@media screen and (max-width:767px){
	.registry_terms {
		padding: 5%;
	}
}