@charset "UFT-8";

/* ヘッダー共通 - Header Customizado (header-simple) */
#navi .header-simple,
.header-simple {
	background-color: white;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 1rem; /* py-4 = 16px = 1rem */
	padding-bottom: 1rem;
	width: 100%;
	box-sizing: border-box;
}

#navi .header-content,
.header-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
}

#navi .header-logo,
.header-logo {
	height: 3rem; /* h-12 = 48px = 3rem */
	width: auto;
}

/* フッター共通*/
/* フッターを常に最下部に配置するためのFlexboxレイアウト */
html, body {
	height: 100%;
	margin: 0;
	padding: 0;
}

body {
	display: flex;
	flex-direction: column;
}

#contents-out {
	flex: 1 0 auto;
}

#footer {
	width: 100%;
	box-sizing: border-box;
	flex-shrink: 0;
}

#footer .form-footer,
.form-footer {
	display: flex;
	flex-direction: column;
	padding-top: 1.5rem; /* pt-6 = 24px = 1.5rem */
	width: 100%;
	box-sizing: border-box;
	font-family: 'Noto Sans JP', sans-serif;
}

#footer .footer-content,
.footer-content {
	background-color: white;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-left: 1.25rem; /* px-5 = 20px = 1.25rem */
	padding-right: 1.25rem;
	width: 100%;
	box-sizing: border-box;
}

#footer .footer-inner,
.footer-inner {
	width: 100%;
	max-width: 56rem; /* max-w-4xl = 896px = 56rem */
	padding-top: 1.5rem; /* py-6 = 24px = 1.5rem */
	padding-bottom: 1.5rem;
	box-sizing: border-box;
}

#footer .footer-text,
.footer-text {
	font-size: 11px;
	line-height: 13px;
	color: #777777;
	margin: 0;
	text-align: center;
}

#footer .footer-copyright,
.footer-copyright {
	background-color: #B00C15;
	height: 1.75rem; /* h-7 = 28px = 1.75rem */
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	box-sizing: border-box;
}

#footer .footer-copyright-text,
.footer-copyright-text {
	font-size: 0.75rem; /* text-xs = 12px = 0.75rem */
	line-height: 14px;
	text-align: center;
	color: white;
	margin: 0;
}

/* ページトップボタン */
#contents-out .top-btn {
	padding: 5px 0;
	text-align: right;
	font-size: 41.5px;
	margin: 15px 0;
}

#contents-out .top-btn a {
	position: fixed;
	bottom: 35px;
	right: 5%;
	background-color: #fff;
	background-color: #ed1c24;
	border-radius: 50%;
	height: 40px;
	width: 40px;
}

#contents-out .top-btn a:before {
	content: "";
	position: absolute;
	left: 7px;
	top: 45%;
	transform: translateY(-50%);
	background: #fff;
	height: calc(tan(40deg) * 40px / 2);
	width: 24px;
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

/* PC（989px以下） */
@media screen and (max-width: 989px) {
	#contents-out .top-btn {
		width: 98%;
	}
}

@media print {
	#navi {
		display: none;
	}

	#navi .pc {
		display: none;
	}
}