@charset 'UTF-8';
/*フロントページ*/
/*openTimeArea*/
#openTimeArea .bgLightGreen {
	padding-top: 2em;
}
#openTimeArea .bgLightGreen + div {
	width: 100%;
	height: 2em;
	background-image: url('../images/_svg/bgOpenTimeArea.svg');
	background-position: center top;
	background-repeat: no-repeat;
	background-size: auto 2em;
}
#openTimeArea .bgLightGreen table {
	letter-spacing: 0;
}
#openTimeArea .bgLightGreen table th {
	margin-left: 3em;
	text-align: left;
}
#openTimeArea .bgLightGreen table th span.contents {
	display: block;
}
#openTimeArea .bgLightGreen table th a.dispWide {
	display: inline-block;
}
#openTimeArea .bgLightGreen table td {
	padding-left: 4.5em;
	text-align: center;
}
#openTimeArea .bgLightGreen table td .flexBlock {
	margin-top: 0.25em;
	height: 3.2em;
}
#openTimeArea .bgLightGreen table td .flexBlock span + span {
	padding-left: 0.75em;
	line-height: 120%;
}
@media screen and (max-width: 800px) {
	#openTimeArea .bgLightGreen {
		padding: 0.5em 0;
		border-top: 2px solid #002d00;
		border-bottom: 2px solid #002d00;
	}
	#openTimeArea .bgLightGreen + div {
		display: none;
	}
	#openTimeArea .bgLightGreen .widthWrapper {
		padding: 0;
	}
	#openTimeArea .bgLightGreen table {
		width: 100%;
		letter-spacing: 0;
	}
	#openTimeArea .bgLightGreen table th {
		position: relative;
		display: block;
		width: 100%;
		margin-left: 0;
		padding: 0 5vw;
	}
	#openTimeArea .bgLightGreen table th span.contents {
		display: inline-block;
	}
	#openTimeArea .bgLightGreen table th a.dispWide {
		display: none;
	}
	#openTimeArea .bgLightGreen table td {
		padding: 2.5vw 5vw 0;
		text-align: left;
	}
	#openTimeArea .bgLightGreen table th + td {
		margin-top: 0.5em;
		border-top: 2px solid #002d00;
	}
	#openTimeArea .bgLightGreen table td .flexBlock {
		justify-content: flex-start;
		margin-top: 0;
		padding-bottom: 2.5vw;
		height: auto;
		border-bottom: 1px solid #7b966b;
	}
	#openTimeArea .bgLightGreen table td .flexBlock span + span {
		padding-left: 0.75em;
	}
}
/*news*/
#news {
	padding: 2em 0 8em;
	background-image: url('../images/_svg/bgTown.svg');
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: auto 5em;
}
#news table {
	width: 100%;
	margin: 1em auto;
	border-radius: 5px;
	box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.12);
	overflow: hidden;
}
#news table th {
	padding: 1.25em;
	vertical-align: middle;
}
#news table th span {
	display: block;
	padding-left: 1.5em;
	background-image: url('../images/_icon/icoAlert.png');
	background-position: left center;
	background-repeat: no-repeat;
	background-size: contain;
}
#news table td {
	padding: 1.25em;
}
#news table td ul li + li {
	margin-top: 0.5em;
}
#news table td ul li span {
	padding-right: 1em;
}
@media screen and (min-width: 801px) and (max-width: 1280px) {
	#news table {
		box-shadow: 0 0 1.875vw 0 rgba(0, 0, 0, 0.12);
	}
}
@media screen and (max-width: 800px) {
	#news {
		padding: 4.25vw 0 30vw;
		background-position: center bottom;
		background-size: auto 22vw;
	}
	#news table {
		width: 100%;
		margin: 1em auto;
		border-radius: 5px;
		box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.12);
		overflow: hidden;
	}
	#news table th {
		display: block;
		width: 100%;
		padding: 1em;
		box-sizing: border-box;
	}
	#news table th.alignCenter {
		text-align: left;
	}
	#news table th span {
		padding-left: 2.5em;
	}
	#news table td {
		display: block;
		width: 100%;
		padding: 1em;
		box-sizing: border-box;
	}
	#news table td ul li + li {
		margin-top: 1.5em;
	}
	#news table td ul li > span {
		display: block;
		padding-bottom: 0.5em;
	}
}
/*bookSearch*/
#bookSearch {
	padding: 2.25em 0;
	transform: translateY(-1px);
}
#bookSearch .bgWhite {
	padding: 2em 5em 2em 6em;
	border-radius: 5px;
	box-sizing: border-box;
}
#bookSearch .flexList {
	justify-content: flex-start;
}
@media screen and (max-width: 800px) {
	#bookSearch {
		padding: 4.26vw 0;
	}
	#bookSearch .widthWrapper {
		padding: 0;
	}
	#bookSearch .widthWrapper .contentsWrapper.bgWhite {
		width: 100%;
		padding: 2em 7.5%;
		border-radius: 0;
	}
	#bookSearch h2 + h3 {
		margin-top: 1em;
	}
	#bookSearch .flexList.marginTop1half {
		justify-content: center;
		margin-top: 0.75em!important;
	}
	#bookSearch h3.marginTop2 {
		margin-top: 1em!important;
	}
}
/*info*/
#info {
	padding: 4em 0 3em;
}
#info li:nth-child(n + 7) {
	display: none;
}
@media screen and (max-width: 800px) {
	#info {
		padding: 8.5vw 0 4.5vw;
	}
	#info .widthWrapper.marginTop1half {
		background-color: #fff;
	}
	#info .flexThumbSquare li:nth-child(n + 3) {
		display: none;
	}
	#info .btn {
		margin-top: -1em;
		padding-bottom: 4vw;
	}
}
/*pickup*/
#pickup {
	padding: 4em 0 3em;
}
.teensTop #pickup {
	padding: 2em 0 6em;
}
#pickup .flexThumbRound li .thumb + div {
	height: 2.8em;
}
@media screen and (max-width: 800px) {
	#pickup {
		padding: 8.5vw 0 4.5vw;
	}
	.teensTop #pickup {
		padding: 3vw 0 8.5vw;
	}
	#pickup .marginTop2,
	#pickup .marginTop3 {
		margin-top: 1em!important;
	}
	#pickup .flexSquareBox {
		padding-bottom: 4vw;
	}
}
/*links*/
#links {
	padding: 2em 0 6em;
}
.teensTop #links {
	padding: 2em 0 3em;
}
#links .borderBox {
	width: 42%;
	box-sizing: border-box;
}
#links .borderBox > .flexBlock p {
	width: 16%;
}
#links .borderBox > .flexBlock p + p {
	width: 82.5%;
}
#links .borderBox + .borderBox,
.teensTop #links .borderBox {
	width: 27.5%;
	margin: 0 2em;
	box-sizing: border-box;
}
#links .borderBox + .borderBox h2,
.teensTop #links .borderBox h2 {
	letter-spacing: 0;
}
#links .borderBox + .borderBox ul li,
.teensTop #links .borderBox ul li {
	width: 19.5%;
	margin: 0 1em;
	box-sizing: border-box;
}
#links .bannerBox {
	position: relative;
	width: 25%;
}
#links .bannerBox a {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
@media screen and (max-width: 800px) {
	#links {
		padding: 0 0 8.5vw;
	}
	.teensTop #links {
		padding: 3vw 0 4.5vw;
	}
	#links .borderBox {
		width: 100%;
		letter-spacing: 0;
		box-sizing: border-box;
	}
	#links .borderBox > div.flexBlock {
		flex-direction: column;
		align-items: center;
	}
	#links .borderBox h2 {
		line-height: 140%;
	}
	#links .borderBox > .flexBlock p {
		width: 18.5%;
	}
	#links .borderBox > .flexBlock p + p {
		width: 100%;
		margin-top: 1em;
	}
	#links .borderBox + .borderBox,
	.teensTop #links .borderBox {
		width: 100%;
		margin: 4.25vw 0;
		box-sizing: border-box;
	}
	#links .borderBox + .borderBox h2,
	.teensTop #links .borderBox h2 {
		letter-spacing: 0;
	}
	#links .borderBox + .borderBox ul li,
	.teensTop #links .borderBox ul li {
		width: 19.5%;
		margin: 0 1em;
		box-sizing: border-box;
	}
	#links .bannerBox {
		width: 88%;
	}
	#links .bannerBox a {
		position: relative;
		top: 0;
		width: 100%;
		transform: translateY(0);
	}
}
