body {
	position: relative;
	color: #666;
}

a.d-block:hover {
	text-decoration: none;
	opacity: .8;
}

nav#mainmenu {
	background: #feeab4;
}

footer {
	background: #fafafa;
}

h2 {
	position: relative;
	padding-bottom: .3em;
}

h2::after {
	content: '';
	display: block;
	background: #666;
	width: 2em;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.ul-kome {
	list-style-type: none;
	padding-left: 1em;
}

.ul-kome li {
	position: relative;
	padding-left: 1.5em;
}

.ul-kome li::before {
	content: '※';
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
}

.marker-digital {
	background: linear-gradient(to top, #f5b7cd, #f5b7cd 50%, transparent 50%, transparent);
}

.marker-analog {
	background: linear-gradient(to top, #85c6e8, #85c6e8 50%, transparent 50%, transparent);
}

.bg-digital {
	background: #E7211A;
}

.bg-analog {
	background: #083793;
}

.bg-green {
	background: #20983a;
}

.bg-ivory {
	background: #feeab4;
}

.text-green {
	color: #20983a;
}

.text-yellow {
	color: #ffea00;
}

.text-white {
	color: #fff;
}

.line-height-25 {
	line-height: 2.5;
}

.border-radius-5 {
	border-radius: 5px;
}

.map-container {
	position: relative;
	padding-bottom: 50%;
	overflow: hidden;
}

.map-container iframe {
	position:absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 250px;
}

.navbar-toggler {
	position: absolute;
	top: 30px;
	right:30px;
}

.navbar-nav li {
	position: relative;
}

.present-container {
	position: relative;
}

.present-container::before {
	content: '';
	display: block;
	width: 30px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	background: linear-gradient(
		to right,
		hsl(0, 0%, 100%) 0%,
		hsla(0, 0%, 100%, 0.987) 8.1%,
		hsla(0, 0%, 100%, 0.951) 15.5%,
		hsla(0, 0%, 100%, 0.896) 22.5%,
		hsla(0, 0%, 100%, 0.825) 29%,
		hsla(0, 0%, 100%, 0.741) 35.3%,
		hsla(0, 0%, 100%, 0.648) 41.2%,
		hsla(0, 0%, 100%, 0.55) 47.1%,
		hsla(0, 0%, 100%, 0.45) 52.9%,
		hsla(0, 0%, 100%, 0.352) 58.8%,
		hsla(0, 0%, 100%, 0.259) 64.7%,
		hsla(0, 0%, 100%, 0.175) 71%,
		hsla(0, 0%, 100%, 0.104) 77.5%,
		hsla(0, 0%, 100%, 0.049) 84.5%,
		hsla(0, 0%, 100%, 0.013) 91.9%,
		hsla(0, 0%, 100%, 0) 100%
	);
}

.present-container::after {
	content: '';
	display: block;
	width: 30px;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 10;
	background: linear-gradient(
		to left,
		hsl(0, 0%, 100%) 0%,
		hsla(0, 0%, 100%, 0.987) 8.1%,
		hsla(0, 0%, 100%, 0.951) 15.5%,
		hsla(0, 0%, 100%, 0.896) 22.5%,
		hsla(0, 0%, 100%, 0.825) 29%,
		hsla(0, 0%, 100%, 0.741) 35.3%,
		hsla(0, 0%, 100%, 0.648) 41.2%,
		hsla(0, 0%, 100%, 0.55) 47.1%,
		hsla(0, 0%, 100%, 0.45) 52.9%,
		hsla(0, 0%, 100%, 0.352) 58.8%,
		hsla(0, 0%, 100%, 0.259) 64.7%,
		hsla(0, 0%, 100%, 0.175) 71%,
		hsla(0, 0%, 100%, 0.104) 77.5%,
		hsla(0, 0%, 100%, 0.049) 84.5%,
		hsla(0, 0%, 100%, 0.013) 91.9%,
		hsla(0, 0%, 100%, 0) 100%
	);
}

.shop-list td {
	padding-left: 1em;
}

#shop-data dl,
.shop-list dl {
	flex-basis: 33.33%;
}

.shop-list dd {
	padding-left: 1.5em;
	padding-right: 1em;
}

a.base-btn-green,
.group-list a.d-block {
	background: #20983a;
	color: #fff;
	text-align: center;
	border-radius: 5px;
	padding:.2em 0;
	margin-top: .7em;
}

.list-hadano h3,
.list-toukai h3 {
	position: relative;
	padding-bottom: .5em;
}

.list-hadano h3::after {
	content: '';
	display: block;
	border-top: 3px solid #5b98d2;
	width:3em;
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.list-toukai h3::after {
	content: '';
	display: block;
	border-top: 3px solid #f8b62d;
	width:3em;
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.list-hadano dl dt {
	padding-left: .5em;
	border-left: 3px solid #5b98d2;
}

.list-toukai dl dt {
	padding-left: .5em;
	border-left: 3px solid #f8b62d;
}

.contact dt {
	position: relative;
	padding-bottom: .3em;
	margin-bottom: 1em;
}

.contact dt::after {
	content: '';
	display: block;
	border-top: 1px solid #666;
	width: 3em;
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

#btn-top {
	position: fixed;
	bottom: 10px;
	right: 10px;
	display: none;
	box-shadow: 0px 0px 5px rgba(0,0,0,.5);
}

#btn-top a,
#btn-top a:hover {
	background: rgba(255,255,255,.8);
	color: #666;
}

@media(min-width:768px){
	.navbar-nav li::before {
		content: '';
		display: block;
		height: 1.5em;
		border-left: 1px solid #666;
		position: absolute;
		left: 0;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}

	.navbar-nav li:last-child::after {
		content: '';
		display: block;
		height: 1.5em;
		border-left: 1px solid #666;
		position: absolute;
		right: 0;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
}

@media(max-width:767px){
	.navbar {
		padding: 0;
	}

	.navbar-nav li {
		border-top: 1px solid #666;
	}

	.navbar-nav li:last-child {
		border-bottom: 1px solid #666;
	}

	.dl-sm-toggle dt {
		background: #20983a;
		color: #fff;
		text-align: center;
		border-radius: 5px;
		cursor: pointer;
		padding:.2em 0;
	}
	.dl-sm-toggle dd {
		display: none;
	}
	#shop-data dl,
	.shop-list dl {
		flex-basis: 100%;
	}
}
