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

	CSS Information
		File Name: layout.css

******************************************************************* */

/* [] WRAPPER
----------------------------------------------*/
.wrap {
	width: 1024px;
	margin: 0 auto;
	position: relative;
}
.wrap:before,
.wrap:after {
    content: " ";
    display: table;
}
.wrap:after {
    clear: both;
}

	@media screen and (max-width: 767px) {
		.wrap {
			width: 100%;
		}
	}




/* [] HEADER
----------------------------------------------*/
#header {
	width: 100%;
	height: 175px;
	position: relative;
	background: #f6f6f6;
}
#header:before,
#header:after {
    content: " ";
    display: table;
}
#header:after {
    clear: both;
}
	@media screen and (max-width: 767px) {
		#header {
			height: 48px;
			position: fixed;
			left: 0;
			top: 0;
			z-index: 9999;
		}
	}

#header .wrap {
	height: 100%;
}


/** logo **/
#header .logo {
	width: 220px;
	height: 48px;
	position: absolute;
	left: 0;
	top: 37px;
	background-image: url(../img/logo-header.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% auto;
	text-indent: -9999px;
}
#header .logo a {
	display: block;
}
	@media screen and (max-width: 767px) {
		#header .logo {
			width: 110px;
			height: 24px;
			left: 16px;
			top: 0;
			bottom: 0;
			margin: auto;
		}
	}


/** link **/
#header .link {
	width: 260px;
	height: 66px;
	position: absolute;
	top: 0;
	right: 0;
}
#header .link a img {
	width: 100%;
	height: auto;
}


/** tel **/
#header .tel {
	width: calc(177px/ 2);
	height: calc(48px/ 2);
	position: absolute;
	top: 0;
	right: 64px;
	bottom: 0;
	margin: auto;
}
#header .tel a img {
	width: 100%;
	height: auto;
}


/** search **/
#header .search {
	width: 262px;
	height: 32px;
	position: absolute;
	top: 36px;
	right: 270px;
}
	@media screen and (max-width: 767px) {
		#header .search {
			width: 100%;
			height: 32px;
			margin-bottom: 4%;
			position: relative;
			top: auto;
			right: auto;
		}
	}

#header .search form {
	border: 1px solid rgb(211, 211, 211);
	background-color: #fff;
	overflow: hidden;
}
#header .search input[type=text] {
	width: 90%;
	height: 28px;
	padding: 1% 5%;
	border: 0;
	-webkit-appearance: none;
}
	@media screen and (max-width: 767px) {
		#header .search input[type=text] {
			width: 85%;
		}
	}

#header .search input[type="submit"] {
	width: 24px;
	height: 24px;
	padding: 0;
	background-color: #fff;
	background-image: url(../img/ico-search.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 16px 16px;
	border: none;
	border-radius: 0;
	text-indent: -9999px;
	-webkit-appearance: none;
	cursor: pointer;
}




/* [] NAVIGATION
----------------------------------------------*/
/** global navi **/
#nav-gl {
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	font-weight: bold;
	font-size: 0;
}

	@media screen and (max-width: 767px) {
		#nav-gl {
			display: none;
			width: 80%;
			height: auto;
			padding: 4.8%;
			overflow-y: scroll;
			overflow-x: hidden;
			-webkit-overflow-scrolling: touch;
			-ms-overflow-style: -ms-autohiding-scrollbar;
			position: fixed;
			left: auto;
			right: 0;
			top: 0;
			z-index: 9999;
			background: #007b52;
			box-shadow: 0px 0px 5px rgba(0,0,0,.5);
		}

		/* ボタン */
		.btn-open {
			width: 48px;
			height: 48px;
			background-color: #009966;
			background-image: url(../img/nav-gl-btn.png);
			background-repeat: no-repeat;
			background-position: center center;
			background-size: 18px auto;
			position: absolute;
			right: 0;
			top: 0;
			bottom: 0;
			z-index: 99;
			text-indent: -9999px;
			cursor: pointer;
		}
		.btn-close {
			margin-bottom: 1.6%;
			padding: 2%;
			text-align: right;
			font-size: 14px;
			color: #fff;
			font-weight: normal;
			cursor: pointer;
		}
	}

#nav-gl-list {
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	font-weight: bold;
	font-size: 0;
}
	@media screen and (max-width: 767px) {
		#nav-gl-list {
			position: relative;
			left: auto;
			right: 0;
			top: 0;
		}
	}

#nav-gl-list:before,
#nav-gl-list:after {
    content: " ";
    display: table;
}
#nav-gl-list:after {
    clear: both;
}
#nav-gl-list li.main {
	display: inline-block;
	font-size: 14px;
	border-right:1px solid #dcdcdc;
	position: relative;
}
#nav-gl-list li.main:first-child {
	border-left:1px solid #dcdcdc;
}
	@media screen and (max-width: 767px) {
		#nav-gl-list li.main {
			display: block;
			width: 100%;
			padding: 5.6% 0;
			border-left: none !important;
			border-right: none !important;
			border-bottom: 1px solid #005a3c;
		}
		#nav-gl-list li.main:last-child {
			border: none;
		}
	}

#nav-gl-list li.main > a {
	display: table-cell;
	width: 126px;
	height: 50px;
	color: #342626;
	text-align: center;
	vertical-align: middle;
	background-position: center bottom;
}
	@media screen and (max-width: 767px) {
		#nav-gl-list li.main > a {
			width: 100%;
			height: auto;
			color: #fff;
		}
	}

#nav-gl-list li.main.now > a,
#nav-gl-list li.main > a:hover {
	color: #089b68;
}
#nav-gl-list li.main > a:hover {
	text-decoration: none;
}
	@media screen and (max-width: 767px) {
		#nav-gl-list li.main > a,
		#nav-gl-list li.main.now > a,
		#nav-gl-list li.main > a:hover {
			display: block;
			text-align: left;
			color: #fff;
			background-image: none;
		}
	}

#nav-gl-list li.main > a i {
	display: none;
}
	@media screen and (max-width: 767px) {
		#nav-gl-list li.main > a i {
			display: inline-block;
			margin-right: 0.2em;
		}
	}

/* sub */
#nav-gl-list .sub {
	display: none;
	padding: 9px 0 0 0;
	position: absolute;
	top: 40px;
	z-index: 9999;
	background-image: url(../img/bg-nav-now.png);
	background-repeat: no-repeat;
	background-position: 60px 0;
	background-size: 11px auto;
}
	@media screen and (max-width: 767px) {
		#nav-gl-list .sub {
			display: block;
			width: 100%;
			position: relative;
			z-index: auto;
			top: 0;
			background-image: none;
		}
	}

#nav-gl-list .sub > ul {
	width: 200px;
}
	@media screen and (max-width: 767px) {
		#nav-gl-list .sub > ul {
			width: auto;
		}
	}

#nav-gl-list .sub > ul li {
	background-color: rgba(0, 65, 42, .75);
	border-bottom: 1px dotted #005a3c;
}
#nav-gl-list .sub ul li:last-child {
	border: none;
}
	@media screen and (max-width: 767px) {
		#nav-gl-list .sub ul li {
			display: block;
			font-weight: normal;
			background: none;
		}
	}

#nav-gl-list .sub > ul li a {
	display: block;
	line-height: 40px;
	padding: 0 16px;
	color: #fff;
}
#nav-gl-list .sub > ul li a:hover {
	background: #fff;
	color: #089b68;
	text-decoration: none;
}
	@media screen and (max-width: 767px) {
		#nav-gl-list .sub > ul li a {
			display: block;
			padding: 0 1em;
			line-height: 40px;
		}
		#nav-gl-list .sub > ul li a:hover {
			background: none;
			color: #fff;
		}
	}

#nav-gl-list li.main.now .sub > a {
	background-color: #474747;
	color: #fff;
}

#nav-gl-list .sub li.sub_child a {
	padding: 6px 10px 6px 25px;
}


/** breadCrumbs **/
#breadCrumbs {
	padding: 2px 0;
	background: #e6e6e6;
	color: #9d9d9d;
}
#breadCrumbs ul {
	overflow: hidden;
}
	@media screen and (max-width: 767px) {
		#breadCrumbs {
			padding: 0;
			font-size: 9px;
		}
		#breadCrumbs .wrap {
			padding: 1em;
		}
	}

#breadCrumbs li {
	display: inline;
	font-size: 85%;
}
#breadCrumbs li a {
	color: #9d9d9d;
}
#breadCrumbs li a:hover {
	color: #009966;
}




/* [] CONTENT
----------------------------------------------*/
/** container **/
	@media screen and (max-width: 767px) {
		#container {
			margin-top: 48px;
		}
	}


/** main **/
main {
	display: block;
	width: 100%;
	background-image: /*url(../img/bg-venn7.png), */url(../img/bg-tree.png);
	background-position: /*8% -5%, */92% bottom;
	background-repeat: no-repeat;
	background-attachment: fixed;
}
main:before,
main:after {
    content: " ";
    display: table;
}
main:after {
    clear: both;
}

/* index */
	@media screen and (max-width: 767px) {
		#index {
			padding: 4%;
		}
	}


/* sub */
	@media screen and (max-width: 767px) {
		#sub {
			padding: 4%;
		}
	}




/* [] BANNER
----------------------------------------------*/
#banner {
	padding: 2.4%;
	background: #fff;
}
	@media screen and (max-width: 767px) {
		#banner {
			padding: 5.6% 4%;
		}
	}

#banner ul {
	overflow :hidden;
}
#banner ul li {
	float: left;
	width: 240px;
}
#banner ul li:first-child {
	width: 511px;
	margin-right: 16px;
}
#banner ul li:nth-child(2),
#banner ul li:nth-child(4) {
	margin-right: 10px;
}
#banner ul li:nth-child(2),
#banner ul li:nth-child(3) {
	margin-bottom: 10px;
}
	@media screen and (max-width: 767px) {
		#banner ul li {
			float: none;
			width: 100% !important;
			margin-bottom: 2.4%;
			border: 1px solid #cacaca;
		}
		#banner ul li:last-child {
			margin-bottom: 0;
		}
	}

#banner ul li a img {
	width: 100%;
	height: auto;
}




/* [] CTA
----------------------------------------------*/
#cta {
	padding: 2.4%;
	background: #e7f2d8;
}
	@media screen and (max-width: 767px) {
		#cta {
			padding: 5.6% 4%;
		}
	}

#cta .wrap {
	display: table;
	table-layout: fixed;
}
#cta .wrap .txt,
#cta .wrap .btx {
	display: table-cell;
	width: 50%;
}
	@media screen and (max-width: 767px) {
		#cta .wrap .txt,
		#cta .wrap .btx {
			display: block;
			width: 100%;
		}
	}

#cta .wrap .txt {
	padding-right: 5%;
	font-size: 95%;
}
	@media screen and (max-width: 767px) {
		#cta .wrap .txt {
			padding: 0;
			margin-bottom: 3.2%;
		}
	}

#cta .wrap .txt .ttl {
	margin-bottom: 2.4%;
	color: #099b68;
	font-size: 24px;
}
	@media screen and (max-width: 767px) {
		#cta .wrap .txt .ttl {
			font-size: 16px;
			text-align: center;
		}
	}

#cta .wrap .btx .cta-btn {
	display: inline-block;
	text-align: center;
	font-weight: bold;
	line-height: 62px;
}
	@media screen and (max-width: 767px) {
		#cta .wrap .btx .cta-btn {
			line-height: 48px;
		}
	}

#cta .cta-btn.n1 {
	margin-right: 2%;
}
	@media screen and (max-width: 767px) {
		#cta .cta-btn.n1 {
			margin-right: 2%;
		}
	}

#cta .cta-btn.n1,
#cta .cta-btn.n2 {
	width: 48%;
	margin-bottom: 2.4%;
	background: #fff;
	color: #099b68;
}

#cta .cta-btn.n3 {
	width: 100%;
	color: #fff;
	background: #099b68;
}




/* [] FOOTER
----------------------------------------------*/
#footer {
	font-size: 12px;
	color: #4e4e4e;
	background-color: #ebebeb;
	overflow :hidden;
}


/** go top **/
#goTop {
	display: block;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: #099b68;
	color: #fff;
	position: fixed;
	bottom: 5%;
	right: 5%;
	font-size: 24px;
	text-align: center;
	line-height: 60px;
	z-index: 999;
}
	@media screen and (max-width: 767px) {
		#goTop {
			width: 60px;
			height: 60px;
			line-height: 60px;
		}
	}

#goTop a {
	display: block;
}
/*	@media screen and (max-width: 767px) {
		#goTop a {
			display: block;
			width: 150px;
			height: 100px;
			margin: 0 auto;
			background-image: url(//footies.s3.amazonaws.com/img/header-logo.png);
			background-repeat: no-repeat;
			background-position: center bottom;
			background-size: 150px 35px;
		}
	}*/

#goTop a .fa {
	color: #919191;
	font-size: 64px;
}
	@media screen and (max-width: 767px) {
		#goTop a .fa {
			color: #919191;
			font-size: 64px;
		}
	}


#footer .link {
	padding: 3.2% 0;
	overflow: hidden;
}
	@media screen and (max-width: 767px) {
		#footer .link {
			padding: 0;
			background: #4a4a4a;
			color: #fff;
		}
	}


/** linklist **/
#footer .link-list {
	width: 16%;
	float: left;
	margin: 0 .65% 2% 0;
	overflow: hidden;
}
#footer .link-list:last-child {
	width: 100%;
}
	@media screen and (max-width: 767px) {
		#footer .link-list {
			width: 49.9%;
			height: auto !important;
			margin: 0;
		}
		#footer .link-list:last-child {
			width: 100%;
			margin: 0;
			padding: 1.6% 2.4% 3.2%;
			border-bottom: none;
			border-top: 1px dotted #747474;
		}
	}

#footer .link-list dt {
	margin-bottom: 8px;
	padding: 0 0 10px 0;
	background-image: url(../img/bg-dot-normal.png);
	background-repeat: repeat-x;
	background-position: left bottom;
	font-size: 14px;
	font-weight: bold;
}
	@media screen and (max-width: 767px) {
		#footer .link-list dt {
			margin: 0;
			padding: 8px 16px 8px;
			background: none;
			border-right: 1px dotted #747474;
			border-bottom: 1px dotted #747474;
		}
		#footer .link-list:nth-last-child(2) dt {
			border-bottom: none;

		}
	}

#footer .link-list dt a {
	display: block;
	color: #4e4e4e;
}
	@media screen and (max-width: 767px) {
		#footer .link-list dt a {
			color: #fff;
			font-size: 90%
		}
	}

#footer .link-list dt a:hover {
	text-decoration: none;
	color: #009966;
}

#footer .link-list dt a > span {
	display: inline-block;
	padding: 0 8px 0 0;
}
#footer .link-list dt a > span .fa {
	margin: 0 2px 0 0;
	color: #009966;
}
#footer .link-list dd {
	padding: 0 0 0 1em;
}
#footer .link-list:last-child dd {
	display: inline-block;
}
	@media screen and (max-width: 767px) {
		#footer .link-list dd {
			display: none;
		}

		/* サポートメニュー */
		#footer .link-list:last-child dt {
			display: none;
		}
		#footer .link-list:last-child dd a {
			color: #fff;
		}
	}

#footer .link-list dd .fa {
	margin: 0 5px 0 0;
}
#footer .link-list dd a {
	color: #4e4e4e;
}


/** copyright **/
#footer .copy {
	padding: 0 0 1.6% 0;
	border-bottom: 10px solid #009966;
}
	@media screen and (max-width: 767px) {
		#footer .copy {
			padding: 4.8%;
			text-align: center;
			font-size: 10px;
		}
	}

#footer .copy .logo-company {
	display: block;
	width: 220px;
	height: 48px;
	float: left;
	margin: 0 18px 0 0;
	background-image: url(../img/logo-header.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% auto;
	text-indent: -9999px;
}
	@media screen and (max-width: 767px) {
		#footer .copy .logo-company {
			display: inline-block;
			float: none;
			margin: 4.8% 0;
		}
	}

#footer .copy span {
	display: inline-block;
	line-height: 1;
}
