@charset "UTF-8";

/**
 * 
 * NOTE: 503ページ、メンテナンスページなどのスタイルです。
 * 
 * WARNING: 
 * 
**/

/* NOTE: 404以外はヘッダーの部品を消す */
body:not(.error404) .l-header__gNavTrigger {display: none;}
body:not(.error404) .l-header__searchNavTrigger {display: none;}
body:not(.error404) .l-header__nav {display: none;}

/* NOTE: 404以外はフッターをシンプルにする */
body:not(.error404) .l-footer {
	background: transparent;
    border-top: solid 1px var(--c-base-darkest);
	padding-top: 20px;
}
body:not(.error404) .l-footer__inner {display: none;}

.error404 .p-common {display: none;}

.p-error {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	align-content: stretch;
	align-items: stretch;
	--p-error-header-height: 70px;
	/*--p-error-header-height: 90px;*/
	/*--p-error-footer-height: 640px;*//* full */
	--p-error-footer-height: 110px;/* only copyright */
	min-height: calc( 100vh - ( var(--p-error-header-height) + var(--p-error-footer-height) ) );
}
.error404 .p-error {
	--p-error-header-height: 90px;
	--p-error-footer-height: 522px;/* full */
}
@media screen and (max-height: 730px){
	.p-error {min-height: calc( 730px - ( var(--p-error-header-height) + var(--p-error-footer-height) ) );}
}
@media screen and (max-width: 767px){
	body:not(.error404) .l-footer {padding-top: 0;}
	.p-error {
		--p-error-header-height: 50px;
		min-height: calc( 100vh - ( var(--p-error-header-height) + var(--p-error-footer-height) ) );
		padding-bottom: 48px;
	}
}

.p-error__inner {
	width: var(--w-md);
	margin: auto;
	padding: 50px 0;
}
@media screen and (max-width: 767px){
	.p-error__inner {padding: 30px 0;}
}

.p-error__title {
	color: var(--c-base-darkest);
	font-size: var(--fs-lv9);
	font-weight: var(--fw-md);
	line-height: 1.25;
	letter-spacing: 0.05ex;
	text-align: center;
	max-width: 800px;
	margin: 0 auto 1em;
}
.p-error__title p {
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}
.p-error__text {
	font-size: var(--fs-lv4);
	font-weight: var(--fw-reg);
	line-height: var(--l-xl);
	letter-spacing: 0.05ex;
	max-width: 800px;
	margin: 0 auto;
}
* + .p-error__text {margin-top: 2em;}

.p-error__text--left {text-align: left;}
.p-error__text--center {text-align: center;}
.p-error__text--right {text-align: right;}

.p-error__text > p {
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}
.p-error__text > * + p {margin-top: 1em;}
.p-error__text small {
	display: block;
	font-size: inherit;
}
@media screen and (max-width: 767px) {
	.p-error__title {font-size: var(--fs-lv5);}
	.p-error__text {font-size: var(--fs-lv3);}
}

.p-errorBody__msg {
	font-size: 16px;
	line-height: 36px;
	letter-spacing: 0.05ex;
	text-align: center;
}
@media screen and (max-width: 767px){
	.p-errorBody__msg {
		font-size: 12px;
		line-height: 27px;
	}
}

.p-errorBody__btn {
	display: flex;
	justify-content: center;
}
* + .p-errorBody__btn {margin-top: 64px;}
@media screen and (max-width: 767px){
	.p-errorBody__btn {}
	* + .p-errorBody__btn {margin-top: 32px;}
}


@media (min-width: 768px){
	.sp--disp {display: none;}
}
@media screen and (max-width: 767px){
	.pc--disp {display: none;}
}