@charset "UTF-8";

/* main
----------------------------------------*/
main {
	background: #E5E5E5;
}

/* ttl_page
----------------------------------------*/
.ttl_page {
	background: #1E1E1E;
	color: #fff;
	text-align: center;
	font-size: 3rem;
	height: 155px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	letter-spacing: .1em;
	padding: 3px 20px 0 23px;
}
@media only screen and (max-width: 768px) {
	.ttl_page {
		font-size: 1.8rem;
		height: 77px;
		padding: 0 5%;
	}
}

/* title
----------------------------------------*/
.ttl_h2 {
	background: url(../img/common/bg_ttl_h2.png);
	text-align: center;
	width: 1000px;
	margin: -165px auto 0;
	font-size: 3rem;
	padding: 20px;
	height: 165px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	letter-spacing: .1em;
}
.section_block + .section_block .ttl_h2 {
	margin: 0 auto;
}
.ttl_h4 {
	font-size: 1.8rem;
	margin: 0 0 20px 0;
	color: #856D47;
	letter-spacing: .05em;
}
@media only screen and (max-width: 768px) {
	.ttl_h2 {
		background-size: 8px auto;
		width: auto;
		margin: -103.5px 3.75% 0;
		font-size: 1.8rem;
		padding: 10px 5%;
		height: 82px;
	}
	.ttl_h4 {
		font-size: 1.6rem;
	}
}

/* lnav
----------------------------------------*/
.lnav {
	width: 1000px;
	margin: 0 auto 116px;
}
.lnav ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}
.lnav ul li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-basis: 100%;
	text-align: center;
	min-height: 70px;
}
.lnav ul li + li {
	margin-left: 20px;
}
.lnav ul li a {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-size: 1.5rem;
	font-weight: bold;
	padding: 10px;
	letter-spacing: .05em;
	box-shadow: 0 0 6px rgba(0, 0, 0, .16);
	background: #fff;
	-webkit-transition: background 300ms, color 300ms;
	transition: background 300ms, color 300ms;
}
.lnav ul li.current a,
.lnav ul li a:hover {
	background: #2A2A2A;
	color: #fff;
}
@media only screen and (max-width: 768px) {
	.lnav {
		width: auto;
		margin: 0 2% 46px;
	}
	.lnav ul {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.lnav ul li {
		flex-basis: 100px;
		margin: 0 1.351% 10px;
	}
	.lnav ul li:first-child:nth-last-child(2),
	.lnav ul li:last-child:nth-child(2) {
		flex-basis: 47.298%;
	}
	.lnav ul li + li {
		margin: 0 1.351% 10px;
	}
	.lnav ul li a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		font-size: 1.2rem;
		padding: 12px 5px;
		box-shadow: 0 0 3px rgba(0, 0, 0, .16);
	}
	.lnav ul li a:hover {
		background: #fff;
		color: #2A2A2A;
	}
}

/* section_block
----------------------------------------*/
.section_block {
	background: #F2F2F2;
	padding: 99px 0 0;
}
@media only screen and (max-width: 768px) {
	.section_block {
		padding: 62.5px 0 0;
	}
}



/* contents_inner
----------------------------------------*/

.contents_inner {
	padding: 60px 0 0 0;
	background: #F2F2F2;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.1em;
}

.contents_inner:first-child {
	padding-top: 0;
}

.contents_inner p {
	font-size: 15px;
	line-height: 1.8;
	margin: 0 0 30px 0;
}

.contents_inner a[href^="tel:"] {
	pointer-events: none;
}

.contents_inner figure {
	margin: 0 0 20px 0;
}


.contents_inner h3 {
	font-size: 23px;
	padding: 0 0 30px 0;
	margin: 0 0 40px 0;
	letter-spacing: .1em;
	overflow: hidden;
}

.contents_inner h3::before,
.contents_inner h3::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  height: 3px;
}
.contents_inner h3::before {
  z-index: 2;
  width: 6%;
  background-color: #856D47;
}
.contents_inner h3 .ttl_note {
	font-size: 1.1rem;
	float: right;
	margin-top: 18px;
	font-weight: normal;
	letter-spacing: 0;
	letter-spacing: .13em;
}


@media only screen and (max-width: 768px) {
	.contents_inner {
		padding: 20px 0 0 0;
	}
	.contents_inner h3 {
		font-size: 2rem;
		padding: 0 0 20px 0;
		overflow: visible;
	}
	.contents_inner h3::before {
	  width: 8%;
	}
	.contents_inner h3 .ttl_note {
		position: absolute;
		bottom: -20px;
		right: 0;
	}
	.contents_inner a[href^="tel:"] {
		pointer-events: auto;
	}
}


/* txtarea
----------------------------------------*/

.txtarea {
	width: 1000px;
	margin: 0 auto 40px;
}

.txtarea:last-child {
	margin: 0 auto 0;
	padding: 0 0 60px 0;
}

@media only screen and (max-width: 768px) {
	.txtarea {
		width: auto;
		margin: 0 3.75%;
	}
	.txtarea:last-child:first-child {
		margin-left: 3.75%;
		margin-right: 3.75%;
	}
}

/* color
----------------------------------------*/
.color_red {
	color: #f25454;
}

/* colobox
----------------------------------------*/
#colorbox,
#cboxOverlay,
#cboxWrapper {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 19999;
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}
#cboxWrapper {
	max-width: none;
}
#cboxOverlay {
	position: fixed;
	width: 100%;
	height: 100%;
}
#cboxMiddleLeft,
#cboxBottomLeft {
	clear: left;
}
#cboxLoadedContent {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
#cboxTitle {
	margin: 0;
}
#cboxLoadingOverlay,
#cboxLoadingGraphic {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#cboxPrevious,
#cboxNext,
#cboxClose,
#cboxSlideshow {
	cursor: pointer;
}
.cboxPhoto {
	float: left;
	margin: auto;
	border: 0;
	display: block;
	max-width: none;
	-ms-interpolation-mode: bicubic;
}
.cboxIframe {
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
	padding: 0;
	margin: 0;
}
#colorbox,
#cboxContent,
#cboxLoadedContent {
	box-sizing: content-box;
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
}
#cboxLoadedContent {
	overflow: visible !important;
	text-align: center;
	display: inline-block;
	position: static;
}
#cboxOverlay {
	background: #000;
	opacity: .96;
	filter: alpha(opacity = 96);
}
#colorbox {
	opacity: 0;
}
#colorbox,
#cboxPrevious:active,
#cboxNext:active,
#cboxSlideshow:active,
#cboxClose:active {
	outline: 0;
}
#cboxContent {
	overflow: visible;
	margin: 0;
}
#cboxContent iframe {
	width: 100% !important;
	height: 100%;
}
#cboxError {
	padding: 50px;
	border: 1px solid #ccc;
}
#cboxLoadingGraphic {
	background: url(../img/common/loading.gif) no-repeat center center;
}
#cboxTitle {
	position: absolute;
	top: -22px;
	left: 0;
	color: #000;
}
#cboxCurrent {
	position: absolute;
	top: -22px;
	right: 205px;
	text-indent: -9999px;
}
#cboxPrevious,
#cboxNext,
#cboxSlideshow,
#cboxClose {
	border: 0;
	padding: 0;
	margin: 0;
	overflow: visible;
	text-indent: -9999px;
	width: 20px;
	height: 20px;
	position: absolute;
	top: -20px;
}
#cboxPrevious:focus,
#cboxNext:focus,
#cboxSlideshow:focus,
#cboxClose:focus {
	outline: none;
}
#cboxClose {
	background: none;
	top: -30px;
	right: 0;
	z-index: 1100;
	width: 20px;
	height: 20px;
	font-family: inherit;
}
#cboxClose:focus {
	outline: none;
}
#cboxClose::before {
	content: '×';
	display: block;
	color: #fff;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1;
	position: absolute;
	top: 0;
	left: 0;
	text-indent: 0;
}
#cboxPrevious,
#cboxNext {
	top: 50%;
	-webkit-appearance: none;
	appearance: none;
	background: none;
	border: 0;
	height: 40px;
	margin-top: -20px;
}
#cboxNext {
	right: -30px;
}
#cboxPrevious {
	left: -30px;
}
#cboxPrevious::before,
#cboxNext::before {
	content: '';
	display: block;
	position: absolute;
	left: -9px;
	top: 8px;
	width: 20px;
	height: 20px;
	border-top: 3px solid #FFF;
	border-right: 3px solid #FFF;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#cboxPrevious::before {
	left: 5px;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}
@media only screen and (max-width: 768px) {
	#cboxNext {
		right: -25px;
	}
	#cboxPrevious {
		left: -25px;
	}
}