@charset "UTF-8";

/* コンテンツ */
.dec-01 {
	position: relative;
	font-size: 2rem;
	text-align: center;
	&::after {
		content: '';
		width: 110px;
		height: 4px;
		display: inline-block;
		background-color: #505050;
		position: absolute;
		bottom: -15px;
		left: calc(50% - 55px)
	}
}
@media screen and (max-width:991px) {
	.dec-01 {
		font-size: 1.6rem;
	}
}
.dec-02 {
	text-align: center;
	font-size: 1rem;
	line-height: 1.8rem;
	a {
		color: #B5000C;
		border-bottom: 1px solid #B5000C;
	}
}
@media screen and (max-width:991px) {
	.dec-02 {
		font-size: 0.9rem;
	}
}
.dec-21 {
	background-color: #505050;
	padding: 10px 0;
	text-align: center;
	font-size: 1.6rem;
	color: #fff;
}

/* form */
.dec-22 {
	background-color: #E9EBEB;
	border-bottom: 1px solid #505050;
}
@media screen and (max-width:991px) {
	.dec-22 {
		border: none;
	}
	.dec-22a {
		border-bottom: 2px solid #505050;
		margin-bottom: 10px;
	}
}

.dec-23 {
	line-height: 30px;
	font-weight: bold;
	font-size: 1rem;
}
.dec-23a {
	color: #B5000C;
}
.dec-23b {
		right: 20px;
		top: 0;
		background-color: #B5000C;
		padding: 5px 20px;
		border-radius: 20px;
		font-size: 0.9rem;
		color: #fff;
}
.dec-23c {
	line-height: 30px;
}
.dec-23d {
	position: relative;
	line-height: 30px;
	font-weight: bold;
	font-size: 1rem;
	span {
		display: block;
		position: absolute;
		right: 5px;
		top: 0;
		background-color: #B5000C;
		padding: 0 10px;
		border-radius: 20px;
		font-size: 0.9rem;
		color: #fff;
	}
}

.dec-24 {
	position: relative;
	line-height: 30px;
	font-weight: bold;
	font-size: 1rem;
	span {
		display: block;
		position: absolute;
		right: 20px;
		top: 0;
		font-size: 1rem;
	}
}
@media screen and (max-width:991px) {
	.dec-24 span {
		right: auto;
		left: 0px;
	}
	span.dec-25 {
		top: 30px;
	}
}

.checkbox {
	appearance: none;
	-webkit-appearance: none;
	width: 30px;
	height: 30px;
	border: 2px solid #999;
	border-radius: 4px;
	background-color: #fff;
	cursor: pointer;
	display: inline-block;
	position: relative;
	vertical-align: -7px;
}

.checkbox:checked {
	background-color: #fff;
	border-color: #B5000C;
}

.checkbox:checked::after {
	content: "✔";
	color: #B5000C;
	font-size: 24px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -55%);
}
.dec-31 {
	font-size: 1.4rem;
	padding-right: 20px;
}
.dec-32 {
	padding: 4px 1em;
	font-size: 1.1rem;
	background-color: #E9EBEB;
}
.dec-32:has(input[type="checkbox"]:checked) {
	background-color: #B5000C;
	label {
		color: #fff;
	}
}
.dec-display {
	display: none;
}
.dec-display.selected {
	display: block;
}
.dec-33 {
	padding-left: 2em;
	text-indent: -1em;
}
.dec-34 {
	font-size: 1.8rem;
}
.dec-35 {
	line-height: 30px;
}
#inputFile {
	position: relative;
	padding: 120px 0 30px;
	text-align: center;
}
#dropArea {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 30px 0 0;
	font-size: 0.8rem;
	border: 2px dashed #494949;
	background: rgba(22, 165, 191, 0);
	transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1);
	img {
		vertical-align: 5px;
	}
}
#dropArea.dragover {
	border: 2px solid #000;
	background: rgba(0, 0, 0, 0.2);
}
#uploadFile {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	display: block;
	width: 300px;
	height: 80px;
	opacity: 0;
}
#inputFileWrap {
	position: relative;
	display: inline-block;
}
#btnInputFile,
#btnChangeFile {
	display: table;
	width: 200px;
}
#btnChangeFile {
	display: none;
}
#btnInputFile span,
#btnChangeFile span {
	position: relative;
	z-index: 2;
	display: table-cell;
	height: 30px;
	border-radius: 20px;
	background: #fff;
	text-decoration: none;
	color: #505050;
	font-size: 1rem;
	line-height: 1;
	font-weight: bold;
	vertical-align: middle;
}
#upFileWrap.selected #btnInputFile {
	display: none;
}
#upFileWrap.selected #btnChangeFile {
	display: table;
}

.dec-36 {
	font-size: .8rem;
	text-align: justify;
}
.dec-37 {
	position: relative;
	line-height: 30px;
	font-weight: bold;
	font-size: 1rem;
	span.dec-37a {
		padding-left: 2em;
	}
	span.dec-37b {
		display: block;
		position: absolute;
		right: 20px;
		top: 0;
		background-color: #B5000C;
		padding: 0 20px;
		border-radius: 20px;
		font-size: 0.9rem;
		color: #fff;
	}
	span.dec-37c {
		padding-left: 6em;
	}
}
@media screen and (max-width:991px) {
	.dec-37 span.dec-37a {
		padding: 0;
	}
	.dec-37 span.dec-37c {
		padding: 0;
	}
	.dec-37 span.dec-37d {
		top: auto;
		bottom: 0;
	}
}

/* 個人情報 */
.dec-41 {
	background-color: #E9EBEB;
}

.dec-42 {
	font-size: 1.6rem;
	text-align: center;
	padding-bottom: 12px;
	border-bottom: 3px solid #505050;
}
.dec-43 {
	height: 200px;
	overflow-y: scroll;
	font-size: 1rem;
	p {
		padding-bottom: 10px;
	}
}
.dec-44 {
	padding-left: 2em;
	text-indent: -1em;
}
.dec-45 {
	appearance: none;
	-webkit-appearance: none;
	width: 30px;
	height: 30px;
	border: 2px solid #999;
	border-radius: 4px;
	background-color: #E9EBEB;
	cursor: pointer;
	display: inline-block;
	position: relative;
	vertical-align: -10px;
}
.dec-45:checked {
	background-color: #fff;
	border-color: #B5000C;
}
.dec-45:checked::after {
	content: "✔";
	color: #B5000C;
	font-size: 24px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -55%);
}