/* 共通設定: レイアウト */
input, select {
	border: 1px solid gray;
	background-color: whitesmoke;
	padding: 0.2em 0.5em;
}
input[type=submit] {
	background-color: /*dimgray*/brown;
	border-color: /*dimgray*/brown;
	color: white;
	padding: 0.5em 2em;
}
input[type=submit]:hover {
	background-color: indianred;
}
input[type=submit][disabled] {
	background-color: darkgray;
	border-color: darkgray;
	cursor: not-allowed;
}
.TopicPath a.TopicPath-last:after {
	content: none;
}
h1 {
	margin-top: 30px;
	color: black !important;
	font-size: x-large;
}
h1 a {
	color: inherit !important;
	text-decoration: inherit;
}
p.return-top {
	text-align: center;
	margin-top: 1em;
}
table tr td {
	line-height: 160%;
}
div.Contents {
	position: relative;
}
p.top-info {
	position: absolute;
	top: 14px;
	left: 0px;
}
p.top-info.loggedin {
	white-space: nowrap;
	line-height: 100%;
}
div.ProductTitleButton {
	position: absolute;
	top: 0px;
	left: auto;
	right: 0;
}

/* 共通設定: エラー */
span.error,
p.error {
	color: red;
}
input.error {
	border-color: red;
	background-color: #fee;
}

/* 共通設定: メンテナンス情報 */
div.maintenance {
	clear: both;
	border: 1px solid gray;
	background-color: pink;
	margin: 0.5em;
	padding: 0.5em;
}
.maintenance p {
	font-size: small;
	line-height: 1.5rem;
	text-align: center;
	color: #222;
}

/* 共通設定: ボタン（長尾さんより、マイページ向け） */
.btn,
a.btn,
button.btn {
	line-height: 1;
	position: relative;
	display: inline-block;
	padding: 0.3rem;
	cursor: pointer;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	letter-spacing: 0.1em;
	color: #212529;
	border-radius: 0.5rem;
}
a.btn-radius-solid {
	border: 1px solid #ccc;
	background: #f1e767;
	background: -webkit-gradient(linear, left top, left bottom, from(#fdfbfb), to(#ebedee));
	background: -webkit-linear-gradient(top, #fdfbfb 0%, #ebedee 100%);
	background: linear-gradient(to bottom, #fdfbfb 0%, #ebedee 100%);
	-webkit-box-shadow: inset 1px 1px 1px #fff;
	box-shadow: inset 1px 1px 1px #fff;
}

/* ログイン・新規登録画面 */
div.login {
	display:flex;
	justify-content: center;
	left: auto;
	right: auto;
}
section.login,
section.register {
	text-align: center;
	border: 1px solid gray;
	margin-top: 1em;
	margin-left: 1em;
	margin-right: 1em;
	margin-bottom: 0;
	min-width: 20em;
	max-width: 640px;
}
section.login h2,
section.register h2 {
	margin: 0;
	margin-top: 1em;
	border: none;
}
section.login p,
section.register p {
	margin: 1em;
}
section.login table,
section.register table {
	margin-left: auto;
	margin-right: auto;
	width: auto;
	padding: 1em;
}
section.login th,
section.register th,
section.login td,
section.register td {
	width: auto;
	padding: 0.5em;
}
section.login th,
section.register th {
	border: none !important;
}
section.login tfoot td,
section.register tfoot td {
	text-align: center;
}
div.register section.register {
	margin-top: 3em;
	margin-bottom: 2em;
	margin-left: auto;
	margin-right: auto;
	width: max-content;
}
div.register section.register h2 {
	margin-top: 1em;
}
div.register pre {
	white-space: pre-wrap;
	border: 1px solid gray;
	padding: 0.5em;
	line-height: 160%;
}

/* パスコードチェック画面 */
#checkPasscode {
	text-align: center;
}
#checkPasscode p {
	text-align: center;
}
#checkPasscode input[type='text'] {
	font-size: xx-large;
	width: 1em;
	text-align: center;
	margin: 0.2em 0em 0.4em 0;
	padding: 0;
}
#checkPasscode input[type=submit] {
	padding: 0em 1em;
}
#checkPasscode input[type=submit]:disabled {
	color: silver;
}

/* アカウント登録画面 */
section.register-account form {
	margin: auto;
	width: 640px;
}
section.register-account table {
	width: 100%;
	padding: 1em;
	border: 1px solid gray;
	margin-top: 1em;
	box-sizing: border-box;
}
section.register-account th,
section.register-account td {
	width: auto;
	padding: 0.5em;
}
section.register-account th {
	border: none !important;
	white-space: nowrap;
	padding-right: 0;
}
section.register-account td {
	width: auto;
}
section.register-account tfoot td {
	text-align: center;
}
section.register-account select {
	text-align: center;
}
section.register-account input[type=submit] {
	margin: 1.5em 0 0.5em 0;
	width: 100%;
	box-sizing: border-box;
}
section.register-account span.required::after {
	content: "（必須）";
	color: red;
	font-size: 60%;
}

/* パスワード、ログインIDを忘れた場合 */
section.forget table {
	margin: auto;
	margin-top: 1em;
	width: auto;
	border: 1px solid gray;
	padding: 1em;
}
section.forget th,
section.forget td {
	width: auto;
	padding: 0.5em;
}
section.forget th {
	border: none !important;
}
section.forget tfoot td {
	text-align: center;
}

/* ワンタイムログイン用 */
section.onetimelogin table {
	margin: auto;
	margin-top: 1em;
	width: auto;
	border: 1px solid gray;
	padding: 1em;
}
section.onetimelogin th,
section.onetimelogin td {
	width: auto;
	padding: 0.5em;
}
section.onetimelogin th {
	border: none !important;
}
section.onetimelogin tfoot td {
	text-align: center;
}

/* マイページ */
section.mypage h2 {
	text-align: center;
	border: none;
	margin-top: 0;
}
section.mypage table {
	margin-left: auto;
	margin-right: auto;
	margin-top: 1em;
	margin-bottom: 1em;
	width: 100%;
	max-width: 640px;
	padding: 1em;
	border: 1px solid #999;
	border-collapse: collapse;
}
section.mypage th,
section.mypage td {
	border-bottom: 1px solid #999 !important;
	padding: 5px 8px;
	width: auto;
}
section.mypage th {
	border: 1px solid #999 !important;
	white-space: nowrap;
	background-color: #f9f9f9;
}
section.mypage td {
	background-color: white;
}
section.mypage td.mypage-edit {
	text-align: right;
}
section.mypage tfoot td {
	text-align: center;
}
section.mypage select {
	text-align: center;
}
section.mypage input[type=submit],
section.mypage td.add-new-card input[type=button] {
	margin: 1em 0 1em 0;
}
section.mypage em.admin {
	color: red;
}
section.mypage p {
	text-align: center;
}

/* コンテンツ画面 */
div.contents-register {
	margin-top: 2em;
	margin-left: auto;
	margin-right: auto;
	max-width: 550px;
	text-align: center;
	border: 1px solid gray;
	padding: 1em;
}
div.contents-register input {
	border: 1px solid gray;
	margin-bottom: 1em;
}
div.contents-register p {
	text-align: center;
}

/* 問い合わせフォーム */
table.contact-form {
	margin-left: 0;
	margin-right: auto;
	margin-bottom: 1em;
	/*max-width: 640px;*/
	width: 100%;
	padding: 1em;
	border: 1px solid gray;
	margin-top: 1em;
	box-sizing: border-box;
}
table.contact-form th,
table.contact-form td {
	width: auto;
	padding: 0.5em;
}
table.contact-form th {
	border: none !important;
	white-space: nowrap;
	padding-right: 0.5em;
}
table.contact-form tbody th {
	text-align: center;
}
table.contact-form td {
	width: auto;
}
table.contact-form tfoot td {
	text-align: center;
}
table.contact-form textarea {
	border: 1px solid gray;
	background-color: whitesmoke;
	width: 100%;
	min-width: 480px;
	height: 10em;
	padding: 0.5em;
}

/* Flashコンテンツ */
div.swf-contents {
	margin-top: -1em;
	min-height: 180px;
}
div.swf-contents > div:first-child {
	float: left;
	margin-top: 1em;
}
div.swf-contents > div:nth-child(2) {
	padding-left: 230px;
	margin-top: 0px;
}

/* サムネイル（各ページ） */
img.top-img {
	float: left;
	margin-top: 30px;
}
h2 {
	clear: both;
}
