.guests[lang=ja] [lang=en] {
	display: none;
}

.guests[lang=en] [lang=ja] {
	display: none;
}

/* INFO columns and layouts */
.guests .clearfix::after {
	content: "";
	display: table;
}

.guests .form-col-left {
	float: left;
	width: 50%;
	min-width: 200px;
}
.guests .form-col-right {
	float: left;
	width: 50%;
	min-width: 200px;
}

.guests .text-center {
	text-align: center;
}

.guests .indent {
	padding-left: 2em;
}

.sep {
	margin-top: 10px;
}

/* INFO form and inputs */
.guests a.btn,
.guests button,
.guests input.btn {
	padding: 5px 10px;

/*	background: #ba1f22;
	background: -moz-linear-gradient(top, #ba1f22 0%, #8a1728 100%);
	background: -webkit-linear-gradient(top, #ba1f22 0%,#8a1728 100%);
	background: linear-gradient(to bottom, #ba1f22 0%,#8a1728 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ba1f22', endColorstr='#8a1728',GradientType=0 );
*/
	background: #36932;
	background: -moz-linear-gradient(top, #36932 0%, #68b538 100%);
	background: -webkit-linear-gradient(top, #36932 0%,#68b538 100%);
	background: linear-gradient(to bottom, #36932 0%,#68b538 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#36932', endColorstr='#68b538',GradientType=0 );
	border: none;

	text-decoration: none;
	font-size: 16px;
	color: white;
	text-shadow: 1px 1px 0px #000000;
	cursor: pointer;
}
.guests a.btn:hover {
	text-decoration: none;
}

.guests .disabled {
	color: #b9b9b9;
}

.guests.form-visa textarea {
	box-sizing: border-box;
	width: 100%;
	/* display: block; */
}

/* INFO main elements */
.guests h3 {
	margin-top: 0;
}

.guests .form-line {
	margin-bottom: 1em;
	padding-left: 1em;
	border-left: 2px dotted #b9b9b9;
}

.guests .form-line:not(.float):not(.registrations) label {
	display: block;
	font-weight: bold;
}
.guests .form-line.float label {
	display: inline-block;
	margin-right: 1em;
}
.guests .registrations label {
	font-weight: normal;
}

.guests .form-line .required::after {
	content: "※";
	display: inline-block;
	margin-left: 10px;
	color: #ba1f22;
	font-weight: bold;
}

.guests .form-line.long {
	display: flex;
	flex-direction: column;
}

/* registration items (price) */
.guests .registrations label {
	display: block;
	margin-top: 5px;
	padding: 5px;
	border-top: 1px dotted #b9b9b9;
}

.guests .registrations em {
	display: block;
}
.guests .registrations em:nth-of-type(n + 2) {
	margin-top: 10px;
}

.guests .registration-price {
	float: right;
}

.guests .receipt-box,
.guests .form-box {
	border: 1px solid #b9b9b9;
	padding: 20px;
}

/* INFO payments */
.guests.form-payment h3 {
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid #8a1728;
}

.guests .bank-info {
	margin: 0 20px;
	padding: 20px;
	border: 1px solid #b9b9b9;
}
.guests .bank-info blockquote {
	margin: 0 0 0 20px;
}

/* INFO MESSAGES */

.guests .alert {
	margin: 10px 0 10px 0;
	padding: 0 15px;
}

.guests .alert.error {
	color: red;
	border-left: 2px solid red;
}

.guests .alert.success {
	color: green;
	border-left: 2px solid green;
}

.guests .alert.info {
	color: darkcyan;
	border-left: 2px solid darkcyan;
}

/* INFO Receipts related */
.guests .receipt-box {
	margin-top: 1em;
}
.guests .receipt-box .indent {
	font-size: 85%;
}

.receipt-box .clear {
	clear: both;
}

.print-buttons {
	padding-top: 2em;
}

.receipt-number {
	font-size: 85%;
	float: left;
	color: #555;
	font-style: italic;
}

.receipt-date {
	font-size: 85%;
	float: right;
	color: #555;
	font-style: italic;
}

.receipt-title {
	margin: 0 auto 20px auto;
	text-align: center;
}
.receipt-title span {
	padding: 0 2em;
	font-size: 30px;
	/* border-bottom: 1px solid black; */
}

.form-control[name=receipt_name] {
	width: 100%;
}

.receipt-name {
	display: inline-block;
	margin: 0 0 5px 0;
	padding: 0 0 5px 0;
	min-width: 23em;
	font-weight: bold;
	border-bottom: 1px solid #555;
}
.receipt-name-ja::after {
	content: "様";
	display: block;
	float: right;
}

.receipt-total {
	padding: 15px 0;
}

.receipt-stamp {
	position: relative;
	float: right;
	margin-top: 15px;
	padding-top: 10px;
	padding-right: 30px;
}

/* sign img */
.receipt-stamp .receipt-stamp-sign {
	float: none;
	margin: 0;
	width: auto;
	height: 80px;
}

/* stamp img */
.receipt-stamp>img {
	position: absolute;
/*	top: 0;	*/
bottom: 0;	/* edit okabe 2021/05/16 */
	right: 0;
	width: auto;
	margin: 0;
	z-index: -1;
}

/* VISA Version */

.visa-page, .visa-page p {
	font-size: 15px;
}

table.visa-header {
	border-collapse: collapse;
	margin-bottom: 10px;
}
table.visa-header td {
	border: none;
	padding: 0;
}

.visa-banner-img img {
	margin: 0;
	float: none;
	width: 100%;
	height: auto;
}
table.visa-header td.visa-banner-date {
	white-space: nowrap;
	padding-left: 10px;
}

.visa-sign img,
.visa-header-logo img {
	margin: 0;
	float: none;
}

hr.visa-sep {
	margin: 1em 0;
	height: 1px;
	border: none;
	background: #b9b9b9;
}

.visa-date {
	padding-bottom: 2em;
}

.visa-address {
	white-space: nowrap;
	line-height: 1.2;
	/* font-size: 13px; */
}

.visa-sign img {
	width: auto;
	height: 100px;
}

.guests .registrations .visa-label {
	display: inline-block;
	margin: 0;
	padding: 0 1em 0 0;
	border: none;
}

.visa-input {
	display: inline-block;
	width: 23em;
	border: none;
	border-bottom: 1px solid #b9b9b9;
	padding: 0 4px;
	font-size: 16px;
}
.visa-input:focus {
	background: #e0effa;
	outline: none;
}

.visa-save-warning {
	text-align: left;
	font-size: 14px;
	list-style: disc;
	list-style-position: outside;
	margin-left: 2em;
}

@media print {
	html,
	body {
		margin: 0 !important;
		padding: 0 !important;
	}

	header,
	footer,
	.no-print,
	.page-title,
	#TopArrowScrollBtn,
	.right-box,
	.print-buttons {
		display: none !important;
	}
	.receipt-box {
		width: 18cm !important; /* firefox 対応 */
	}

	.guests.visa-page .receipt-box {
		margin: 0;
		padding: 0;
		border: none;
		/* border: 1px solid red; */
		width: 18cm !important; /* firefox 対応 */
	}
}