@charset "UTF-8";
/*---------------------------- Import file */
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
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;
		vertical-align: baseline;
}

body {
		line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
		display: block;
}

ul {
		list-style: none;
}

blockquote, q {
		quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
		content: '';
		content: none;
}

a {
		margin: 0;
		padding: 0;
		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;
}

/*----------------------------Color Setteing */
/*----------------------------  Divice Font Size */
/*---------------------------- Layout Base Style */
input[type="button"], input[type="text"], input[type="submit"], input[type="image"], textarea {
		-webkit-appearance: none;
		border-radius: 0;
}

.btn {
		display: block;
		text-align: center;
		width: 100%;
		position: relative;
		z-index: 1;
		background-color: #eee;
}

.btn a {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		text-indent: -999px;
		z-index: 2;
}

a:hover {
		filter: alpha(opacity=70);
		-ms-filter: "alpha(opacity=70)";
		-moz-opacity: 0.7;
		-khtml-opacity: 0.7;
		opacity: 0.7;
		zoom: 1;
		transition: all .9s;
}

.error_l {
		font-size: 20px;
		font-weight: bold;
		color: #e50012;
		text-align: center;
		margin: 30px auto;
}

.error_s {
		font-size: 16px;
		font-weight: bold;
		color: #e50012;
		margin-top: 5px;
}

.help {
		color: #1f1f1f;
}

@media (max-width: 780px) {
		.error_l {
				font-size: 3.58974vw;
				font-weight: bold;
				color: #e50012;
				text-align: center;
				margin: 0 auto 5vw;
		}
		.error_s {
				font-size: 3.33333vw;
				font-weight: bold;
				color: #e50012;
				margin-top: 1vw;
		}
		.help {
				color: #000;
		}
}

.box, .radio_box {
		padding: 20px 0;
		border-bottom: 1px solid #dcdcdc;
}

.box h3, .radio_box h3 {
		font-size: 18px;
		font-weight: bold;
		line-height: 1.6;
		margin-bottom: 5px;
}

.box p, .radio_box p {
		line-height: 1.6;
}

.thanks {
		margin: 0 auto;
		text-align: center;
}

.thanks h2 {
		font-size: 24px;
		font-weight: bold;
		line-height: 1.6;
		margin-bottom: 20px;
}

.thanks p {
		font-size: 16px;
		line-height: 2;
		margin-bottom: 100px;
}

.noline {
		border-bottom: 0 !important;
}

.box_inner {
		display: flex;
		justify-content: flex-start;
		margin-bottom: 20px;
}

.box_inner_lt {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		width: 100%;
		margin: 15px 0 0;
}

.box_inner_bx {
		flex-basis: 100%;
		max-width: 100%;
		text-align: left;
		margin-bottom: 20px;
}

.box_inner_bx .list {
		font-size: 16px;
		line-height: 1;
		margin-left: 15px;
}

.caution {
		margin: 20px auto;
}

.caution img {
		margin-bottom: 20px;
}

.caution p {
		font-size: 14px;
		line-height: 1.6;
}

@media (max-width: 780px) {
		.box, .radio_box {
				padding: 6vw 0;
				border-bottom: 1px solid #dcdcdc;
		}
		.box h3, .radio_box h3 {
				font-size: 3.84615vw;
				font-weight: bold;
				line-height: 1.6;
				margin-bottom: 1vw;
		}
		.box p, .radio_box p {
				line-height: 1.6;
				font-size: 3.33333vw;
		}
		.thanks {
				margin: 10vw auto;
				text-align: center;
		}
		.thanks h2 {
				font-size: 5.12821vw;
				font-weight: bold;
				line-height: 1.6;
				margin-bottom: 20px;
		}
		.thanks p {
				font-size: 3.33333vw;
				line-height: 2;
				margin-bottom: 30vw;
				text-align: left;
		}
		.noline {
				border-bottom: 0 !important;
		}
		.box_inner {
				display: flex;
				justify-content: flex-start;
				margin-bottom: 2vw;
		}
		.box_inner_lt {
				display: flex;
				justify-content: space-between;
				flex-wrap: wrap;
				width: 100%;
				margin: 15px 0 0;
		}
		.box_inner_bx {
				flex-basis: 100%;
				max-width: 100%;
				text-align: left;
				margin-bottom: 4vw;
		}
		.box_inner_bx .list {
				font-size: 3.58974vw;
				line-height: 1;
				margin: 2vw 0 0 5vw;
		}
		.caution {
				margin: 5vw auto;
		}
		.caution img {
				margin-bottom: 2vw;
		}
		.caution p {
				font-size: 3.07692vw;
				line-height: 1.6;
		}
}

.element_flex {
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
}

.element_flex span {
		display: inline-block;
		color: #fff;
		font-size: 14px;
		font-weight: bold;
		margin-right: 10px;
		border-radius: 3px;
		padding: 4px 10px;
		margin: 4px 10px 10px 0;
		white-space: nowrap;
}

.element_flex .required {
		background-color: #D80C18;
}

.element_flex .option {
		background-color: #666;
}

.element_flex h4 {
		font-size: 18px;
		line-height: 1.6;
}

.center {
		justify-content: center;
}

@media (max-width: 780px) {
		.element_flex {
				display: flex;
				justify-content: flex-start;
				align-items: flex-start;
		}
		.element_flex span {
				display: inline-block;
				color: #fff;
				font-size: 2.82051vw;
				font-weight: bold;
				margin-right: 3vw;
				border-radius: 2px;
				padding: 1vw 2vw;
				margin: 1vw 2vw 2vw 0;
				white-space: nowrap;
		}
		.element_flex .required {
				background-color: #D80C18;
		}
		.element_flex .option {
				background-color: #666;
		}
		.element_flex h4 {
				font-size: 4.10256vw;
				line-height: 1.6;
		}
		.center {
				justify-content: center;
		}
}

/*---------------------------- Form Style */
label {
		display: flex;
		justify-content: flex-start;
		align-items: center;
}

* {
		outline: none;
}

input:-webkit-autofill {
		box-shadow: 0 0 0 1000px #fff inset;
}

@media (max-width: 780px) {
		label {
				display: flex;
				justify-content: flex-start;
				align-items: center;
		}
		.w50 {
				width: calc(50% - 2vw);
		}
		.w100 {
				width: 100%;
		}
		img {
				max-width: 100%;
		}
}

input[type=text] {
		-webkit-appearance: none;
		appearance: none;
		background: none;
		background-color: #fff;
		height: 60px;
		border: 2px solid #dcdcdc;
		box-sizing: border-box;
		vertical-align: middle;
		padding: 0 20px;
		margin: 0 20px 10px 0;
		font-size: 16px;
}

input[type="text"]:focus {
		border: 2px solid #3E8BF9;
}

::placeholder {
		color: #787878;
}

input:focus::placeholder {
		color: transparent;
}

@media (max-width: 780px) {
		input[type=text] {
				-webkit-appearance: none;
				appearance: none;
				background: none;
				background-color: #fff;
				height: 50px;
				border: 1px solid #dcdcdc;
				box-sizing: border-box;
				vertical-align: middle;
				padding: 0 2vw;
				margin: 0 2vw 1.5vw 0;
				font-size: 3.33333vw;
		}
}

input[type=tel] {
		-webkit-appearance: none;
		appearance: none;
		background: none;
		background-color: #fff;
		height: 60px;
		border-radius: 0em;
		border: 2px solid #dcdcdc;
		box-sizing: border-box;
		vertical-align: middle;
		padding: 0 20px;
		margin: 0 20px 10px 0;
		font-size: 16px;
}

input[type="tel"]:focus {
		border: 2px solid #3E8BF9;
}

::placeholder {
		color: #787878;
}

@media (max-width: 780px) {
		input[type=tel] {
				-webkit-appearance: none;
				appearance: none;
				background: none;
				background-color: #fff;
				height: 50px;
				border: 1px solid #dcdcdc;
				box-sizing: border-box;
				vertical-align: middle;
				padding: 0 2vw;
				margin: 0 0 1.5vw 0;
				font-size: 3.33333vw;
		}
}

input[type=email] {
		-webkit-appearance: none;
		appearance: none;
		background: none;
		background-color: #fff;
		height: 60px;
		border-radius: 0em;
		border: 2px solid #dcdcdc;
		box-sizing: border-box;
		vertical-align: middle;
		padding: 0 20px;
		margin: 0 20px 10px 0;
		font-size: 16px;
}

input[type="email"]:focus {
		border: 2px solid #3E8BF9;
}

::placeholder {
		color: #787878;
}

@media (max-width: 780px) {
		input[type=email] {
				-webkit-appearance: none;
				appearance: none;
				background: none;
				background-color: #fff;
				height: 50px;
				border: 1px solid #dcdcdc;
				box-sizing: border-box;
				vertical-align: middle;
				padding: 0 2vw;
				margin: 0 0 1.5vw 0;
				font-size: 3.33333vw;
		}
}

textarea {
		-webkit-appearance: none;
		appearance: none;
		background: none;
		background-color: #fff;
		width: 100%;
		border-radius: 0em;
		border: 2px solid #dcdcdc;
		box-sizing: border-box;
		padding: 20px;
		margin: 0 0 10px 0;
		font-size: 16px;
}

textarea:focus {
		border: 2px solid #3E8BF9;
}

::placeholder {
		color: #787878;
}

@media (max-width: 780px) {
		textarea {
				-webkit-appearance: none;
				appearance: none;
				background: none;
				background-color: #fff;
				width: 100%;
				border-radius: 0em;
				border: 1px solid #dcdcdc;
				box-sizing: border-box;
				padding: 2vw;
				margin: 0 0 1.5vw 0;
				font-size: 3.33333vw;
		}
}

input[type=radio] {
		opacity: 0;
		z-index: 1;
		position: absolute;
		top: 0;
		left: 0;
}

input[type=radio]:checked + span {
		border: none;
		background-color: #3E8BF9;
		color: #fff;
}

.radio_sex {
		background-color: #b4b4b9;
		border: none;
		color: #fff;
		font-weight: bold;
		padding: 20px 0;
		margin-right: 20px;
}

label p {
		position: relative;
		display: inline-block;
		vertical-align: middle;
}

label p span {
		width: 200px;
		height: auto;
		box-sizing: border-box;
		text-align: center;
		display: inline-block;
}

@media (max-width: 780px) {
		.radio_sex {
				background-color: #b4b4b9;
				border: none;
				color: #fff;
				font-size: 3.33333vw;
				font-weight: bold;
				padding: 6vw 0;
				margin-right: 2vw;
		}
		label p {
				position: relative;
				display: inline-block;
				vertical-align: middle;
		}
		label p span {
				width: 28vw;
				height: auto;
				box-sizing: border-box;
				text-align: center;
				display: inline-block;
		}
}

.radio_box label {
		margin-bottom: 20px;
}

.radio_box label div {
		display: inline;
		margin: 10px 0 0 20px;
		padding: 0;
		font-size: 16px;
		font-weight: bold;
}

.radio_box label p {
		position: relative;
		display: inline-block;
		vertical-align: middle;
		margin-top: 0;
}

.radio_box label p span {
		content: "";
		display: block;
		padding: 0;
		width: 28px;
		height: 28px;
		border-radius: 50%;
		border: 2px solid #DFDFDF;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 0;
		box-sizing: border-box;
}

.radio_box input[type=radio] {
		opacity: 0;
		position: relative;
		z-index: 1;
}

.radio_box input[type=radio]:checked {
		border: 10px solid #3E8BF9;
}

.radio_box label p input[type=radio]:checked + span {
		border: 10px solid #3E8BF9;
		background-color: #fff;
}

@media (max-width: 780px) {
		.radio_box label {
				margin-bottom: 3vw;
		}
		.radio_box label div {
				display: inline;
				margin: 2vw 0 0 2vw;
				padding: 0;
				font-size: 3.33333vw;
				font-weight: bold;
		}
		.radio_box label p {
				position: relative;
				display: inline-block;
				vertical-align: middle;
				margin-top: 0;
		}
		.radio_box label p span {
				content: "";
				display: block;
				padding: 0;
				width: 6vw;
				height: 6vw;
				border-radius: 50%;
				border: 2px solid #DFDFDF;
				position: absolute;
				top: 0;
				left: 0;
				z-index: 0;
				box-sizing: border-box;
		}
		.radio_box input[type=radio] {
				opacity: 0;
				position: relative;
				z-index: 1;
		}
		.radio_box input[type=radio]:checked {
				border: 8px solid #3E8BF9;
		}
		.radio_box label p input[type=radio]:checked + span {
				border: 8px solid #3E8BF9;
				background-color: #fff;
		}
}

select {
		-webkit-appearance: none;
		appearance: none;
		background: none;
		background-color: #fff;
		border-radius: 0;
		border: 2px solid #dcdcdc;
		box-sizing: border-box;
		width: 250px;
		height: 60px;
		padding: 0 20px;
		font-size: 16px;
		background-image: url(../img/select_arrow.svg);
		background-repeat: no-repeat;
		background-position: 220px center;
		background-size: 20px 10px;
		margin: 0 0 10px 0;
}

@media (max-width: 780px) {
		select {
				-webkit-appearance: none;
				appearance: none;
				background: none;
				background-color: #fff;
				height: 50px;
				border-radius: 0;
				border: 1px solid #dcdcdc;
				box-sizing: border-box;
				width: 60vw;
				padding: 0 2vw;
				font-size: 3.33333vw;
				background-image: url(../img/select_arrow.svg);
				background-repeat: no-repeat;
				background-position: 52vw center;
				background-size: 4vw 2vw;
				color: #333;
		}
}

.file {
		position: relative;
		top: 0px;
		left: 0px;
		height: auto;
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: flex-start !important;
}

.file input[type=file] {
		opacity: 0;
		width: 138px;
		height: 50px;
}

.file input[type=text] {
		border: none;
		width: 100%;
		background-color: #fff;
		font-size: 14px;
		padding: 0;
		margin-top: 10px;
		height: 40px;
}

.file::after {
		content: "ファイルを選択";
		display: block;
		width: 168px;
		height: auto;
		background-color: #1f1f1f;
		text-align: center;
		line-height: 50px;
		color: white;
		position: absolute;
		top: 0px;
		left: 0px;
		border-radius: 0.3em;
		font-size: 16px;
		cursor: pointer;
		margin-top: 15px;
}

@media (max-width: 780px) {
		.file input[type=file] {
				opacity: 0;
				width: 100%;
				height: 15vw;
		}
		.file input[type=text] {
				border: none;
				width: 100%;
				background-color: #fff;
				font-size: 3.07692vw;
				padding: 0;
				margin: 8vw auto 5vw;
				height: 5vw;
				text-align: center;
		}
		.file::after {
				content: "ファイルを選択";
				display: block;
				width: 80vw;
				height: auto;
				background-color: #1f1f1f;
				text-align: center;
				line-height: 5;
				color: white;
				position: absolute;
				top: 0;
				left: calc(50% - 40vw);
				border-radius: 0.3em;
				font-size: 3.33333vw;
				cursor: pointer;
				margin-top: 5vw;
		}
}

.box_inner_bx p span {
		content: "";
		display: block;
		padding: 0;
		width: 28px;
		height: 28px;
		border-radius: 0;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 0;
		box-sizing: border-box;
}

.box_inner_bx p .checkbox-input::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 20px;
		height: 20px;
		border-radius: 0;
		margin-right: 10px;
		background-color: #fff;
		border: 2px solid #dcdcdc;
}

.box_inner_bx p .checkbox-input:checked + span::after {
		content: "";
		display: block;
		position: absolute;
		top: 2px;
		left: 7px;
		width: 6px;
		height: 12px;
		transform: rotate(40deg);
		border-bottom: 3px solid #d01137;
		border-right: 3px solid #d01137;
}

@media (max-width: 780px) {
		.box_inner_bx p span {
				content: "";
				display: block;
				padding: 0;
				width: 6vw;
				height: 6vw;
				border-radius: 0;
				position: absolute;
				top: 0;
				left: 0;
				z-index: 0;
				box-sizing: border-box;
		}
		.box_inner_bx p .checkbox-input::before {
				content: "";
				display: block;
				position: absolute;
				top: 0;
				left: 0;
				width: 6vw;
				height: 6vw;
				border-radius: 0;
				margin-right: 10px;
				background-color: #fff;
				border: 2px solid #dcdcdc;
		}
		.box_inner_bx p .checkbox-input:checked + span::after {
				content: "";
				display: block;
				position: absolute;
				top: 1vw;
				left: 2.5vw;
				width: 1.5vw;
				height: 3vw;
				transform: rotate(40deg);
				border-bottom: 3px solid #d01137;
				border-right: 3px solid #d01137;
		}
}

.checkbox-input02 {
		display: none !important;
}

.checkbox-parts2 {
		padding-left: 35px;
		position: relative;
		margin: 10px auto 20px;
		font-size: 16px;
		font-weight: bold;
		vertical-align: middle;
}

.checkbox-parts2::before {
		content: "";
		display: block;
		position: absolute;
		top: -2px;
		left: 0;
		width: 20px;
		height: 20px;
		border-radius: 1px;
		border: 2px solid #dcdcdc;
		margin-right: 10px;
		background-color: #fff;
}

.checkbox-input02:checked + .checkbox-parts2::after {
		content: "";
		display: block;
		position: absolute;
		top: 2px;
		left: 7px;
		width: 6px;
		height: 12px;
		transform: rotate(40deg);
		border-bottom: 3px solid #d01137;
		border-right: 3px solid #d01137;
}

@media (max-width: 780px) {
		.checkbox-parts2 {
				padding-left: 9vw;
				position: relative;
				margin: 4vw auto 4vw;
				font-size: 3.33333vw;
				font-weight: bold;
				vertical-align: middle;
		}
		.checkbox-parts2::before {
				content: "";
				display: block;
				position: absolute;
				top: -1.5vw;
				left: 0;
				width: 6vw;
				height: 6vw;
				border-radius: 1px;
				border: 2px solid #dcdcdc;
				margin-right: 10px;
				background-color: #fff;
		}
		.checkbox-input02:checked + .checkbox-parts2::after {
				content: "";
				display: block;
				position: absolute;
				top: -.5vw;
				left: 2.5vw;
				width: 1.5vw;
				height: 3vw;
				transform: rotate(40deg);
				border-bottom: 3px solid #d01137;
				border-right: 3px solid #d01137;
		}
}

input[type="button"][disabled] {
		background-color: #ccc;
		background-image: none;
		border: solid 1px #ccc;
		cursor: default;
		background-image: url(../img/arrow.svg);
		background-repeat: no-repeat;
		background-position: 95% center;
		background-size: 20px 10px;
}

input[type=button] {
		height: 90px;
		width: 370px;
		background: none;
		background-color: #FFA429;
		border: solid 1px #FFA429;
		border-radius: 3px;
		margin: 40px auto 20px;
		color: #FFF;
		font-size: 20px;
		font-weight: 700;
		display: block;
		background-repeat: no-repeat;
		background-position: 95% center;
		background-size: 20px 10px;
		text-decoration: none;
		line-height: 70px;
		text-align: center;
		cursor: pointer;
}

.mt80 {
		margin-top: 80px !important;
}

.back_btn {
		max-height: 90px;
		width: 410px;
		background: none;
		background-color: #787878;
		border: solid 1px #787878;
		border-radius: 3px;
		margin: 20px auto;
		color: #FFF;
		display: block;
		background-image: url(../img/arrow_r.svg);
		background-repeat: no-repeat;
		background-position: 5% center;
		background-size: 20px 10px;
		text-decoration: none;
		padding: 35px 0;
		text-align: center;
}

.back_btn p {
		color: #FFF;
		font-size: 22px;
		font-weight: bold;
		display: inline-block;
}

@media (max-width: 780px) {
		input[type="button"][disabled] {
				background-size: 4vw 2vw;
		}
		input[type=button] {
				height: auto;
				width: 80vw;
				background: none;
				background-color: #FFA429;
				border: solid 1px #FFA429;
				border-radius: 3px;
				margin: 5vw auto 2.5vw;
				padding: 7vw 0;
				color: #FFF;
				font-size: 3.58974vw;
				font-weight: bold;
				display: block;
				background-repeat: no-repeat;
				background-position: 95% center;
				background-size: 4vw 2vw;
				text-decoration: none;
				line-height: 1;
				text-align: center;
		}
		.mt80 {
				margin-top: 10vw !important;
		}
		.back_btn {
				height: auto;
				width: 80vw;
				background: none;
				background-color: #787878;
				border: solid 1px #787878;
				border-radius: 3px;
				margin: 2.5vw auto;
				color: #FFF;
				display: block;
				background-image: url(../img/arrow_r.svg);
				background-repeat: no-repeat;
				background-position: 5% center;
				background-size: 4vw 2vw;
				text-decoration: none;
				padding: 6vw 0;
				text-align: center;
		}
		.back_btn p {
				color: #FFF;
				font-size: 3.58974vw;
				font-weight: bold;
				display: inline-block;
		}
}
