@charset "UTF-8";
/*-----------------------------------

	common.css

-----------------------------------*/

/* =====================
  base
===================== */

html {
	overflow-y: scroll;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	font-size: 62.5%;
	overflow-x: hidden;
}
*, *:before, *:after {
	-webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
			box-sizing: border-box;
}
body {
	width: 100%;
	min-width: 1000px;
	color: #333;
	font-family:"メイリオ","Meiryo",verdana,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
	font-size: 14px;/* IE8 */ 
	font-size: 1.4rem;
	line-height: 200%;
	margin:0 !important;
}
.m_center {
	width: 1000px;
	margin: 0 auto;
}
.sp_mode {
	display: none !important;
}
a, a:link, a:visited {
	color: #444;
	cursor: pointer;
	text-decoration: none;
}
a:hover {
	opacity: 0.6;
	-webkit-transition: ease 0.4s;
	-moz-transition: ease 0.4s;
	-ms-transition: ease 0.4s;
	-o-transition: ease 0.4s;
}
.radius {
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	-o-border-radius: 4px;
	border-radius: 4px;
}
#bottom_bg_img {
	height: 100px;
	margin-top: -85px;
	position: relative;
	z-index: 1;
	background: url(../img/common/bottom_bg_img.png) no-repeat;
	background-position: center top;
}

/* =====================
  clearfix
===================== */

.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix {
	display: inline-block;
}
* html .clearfix {
	height: 1%;
}
.clearfix {
	display: block;
}

/* =====================
  lower_page
===================== */

#index #top_logo_area,
#lower #top_logo_area {
	color: #ddd;
}
#index #top_logo_area h1,
#lower #top_logo_area h1 {
	display: block;
	width: 341px;
	margin: 20px auto 0;
}
#index #top_logo_area .sponly,
#lower #top_logo_area .sponly{
	display: none;
}
#index #top_bg_img,
#lower #top_bg_img {
	height: 100px;
	margin-top: -40px;
	background: url(../img/common/top_bg_img.png) no-repeat;
	background-position: center top;
}
#index #main_img,
#lower #main_img {
	height: 332px;
	position: relative;
}
#index #main_img h2,
#lower #main_img h2 {
	display: block;
	position: absolute;
	top: 120px;
	left: 0;
	right: 0;
	margin: 0 auto;
	padding: 25px 0;
	font-size: 40px;
	letter-spacing: 0.1em;
	text-align: center;
	background: rgba(103, 155, 58, 0.87);
	color: #fff;
	border: 3px solid #fff;
	box-shadow:0px 0px 0px 4px rgba(103, 155, 58, 0.87);
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-ms-border-radius: 10px;
	-o-border-radius: 10px;
	border-radius: 10px;
}
#breadcrumb a {
	color: #5fa23a;
	text-decoration: underline;
}
#lower #bottom_bg_img {
	margin-top: 0;
}


/* =====================
  nav
===================== */

#gnav ul {
	width: 1000px;
	margin: 0 auto;
}
#gnav li {
	float: left;
	padding-bottom: 15px;
}
#index #gnav,
#lower #gnav {
	background: #efeddf;
}
#index #gnav li,
#lower #gnav li {
	padding: 20px 0;
}
#wide_menu {
	display: none;
	background: #eae5c4;
	padding: 15px 0;
}
#wide_menu ul {
	width: 1000px;
	margin: 0 auto;
	padding: 0 79px;
	background: url(../img/common/wide_menu_bg.png) #fff no-repeat;
	background-position: center 27px;
	position: relative;
}
#wide_menu ul:before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 15px 20px 15px;
	border-color: transparent transparent #eae5c4 transparent;
	position: absolute;
	top: -27px;
	left: 80px;
}
#wide_menu ul li {
	float: left;
	margin-right: 80px;
}
#wide_menu ul li:last-child {
	margin-right: 0;
}
#wide_menu ul li a {
	display: block;
	padding: 25px 0 15px;
}

/* =====================
  footer
===================== */

footer {
	background: #efeddf;
	padding-top: 20px;
}
footer .logo_area {
	padding-right: 65px;
	border-right: 1px dotted #6c5752;
}
footer .logo_area .logo_text h2 {
	font-size: 24px;
	color: #6c5752;
	margin-bottom: 25px;
}
footer .logo_area .logo_text h2 span {
	display: block;
	font-size: 14px;
}
footer .address {
	margin-top: 15px;
}
footer .address h3 {
	width: 90px;
	font-size: 14px;
	font-weight: normal;
	letter-spacing: 0.1em;
	text-align: center;
	color: #fff;
	margin-right: 10px;
	padding: 2px 0;
}
footer .address .bg_green {
	background: #659e31;
}
footer .address .bg_pink {
	background: #eb6d8e;
}
footer .address p {
	line-height: 140%;
}
footer .address .tel,
footer .address .map{
	display: inline-block;
	margin-top: .5em;
	color: #ffffff;
	font-weight: bold;
	padding: .4em 1em;
	border-radius: .3em;
}
@media screen and (min-width: 841px) {
	footer .address .tel{
		display: none;
	}
}
footer .ft_menu {
	/* margin-bottom: 40px; */
	padding: 25px 0 35px 60px;
	/* border-left: 1px dotted #6c5752; */
}
footer .ft_menu ul:nth-child(1) {
	width: 150px;
}
footer .ft_menu ul:nth-child(2) {
	width: 210px;
}
footer .ft_menu ul:nth-child(3) {
	width: 110px;
}
footer .ft_menu ul li {
	line-height: 23px;
}
footer .ft_menu a img {
	margin-right: 10px;
	vertical-align: middle;
}
footer .bottom_copy {
	color: #fff;
	text-align: center;
	background: #6c5752;
	margin-top: 40px;
}
#pagetop {
	background: #6c5752;
	display: block;
	text-align: center;
	width: 40px;
	height: 40px;
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 100;
	border-radius: 50%;
}
#pagetop:before {
	content: "";
	display: inline-block;
	color: #fff;
	width: 16px;
	height: 16px;
	margin-top: 14px;
	border-top: solid 2px;
	border-right: solid 2px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

/*-----------------------------------

	tablet

-----------------------------------*/

@media screen and (max-width: 840px) {

	body {
		min-width: 100%;
		font-size: 12px;/* IE8 */ 
		font-size: 1.2rem;
		line-height: 200%;
	}
	.m_center {
		width: 95%;
	}
	.pc_mode {
		display: none !important;
	}
	.sp_mode {
		display: block !important;
	}
	#bottom_bg_img {
		background-size: 800px;
		background-position: center bottom;
	}

/* =====================
  nav
===================== */
	#sp_menu_block {
		position: relative;
		z-index: 99999;
	}
	#sp_menu {
		display: block !important;
	}
	#pc_menu {
		display: none;
	}
	#sp_menu ul {
		width: 100%;
		text-align: center;
		overflow: hidden;
	}
	#sp_menu ul li {
		width: 50%;
		float: left;
		border-bottom: 1px dotted #ddd;
	}
	#sp_menu ul li:nth-child(9),
	#sp_menu ul li:nth-child(10) {
		border-bottom: none;
	}
	#sp_menu ul li:nth-child(odd) {
		border-right: 1px dotted #ddd;
	}
	#sp_menu ul li a {
		display: block;
		width: initial;
		font-size: 1.3rem;
		text-decoration: none;
		margin: 0;
		padding: 8px 0;
	}
	.menu-btn {
		position: fixed;
		top: 15px;
		right: 13px;
		z-index: 999;
		display: inline;
		font-size: 32px;
	}
	.menu-btn a {
	    display: inline-block;
	    text-decoration: none;
		margin-top: 0;
		line-height: 100%;
		background: #6c5752;
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
		-ms-border-radius: 4px;
		-o-border-radius: 4px;
		border-radius: 4px;
	}
	.btn-open {
		display: block;
		width: 34px;
		height: 34px;
		position: relative;
	}
	.btn-open span {
		display: block;
		width: 25px;
		height: 3px;
		background: #fff;
		border-radius: 2px;
		-webkit-border-radius: 3px;
		-moz-border-radius: 3px;
		-o-border-radius: 3px;
		-ms-border-radius: 3px;
	}
	.btn-open span:first-child {
		position: absolute;
		top: 9px;
		right: 4px;
	}
	.btn-open span:nth-child(2) {
		position: absolute;
		top: 16px;
		right: 4px;
	}
	.btn-open span:last-child {
		position: absolute;
		bottom: 8px;
		right: 4px;
	}
	.btn-open:after {
		-webkit-transition: all .2s linear 0s;
		-moz-transition: all .2s linear 0s;
		-o-transition: all .2s linear 0s;
		transition-property: all .2s linear 0s;
	}
	.btn-close {
		background: #6c5752 url('../img/common/sp/close_btn.png') no-repeat center !important;
		display: block;
		width: 34px;
		height: 34px;
		padding: 1px 7px;
		position: fixed;
		top: 15px;
		right: 13px;
		color: #fff;
		-webkit-transition: none !important;
		-moz-transition: none !important;
		-o-transition: none !important;
		transition-property: none !important;
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
		-ms-border-radius: 4px;
		-o-border-radius: 4px;
		border-radius: 4px;
	}
	/* .btn-close:after {
		content: url('../img/common/sp/close_btn.png');
		display: block;
		width: 34px;
		height: 34px;
		padding: 1px 7px;
		position: fixed;
		top: 15px;
		right: 13px;
		color: #fff;
		background: #6c5752;
		-webkit-transition: all .2s linear 0s;
		-moz-transition: all .2s linear 0s;
		-o-transition: all .2s linear 0s;
		transition-property: all .2s linear 0s;
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
		-ms-border-radius: 4px;
		-o-border-radius: 4px;
		border-radius: 4px;
	} */
	.overlay {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 99;
		display: none;
		overflow: auto;
		width: 100%;
		height: 100%;
		background: rgba(255, 255, 255, 0.9098039215686274);
		padding-bottom: 20px;
		-webkit-box-shadow: 0 9px 12px -9px #222;
		-moz-box-shadow: 0 9px 12px -9px #222;
		-ms-box-shadow: 0 9px 12px -9px #222;
		-o-box-shadow: 0 9px 12px -9px #222;
		box-shadow: 0 9px 12px -9px #222;
	}
	.overlay h2 {
		width: 195px;
		margin: 18px auto 25px;
		padding-bottom: 2px;
	}
	#sp_contact_area {
		text-align: center;
		margin-top: 20px;
	}
	#sp_contact_area a {
		display: block;
		width: 230px;
		background: #6c5752;
		margin: 0 auto;
		padding: 15px 0;
		text-align: center;
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
		-ms-border-radius: 4px;
		-o-border-radius: 4px;
		border-radius: 4px;
	}
	header nav li.select {
		border-top: none;
	}
	header nav li.select:before {
		content: none;
		width: 0;
		height: 0;
		position: static;
	}
	header nav li.select a {
		color: #ae79b2 !important;
	}

/* =====================
  lower_page
===================== */

	#index #main_img,
	#lower #main_img {
		height: 250px;
	}
	#index #main_img h2,
	#lower #main_img h2 {
		top: 95px;
		font-size: 36px;
	}
	#index #main_img img,
	#lower #main_img img {
		max-width: 100%;
	}
	#index #main_img .sp_mode,
	#lower #main_img .sp_mode {
		display: none !important;
	}
	#index #top_bg_img,
	#lower #top_bg_img {
		margin-top: -55px;
	}
	#index #top_logo_area h1 img,
	#lower #top_logo_area h1 img {
		display: block;
		max-width: 70%;
		margin: 0 auto;
	}


/* =====================
  footer
===================== */

	footer {
		padding-top: 0;
	}
	footer .logo_area {
		float: none !important;
		padding-right: 0;
		border-right: none;
	}
	footer .logo_area .logo_text h2 {
		font-size: 18px;
		text-align: center;
		margin-bottom: 15px;
	}
	footer .logo_area .logo_text h2 span {
		display: block;
		font-size: 14px;
	}
	footer .address {
		width: 280px;
		margin: 15px auto;
	}
	footer .address h3 {
		width: 43px;
		font-size: 12px;
		margin-right: 10px;
		padding: 0;
	}
	footer .address .bg_green {
		background: #659e31;
	}
	footer .address .bg_pink {
		background: #eb6d8e;
	}
	footer .address p {
		display: inline-block;
		width: 100%;
		line-height: 140%;
	}
	footer .ft_menu {
		margin-bottom: 0;
		padding: 10px 0;
		border-left: none;
	}
	footer .ft_menu ul:nth-child(1) {
		width: 100%;
	}
	footer .ft_menu ul li {
		line-height: 30px;
		width: 50%;
		float: left;
		border-top: 1px dotted #cdcdcd;
	}
	footer .ft_menu ul li:nth-child(11),
	footer .ft_menu ul li:nth-child(12) {
		border-bottom: 1px dotted #cdcdcd;
	}
	footer .ft_menu ul li:nth-child(odd) {
		border-right: 1px dotted #cdcdcd;
	}
	footer .ft_menu ul li a {
		display: block;
		text-align: left;
		padding-left: 10%;
	}
	footer .ft_menu a img {
		margin-right: 10px;
		vertical-align: middle;
	}
	footer .bottom_copy {
		margin-top: 10px;
	}
	footer .address .tel + .map{
		margin-left: .5em;
	}

}

/*-----------------------------------

	sp

-----------------------------------*/

@media screen and (max-width: 640px) {

	#index #top_logo_area h1 img,
	#lower #top_logo_area h1 img {
		/* max-width: 170px; */
	}
	#index #top_logo_area .pconly,
	#lower #top_logo_area .pconly{
		display: none;
	}
	#index #top_logo_area .sponly,
	#lower #top_logo_area .sponly{
		display: inline-block;
		max-width: 300px;
		margin-left: 10px;
	}

	#index #top_logo_area h1,
	#lower #top_logo_area h1 {
		width: 100%;
	}
	#index #main_img h2,
	#lower #main_img h2 {
		width: 65% !important;
		font-size: 20px !important;
		padding: 10px 0;
		top: 55px;
		border-width: 2px;
	}
	#index #top_bg_img,
	#lower #top_bg_img {
		background-position: center bottom;
		/* background-size: 255%; */
		background-size: 960px;
		margin-top: -40px;
	}
	#index #main_img,
	#lower #main_img {
		height: 160px;
	}

}