﻿

/*** for PC Browser ***/
@media (min-width:401px)
{
#basis {
	position: relative;
	width: 100vw;
	height: calc( 100vh - 14vmin - 24px );
	align-items: center;
	overflow: hidden;
	font-size: calc( 2.5vmin + 8px );
	background-image: linear-gradient( to top, #FFFFFF, #FFFCDD );
}

.ticket_list {
	display: flex;
	flex-direction: column;
	justify-content: space-around;	/* space-evenly未実装ブラウザ用 */
	justify-content: space-evenly;
	align-items: center;
	width: 100%;
	height: 100%;
	z-index: 21;
}

.ticket_list > div {	/* 個々のチケット */
	width: 70vw;
	max-width: 100vmin;
	min-height: 12vmin;
	border-radius: 3px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 3px 5px;
}

.ticket_list > div.usable {	/* 有効(使用可能)チケット */
	border: 4px solid #F7C331;
	background-color: #F7EAC6;
	font-size: 1.1em;
	font-weight: bold;
}


.ticket_list > div.invalid {	/* 無効(購入不可)チケット */
	opacity: 0.5;	/* 半透明 */
	border: 2px solid #333333;
	background-color: #FFFFFF;
	font-size: 1em;
	background-image: linear-gradient( to bottom right, transparent, transparent 49%, red 49%, red 51%, transparent 51%, transparent ),
					linear-gradient( to top right, transparent, transparent 49%, red 49%, red 51%, transparent 51%, transparent );
}

.ticket_list > div > div {	/* 個々のチケットの中の集合要素 */
	display: flex;
	justify-content: space-between;	/* 要素は左右揃え */
}


#comment {	/* コメント */
	font-size: 1em;
}

#comment > div {	/* コメントの下のブロック */
	display: flex;	/* とりあえず表示 */
}

#comment > div.invalid {	/* コメントの下の無効説明文 */
	display: none;	/* 非表示に切り替え */
	font-size: 1.3em;
	font-weight: bold
}

#comment.nouse > div {	/* 使用不可きっぷのコメントの下のブロック */
	display: none;	/* とりあえず非表示 */
}

#comment.nouse > div.invalid {	/* 使用不可コメントの下の無効説明文 */
	display: flex;	/* 表示に切り替え */
}

#ticket .status {	/* 状態 */
	color: #997000;
	font-size: 0.9em;
	font-weight: bold;
}

#ticket .name {	/* きっぷ名 */
	font-size: 1.2em;
	font-weight: bold;
}

#ticket .expire {	/* 有効期限 */
	color: #333333;
	font-size: 0.9em;
}

#modal_wrap {
	display: none;
	position: absolute;
	justify-content: center;
	align-items: center;
	top: 0;
	left: 0;
	width: 100vw;
	height: calc( 100vh - 24px );
	background-color: rgba( 0, 0, 0, 0.5 );	/* 半透明の背景 */
}

#modal_wrap.show {
	display: flex;
	z-index: 31;
}

#modal_main {
	display: flex;
	flex-direction: column;
	border: 1px solid black;
	border-radius: 10px;
	background-color: #FFFFFF;
	width: 75vmin;
	padding: 0;
	text-align: center;
}

#modal_1 {
	border: 1px solid black;
	border-radius: 10px 10px 0 0;
	margin: 0;
	padding: 15px;
}

#modal_2 {
	border: 1px solid black;
	margin: 0;
	padding: 15px;
}

#modal_3 {
	border: 1px solid black;
	border-radius: 0 0 10px 10px;
	margin: 0;
	padding: 15px;
}

#modal_1.click, #modal_2.click, #modal_3.click {	/* 強調されない選択肢 */
	background-color: #F8F8F8;	/* 背景をちょっと暗く */
	border: 3px solid #666666;	/* 枠線をちょっと灰色に */
	padding: 20px;
}

#modal_1.click.strong, #modal_2.click.strong, #modal_3.click.strong {	/* 強調された選択肢 */
	font-size: 1.05em;			/* 文字を大きめに */
	background-color: #FFEEDD;	/* 背景を明るく */
	border: 3px solid #CC6633;	/* 枠線も太く色付きに */
	padding: 25px;				/* 余白も多めに */
}

}


/*** for Smart Phone ***/
@media (max-width:400px)
{
#basis {
	position: relative;
	width: 100vw;
	height: calc( 100vh - 14vmin - 24px );
	align-items: center;
	overflow: hidden;
	font-size: calc( 2.5vmin + 8px );
	background-image: linear-gradient( to top, #FFFFFF, #FFFCDD );
}

.ticket_list {
	display: flex;
	flex-direction: column;
	justify-content: space-around;	/* space-evenly未実装ブラウザ用 */
	justify-content: space-evenly;
	align-items: center;
	width: 100%;
	height: 100%;
	z-index: 21;
}

.ticket_list > div {	/* 個々のチケット */
	width: 70vw;
	max-width: 100vmin;
	min-height: 12vmin;
	border-radius: 3px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 3px 5px;
}

.ticket_list > div.usable {	/* 有効(使用可能)チケット */
	border: 4px solid #F7C331;
	background-color: #F7EAC6;
	font-size: 1.1em;
	font-weight: bold;
}


.ticket_list > div.invalid {	/* 無効(購入不可)チケット */
	opacity: 0.5;	/* 半透明 */
	border: 2px solid #333333;
	background-color: #FFFFFF;
	font-size: 1em;
	background-image: linear-gradient( to bottom right, transparent, transparent 49%, red 49%, red 51%, transparent 51%, transparent ),
					linear-gradient( to top right, transparent, transparent 49%, red 49%, red 51%, transparent 51%, transparent );
}

.ticket_list > div > div {	/* 個々のチケットの中の集合要素 */
	display: flex;
	justify-content: space-between;	/* 要素は左右揃え */
}


#comment {	/* コメント */
	font-size: 1em;
}

#comment > div {	/* コメントの下のブロック */
	display: flex;	/* とりあえず表示 */
}

#comment > div.invalid {	/* コメントの下の無効説明文 */
	display: none;	/* 非表示に切り替え */
	font-size: 1.3em;
	font-weight: bold
}

#comment.nouse > div {	/* 使用不可きっぷのコメントの下のブロック */
	display: none;	/* とりあえず非表示 */
}

#comment.nouse > div.invalid {	/* 使用不可コメントの下の無効説明文 */
	display: flex;	/* 表示に切り替え */
}

#ticket .status {	/* 状態 */
	color: #997000;
	font-size: 0.9em;
	font-weight: bold;
}

#ticket .name {	/* きっぷ名 */
	font-size: 1.2em;
	font-weight: bold;
}

#ticket .expire {	/* 有効期限 */
	color: #333333;
	font-size: 0.9em;
}

#modal_wrap {
	display: none;
	position: absolute;
	justify-content: center;
	align-items: center;
	top: 0;
	left: 0;
	width: 100vw;
	height: calc( 100vh - 24px );
	background-color: rgba( 0, 0, 0, 0.5 );	/* 半透明の背景 */
}

#modal_wrap.show {
	display: flex;
	z-index: 31;
}

#modal_main {
	display: flex;
	flex-direction: column;
	border: 1px solid black;
	border-radius: 10px;
	background-color: #FFFFFF;
	width: 75vmin;
	padding: 0;
	text-align: center;
}

#modal_1 {
	border: 1px solid black;
	border-radius: 10px 10px 0 0;
	margin: 0;
	padding: 15px;
}

#modal_2 {
	border: 1px solid black;
	margin: 0;
	padding: 15px;
}

#modal_3 {
	border: 1px solid black;
	border-radius: 0 0 10px 10px;
	margin: 0;
	padding: 15px;
}

#modal_1.click, #modal_2.click, #modal_3.click {	/* 強調されない選択肢 */
	background-color: #F8F8F8;	/* 背景をちょっと暗く */
	border: 3px solid #666666;	/* 枠線をちょっと灰色に */
	padding: 20px;
}

#modal_1.click.strong, #modal_2.click.strong, #modal_3.click.strong {	/* 強調された選択肢 */
	font-size: 1.05em;			/* 文字を大きめに */
	background-color: #FFEEDD;	/* 背景を明るく */
	border: 3px solid #CC6633;	/* 枠線も太く色付きに */
	padding: 25px;				/* 余白も多めに */
}
}
