@charset "UTF-8";

.entry .page-title {
	text-align: center;
}
.entry form > .flex-container {
	padding-top: 5px;
	padding-bottom: 5px;
}
.entry div.label {
	font-weight: 700;;
}
.entry div.input,
.entry div.data {
	/* display: flex; */
	align-items: center;
}
.entry div.input input,
.entry div.input select,
.entry div.input textarea,
.entry div.data input,
.entry div.data select,
.entry div.data textarea {
	padding: 5px 10px;
	border: 1px solid #ccc;
}
.entry div.input select,
.entry div.data select {
	-webkit-appearance: none;/* ベンダープレフィックス(Google Chrome、Safari用) */
	-moz-appearance: none; /* ベンダープレフィックス(Firefox用) */
	appearance: none; /* 標準のスタイルを無効にする */
}
.entry div.input > *,
.entry div.data > * {
	/* margin-left: 10px; */
}
.entry div.input > *:first-child,
.entry div.data > *:first-child {
	margin-left: 0px;
}
.entry div.input .name_rubi,
.entry div.data .name_rubi {
	width: 150px;
}
.entry div.input textarea {
	max-width: 450px;
	width: 100%;
}
.required {}
.required::after {
	content: "必須";
	margin-left: 10px;
	padding: 3px 6px;
	color: #fff;
	background-color: #ef454a;
	font-size: 1rem;
	font-weight: 500;
}
.required.logined::after {
	display: none;
}
.entry form .btn_area {
	margin: 20px auto;
	text-align: center;
}
.announce {
	margin: 20px auto;
	padding: 20px;
	max-width: 600px;
	width: 100%;
	text-align: left;
	background: #eee;
}
.announce .btn_area {
	margin-top: 10px;
}
.announce .btn_area a {
	color: #fff;
	background: #274a78;
	text-align: center;
}
.nowrap_items span {
	display: block;
}

@media screen and (min-width: 601px) {
	.entry div.label {
		width: 200px;
		display: flex;
		align-self: center;
	}
	.entry div.input,
	.entry div.data {
		/* display: flex;
		width: calc(100% - 200px); */
	}
	form div.data .name_rubi[name=name_f],
	form div.data .name_rubi[name=rubi_f] {
		margin-left: 10px;
	}
}
@media screen and (max-width: 600px) {
	.entry div.label {
		padding: 10px 0;
	}
	.entry .flex-container {
		display: block;
	}
	.entry .form_wrapper {
		margin: 0 auto;
		width: 350px;
		min-width: 350px;
	}
	.entry div.input .name_rubi,
	.entry div.data .name_rubi {
	}
	.section .title {
		margin-bottom: 10px;
    padding: 10px;
	}
}


div.content-inner,
form {
	margin-left: auto;
	margin-right: auto;
	max-width: 800px;
}
form .tr {
	padding: 20px 0;
	display: grid;
	grid-template-columns: .3fr .7fr;
	grid-gap: 20px;
	border-bottom: 1px solid #ccc;
}
form .data .tr {
	border-bottom: 0px;
}
form .data input[type=radio] {
	margin-left: 0;
	margin-right: 10px;
}
.label {
	padding-left: 10px;
	width: 150px;
}
.input {
	padding-left: 10px;
	border-left: 1px solid #ccc;
	flex: 1;
}
.btn_area {
	margin-top: 60px;
	text-align: center;
}

.section {
	margin-top: 30px;
}
.section_title {
	margin-bottom: 10px;
	padding-bottom: 5px;
	font-size: 2rem;
	font-weight: 700;
	border-bottom: 2px solid #666;
}

.complete {
	text-align: center;
}
.complete h2 {
}
.complete p {
	margin: 1em 0;
}
.complete .message {
	margin-top: 2em;
}
.complete .payment {
	margin: 2em auto;
	padding: 1em;
	border: 1px #aaa solid;
	border-radius: 10px;
}
.complete ol li {
	text-align: left;
}

@media screen and (max-width: 600px){
	form .tr {
		display: block;
	}
	.label {
		font-size: 2rem;
		font-weight: 700;
		width: 100%;
	}
	.input,
	.data {
		margin-top: 10px;
		padding-left: 20px;
	}
}
