/* フッター表示用（元 common.css より抽出・ヘッダー用の html マージンは除去） */

html {
	scroll-behavior: smooth;
}
a:hover {
	opacity: 0.8;
	transition: 0.3s;
}

.cf:after {
	content: "";
	clear: both;
	display: table;
}

@media screen and (max-width: 768px) {
	html {
		display: flex;
		flex-direction: column;
		min-height: 100%;
		overflow: auto;
	}
}

@media print, screen and (min-width: 769px) {
	html {
		overflow: auto;
	}
}

body {
	background-color: #ffffff;
	background-repeat: repeat;
	font-family: "Noto Sans JP", sans-serif;
	color: #000;
	-webkit-text-size-adjust: 100%;
}

a:link,
a:visited {
	text-decoration: none;
}

/*footer*/
footer {
	background: #000;
	letter-spacing: 0;
}

@media screen and (max-width: 768px) {
	#ftr {
		display: none;
	}
	#ftr_sp {
		color: #fff;
		display: block;
		padding-bottom: 0;
	}
	#ftr_sp .group_block {
		font-feature-settings: "palt";
		font-size: 2.5vw;
		line-height: 1.4;
		width: auto;
		height: auto;
		padding: 15px 5px 15px 10px;
	}
	#ftr_sp .group_block .copyright {
		margin: 0;
		color: inherit;
	}
	#ftr_sp .ftr_sp__nav {
		display: flex;
		flex-wrap: wrap;
		letter-spacing: 0.05em;
		margin-bottom: 10px;
	}
	#ftr_sp .ftr_sp__nav a {
		color: inherit;
		margin-bottom: 5px;
		margin-right: 10px;
		text-decoration: underline;
		text-underline-offset: 2.5px;
	}
	#ftr_sp p.footer_logo {
		position: static;
		margin-bottom: 15px;
	}
	#ftr_sp p.footer_logo img {
		width: 137px;
	}
}

@media print, screen and (min-width: 769px) {
	#ftr_sp {
		display: none;
	}
	#ftr {
		width: 100%;
		font-size: 12px;
		line-height: 1.4;
		color: #ccc;
		background: #222 url("../img/frame/bg_ftr_01.png") repeat-x 0 100%;
		padding: 0;
	}
}
@media print and (max-width: 1000px), screen and (min-width: 769px) and (max-width: 1000px) {
	#ftr {
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media print, screen and (min-width: 769px) {
	#ftr a {
		color: #ccc;
	}
	#ftr img{
		width: auto;
	}
	#ftr .pagetop {
		margin: 0 auto 10px;
		max-width: 960px;
	}
	#ftr .pagetop a {
		float: right;
		display: block;
		padding: 0 0 0 15px;
		background: url("../img/frame/ic_arw_02.png") no-repeat 0 50%;
	}
	#ftr .request_block {
		margin: 0 auto;
		max-width: 960px;
		padding: 25px 0;
		border-top: 1px solid #2d2d2d;
		border-bottom: 1px solid #111111;
	}
	#ftr .request_block p {
		margin: 10px 0 0;
	}
	#ftr .bnr_block {
		display: flex;
		justify-content: space-between;
		margin: 15px 0 0;
	}
	#ftr .bnr_internet {
		width: calc((100% - 20px) / 2);
	}
	#ftr .bnr_internet dt {
		padding: 0 0 0 15px;
		color: #fff;
		background: url("../img/frame/footer_contact_icon.png") no-repeat 0 50%;
	}
	#ftr .footerContact {
		align-items: center;
		background: #b91c25;
		color: #fff;
		display: flex;
		font-size: 17px;
		font-weight: 500;
		height: 54px;
		justify-content: center;
		margin: 8px 0 0;
		position: relative;
	}
	#ftr .footerContact::before {
		border: 1px solid #fff;
		bottom: 2.5px;
		content: "";
		left: 2.5px;
		position: absolute;
		right: 2.5px;
		top: 2.5px;
	}
	#ftr .footerTel {
		width: calc((100% - 20px) / 2);
	}
	#ftr .footerTel dt {
		padding: 0 0 0 15px;
		color: #fff;
		background: url("../img/frame/footer_tel_icon.png") no-repeat 0 50%;
	}
	#ftr .footerTel__link {
		align-items: center;
		background: #fff;
		color: #000;
		display: flex;
		justify-content: center;
		height: 54px;
		margin-top: 8px;
	}
	#ftr .footerTel__icon {
		margin-bottom: 2px;
	}
	#ftr .footerTel__number {
		font-family: "Barlow Semi Condensed", sans-serif;
		font-size: 2.4vw;
		font-weight: 700;
		letter-spacing: 0.1em;
		line-height: 1;
		margin-left: 5px;
		padding-bottom: 0.2em;
	}
}
@media screen and (min-width: 769px) and (min-width: 1000px) {
	#ftr .footerTel__number {
		font-size: 24px;
	}
}

@media print, screen and (min-width: 769px) {
	#ftr .footerTel__openHours {
		font-size: 1.3vw;
		font-weight: 700;
		margin-left: 10px;
	}
}
@media screen and (min-width: 769px) and (min-width: 1000px) {
	#ftr .footerTel__openHours {
		font-size: 13px;
	}
}

@media print, screen and (min-width: 769px) {
	#ftr .comment_block {
		margin: 0 auto;
		padding: 25px 0 0;
		max-width: 960px;
		font-weight: bold;
		border-top: 1px solid #2d2d2d;
	}
	#ftr .comment_block h3 {
		font-weight: bold;
	}
	#ftr .comment_block p {
		margin: 5px 0 0;
		font-weight: normal;
	}
	#ftr .group_block {
		position: relative;
		margin: 0 auto;
		max-width: 960px;
		height: 161px;
		font-size: 10px;
		line-height: 1.4;
	}
	#ftr .group_block a:link,
	#ftr .group_block a:visited {
		text-decoration: underline;
		color: #ccc;
	}
	#ftr .group_block a:hover,
	#ftr .group_block a:active {
		text-decoration: none;
		color: #ccc;
	}
	#ftr .group {
		padding: 22px 0 0;
	}
	#ftr .group dd {
		padding: 10px 0 0;
	}
	#ftr .group li {
		float: left;
		margin: 0 5px 0 0;
		padding: 0 5px 0 0;
		border-right: 1px solid #ccc;
	}
	#ftr .group li:last-child {
		border-right: none;
	}
	#ftr .about {
		margin: 25px 0 0;
	}
	#ftr .about li {
		float: left;
		margin: 0 20px 0 0;
	}
	#ftr .copyright {
		margin: 8px 0 0;
	}
	#ftr p.footer_logo {
		position: absolute;
		right: 0;
		bottom: 10px;
	}
}
