/* ----------------------------------------------------------------------------------------------------
*  NEVER OVERWRITE
* --------------------------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------------------------------------------
*  contact
* --------------------------------------------------------------------------------------------------*/
body.control-panel {
	background-color: #DEDEDE;
}
body.control-panel .contents-wrap p {
	font-size: 1.6rem;
}
a.text-link {
	color: #3FA1F0;
}
a.text-link::after {
	background-color: #3FA1F0;
}

.form-contents .form-wrap {
	margin-bottom: 25px;
}
.form-contents .contents-wrap .contents-title {
	margin-bottom: 20px;
}
.form-contents .form-title-area {
	margin-bottom: 10px;
	font-size: 1.4rem;
}
.form-contents .form-title-area .fw-normal {
	font-weight: normal;
}
.form-contents .form-title-area .form-tag {
	display: inline-block;
	background-color: #82BE28;
	margin-left: 5px;
	padding: 1px 6px 2px;
	color: #fff;
	font-size: 1.1rem;
}
.form-contents input[type="text"],
.form-contents input[type="password"],
.form-contents input[type="number"],
.form-contents textarea {
	width: 100%;
	padding: 15px;
	border: 1px solid #707070;
	border-radius: 5px;
	box-sizing: border-box;
	font-size: 15px;
	font-family: "メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
}
.form-contents input::placeholder,
.form-contents textarea::placeholder {
	color: #BABABA;
}
.form-contents textarea {
	height: 200px;
	resize: vertical;
}
.form-contents .button-area {
	display: flex;
	justify-content: center;
}
.form-contents .button-area p {
	position: relative;
	display: inline-block;
	margin-bottom: 0;
}
.form-contents .button-area p.sp {
	display: none;
}
.form-contents .button-area p button,
.form-contents .button-area p a,
.form-contents.button-area p a {
	background: #82BE28;
	padding: 16px 50px;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5em;
	border: 1px solid #82BE28;
	border-radius: 5px;
	cursor: pointer;
	box-sizing: border-box;
}
.form-contents .button-area p.button-next {
	order: 2;
}
.form-contents .button-area p.button-next button,
.form-contents .button-area p.button-next a,
.form-contents.button-area p.button-next a {
	min-width: 280px;
}
.form-contents .button-area p.button-prev {
	order: 1;
	margin-right: 20px;
	margin-bottom: 0;
	text-align: center;
}
.form-contents .button-area p.button-prev button,
.form-contents.button-area p.button-prev a {
	background: #BABABA;
	min-width: 230px;
	border: 1px solid #BABABA;
	box-sizing: border-box;
}
.complete .form-contents.button-area p.button-prev a {
	min-width: 330px;
}
.form-contents .button-area p button:focus {
	outline: none;
}
.form-contents .button-area p button:hover {
	opacity: .7;
}
.form-contents .for-first {
	margin-top: 20px;
	margin-bottom: 0;
	font-size: 1.4rem;
}
.form-contents .initialization {
	margin-top: 15px;
	font-size: 1.4rem;
}
.form-contents .contact-text {
	margin-top: 60px;
	margin-bottom: 0;
	line-height: 3rem;
	font-size: 1.4rem;
}
.password-reset .form-contents .button-area {
	margin-top: 50px;
}
.password-reset.contents-wrap {
	padding: 50px 20px;
}
.resetting .form-contents .annotation-text {
	margin-top: 35px;
	margin-bottom: 50px;
	color: #505050;
	font-size: 1.4rem;
	line-height: 2.5rem;
}


/* ----------------------------------------------------------------------------------------------------
*  confirm
* --------------------------------------------------------------------------------------------------*/
.confirm .form-contents .form-wrap {
	display: flex;
	align-items: flex-start;
}
.confirm .form-contents .form-wrap.column-ai-center {
	align-items: center;
}
.confirm .form-contents .form-title-area {
	width: 25%;
	margin-right: 5%;
	margin-bottom: 0;
}
.confirm .form-contents .form-title-area label {
	font-size: 1.6rem;
	line-height: 3.5rem;
}
.confirm .form-contents .form-wrap.column-ai-center label {
	line-height: 2rem;
}
.confirm .form-contents .form-wrap p {
	width: 70%;
	margin-bottom: 0;
	font-size: 1.6rem;
}
.confirm .form-contents .button-area {
	margin-top: 60px;
}

/* ----------------------------------------------------------------------------------------------------
*  complete
* --------------------------------------------------------------------------------------------------*/
.complete.contents-wrap p {
	font-size: 1.6rem;
}
.complete.contents-wrap .button-prev {
	text-align: center;
	margin-bottom: 0;
}


/* ----------------------------------------------------------------------------------------------------
*  IE9
* --------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 0\0) and (min-resolution: .001dpcm) {
	.form-contents .button-area {
		text-align: center;
		display: block;
	}
	.form-contents .button-area p {
		text-align: center;
	}
	.form-contents .button-area p.button-next {
		width: 280px;
	}
	.form-contents .button-area p.button-prev {
		width: 230px;
	}
	.form-contents .button-area p.button-next + p.button-prev {
		float: left;
	}

	/* cf */
	.form-contents .button-area:after {
		content: "";
		display: block;
		clear: both;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  SP
* --------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
	.form-contents .button-area {
		display: block;
		text-align: center;
	}
	.form-contents .button-area p:nth-child(2) {
		margin-left: 0;
		margin-top: 2rem;
	}
	.form-contents .schedule-area label {
		width: 100%;
	}
	.form-contents .schedule-area input,
	.form-contents .schedule-area select {
		width: 100%;
		height: 45px;
	}
	.form-contents .button-area p {
		width: 100%;
	}
	.form-contents .button-area p button,
	.form-contents.button-area p a {
		width: 100%;
		padding: 16px;
	}
	.form-contents .button-area p button,
	.form-contents .button-area p a,
	.form-contents.button-area p a {
		width: 100%;
		min-width: auto;
		padding: 16px 20px;
		text-align: center;
	}
	.form-contents .button-area p.button-next button,
	.form-contents .button-area p.button-next a,
	.form-contents.button-area p.button-next a,
	.form-contents .button-area p.button-prev button,
	.form-contents.button-area p.button-prev a,
	.complete .form-contents.button-area p.button-prev a {
		min-width: auto;
	}
	.form-contents .button-area p.sp {
		display: block;
	}
	.form-contents .button-area p.button-registration a {
		background-color: #505050;
		color: #fff;
		border: 1px solid #505050;
	}

	/* --------------------------------------------------------------------------------------------------*/
}


/* ----------------------------------------------------------------------------------------------------
*  entry
* --------------------------------------------------------------------------------------------------*/
.contents-wrap.entry{
	padding: 50px 0;
}
.wrapIn{
	padding: 0 50px;
	box-sizing: border-box;
}

.tab{
	display: table;
	width: 100%;
	table-layout: fixed;
}
.tab li{
	display: table-cell;
	width: 50%;
	font-size: 1.4rem;
	font-weight: normal;
	text-align: center;
	color: #BABABA;
	padding: 14px 0;
	border-right: 1px solid #DEDEDE;
	border-bottom: 1px solid #DEDEDE;
	box-shadow: 0 -3px 5px -3px rgba(0,0,0,.16)inset;
	box-sizing: border-box;
}
.tab li a{color: #BABABA;}
.tab li:last-of-type{ border-right: none;}

.tab li.active{
	border-top: 5px solid #82BE28;
	color: #222222;
	border-bottom: none;
	box-shadow: none;
}

.tab_area{
	padding: 70px 50px 0 50px;
	box-sizing: border-box;
}
.tab_area .tab_box{
	display: none;
}
.tab_area .tab_box.show {
	display: block;
}

.entry .lead_txt a{
	text-decoration: underline;
}
.entry .lead_txt a:hover{
	text-decoration: none;
}

.entry .note{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.entry .note.block{
	display: block;
	margin-top: 10px;
}
.entry .note.block p{
	line-height: 1.3;
}

.entry .note.mt10{
	margin-top: 10px;
}
.entry .note a{
	position: relative;
	color: #505050;
}
.entry .note a:after{
	position: relative;
	top: -1px;
	display: inline-block;
	vertical-align: middle;
	margin-left: 5px;
	content: '';
	width: 5px;
	height: 5px;
	border-top: 1px solid #707070;
	border-right: 1px solid #707070;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-ms-transform: rotate(45deg);

}
.entry .note a:hover{ text-decoration: underline;}
.entry .note p{
	margin: 0;
	color: #505050;
}

.form-contents .other_wrap{
	margin-bottom: 20px;
	border-bottom: 1px solid #707070;
	box-sizing: border-box;
}
.form-contents .other_wrap p{
	margin: 0 0 0 0;
}

.form-contents .radio_wrap,
.form-contents .checkbox_wrap{
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	margin-left: -3px;
	margin-right: -2px;
}

.form-contents input[type=radio],
.form-contents input[type=checkbox]{
	position: absolute;
	visibility:hidden;
	width:1px;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.form-contents .radio_wrap+.radio_wrap{ margin-top: 15px;}

.form-contents .radio_wrap label,
.form-contents .checkbox_wrap label{
	position: relative;
	width: 100%;
	max-width: 535px;
	margin: 0 0 0 -1px;
	display: block;
	background: #DEDEDE;
	box-shadow:1px 2px 4px 0 rgba(0,0,0,.16);
	border-radius: 7px;
	padding: 26px 22px 23px 64px;
	box-sizing: border-box;
	cursor: pointer;
}
.form-contents .radio_wrap label:after,
.form-contents .checkbox_wrap label:after{
	position: absolute;
	width: 99%;
	height:97%;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	display: block;
	content: '';
	background: #DEDEDE;
	border: 1px solid #cbcbcb;
	box-shadow: 1px 0px 2px 1px rgba(0,0,0,.16);
	border-radius: 7px;
	z-index: 1;
	transition: 0.5s;
}
.form-contents .radio_wrap label.style02{ padding:14px 22px 14px 64px;}

.form-contents input[type=radio]:checked + label,
.form-contents .checkbox_wrap input[type=checkbox]:checked + label{
	background: #82BE28;
	border: 0;
}
.form-contents input[type=radio]:checked + label:after,
.form-contents .checkbox_wrap input[type=checkbox]:checked + label:after{
	background: #82BE28;
	border: 1px solid #82BE28;
	width: 100%;
	height:100%;
	transition: 0.5s;
}

.form-contents .radio_wrap label:before,
.form-contents .checkbox_wrap label:before{
	position: absolute;
	left: 23px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	display: block;
	content: '';
	background: url("41245926930a-icn_check.png") no-repeat center center;
	background-size: 100% auto;
	width: 27px;
	height: 27px;
	z-index: 10;
}
.form-contents input[type=radio]:checked + label:before,
.form-contents .checkbox_wrap input[type=checkbox]:checked + label:before{
	background: url("c90afe9957ae-icn_check_on.png") no-repeat center center;
	background-size: 100% auto;

}

.form-contents .radio_wrap label span,
.form-contents .checkbox_wrap label span{
	position: relative;
	font-size: 1.6rem;
	font-weight: 700;
	float: left;
	z-index: 10;
}
.form-contents .radio_wrap label span.float_box.cf:after{ position: absolute;}
.form-contents .radio_wrap label span.float_box{float: none;}
.form-contents .radio_wrap label span+span{ float: right;}
.form-contents .radio_wrap label.style02 span,
.form-contents .radio_wrap label.floatNone span{ float: none;}
.form-contents .radio_wrap label span.small{
	font-size: 1.2rem;
	display: block;
}
.form-contents input[type=radio]:checked + label span{
	color: #FFF;
}

.form-contents .checkbox_wrap label span.float_box.cf:after{ position: absolute;}
.form-contents .checkbox_wrap label span.float_box{float: none;}
.form-contents .checkbox_wrap label span+span{ float: right;}
.form-contents .checkbox_wrap label.style02 span,
.form-contents .checkbox_wrap label.floatNone span{ float: none;}
.form-contents .checkbox_wrap label span.small{
	font-size: 1.2rem;
	display: block;
}
.form-contents .checkbox_wrap input[type=checkbox]:checked + label span{
	color: #FFF;
}

.form-contents .radio_wrap.active_member label{
	width: 49%;
	max-width: 259px;
	margin-right: 3%;
	margin-bottom: 15px;
	padding-right: 40px;
	padding-left: 70px;
}

.form-contents .radio_wrap.active_member label:nth-of-type(2n){ margin-right: 0;}
.form-contents .radio_wrap.active_member label span{
	font-size: 1.8rem;
}
.form-contents .radio_wrap.active_member label span+span{
	font-size: 1.6rem;
}

.form-contents select {
	-webkit-appearance:none;
	-moz-appearance:none;
	-o-appearance:none;
	appearance:none;
	z-index: 1;
}
.form-contents select::-ms-expand {
	display: none;
}

/* IE */
.form-contents input:-ms-input-placeholder {
	color: #b3b3b3;
}

/* Edge */
.form-contents input::-ms-input-placeholder {
	color: #b3b3b3;
}
#myselect,
#myselect02,
#myselect03,
#myselect04,
#myselect05,
#myselect06,
#myselect07,
#myselect08,
#myselect09{
	color: #b3b3b3;
}


.form-contents .input_size02{
	width: 42% !important;
	max-width: 218px;
	display: inline-block;
	margin-right: 10px;
}
.form-contents .input_size03{
	width: 54% !important;
	max-width: 282px;
	display: inline-block;
}


.form-contents select::-ms-expand {
	display: none;
}

.form-contents .select_area{
	position: relative;
	width: 100%;
}


.form-contents .select_area.input_size{
	width: 32%;
	max-width: 168px;
	display: inline-block;
	margin-right: 10px;
}

.form-contents .select_area.input_size select{
	padding: 10px 15px;
}
.form-contents select{
	width: 100%;
	position: relative;
	cursor: pointer;
	background: #FFF;
	box-shadow: none;
	outline: none;
	padding: 15px;
	border: 1px solid #707070;
	border-radius: 5px;
	box-sizing: border-box;
	font-size: 15px;
	font-family: "メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
}

.form-contents .select_area:before{
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	margin-top: -5px;
	right: 40px;
	width: 5px;
	height: 5px;
	border-bottom: 1px solid #000000;
	border-right: 1px solid #000000;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	z-index: 999;
}
.form-contents .select_area.input_size:before{
	right: 10px;
}


.form-contents input.input_size{
	width: 32%;
	max-width: 168px;
	padding: 10px 15px;
}
.form-contents input.input_size.mr10{ margin-right: 10px;}

.form-contents .zip_wrap{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.form-contents #zip-btn{
	margin-top: -3px;
	width: 32%;
	max-width: 139px;
	height: 45px;
	text-align: center;
	color: #FFF;
	font-size: 1.4rem;
	font-weight: 400;
	background: #82BE28;
	border-radius: 5px;
	border: none;
	box-shadow: none;
	font-family: "メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
	box-sizing: border-box;
}
.form-contents .strong{ font-weight: 700;}
.form-contents p.subttl{ margin-bottom: 0;}

.form-contents .check_wrap{ margin-bottom: 25px;}
.form-contents .check_wrap ul{
	margin: 0;
	padding: 0;
}
.form-contents .check_wrap ul li{
	display: inline-block;
	margin: 0 10px 10px 0;
}

.form-contents .check_wrap label{
	margin: 0 0 0 -1px;
	display: block;
	background:#FFF;
	border: 1px solid #707070;
	border-radius: 7px;
	padding: 11px 20px;
	/*padding: 11px 41px;*/
	font-size: 1.6rem;
	box-sizing: border-box;
	cursor: pointer;
	box-shadow: 1px 1px 2px 0 rgba(0,0,0,.16);
	transition: 0.5s;
}
.form-contents input[type=checkbox]:checked + label{
	background:#82BE28;
	border: 1px solid #82BE28;
	color: #FFF;
	transition: 0.5s;
}

.form-contents .confirmation_wrap{ margin-top: 35px;}
.form-contents .confirmation_wrap p{
	text-align: center;
	margin: 0 0 25px 0;
}
.form-contents .confirmation_wrap .radio_wrap,
.form-contents .confirmation_wrap .checkbox_wrap{
	max-width: 400px;
	margin: 0 auto;
}


.form-contents .confirmation_wrap dl{
	display: table;
	width: 100%;
	margin-top: 25px;
}
.form-contents .confirmation_wrap dl:first-of-type{ margin-top: 45px;}

.form-contents .confirmation_wrap dl dt,
.form-contents .confirmation_wrap dl dd{
	display: table-cell;
	vertical-align: top;
	box-sizing: border-box;
}
.form-contents .confirmation_wrap dl dt{
	width: 50px;
}

.form-contents .consent_wrap{
	margin-top: 30px;
}
.form-contents .consent_wrap .radio_wrap,
.form-contents .consent_wrap .checkbox_wrap{
	max-width: 292px;
	margin: 0 auto;
}

.form-contents .consent_wrap .link{
	margin-top: 35px;
	margin-bottom: 35px;
	text-align: center;
}

.form-contents .consent_wrap .link a{
	text-decoration: underline;
}
.form-contents .consent_wrap .link a:hover{
	text-decoration: none;
}

.form-contents .button-area.orange p button{
	background: #EF9C00;
	border: 1px solid #EF9C00;
}
.form-contents .button-area.orange p.button-next button{ min-width: 330px;}

.form-contents .form-wrap.mb50{ margin-bottom: 50px;}

.contents-wrap p.sublabel{
	margin-top: 40px;
	margin-bottom: 10px;
	font-size: 18px;
}
.sublabel span{
	font-size: 13px;
	font-weight: 400;
}
.contents-wrap p.ttl_description{
	margin-top: 10px;
	margin-bottom: 0;
}
.flexBox.cf:after{ display: none;}


/* ----------------------------------------------------------------------------------------------------
*  IE9
* --------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 0\0) and (min-resolution: .001dpcm) {
	.form-contents .radio_wrap,
	.form-contents .checkbox_wrap {
		display: block;
	}

	.form-contents .radio_wrap.active_member label,
	.form-contents .checkbox_wrap.active_member label {
		float: left;
	}

	.entry .note{
		display: block;
	}
	.flexBox.cf:after{ display: block;}
	.entry .note .flexBox a{
		display: inline-block;
		float: left;
	}
	.entry .note .flexBox p{
		display: inline-block;
		float: right;}

	.form-contents .select_area select,
	.form-contents .select_area.input_size select{
		padding-right: 2px;
	}
	.form-contents .select_area:after{
		display:block;
		position:absolute;
		content:'';
		right:0;
		top:0px;
		height:80%;
		width:1.3em;
		margin:2px;
		background:#FFF;
		z-index:5;
	}
	.cstm-placeholder {
		color: #b3b3b3;
	}

}

/* ----------------------------------------------------------------------------------------------------
*  SP
* --------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 769px) {
	.contents-wrap.entry {
		padding: 30px 0;
	}
	.contents-wrap.entry .wrapIn{ padding: 0 20px;}

	.tab_area{
		padding: 12% 20px 0 20px;
	}
	.form-contents .form-wrap.mb50{ margin-bottom: 8%;}

	.contents-wrap p.sublabel{
		margin-top: 8%;
		font-size: 1.8rem;
		line-height: 1.75;
	}
	.sublabel span{
		display: block;
		font-size: 1.3rem;
		margin-left: -8px;
	}

	.form-contents .radio_wrap label,
	.form-contents .checkbox_wrap label{
		width: 100%;
		max-width: 292px;
		background: url("1f87c1fd249f-radio03.png") no-repeat center center;
		background-size: 100% auto;
		margin: 0 auto;
	}
	.form-contents .radio_wrap label,
	.form-contents .checkbox_wrap label{
		max-width: inherit;
	}
	.form-contents .radio_wrap.active_member label,
	.form-contents .checkbox_wrap.active_member label {
		width: 100%;
		max-width: inherit;
		background: url("1f87c1fd249f-radio03.png") no-repeat center center;
		background-size: 100% auto;
		margin: 0 auto 15px auto;
		padding-right: 40px;
		padding-left: 70px;
	}
	.form-contents .radio_wrap.active_member label:nth-of-type(2n),
	.form-contents .checkbox_wrap.active_member label:nth-of-type(2n){
		margin-right: auto;
	}

	.form-contents .radio_wrap label span,
	.form-contents .checkbox_wrap label span {
		font-size: 1.5rem;
		float: none;
	}
	.form-contents .radio_wrap label span.small,
	.form-contents .checkbox_wrap label span.small {
		font-size: 1.0rem;
	}
	.form-contents .radio_wrap.active_member label span,
	.form-contents .checkbox_wrap.active_member label span {
		font-size: 1.7rem;
	}
	.form-contents .radio_wrap.active_member label span+span,
	.form-contents .checkbox_wrap.active_member label span+span {
		font-size: 1.5rem;
	}
	.form-contents .radio_wrap label,
	.form-contents .checkbox_wrap label{
		padding: 26px 13px 23px 64px;
	}

	.form-contents .radio_wrap label.style02,
	.form-contents .checkbox_wrap label.style02 {
		padding: 14px 13px 14px 64px;
	}

	.entry .note {
		display: block;
	}
	.form-contents .select_area:before {
		right: 20px;
	}
	.form-contents #zip-btn{
		width: 30%;
		margin-left: 2%;
		font-size: 1.3rem;
	}
	.form-contents .other_wrap p{ line-height: 1.6; margin-bottom: 5px;}

	.form-contents .input_size02{ width: 41% !important;}
	.form-contents .input_size03{ width:52% !important}

	.form-contents .check_wrap label {
		padding: 11px 20px;
		font-size: 1.4rem;
	}

	.form-contents .button-area.orange p.button-next button {
		min-width: inherit;
	}
	.form-contents .select_area.input_size{ width: 38%;}
}

@media screen and (max-width: 360px) {
	.form-contents .select_area.input_size{ width: 46%;}
}


