@charset "UTF-8";

@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@4.1.1/dist/css/yakuhanjp.min.css");
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.9.0/css/all.min.css");

/* -----------------------------------------------------
スクリーン用スタイルファイル
----------------------------------------------------- */





/* ▼form */
/* ----------------------------------------------------- */
div#form {
	/*
	position: relative;
	z-index: 101;
	*/
	margin: 0;
	padding: 3em 0;
	text-align: center;
	background: #e5e5e5;
}

div#form div.container {
	clear: both;
	min-height: 1px;
	height: auto !important;
	height: 1px;
	overflow: visible;
	margin: 0 auto;
	padding: 0;
	text-align: left;
}

div#form div.wrap {
	clear: both;
	min-height: 1px;
	height: auto !important;
	height: 1px;
	margin: 0 auto;
	padding: 0;
	background: #ffffff;
	border-radius: 0.5em;
}

div#form::after,
div#form div.container::after,
div#form div.wrap::after {
	clear: both;
	display: table;
	content: "";
}

div#form form,
div#form div.thanks {
	margin: 0 auto;
}

div#form h1,
div#form h2 {
	margin: 0 0 2rem 0;
	text-align: center;
	color: #ffffff;
	background: #526388;
	border-radius: 0.25em;
}

div#form form p,
div#form div#thanks p {
	font-size: 1.2em;
	color: #333333 !important;
}

div#form div.wrap > p {
	text-align: center;
	color: #333333;
}

div#form form .hidden {
	display: none;
}

div#form form div.form_colunm {
	margin: 0 0 1.5rem 0;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}

div#form form div.form_colunm p,
div#form form div.form_colunm ul {
	margin: 0;
	padding: 0;
}

div#form form div.form_colunm ul li {
	position: relative;
	list-style-type: none;
	color: #333333;
}

div#form form div.form_colunm div.form_header {
	padding: 0.2em 0 0 0;
}

div#form form div.form_colunm div.form_header p {
	text-align: left;
}

div#form form div.form_colunm div.form_header span {
	margin: 0 0 0 0.5em;
	padding: 0 0.3em;
	font-size: 0.8em;
	color: #ffffff;
	background: #999999;
	border-radius: 0.3em;
}

div#form form div.form_colunm div.form_header span.required {
	color: #ffffff;
	background: #df5b41;
}

div#form form div.form_colunm div.form_header span + span {
	display: none;
}

div#form form div.form_colunm.half div.form_content {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
div#form form div.form_colunm.half div.form_content label {
	width: calc( calc( 100% - 1em ) / 2 );
	padding: 0;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

div#form form div.form_colunm.half div.form_content label span {
	display: inline-block;
	width: 2em;
	text-align: center;
}

div#form form div.form_colunm.half div.form_content label input[type="text"] {
	width: calc( 100% - 2.5em );
}

div#form form div.form_colunm div.form_content p {
	text-align: left;
}


div#form form div.form_colunm div.form_content i {
	font-style: normal;
}

div#form form div.form_colunm div.form_content p.note {
	margin: 0;
	text-align: left;
}

div#form form div.form_colunm div.form_content ul.choice {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
}

div#form form div.form_colunm div.form_content ul.choice li {
	margin: 0 1em 0 0;
}

div#form form div.form_colunm div.form_content input#form_postalcode {
	width: 10em;
}

div#form form div.form_colunm div.form_content select#form_prefecture {
	width: 10em;
}

div#form form hr {
	margin: 3rem 0;
	height: 0;
	border: 0 none;
	border-top: 2px dashed #cccccc;
}



div#form form div.form_colunm div.form_content ul li input[type="checkbox"],
div#form form p input#check_privacy {
	position: absolute;
	top: 0.5em;
	left: 1em;
	visibility: hidden;
	opacity: 0;
	margin: 0;
	width: 0;
	height: 0;
}

div#form form div.form_colunm div.form_content ul li input[type="checkbox"] + label,
div#form form p input#check_privacy + label {
	position:relative;
	display: inline-block;
	padding: 0 0 0 1.5em;
}

div#form form div.form_colunm div.form_content ul li input[type="checkbox"] + label::before,
div#form form p input#check_privacy + label::before {
	content: "";
	display: block;
	position: absolute;
	margin: 0;
	border: 1px solid #cccccc;
	background: #ffffff;
	border-radius: 0.3em;
}

div#form form div.form_colunm div.form_content ul li input[type="checkbox"]:checked + label::after,
div#form form p input#check_privacy:checked + label::after {
	content: "";
	display: block;
	position: absolute;
	margin: 0;
	/*
	background: #000000;
	*/
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22%23df5b41%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M19.4%2C1c.6.5.8%2C1.4.3%2C2l-11.4%2C15.7c-.2.3-.6.5-1%2C.6-.4%2C0-.8-.1-1.1-.4L.4%2C13.2c-.6-.6-.6-1.5%2C0-2s1.5-.6%2C2%2C0l4.5%2C4.5L17.4%2C1.3c.5-.6%2C1.4-.8%2C2-.3h0Z%22%2F%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% auto;
}


div#form form div.form_colunm div.form_content ul li input[type="radio"] {
	position: absolute;
	top: 0.5em;
	left: 1em;
	visibility: hidden;
	opacity: 0;
	margin: 0;
	width: 0;
	height: 0;
}

div#form form div.form_colunm div.form_content ul li input[type="radio"] + label {
	position:relative;
	display: inline-block;
	padding: 0 0 0 1.3em;
}

div#form form div.form_colunm div.form_content ul li input[type="radio"] + label:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0.3em;
	width: 1.2em;
	height: 1.2em;
	margin: 0;
	border: 1px solid #cccccc;
	background: #ffffff;
	border-radius: 50%;
	transform: translate(0,-50%);
}

div#form form div.form_colunm div.form_content ul li input[type="radio"]:checked + label::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0.65em;
	width: 0.6em;
	height: 0.6em;
	margin: 0;
	background: #333333;
	border-radius: 50%;
	transform: translate(0,-50%);
}

div#form form div.form_colunm div.form_content ul li input[type="checkbox"][readonly] + label::before,
div#form form div.form_colunm div.form_content ul li input[type="checkbox"][disabled] + label::before,
div#form form div.form_colunm div.form_content ul li input[type="radio"][readonly] + label:before,
div#form form div.form_colunm div.form_content ul li input[type="radio"][disabled] + label:before {
	background-color: rgba(235, 235, 228, 1) !important;
}

div#form form div.form_colunm div.form_content ul li input[type="checkbox"][readonly] + label:after,
div#form form div.form_colunm div.form_content ul li input[type="checkbox"][disabled] + label:after,
div#form form div.form_colunm div.form_content ul li input[type="radio"][readonly] + label:after,
div#form form div.form_colunm div.form_content ul li input[type="radio"][disabled] + label:after {
	filter: grayscale(100%);
}

div#form form > p button#form_submit.grayscale {
	opacity: 0.7;
	pointer-events: none;
}

div#form form button#form_confirm,
div#form form button#form_submit,
div#form form button#form_return,
div#form button#form_home {
	font-weight: 900;
	border-radius: 4em;
}

div#form form button#form_confirm,
div#form form button#form_submit {
	background: #ffff00;
}

div#form form button#form_return,
div#form button#form_home {
	background: #848484;
}

div#form form div#privacy {
	height: 20em;
	overflow: hidden;
	overflow-y: scroll;
	margin: 2em 0;
	padding: 0.5em;
	border: 1px solid #cccccc;
	background: #ffffff;
}

div#form form div#privacy h3 {
	width: 100%;
	margin: 0 0 0.5em 0;
	font-size: 1.4em;
	text-align: center;
	color: #333333 !important;
}

div#form form div#privacy h4 {
	margin: 1em 0 0 0;
	font-size: 1.2em;
	color: #333333 !important;
}

div#form form div#privacy p,
div#form form div#privacy ul li,
div#form form div#privacy ol li {
	margin: 0;
	font-size: 1em;
	text-align: left;
	color: #333333 !important;
}

div#form form div#privacy ul li {
	margin-left: 1.5em;
}

div#form form div#privacy ol li {
	margin-left: 1.2em;
}

div#form form div#privacy + p {
	position: relative;
	color: #333333 !important;
}



.formError.inline {
	margin-top: 0.3em !important;
}



div#form div.endingnote {
	position: relative;
	background: #ffd900;
	border-radius: 0.5em;
}

div#form div.endingnote::before {
	content: "";
	position: absolute;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% auto;
}

div#form div.endingnote::after {
	content: "";
	position: absolute;
	bottom: -1.95em;
	left: 50%;
	width: 2.5em;
	height: 2em;
	background: #ffd900;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	transform: translate(-50%, 0);
}

div#form div.endingnote p {
	margin: 0;
}

div#form div.endingnote p span {
	display: block;
	line-height: 1;
}

div#form div.endingnote p strong {
	display: block;
}



@media screen and (min-width: 767px) {
	div#form div.container {
		width: 100%;
		max-width: 1080px;
	}
	div#form div.wrap {
		width: 88.889%;
		padding: 2.5em;
		font-size: 20px;
	}
	div#form h1,
	div#form h2 {
		font-size: 1.5em;
	}
	div#form form div.form_colunm p,
	div#form form div.form_colunm ul li {
		font-size: 18px !important;
	}
	div#form form div.form_colunm div.form_header {
		width: 12em;
		font-size: 1em;
	}
	div#form form div.form_colunm div.form_content {
		width: calc( 100% - 12em );
	}
	div#form form div.form_colunm.full div.form_header,
	div#form form div.form_colunm.full div.form_content {
		width: 100%;
	}
	div#form form div.form_colunm.half div.form_content label {
		width: calc( calc( 100% - 1em ) / 2 );
	}
	div#form form div.form_colunm div.form_content p.note {
		font-size: 0.8em;
	}
	div#form form p.leadtext {
		font-size: 0.8em;
	}
	div#form form div.form_colunm div.form_content ul li input[type="checkbox"] + label,
	div#form form p input#check_privacy + label {
		margin-bottom: 0.5em;
		font-size: 1.2em;
	}
	div#form form div.form_colunm div.form_content ul li input[type="checkbox"] + label::before,
	div#form form p input#check_privacy + label::before {
		top: 0.2em;
		left: 0;
		width: 1.2em;
		height: 1.2em;
		margin-right: 0.5em;
	}
	div#form form div.form_colunm div.form_content ul li input[type="checkbox"]:checked + label::after,
	div#form form p input#check_privacy:checked + label::after {
		top: 0;
		left: 0.2em;
		width: 1.2em;
		height: 1.2em;
	}
	div#form form div.form_colunm div.form_content ul li input[type="radio"] + label {
		font-size: 1.2em;
	}
	div#form form div.form_colunm div.form_content ul li input[type="radio"] + label::before {
		top: 50%;
		left: 0;
		width: 1.2em;
		height: 1.2em;
	}
	div#form form div.form_colunm div.form_content ul li input[type="radio"]:checked + label::after {
		top: 50%;
		left: 0.26em;
		width: 0.8em;
		height: 0.8em;
	}
	div#form form button#form_confirm,
	div#form form button#form_submit,
	div#form form button#form_return,
	div#form button#form_home {
		/* width: 43%; */
		padding: 0.5em 1em;
		margin: 0 1em;
		font-size: 1.5em;
	}
	div#form form p input#check_privacy {
		left: 29%;
	}
	div#form div.endingnote {
		width: 62.963%;
		margin: 0 auto 3rem auto;
		padding: 1.5rem 2.5rem 1rem 7.5em;
	}
	div#form div.endingnote::before {
		top: -2em;
		left: -6.5em;
		width: 15em;
		height: 11.5em;
		background-image: url(../img/form_endingnote_pc.png);
	}
	div#form div.endingnote p span {
		font-size: 1.4em;
	}
	div#form div.endingnote p strong {
		font-size: 1.6em;
	}
}

@media screen and (max-width: 766px) {
	div#form div.container {
		width: 100%;
	}
	div#form div.wrap {
		width: 89.334%;
		padding: 2em;
		font-size: 2.666vw;
	}
	div#form h1,
	div#form h2 {
		font-size: 1.6em;
	}
	div#form form div.form_colunm {
		margin-top: 1.5em;
	}
	div#form form div.form_colunm p,
	div#form form div.form_colunm ul li {
		font-size: 24px !important;
	}
	div#form form div.form_colunm div.form_header,
	div#form form div.form_colunm div.form_content {
		width: 100%;
	}
	div#form form div.form_colunm div.form_header p {
		font-size: 1.5em;
	}
	div#form form div.form_colunm div.form_content {
		margin-top: 0.5em;
	}
	div#form form div.form_colunm.half div.form_content label {
		width: calc( 100% - 1em );
	}
	div#form form div.form_colunm.half div.form_content label + label {
		margin-top: 1em;
	}
	div#form form div.form_colunm.half div.form_content label span,
	div#form form div.form_colunm div.form_content i {
		font-size: 1.5em;
	}
	div#form form div.form_colunm div.form_content p.note {
		font-size: 1.3em;
	}
	div#form form > p strong {
		font-size: 1.8em;
	}
	div#form form p.leadtext {
		font-size: 1.5em;
	}
	div#form form div.form_colunm div.form_content ul li input[type="checkbox"] + label,
	div#form form p input#check_privacy + label {
		font-size: 1.5em;
	}
	div#form form div.form_colunm div.form_content ul li input[type="checkbox"] + label::before,
	div#form form p input#check_privacy + label::before {
		top: 0.65em;
		left: 0;
		width: 1.5em;
		height: 1.5em;
	}
	div#form form div.form_colunm div.form_content ul li input[type="checkbox"]:checked + label::after,
	div#form form p input#check_privacy:checked + label::after {
		top: 0.5em;
		left: 0.25em;
		width: 1.5em;
		height: 1.5em;
	}
	div#form form div.form_colunm div.form_content ul li input[type="radio"] + label {
		font-size: 1.5em;
	}
	div#form form div.form_colunm div.form_content ul li input[type="radio"] + label::before {
		top: 50%;
		left: 0;
		width: 1.6em;
		height: 1.6em;
	}
	div#form form div.form_colunm div.form_content ul li input[type="radio"]:checked + label::after {
		top: 50%;
		left: 0.3em;
		width: 1.2em;
		height: 1.2em;
	}
	div#form form button#form_confirm,
	div#form form button#form_submit,
	div#form form button#form_return,
	div#form button#form_home {
		display: block;
		width: 85%;
		margin: 1em auto;
		padding: 0.8em 0;
		font-size: 1.8em;
	}
	div#form form p input#check_privacy {
		left: 0;
	}
	div#form div.endingnote {
		width: 89.334%;
		margin: 0 auto 2rem auto;
		padding: 1rem 1.5rem 1rem 11em;
	}
	div#form div.endingnote::before {
		top: -1.5em;
		left: -1.5em;
		width: 13em;
		height: 12.5em;
		background-image: url(../img/form_endingnote_sp.png);
	}
	div#form div.endingnote p span {
		font-size: 1.2em;
	}
	div#form div.endingnote p strong {
		margin-top: 0.3em;
		font-size: 2.2em;
		line-height: 1.3;
	}
}





/* ▼form */
/* ----------------------------------------------------- */
form input[type="text"],
form input[type="password"],
form input[type="datetime"],
form input[type="datetime-local"],
form input[type="date"],
form input[type="month"],
form input[type="time"],
form input[type="week"],
form input[type="number"],
form input[type="email"],
form input[type="url"],
form input[type="search"],
form input[type="tel"],
form input[type="color"],
form textarea,
form select {
	width: 100%;
	padding: 0.2em 0.5em;
	font-size: 1.4em;
	border: 1px solid #cccccc;
	background: #ffffff;
	border-radius: 5px;
	box-shadow: 0 0 rgba(0,0,0,0.0) inset;
	box-sizing: border-box;
}

form textarea {
	height: 11.532em;
}

form input[type="radio"],
form input[type="checkbox"] {
	margin-right: 0.3em;
}

form select option {
	color: rgba(51, 51, 51, 1);
}

form select option[value=""],
.placeholder,
::placeholder {
	color: rgba(128, 128, 128, 1);
}

form input.required,
form input.error,
form label.required,
form textarea.required,
form select.required {
	background: rgb(255, 221, 221);
}

form label.error {
	color: rgb(150, 0, 0);
}

form label {
	padding: 0 0.3em;
}

form input[type="text"]:focus,
form input[type="password"]:focus,
form input[type="datetime"]:focus,
form input[type="datetime-local"]:focus,
form input[type="date"]:focus,
form input[type="month"]:focus,
form input[type="time"]:focus,
form input[type="week"]:focus,
form input[type="number"]:focus,
form input[type="email"]:focus,
form input[type="url"]:focus,
form input[type="search"]:focus,
form input[type="tel"]:focus,
form input[type="color"]:focus,
form textarea:focus {
	outline: 0;
	outline: thin dotted \9;
	border-color: rgba(82, 168, 236, 0.8);
	background: #ffffff;
}

::-webkit-input-placeholder {
	color: #bbbbbb;
	color: #808080;
}

:-ms-input-placeholder {
	color: #bbbbbb;
	color: #808080;
}

::-moz-placeholder {
	color: #bbbbbb;
	color: #808080;
}

form input[disabled],
form textarea[disabled],
form select[readonly],
form select[disabled],
form textarea[readonly],
form textarea[disabled] {
	color: #333333;
	background-color: #ebebe4 !important;
	background-color: rgba(235, 235, 228, 1) !important;
	opacity: 1;
}

form button,
div#thanks button {
	padding: 0;
	border: 0;
	background: transparent;
	opacity: 1.0;
	transition: all 0.5s;
}

form button:hover,
form button:active,
div#thanks button:hover,
div#thanks button:active {
	opacity: 0.6;
}


form button[disabled] {
	cursor: not-allowed;
	-moz-opacity: 0.5;
	opacity: 0.5;
	filter: grayscale(100%);
}

form p,
div#thanks p.btn {
	text-align: center;
}

form dl dd p {
	text-align: left;
}