/* Generated by less 3.11.1 */
*,
*:before,
*:after {
  box-sizing: border-box;
}
html {
  font-size: 16px;
  font-family: 'Mplus 1p', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", "Meiryo", sans-serif;
  -webkit-text-size-adjust: 100%;
  -webkit-print-color-adjust: exact;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body {
  background-color: #f7f7f7;
}
textarea {
  resize: none;
}
input[type="submit"],
input[type="button"],
button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
          appearance: none;
}
select {
  width: 100%;
  cursor: pointer;
  border: none;
  padding: 0;
  -webkit-appearance: none;
          appearance: none;
  line-height: normal;
}
a {
  text-decoration: none;
  color: #000;
}
ul {
  zoom: 1;
}
ul:after {
  content: "";
  display: block;
  clear: both;
}
ul.list {
  margin: 1em 0;
  padding-left: 40px;
  list-style-type: disc;
}
ol.list {
  margin: 1em 0;
  padding-left: 40px;
  list-style-type: decimal;
}
/*
//lightsliderのPager内側処理とカラー
.lSPager{
	@pager_color : #fff;
	@pager_color_active : #38BCA9;
	margin: 0px !important;
	transform: translateY(-50px) !important;
	li{
		a{
			background-color: @pager_color !important;
		}
		&.active{
			a{
				background-color: @pager_color_active !important;
			}
		}
	}
}
*/
.container {
  min-width: 1280px;
}
.sp .container {
  width: 750px;
  min-width: inherit;
}
.inner {
  position: relative;
  width: 1180px;
  height: 100%;
  margin: 0 auto;
}
.sp .inner {
  width: 750px;
}
#google_translate_element {
  position: absolute;
  top: 20px;
  right: 20px;
}
#google_translate_element .goog-te-gadget-icon {
  display: none;
}
#google_translate_element .goog-te-gadget-simple {
  background-color: #e5e5e5 !important;
  border: 1px solid #666 !important;
  padding: 5px 10px  !important;
}
#google_translate_element .goog-te-menu-value span {
  border: none !important;
}
#google_translate_element .goog-te-menu-value span:first-child {
  margin-right: 5px !important;
}
#google_translate_element .goog-te-menu-value img {
  display: none;
}
.sns {
  position: absolute;
  top: 10px;
  right: 150px;
  font-size: 2em;
}
.sns li {
  float: left;
}
.sns li:not(:last-child) {
  margin-right: 15px;
}
.sns li a {
  transition: opacity 0.5s ease-out;
}
.sns li a:hover {
  opacity: 0.5;
  filter: alpha(opacity=50);
  /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)";
  /* IE 8 */
}
.sns span {
  font-size: 16px;
  text-shadow: 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff;
}
.share .facebook {
  background-color: #3b5998;
}
.share .twitter {
  background-color: #00aced;
}
.share a {
  color: #fff;
  display: inline-block;
  padding: 0.2em 0.5em;
  border-radius: 5px;
  transition: opacity 0.5s ease-out;
}
.share a:hover {
  opacity: 0.5;
  filter: alpha(opacity=50);
  /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)";
  /* IE 8 */
}
.disabled {
  opacity: 0.3;
  pointer-events: none;
}
.index header {
  position: relative;
  height: 100vh;
  min-height: 500px;
}
.sp .index header {
  max-height: 200px;
}
.index header p {
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  left: 50px;
  color: #fff;
  font-size: 40px;
}
.index header p .l1 {
  font-weight: bold;
}
.index header p .l2 {
  font-size: 0.6em;
}
.index header::before {
  content: "";
  display: block;
  position: absolute;
  height: 100%;
  width: 100%;
  background-image: url(../img/overlays/01.png);
}
.index header #google_translate_element {
  position: absolute;
  top: 50px;
  right: 50px;
}
.index header .sns {
  position: absolute;
  top: 40px;
  right: 180px;
}
.index header .inner::before {
  content: "";
  position: absolute;
  margin: auto;
  top: 0px;
  bottom: 0;
  left: -150px;
  display: block;
  width: 404px;
  height: 379px;
  opacity: 0.6;
  background-image: url(../img/index_header_hane.png);
  animation: spin 120s linear infinite;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.index section.slider {
  padding: 60px 0;
}
.sp .index section.slider .inner {
  width: 640px;
}
.index section.slider ul li {
  transition: opacity 0.5s ease-out;
}
.index section.slider ul li .img {
  position: relative;
  margin-bottom: 10px;
}
.index section.slider ul li .img .label {
  background-color: #FAED00;
  position: absolute;
  top: 0;
  right: 0;
  font-size: 14px;
  display: inline-block;
  padding: 5px 0;
  width: 100px;
  text-align: center;
}
.index section.slider ul li .ttl {
  font-size: 14px;
  line-height: 1.4em;
}
.index section.slider ul li:hover {
  opacity: 0.5;
  filter: alpha(opacity=50);
  /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)";
  /* IE 8 */
}
.index .contents .inner {
  background-color: #fff;
  padding: 40px;
  zoom: 1;
}
.sp .index .contents .inner {
  padding: 15px;
}
.index .contents .inner:after {
  content: "";
  display: block;
  clear: both;
}
.index .contents .main {
  width: 720px;
  float: left;
}
.index .contents .main .about {
  display: block;
  color: #fff;
  background-color: #006934;
  text-align: center;
  font-size: 26px;
  padding: 50px 100px;
  transition: opacity 0.5s ease-out;
  margin-bottom: 40px;
}
.index .contents .main .about * {
  vertical-align: middle;
}
.index .contents .main .about img {
  margin-right: 10px;
}
.index .contents .main .about:hover {
  opacity: 0.5;
  filter: alpha(opacity=50);
  /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)";
  /* IE 8 */
}
.index .contents .main .more {
  display: block;
  border: 1px solid #595757;
  text-align: center;
  font-size: 22px;
  letter-spacing: 0.02em;
  padding: 0.5em;
  margin-bottom: 40px;
}
.index .contents .main .mail_magazine {
  display: block;
  border: 1px solid #595757;
  background-color: #B4B4B5;
  color: #fff;
  text-align: center;
  font-size: 22px;
  letter-spacing: 0.02em;
  padding: 1.5em 0;
  margin-bottom: 40px;
}
.index .contents .main h2 {
  background-color: #DBDCDC;
  border-left: 10px solid #006934;
  font-size: 22px;
  padding: 0.5em 0;
  padding-left: 1em;
  letter-spacing: 0.02em;
  margin-bottom: 20px;
}
.index .contents .main .img {
  position: relative;
  margin-bottom: 10px;
}
.index .contents .main .img .label {
  background-color: #FAED00;
  position: absolute;
  top: 0;
  right: 0;
  font-size: 14px;
  display: inline-block;
  padding: 5px 0;
  width: 100px;
  text-align: center;
}
.index .contents .main ul.two {
  margin-bottom: 20px;
}
.index .contents .main ul.two li {
  float: left;
  width: calc(50% - 10px);
  transition: opacity 0.5s ease-out;
}
.index .contents .main ul.two li:not(:last-child) {
  margin-right: 20px;
}
.index .contents .main ul.two li .date_author {
  margin-bottom: 10px;
}
.index .contents .main ul.two li .date {
  display: inline-block;
  font-size: 14px;
  font-weight: bold;
  margin-right: 10px;
  vertical-align: middle;
}
.index .contents .main ul.two li .author {
  display: inline-block;
  font-size: 12px;
  background-color: #B4B4B5;
  color: #fff;
  padding: 0.1em 1em;
}
.index .contents .main ul.two li .author::before {
  content: "by ";
}
.index .contents .main ul.two li .ttl {
  font-weight: bold;
  line-height: 1.4em;
  font-size: 18px;
  margin-bottom: 10px;
}
.index .contents .main ul.two li .desc {
  font-size: 14px;
  line-height: 1.4em;
}
.index .contents .main ul.two li:hover {
  opacity: 0.5;
  filter: alpha(opacity=50);
  /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)";
  /* IE 8 */
}
.index .contents .main ul.one {
  margin-bottom: 20px;
}
.index .contents .main ul.one li {
  transition: opacity 0.5s ease-out;
}
.index .contents .main ul.one li .img {
  margin-bottom: 0;
}
.index .contents .main ul.one li .block {
  position: absolute;
  display: block;
  bottom: 0;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.6);
  padding: 10px;
}
.index .contents .main ul.one li .date_author {
  margin-bottom: 10px;
}
.index .contents .main ul.one li .date {
  font-size: 20px;
  margin-right: 10px;
  font-weight: bold;
}
.index .contents .main ul.one li .author {
  display: inline-block;
  font-size: 16px;
  background-color: #B4B4B5;
  color: #fff;
  padding: 0.1em 1em;
}
.index .contents .main ul.one li .author::before {
  content: "by ";
}
.index .contents .main ul.one li .ttl {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.4em;
  margin-bottom: 5px;
}
.index .contents .main ul.one li .desc {
  font-size: 18px;
  line-height: 1.4em;
}
.index .contents .main ul.one li:hover {
  opacity: 0.5;
  filter: alpha(opacity=50);
  /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)";
  /* IE 8 */
}
.index .contents .side {
  float: right;
  width: 340px;
}
.sp .index .contents .side {
  width: 100%;
}
.index .contents .side .search {
  zoom: 1;
  margin-bottom: 20px;
}
.index .contents .side .search:after {
  content: "";
  display: block;
  clear: both;
}
.index .contents .side .search input {
  display: inline-block;
  width: calc(100% - 40px);
  height: 40px;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  border: 1px solid #000;
  float: left;
  padding-left: 10px;
  font-size: 16px;
  border-right: none;
}
.index .contents .side .search button {
  border: 1px solid #000;
  width: 40px;
  height: 40px;
  box-sizing: border-box;
  float: right;
  font-size: 20px;
  transition: opacity 0.5s ease-out;
}
.index .contents .side .search button:hover {
  opacity: 0.5;
  filter: alpha(opacity=50);
  /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)";
  /* IE 8 */
}
.index .contents .side h2 {
  background-color: #006934;
  color: #fff;
  font-size: 20px;
  padding: 0.5em 1em;
  margin-bottom: 10px;
}
.index .contents .side .info {
  margin-bottom: 10px;
}
.index .contents .side .info li a {
  font-size: 14px;
  display: inline-block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 15px 10px;
  border-bottom: 1px solid #ddd;
}
.index .contents .side .info li a::before {
  content: "> ";
  color: #006934;
}
.index .contents .side .info li a .date {
  display: inline-block;
  width: 85px;
}
.index .contents .side .popularity {
  margin-bottom: 10px;
}
.index .contents .side .popularity li a {
  display: block;
  padding: 15px 10px;
  border-bottom: 1px solid #ddd;
  transition: opacity 0.5s ease-out;
  zoom: 1;
}
.index .contents .side .popularity li a:hover {
  opacity: 0.5;
  filter: alpha(opacity=50);
  /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)";
  /* IE 8 */
}
.index .contents .side .popularity li a .block-left {
  width: 120px;
  float: left;
}
.index .contents .side .popularity li a .block-right {
  width: 190px;
  float: right;
}
.sp .index .contents .side .popularity li a .block-right {
  width: 570px;
}
.index .contents .side .popularity li a .block-right .ttl {
  font-weight: bold;
  line-height: 1.4em;
  margin-bottom: 5px;
}
.index .contents .side .popularity li a .block-right .date {
  font-size: 12px;
}
.index .contents .side .popularity li a .block-right .date {
  font-size: 12px;
  margin-right: 5px;
}
.index .contents .side .popularity li a .block-right .author {
  display: inline-block;
  font-size: 12px;
  background-color: #B4B4B5;
  color: #fff;
  padding: 2px 5px;
}
.index .contents .side .popularity li a .block-right .author::before {
  content: "by ";
}
.index .contents .side .popularity li a:after {
  content: "";
  display: block;
  clear: both;
}
.index .contents .side .more {
  text-align: right;
  margin-bottom: 40px;
}
.index .contents .side .more a {
  font-size: 13px;
  display: inline-block;
  border: 1px solid #595757;
  padding: 4px 10px;
  transition: opacity 0.5s ease-out;
}
.index .contents .side .more a:hover {
  opacity: 0.5;
  filter: alpha(opacity=50);
  /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)";
  /* IE 8 */
}
.index .contents .side .certification_list {
  position: relative;
  display: block;
  transition: opacity 0.5s ease-out;
  margin-bottom: 40px;
}
.index .contents .side .certification_list:hover {
  opacity: 0.5;
  filter: alpha(opacity=50);
  /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)";
  /* IE 8 */
}
.index .contents .side .certification_list .txt {
  position: absolute;
  bottom: 0;
  width: 100%;
  text-align: center;
  color: #fff;
  background-color: #604C3F;
  padding: 0.8em 0;
}
.index .contents .side .use_to_logo {
  display: block;
  background-color: #006934;
  text-align: center;
  color: #fff;
  padding: 40px 0;
  line-height: 1.4em;
  transition: opacity 0.5s ease-out;
}
.index .contents .side .use_to_logo:hover {
  opacity: 0.5;
  filter: alpha(opacity=50);
  /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)";
  /* IE 8 */
}
.item header {
  height: 60px;
}
.item section .hero {
  margin-top: 50px;
  margin-bottom: 50px;
}
.item section h2 {
  text-align: center;
  font-size: 28px;
  letter-spacing: 0.05em;
  margin-bottom: 50px;
}
.item section h2 img {
  margin-right: 5px;
}
.item section .group {
  zoom: 1;
  margin-bottom: 50px;
}
.item section .group:after {
  content: "";
  display: block;
  clear: both;
}
.item section .group .left {
  width: 550px;
  float: left;
  margin-right: 50px;
}
.item section .group .left .img {
  width: 550px;
  height: 400px;
}
.sp .item section .group .left {
  width: 100%;
  margin: 0;
  margin-bottom: 50px;
}
.sp .item section .group .left .img {
  margin: 0 auto;
}
.item section .group .right {
  width: 580px;
  float: left;
}
.item section .group .right h3 {
  border-bottom: 1px solid #666;
  font-size: 24px;
  font-weight: bold;
  padding-bottom: 15px;
}
.item section .group .right h3 img {
  vertical-align: middle;
}
.item section .group .right p {
  padding: 20px 20px;
  line-height: 1.6em;
}
.item section .group .right p .hr {
  border-bottom: 1px solid #999;
  width: 100%;
  display: block;
  margin-top: 20px;
  margin-bottom: 20px;
}
.item section .group .right p a {
  font-size: 0.8em;
  transition: opacity 0.5s ease-out;
}
.item section .group .right p a:hover {
  opacity: 0.5;
  filter: alpha(opacity=50);
  /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)";
  /* IE 8 */
}
.sp .item section .group .right {
  margin-left: 80px;
}
.item section .back {
  display: block;
  text-align: center;
  background-color: #656565;
  color: #fff;
  width: 300px;
  padding: 20px 0px;
  margin: 0 auto;
  transition: opacity 0.5s ease-out;
  margin-bottom: 100px;
}
.item section .back:hover {
  opacity: 0.5;
  filter: alpha(opacity=50);
  /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)";
  /* IE 8 */
}
.list header {
  height: 60px;
}
.list section .hero {
  margin-top: 50px;
  margin-bottom: 50px;
}
.list section h2 {
  text-align: center;
  font-size: 28px;
  letter-spacing: 0.05em;
  margin-bottom: 50px;
}
.list section h2 img {
  margin-right: 5px;
}
.list section h3 {
  border-bottom: 1px solid #000;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 50px;
  padding-bottom: 10px;
}
.sp .list section h3 {
  margin-left: 20px;
  margin-right: 20px;
}
.list section ul.items li {
  text-align: center;
  float: left;
  width: 393px;
  margin-bottom: 30px;
}
.sp .list section ul.items li {
  width: 375px;
}
.list section ul.items li .img {
  position: relative;
  width: 300px;
  height: 300px;
  margin: 0 auto;
  margin-bottom: 10px;
}
.list section ul.items li .img img {
  position: absolute;
  right: 15px;
  top: 15px;
}
.list section ul.items li h4 {
  text-align: center;
  font-weight: bold;
  margin-bottom: 15px;
}
.list section ul.items li h4 span {
  border-bottom: 1px solid #666;
}
.list section ul.items li a {
  display: block;
  text-align: center;
  background-color: #656565;
  color: #fff;
  width: 180px;
  padding: 10px 0px;
  margin: 0 auto;
  transition: opacity 0.5s ease-out;
}
.list section ul.items li a:hover {
  opacity: 0.5;
  filter: alpha(opacity=50);
  /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)";
  /* IE 8 */
}
.concept header {
  height: 60px;
}
.concept section .hero {
  margin-top: 50px;
  margin-bottom: 50px;
}
.concept section h2 {
  text-align: center;
  font-size: 28px;
  letter-spacing: 0.05em;
  margin-bottom: 50px;
}
.concept section h2 img {
  margin-right: 5px;
}
.concept section .design01 {
  position: relative;
  height: 950px;
}
.sp .concept section .design01 {
  height: auto;
  margin-bottom: 50px;
}
.concept section .design01 .deco01 {
  color: #006934;
  font-size: 27px;
  line-height: 1.4em;
  position: absolute;
  top: 250px;
  left: 80px;
}
.sp .concept section .design01 .deco01 {
  position: relative;
  top: inherit;
  left: inherit;
  right: inherit;
  text-align: center;
  margin: 20px 0;
}
.concept section .design01 .deco02 {
  position: absolute;
  top: 0;
  left: 400px;
}
.sp .concept section .design01 .deco02 {
  position: relative;
  top: inherit;
  left: 50%;
  right: inherit;
  display: block;
  transform: translateX(-50%);
  margin: 20px 0;
}
.concept section .design01 .deco03 {
  position: absolute;
  top: 150px;
  right: 40px;
}
.sp .concept section .design01 .deco03 {
  position: relative;
  top: inherit;
  left: 50%;
  right: inherit;
  display: block;
  transform: translateX(-50%);
  margin: 20px 0;
}
.concept section .design01 .deco04 {
  position: absolute;
  top: 380px;
  left: 260px;
}
.sp .concept section .design01 .deco04 {
  position: relative;
  top: inherit;
  left: 50%;
  right: inherit;
  display: block;
  transform: translateX(-50%);
  margin: 50px 0;
}
.concept section .design01 .deco05 {
  font-size: 18px;
  width: 680px;
  position: absolute;
  right: 80px;
  top: 680px;
  line-height: 1.8em;
}
.sp .concept section .design01 .deco05 {
  position: relative;
  top: inherit;
  left: inherit;
  right: inherit;
  display: block;
  width: 100%;
  padding: 0 50px;
  text-align: center;
  margin: 50px 0;
}
.concept section .design02 {
  position: relative;
  margin-bottom: 100px;
}
.concept section .design02 img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.sp .concept section .design02 {
  display: none;
}
.concept section .design03 {
  position: relative;
  height: 900px;
}
.sp .concept section .design03 {
  height: auto;
  margin-bottom: 50px;
}
.concept section .design03 .deco01 {
  position: absolute;
  top: 80px;
  left: 300px;
}
.sp .concept section .design03 .deco01 {
  position: relative;
  top: auto;
  left: 50%;
  display: block;
  transform: translateX(-50%);
  margin: 20px 0;
}
.concept section .design03 .deco02 {
  position: absolute;
}
.sp .concept section .design03 .deco02 {
  position: relative;
  top: auto;
  left: 50%;
  display: block;
  transform: translateX(-50%);
  margin: 20px 0;
}
.concept section .design03 .deco03 {
  position: absolute;
  top: 300px;
  left: 60px;
}
.sp .concept section .design03 .deco03 {
  position: relative;
  top: auto;
  left: 50%;
  display: block;
  transform: translateX(-50%);
  margin: 20px 0;
}
.concept section .design03 .deco04 {
  font-size: 18px;
  line-height: 1.8em;
  position: absolute;
  right: 50px;
  width: 400px;
}
.sp .concept section .design03 .deco04 {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  width: 100%;
  padding: 0 50px;
  display: block;
  margin: 50px 0;
  text-align: center;
}
.certification header {
  height: 60px;
}
.certification section {
  text-align: center;
  padding: 100px 0;
}
.certification section h2 {
  font-size: 25px;
  margin-bottom: 50px;
}
.certification section h2 strong {
  border-bottom: 4px solid #006934;
}
.certification section p {
  padding: 50px;
  margin: 0 20px;
  line-height: 1.8em;
}
.certification section p a {
  color: cadetblue;
  transition: opacity 0.5s ease-out;
}
.certification section p a:hover {
  opacity: 0.5;
  filter: alpha(opacity=50);
  /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)";
  /* IE 8 */
}
.article header {
  height: 60px;
}
.article main .inner {
  zoom: 1;
  background-color: #fff;
  padding: 20px;
  margin: 50px auto;
}
.article main .inner:after {
  content: "";
  display: block;
  clear: both;
}
.article main h2 {
  text-align: center;
  font-size: 30px;
  margin-bottom: 50px;
  letter-spacing: 0.05em;
}
.article main h2 span {
  border-bottom: 5px solid #006934;
}
.article main aside {
  float: left;
  width: 340px;
  zoom: 1;
}
.sp .article main aside {
  width: 100%;
}
.article main aside h3 {
  background-color: #006934;
  color: #fff;
  font-size: 20px;
  padding: 0.5em 1em;
  margin-bottom: 10px;
}
.article main aside .archives ul {
  padding: 20px;
}
.article main aside .archives ul li {
  font-size: 20px;
  margin-bottom: 10px;
}
.article main aside:after {
  content: "";
  display: block;
  clear: both;
}
.article main section {
  float: right;
  width: 720px;
  zoom: 1;
}
.article main section h3 {
  background-color: #DBDCDC;
  border-left: 10px solid #006934;
  font-size: 22px;
  padding: 0.5em 0;
  padding-left: 1em;
  letter-spacing: 0.02em;
  margin-bottom: 20px;
  font-weight: bold;
}
.article main section:after {
  content: "";
  display: block;
  clear: both;
}
.article main section .post .date {
  margin-bottom: 10px;
}
.article main section .post h4 {
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: bold;
}
.article main section .post h5 {
  font-size: 14px;
  border-bottom: 1px dotted #000;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
.article main section .post .link {
  width: 100%;
  zoom: 1;
  margin: 20px 0;
}
.article main section .post .link:after {
  content: "";
  display: block;
  clear: both;
}
.article main section .post .link .prev {
  float: left;
}
.article main section .post .link .next {
  float: right;
}
.contact header {
  height: 60px;
}
.contact main .inner {
  zoom: 1;
  background-color: #fff;
  padding: 40px;
  margin: 50px auto;
}
.contact main .inner:after {
  content: "";
  display: block;
  clear: both;
}
.contact main h2 {
  text-align: center;
  font-size: 30px;
  margin-bottom: 50px;
  letter-spacing: 0.05em;
}
.contact main h2 span {
  border-bottom: 5px solid #006934;
}
.contact main form {
  margin: 0 auto;
  max-width: 500px;
}
.contact main form label {
  display: block;
  margin-bottom: 10px;
}
.contact main form input {
  display: block;
  margin-bottom: 20px;
  width: 100%;
  font-size: 20px;
  padding: 5px;
  border: 1px solid #999;
  border-radius: 5px;
}
.contact main form textarea {
  width: 100%;
  height: 20em;
  font-size: 20px;
  padding: 5px;
  border: 1px solid #999;
  border-radius: 5px;
}
.contact main form button {
  background-color: #006934;
  color: #fff;
  padding: 5px 30px;
  font-size: 20px;
  margin: 20px auto;
  display: block;
  border-radius: 5px;
  transition: opacity 0.5s ease-out;
}
.contact main form button:hover {
  opacity: 0.5;
  filter: alpha(opacity=50);
  /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)";
  /* IE 8 */
}
nav {
  position: relative;
  height: 80px;
  background-color: #fff;
  border-top: 5px solid #006934;
  box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.3);
}
nav h1 {
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  left: 0px;
}
.sp nav h1 {
  transform: translate(-50%, -50%);
  left: 50%;
}
nav ul {
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  right: 0px;
  font-size: 16px;
}
nav ul li {
  float: left;
}
nav ul li:not(:last-child) {
  margin-right: 40px;
}
nav ul li a {
  border-bottom: 1px dotted #fff;
}
nav ul li a:hover,
nav ul li a.active {
  border-bottom: 1px dotted #006934;
  transition: 0.5s ease-out;
}
footer {
  background-color: #717071;
  color: #fff;
}
footer .inner {
  padding: 40px;
  zoom: 1;
}
footer .inner:after {
  content: "";
  display: block;
  clear: both;
}
footer .hr {
  border-top: 1px solid #DBDCDC;
}
footer h2 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
}
footer .tags_subnav {
  width: calc((100% - 40px) / 2);
  float: left;
  margin-right: 10px;
}
.sp footer .tags_subnav {
  width: 100%;
}
footer .tags_subnav ul li {
  float: left;
}
footer .tags_subnav ul li a {
  display: inline-block;
  color: #fff;
  background-color: #3E3A39;
  margin-right: 10px;
  margin-bottom: 10px;
  font-size: 14px;
  padding: 0.4em 1em;
}
footer .about {
  width: calc((100% - 40px) / 2);
  float: left;
}
.sp footer .about {
  width: 100%;
}
footer .about img {
  margin-bottom: 10px;
}
footer .about p {
  line-height: 1.6em;
  font-size: 14px;
}
footer address {
  font-size: 14px;
  line-height: 1.4em;
  float: left;
  margin-right: 20px;
}
.sp footer address {
  display: block;
  float: inherit;
  width: 100%;
  margin-bottom: 10px;
  text-align: center;
}
footer .tel_email {
  font-size: 14px;
  line-height: 1.4em;
  float: left;
}
.sp footer .tel_email {
  display: block;
  float: inherit;
  width: 100%;
  margin-bottom: 10px;
  text-align: center;
}
footer small {
  font-size: 14px;
  float: right;
}
.sp footer small {
  display: block;
  float: inherit;
  width: 100%;
  margin-bottom: 10px;
  text-align: center;
}
.drawer-hamburger {
  background-color: rgba(255, 255, 255, 0.85) !important;
}
.drawer-nav {
  z-index: 100 !important;
}
.drawer-nav .drawer-menu li {
  margin-bottom: 1.5rem !important;
}
.drawer-nav .drawer-menu .drawer-menu-item {
  font-size: 1.5rem !important;
}
