@charset 'UTF-8';

/*----------------------------------------
	error システムエラー
-----------------------------------------*/
body {
	height: inherit;
}

.error {
	width: 92%;
	margin: auto;
}

.error .font9_10 {
	font-size: 2.4vw;
	line-height: 1.5;
}

.error .font14_16 {
	font-size: 3.73vw;
	line-height: 1.7;
}

.error .font16_18 {
	font-size: 4.26vw;
	line-height: 1.7;
}

.error .bold01 {
	font-weight: bold;
}

.error .logo {
	margin: 13.33vw auto 0;
	text-align: center;
}

.error .logo img {
	width: 44vw;
	height: 12.9vw;
}

.error .t01 {
	margin: 7.46vw 0 0;
	text-align: center;
}

.error .t02 {
	margin: 6.93vw 0 0;
}

.error .copy {
	margin: 12.26vw 0 0;
	text-align: center;
}

@media screen and (min-width: 768px) {
	.error {
		width: 100%;
	}

	.error .font9_10 {
		font-size: 1rem;
		line-height: 1.5;
	}

	.error .font14_16 {
		font-size: 1.6rem;
		line-height: 1.7;
	}

	.error .font16_18 {
		font-size: 1.8rem;
		line-height: 1.7;
	}

	.error .logo {
		margin-top: 100px;
	}

	.error .logo img {
		width: 272px;
		height: 80px;
	}

	.error .t01 {
		margin-top: 56px;
	}

	.error .t01 br {
		display: none;
	}

	.error .t02 {
		margin-top: 52px;
		text-align: center;
	}

	.error .copy {
		margin-top: 92px;
	}
}


/*----------------------------------------
	not_found_error 404エラー
-----------------------------------------*/
#fwCms_wrapper .not_found_error {
	width: 92%;
	margin: auto;
}

#fwCms_wrapper .not_found_error .font14_24 {
	font-size: 3.73vw;
	line-height: 1.7;
}

#fwCms_wrapper .not_found_error .not_found_error_btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 690px;
	height: 16vw;
	margin: auto;
	border-radius: 4em;
	background-color: #cf6e09;
	color: #fff;
	cursor: pointer;
	transition: opacity .2s;
}

#fwCms_wrapper .not_found_error .not_found_error_txt01 dt {
	padding: 7.46vw 0 6.93vw;
	padding: 7.46vw 0 6.66vw;
	text-align: center;
}

#fwCms_wrapper .not_found_error .not_found_error_txt02 {
	padding-top: 12vw;
}

#fwCms_wrapper .not_found_error .not_found_error_txt02 dt {
	position: relative;
	padding: 1vw 0 3.2vw;
	text-align: center;
}

#fwCms_wrapper .not_found_error .not_found_error_txt02 dt::before {
	position: absolute;
	top: 0;
	left: calc(50% - (6.5em + 5.33vw));
	transform: rotate(-30deg);
	width: .26vw;
	height: 6.66vw;
	background: #000;
	content: '';
}

#fwCms_wrapper .not_found_error .not_found_error_txt02 dt::after {
	position: absolute;
	top: 0;
	right: calc(50% - (6.5em + 5.33vw));
	transform: rotate(30deg);
	width: .26vw;
	height: 6.66vw;
	background: #000;
	content: '';
}

@media screen and (min-width: 768px) {
	#fwCms_wrapper .not_found_error {
		width: 100%;
		max-width: 1080px;
	}

	#fwCms_wrapper .not_found_error .font14_24 {
		font-size: 2.4rem;
		line-height: 1.5;
	}

	#fwCms_wrapper .not_found_error .not_found_error_btn a {
		width: 100%;
		max-width: 520px;
		height: 80px;
	}

	#fwCms_wrapper .not_found_error .not_found_error_txt01 dt {
		padding: 54px 0 50px;
	}

	#fwCms_wrapper .not_found_error .not_found_error_txt01 dd {
		text-align: center;
	}

	#fwCms_wrapper .not_found_error .not_found_error_txt02 {
		padding-top: 92px;
	}

	#fwCms_wrapper .not_found_error .not_found_error_txt02 dt {
		padding: 4px 0 16px;
	}

	#fwCms_wrapper .not_found_error .not_found_error_txt02 dt::before {
		left: calc(50% - (6.5em + 30px));
		width: 1px;
		height: 30px;
	}

	#fwCms_wrapper .not_found_error .not_found_error_txt02 dt::after {
		right: calc(50% - (6.5em + 30px));
		width: 1px;
		height: 30px;
	}
}


/*----------------------------------------
	system_error システムエラー
-----------------------------------------*/
#fwCms_wrapper .system_error {
	width: 92%;
	margin: auto;
}

#fwCms_wrapper .system_error .col980 {
	width: 100%;
	max-width: 980px;
	box-sizing: border-box;
}

#fwCms_wrapper .system_error span.nowrap {
	display: inline-block;
	white-space: nowrap;
}

#fwCms_wrapper .system_error .submit.btn-1,
#fwCms_wrapper .system_error .submit.btn-1:link,
#fwCms_wrapper .system_error .submit.btn-1:visited {
	width: 100%;
	max-width: 690px;
	height: 13.3vw;
	margin: auto;
}

@media screen and (min-width: 768px) {
	#fwCms_wrapper .system_error {
		width: 100%;
		max-width: 1080px;
	}

	#fwCms_wrapper .system_error .col980 {
		width: 90%;
		max-width: 980px;
		margin: auto;
	}

	#fwCms_wrapper .system_error .submit.btn-1,
	#fwCms_wrapper .system_error .submit.btn-1:link,
	#fwCms_wrapper .system_error .submit.btn-1:visited {
		width: 100%;
		max-width: 345px;
		height: 60px !important;
	}
}

/*----------------------------------------
	maintenance メンテナンス
-----------------------------------------*/
body {
	height: inherit;
}

.maintenance {
	width: 92%;
	margin: auto;
}

.maintenance .font9_10 {
	font-size: 2.4vw;
	line-height: 1.5;
}

.maintenance .font14_16 {
	font-size: 3.73vw;
	line-height: 1.7;
}

.maintenance .font16_18 {
	font-size: 4.26vw;
	line-height: 1.7;
}

.maintenance .bold01 {
	font-weight: bold;
}

.maintenance .indent {
	padding-left: 1em;
}

.maintenance .indent::before {
	display: inline-block;
	margin-left: -1em;
	content: '■';
}

.maintenance .logo {
	margin: 13.33vw auto 0;
	text-align: center;
}

.maintenance .logo img {
	width: 44vw;
	height: 12.9vw;
}

.maintenance .logo.old img {
	width: 43.2vw;
	height: 12.8vw;
}

.maintenance .t01 {
	margin: 7.46vw 0 0;
	text-align: center;
}

.maintenance .t02 {
	margin: 6.93vw 0 0;
}

.maintenance .copy {
	margin: 12.26vw 0 0;
	text-align: center;
}

@media screen and (min-width: 768px) {
	.maintenance {
		width: 100%;
	}

	.maintenance .font9_10 {
		font-size: 1rem;
		line-height: 1.5;
	}

	.maintenance .font14_16 {
		font-size: 1.6rem;
		line-height: 1.7;
	}

	.maintenance .font16_18 {
		font-size: 1.8rem;
		line-height: 1.7;
	}

	.maintenance .logo {
		margin-top: 100px;
	}

	.maintenance .logo img {
		width: 272px;
		height: 80px;
	}

	.maintenance .logo.old img {
		width: 162px;
		height: 48px;
	}

	.maintenance .t01 {
		margin-top: 56px;
	}

	.maintenance .t01 br {
		display: none;
	}

	.maintenance .t02 {
		margin-top: 26px;
		text-align: center;
	}

	.maintenance .copy {
		margin-top: 92px;
	}
}
