@charset "utf-8";
/* CSS Document */

.footerFixed {
  display: grid;
  grid-template-rows: 1fr min-content;
  grid-template-columns: 100%;
  min-height: 100vh;
}

header {
	grid-area: header-contents;
	margin: 0;
	text-align: center;
}

header img {
	width: 100%;
	height: auto;
}

#contents {
	width: 100%;
	padding: 0;
}

#left-contents {
	grid-area: left-contents;
}
#middle-contents {
	grid-area: middle-contents;
}
#right-contents {
	grid-area: right-contents;
}

footer {
  background: #D70050;
	padding: 15px;
	text-align: center;
	clear: both;
	color: #FFF;
	font-size: 1.2rem;
	width: 100%;
}

footer a:link {
	color: #FFF;
}
footer a:visited {
	color: #FFF;
}
footer a:hover {
	color: #CCC;
}
footer a:active {
	color: #CCC;
}

footer address {
	display: flex;
	text-align: left;
}

.pagetop {
	display: none;
	position: fixed;
	bottom: 15px;
	right: 15px;
}
.pagetop a {
	display: block;
	background: #EC8C9E;
	text-align: center;
  color: #fff;
  font-size: 30px;
	text-decoration: none;
	padding: 10px 15px;
	filter:alpha(opacity=90);
	-moz-opacity: 0.9;
  opacity: 0.9;
  border-radius: 9999px;
  transition: all .5s ease;
  line-height: 1;
  z-index: 99;
}
.pagetop a:hover {
	display: block;
	background: rgba(236,143,158,0.60);
	text-align: center;
	text-decoration: none;
}

.scale-img01 {
  cursor: pointer;
  max-width: 250px;
  overflow: hidden;
  width: 100%;
	text-align: center;
	margin: 0 auto;
}
.scale-img01 img {
  height: auto;
  transition: transform .6s ease; /* ゆっくり変化させる */
}
.scale-img01:hover img {
  transform: scale(1.05); /* 拡大 */
}

/* 表示領域が992px以上の場合に適用するスタイル */
@media screen and (min-width: 992px) {
	#left-contents {
		margin: 0;
    background: linear-gradient(0deg, rgba(132,149,161,0.00) 0%, rgba(132,149,161,0.20));
	}
	
	.bn_area {
		display: flex;
		flex-direction: column;
		text-align: center;
		padding: 15px;
		font-weight: 700;
	}
	.bn_area {
		margin: 10px;
		background: rgba(132,149,161,0.20);
		border-radius: 5px;
	}
	.bn_area a {
		margin-bottom: 10px;
	}

	/* トップメニューのバナー表示 */
	.top_l_b {
		visibility: visible;
	}
	.top_l_s {
		display: none;
	}
}

/* 表示領域が991.98px以下の場合に適用するスタイル */
@media print, screen and (max-width: 991.98px) {
	.bn_area { /* 以下 */
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		padding: 15px;
		text-align: center;
		background: rgba(132,149,161,0.20);
	}
	.bn_area a {
		margin: 10px;
	}
	.top_l_b {
		display: none;
	}
	.top_l_s {
		visibility: visible;
		padding: 20px 0 0;
		background: #FFF;
	}
}

/* 表示領域が767.98px以下の場合に適用するスタイル */
@media print, screen and (max-width: 767.98px) {
	header {
		padding: 15px;
		max-width: 767.98px;
		margin: 0 auto;
	}
	footer address {
		flex-direction: column;
		text-align: center;
	}
	footer address div:first-of-type {
		padding-bottom: 5px;
	}
	footer address div:nth-of-type(2) {
		border-left: none;
	}
	.fixed-bottom {
		position: static;
	}
}

/* 表示領域が768px以上の場合に適用するスタイル */
@media screen and (min-width: 768px) {
	footer {
		width: 100%;
	}
	footer address {
		flex-wrap: wrap;
		justify-content: center;
	}
	footer address div:nth-of-type(2) {
		border-left: 1px solid #CCC;
		padding: 0 10px;
		margin-left: 10px;
	}
}
