@charset "UTF-8";
.wrapper-question {
  padding-bottom: 80px !important;
}
.form-download-wrap {
  max-width: 864px;
  margin: 80px auto 0;
  padding: 32px;
  background-color: #FAEECA;
}
.form-headline {
  font-size: 32px;
	 font-weight: bold;
	 color: #1B457C;
	 margin-bottom: 24px;
	}
.form-download-lead {
  margin-bottom: 32px;
}
#form-download-msg {
  margin-bottom: 16px;
  padding: 12px 16px;
  border-radius: 4px;
  font-size: 14px;
  display: none;
}
#form-download-msg.is-error {
  display: block;
  background: #fdecea;
  border: 1px solid #e57373;
  color: #c62828;
}
.form-row {
  margin-bottom: 20px;
}
	.form-row p {
		font-size: 12px;
	}
.form-row label,
.form-label-block {
  display: block;
  margin-bottom: 8px;
  color: #1B457C;
  font-weight: bold;
}
.form-required {
  display: inline-block;
  border: solid 1px #FF6F00;
  color: #FF6F00;
  line-height: 1;
  font-size: 12px;
  padding: 2px 4px;
  margin: 0 8px 0 8px;
  vertical-align: middle;
}
.form-optional {
  display: inline-block;
  border: solid 1px #6595E0;
  color: #6595E0;
  line-height: 1;
  font-size: 12px;
  padding: 2px 4px;
  margin-left: 8px;
  vertical-align: middle;
}
.form-row input[type="text"],
.form-row input[type="email"],
.form-row input[type="tel"],
.form-row textarea {
  width: 100%;
  padding: 17px 16px;
  border: none;
  background: #EFF6FF;
  box-sizing: border-box;
  transition: border-color .2s;
}
.form-row input::placeholder {
  color: #6595E0;
}

.form-row input[type="text"]:focus,
.form-row input[type="email"]:focus,
.form-row input[type="tel"]:focus,
.form-row textarea:focus {
  outline: none;
  border: solid 1px #1B457C;
  /*box-shadow: 0 0 0 3px rgba(26,58,107,.12);*/
}

.form-row input.is-invalid {
	border-color: #e53935;
}
.form-policy-link {
  font-size: 14px;
  margin-bottom: 10px;
}
.form-policy-link a {
  color: #6595E0;
  font-size: inherit;
}
.form-radio-group {
  display: flex;
  gap: 24px;
}
.form-radio-label {
  display: flex !important;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 400;
  color: #1a1a1a;
  cursor: pointer;
}
.form-radio-label input[type="radio"] {
  width: 24px;
  height: 24px;
  cursor: pointer;
}
input[type="radio"]::before {
  width: 12px;
  height: 12px;
  background-color: #FF6F00;
  border-radius: 50%;
  bottom: 0;
  content: "";
  left: 0;
  margin: auto;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
}
/* チェックされたらラジオボタン内側を表示 */
input[type="radio"]:checked::before {
  opacity: 1;
}
/* デフォルトのラジオボタンのスタイル */
input[type="radio"] {
  appearance: none; /* デフォルトのスタイルを消す */
  border: 1px solid #FF6F00;
  border-radius: 50%;
  position: relative;
}
.form-error {
  font-size: 14px;
  font-weight: bold;
  color: #FF6F00;
}
.form-submit-row {
	margin-top: 8px;
	}
 button.btn-form-submit , .btn-download , .btn-primary {
	display: block;
	margin: 0 auto;
	border: none;
	background: none;
	position: relative;
	width: 400px;
	height: 82px;
	filter: drop-shadow(0px 2px 4px rgba(51, 51, 51, 0.24));
	transform: translateY(0);
	transition: .2s;

	&:hover {
		transform: translateY(-5px);
		transition: .2s;
	}

	&::before {
		content: "";
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		z-index: 1;
		border-radius: 50px;
		background: linear-gradient(to right, #FFBB00 0%, #FF6F00 100%);
	}

	&::after {
		content: "";
		position: absolute;
		width: calc(100% - 4px);
		height: calc(100% - 4px);
		top: 2px;
		right: 2px;
		z-index: 2;
		border-radius: 50px;
		background: #fff;
	}
}

.btn-back	{
				width: 208px;
				padding: 4px;
				border: 2px solid #6595E0;
				color: #6595E0;
				background-color: #fff;
				border-radius: 50px;
				transition: .2s;
				display: flex;
				justify-content: center;
				margin: 32px auto;

				&:hover {
					background-color: #6595E0;
					color: #fff;
					transition: .2s;
				}
			}
.btn-back span {
				color: #6595E0;
}
.btn-back:hover span {
    color: #FFFFFF;
}
.btn-form-submit:disabled {
	opacity: .6; cursor: not-allowed;
	}
.btn-form-submit span , .btn-download span , .btn-primary span {
	position: relative;
	z-index: 100;
	font-size: 24px;
	font-weight: 500;
	background-position: center;
	background: linear-gradient(180deg, #FFBB00 0%, #FF6F00 100%);
	background: -webkit-linear-gradient(0deg, #FFBB00 0%, #FF6F00 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	}
.form-privacy-note {
	font-size: 12px;
/*  margin-top: 14px;
  font-size: 11px;
  color: #888;
  line-height: 1.7;
	*/
}

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

button.btn-form-submit , .btn-download , .btn-primary {
		width: 73.3333vw;
		bottom: 6.1538vw;
		padding: 0;
		align-items: center;
		flex-wrap: wrap;
			min-width: 73.3333vw;
			height: 14.8717vw;
			margin-top: 8.5333vw;
			margin-bottom: 4.1025vw;
	}

.btn-form-submit span , .btn-download span , .btn-primary span {
			align-items: center;
			justify-content: center;

			width: 100%;
			height: 14.8717vw;
		}	
}

/*受講申込*/
    .page-wrap { width: 800px; margin: 0 auto;}
    .form-header { margin-bottom: 32px; }
    .form-header .logo { font-size: 13px; color: #777; margin-bottom: 12px; letter-spacing: .05em; }
    .form-header h1 { font-size: 22px; font-weight: 700; color: #1a3a6b; margin-bottom: 8px; }

    .error-general {
      padding: 12px 16px; background: #fdecea;
      border: 1px solid #e57373; border-radius: 4px;
      color: #c62828; font-size: 14px; margin-bottom: 20px;
    }
.btn-wrap {
    margin: 8px auto;
    display: flex;
    gap: 12px;
    margin-top: 8px;
    justify-content: center;
    align-items: center;
}

    .form-privacy-note {
      margin-top: 18px; font-size: 11px; color: #888;
      line-height: 1.7; text-align: center;
    }
    @media (max-width: 480px) {
      .form-card { padding: 24px 16px; }
      .page-wrap { margin: 24px auto; }
      .step-line { width: 32px; }
    }

/* 完了画面 */
.dl-complete {
  width: 100%;
	}
div:has(.dl-complete)
	{
  background-color: #FFFFFF;
	 padding: 40px 20px;
	}
.dl-complete h3 {
	font-size: 32px;
	font-weight: bold;
	color: #1B457C;
	margin-bottom:10px;
	}
.dl-complete p {
	font-size: 14px;
	margin-bottom: 32px;
	}
a.btn-download {
 display: flex;
	align-items: center;
	justify-content: center;
}
.dl-note { margin-top: 14px; font-size: 12px; color: #888; }

    .form-card {
					margin-bottom: 160px;
    }
h2 {
	font-size: 32px;
	font-weight: bold;
	color: #1B457C;
	margin-bottom: 24px;
}

@media screen and (max-width: 767px) {
	.page-wrap {
		width: 100%;
	}
}