@charset "utf-8";

/* smart phone */
@media only screen and (max-width: 768px) {
	main .wrap {
		width: 94%;
		margin: 0 auto;
	}
	/* submit */
	.submit li {
	    margin: 0 auto;
	    min-width: 140px;
	    height: 60px;
	    box-sizing: border-box;
	    border-radius: 2px;
	  }
	  .submit li input {
	    width: 100%;
	    font-size: 16px;
	    margin: 0;
	    padding: 10px;
	    z-index: 999;
	    border: none;
	    background-color: #333;
	    color: #fff;
	    height: 50px;
	  }

	/* login */
	table.login {
		width: 90%;
	}
	#id-check,
	#email-check {
		width: 97%;
		margin: 0 auto 20px;
	}
	#id-check tr th,
	#email-check tr th {
		width: 20%;
		font-weight: normal;
	}
	#id-check tr:first-child th {
		border-radius: 6px 0 0 0;
	}
	#id-check tr:last-child th {
		border-radius: 0 0 0 6px;
	}
	#email-check tr th {
		border-radius: 6px 0 0 6px;
	}
	#email-check tr td {
		border-radius: 0 6px 6px 0;
	}
	#id-check tr td,
	#email-check tr td {
		padding: 0;
		width: 80%;
	}
	#id-check tr td input,
	#email-check tr td input {
		width: 98%;
		font-size: 17px;
		padding: 8px 8px;
		line-height: 1.6;
	}
	#id-check tr td input:-webkit-autofill {
		-webkit-box-shadow: 0 0 0px 1000px #f0f0f0 inset;
	}

	/* login error */
	div.login-error {
		height: 146px;
	}
	a.back {
		width: 120px;
		font-size: 16px;
	}

	/* bottom message */
	#login p.mypage-msg {
		margin: 25px auto;
		width: 230px;
		text-align: center;
	}

	/* password */
	#password {
		width: 100%;
		padding: 0 10px;
		text-align: center;
	}
	#password .error-message {
		display: block;
		margin: -10px 0 10px 0;
	}
	table.login,
	table.email {
		width: 90%;
	}

	/* send message */
	#password p.send-msg {
		margin: 45px auto;
		text-align: center;
		width: 285px;
	}
	#password ul.submit {
		margin: 0 0 40px 0;
		padding: 0;
	}
	#password ul.submit li {
		width: 180px;
		height: 48px;
	}
	#password ul.submit li a,
	#password ul.submit li input {
		width: 100%;
		height: 100%;
		margin: 0;
		padding: 10px;
		font-size: 16px;
		line-height: 1.7;
	}

	/* mypage */
	h2 {
		padding-top: 2px;
	}
	#mypage {
		width: 100%;
		padding: 0 10px;
		text-align: center;
		position: relative;
	}
	#mypage p.mypage-msg {
		font-size: 12px;
		margin: 0 auto 10px;
		padding: 0;
	}

	/* mypage-header */
	#mypage-header .wrap {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.mypage-head-line {
		padding: 10px 4px !important;
	}
	.mypage-head-line a:visited {
		color: #333;
	}

	/* mypage menu */
	.mypage-menu {
		display: flex;
		flex-direction: row;
		justify-content: center;
		padding: 0;
		margin: 0 auto 40px;
		max-width: 320px;
	}
	.mypage-menu li {
		float: none;
		padding: 0;
		margin: 0;
		width: 70px;
		height: 100px;
	}
	.mypage-menu li a {
		display: block;
		padding: 0;
		background-color: #fff;
	}
	.mypage-menu li:not(.disabled) a:hover {
		opacity: 1;
	}
	.mypage-menu li div.icon {
		margin: 0 auto;
		padding: 0 7px;
		height: 54px;
	}
	.mypage-menu li div.icon span {
		display: table-cell;
		text-align: center;
		vertical-align: middle;
		border-radius: 10px;
	}
	.mypage-menu li.session div.icon span img {
		width: 20px;
	}
	.mypage-menu li.jukou div.icon span img {
		width: 44px;
	}
	.mypage-menu li.cancel div.icon span img {
		width: 12px;
	}
	.mypage-menu li.download div.icon span img {
		width: 22px;
	}
	.mypage-menu li.disabled div.icon span {
		background-color: #ddd;
	}
	.mypage-menu li div.text {
		width: 100%;
		margin-top: 10px;
		font-size: 11px;
		color: #333;
	}
	.mypage-menu li div.text span {
		display: none;
	}
	
	/* mypage session */
	#mypage-session {
		width: 100%;
		padding: 0;
	}

	/* session message */
	#mypage-session p.session-msg {
		margin: 0 auto 16px;
		font-size: 12px;
		text-align: center;
		padding: 0 6%;
	}

	/* cancel message */
	#mypage-cancel p.mypage-msg {
		margin: 40px auto;
		font-size: 14px;
		text-align: center;
		padding: 0 6%;
	}

	table.form {
		padding: 0 !important;
	}
}