@charset "utf-8";
/*--------------------------------------------------

	ENTRY

--------------------------------------------------*/
#entry {overflow: hidden;background: linear-gradient(#98C7BB, #7FD2DD);}
#entry .block {position: relative;padding: var(--size150) var(--size20-80) var(--size20-100);border-radius: 20px;background: #fff;}
#entry .block h2 {
	position: absolute;
	bottom: 95.7%;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	font-size: min(clamp(120px, calc(120px + 140 * ((100vw - 375px) / 1545)), 260px), 24vw);
	color: rgba(156, 221, 203, .5);
	letter-spacing: .1em;
	text-align: center;
	white-space: nowrap;
}
#entry .block .container:not(:last-child) {margin-bottom: var(--size80);}
#entry .block .container h3 {position: relative;margin-bottom: var(--size40);font-size: var(--font30);letter-spacing: .2em;text-align: center;}
#entry .block .container h3 span {
	display: block;
	width: 27px;
  height: calc(tan(60deg) * 20px / 2);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	margin: var(--size30) auto 0;
	background: #539AA0;
}
#entry .block .container ul.flow_list {display: grid;grid-template-columns: repeat(5, 1fr);gap: .5em;}
#entry .block .container ul.flow_list li {display: flex;justify-content: space-around;flex-direction: column;position: relative;padding: var(--size30) 0;}
#entry .block .container ul.flow_list li:nth-child(1) {background: #65A69B;}
#entry .block .container ul.flow_list li:nth-child(2) {background: #82B179;}
#entry .block .container ul.flow_list li:nth-child(3) {background: #D8BA53;}
#entry .block .container ul.flow_list li:nth-child(4) {background: #ED9F22;}
#entry .block .container ul.flow_list li:nth-child(5) {background: #E87B1E;}
#entry .block .container ul.flow_list li:not(:last-child)::before {content: '';position: absolute;top: 50%;left: 99.5%;z-index: 1;transform: translateY(-50%);width: 2em;height: calc(tan(60deg) * 3em / 2);clip-path: polygon(0 0, 100% 50%, 0 100%);}
#entry .block .container ul.flow_list li:nth-child(1)::before {background: #65A69B;}
#entry .block .container ul.flow_list li:nth-child(2)::before {background: #82B179;}
#entry .block .container ul.flow_list li:nth-child(3)::before {background: #D8BA53;}
#entry .block .container ul.flow_list li:nth-child(4)::before {background: #ED9F22;}
#entry .block .container ul.flow_list li figure {margin: 0 auto 5%;width: 28%;}
#entry .block .container ul.flow_list li:nth-child(3) figure {width: 40%;}
#entry .block .container ul.flow_list li:nth-child(4) figure {width: 32%;}
#entry .block .container ul.flow_list li:nth-child(5) figure {width: 43%;}
#entry .block .container ul.flow_list li p {color: #fff;font-weight: 700;font-size: var(--font18);line-height: 1.2;letter-spacing: .1em;text-align: center;}
#entry .block .container ul.flow_list li p span {display: block;font-size: .8em;line-height: 1.4;letter-spacing: 0;text-align: center;}
#entry .block .container table {margin-bottom: var(--size60);}
#entry .block .container table tr {display: flex;align-items: center;margin-bottom: 15px;}
#entry .block .container table tr:last-child {align-items: flex-start;margin-bottom: 0;}
#entry .block .container table tr th {width: 100%;max-width: 172px;font-size: var(--font16);letter-spacing: .1em;vertical-align: middle;}
#entry .block .container table tr.v_top th {padding-top: 15px;}
#entry .block .container table tr th span {margin-left: 15px;padding: 2px 4px;border-radius: 2px;background: #BE0202;color: #fff;font-size: var(--font14);}
#entry .block .container table tr td {width: 100%;}
#entry .block .container input[type="text"],
#entry .block .container input[type="tel"],
#entry .block .container input[type="email"],
#entry .stbox select,
#entry .block .container textarea {
	width: 100%;
	height: 50px;
	padding: 0 20px;
	border: 1px solid #F5F5F5;
	border-radius: 5px;
	background: #F5F5F5;
	color: #333;
	font-size: var(--font15);
	letter-spacing: .1em;
	cursor: pointer;
	resize: vertical;
}
#entry .block .container textarea {height: auto;margin-bottom: 10px;padding: 15px 20px;}
::placeholder {color: #AAA;}
#entry .stbox {position: relative;max-width: 120px;}
#entry .stbox::after {
	content: '';
	position: absolute;
	top: 20px;
	right: 15px;
	width: 0;
	height: 0;
	border-top: 10px solid #333;
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	pointer-events: none;
}
.radio {margin-right: var(--size20-80);}
input[type="radio"] {appearance: none;display: none;opacity: 0;position: absolute;width: 1px;height: 1px;}
input[type="radio"] + span {display: inline-block;position: relative;padding: 15px 0 15px 36px;font-size: var(--font15);letter-spacing: .1em;vertical-align: middle;cursor: pointer;user-select: none;}
input[type="radio"] + span::before,
input[type="radio"] + span::after {content: '';display: block;position: absolute;top: 0;bottom: 0;margin: auto 10px auto 0;border-radius: 50%;box-sizing: border-box;}
input[type="radio"] + span::before {left: 9px;width: 20px;height: 20px;border: 1px solid #707070;background: #fff;}
input[type="radio"] + span::after {opacity: 0;left: 14px;width: 10px;height: 10px;background: #707070;}
input[type="radio"]:checked + span::before {border: 2px solid var(--green);}
input[type="radio"]:checked + span::after {opacity: 1;background: var(--green);}
.checkbox-container {position: relative;margin-left: 10px;}
.checkbox-wrapper {display: flex;align-items: flex-start;}
.error-message-container {margin-top: 10px;}
.error-message {display: block;color: #ff0000;font-size: 14px;}
.check {display: none;}
.check + label {position: relative;padding-left: 25px;font-size: var(--font15);letter-spacing: .1em;cursor: pointer;user-select: none;}
.check + label::before {content: '';position: absolute;left: 0;bottom: 50%;transform: translate(0, 50%);width: 20px;height: 20px;border: 1px solid #707070;background: #fff;}
.check:checked + label::before {background: #fff;}
.check:checked + label::after {
	content: '';
	display: block;
	position: absolute;
	left: 5px;
	bottom: 37%;
	width: 10px;
	height: 5px;
	border-left: 2px solid var(--green);
	border-bottom: 2px solid var(--green);
	border-radius: 0;
	transform: rotate(-45deg);
}
.check + label a {margin-left: 10px;text-decoration: underline;}
.check:disabled + label {cursor: not-allowed;}
.check:disabled + label::before {background: #F5F5F5;}
.checkbox-hint {margin-top: 8px;color: #999;font-size: var(--font12);letter-spacing: .05em;}
#entry .block .container .submit {
	display: block;
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 562px;
	margin: 0 auto;
	padding: var(--size20) 10px;
	overflow: hidden;
	border: none;
	border-radius: 3em;
	box-shadow: 0 6px 0 #BA623B;
	background: var(--orange);
	color: #fff;
	font-size: var(--font30);
	letter-spacing: .2em;
	text-align: center;
	transition: .3s;
	user-select: none;
}
#entry .block .container .submit:hover {transform: translateY(3px);box-shadow: 0 2px 0 #BA623B;}
#entry .block .container .harassment_box {max-width: 800px;margin: var(--size60) auto 0;padding: var(--size30) var(--size20-60);border-radius: 10px;background: #F5F5F5;}
#entry .block .container .harassment_box h4 {margin-bottom: 15px;color: #539AA0;font-size: var(--font18);letter-spacing: .1em;text-align: center;}
#entry .block .container .harassment_box p,
#entry .block .container .harassment_box li,
#entry .block .container .harassment_box dt,
#entry .block .container .harassment_box dd {font-size: var(--font14);line-height: 1.8;letter-spacing: .05em;}
#entry .block .container .harassment_box ul {margin: 10px 0 15px;}
#entry .block .container .harassment_box li {padding-left: 1em;text-indent: -1em;}
#entry .block .container .harassment_box li::before {content: '・';}
#entry .block .container .harassment_box dl {margin-bottom: 15px;padding: 15px 20px;border-radius: 5px;background: #fff;}
#entry .block .container .harassment_box dt {font-weight: 700;}
#entry .block .container .harassment_box dd a {text-decoration: underline;}
@media only screen and ( max-width : 767px ) {
	#entry .block .container:not(:last-child) {margin-bottom: 40px;}
	#entry .block .container .harassment_box h4 {font-size: min(12px, 3.2vw);}
	#entry .block .container ul.flow_list {grid-template-columns: 1fr;gap: 15px;max-width: 295px;margin: 0 auto;}
	#entry .block .container ul.flow_list li {flex-direction: row-reverse;justify-content: space-between;align-items: center;padding: 20px 30px;}
	#entry .block .container ul.flow_list li figure {margin: 0;width: 41px;}
	#entry .block .container ul.flow_list li:nth-child(3) figure {width: 68px;}
	#entry .block .container ul.flow_list li:nth-child(4) figure {width: 62px;}
	#entry .block .container ul.flow_list li:nth-child(5) figure {width: 66px;}
	#entry .block .container ul.flow_list li:not(:last-child)::before {
		top: 99%;
		left: 50%;
		transform: translateX(-50%);
		width: 25px;
		height: calc(tan(60deg) * 20px / 2);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
	}
	#entry .block .container ul.flow_list li p {margin: 0 auto;font-size: 1.6rem;}
	#entry .block .container table tr {display: block;}
	#entry .block .container table tr th {display: block;width: 100%;padding-bottom: 10px;}
	#entry .block .container table tr td {display: block;}
	#entry .block .container table tr:nth-last-of-type(2) td {margin-bottom: 0;}
	#entry .block .container input[type="text"],
	#entry .block .container input[type="tel"],
	#entry .block .container input[type="email"],
	#entry .stbox select {height: 45px;}
	#entry .stbox::after {top: 19px;right: 14px;}
	input[type="radio"] + span {padding: 15px 0 15px 36px;}
}
/*--------------------------------------------------

　   ERROR

--------------------------------------------------*/
#entry .block .container.form {display: block;}
#entry .block .container.form h4 {text-align: center;line-height: 1.7;margin-bottom: 40px;}
#entry .block .container.form td {padding: 20px;border-radius: 5px;background: #F5F5F5;}
#entry .block .container.form table tr:nth-last-of-type(2),
#entry .block .container.form table tr:last-child {align-items: center;}
#entry .block .container.form table tr:nth-last-of-type(2) td {margin-bottom: 15px;}
#entry .block .container.form .button_box {display: flex;justify-content: center;gap: 20px;}
#entry .block .container.form .button_box .submit {max-width: 400px;margin: 0;}
#entry .block .container .button_box .submit[onClick] {box-shadow: 0 6px 0 #539AA0;background: #BEE8DD;color: #539AA0;}
#entry .block .container .button_box .submit[onClick]:hover {transform: translateY(3px);box-shadow: 0 2px 0 #539AA0;}
#entry .block .container.error .errorbox {background: #fff3f2;border: 1px solid #f3c8c4;border-radius: 6px;padding: 18px 20px;}
#entry .block .container.error .error_messe {color: #C41000;text-align: center;}
#entry .block .container.form h4,
#entry .block .container.error h4 {font-size: var(--font15);color: #555;text-align: center;}
#entry .block .container.complete .container {text-align: center;}
#entry .block .container.complete .container p {margin-bottom: 40px;text-align: center;}
#entry .block .container.complete .container a {display: inline-block;width: auto;max-width: 100%;padding: 20px 30px;}