@charset "UTF-8";
/* CSS Document */


/*
01 form
========================================================================== */
/* General ===================== */
input,textarea,select {
	color:var(--black);
	background-color:var(--white);
	border:1px solid var(--gray);
	border-radius:2px;
	transition:.2s ease;
	-webkit-appearance:none;
}
input,textarea {
	padding:10px 10px;
	cursor:pointer;
}
input:focus,textarea:focus,select:focus { background-color:var(--white); }
textarea { min-height:200px; }
label { letter-spacing:.04rem; cursor:pointer; }
select {
	min-width:150px;
	height:30px;
	padding:0 15px 0 10px;
	position:relative;
	cursor:pointer;
}
select option{ background-color:var(--white); color:var(--black) }
select::-ms-expand { display:none; }

.typeSelect {	position:relative; }

.typeCheck { position:relative; }
.typeCheck > span + span { margin:0 0 0 15px; }
.typeCheck label {
	position:relative;
	padding:0 0 0 20px;
}
.typeCheck label:before,
.typeCheck label:after {
	content:'';
	display:block;
	border-radius:50%;
	position:absolute;
}
.typeCheck label:before {
	width:6px;
	height:6px;
	background-color:var(--white);
	top:10px;
	left:5px;
	opacity:0;
	z-index:2;
}
.typeCheck label:after {
	width:12px;
	height:12px;
	border:2px solid var(--black);
	border-radius:50%;
	top:5px;
	left:0;
}

.typeSelect .wrap {
	display:inline-flex;
	position:relative;
}
.typeSelect .wrap:before,
.typeSelect .wrap:after {
	content:'';
	position:absolute;
	pointer-events:none;
	z-index:3;
}
.typeSelect .wrap:before {
	width:20px;
	height:calc(100% - 2px);
	background-color:var(--black);
	border-radius:0 2px 2px 0;
	top:1px;
	right:1px;
}
.typeSelect .wrap:after {
	width:3px;
	height:3px;
	border-top:2px solid var(--white);
	border-right:2px solid var(--white);
	top:50%;
	right:9px;
	transform:translate(0,-50%) rotate(135deg);
}

input[type=radio],
input[type=checkbox] { display:none; }
input[type=radio]:checked + label,
input[type=checkbox]:checked + label { color:var(--black); }
input[type=radio]:checked + label:before,
input[type=checkbox]:checked + label:before { opacity:1; }
input[type=radio]:checked + label:after,
input[type=checkbox]:checked + label:after { background-color:var(--red); border:2px solid var(--red); }

:placeholder-shown { color:var(--gray); }
::-webkit-input-placeholder { color:var(--gray); }

.col100 { width:100%; }
.col95 { width:95%; }
.col90 { width:90%; }
.col85 { width:85%; }
.col80 { width:80%; }
.col75 { width:75%; }
.col70 { width:70%; }
.col65 { width:65%; }
.col60 { width:60%; }
.col55 { width:55%; }
.col50 { width:50%; }
.col45 { width:45%; }
.col40 { width:40%; }
.col35 { width:35%; }
.col30 { width:30%; }
.col25 { width:25%; }
.col20 { width:20%; }
.col15 { width:15%; }
.col10 { width:10%; }
.col05 { width:5%; }

.entry hr {
	width:100%;
	height:1px;
	background-color:var(--gray);
	margin:35px 0;
}
.entry dl {
	display:flex;
	flex-direction:column;
}
.entry > dl + dl { margin:15px 0 0 0; }
.entry dl dt,
.entry dl dd { position:relative; }
.entry dl.verReq dt:before {
	content:'※';
	color:red;
	font-size:11px;
	position:absolute;
	top:0;
	left:-15px;
}
.entry dl dd {
	width:100%;
	margin:3px 0 0 0;
}
.entry dl dd i {
	display:flex;
	align-items:center;
}
.entry dl dd > i + i { margin:10px 0 0 0; }
.entry dl dd i small {
	margin:0 0 0 12px;
	font-size:11px;
}
.entry dl dd i span { display:inline-flex; }
.entry dl dd i > span + span { margin:0 0 0 10px; }
.entry dl dd i sub { padding:0 15px 0 7px; }
.entry dl dd i > sub + small { margin:0 0 0 .75em; }
.entry dl dd sub { font-size:11px; }
.entry dl dd > b { display:flex; }

/* has err */
.entry dl dd b {
	margin:5px 0 10px;
	font-size:11px;
	color:red;
}
.entry dl dd b:before {
	content:'↑';
	color:red;
}
.entry dl dd > b + i { padding:10px 0 0 0; }

/* confirm */
.entry.verConfirm dl dt { padding:0 0 0 12px; }
.entry.verConfirm dl dt:before {
	content:'';
	width:0;
	height:0;
	border-style:solid;
	border-width:7px 3px 0 3px;
	border-color:var(--black) transparent transparent transparent;
	position:absolute;
	top:11px;
	left:0;
}
.entry.verConfirm dl dd { line-height:1.8; }

/* Button ===================== */
.entry .button {
	display:flex;
	justify-content:center;
	align-items:center;
	margin:35px 0 0;
}
.entry .button > * {
	display:inline-flex;
	justify-content:center;
	width:45%;
	border-radius:5px;
	color:var(--white);
	line-height:1.2;
	padding:20px 0;
	white-space:nowrap;
	position:relative;
	cursor:pointer;
}
.entry .button .next { background-color:var(--red); }
.entry .button .back { background-color:var(--black); }


@media screen and (max-width:1080px) {}


@media screen and (max-width:840px) {

	.entry dl { width:100%; }

	.entry .button { justify-content:center; }
	.entry .button > * { width:100%; }
	.entry.verConfirm .button { justify-content:space-between; }
	.entry.verConfirm .button > * { width:45%; }
	.entry .button .next { background-color:var(--red); }
	.entry .button .back { background-color:var(--black); }

}


@media screen and (max-width:600px) {

	.typeCheck label:before { top:11px; }
	.typeCheck label:after { top:6px; }

	.col100 { width:100%; }
	.col95 { width:100%; }
	.col90 { width:100%; }
	.col85 { width:100%; }
	.col80 { width:100%; }
	.col75 { width:100%; }
	.col70 { width:100%; }
	.col65 { width:100%; }
	.col60 { width:100%; }
	.col55 { width:100%; }
	.col50 { width:100%; }
	.col45 { width:100%; }
	.col40 { width:100%; }
	.col35 { width:100%; }
	.col30 { width:100%; }
	.col25 { width:100%; }
	.col20 { width:100%; }
	.col15 { width:100%; }
	.col10 { width:100%; }
	.col05 { width:100%; }

	.entry dl dd b { font-size:11px; }


}

/* Custom styles for "WordPress Contact Form 7" (wpcf7) */

.wpcf7 .entry > p {
	margin-top:15px;
}
.wpcf7 .entry p > label,
.wpcf7 .entry label.jc-required {
	position:relative;
}
.wpcf7 .entry label:has(.wpcf7-validates-as-required):before,
.wpcf7 .entry .jc-required:before {
	content:'※';
	color:red;
	font-size:11px;
	position:absolute;
	top:-2px;
	left:-15px;
}

.wpcf7 .button .next {
	display:inline-flex;
	justify-content:center;
	width:100%;
	border-radius:5px;
	color:var(--white);
	line-height:1.2;
	padding:20px 0;
	border:none;
	white-space:nowrap;
	position:relative;
	cursor:pointer;
}

.wpcf7 .wpcf7-spinner {
	visibility:hidden;
	display:inline-block;
	background-color:#23282d;
	opacity:0.75;
	width:24px;
	height:24px;
	border:none;
	border-radius:100%;
	padding:0;
	margin:0;
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
}

.wpcf7 form input[type=submit].loading {
	opacity:50%;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output {
	text-align:center;
}

.wpcf7 input[type=radio] + .wpcf7-list-item-label {
	position:relative;
	padding:0 0 0 20px;
}
.wpcf7 input[type=radio] + .wpcf7-list-item-label:before,
.wpcf7 input[type=radio] + .wpcf7-list-item-label:after {
	content:'';
	display:block;
	border-radius:50%;
	position:absolute;
}
.wpcf7 input[type=radio] + .wpcf7-list-item-label:before {
	width:6px;
	height:6px;
	background-color:var(--white);
	top:8px;
	left:5px;
	opacity:0;
	z-index:2;
}
.wpcf7 input[type=radio] + .wpcf7-list-item-label:after {
	width:12px;
	height:12px;
	border:2px solid var(--black);
	border-radius:50%;
	top:3px;
	left:0;
}
.wpcf7 input[type=radio],
.wpcf7 input[type=radio]:checked + .wpcf7-list-item-label {
	color:var(--black);
}
.wpcf7 input[type=radio]:checked + .wpcf7-list-item-label:before {
	opacity:1;
}
.wpcf7 input[type=radio]:checked + .wpcf7-list-item-label:after {
	background-color:var(--red);
	border:2px solid var(--red);
}

.wpcf7 select {
	-webkit-appearance:none;
	-moz-appearance:none;
	background:transparent url(../images/fields/select-arrow.png) no-repeat;
	background-position-x:100%;
	background-position-y:0;
}

