@charset "UTF-8";
/*日本語*/
@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;700&display=swap");

@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("fonts/NotoSansCJKjp-Regular-sub-j1.woff") format("woff");
}

@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("fonts/NotoSansCJKjp-Medium-sub-j1.woff") format("woff");
}

@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("fonts/NotoSansCJKjp-Bold-sub-j1.woff") format("woff");
}

/*日本語*/
html {
	overflow-y: scroll;
}

body {
	-webkit-text-size-adjust: none;
	color: #333;
	margin: 0;
	padding: 0;
	background: #fff;
	font-size: 16px;
	font-weight: 300;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", YuGothic, "Yu Gothic", "游ゴシック", Osaka, sans-serif;
	word-break: normal;
	word-wrap: break-word;
	/*	overflow:hidden;*/
}

* {
	margin: 0;
	padding: 0;
	line-height: 1.1;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

ul,
li,
dl,
dt {
	list-style-type: none;
}

img {
	vertical-align: middle;
	border: none;
}

p,
dt,
dd,
li {
	text-align: left;
	text-justify: inter-ideograph;
}

.alignCenter {
	text-align: center;
}

.backToTop {
	text-align: right;
	margin: 25px 20px 15px 0;
}

img.fitImg {
	max-width: 100%;
	height: auto;
}

br {
	line-height: 0;
}

.clearfix:after {
	content: "";
	display: block;
	clear: both;
	overflow: hidden;
	/* Firefoxで、下マージン設定しているのに上にもアキができるバグ対策。追加 */
}

a,
a:link,
a:visited,
a:hover,
a:active {
	text-decoration: underline;
	color: #419CE0;
	outline: none;
}

@media (hover: hover) {
	a:hover {
		background-color: #DDD;
	}
}

input[type=text],
input[type=email] {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.inner1440 {
	width: 1440px;
	margin: 0 auto;
	position: relative;
}

@media screen and (max-width: 1440px) {
	.inner1440 {
		/*		overflow:hidden;*/
		width: 100%;
	}
}

.inner1200 {
	width: 1200px;
	margin: 0 auto;
	position: relative;
	/*	overflow:hidden;*/
}

@media screen and (max-width: 1200px) {
	.inner1200 {
		width: 100%;
	}
}

.inner {
	width: 940px;
	margin: 0 auto;
	position: relative;
	/*	overflow:hidden;*/
}

@media screen and (max-width: 940px) {
	.inner {
		width: 100%;
	}
}

@media screen and (max-width: 767px) {
	.isPC {
		display: none !important;
	}
}

.isSP {
	display: none !important;
}

@media screen and (max-width: 767px) {
	.isSP {
		display: block !important;
	}
}

@media screen and (max-width: 767px) {
	.pc-br {
		display: none;
	}
}

.sp-br {
	display: none;
}

@media screen and (max-width: 767px) {
	.sp-br {
		display: block;
		line-height: 0;
	}
}

input[type=text],
input[type=email] {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

table {
	margin: 0 auto;
	padding: 0;
	border-collapse: collapse;
	border-spacing: 0;
	empty-cells: show;
	color: #000;
}

.link-underline-to-zero {
	display: inline-block;
	position: relative;
}

.link-underline-to-zero:after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: -2px;
	width: 100%;
	height: 0;
	border-bottom: 1px solid #0f0f0f;
	-webkit-transition: width ease 0.4s;
	transition: width ease 0.4s;
}

a:hover .link-underline-to-zero:after {
	width: 0;
}

/*---------------------------------------------------------------

ヘッダ

----------------------------------------------------------------*/
.header {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: -webkit-gradient(linear, left top, right top, from(#f8f9fb), color-stop(93%, #f8f9fb), color-stop(93%, #fff));
	background: linear-gradient(to right, #f8f9fb 0%, #f8f9fb 93%, #fff 93%);
	height: 200px;
}

@media screen and (max-width: 767px) {
	.header {
		padding: 3vw 0 2vw;
		min-height: 0;
		height: inherit;
	}
}

.header-inner {
	width: 1080px;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

@media screen and (max-width: 1180px) {
	.header-inner {
		width: 100%;
		padding: 0 4%;
	}
}

@media screen and (max-width: 767px) {
	.header-inner {
		width: 90%;
		margin: 0 auto;
		padding: 0;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
}

.header-text {
	-webkit-box-ordinal-group: 2;
	-ms-flex-order: 1;
	order: 1;
}

.header-headline {
	font-size: 40px;
	font-weight: 700;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
	.header-headline {
		font-size: 5vw;
	}
}

.header-headline small {
	display: block;
	padding-bottom: 15px;
	font-size: 15px;
	letter-spacing: 0.075em;
}

@media screen and (max-width: 767px) {
	.header-headline small {
		padding-bottom: 2vw;
		font-size: 3vw;
	}
}

.header-logo {
	-webkit-box-ordinal-group: 3;
	-ms-flex-order: 2;
	order: 2;
	padding-right: 60px;
}

@media screen and (max-width: 767px) {
	.header-logo {
		padding-right: 6vw;
		width: 100%;
		text-align: right;
	}
}

.header-logo img {
	width: 200px;
	max-width: 100%;
	max-height: 100px;
}

@media screen and (max-width: 767px) {
	.header-logo img {
		width: 25%;
		max-height: inherit;
		vertical-align: top;
	}
}

.mv-caution {
	color: #c00;
}

.header-subhead {
	display: inline-block;
	font-size: 80%;
}

/*---------------------------------------------------------------

コンテンツ部分

----------------------------------------------------------------*/
.container {
	width: 100%;
}

.contents {
	width: 100%;
	background-color: #fff;
	letter-spacing: 0.075em;
}

/*---------------------------------------------------------------

非公開・公開終了・公開前

----------------------------------------------------------------*/
.statusMsg {
	width: 600px;
	margin: 30px auto;
	padding: 30px 0;
	border: 1px dotted #aaa;
}

.statusMsg p {
	text-align: center;
}

/*---------------------------------------------------------------

管理画面で登録できるMV下のメッセージ領域

----------------------------------------------------------------*/
.mv-area {
	width: 1080px;
	margin: 0 auto;
}

@media screen and (max-width: 1180px) {
	.mv-area {
		width: 100%;
		padding: 0 4%;
	}
}

@media screen and (max-width: 767px) {
	.mv-area {
		width: 90%;
		margin: 0 auto;
		padding: 0;
	}
}

.mv img {
	max-width: 100%;
}

.mv-info-lead {
	font-size: 16px;
	line-height: 1.8;
}

@media screen and (max-width: 767px) {
	.mv-info-lead {
		font-size: 3.1vw;
	}
}

.mv-info-annotation {
	padding-top: 0.2em;
	font-size: 14px;
	line-height: 1.6;
}

.mv-info-annotation+.mv-info-lead {
	padding-top: 2.5em;
}

@media screen and (max-width: 767px) {
	.mv-info-annotation {
		font-size: 2.8vw;
	}
}

.mv-form-lead {
	padding: 1.5em 0 1em;
}

@media screen and (max-width: 767px) {
	.mv-form-lead {
		padding: 6vw 0 2vw;
	}
}

.mv-form-lead p {
	font-size: 18px;
	line-height: 1.5;
}

@media screen and (max-width: 767px) {
	.mv-form-lead p {
		font-size: 3.7vw;
	}
}

.mv-form-lead p+p {
	padding-top: 0.75em;
}

@media screen and (max-width: 767px) {
	.mv-form-lead p+p {
		padding-top: 2.85vw;
	}
}

/*------------------------------------------------------------

ステップ表示

-------------------------------------------------------------*/
.contact-step-list {
	width: 900px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 50px auto;
	position: relative;
}

.contact-step-list+.mv-form-lead {
	padding-top: 0.5em;
}

@media screen and (max-width: 980px) {
	.contact-step-list {
		width: 720px;
	}
}

@media screen and (max-width: 767px) {
	.contact-step-list {
		width: 100%;
		margin: 8vw auto 6vw;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
}

.contact-step-list li {
	width: 20%;
	position: relative;
	text-align: center;
	font-size: 16px;
	color: #ddd;
}

@media screen and (max-width: 767px) {
	.contact-step-list li {
		width: 14vw;
		font-size: 2.8vw;
	}

	.contact-step-list li:nth-of-type(3) {
		font-size: 2.4vw;
		line-height: 3.4vw
	}
}

.contact-step-list li:after {
	content: "";
	display: block;
	position: absolute;
	top: 24px;
	left: 70%;
	width: 60%;
	height: 1px;
	background: #ddd;
}

@media screen and (max-width: 980px) {
	.contact-step-list li:after {
		left: 75%;
		width: 50%;
	}
}

@media screen and (max-width: 767px) {
	.contact-step-list li:after {
		top: 5.6vw;
		left: 14vw;
		width: 5vw;
	}
}

.contact-step-list li:nth-of-type(5):after {
	display: none;
}

.contact-step-list li span {
	position: relative;
	display: block;
	height: 50px;
	padding-top: 10px;
	margin-bottom: 7px;
	font-size: 18px;
	font-family: "Barlow", sans-serif;
	font-weight: 700;
	letter-spacing: 0.075em;
	color: #ccc;
	z-index: 10;
}

@media screen and (max-width: 767px) {
	.contact-step-list li span {
		height: 11vw;
		padding-top: 2vw;
		margin-bottom: 1.5vw;
		font-size: 3.4vw;
	}
}

.contact-step-list li span small {
	display: block;
	font-size: 12px;
}

@media screen and (max-width: 767px) {
	.contact-step-list li span small {
		padding-top: 0.4vw;
		font-size: 2.8vw;
	}
}

.contact-step-list li span:before {
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	left: calc(50% - 25px);
	top: 0;
	width: 50px;
	height: 50px;
	padding-top: 12px;
	border-radius: 50%;
	border: 1px solid #ccc;
}

@media screen and (max-width: 767px) {
	.contact-step-list li span:before {
		left: calc(50% - 5.5vw);
		width: 11vw;
		height: 11vw;
		padding-top: 2.8vw;
	}
}

.contact-step-list.step1 li:nth-of-type(1) {
	color: #0f0f0f;
}

.contact-step-list.step1 li:nth-of-type(1) span {
	color: #fff;
}

.contact-step-list.step1 li:nth-of-type(1) span:before {
	background: #0f0f0f;
	border: 1px solid #0f0f0f;
}

.contact-step-list.step2 li:nth-of-type(2) {
	color: #0f0f0f;
}

.contact-step-list.step2 li:nth-of-type(2) span {
	color: #fff;
}

.contact-step-list.step2 li:nth-of-type(2) span:before {
	background: #0f0f0f;
	border: 1px solid #0f0f0f;
}

.contact-step-list.step3 li:nth-of-type(3) {
	color: #0f0f0f;
}

.contact-step-list.step3 li:nth-of-type(3) span {
	color: #fff;
}

.contact-step-list.step3 li:nth-of-type(3) span:before {
	background: #0f0f0f;
	border: 1px solid #0f0f0f;
}

.contact-step-list.step4 li:nth-of-type(4) {
	color: #0f0f0f;
}

.contact-step-list.step4 li:nth-of-type(4) span {
	color: #fff;
}

.contact-step-list.step4 li:nth-of-type(4) span:before {
	background: #0f0f0f;
	border: 1px solid #0f0f0f;
}

.contact-step-list.step5 li:nth-of-type(5) {
	color: #0f0f0f;
}

.contact-step-list.step5 li:nth-of-type(5) span {
	color: #fff;
}

.contact-step-list.step5 li:nth-of-type(5) span:before {
	background: #0f0f0f;
	border: 1px solid #0f0f0f;
}

/*---------------------------------------------------------------

ランディングページ

----------------------------------------------------------------*/
.info-area {
	max-width: 1080px;
	margin: 1rem auto 0;
}

@media screen and (max-width: 1128px) {
	.info-area {
		width: 100%;
		padding: 0 4%;
	}
}

@media screen and (max-width: 767px) {
	.info-area {
		width: 90%;
		margin-top: 0;
		padding: 0;
	}
}

.info-text {
	max-width: 1080px;
	padding: 10px 0;
}

@media screen and (max-width: 767px) {
	.info-text {
		padding: 2vw 0;
	}
}

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

@media screen and (max-width: 767px) {
	.info-text p {
		font-size: 3.3vw;
	}
}

.info-text p:first-child {
	font-size: 16px;
	font-weight: bold;
}

@media screen and (max-width: 767px) {
	.info-text p:first-child {
		font-size: 3.8vw;
	}
}

.info-text p+p {
	padding-top: 0.5em;
}

.back-to-toppage {
	width: 100%;
	margin-top: 40px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

@media screen and (max-width: 767px) {
	.back-to-toppage {
		margin-top: 6vw;
	}
}

.back-to-toppage a {
	display: block;
	padding: 20px 3em 20px 2em;
	margin: 0 auto;
	min-width: 260px;
	border: 1px solid #ff8000;
	background: url(../img/icon_arrow_orange.svg) no-repeat right 18px center;
	background-size: 16px auto;
	font-size: 16px;
	color: #ff8000;
	letter-spacing: 0.1em;
	-webkit-transition: background ease 0.4s, color ease 0.4s;
	transition: background ease 0.4s, color ease 0.4s;
}

@media screen and (max-width: 767px) {
	.back-to-toppage a {
		padding: 3vw 3em 3vw 2em;
		min-width: 0;
		background: url(../img/icon_arrow_orange.svg) no-repeat right 2.5vw center;
		background-size: 3vw auto;
		font-size: 3.3vw;
		letter-spacing: 0.05em;
	}
}

.back-to-toppage a:hover {
	background: #ff8000 url(../img/icon_arrow_white.svg) no-repeat right 18px center;
	background-size: 16px auto;
	color: #fff;
}

@media screen and (max-width: 767px) {
	.back-to-toppage a:hover {
		background: url(../img/icon_arrow_orange.svg) no-repeat right 2.5vw center;
		background-size: 3vw auto;
		color: #ff8000;
	}
}

/*---------------------------------------------------------------

入力ページ

----------------------------------------------------------------*/
.form-area {
	width: 1080px;
	margin: 1rem auto 0;
	position: relative;
}

@media screen and (max-width: 1128px) {
	.form-area {
		width: 100%;
		padding: 0 4%;
	}
}

@media screen and (max-width: 767px) {
	.form-area {
		width: 90%;
		margin-top: 0;
		padding: 0;
	}
}

.outline-box {
	padding-top: 5px;
	margin-bottom: 25px;
}

@media screen and (max-width: 767px) {
	.outline-box {
		padding-top: 2vw;
		margin-bottom: 5vw;
	}
}

.outline {
	width: 100%;
	padding-top: 16px;
}

@media screen and (max-width: 767px) {
	.outline {
		padding-top: 6vw;
	}
}

.designGroupTitle~.outline {
	padding-top: 40px;
}

.designGroupTitle~.outline .leftPart {
	font-size: 24px;
}

.leftPart {
	position: relative;
	font-size: 18px;
	font-weight: 700;
}

@media screen and (max-width: 767px) {
	.leftPart {
		font-size: 3.8vw;
	}
}

@media screen and (max-width: 767px) {
	.input .leftPart {
		line-height: 1.5;
	}
}

.mark-nece {
	display: inline-block;
	background: #ff8000;
	margin-left: 0.8em;
	padding: 5px 0.5em;
	font-size: 14px;
	color: #fff;
	font-weight: 500;
}

@media screen and (max-width: 767px) {
	.mark-nece {
		padding: 1vw 0.5em;
		font-size: 3vw;
	}
}

.mark-opt {
	position: absolute;
	right: 0;
	top: 10px;
	display: inline-block;
	padding: 2px 6px;
	border: 1px solid #aaa;
	color: #aaa;
	font-size: 12px;
	display: none;
}

.rightPart {
	padding: 7px 0;
	position: relative;
}

@media screen and (max-width: 767px) {
	.rightPart {
		padding: 1.8vw 0 1vw;
	}
}

.right_flex,
.right_flex_pc {
	display: flex;
}

@media screen and (max-width: 767px) {
	.right_flex_pc {
		display: block;
	}
}

.mainWarning {
	font-size: 14px;
	text-align: center;
	color: #c00;
}

@media screen and (max-width: 767px) {
	.mainWarning {
		font-size: 3vw;
	}
}

.err_msg_area {
	padding-top: 5px;
	color: #c00;
}

@media screen and (max-width: 767px) {
	.err_msg_area {
		padding-top: 1vw;
		font-size: 3.5vw;
	}
}

.outline:has(> .err_msg_area) .has-single-input input,
.outline:has(> .err_msg_area) .checkbox-list-textbox input {
	background-color: #FDD;
	border: 1px solid #c00;
}

.multi-parts-list {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.multi-parts-item .tbox-sub-label {
	display: inline-block;
}

.parts_num_2 .multi-parts-item {
	width: 50%;
}

.parts_num_2 .multi-parts-item:first-child {
	text-align: left;
}

.parts_num_2 .multi-parts-item:last-child {
	text-align: right;
}

#even_zip_2Area .parts_num_2 {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}

#even_zip_2Area .parts_num_2 .multi-parts-item:first-child {
	width: 30%;
}

#even_zip_2Area .parts_num_2 .multi-parts-item:last-child {
	width: 40%;
	text-align: left;
}

#even_zip_2Area .parts_num_2 .multi-parts-item:last-child .tbox-sub-label {
	padding-right: 5%;
}

.parts_num_3 .multi-parts-item {
	width: 33.33%;
}

/*
.file-upload-area{
	width:40%;
	min-height:120px;
	margin:15px auto 15px 0;
	border-radius:10px;
	background:#f7f9fa url(../img/icon_upload.svg) no-repeat center 20px;
	background-size:auto 60%;
	display:flex;
	align-items:flex-end;
	flex-wrap:wrap;
	input{
		padding:20px 30px;
		width:100%;
		height:100%;
		min-height:120px;
		cursor:pointer;
		opacity:0;
		position:relative;
		display:block;
		z-index:1;
	}
	.under-annotation{
		width:100%;
		padding-bottom:20px;
		text-align:center;
	}
}
*/
.file-upload-area {
	width: 40%;
	margin: 0 auto 0 0;
}

.file-upload-area input {
	display: inline-block;
	background: #f7f9fa;
	padding: 13px 1em;
	font-size: 16px;
	color: #000;
}

.file-upload-area .under-annotation {
	margin-top: 10px;
}

.uploaded-check-box {
	padding: 0.5em 0;
}

.uploaded-check-name {
	padding: 8px 1em;
	border-top: 1px dashed #000;
	border-bottom: 1px dashed #000;
}

.uploaded-check-name b {
	color: #000;
	font-weight: 700;
}

input[type=text],
input[type=email],
input[type=tel] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	background: #f7f9fa;
	padding: 13px 1em;
	font-size: 16px;
	color: #000;
}

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

	input[type=text],
	input[type=email],
	input[type=tel] {
		padding: 0.8em;
	}
}

.parts_num_2 input[type=text],
.parts_num_2 input[type=tel] {
	width: 90%;
}

.parts_num_3 input[type=text],
.parts_num_3 input[type=tel] {
	width: 80%;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
	color: #969696;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
	color: #969696;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
	color: #969696;
}

input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
	color: #969696;
}

input::placeholder,
textarea::placeholder {
	color: #969696;
}

input:-ms-input-placeholder {
	color: #969696;
}

.jCyu {
	display: block;
	position: relative;
	width: 100%;
	margin-top: 12px;
	padding-left: 20px;
	font-size: 14px;
}

.jCyu>br {
	display: none;
}

@media screen and (max-width: 767px) {
	.jCyu {
		margin-top: 1vw;
		padding-left: 7vw;
		font-size: 2.8vw;
		line-height: 1.6;
	}

	.jCyu>br {
		display: block;
	}
}

.jCyu:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: calc(50% - 8px);
	width: 16px;
	height: 16px;
	background: url(../img/icon_excla_black.svg) no-repeat left center;
	background-size: 100% auto;
}

@media screen and (max-width: 767px) {
	.jCyu:after {
		top: 0.4vw;
		width: 3.8vw;
		height: 3.8vw;
	}
}

.has-single-input input[type=text],
.has-single-input input[type=email] {
	width: 50%;
}

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

	.has-single-input input[type=text],
	.has-single-input input[type=email] {
		width: 100%;
	}
}

.has-single-input input[type=tel] {
	width: 33%;
}

@media screen and (max-width: 767px) {
	.has-single-input input[type=tel] {
		width: 100%;
	}
}

.has-single-input input[name=corporation_name] {
	width: 486px;
}

@media screen and (max-width: 767px) {
	.has-single-input input[name=corporation_name] {
		width: 100%;
	}
}

.has-single-input input[name=corporation_name_kana],
.has-single-input input[name=tantosha_name],
.has-single-input input[name=tantosha_name_kana] {
	width: 45%;
}

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

	.has-single-input input[name=corporation_name_kana],
	.has-single-input input[name=tantosha_name],
	.has-single-input input[name=tantosha_name_kana] {
		width: 100%;
	}
}

.has-single-input input[name=corporation_no],
.has-single-input input[name=city_name],
.has-single-input input[name=town],
.has-single-input input[name=representative_name],
.has-single-input input[name=business_type] {
	width: 33%;
}

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

	.has-single-input input[name=corporation_no],
	.has-single-input input[name=city_name],
	.has-single-input input[name=town],
	.has-single-input input[name=representative_name],
	.has-single-input input[name=business_type] {
		width: 100%;
	}
}

.has-single-input input[name=post_code] {
	width: 100%;
}

@media screen and (max-width: 767px) {
	.right_flex_pc .has-single-input input[name=post_code] {
		width: 50%;
	}
}

.has-single-input textarea {
	width: 100%;
}

textarea:disabled,
input:disabled,
select:disabled {
	background-color: #F1F1F1;
}

textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	background: #f7f9fa;
	padding: 10px;
	font-size: 16px;
	line-height: 1.5;
}

@media screen and (max-width: 767px) {
	textarea {
		padding: 0.8em;
		font-size: 3.3vw;
	}
}

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	background-color: #f7f9fa;
	padding: 13px 0 13px 1em;
	background-image: url(../img/icon_arrow_select.png) !important;
	background-repeat: no-repeat;
	background-position: right 10px center;
	background-size: 10px auto;
	font-size: 16px;
	color: #0f0f0f;
	cursor: pointer;
}

@media screen and (max-width: 767px) {
	select {
		padding: 0.8em 0 0.8em 1em;
	}
}

select option {
	color: #0f0f0f;
}

select.zero-selected {
	color: #969696;
}

select::-ms-expand {
	display: none;
	/*ドロップダウン元の三角矢印非表示*/
}

.single-select-item select {
	width: 100%;
}

.multi-select {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.multi-select.parts_num_3 {
	width: 34%;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}

@media screen and (max-width: 767px) {
	.multi-select.parts_num_3 {
		width: 100%;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
}

.multi-select.parts_num_3 .multi-select-item,
.multi-select.parts_num_3 .select-container {
	width: 33.33%;
}

.multi-select-item {
	text-align: center;
}

.multi-select-item:first-child {
	text-align: left;
}

.multi-select-item:last-child {
	text-align: right;
}

.parts_num_2 .multi-select-item {
	width: 50%;
}

.parts_num_2 select,
.parts_num_3 select {
	width: 90%;
}

.textarea-annotation-below,
.radio-under-annotation,
.ckb-under-annotation {
	position: relative;
	width: 100%;
	margin-top: 12px;
	padding-left: 20px;
	font-size: 14px;
}

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

	.textarea-annotation-below,
	.radio-under-annotation,
	.ckb-under-annotation {
		margin-top: 1vw;
		padding-left: 7vw;
		font-size: 2.8vw;
		line-height: 1.6;
	}
}

.textarea-annotation-below:after,
.radio-under-annotation:after,
.ckb-under-annotation:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: calc(50% - 8px);
	width: 16px;
	height: 16px;
	background: url(../img/icon_excla_black.svg) no-repeat left center;
	background-size: 100% auto;
}

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

	.textarea-annotation-below:after,
	.radio-under-annotation:after,
	.ckb-under-annotation:after {
		top: calc(50% - 1.9vw);
		width: 3.8vw;
		height: 3.8vw;
	}
}

.policy-check-box input[type=checkbox] {
	display: none;
}

.policy-check-box input[type=checkbox]:checked+span:after {
	display: block;
}

.policy-check-box input[type=checkbox]+span {
	display: inline-block;
	position: relative;
	padding-left: 25px;
	font-size: 16px;
}

@media screen and (max-width: 767px) {
	.policy-check-box input[type=checkbox]+span {
		padding-left: 6vw;
		font-size: 3.3vw;
	}
}

.policy-check-box input[type=checkbox]+span:before,
.policy-check-box input[type=checkbox]+span:after {
	content: "";
	display: block;
	position: absolute;
	z-index: 10;
}

.policy-check-box input[type=checkbox]+span:before {
	width: 15px;
	height: 15px;
	border: 1px solid #0f0f0f;
	left: 0;
	top: 2px;
}

@media screen and (max-width: 767px) {
	.policy-check-box input[type=checkbox]+span:before {
		width: 3.6vw;
		height: 3.6vw;
		top: 0;
	}
}

.policy-check-box input[type=checkbox]+span:after {
	display: none;
	width: 24px;
	height: 9px;
	border-left: 2px solid #ff8000;
	border-bottom: 2px solid #ff8000;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transform-origin: left bottom;
	transform-origin: left bottom;
	left: 5px;
	top: 5px;
}

@media screen and (max-width: 767px) {
	.policy-check-box input[type=checkbox]+span:after {
		width: 5vw;
		height: 2.2vw;
		left: 1vw;
		top: 0.7vw;
	}
}

/**/
.checkbox-list,
.radio-list {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.checkbox-list-item {
	width: 37%;
	margin-right: 63%;
	margin-bottom: 1%;
}

.radio-list-item {
	width: 100%;
	margin-right: 1%;
	margin-bottom: 1%;
}

.with-textbox {
	margin-right: 0;
}

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

	.checkbox-list-item,
	.radio-list-item {
		width: 100%;
		margin-right: 0;
		margin-bottom: 2%;
	}
}

.checkbox-list-textbox {
	display: flex;
	align-items: center;
	width: 60%;
	margin: 0 0 1% 1%;
}

@media screen and (max-width: 767px) {
	.checkbox-list-textbox {
		width: 100%;
		margin: 0 0 2%;
	}
}

.checkbox-list-textbox input {
	width: 90%;
}

@media screen and (max-width: 767px) {
	.checkbox-list-textbox .nospan {
		width: 100%;
	}
}

.checkbox-list-textbox span {
	display: inline-block;
	padding-left: 1%;
}

@media screen and (max-width: 767px) {
	.checkbox-list-textbox span {
		min-width: 2.7em;
	}
}

.checkbox-list-item label,
.radio-list-item label {
	display: block;
	width: 100%;
	border: 1px solid #ddd;
	border-radius: 6px;
	padding: 12px 3em 12px 1em;
	position: relative;
	cursor: pointer;
	font-size: 14px;
	line-height: 1.4;
	-webkit-transition: background ease 0.4s;
	transition: background ease 0.4s;
}

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

	.checkbox-list-item label,
	.radio-list-item label {
		padding: 3.5vw 3em 3.5vw 1em;
		letter-spacing: 0.02em;
	}
}

.checkbox-list-item label:before,
.checkbox-list-item label:after,
.radio-list-item label:before,
.radio-list-item label:after {
	content: "";
	display: block;
	position: absolute;
}

.checkbox-list-item label:before,
.radio-list-item label:before {
	right: 20px;
	top: calc(50% - 8px);
	width: 16px;
	height: 16px;
	background: #ddd;
	border-radius: 50%;
}

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

	.checkbox-list-item label:before,
	.radio-list-item label:before {
		right: 2vw;
		top: calc(50% - 1.8vw);
		width: 3.6vw;
		height: 3.6vw;
	}
}

.checkbox-list-item label:after,
.radio-list-item label:after {
	right: 24px;
	top: calc(50% - 3px);
	width: 6px;
	height: 3px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transform-origin: center;
	transform-origin: center;
}

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

	.checkbox-list-item label:after,
	.radio-list-item label:after {
		right: 2.5vw;
		top: calc(50% - 0.8vw);
		width: 1.8vw;
		height: 0.7vw;
	}
}

.checkbox-list-item input,
.radio-list-item input {
	display: none;
}

.checkbox-list-item input:checked+label,
.checkbox-list-item label:has(input:checked),
.radio-list-item input:checked+label,
.radio-list-item label:has(input:checked) {
	background: #f1f1f1;
}

.checkbox-list-item input:checked+label:before,
.checkbox-list-item label:has(input:checked):before,
.radio-list-item input:checked+label:before,
.radio-list-item label:has(input:checked):before {
	background: #ff8000;
}

.checkbox-list-item input:checked+label:after,
.checkbox-list-item label:has(input:checked):after,
.radio-list-item input:checked+label:after,
.radio-list-item label:has(input:checked):after {
	border-left: 2px solid #f1f1f1;
	border-bottom: 2px solid #f1f1f1;
}

.checkbox-list-item label:has(input:disabled) {
	cursor: default;
}

@media (hover: hover) {

	.checkbox-list-item label:hover,
	.radio-list-item label:hover {
		background: #f1f1f1;
	}

	.checkbox-list-item label:hover:before,
	.radio-list-item label:hover:before {
		background: #ff8000;
	}

	.checkbox-list-item label:hover:after,
	.radio-list-item label:hover:after {
		border-left: 2px solid #f1f1f1;
		border-bottom: 2px solid #f1f1f1;
	}
}

.has-single-span {
	padding: 13px 0;
}

@media screen and (max-width: 767px) {
	.has-single-span {
		padding: 0.8em 0;
	}
}

.corporate_body .radio-list-item {
	width: 25%;
}

@media screen and (max-width: 767px) {
	.corporate_body .radio-list-item {
		width: 100%;
	}
}

.attention {
	margin-left: 0.5em;
	font-size: 14px;
	font-weight: normal;
}

.attention>br {
	display: none;
}

@media screen and (max-width: 767px) {
	.attention {
		display: block;
		margin: 1.8vw 0 0;
		line-height: 1.2;
		font-size: 3vw;
	}

	.attention>br {
		display: block;
	}
}

/*---------------------------------------------------------------

入力と確認ページをjsで出し分けるパターン

----------------------------------------------------------------*/
.js-input-area {
	display: block;
}

.js-confirm-area {
	display: none;
}

/*---------------------------------------------------------------

確認ページ

----------------------------------------------------------------*/
.confirm-area {
	width: 1080px;
	margin: 0 auto;
	position: relative;
}

@media screen and (max-width: 1128px) {
	.confirm-area {
		width: 100%;
		padding: 0 4%;
	}
}

@media screen and (max-width: 767px) {
	.confirm-area {
		width: 90%;
		padding: 0;
	}
}

.confirm .outline {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-top: 16px;
	margin-bottom: 1.5em;
}

@media screen and (max-width: 767px) {
	.confirm .outline {
		display: block;
		padding-top: 1em;
		margin-bottom: 1em;
	}
}

.confirm .leftPart {
	width: 30%;
	padding-right: 1em;
	line-height: 1.4;
}

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

.confirm .mark-nece {
	display: none;
}

.confirm .mark-opt {
	display: none;
}

.confirm .rightPart {
	width: 70%;
	padding: 0;
	position: initial;
}

@media screen and (max-width: 767px) {
	.confirm .rightPart {
		width: 100%;
		padding-top: 2vw;
		font-size: 3.5vw;
	}
}

.confirm .designGroupTitle~.outline {
	padding-top: 16px;
}

.confirm .designGroupTitle~.outline .leftPart {
	font-size: 18px;
}

.confirm-rightpart-text {
	line-height: 1.4;
}

.submit-screen {
	width: 100%;
	height: 200%;
	position: absolute;
	z-index: 999;
	left: 0;
	top: 0;
	background: rgba(1, 1, 1, 0.5);
	display: none;
	overflow: hidden;
}

.submit-screen-msg {
	width: 100%;
	padding-top: 200px;
	font-size: 24px;
	font-weight: 700;
	color: #fff;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.submit-screen-msg {
		padding-top: 40vw;
		font-size: 4.8vw;
	}
}

.heading {
	font-size: 21px;
	padding-top: 2rem;
}

@media screen and (max-width: 767px) {
	.heading {
		font-size: 4.3vw;
		padding-top: 8vw;
	}
}

.confirm hr {
	margin: 1rem 0;
}

@media screen and (max-width: 767px) {
	.confirm hr {
		margin: 3vw 0;
	}
}

/*---------------------------------------------------------------

完了ページ

----------------------------------------------------------------*/
.complete-info-area {
	max-width: 1080px;
	margin: 2rem auto 0;
}

@media screen and (max-width: 1128px) {
	.complete-info-area {
		width: 100%;
		padding: 0 4%;
	}
}

@media screen and (max-width: 767px) {
	.complete-info-area {
		width: 90%;
		margin-top: 8vw;
		padding: 0;
	}
}

.complete-info-area .outline {
	display: flex;
}

.complete-common-headline {
	padding-bottom: 10px;
	font-size: 24px;
	font-weight: bold;
}

@media screen and (max-width: 767px) {
	.complete-common-headline {
		padding-bottom: 0;
		font-size: 5vw;
	}
}

.number-circle {
	width: 45px;
	min-width: 45px;
	height: 45px;
	margin-right: 1em;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.number-circle {
		width: 10vw;
		min-width: 10vw;
		height: 10vw;
		margin-right: 2vw;
	}
}

.number-circle span {
	position: relative;
	z-index: 1;
	color: #FFF;
	font-size: 18px;
	font-weight: bold;
	line-height: 45px;
}

@media screen and (max-width: 767px) {
	.number-circle span {
		font-size: 4.2vw;
		line-height: 10vw;
	}
}

.number-circle span:before {
	content: "";
	display: block;
	position: absolute;
	top: -8.7px;
	left: -16.6px;
	z-index: -1;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 45px;
	height: 45px;
	border-radius: 50%;
	border: 1px solid #ff8000;
	background-color: #ff8000;
}

@media screen and (max-width: 767px) {
	.number-circle span:before {
		top: -1.7vw;
		left: -3.7vw;
		width: 10vw;
		height: 10vw;
	}
}

.number-circle span:after {
	content: "";
	position: absolute;
	z-index: -1;
	top: 35px;
	left: 5px;
	width: 1px;
	height: 80px;
	background-color: #ff8000;
}

@media screen and (max-width: 767px) {
	.number-circle span:after {
		top: 7vw;
		left: 1.3vw;
		height: 40vw;
	}
}

@media screen and (max-width: 767px) {
	.complete-info-area .outline:nth-of-type(7) .number-circle span:after {
		height: 30vw;
	}
}

.complete-info-area .outline:last-of-type .number-circle span:after {
	display: none;
}

/*---------------------------------------------------------------

ボタン

----------------------------------------------------------------*/
.confirmBox {
	padding-top: 35px;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.confirmBox {
		padding-top: 10vw;
	}
}

button[name=confirm],
input[name=confirm],
input[name=complete] {
	display: inline-block;
	cursor: pointer;
	width: 330px;
	height: 58px;
	padding-right: 34px;
	border: 1px solid #ff8000;
	background: url(../img/icon_arrow_orange.svg) no-repeat right 18px center;
	background-size: 16px auto;
	font-size: 16px;
	color: #ff8000;
	letter-spacing: 0.1em;
	outline: none;
	-webkit-transition: background ease 0.4s, color ease 0.4s;
	transition: background ease 0.4s, color ease 0.4s;
}

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

	button[name=confirm],
	input[name=confirm],
	input[name=complete] {
		padding-right: 3vw;
		width: 86%;
		height: 13vw;
		font-size: 3.3vw;
	}
}

button[name=confirm]:hover,
input[name=confirm]:hover,
input[name=complete]:hover {
	background: #ff8000 url(../img/icon_arrow_white.svg) no-repeat right 18px center;
	background-size: 16px auto;
	color: #fff;
}

input[name=backto] {
	display: inline-block;
	cursor: pointer;
	width: 330px;
	height: 58px;
	border: 1px solid #aaa;
	font-size: 16px;
	color: #0f0f0f;
	letter-spacing: 0.1em;
	background: #fff url(../img/icon_arrow_back.svg) no-repeat 18px center;
	background-size: 16px auto;
	outline: none;
	-webkit-transition: background ease 0.4s;
	transition: background ease 0.4s;
}

@media screen and (max-width: 767px) {
	input[name=backto] {
		width: 86%;
		height: 13vw;
		font-size: 3.3vw;
	}
}

input[name=backto]:hover {
	background: #fff url(../img/icon_arrow_back.svg) no-repeat 8px center;
	background-size: 16px auto;
}

.confirm-btn-list {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-top: 35px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

@media screen and (max-width: 767px) {
	.confirm-btn-list {
		display: block;
		padding-top: 10vw;
	}
}

@media screen and (max-width: 767px) {
	.confirm-btn-item {
		margin-bottom: 5vw;
	}
}

.confirm-btn-item+.confirm-btn-item {
	padding-left: 20px;
}

@media screen and (max-width: 767px) {
	.confirm-btn-item+.confirm-btn-item {
		padding-left: 0;
	}
}

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

	.btn-backto-index,
	.btn-to-confirm,
	.btn-to-complete {
		text-align: center;
	}
}

.not-active-msg-box {
	position: absolute;
	width: 100%;
	left: 0;
	bottom: 0;
}

.not-active-msg-box p {
	width: 100%;
	text-align: center;
}

.not-active-msg-box p span {
	display: inline-block;
	padding: 1em 2em;
	background: #f7f9fa;
	border: 1px solid #d4dcd6;
	color: #0f0f0f;
	cursor: default;
}

button[name=autofill] {
	display: inline-block;
	cursor: pointer;
	width: 210px;
	height: 43px;
	border: 1px solid #ff8000;
	background-color: #fff;
	font-size: 14px;
	color: #ff8000;
	letter-spacing: 0.1em;
	outline: none;
	-webkit-transition: background ease 0.4s, color ease 0.4s;
	transition: background ease 0.4s, color ease 0.4s;
}

@media screen and (max-width: 767px) {
	button[name=autofill] {
		width: 100%;
		height: 11vw;
		font-size: 3.3vw;
	}
}

button[name=autofill]:hover {
	background-color: #ff8000;
	color: #fff;
}

button[name=clear] {
	display: inline-block;
	cursor: pointer;
	width: 210px;
	height: 43px;
	border: 1px solid #aaa;
	background-color: #fff;
	font-size: 14px;
	color: #0f0f0f;
	letter-spacing: 0.1em;
	outline: none;
	-webkit-transition: background ease 0.4s, color ease 0.4s;
	transition: background ease 0.4s, color ease 0.4s;
}

@media screen and (max-width: 767px) {
	button[name=clear] {
		width: 100%;
		height: 11vw;
		font-size: 3.3vw;
	}
}

button[name=clear]:hover {
	background-color: #aaa;
	color: #fff;
}

.support_button_area {
	display: flex;
	width: 100%;
}

@media screen and (max-width: 767px) {
	.support_button_area {
		padding-left: 1vw;
		width: 70%;
	}

	.right_flex_pc .support_button_area {
		padding: 1.5% 0 0;
		width: 100%;
	}
}

.support_button_item {
	padding-left: 10px;
}

@media screen and (max-width: 767px) {
	.support_button_item {
		width: 100%;
		padding-left: 0;
	}
}


/*---------------------------------------------------------------

モーダル

----------------------------------------------------------------*/
/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0, 0, 0, 50%);
	padding: 40px 20px;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
	box-sizing: border-box;
	z-index: 100;
}

@media screen and (max-width: 767px) {
	.modal-container {
		padding: 40px 10px;
	}
}

/*モーダル本体の擬似要素の指定*/
.modal-container:before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}

/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal-container.active {
	opacity: 1;
	visibility: visible;
}

/*モーダル枠の指定*/
.modal-body {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width: 1200px;
	width: 95%;
}

/*モーダル内のコンテンツ*/
.modal-content {
	background: #fff;
	text-align: left;
	padding: 1.5rem 0;
	border-radius: 1rem;
}

@media screen and (max-width: 767px) {
	.modal-content {
		padding: 1rem 0;
	}
}

.modal-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 2rem;
}

.modal-middle {
	margin: 0 2rem;
}

.modal-title span {
	font-size: 21px;
	line-height: 1.8;
}

@media screen and (max-width: 767px) {
	.modal-title span {
		font-size: 4.3vw;
	}
}

.modal-close {
	cursor: pointer;
	height: 3rem;
}

.modal-close img {
	height: 100%;
}

.modal-content hr {
	border-style: none;
	border-top: 0.2rem #F8F9FB solid;
	margin: 0.5rem 0;
}

.modal-error {
	color: #c00;
	margin: 1.2rem 4rem
}

/*---------------------------------------------------------------

フッタ

----------------------------------------------------------------*/
.pre-footer {
	padding: 20px 0 0;
	text-align: center;
}

.footer {
	width: 100%;
	border-top: 4px solid #f9f9fb;
	margin-top: 50px;
}

@media screen and (max-width: 767px) {
	.footer {
		margin-top: 15vw;
	}
}

.footer-db-text {
	padding: 25px 0;
	font-size: 14px;
	text-align: center;
	letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
	.footer-db-text {
		padding: 4vw 0;
		font-size: 2.8vw;
	}
}

.reserve-add-info {
	width: 100%;
	margin-top: 2em;
}

.reserve-add-inner {
	width: 70%;
	margin: 0 auto;
	position: relative;
	border: 1px solid #999;
	padding: 1em;
	border-radius: 8px;
}

.reserve-add-inner dt {
	margin-top: -1.7em;
	text-align: center;
}

.reserve-add-inner dt span {
	display: inline-block;
	padding: 0 1em;
	background: #fff;
	font-size: 14px;
}

.reserve-add-inner dd {
	padding-top: 0.5em;
}

.reserve-add-inner dd p {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 12px;
	line-height: 1.6;
}

.reserve-add-inner dd p span {
	display: inline-block;
	min-width: 7em;
	line-height: 1.5;
}

.reserve-add-inner dd p b {
	display: inline-block;
}

.complete .reserve-add-info {
	background: #eee;
}

.complete .reserve-add-inner {
	width: 96%;
	border: none;
	border-radius: 0;
}

.complete .reserve-add-inner dt {
	margin-top: 0;
	padding-bottom: 10px;
}

.complete .reserve-add-inner dt span {
	background: transparent;
	font-size: 16px;
}

.complete .reserve-add-inner dd p {
	font-size: 14px;
}

.reserve-add-box {
	width: 900px;
	margin: 0 auto;
	padding-top: 40px;
}

/* ----------- */
#loading {
	position: fixed;
	top: 0px;
	left: 0px;
	height: 100%;
	width: 100%;
	background-color: #FFFFFF;
	opacity: 0.3;
	background-image: url("../../_static/img/loading.gif");
	background-position: center center;
	background-repeat: no-repeat;
	z-index: 100000;
}

/*--------------
Common
--------------*/
body .fclear {
	clear: both;
}

body .fright {
	float: right;
}

body .fleft {
	float: left;
}

body .dinblock {
	display: inline-block;
}

body .dinline {
	display: inline;
}

body .dblock {
	display: block;
}

body .dflex {
	display: flex;
}

body .dnone {
	display: none;
}

body .flex_start {
	justify-content: flex-start;
}

body .flex_between {
	justify-content: space-between;
}

body .align-items {
	align-items: center;
}

body .flex_dire_col {
	flex-direction: column;
}

body .tcenter {
	text-align: center;
}

body .tright {
	text-align: right;
}

body .tleft {
	text-align: left;
}

body .vtop {
	vertical-align: top;
}

body .tbold {
	font-weight: bold;
}

body .nowrap {
	white-space: nowrap;
}

body .breakall {
	word-break: break-all;
}

body .overflow {
	overflow: auto;
}

body .required:after {
	content: '*';
	color: red;
}

body .width_max {
	width: 100%;
}

body .width_half {
	width: 50%;
}

body .mt_1 {
	margin-top: 1rem;
}

body .mb_1 {
	margin-bottom: 1rem;
}

body .ml_1 {
	margin-left: 1rem;
}

body .mr_1 {
	margin-right: 1rem;
}

body .wt_40 {
	width: 40rem;
}

body .wt_30 {
	width: 30rem;
}

body .wt_24 {
	width: 24rem;
}

body .wt_16 {
	width: 16rem;
}

body .wt_12 {
	width: 12rem;
}

body .wt_10 {
	width: 10rem;
}

body .wt_08 {
	width: 8rem;
}