* {
    font-size: 12px;
    line-height: 150%;
    margin:0px;
    padding:0px;

    /*border:1px solid red;*/
}

html {
    height:100%;
}

p {
    text-align: center;
}

/* フロート回り込み解除
----------------------------------------------- */
.clearfix:after {
    display: block;
    clear: both;
    height: 0px;
    line-height: 0px;
    visibility: hidden;
    content: ".";
}

form {
    text-align: center;
    display: block;
}

*:first-child+html form span {
    vertical-align: middle;
}



#wrapper .login_text {
    font-size: 18px;
	margin: 20px 0 32px 0;
	font-weight: 700;
    font-family: sans-serif ;
}

@media screen and (max-width:1000px) {
	#wrapper .login_text  {
		font-size: 15px;
	}
}

@media screen and (max-width:749px) {
	#wrapper .login_text {
		font-size: 14px;
		margin: 24px 0;
	}
}

#card_mail {
    width:100%;
    max-width:700px;
    margin:auto;
}

#card,
#mail {
    float: left;
    text-align: center;
    margin: auto;
    margin-bottom: 20px;
    width: 95%;
    max-width: 320px;
    padding: 5px;
}

#present {
    text-align: center;
    margin:auto;
    margin-bottom: 20px;
    width:95%;
    padding:5px;
}

#card h2,
#mail h2,
#present h2 {
    font-size: 16px;
    font-weight: bold;
    margin:auto;
}
#present h2 {
    margin-bottom:5px;
}

#mail p {
    height: 54px;
}

#code_form {
    clear: both;
    padding-bottom:10px;
}

#code_form .error {
    color: #ff0000;
    padding: 4px;
    margin: 16px 0;
    background: #FFE5E5;
    text-align: center;
    font-size: 20px;
}

#code_form .attention {
    color: #ff0000;
}
#code_form .login_image {
    width: 400px;
}
#code_form .code {
    padding-bottom: 35px;
	display: flex;
    justify-content: center;
    gap: 10px;
}

@media screen and (max-width:749px) {
	#code_form .code {
		gap: 6px;
		padding-bottom: 24px;
		justify-content: center;
	}
}

#code_form .code input[type=text]{
    height: 6vw;
    width: 9vw;
    font-size: 22px;
    line-height: 1.5em;
    display: inline;
    vertical-align: middle;
    text-align: center;
    border-radius: 5px;
	border: none;
	outline: none;
    border: 1px solid #024997;
}

@media screen and (min-width:1210px) {
	#code_form .code input[type=text]{
		height: 80px;
		width: 120px;
		border: 1px solid #024997;
	}
}

@media screen and (max-width:749px) {
	#code_form .code input[type=text]{
		background: #eff2f4;
		height: 48px;
		width: 70px;
		border: none;
	}
}

#code_form .info {
    color: red;
    font-size: 16px;
}


/*URLを贈る*/
.urlBtnWrap {
    width: 340px;
    margin:0 auto 32px;
}
.urlBtnWrap .dsNone{display: none;}

.urlBtn dl{
    line-height:1.0;
    display: table;
    box-sizing: border-box;
    width: 340px;
    height: 50px;
    background: #FFF;
    border: 3px solid #ddd;
    border-radius: 5px;
    margin: 0px 0px 10px;
    float:left;
    color: #999;
    font-size: 16px;
}
.urlBtn dl dt,
.urlBtn dl dd{
    line-height:1.0;
    display: table-cell;
    vertical-align: middle;
    font-size:16px;
}
.urlBtn dl dd{
    text-align: left;
}

.urlBtn dl dt img{width: 36px;}
.urlBtn dl:hover {
    filter:alpha(opacity=80);
    opacity:0.8;
}

/*メール*/
.urlBtn dl.urlMail dt {width: 60px; text-align: left; padding-left:6px}
.urlBtn dl.urlMail dt img {width: 36px;}
.urlBtn input.urlMail[type=text]{
    height: 1.5em;
    width: 100%;
    border: 1px solid #B9BABA;
    border-left:0px solid #FFFFFF;
    border-right:0px solid #FFFFFF;
    border-top:0px solid #FFFFFF;
    margin-bottom:5px;
    font-size: 18px;
    line-height: 1.5em;
    display: inline;
    vertical-align: middle;
    text-align: center;
}

/*twitter*/
.urlBtn dl.urlTw{
    background: #55ACEE;
    border: 3px solid #55ACEE;
    color: #FFF;
}
.urlBtn dl.urlTw dt {width: 60px; text-align: left; padding-left:6px}

/*FaceBook*/
.urlBtn dl.urlFb{
    background: #3B5998;
    border: 3px solid #3B5998;
    color: #FFF;
}
.urlBtn dl.urlFb dt {width: 60px; text-align: left; padding-left:6px}

/* 通知メッセージ */
#notice_message {
    border: 1px #00BEF5 solid;
    margin: 8px auto;
    padding: 8px;
    max-width: 700px;
    clear:both;
}
#notice_message h2 {
    font-size: 16px;
    padding: 8px 0;
    text-align: center;
}
#notice_message p {
    padding: 3px 0;
}

/*-------------------------------------------------*/
/*20240307　ログイン画面CSS
/*-------------------------------------------------*/
.desktop {
	display: block;
}

.sp_only {
	display: none;
}

@media screen and (max-width: 749px) {
	.desktop {
		display: none;
	}

	.sp_only {
		display: block;
	}
}

body{
    background: url("/../receive/tmp_set/meiko_kabuyu2025-0/images/pc_top.jpg") no-repeat top center fixed;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
	position: relative;
	overflow-x: hidden;
}

@media screen and (max-width:749px) {
	body{
		background: none;
		background-color: #e4e5e6;
		font-family: sans-serif;
	}
}

@media screen and (max-width: 749px) {
	#wrapper .meiko_bg {
		width: 100%;
		margin: auto;
	}
}

.loginWrap{
    width: 100%;
    height: 100%;
	min-height: 100vh;
	display: flex;
	-webkit-box-pack: end;
	justify-content: flex-end;
	-webkit-box-align: center;
	align-items: center;
}

@media screen and (max-width:749px) {
	.loginWrap{
		justify-content: center;
		padding: 0;
		align-items: start;
		margin-top: -90px;
		min-height: 0;
	}
}

.logo{
	position: absolute;
	top: 22px;
	left: 31px;
}

@media screen and (max-width:749px) {
	.logo{
		top: 15px;
		left: 16px;
	}
}

.logo img{
	width: 364px;
	height: auto;
}

@media screen and (min-width:500px) and (max-width:749px) {
	.logo img{
		width: 270px;
		height: auto;
	}
}

@media screen and (max-width:499px) {
	.logo img{
		width: 210px;
		height: auto;
		display: block;
	}
}

.loginWrap .receipt{
    width:  min(50vw, 609px);
	padding:  min(2.87vw, 40px);
    background-color: rgba(255, 255, 255, 0.9);
	border-radius: 10px;
	margin-right: 5.208vw;
}

@media screen and (max-width:749px) {
	.loginWrap .receipt{
		width: 80%;
		height: auto;
		margin-right: 0;
		padding:  30px 16px;
		background-color: rgba(255, 255, 255, 1);
	}
}

#wrapper {
    margin: 0;
    width: 100%;
}

#wrapper .loginWrap h2.title {
    color: #004896;
    font-size: 30px;
	font-weight: bold;
    text-align: center;
    font-family: sans-serif ;
}

@media screen and (max-width:1000px) {
	#wrapper .loginWrap h2.title {
		font-size: 25px;
	}
}

@media screen and (max-width:749px) {
	#wrapper .loginWrap h2.title {
		font-size: 21px;
	}
}

#wrapper .loginWrap #login_btn {
    display: block;
    width: 320px;
    height: 64px;
    line-height: 47px;
    font-size: 18px;
    background: #004896;
    color: #ffffff;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
	border-radius: 7px;
    font-family: sans-serif ;
}

@media screen and (max-width:749px) {
	#wrapper .loginWrap #login_btn {
		font-size: 16px;
		width: 100%;
		height: 48px;
		line-height: 31px;
		margin-top: 0;
	}
}

#wrapper .loginWrap #login_btn i{
    font-size: 24px;
    vertical-align: -2px;
}

#wrapper .loginWrap #login_btn:hover{
    background: #ffffff;
    color: #004896;
	border: 1px solid #004896;
}

#wrapper .loginWrap .info{
    font-size: 11px;
    padding-top: 8px;
}


/*注意文言*/
#wrapper .warningWord{
	font-size: 16px;
	margin: 33px auto 38px;
    font-family: sans-serif ;
}

@media screen and (max-width:1000px) {
	#wrapper .warningWord {
		font-size: 14px;
	margin: 24px auto 24px;
	}
}

@media screen and (max-width:749px) {
	#wrapper .warningWord {
		font-size: 12px;
		margin: 24px auto 0;
	}
}


/*footer PC*/
.footer_loginWrapper{
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 99%;
	margin: auto;
}

@media screen and (max-width:749px) {
	.footer_loginWrapper{
		display: none;
	}
}

.footer_loginWrapper__mail{
	margin: auto;
}

.footer_loginWrapper__mail a{
	text-decoration: none;
}

.mail_image{
	width: 40px;
	height: 32px;
	margin: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 4px 0 15px 0;
}

#wrapper .footer_loginWrapper__text{
	font-size: 1.3vw;
	color: #004896;
	text-align: center;
	font-weight: bold;
    font-family: sans-serif ;
}

@media screen and (min-width:1210px) {
	#wrapper .footer_loginWrapper__text{
		font-size: 15px;
	}
}

@media screen and (max-width:749px) {
	#wrapper .footer_loginWrapper__text{
		justify-content: center;
		padding: 0;
		align-items: start;
		margin-top: 100px;
	}
}

.footer_loginWrapper__qa{
	margin: auto;
}

.footer_loginWrapper__qa a{
	text-decoration: none;
}

.qa_image{
	width: 48px;
	height: 48px;
	margin: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 2px;
}

.footer_loginWrapper__tel{
	width: 68%;
}

/* 横並びのtelアイコンと番号 */
.footer_loginWrapper__tel__flexWrap{
	display: flex;
	justify-content: end;
	gap: 14px;
	align-items: center;
}

.footer_loginWrapper__tel__flexWrap a{
	text-decoration: none;
}

.tel_image{
	width: 49px;
	height: 18px;
}

#wrapper .footer_loginWrapper__tel__number{
	font-size: 2vw;
	color: #004896;
	font-weight: bold;
	margin: 3px 0;
    font-family: sans-serif ;
    -webkit-appearance: none;
}

@media screen and (min-width:750px) and (max-width:900px) {
    #wrapper .footer_loginWrapper__tel__number{
        font-size: 18px;
    }
}

@media screen and (min-width:1210px) {
	#wrapper .footer_loginWrapper__tel__number{
		font-size: 33px;
}
}

#wrapper .footer_loginWrapper__text__tel{
	font-size: 1.3vw;
	color: #004896;
	text-align: end;
	font-weight: bold;
    font-family: sans-serif ;
}

@media screen and (min-width:1210px) {
	#wrapper .footer_loginWrapper__text__tel{
		font-size: 16px;
}
}


/* footer sp */
.footer_login_sp{
	margin: 46px 0;
}
#wrapper .footer_login_sp_ttl{
	font-size: 16px;
    color: #004896;
	font-weight: bold;
	margin-bottom: 23px;
}

.footer_loginWrapper_sp{
	display: flex;
	justify-content: center;
	margin: auto;
	gap: 24px;
}

.footer_loginWrapper__mail_sp a{
	text-decoration: none;
}

.mail_image_sp{
	width: 25px;
	height: 20px;
	margin: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 8px 0 15px 0;
}

.footer_loginWrapper__qa_sp a{
	text-decoration: none;
}

.qa_image_sp{
	width: 33px;
	height: 33px;
	margin: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 3px 0 7px 0;
}

#wrapper .footer_loginWrapper__text_sp{
	font-size: 14px;
	color: #004896;
	font-weight: bold;
}


#wrapper .footer_loginWrapper__text__tel_sp{
	font-size: 14px;
	color: #004896;
	font-weight: bold;
	margin: 14px 0 4px 0;
}

#wrapper .tel_time{
	font-size: 12px;
	color: #004896;
	font-weight: bold;
	display: block;
	text-align: center;
	margin-bottom: 16px;
}

.footer_loginWrapper__tel_sp a{
	text-decoration: none;
}

.footer_loginWrapper__tel__flexWrap_sp{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px;
	margin: auto;
}

#wrapper .footer_loginWrapper__tel__number_sp{
	font-size: 18px;
	color: #004896;
	font-weight: bold;
}

/* .siteLink{
    display: inline-block;
    font-size: 0;
	list-style: none;
}
.siteLink li{
    font-size: 12px;
    position: relative;
    display: inline-block;
    text-shadow: 1px 1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, -1px -1px 0 #FFF;
}
.siteLink li:not(:first-child)::before{
    content:  '｜';
}

.siteLink li a{
    color: #666;
}

.siteLink li a:hover{
    text-decoration: none;
} */

/*ログインコード有り*/
/* .cardImg{
    margin: 20px auto;
    width: 500px;
}
.cardImg img {
    vertical-align: top;
    width: 100%;
    margin: 10px auto;
}

.notice_message {
    display:none;
} */

