@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap')
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent
}
body {
	line-height: 1;
  margin: 0;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block
}
nav ul {
	list-style: none
}
blockquote, q {
	quotes: none
}
p {
  margin: 0;
}
dl {
  margin: 0;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none
}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent
}
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none
}
mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold
}
del {
	text-decoration: line-through
}
abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help
}
table {
	border-collapse: collapse;
	border-spacing: 0
}
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0
}
input, select {
	vertical-align: middle
}
*, *::before, *::after {
	box-sizing: border-box
}
a, area, button, [role="button"], input:not([type="range"]), label, select, summary, textarea {
	-ms-touch-action: manipulation;
	touch-action: manipulation
}
html {
	font-size: 1.8vw
}
@media screen and (min-width: 1000px) {
	html {
		font-size: 18px
	}
}
@media screen and (max-width: 768px) {
	html {
		font-size: 3.86vw
	}
}
body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  letter-spacing: 2px;
}
@media screen and (max-width: 768px) {
  body {
    letter-spacing: 1.2px;
  }
}
body a {
	color: inherit;
	text-decoration: none
}
body img {
	width: 100%;
	height: auto;
	vertical-align: bottom
}
body em {
	font-style: normal
}
body li {
	list-style: none
}
body h1, body h2, body h3, body h4, body h5, body h6 {
	font-weight: inherit
}
.wrap {
	background: #fff;
	width: 100%;
	color: #333
}
body#confirm .wrap, body#thanks .wrap {
	min-height: 100vh;
	height: 100%;
	border-bottom: 3rem solid #073a75;
	display: flex;
	flex-flow: column
}
@media screen and (max-width: 768px) {
	body#confirm .wrap, body#thanks .wrap {
		border-bottom-width: 5vw
	}
}
.contents {
	min-height: 30%;
	color: black;
	flex: 1
}
.form {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	padding: 4rem 0;
	line-height: 1.7em
}
.form__progress {
	padding: 0 0 4rem;
	display: flex;
	justify-content: space-between
}
.form__progress-item {
	background-color: #afb6bf;
	width: calc(100% / 3);
	padding: 0 1rem;
	height: 3rem;
	line-height: 3rem;
	color: #fff;
	font-weight: 600;
	text-align: center;
	overflow: hidden;
	position: relative
}
.form__progress-item::before, .form__progress-item::after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent;
	border-width: 1.5rem 0 1.5rem 1rem;
	display: block;
	position: absolute;
	top: 0
}
.form__progress-item::before {
	border-left-color: #fff;
	left: 0
}
.form__progress-item::after {
	border-top-color: #fff;
	border-bottom-color: #fff;
	right: 0
}
.form__progress-item.current {
	background-color: #333
}
.form__list-item {
	margin: 0 0 1rem;
	padding: 0 0 1rem;
	border-bottom: 1px solid #333;
	text-align: left
}
.form__list-item .heading {
	padding: 0 0 .5em;
	line-height: 1.7em;
	font-weight: 600;
	position: relative
}
.form__list-item .heading-sub {
	padding: .5rem 0;
	line-height: 1.7em;
	font-weight: 600
}
.form__list-item .text {
	min-height: 1.7em;
	line-height: 1.7em
}
.form__list-item .text .note:first-child {
	padding: 0 0 .5em
}
.form__list-item .small {
	font-size: .77em
}
.form__list-item .note {
	padding: .5em 0 0;
	font-size: .88em
}
.form__list-item .error {
	color: #ff1421;
	font-size: .88em
}
.form__list-item .icon {
	margin-right: 1em;
	padding: .2em .5em;
	line-height: 1em;
	font-size: .88em;
	font-weight: 400;
	vertical-align: middle;
	display: inline-block
}
.form__list-item .icon-required {
	background: #db3e3e;
	color: #fff
}
.form__list-item .icon-optional {
	background: #999;
	color: #fff
}
.form__list-item:last-child {
	margin: 0;
	padding: 0;
	border-bottom: none
}
.form__privacy {
	background: #f3f3f3;
	margin: 3rem 0;
	padding: 1rem;
	color: #333;
	text-align: center
}
.form__privacy-item01 {
	font-weight: 700
}
.form__privacy-item02 {
	padding: .5rem 0
}
.form__privacy label {
	font-size: 1.2rem
}
.form__privacy label.checkbox {
	margin: 0 !important
}
.form__privacy .error {
	color: #ff1421;
	font-size: .88em
}
.form__privacy a {
	transition: all 0.2s ease-in-out;
	cursor: pointer;
	border-bottom: 1px solid red;
	color: red
}
.form__privacy a:hover {
	opacity: .7
}
@media screen and (max-width: 768px) {
	.form__privacy a:hover {
		opacity: 1
	}
}
.form__text {
	max-width: 700px;
	margin: 0 auto;
	padding: 3rem 0;
	line-height: 1.7em
}
.form__button {
	width: 90%;
	max-width: 405px;
	margin: 0 auto;
	text-align: center
}
.form__button button[type='submit'] {
	background-color: transparent;
	border: none;
	font-family: inherit;
	font-size: inherit;
	cursor: pointer;
	outline: none;
	padding: 0;
	transition: all 0.2s ease-in-out;
	cursor: pointer;
	margin: 0 auto;
	padding: 1.5rem 1rem;
	border-radius: 10rem;
	line-height: 1;
	font-size: 1.33rem;
	font-weight: 700;
	display: block;
	background-color: #025cc4;
	background-image: linear-gradient(to right, #025cc4, #025cc4);
	color: #fff;
	width: 100%;
	display: block
}
.form__button button[type='submit']:hover {
	opacity: .7
}
@media screen and (max-width: 768px) {
	.form__button button[type='submit']:hover {
		opacity: 1
	}
}
@media screen and (max-width: 768px) {
	.form__button button[type='submit'] {
		padding: 3vw 2vw
	}
}
.form__button button[type='button'] {
	background-color: transparent;
	border: none;
	font-family: inherit;
	font-size: inherit;
	cursor: pointer;
	outline: none;
	padding: 0;
	transition: all 0.2s ease-in-out;
	cursor: pointer;
	margin: 0 auto;
	padding: 1.5rem 1rem;
	border-radius: 10rem;
	line-height: 1;
	font-size: 1.33rem;
	font-weight: 700;
	display: block;
	background-color: #ccc;
	background-image: linear-gradient(#ccc, form_button_other02);
	color: #333;
	width: 100%;
	margin-top: 1rem;
	display: block
}
.form__button button[type='button']:hover {
	opacity: .7
}
@media screen and (max-width: 768px) {
	.form__button button[type='button']:hover {
		opacity: 1
	}
}
@media screen and (max-width: 768px) {
	.form__button button[type='button'] {
		padding: 3vw 2vw
	}
}
.form__button a {
	background-color: transparent;
	border: none;
	font-family: inherit;
	font-size: inherit;
	cursor: pointer;
	outline: none;
	padding: 0;
	transition: all 0.2s ease-in-out;
	cursor: pointer;
	margin: 0 auto;
	padding: 1.5rem 1rem;
	border-radius: 0;
	line-height: 1;
	font-size: 1.33rem;
	font-weight: bold;
	display: block;
	background-color: #ccc;
	background-image: linear-gradient(#ccc, form_button_other02);
	color: #333;
	width: 100%;
	margin-top: 1rem;
	display: block
}
.form__button a:hover {
	opacity: .7
}
@media screen and (max-width: 768px) {
	.form__button a:hover {
		opacity: 1
	}
}
@media screen and (max-width: 768px) {
	.form__button a {
		padding: 3vw 2vw
	}
}
.form__note {
	padding: 3rem 0 0;
	font-size: .88rem;
	text-align: left
}
.form input[type='text'], .form input[type='email'], .form input[type='tel'], .form input[type='number'], .form input[type='date'], .form select, .form textarea {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	font-style: normal;
	background: #fff;
	width: 100%;
	padding: .5rem;
	border: 1px solid #bcbcbc;
	border-radius: .5em;
	line-height: 1.7em;
	font-size: 1rem
}
.form input[type='text']:placeholder-shown, .form input[type='email']:placeholder-shown, .form input[type='tel']:placeholder-shown, .form input[type='number']:placeholder-shown, .form input[type='date']:placeholder-shown, .form select:placeholder-shown, .form textarea:placeholder-shown {
	background: #f3f3f3
}
.form input[type='text']:not(:placeholder-shown), .form input[type='email']:not(:placeholder-shown), .form input[type='tel']:not(:placeholder-shown), .form input[type='number']:not(:placeholder-shown), .form input[type='date']:not(:placeholder-shown), .form select:not(:placeholder-shown), .form textarea:not(:placeholder-shown) {
	background: #fff
}
.form input[type='text'].short, .form input[type='email'].short, .form input[type='tel'].short, .form input[type='number'].short, .form input[type='date'].short, .form select.short, .form textarea.short {
	width: calc((100% - 3rem) / 3)
}
.form input[type='date'] {
	width: calc((100% - 3rem) / 3);
	max-width: 20em
}
.form textarea {
	min-height: 10em;
	vertical-align: bottom;
	resize: vertical
}
.form label.radio, .form label.checkbox {
	margin: 0 1rem 0 0;
	padding: 0 0 0 2rem;
	line-height: 1.7em;
	font-weight: 500;
	position: relative;
	display: inline-block;
	cursor: pointer
}
.form label input[type='radio'], .form label input[type='checkbox'] {
	width: 1.5rem;
	height: 1.5rem;
	margin: auto;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0
}
.form label.birthday select {
	width: 25%;
	max-width: 6rem
}
.form label.postalcode input {
	width: 10em
}
.form label.age input {
	width: 5em;
	margin-right: .5em;
	ime-mode: disabled
}
.form label.date {
	display: flex;
	flex-flow: wrap;
	justify-content: flex-start
}
.form label.date input, .form label.date select {
	width: calc((100% - 3rem) / 3);
	max-width: 20em;
	margin: 0 1rem 0 0
}
.form label.date input:last-child, .form label.date select:last-child {
	margin-right: 0
}
.form .radio-wrap {
	margin-bottom: -1rem;
	display: flex;
	flex-flow: wrap;
	align-items: flex-start;
	justify-content: flex-start
}
.form .radio-wrap label.radio {
	width: calc((100% - 3rem) / 3);
	margin-bottom: 1rem;
	text-align: left
}
.form .checkbox-wrap {
	margin-bottom: -1rem;
	display: flex;
	flex-flow: wrap;
	align-items: flex-start;
	justify-content: flex-start
}
.form .checkbox-wrap label.checkbox {
	width: calc((100% - 3rem) / 3);
	margin-bottom: 1rem;
	text-align: left
}
.form input.required, .form select.required, .form textarea.required {
	border-color: red !important
}
@media screen and (max-width: 768px) {
	.form {
		padding: 5vw 0
	}
	.form__progress {
		padding: 0 0 10vw
	}
	.form__progress-item {
		padding: 0 3vw;
		font-size: .77rem;
		height: 10vw;
		line-height: 10vw
	}
	.form__progress-item::before, .form__progress-item::after {
		border-width: 5vw 0 5vw 3vw
	}
	.form__list-item {
		margin: 0 0 3vw;
		padding: 0 0 3vw
	}
	.form__list-item .heading {
		width: 100%;
		padding: 0 0 2vw
	}
	.form__list-item .text {
		width: 100%;
		padding: 0
	}
	.form__list-item .text label.radio, .form__list-item .text label.checkbox {
		width: 100%
	}
	.form__list-item .icon-required, .form__list-item .icon-optional {
		margin: 0 .5rem 0 0;
		position: static;
		display: inline-block
	}
	.form__privacy {
		margin: 10vw 0;
		padding: 4vw
	}
	.form__privacy-item02 {
		padding: .5rem 0;
		text-align: left
	}
	.form__text {
		padding: 5vw 0
	}
	.form__button {
		width: 80%;
		max-width: none
	}
	.form input[type='text'], .form input[type='email'], .form input[type='tel'], .form input[type='number'], .form input[type='date'], .form select, .form textarea {
		padding: 2vw;
		line-height: 2rem;
		font-size: 1.15rem
	}
	.form input[type='text'].short, .form input[type='email'].short, .form input[type='tel'].short, .form input[type='number'].short, .form input[type='date'].short, .form select.short, .form textarea.short {
		width: 100%;
		max-width: none
	}
	.form input[type='date'] {
		width: 100%;
		max-width: none
	}
	.form textarea {
		min-height: 5em
	}
	.form label.radio, .form label.checkbox {
		margin: 0;
		padding: 0 0 0 2.2rem
	}
	.form label.date {
		display: flex;
		flex-flow: wrap;
		justify-content: flex-start
	}
	.form label.date input, .form label.date select {
		width: 100%;
		max-width: none;
		margin: 0 0 3vw
	}
	.form label.date input:last-child, .form label.date select:last-child {
		margin: 0
	}
	.form__note {
		padding: 10vw 0 0
	}
	.form .radio-wrap {
		display: block
	}
	.form .radio-wrap label.radio {
		width: 100%;
		margin-right: 0
	}
	.form .checkbox-wrap {
		display: block
	}
	.form .checkbox-wrap label.checkbox {
		width: 100%;
		margin-right: 0
	}
}
.confirm__inner, .thanks__inner {
	width: 90vw;
	max-width: 1000px;
	margin: 0 auto;
	text-align: center
}
.confirm__heading, .thanks__heading {
	background-color: #073a75;
	padding: 2rem 0;
	line-height: 1.7em;
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	text-align: center
}
.confirm__text, .thanks__text {
	padding: 0 0 2rem;
	line-height: 1.7em;
	text-align: center
}
.confirm .form__list-item:last-child, .thanks .form__list-item:last-child {
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	border-bottom: 2px solid #333
}
@media screen and (max-width: 768px) {
	.confirm__heading, .thanks__heading {
		padding: 4vw 0;
		font-size: 1.5rem
	}
	.confirm__text, .thanks__text {
		text-align: left
	}
}
.thanks__text {
	background: #f3f3f3;
	margin: 0 0 3rem;
	padding: 2rem 1rem;
	color: #333;
	line-height: 1.7em;
	font-size: 1.11rem;
	font-weight: 500;
	text-align: center
}
.thanks__text-item {
	padding: 0 0 1.5rem
}
.thanks__text-item:last-child {
	padding: 0
}
@media screen and (max-width: 768px) {
	.thanks__heading {
		padding: 4vw 0;
		font-size: 1.5rem
	}
	.thanks__text {
		margin: 0 0 10vw;
		padding: 4vw;
		font-size: 1rem;
		font-weight: 400;
		text-align: left
	}
	.thanks__text-item {
		padding: 0 0 4vw
	}
	.thanks__text-item:last-child {
		padding: 0
	}
	.thanks__text br {
		display: none
	}
}
#step2,#step3{
    display: none;
}
.stbtn{
    background: #035cc4 !important;
    color:#fff !important;
}
.formErrorContent{
    color:#ff1421;
}
.stepnum{

  display: -webkit-flex;
  display: flex;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: center;
 -webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
 align-items: center; /* 縦方向中央揃え */
 padding-bottom:2em;
}
.stepnum li{
    position: relative;
    font-size: 0.9em;
    padding:0.1em 1em;
    border-radius: 100px;
    font-weight: bold;
    color:#fff;
    background: #999;
    margin:0 2em 0 0;
}
.stepnum li.act{
    color:#fff;
    background: #DB3E3E;
}
.stepnum li::after{
    content: "";
    background:url(../images/steparrow.png) no-repeat right center;
    background-size: contain;
    position: absolute;
    color:#666;
    display: block;
    width: 0.5em;
    height: 1em;
    font-weight: normal;
    right:-1.3em;
    top:0.6em;
}
.stepnum li:last-of-type{
    margin:0;
}
.stepnum li:last-of-type::after{
    display: none;
}
.radioli{
  display: -webkit-flex;
  display: flex;
 	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
    justify-content: space-between;
}
.radioli li{
    width: 48%;
    margin-bottom:10px;
}
.radioli li input[type="radio"]{
    display: none;
}
.radioli li input[type="radio"] + label{
    display: block;
    width: 100%;
    background: #fff;
    border:solid 1px #aaa;
    border-radius: 100px;
    padding:0.3em 1em;
    text-align: center;
    cursor: pointer;
}

.radioli li input[type="radio"]:checked + label{
    background: #035cc4;
    border:solid 1px #035cc4;
    color:#fff;
}
@media screen and (max-width: 768px){
.radioli li{
    width: 100%;
    margin-bottom:0.8em;
}
}
.form__button a,.form__button button[type="submit"]{
    position: relative;
}
.form__button a::before,
.form__button button[type="submit"]::before{
    content: "";
    display: block;
    width: 0.4em;
    height: 1em;
    background: url(../images/btnarrow.png) no-repeat right center;
    background-size: contain;
    position: absolute;
    right:7%;
    top:35%;
    font-size: 1em;;
}
.backbtn a::before{
    display: none !important;
}
@media screen and (max-width: 768px){
.form__button a::before,
.form__button button[type="submit"]::before{
    content: "";
    font-family: "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    position: absolute;
    right:7%;
    top:25%;
    font-size: 1em;;
}
}
