@charset "utf-8";

@media only screen and (max-width: 768px) {
	main,
	main.mypage {
		padding: 0;
	}
	main.mypage .top-content {
		padding-bottom: 40px;
	}
	div.title2 h1 {
	    flex-wrap: nowrap;
	  }
	  div.title2 h1 span {
	    display: inline;
	    width: auto;
	  }
	.mypage_txt01 {
	  font-size: 16px;
	}
	.mypage_txt02 {
	  font-size: 13px;
	  margin: 20px 0;
	}
	.linkbtn {
		width: 60%;
		  margin: 10px auto 40px;
		  position: relative;
	}
	/* login message */
	p.login-message {
		margin-bottom: 15px;
		font-size: 16px;
	}
	
	/* password message */
	p.password-msg {
		font-size: 16px;
	}

	.mypage table.form {	
		padding: 0;	
		width: 95%;	
		margin: 0 auto;	
	}
	table.login,
	table.email {
		width: 90%;
	}

	/* submit */
	.submit {
		padding: 30px 0;
	}

	#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-head-line {
		padding: 40px 4px 10px !important;
	}

	/* mypage menu */
	.mypage-menu {
		display: flex;
		flex-direction: row;
		justify-content: center;
		gap: 20px;
		padding: 0;
		margin: 40px auto;
		flex-wrap: wrap;
	}
	.mypage-menu li {
		float: none;
		padding: 0;
		margin: 0;
		width: 120px;
	}
	.mypage-menu li a {
		display: block;
		padding: 0;
	}
	.mypage-menu li:not(.disabled) a:hover {
		opacity: 1;
	}
	.mypage-menu li div.icon {
		margin: 0 auto;
		padding: 0 7px;
		height: 120px;
		width: 120px;
	}

	/*.mypage-menu li.session div.icon img {*/
	/*	width: 7vw;*/
	/*}*/
	/*.mypage-menu li.jukou div.icon img {*/
	/*	width: 12vw;*/
	/*}*/
	/*.mypage-menu li.cancel div.icon img {*/
	/*	width: 5vw;*/
	/*}*/
	/*.mypage-menu li.download div.icon img {*/
	/*	width: 7vw;*/
	/*}*/
	.mypage-menu li.disabled div.icon span {
		background-color: #ddd;
	}
	.mypage-menu li div.text {
		width: 100%;
		margin-top: 10px;
		font-size: 11px;
	}
	.mypage-menu li div.text br {
		display: none;
	}
	.mypage-menu li div.text span {
		font-size: 11px;
	}
	
	/* 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%;
	}
	a.download {
		margin: 20px auto 0;
	}
	.no-download {
		max-width: 90%;
	}
	.session-title {
	  font-size: 20px;
	}
	table.session tr td.code span.code:empty {
		display: none;
	}
	.calendar_list {
		gap: 10px;
		margin: 20px 0;
	}
	.calendar_list li {
		width: 46%;
	}
	main .cancel-msg {
		font-size: 13px;
	}
	.mypage .wrap {
		margin: 20px auto 40px;
	}
}
@media only screen and (max-width: 480px) {
	div.title2 h1 {
	    gap: 6px;
	    font-size: 12px;
	  }
	div.title2 h1 span {
	    font-size: 27px;
	  }
}