@charset "utf-8";
/* 0. Grobal --------------- */
/* 1. header --------------- */
/* 2. home ----------------- */
/*    2-1. Inputs  --------- */
/*    2-2. Buttons --------- */
/* 	  2-3. Link ------------ */
/* 3. Registration --------- */
/*    3-1. Labels & Inputs - */
/*    3-2. Buttons & Links - */
/*    3-3. Fukidashi info -- */
/* 4. Kiyaku --------------- */
/* 5. FAQ ------------------ */
/*    5-1. Password reset -- */

/* X. Media Quary ---------- */
/*   X-1. max-width:768px -- */
/*   X-1-1. Login ---------- */
/*   X-1-2. Regist --------- */
/*   X-1-3. Kiyaku --------- */
/* X-2. max-width:413px ---- */
/* X-2. max-width:374px ---- */
/* XX. OPTION -------------- */

/* 0. Groba  ---------------------------------------------- */

body, h2, h3, h4, div, a, aside, nav, address, p, div, img, span {
	margin: 0;
	padding: 0;
}
body * {
	font: 14px/1.2 Arial, Helvetica, sans-serif, "ＭＳ Ｐゴシック";
}
a, input{
	outline:none;
}
a {
	text-decoration: none;
}
a img {
	border: none;
}
header, section{
	clear: both;
	display: table;
	max-width: 940px;
	width:100%;
	margin: 0 auto;
}
section{
	font-size: 1.2em;
	padding:2em 1em;
	background: #FFF;
	border-top: 7px solid #09F;
}
h1{
	font-size:1.2em;
}
.right {
    float: right;
}
.fa{
	display:inline-block;
	padding-right:5px;
	font-size:18px;
}
.errormsg {
	clear:both;
	text-align:left;
	color:#FF0000;
	min-height:1em;
	margin:1em 0;
}
#login-form .fa, #pw .fa{
	width:35px;
	height:100%;
	font-size:2em;
	vertical-align:bottom;
	background-color:#09C;
	text-align:center;
	line-height:35px;
	color:#FFF;
	margin:0;
	padding:0;
	vertical-align:top;
}
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px white inset;
}

/* 1. header  ---------------------------------------------- */
#headmenu {
	margin-bottom: 0.5em;
	padding-top: 0.5em;
}
.logo {
	float: left;
	display: block;
	background-image: url(../img/logo.png);
	background-repeat: no-repeat;
	background-position: 20px;
	font-size: 0.9em;
	color: #333333;
	height: 20px;
	padding: 20px 0 0 190px;
	margin-top: 5px;
}
.regist .logo {
	background-image: url(../img/logo2.png);
}

/* 2. Home  ---------------------------------------------- */


.login-form .frame {
	width: 300px;
	overflow: hidden;
	padding:20px 30px 20px;
	margin: 0 auto;
	border: 1px solid #CCC;
	border-radius:5px;
	background-color:#e5f4fe;
	font-size: .9em;
}
#login-form{
	width: 90%;
	margin: 0 5%;
	padding: 1em 0;
}

.lang_box {
	padding: 8px;
	background: #FFF;
	border: 1px solid #b3e0ff;
}
.lang_box dt {
	margin-bottom: 5px;
	padding-bottom: 1px;
	font-weight: bold;
	border-bottom: 2px dotted #09F;
}
.lang_box dd {
	margin: 0;
}
.lang_box ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.lang_box li {
	margin: 3px 0;
	padding: 0 5px;
	line-height: 1;
	display: inline-block;
	cursor: pointer;
	font-size: 12px;
	color: #0038E8;
	/*color: #000;*/
	border-right: 1px solid #b1b1b1;
	vertical-align: middle;
}
.lang_box li:last-of-type {
	border-right: none;
}

/* 2-1. Inputs  ---------------------------------------------- */

#login-form input[type="text"], .frame input[type="password"] {
	width: calc(100% - 45px);
	height: 100%;
	margin:0;
	box-sizing: border-box;
	border:none;
}
.input-area{
	height:35px;
	width: 100%;
	background-color:#FFF;
	border:1px solid #026b8e;
	border-radius:5px;
}

/* 2-2. Buttons ---------------------------------------------- */

#pwButton {
	float:right;
	display: none;
	margin: 10px;
	padding:5px;
	border-radius: 5px;
	border:1px solid #333;
	background-color: #FFF;
	font-size: 0.8em;
	outline: none;
}
#pwButton[value="パスワード非表示"]{
	background-color: #09c;
	border: none;
	color: #FFF;
}
button, .login-form .regist {
	width: 100%;
	box-sizing: border-box;
	text-align: center;
	border: 1px solid #0099CC;
	font-size: 1.2em;
	color: #FFF;
	padding: 0.5em 1em;
	margin:1em auto;
	border-radius:5px;
	background: #09F;
	background: -moz-linear-gradient(rgba(0,102,255,1), rgba(0,204,255,.5));
	background: -webkit-gradient(linear, 100% 0%, 100% 100%, from(rgba(0,102,255,1)), to(rgba(0,204,255,.5)));
	cursor: pointer;
}
.login-form .regist, .regist button {
	margin-top:1em;
	display: inline-block;
	border: 1px solid #390;
	background: #66CC00;
	background: -moz-linear-gradient(rgba(0,153,0,1), rgba(0,204,0,.5));
	background: -webkit-gradient(linear, 100% 0%, 100% 100%, from(rgba(0,153,0,1)), to(rgba(0,204,0,.5)));
	cursor: pointer;
}
.login-form .english {
	border: 1px solid #d96f1c;
	background: rgb(217,111,28); /* Old browsers */
	background: -moz-linear-gradient(top, rgba(217,111,28,1) 0%, rgba(244,163,93,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(217,111,28,1) 0%, rgba(244,163,93,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(217,111,28,1) 0%, rgba(244,163,93,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
 	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d96f1c', endColorstr='#f4a35d', GradientType=0 ); /* IE6-9 */
	cursor: pointer;
}

/* 2-3. Link  ---------------------------------------------- */

.nopw {
	clear: both;
	text-align: right;
	padding: 0 1em 0 0;
	background: url(../img/QRcode.gif) no-repeat left;
	height: 82px;
	margin-left: 10px;
}
.nopw a {
	display: block;
	padding-top: 1.5em;
	font-size: 0.85em;
}
.menu {
	margin-top: 2em;
	text-align: center;
}
.message {
	margin: 1em;
	text-align: center;
}


/* 3. Registration ---------------------------------------------- */

section.regist-form{
	border-top: 7px solid #009700;
}
.regist-form h1{
	font-size:1.5em;
}
.regist-form .frame{
	text-align:center;
	border:1px solid #333;
	background-color:#EEFFDD;
	border-radius:5px;
	max-width:800px;
	margin:0 auto 2em;
	padding:1em 0 3em;
	border-radius:5px;
}
#regist-form{
	width:70%;
	margin: 0 auto;
	padding: 1em 0;
}

/* 3-1. Labels & Inputs ---------------------------------------------- */

label span{
	color:#666;
	display:block;
	margin-bottom:5px;
}
.regist-form label{
	display:block;
	text-align:left;
}
.regist-form input, .regist-form label{
	width:90%;
	margin:0 0 5px;
}
.regist-form input{
	height:1.5em;
}
.regist-form input{
	height:2em;
	padding-left:10px;
}
.regist-form label span {
	display:inline-block;
	font-size:0.9em;
	padding-left:5px;
}

/* 3-2. Buttons & Links ---------------------------------------------- */

#regist-form button, .notice{
	width:90%;
	min-height:2.5em;
	margin:0 auto;
}
.notice {
	text-align:left;
	padding:2em 0 0 0;
	line-height:1.5em;
}
.btn{
	padding-top:1em;
	margin-bottom:1em;
}
.red{
	color:#F00;
}

/* 3-3. Fukidashi info ---------------------------------------------- */

.info{
	cursor:pointer;
	display:inline-block;
	color:#f00;
}
.info i{
	font-size:1.5em;
	margin:0 5px ;
}
.regist-form label span.fukidashi{
	position: relative;
	display:none;
	padding: 0 15px;
  margin-top: -20px;
	width: auto;
	min-width: 115px;
	height: 40px;
	color: #F6F6F6;
	line-height: 40px;
	text-align: center;
	background: #19283C;
	z-index: 0;
}
.fukidashi:after {
	content: "";
	position: absolute;
	top: 50%; left: -10px;
	margin-top: -10px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 10px 10px 0;
	border-color: transparent #19283C transparent transparent;
}

.regist-form label span.show{
	display: inline-block;
}

/* 4. Kiyaku ---------------------------------------------- */

.kiyaku{
	border-radius:.4em;
	border:1px solid #CCC;
	margin:1em auto;
	padding:0.5em 1em 2em;
	width:80%;
}
.kiyaku h1{
	background:#999;
	color:#FFF;
	padding:7px 0;
	margin-bottom:2em;
	font-weight:bold;
	text-align:center;
	border-radius:20px;
	box-shadow: 0 1px 2px rgba(0,0,0,.2);
}
.kiyaku h2{
	font-size: 1.1em;
  font-weight: bold;
  color: #646363;
  margin: 2em 0 5px 1em;
}
.kiyaku h5{
	margin:0 1em 0.5em;
	padding-top:1em;
	font-size:1em;
	color: #999;
}
.kiyaku p{
	margin:0 2em 1em 1.5em;
}

/* 5. FAQ ---------------------------------------------- */

.faq{
	max-width:840px;
	width:90%;
	margin:.5em auto;
}
.faq dl{
	border-bottom:1px dotted #CCC;
	margin-bottom:2em;
}
.faq dt{
	background:url(../img/q.png) no-repeat top left;
	font-weight: bold;
	margin:0 0 1.5em;
	padding:0 0 .5em 2em;
	font-size: 1.2em;
}
.faq dd{
	background:url(../img/a.png) no-repeat top left;
	padding:0 0 1em 2em;
	margin:0 0 1em;
}

.faq dd span{
	font-weight:bold;
	display:block;
	padding-bottom:7px;
}
.faq ul{
	margin:0;
	padding-top:1em;
}
.faq li{
	padding-bottom:10px;
}
.faq a{
	color:#00F;
	text-decoration:underline;
}

/* 5-1. Password reset ---------------------------------------------- */
.pw_reset dl{
	border:none;
}
.pw_reset dl:last-child{
	padding-top:2em;
	border-top:1px dotted #CCC;
	border-bottom:1px dotted #CCC;
}
.faq .input-area{
	max-width: 330px;
	width:90%;
	margin:2em auto 0.5em;
	height:2.5em;
	line-height:2.5em;
}
.faq .errormsg{
	width:320px;
	margin:0 auto;
}
.faq form .fa{
	font-size:1.5em;
}
.pw_reset #email{
	border:none;
}
#pw button{
	width:50px;
	float:right;
	margin:3px;
	border:none;
	line-height:2em;
	padding:0;
	background-color: #7ebfea;
	color:#FFF;
	font-size:1em;
	font-weight:normal;
	letter-spacing:2px;
}
.recommend{
	border:none;
	background-color: #FFF;
}
.recommend a{
  color: #FFF;
}

/* X. Media Quary ---------------------------------------------- */

/* X-1. max-width:768px ---------------------------------------------- */

@media only screen and (max-width:768px) {
.right{
	margin:1em 1em 0;
}
section{
	margin: 1em 0 0;
	padding:0;
}
.logo {
	float: none;
	background-position: top center;
	padding: 45px 0 0 0;
	margin-top: 5px;
	text-align:center;
}

/* X-1-1. Login ---------------------------------------------- */

.login-form{
	padding:1em 0;
	background-color: #e5f4fe;
}
.frame{
	background:none;
	border:none;
}

/* X-1-2. Regist ---------------------------------------------- */

.regist-form .frame{
	padding-top:0;
	border:none;
	border-radius:0;
	padding:0 0 2em;
}
.regist-form h1{
	margin:0;
	padding-top:1em;
}

/* X-1-2. Kiyaku ---------------------------------------------- */

.kiyaku{
	border-radius:.4em;
	border: none;
	margin: 0 auto;
	padding: 0;
	width: 95%;
}
.kiyaku p{
	margin: 0 1.5em 1em 1.5em;
}

/* X-1-3. FAQ ---------------------------------------------- */

.faq ul{
	padding-left:0;
}
}

/* X-2. max-width:413px ---------------------------------------------- */

@media only screen and (max-width:413px) {
.right{
	float:none;
	margin: 1.5em auto 0;
  text-align: center;
}
.description{
	text-align:left;
	padding:0 1em 1em;
}
.login-form{
	padding:0;
}
.login-form .frame {
	width:auto;
	padding:20px 10px 20px;
	border:none;
	box-sizing:border-box;
}
#login-form{
	padding: 0 0 1em;
}
.pw_reset #email{
	max-width:180px;
}
section.regist-form{
	background-color: #EEFFDD;
}
#regist-form{
	width:90%;
}
}

/* X-3. max-width:374px ---------------------------------------------- */

@media only screen and (max-width:374px) {
.pw_reset #email{
	max-width:150px;
}
}

/* XX. OPTION ---------------------------------------------- */

.notice_pw{
	font-size:16px;
	line-height:1.5;
	text-align:center;
	padding-bottom:1em;
}
.notice_pw a{
	color:#00F;
	text-decoration:underline;
}
