@charset "UTF-8";
/*****基本設定*****/
/* reset
----------------------------------------------------*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font-weight: normal;
  font-style: normal;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

input, select {
  vertical-align: middle; }

img {
  border: none;
  vertical-align: top; }

li {
  list-style-type: none; }

/* base
----------------------------------------------------*/
html {
  font-size: 62.5%; }

body {
  font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, 'メイリオ', Osaka, 'MS PGothic', helvetica, arial, sans-serif;
  color: #404040;
  line-height: 1.6;
  font-size: 15px;
  font-size: 1.5rem;
  -webkit-font-smoothing: antialiased; }

/* link
----------------------------------------------------*/
a {
  color: #323232; }
  a:link {
    text-decoration: underline; }
  a:visited {
    text-decoration: underline; }
  a:hover {
    text-decoration: none; }
  a:active {
    text-decoration: none; }

/* clear
----------------------------------------------------*/
.clear {
  zoom: 1;
  display: block; }

/* font
----------------------------------------------------*/
@font-face {
  font-family: 'lawson';
  src: url("../fonts/lawson.eot?e7uh1r");
  src: url("../fonts/lawson.eot?e7uh1r#iefix") format("embedded-opentype"), url("../fonts/lawson.ttf?e7uh1r") format("truetype"), url("../fonts/lawson.woff?e7uh1r") format("woff"), url("../fonts/lawson.svg?e7uh1r#lawson") format("svg");
  font-weight: normal;
  font-style: normal; }
[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'lawson' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-mail:before {
  content: "\e901"; }

.icon-search:before {
  content: "\e902"; }

.icon-map:before {
  content: "\e903"; }

.icon-chara:before {
  content: "\e900"; }

.icon-intro:before {
  content: "\e904"; }

.icon-work:before {
  content: "\e905"; }

.icon-view:before {
  content: "\e906"; }

.icon-step:before {
  content: "\e907"; }

.icon-voice:before {
  content: "\e908"; }

.icon-q:before {
  content: "\e909"; }

.icon-download:before {
  content: "\e90a"; }

.icon-time:before {
  content: "\e90b"; }

/* end */
/* basic
----------------------------------------------------------- */
@media screen and (max-width: 1000px) {
  body {
    padding-bottom: 105px; } }
/* header
----------------------------------------------------------- */
#header {
  position: relative;
  z-index: 10000;
  margin: 0 0 10px 0;
  background: url(../images/bg.png) repeat left top;
  border-bottom: 5px solid #de0a2c; }
  #header.fixed {
    position: fixed;
    top: -27px;
    width: 100%; }
  @media screen and (max-width: 1000px) {
    #header {
      width: 100%;
      height: 40px;
      background: #fff;
      margin: 0;
      padding: 10px;
      box-sizing: border-box;
      border: none;
      -moz-box-shadow: 0 5px 5px rgba(0, 0, 0, 0.25);
      -webkit-box-shadow: 0 5px 5px rgba(0, 0, 0, 0.25);
      box-shadow: 0 5px 5px rgba(0, 0, 0, 0.25);
      text-align: center; } }

.header_inner {
  border-bottom: 3px solid #fff; }

.header_text {
  height: 27px;
  background: #fff; }
  .header_text h1, .header_text p {
    width: 1000px;
    margin: 0 auto;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 27px;
    text-align: right;
    color: #666; }
    @media screen and (max-width: 1000px) {
      .header_text h1, .header_text p {
        width: auto; } }
  @media screen and (max-width: 1000px) {
    .header_text {
      display: none; } }

.header_inner2 {
  position: relative;
  width: 1000px;
  margin: 0 auto; }
  @media screen and (max-width: 1000px) {
    .header_inner2 {
      width: auto; } }

.header_logo {
  position: absolute;
  display: block;
  left: 0;
 }
  @media screen and (max-width: 1000px) {
    .header_logo {
      position: static; } }
  .header_logo a {
    display: block;
    width: 209px;
    height: 64px;
    padding: 15px 0 0 0;
    box-sizing: border-box;
    background-color: white;
    /*-moz-box-shadow: 0 7px 7px rgba(27, 27, 27, 0.2);
    -webkit-box-shadow: 0 7px 7px rgba(27, 27, 27, 0.2);
    box-shadow: 0 7px 7px rgba(27, 27, 27, 0.2);*/
    text-align: center; }
    @media screen and (max-width: 1000px) {
      .header_logo a {
        width: auto;
        height: auto;
        padding: 0;
        -moz-box-shadow: initial;
        -webkit-box-shadow: initial;
        box-shadow: initial; } }
  .header_logo svg {
    width: 170px;
    height: 30px;
    fill: #2a7939; }
    @media screen and (max-width: 1000px) {
      .header_logo svg {
        width: 113px;
        height: 20px; } }

.global {
  display: table;
  width: 100%;
  box-sizing: border-box;
  height: 64px;
  padding: 0 0 0 209px; }
  @media screen and (max-width: 1000px) {
    .global {
      position: fixed;
      left: 0;
      bottom: 0;
      z-index: 10000;
      display: block;
      height: 106px;
      padding: 0;
      background: url(../images/bg.png) repeat left top;
      background-size: 2px 2px; } }
  .global li {
    display: table-cell;
    border-right: 1px dashed #fff; }
    @media screen and (max-width: 1000px) {
      .global li {
        display: block;
        float: left;
        width: 50%;
        box-sizing: border-box;
        border: none; }
        .global li.global01 {
          display: none; }
        .global li.global02 {
          border-bottom: 1px solid #fff; }
        .global li.global03 {
          border-right: 1px solid #fff; } }
    .global li a {
      display: block;
      padding: 0 30px;
      line-height: 64px;
      text-shadow: 0 0 7px rgba(19, 66, 28, 0.3);
      color: #fff;
      font-size: 16px;
      font-size: 1.6rem;
      text-align: center;
      text-decoration: none; }
      .global li a i {
        display: none; }
      @media screen and (max-width: 1000px) {
        .global li a {
          padding: 0;
          line-height: 52px;
          font-size: 15px;
          font-size: 1.5rem; }
          .global li a i {
            display: inline-block;
            margin: 0 5px 0 0;
            font-size: 15px;
            font-size: 1.5rem;
            vertical-align: -1px; } }
      @media screen and (min-width: 1000px) {
        .global li a:hover {
          background: rgba(0, 0, 0, 0.15); } }
      @media screen and (max-width: 1000px) {
        .global li a.hover {
          background: rgba(0, 0, 0, 0.15); } }
    .global li.current a {
      background: rgba(0, 0, 0, 0.15); }
    .global li.global04 {
      border-right: 1px solid #fff; }
      @media screen and (max-width: 1000px) {
        .global li.global04 {
          border: none; } }
    .global li.global05 {
      border-right: 1px solid #fff; }
      @media screen and (max-width: 1000px) {
        .global li.global05 {
          border-bottom: 1px solid #fff; } }
      .global li.global05 a {
        background: #de0a2c; }
        @media screen and (min-width: 1000px) {
          .global li.global05 a:hover {
            background: #f52647; } }
        @media screen and (max-width: 1000px) {
          .global li.global05 a.hover {
            background: #f52647; } }
        .global li.global05 a i {
          display: inline-block;
          margin: 0 5px 0 0;
          font-size: 22px;
          font-size: 2.2rem;
          vertical-align: -3px; }
          @media screen and (max-width: 1000px) {
            .global li.global05 a i {
              font-size: 15px;
              font-size: 1.5rem;
              vertical-align: -1px; } }

/* visual
----------------------------------------------------------- */
.visual {
  position: relative;
  border-bottom: 6px solid #2a7939;
  overflow: hidden; }
  .visual img {
    width: 100%;
    height: auto; }
  .visual .sp {
    display: none; }
  @media screen and (max-width: 1000px) {
    .visual {
      border-bottom: 3px solid #2a7939; }
      .visual .pc {
        display: none; }
      .visual .sp {
        display: inline; } }

/* common
----------------------------------------------------------- */
.sec {
  padding: 70px 0; }
  @media screen and (max-width: 1000px) {
    .sec {
      padding: 20px 10px; } }

.sec2 {
  padding: 60px 0; }
  @media screen and (max-width: 1000px) {
    .sec2 {
      padding: 20px 10px; } }

span.sp,
img.sp {
  display: none; }

@media screen and (max-width: 1000px) {
  .pcbr {
    display: none; }

  span.pc,
  img.pc {
    display: none; }

  span.sp,
  img.sp {
    display: inline; } }
.lead {
  margin: 0 0 40px 0;
  text-align: center;
  color: #404040;
  line-height: 1.6;
  text-shadow: 1px 1px 2px #fff, 1px -1px 2px #fff, -1px 1px 2px #fff, -1px -1px 2px #fff, 1px 1px 4px #fff, 1px -1px 4px #fff, -1px 1px 4px #fff, -1px -1px 4px #fff; }
  .wrap .lead {
    margin: 0 0 70px 0; }
    @media screen and (max-width: 1000px) {
      .wrap .lead {
        margin: 0 10px 15px; } }
  @media screen and (max-width: 1000px) {
    .lead {
      margin: 0 0 15px 0;
      line-height: 1.5;
      text-shadow: 1px 1px 2px #fff, 1px -1px 2px #fff, -1px 1px 2px #fff, -1px -1px 2px #fff, 1px 1px 4px #fff, 1px -1px 4px #fff, -1px 1px 4px #fff, -1px -1px 4px #fff; 
	  text-align: left;
	  } 
	  }

.large_title {
  margin: 0 0 40px 0;
  text-align: center; }
  @media screen and (max-width: 1000px) {
    .large_title {
      margin: 0 0 15px 0; } }
  .wrap .large_title {
    margin: 0 0 30px 0; }
    @media screen and (max-width: 1000px) {
      .wrap .large_title {
        margin: 0 0 15px 0; } }

 /*
.large_title_lead{
	position: relative;
	display: inline-block;
	margin: 0 0 5px 0;
	padding: 0 0 25px 0;
	@include fz(40);
	font-weight: bold;
	color: $green;
	overflow: hidden;
	line-height: 1;
	text-shadow: 0 0 13px #fff;

	br{
		display: none;
	}

	@include mqSP {
		margin: 0 0 5px 0;
		padding: 0 0 10px 0;
		@include fz(20);
		line-height: 1.2;
		text-shadow: 0 0 6px #fff;

		br{
			display: block;
		}

	}

	i{
		margin: 0 8px 0 0;
		vertical-align: -2px;
		@include fz(35);

		@include mqSP {
			margin: 0 4px 0 0;
			@include fz(18);
			vertical-align: 0;
		}

		&.icon-intro,
		&.icon-step,
		&.icon-voice{
			@include fz(48);

			@include mqSP {
				@include fz(24);
			}

		}
		&.icon-q{
			@include fz(40);

			@include mqSP {
				@include fz(20);
			}

		}

	}

	&:after{
		@include ab(0,0,false,true);
		content: "・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・";
		line-height: 1;
		color: #505050;
		@include fz(18);
		letter-spacing: -0.4em;
		text-align: center;
		text-shadow: 0 0 13px #fff;

		@include mqSP {
			@include fz(9);
			text-shadow: 0 0 6px #fff;
		}

	}

}
.large_title_en{
	@include fz(20);
	font-weight: bold;
	color: $green;
	font-family: helvetica, arial, sans-serif;
	line-height: 1;
	text-shadow: 0 0 13px #fff;

	@include mqSP {
		@include fz(10);
	}

}*/
.small_title {
  margin: 0 0 40px 0;
  text-align: center; }
  @media screen and (max-width: 1000px) {
    .small_title {
      margin: 0 0 10px 0; } }

.small_title_lead {
  position: relative;
  display: inline-block;
  margin: 0 0 10px 0;
  font-size: 30px;
  font-size: 3rem;
  font-weight: bold;
  color: #404040;
  line-height: 1;
  text-shadow: 0 0 7px white; }
  @media screen and (max-width: 1000px) {
    .small_title_lead {
      margin: 0 0 5px 0;
      font-size: 18px;
      font-size: 1.8rem;
      text-shadow: 0 0 4px white; } }
  .small_title_lead i {
    margin: 0 8px 0 0; }
    .small_title_lead i.icon-work {
      font-size: 34px;
      font-size: 3.4rem; }
      @media screen and (max-width: 1000px) {
        .small_title_lead i.icon-work {
          font-size: 17px;
          font-size: 1.7rem; } }
    .small_title_lead i.icon-view {
      vertical-align: -4px;
      font-size: 34px;
      font-size: 3.4rem; }
      @media screen and (max-width: 1000px) {
        .small_title_lead i.icon-view {
          vertical-align: -2px;
          font-size: 17px;
          font-size: 1.7rem; } }
  .green .small_title_lead {
    text-shadow: 0 0 7px #3a6137;
    color: #fff; }

.small_title_en {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  color: #2a7939;
  font-family: helvetica, arial, sans-serif;
  line-height: 1;
  text-shadow: 0 0 7px white; }
  .green .small_title_en {
    color: #d9ebc0;
    text-shadow: initial; }
  @media screen and (max-width: 1000px) {
    .small_title_en {
      font-size: 10px;
      font-size: 1rem;
      text-shadow: 0 0 4px white; } }

.btn_wrap {
  text-align: center; }

.btm_btn {
  padding: 50px 0; }
  @media screen and (max-width: 1000px) {
    .btm_btn {
      padding: 20px 10px; } }

a.btn {
  position: relative;
  display: inline-block;
  background-color: #ffac36;
  border: 2px solid white;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  -moz-box-shadow: 0 0 5px 2px rgba(10, 7, 8, 0.15);
  -webkit-box-shadow: 0 0 5px 2px rgba(10, 7, 8, 0.15);
  box-shadow: 0 0 5px 2px rgba(10, 7, 8, 0.15);
  text-align: center;
  text-shadow: 0 0 6px rgba(255, 138, 0, 0.8);
  color: #fff;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.1;
  font-weight: bold;
  text-decoration: none; }
  a.btn.btn-large {
    padding: 20px 70px 20px 40px; }
    @media screen and (max-width: 1000px) {
      a.btn.btn-large {
        display: block;
        width: 100%;
        box-sizing: border-box;
        padding: 15px 0;
        font-size: 15px;
        font-size: 1.5rem;
        border: 1px solid white;
        -moz-border-radius: 1px;
        -webkit-border-radius: 1px;
        border-radius: 1px;
        -moz-box-shadow: 0 0 2px 1px rgba(10, 7, 8, 0.15);
        -webkit-box-shadow: 0 0 2px 1px rgba(10, 7, 8, 0.15);
        box-shadow: 0 0 2px 1px rgba(10, 7, 8, 0.15); } }
    a.btn.btn-large:after {
      position: absolute;
      display: block;
      right: 30px;
      top: 50%;
      content: "";
      display: block;
      width: 25px;
      height: 25px;
      margin: -12px 0 0 0;
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      -moz-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
      -webkit-filter: drop-shadow(0 0 6px rgba(255, 138, 0, 0.8));
      filter: drop-shadow(0 0 6px rgba(255, 138, 0, 0.8)); }
      @media screen and (max-width: 1000px) {
        a.btn.btn-large:after {
          right: 10px;
          width: 12px;
          height: 12px;
          margin-top: -6px;
          border-width: 1px;
          -webkit-filter: drop-shadow(0 0 3px rgba(255, 138, 0, 0.8));
          filter: drop-shadow(0 0 3px rgba(255, 138, 0, 0.8)); } }
  a.btn:hover {
    background-color: #ffc169; }

.btns {
  display: table;
  margin: 0 auto;
  font-size: 0; }
  .btns li {
    display: table-cell;
    width: 215px;
    padding: 0 10px;
    vertical-align: top; }
    .btns li a.btn {
      display: table-cell;
      width: 215px;
      height: 74px;
      vertical-align: middle; }
      .btns li a.btn:before {
        content: "";
        display: inline-block;
        width: 0;
        height: 0;
        margin: -8px 10px 0 0;
        border-style: solid;
        border-width: 8px 0 8px 10px;
        border-color: transparent transparent transparent #fff;
        -webkit-filter: drop-shadow(0 0 6px rgba(255, 138, 0, 0.8));
        filter: drop-shadow(0 0 6px rgba(255, 138, 0, 0.8)); }
  @media screen and (min-width: 1000px) {
    .index01_03 .btns {
      margin-top: 20px; }
      .index01_03 .btns li a.btn {
        height: 74px;
        padding: 0 0 0 20px;
        box-sizing: border-box; }
        .index01_03 .btns li a.btn:before {
          position: absolute;
          display: block;
          left: 20px;
          top: 35px; } }

.crumbs {
  height: 32px;
  margin: 0 0 60px 0;
  background-color: #f7f7f7; }
  @media screen and (max-width: 1000px) {
    .crumbs {
      height: 25px;
      margin: 0 0 15px 0;
      padding: 0 10px; } }
  .crumbs ol {
    width: 1000px;
    margin: 0 auto;
    font-size: 0; }
    @media screen and (max-width: 1000px) {
      .crumbs ol {
        width: auto; } }
    .crumbs ol li {
      display: inline-block;
      margin: 0 5px 0 0;
      font-size: 12px;
      font-size: 1.2rem;
      vertical-align: middle;
      line-height: 32px; }
      @media screen and (max-width: 1000px) {
        .crumbs ol li {
          margin: 0 3px 0 0;
          font-size: 10px;
          font-size: 1rem;
          line-height: 25px; } }
      .crumbs ol li.crumb_home {
        position: relative;
        width: 20px;
        height: 20px;
        overflow: hidden; }
        @media screen and (max-width: 1000px) {
          .crumbs ol li.crumb_home {
            width: 12px;
            height: 12px; } }
      .crumbs ol li a {
        text-decoration: none; }
      @media screen and (min-width: 1000px) {
        .crumbs ol li:nth-child(n+2) a:hover {
          text-decoration: underline; } }
      .crumbs ol li i {
        margin: 0 5px 0 0;
        font-size: 20px;
        font-size: 2rem;
        color: #1b5b27; }
        @media screen and (max-width: 1000px) {
          .crumbs ol li i {
            margin: 0 3px 0 0;
            font-size: 12px;
            font-size: 1.2rem; } }
        .crumbs ol li i:before {
          vertical-align: 4px; }

/* index01
----------------------------------------------------------- */
.index01_menu {
  text-align: center;
  font-size: 0; }
  .index01_menu > li {
    display: inline-block;
    width: 290px;
    margin: 0 12px;
    font-weight: bold; }
    .index01_menu > li span {
      font-weight: bold; }
    @media screen and (max-width: 1000px) {
      .index01_menu > li {
        display: block;
        width: auto;
        margin: 0 0 10px 0; } }
    .index01_menu > li a {
      position: relative;
      display: block;
      padding: 0 50px 0 0;
      background-color: #fff;
      border: 2px solid #437540;
      -moz-border-radius: 2px;
      -webkit-border-radius: 2px;
      border-radius: 2px;
      -moz-box-shadow: 0 0 5.1px 1.9px rgba(10, 7, 8, 0.15);
      -webkit-box-shadow: 0 0 5.1px 1.9px rgba(10, 7, 8, 0.15);
      box-shadow: 0 0 5.1px 1.9px rgba(10, 7, 8, 0.15);
      line-height: 70px;
      text-align: center;
      font-size: 24px;
      font-size: 2.4rem;
      color: #2a7939;
      text-decoration: none; }
      @media screen and (max-width: 1000px) {
        .index01_menu > li a {
          padding: 0 0 0 10px;
          border: 1px solid #437540;
          -moz-border-radius: 1px;
          -webkit-border-radius: 1px;
          border-radius: 1px;
          -moz-box-shadow: initial;
          -webkit-box-shadow: initial;
          box-shadow: initial;
          line-height: 44px;
          font-size: 15px;
          font-size: 1.5rem;
          text-align: left; } }
      .index01_menu > li a i {
        margin: 0 5px 0 0;
        vertical-align: -2px; }
        @media screen and (max-width: 1000px) {
          .index01_menu > li a i {
            margin: 0 10px 0 0; } }
      .index01_menu > li a:after {
        position: absolute;
        display: block;
        right: 20px;
        top: 50%;
        content: "";
        display: block;
        width: 24px;
        height: 24px;
        margin: -20px 0 0 0;
        border-right: 2px solid #7aae37;
        border-bottom: 2px solid #7aae37;
        -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg); }
        @media screen and (max-width: 1000px) {
          .index01_menu > li a:after {
            width: 12px;
            height: 12px;
            margin: -10px 0 0 0;
            border-width: 1px; } }
      @media screen and (max-width: 1000px) {
        .index01_menu > li a.opened:after {
          margin: -4px 0 0 0;
          -moz-transform: rotate(225deg);
          -ms-transform: rotate(225deg);
          -webkit-transform: rotate(225deg);
          transform: rotate(225deg); } }
      @media screen and (min-width: 1000px) {
        .index01_menu > li a:hover {
          background-color: #2a7939;
          color: #fff; }
          .index01_menu > li a:hover:after {
            border-color: #fff; } }

.map {
  width: 1000px;
  margin: 0 auto;
  position: relative;
  padding: 0 0 0 40px; }
  @media screen and (max-width: 1000px) {
    .map {
      width: auto; } }
  @media screen and (max-width: 1000px) {
    .map {
      padding: 0; }
      .map img {
        display: none; } }
  .map section {
    width: 100px; }
    .map section.kansai {
      position: absolute;
      display: block;
      left: 168px;
      top: 40px; }
    .map section.chubu {
      position: absolute;
      display: block;
      left: 388px;
      top: 40px; }
    .map section.kanto {
      position: absolute;
      display: block;
      left: 860px;
      top: 350px; }
    @media screen and (max-width: 1000px) {
      .map section {
        position: static !important;
        width: auto;
        margin: 0 0 10px 0;
        background-color: #f4f9ec; } }

.area_lead {
  margin: 0 0 13px 0;
  padding: 0 0 5px 0;
  border-bottom: 2px solid #437540;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1;
  color: #2a7939;
  font-weight: bold; }
  @media screen and (max-width: 1000px) {
    .area_lead {
      margin: 0;
      padding: 5px 0;
      border: none;
      background: #2a7939;
      text-align: center;
      font-size: 15px;
      font-size: 1.5rem;
      color: #fff; } }

@media screen and (max-width: 1000px) {
  .area_list {
    overflow: hidden;
    *zoom: 1;
    padding: 7px; } }
.area_list li {
  margin: 0 0 10px 0;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.1; }
  @media screen and (max-width: 1000px) {
    .area_list li {
      float: left;
      width: 50%;
      margin: 0;
      padding: 3px;
      box-sizing: border-box;
      font-size: 15px;
      font-size: 1.5rem; } }
  .area_list li a {
    position: relative;
    padding: 0 0 0 22px;
    color: #606060;
    text-decoration: none; }
    @media screen and (max-width: 1000px) {
      .area_list li a {
        display: block;
        padding: 0 0 0 32px;
        border: 1px solid #eee;
        background: #fff;
        -moz-border-radius: 1px;
        -webkit-border-radius: 1px;
        border-radius: 1px;
        line-height: 40px;
        color: #2a7939;
        text-align: left; } }
    @media screen and (min-width: 1000px) {
      .area_list li a:hover {
        color: #2a7939;
        text-decoration: underline; } }
    .area_list li a:before {
      position: absolute;
      display: block;
      left: 0;
      top: 50%;
      content: "";
      width: 15px;
      height: 15px;
      margin: -8px 0 0 0;
      -moz-border-radius: 8px;
      -webkit-border-radius: 8px;
      border-radius: 8px;
      background: #437540; }
      @media screen and (max-width: 1000px) {
        .area_list li a:before {
          left: 10px;
          top: 50%;
          margin: -7px 0 0 0; } }
    .area_list li a:after {
      position: absolute;
      display: block;
      left: 3px;
      top: 50%;
      content: "";
      display: block;
      width: 5px;
      height: 5px;
      margin: -3px 0 0 0;
      border-top: 1px solid #fff;
      border-right: 1px solid #fff;
      -moz-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }
      @media screen and (max-width: 1000px) {
        .area_list li a:after {
          left: 13px; } }

.index01_02 {
  background: url(../images/bg.png) repeat left top; }
  @media screen and (max-width: 1000px) {
    .index01_02 {
      background: none; } }

@media screen and (max-width: 1000px) {
  .index01 .btns {
    overflow: hidden;
    *zoom: 1;
    display: block;
    margin: -3px -3px 7px -3px; }
    .index01 .btns li {
      float: left;
      display: block;
      width: 50%;
      margin: 0;
      padding: 3px;
      box-sizing: border-box; }
      .index01 .btns li a.btn {
        display: block;
        width: auto;
        height: auto;
        padding: 0 10px;
        border: none;
        background: #2a7939;
        color: #fff;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 40px;
        text-align: left;
        text-shadow: initial;
        -moz-box-shadow: initial;
        -webkit-box-shadow: initial;
        box-shadow: initial;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis; }
        .index01 .btns li a.btn:before {
          margin: -3px 6px 0 0;
          border-width: 5px 0 5px 8px;
          border-color: transparent transparent transparent #95e65e;
          -webkit-filter: drop-shadow(initial);
          filter: drop-shadow(initial); }
        .index01 .btns li a.btn br {
          display: none; }
    .index01 .btns + .btns {
      margin-top: -7px; } }

@media screen and (max-width: 1000px) {
  .index01 .small_title {
    display: none; }

  .index01_01,
  .index01_02,
  .index01_03 {
    display: none;
    padding: 0; } }
/* index02
----------------------------------------------------------- */
.index02_inner {
  background: url(../images/intro_bg.jpg) no-repeat center top;
  background-size: cover;
  -moz-box-shadow: 0 20px 20px -10px rgba(0, 0, 0, 0.1) inset;
  -webkit-box-shadow: 0 20px 20px -10px rgba(0, 0, 0, 0.1) inset;
  box-shadow: 0 20px 20px -10px rgba(0, 0, 0, 0.1) inset;
  padding-bottom: 0; }
  @media screen and (max-width: 1000px) {
    .index02_inner {
      -moz-box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.1) inset;
      -webkit-box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.1) inset;
      box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.1) inset; } }

.work_btns {
  width: 1000px;
  margin: 0 auto;
  text-align: center; }
  @media screen and (max-width: 1000px) {
    .work_btns {
      width: auto; } }
  @media screen and (max-width: 1000px) {
    .work_btns {
      margin-bottom: 10px;
      padding: 0 10px;
      background-color: white;
      border: 1px solid #cdcdcd;
      -moz-border-radius: 1px;
      -webkit-border-radius: 1px;
      border-radius: 1px;
      -moz-box-shadow: 0 0 3px rgba(5, 3, 3, 0.3), 0 0 3px rgba(255, 255, 255, 0.2);
      -webkit-box-shadow: 0 0 3px rgba(5, 3, 3, 0.3), 0 0 3px rgba(255, 255, 255, 0.2);
      box-shadow: 0 0 3px rgba(5, 3, 3, 0.3), 0 0 3px rgba(255, 255, 255, 0.2); } }

.work_btn {
  position: relative;
  display: inline-block;
  width: 275px;
  margin: 0 22px 30px;
  padding: 20px;
  box-sizing: border-box;
  background-color: #fff;
  border: 1px solid #ccc;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  -moz-box-shadow: 0 0 7px rgba(10, 7, 8, 0.3), 0 0 5px rgba(255, 255, 255, 0.2);
  -webkit-box-shadow: 0 0 7px rgba(10, 7, 8, 0.3), 0 0 5px rgba(255, 255, 255, 0.2);
  box-shadow: 0 0 7px rgba(10, 7, 8, 0.3), 0 0 5px rgba(255, 255, 255, 0.2);
  vertical-align: top; }
  @media screen and (max-width: 1000px) {
    .work_btn {
      display: block;
      width: auto;
      margin: 0;
      padding: 10px 0;
      border: none;
      border-bottom: 1px solid #e9e9e9;
      -moz-border-radius: 0;
      -webkit-border-radius: 0;
      border-radius: 0;
      -moz-box-shadow: initial;
      -webkit-box-shadow: initial;
      box-shadow: initial; }
      .work_btn:last-child {
        border: none; } }

.work_btn_img {
  position: absolute;
  display: block;
  left: 20px;
  top: 56px;
  width: 235px;
  height: 120px;
  padding: 10px 0 0;
  box-sizing: border-box;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjEuMCIgeTE9IjEuMCIgeDI9IjAuMCIgeTI9IjAuMCI+PHN0b3Agb2Zmc2V0PSIyNSUiIHN0b3AtY29sb3I9IiNlOWYzZDkiLz48c3RvcCBvZmZzZXQ9IjI1JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iI2U5ZjNkOSIvPjxzdG9wIG9mZnNldD0iNzUlIiBzdG9wLWNvbG9yPSIjZTlmM2Q5Ii8+PHN0b3Agb2Zmc2V0PSI3NSUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAuMCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
  background-size: 100%;
  background-image: -moz-linear-gradient(135deg, #e9f3d9 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 50%, #e9f3d9 50%, #e9f3d9 75%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0));
  background-image: -webkit-linear-gradient(135deg, #e9f3d9 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 50%, #e9f3d9 50%, #e9f3d9 75%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0));
  background-image: linear-gradient(-45deg, #e9f3d9 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 50%, #e9f3d9 50%, #e9f3d9 75%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0));
  background-size: 8px 8px; }
  .work05 .work_btn_img {
    padding-top: 16px; }
  @media screen and (max-width: 1000px) {
    .work_btn_img {
      position: static;
      display: table-cell;
      width: 90px;
      height: auto;
      padding: 0;
      -moz-border-radius: 1px;
      -webkit-border-radius: 1px;
      border-radius: 1px;
      background-size: 4px 4px;
      overflow: hidden;
      vertical-align: middle;
      text-align: center; }
      .work_btn_img img {
        width: 80px;
        height: auto;
        vertical-align: middle; }
      .work05 .work_btn_img {
        padding-top: 0; } }

@media screen and (max-width: 1000px) {
  .work_btn_texts {
    display: table-cell;
    padding: 0 0 0 10px; } }

.work_btn_title {
  position: absolute;
  display: block;
  left: 0;
  top: 20px;
  width: 100%;
  text-align: center;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1; }
  @media screen and (max-width: 1000px) {
    .work_btn_title {
      position: static;
      margin: 0 0 5px 0;
      padding: 0 0 5px 0;
      border-bottom: 1px dotted #3e3e3e;
      font-size: 15px;
      font-size: 1.5rem;
      text-align: left;
      line-height: 1.6; } }

.work_btn_cap {
  padding-top: 166px;
  text-align: left; }
  @media screen and (max-width: 1000px) {
    .work_btn_cap {
      padding: 0; } }

.index02_inner_end {
  padding: 0 0 60px 0;
  -moz-box-shadow: 0 -20px 20px -10px rgba(0, 0, 0, 0.1) inset;
  -webkit-box-shadow: 0 -20px 20px -10px rgba(0, 0, 0, 0.1) inset;
  box-shadow: 0 -20px 20px -10px rgba(0, 0, 0, 0.1) inset; }
  @media screen and (max-width: 1000px) {
    .index02_inner_end {
      margin: 0 -10px;
      padding: 0 10px 20px;
      -moz-box-shadow: 0 -10px 10px -5px rgba(0, 0, 0, 0.1) inset;
      -webkit-box-shadow: 0 -10px 10px -5px rgba(0, 0, 0, 0.1) inset;
      box-shadow: 0 -10px 10px -5px rgba(0, 0, 0, 0.1) inset; } }

.streetview {
  position: relative;
  padding-bottom: 430px;
  height: 0;
  border-bottom: 6px solid #2a7939;
  overflow: hidden; }
  .streetview iframe,
  .streetview object,
  .streetview embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  @media screen and (max-width: 1000px) {
    .streetview {
      margin: 0 -10px;
      padding-bottom: 150px;
      border-width: 3px; } }

/* index03
----------------------------------------------------------- */
.index03 {
  padding-top: 0; }

.rankup_img {
  margin: 0 0 40px 0;
  text-align: center; }
  @media screen and (max-width: 1000px) {
    .rankup_img {
      margin: 0 0 15px 0; }
      .rankup_img img {
        width: 100%;
        height: auto; } }

/* index04
----------------------------------------------------------- */
.index04_inner {
  background: url(../images/voice_bg.jpg) no-repeat center top;
  background-size: cover;
  -moz-box-shadow: 0 20px 20px -10px rgba(0, 0, 0, 0.1) inset;
  -webkit-box-shadow: 0 20px 20px -10px rgba(0, 0, 0, 0.1) inset;
  box-shadow: 0 20px 20px -10px rgba(0, 0, 0, 0.1) inset;
  padding-bottom: 0; }
  @media screen and (max-width: 1000px) {
    .index04_inner {
      -moz-box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.1) inset;
      -webkit-box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.1) inset;
      box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.1) inset; } }

.voice_btns {
  padding: 0 0 8px 0;
  -moz-box-shadow: 0 -20px 20px -10px rgba(0, 0, 0, 0.1) inset;
  -webkit-box-shadow: 0 -20px 20px -10px rgba(0, 0, 0, 0.1) inset;
  box-shadow: 0 -20px 20px -10px rgba(0, 0, 0, 0.1) inset;
  text-align: center; }
  @media screen and (max-width: 1000px) {
    .voice_btns {
      position: relative;
      margin: 0 -10px;
      padding: 0 10px 20px;
      -moz-box-shadow: 0 -10px 10px -5px rgba(0, 0, 0, 0.1) inset;
      -webkit-box-shadow: 0 -10px 10px -5px rgba(0, 0, 0, 0.1) inset;
      box-shadow: 0 -10px 10px -5px rgba(0, 0, 0, 0.1) inset; }
      .voice_btns .flex-prev {
        position: absolute;
        display: block;
        left: 0;
        top: 60px;
        z-index: 50;
        display: block;
        width: 20px;
        height: 40px;
        text-indent: -9999px;
        text-align: left; }
        .voice_btns .flex-prev:before {
          position: absolute;
          display: block;
          left: 7px;
          top: 14px;
          content: "";
          display: block;
          width: 13px;
          height: 13px;
          border-left: 1px solid #5bb024;
          border-bottom: 1px solid #5bb024;
          -moz-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }
      .voice_btns .flex-next {
        position: absolute;
        display: block;
        right: 0;
        top: 60px;
        z-index: 50;
        display: block;
        width: 20px;
        height: 40px;
        text-indent: -9999px;
        text-align: left; }
        .voice_btns .flex-next:before {
          position: absolute;
          display: block;
          left: 0;
          top: 14px;
          content: "";
          display: block;
          width: 13px;
          height: 13px;
          border-top: 1px solid #5bb024;
          border-right: 1px solid #5bb024;
          -moz-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }
      .voice_btns .flex-control-nav {
        clear: both;
        width: 100%;
        padding: 10px 0 0 0;
        text-align: center;
        font-size: 0; }
        .voice_btns .flex-control-nav li {
          display: inline-block;
          margin: 0 4px; }
          .voice_btns .flex-control-nav li a {
            display: block;
            width: 10px;
            height: 10px;
            -moz-border-radius: 5px;
            -webkit-border-radius: 5px;
            border-radius: 5px;
            background-color: #bbb;
            text-indent: -9999px; }
            .voice_btns .flex-control-nav li a.flex-active {
              background-color: #007931; } }

.voice_btns_inner {
  width: 1000px;
  margin: 0 auto; }
  @media screen and (max-width: 1000px) {
    .voice_btns_inner {
      width: auto; } }
  @media screen and (max-width: 1000px) {
    .voice_btns_inner {
      margin: 0 10px; } }

a.voice_btn {
  position: relative;
  display: inline-block;
  width: 270px;
  margin: 0 26px 52px;
  border: 4px solid #fff;
  box-sizing: border-box;
  background-color: #fff;
  -moz-box-shadow: 0 0 15px rgba(10, 7, 8, 0.3), 0 0 5px rgba(255, 255, 255, 0.2);
  -webkit-box-shadow: 0 0 15px rgba(10, 7, 8, 0.3), 0 0 5px rgba(255, 255, 255, 0.2);
  box-shadow: 0 0 15px rgba(10, 7, 8, 0.3), 0 0 5px rgba(255, 255, 255, 0.2);
  vertical-align: top;
  text-decoration: none; }
  @media screen and (min-width: 1000px) {
    a.voice_btn {
      opacity: 1 !important; } }
  @media screen and (max-width: 1000px) {
    a.voice_btn {
      display: block;
      width: auto;
      margin: 0;
      padding: 10px;
      border: 3px solid #2a7939;
      -moz-box-shadow: 0 0 7px rgba(10, 7, 8, 0.3), 0 0 3px rgba(255, 255, 255, 0.2);
      -webkit-box-shadow: 0 0 7px rgba(10, 7, 8, 0.3), 0 0 3px rgba(255, 255, 255, 0.2);
      box-shadow: 0 0 7px rgba(10, 7, 8, 0.3), 0 0 3px rgba(255, 255, 255, 0.2); } }
  @media screen and (min-width: 1000px) {
    a.voice_btn:hover {
      border-color: #2a7939; } }
  a.voice_btn:after {
    content: "";
    display: block;
    position: absolute;
    display: block;
    right: 0;
    bottom: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 12px 12px;
    border-color: transparent transparent #2a7939 transparent; }
    @media screen and (max-width: 1000px) {
      a.voice_btn:after {
        right: 4px;
        bottom: 4px; } }

.voice_btn_title {
  position: relative;
  margin: 0 17px 7px;
  padding: 0 0 15px 0;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.3;
  text-align: left;
  overflow: hidden; }
  @media screen and (max-width: 1000px) {
    .voice_btn_title {
      margin: 0 0 5px 0;
      padding: 0 0 5px 0;
      font-size: 15px;
      font-size: 1.5rem;
      border-bottom: 1px dotted #3e3e3e; } }
  .voice_btn_title:after {
    position: absolute;
    display: block;
    left: 0;
    bottom: 0;
    content: "・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・";
    line-height: 1;
    font-size: 9px;
    font-size: 0.9rem;
    letter-spacing: -0.4em;
    text-align: center; }
    @media screen and (max-width: 1000px) {
      .voice_btn_title:after {
        display: none; } }

.voice_btn_img {
  width: 262px;
  overflow: hidden; }
  @media screen and (max-width: 1000px) {
    .voice_btn_img {
      position: relative;
      display: table-cell;
      width: auto; }
      .voice_btn_img img {
        width: 100px;
        height: auto; } }

.voice_btn_icon {
  position: relative;
  z-index: 2;
  width: 60px;
  margin: -15px 0 10px 17px;
  background: #2a7939;
  -moz-border-radius: 1px;
  -webkit-border-radius: 1px;
  border-radius: 1px;
  line-height: 30px;
  font-size: 18px;
  font-size: 1.8rem;
  color: #fff;
  text-shadow: 0 0 10px #16421e; }
  @media screen and (max-width: 1000px) {
    .voice_btn_icon {
      position: absolute;
      left: 5px;
      top: 5px;
      font-size: 12px;
      font-size: 1.2rem;
      display: inline-block;
      width: auto;
      margin: 0;
      padding: 5px;
      line-height: 1.2;
      text-shadow: 0 0 5px #16421e; } }
	  

.voice_btn_icon_long {
  position: relative;
  z-index: 2;
  width: 100px;
  margin: -15px 0 10px 17px;
  background: #2a7939;
  -moz-border-radius: 1px;
  -webkit-border-radius: 1px;
  border-radius: 1px;
  line-height: 30px;
  font-size: 18px;
  font-size: 1.8rem;
  color: #fff;
  text-shadow: 0 0 10px #16421e; }
  @media screen and (max-width: 1000px) {
    .voice_btn_icon_long {
      position: absolute;
      left: 5px;
      top: 5px;
      font-size: 12px;
      font-size: 1.2rem;
      display: inline-block;
      width: auto;
      margin: 0;
      padding: 5px;
      line-height: 1.2;
      text-shadow: 0 0 5px #16421e; } }

	  
	  

@media screen and (max-width: 1000px) {
  .voice_btn_texts {
    display: table-cell;
    padding: 0 0 0 10px; } }

.voice_btn_text {
  margin: 0 17px 17px;
  font-size: 15px;
  font-size: 1.5rem;
  text-align: left; }
  @media screen and (max-width: 1000px) {
    .voice_btn_text {
      margin: 0;
      line-height: 1.3; } }

/* index05
----------------------------------------------------------- */
.index05_inner {
  width: 1000px;
  margin: 0 auto;
  background-color: #fff;
  padding: 25px;
  border: 2px solid #287336;
  box-sizing: border-box;
  -moz-border-radius: 1px;
  -webkit-border-radius: 1px;
  border-radius: 1px;
  -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); }
  @media screen and (max-width: 1000px) {
    .index05_inner {
      width: auto; } }
  @media screen and (max-width: 1000px) {
    .index05_inner {
      padding: 0;
      border-width: 1px;
      -moz-box-shadow: initial;
      -webkit-box-shadow: initial;
      box-shadow: initial; } }

.faq dt {
  position: relative;
  padding: 20px 20px 15px 20px;
  color: #437540;
  font-size: 18px;
  font-size: 1.8rem;
  overflow: hidden; }
  .faq dt:nth-of-type(2n) {
    background: #f4f9ec; }
  @media screen and (max-width: 1000px) {
    .faq dt {
      padding: 15px 40px 15px 36px;
      font-size: 15px;
      font-size: 1.5rem;
      line-height: 1.3; } }
  .faq dt:before {
    content: "Q.";
    display: inline-block;
    margin: 0 15px 0 0;
    width: 35px;
    background-color: #437540;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    background: url(../images/bg.png) repeat left top;
    line-height: 35px;
    color: #fff;
    text-align: center;
    text-shadow: 0 0 7px #16421f;
    font-size: 18px;
    font-size: 1.8rem; }
    @media screen and (max-width: 1000px) {
      .faq dt:before {
        position: absolute;
        display: block;
        left: 10px;
        top: 15px;
        width: 20px;
        line-height: 20px;
        margin: 0 10px 0 0;
        font-size: 12px;
        font-size: 1.2rem;
        background-size: 2px 2px;
        text-shadow: 0 0 3px #16421f; } }
  .faq dt:after {
    position: absolute;
    display: block;
    left: 20px;
    bottom: 0;
    width: 900px;
    overflow: hidden;
    content: "・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・";
    line-height: 1;
    font-size: 9px;
    font-size: 0.9rem;
    letter-spacing: -0.4em;
    text-align: center; }
    @media screen and (max-width: 1000px) {
      .faq dt:after {
        right: 10px;
        top: 50%;
        left: auto;
        bottom: auto;
        content: "";
        width: auto;
        display: block;
        width: 12px;
        height: 12px;
        margin-top: -8px;
        border-top: 1px solid #5bb024;
        border-right: 1px solid #5bb024;
        -moz-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg); } }
  @media screen and (max-width: 1000px) {
    .faq dt.opened:after {
      margin-top: -3px;
      -moz-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg); } }
.faq dd {
  position: relative;
  padding: 5px 20px 20px 70px; }
  @media screen and (max-width: 1000px) {
    .faq dd {
      display: none;
      padding: 0 10px 15px 36px; } }
  .faq dd:nth-of-type(2n) {
    background: #f4f9ec; }
  .faq dd:before {
    position: absolute;
    display: block;
    left: 20px;
    top: 0;
    content: "A.";
    display: block;
    width: 35px;
    line-height: 35px;
    color: #505050;
    text-align: center;
    font-size: 18px;
    font-size: 1.8rem; }
    @media screen and (max-width: 1000px) {
      .faq dd:before {
        position: absolute;
        display: block;
        left: 10px;
        top: 2px;
        width: 20px;
        line-height: 20px;
        margin: 0 10px 0 0;
        font-size: 12px;
        font-size: 1.2rem; } }

/* footer
----------------------------------------------------------- */
#footer {
  padding: 70px 0 0 0;
  background: url(../images/footer_bg.jpg) no-repeat center top;
  background-size: cover;
  -moz-box-shadow: 0 20px 20px -10px rgba(0, 0, 0, 0.1) inset;
  -webkit-box-shadow: 0 20px 20px -10px rgba(0, 0, 0, 0.1) inset;
  box-shadow: 0 20px 20px -10px rgba(0, 0, 0, 0.1) inset; }
  @media screen and (max-width: 1000px) {
    #footer {
      padding: 15px 5px 0;
      -moz-box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.1) inset;
      -webkit-box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.1) inset;
      box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.1) inset; } }

.footer_lead {
  margin: 0 0 50px 0;
  text-align: center;
  text-shadow: 0 0 7px white;
  font-size: 48px;
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 1.25; }
  @media screen and (max-width: 1000px) {
    .footer_lead {
      margin: 0 0 20px 0;
      text-shadow: 0 0 3px white;
      font-size: 24px;
      font-size: 2.4rem; } }

.footer_btns {
  text-align: center;
  font-size: 0; }

.footer_btn {
  display: inline-block;
  vertical-align: top;
  width: 430px;
  height: 110px;
  margin: 0 17px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  -moz-box-shadow: 0 0 39px 4px #fff;
  -webkit-box-shadow: 0 0 39px 4px #fff;
  box-shadow: 0 0 39px 4px #fff; }
  @media screen and (max-width: 1000px) {
    .footer_btn {
      width: 145px;
      height: 50px;
      margin: 0 5px;
      -moz-border-radius: 1px;
      -webkit-border-radius: 1px;
      border-radius: 1px;
      -moz-box-shadow: 0 0 5px 1px white;
      -webkit-box-shadow: 0 0 5px 1px white;
      box-shadow: 0 0 5px 1px white; } }

.btn-download a {
  display: block;
  width: 100%;
  height: 110px;
  background-color: #fff;
  border: 3px solid #297537;
  box-sizing: border-box;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  font-size: 30px;
  font-size: 3rem;
  font-weight: bold;
  color: #2a7939;
  text-align: left;
  text-decoration: none; }
  @media screen and (max-width: 1000px) {
    .btn-download a {
      height: 50px;
      border-width: 1px;
      -moz-border-radius: 1px;
      -webkit-border-radius: 1px;
      border-radius: 1px;
      font-size: 12px;
      font-size: 1.2rem; } }
  @media screen and (min-width: 1000px) {
    .btn-download a:hover {
      background: #2a7939;
      color: #fff; } }
.btn-download div {
  display: table;
  margin: 16px auto 0; }
  @media screen and (max-width: 1000px) {
    .btn-download div {
      margin-top: 10px; } }
.btn-download i {
  display: table-cell;
  padding: 0 40px 0 0;
  font-size: 65px;
  font-size: 6.5rem;
  vertical-align: middle; }
  @media screen and (max-width: 1000px) {
    .btn-download i {
      padding: 0 10px 0 0;
      font-size: 20px;
      font-size: 2rem; } }
.btn-download span {
  display: table-cell;
  vertical-align: middle;
  line-height: 1.2;
  font-weight: bold; }

.btn-mail a {
  display: block;
  padding: 24px 0 0 0;
  height: 110px;
  background-color: #de0a2c;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  box-sizing: border-box;
  color: #fff;
  text-align: center;
  font-size: 40px;
  font-size: 4rem;
  font-weight: bold;
  text-decoration: none; }
  @media screen and (max-width: 1000px) {
    .btn-mail a {
      height: 50px;
      padding: 10px 0 0 0;
      -moz-border-radius: 1px;
      -webkit-border-radius: 1px;
      border-radius: 1px;
      font-size: 18px;
      font-size: 1.8rem; } }
  .btn-mail a i {
    margin: 0 20px 0 0;
    font-size: 56px;
    font-size: 5.6rem;
    vertical-align: -8px; }
    @media screen and (max-width: 1000px) {
      .btn-mail a i {
        margin: 0 10px 0 0;
        font-size: 20px;
        font-size: 2rem;
        vertical-align: -3px; } }
  @media screen and (min-width: 1000px) {
    .btn-mail a:hover {
      background-color: #f52647; } }

.footer_sub {
  width: 894px;
  margin: 10px auto 50px;
  text-shadow: 0 0 7px white; }
  @media screen and (max-width: 1000px) {
    .footer_sub {
      width: 300px;
      margin-bottom: 20px;
      text-shadow: 0 0 3px white;
      font-size: 12px;
      font-size: 1.2rem; } }

.footer_link {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=75);
  opacity: 0.75;
  background-color: white;
  padding: 15px 0;
  text-align: center;
  font-size: 0; }
  @media screen and (max-width: 1000px) {
    .footer_link {
      margin: 0 -5px;
      padding: 10px 0; } }
  .footer_link li {
    display: inline-block;
    margin: 0 15px;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.1; }
    @media screen and (max-width: 1000px) {
      .footer_link li {
        font-size: 12px;
        font-size: 1.2rem; } }
    .footer_link li a {
      color: #404040;
      text-decoration: none; }
      .footer_link li a:before {
        content: "";
        display: inline-block;
        width: 0;
        height: 0;
        padding: 0 4px 0 0;
        border-style: solid;
        border-width: 6px 0 6px 7px;
        border-color: transparent transparent transparent #7bae37; }
        @media screen and (max-width: 1000px) {
          .footer_link li a:before {
            border-width: 3px 0 3px 4px; } }
      @media screen and (min-width: 1000px) {
        .footer_link li a:hover {
          text-decoration: underline; } }

.footer_copy {
  display: block;
  background: #2a7939;
  text-align: center;
  color: #fff;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 30px; }
  @media screen and (max-width: 1000px) {
    .footer_copy {
      background: #fff;
      margin: 0 -5px;
      font-size: 9px;
      font-size: 0.9rem;
      line-height: 25px;
      color: #2a7939; } }

/* works
----------------------------------------------------------- */
@media screen and (max-width: 1000px) {
  .works_sub_wrapper {
    padding: 20px 10px 5px;
    background-color: #f2f8f1; } }

.works_inner0 {
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover; }
  .works01 .works_inner0 {
    background-image: url(../images/works01_bg.jpg); }
/*
  .works02 .works_inner0 {
    background: url(../images/works02_bg.jpg) no-repeat 100% 0; }
*/
  .works03 .works_inner0 {
    background: url(../images/works03.jpg) no-repeat left top #f2f8f1; }
  .works05 .works_inner0 {
    background-image: url(../images/works05_bg.png); }
  @media screen and (max-width: 1000px) {
    .works_inner0 {
      background: none !important;
      border: none !important; } }

.works_inner {
  position: relative;
  width: 1000px;
  margin: 0 auto;
  height: 450px; }
  @media screen and (max-width: 1000px) {
    .works_inner {
      width: auto; } }
  .works04 .works_inner {
    background: url(../images/works04_bg.jpg) no-repeat 525px 40px; }
  @media screen and (max-width: 1000px) {
    .works_inner {
      display: block;
      height: auto;
      background: none; } }

.works_inner2 {
  width: 1000px;
  margin: 0 auto;
  margin-top: -410px;
  margin-bottom: 60px;
  padding: 40px 0 0 0; }
  @media screen and (max-width: 1000px) {
    .works_inner2 {
      width: auto; } }
  @media screen and (max-width: 1000px) {
    .works_inner2 {
      margin: 0;
      padding: 0; } }
  .works01 .works_inner2, .works03 .works_inner2 {
    margin-bottom: 20px; }
  .works05 .works_inner2 {
    margin-bottom: 0; }

.works_img {
  position: absolute; }
  .works01 .works_img {
    left: -95px;
    bottom: 0; }
  .works02 .works_img {
    right: -30px;
    bottom: 0; }
  .works03 .works_img {
    left: 0;
    top: 0;
    text-indent: -9999px; }
  .works04 .works_img {
    right: -60px;
    top: 100px; }
  .works05 .works_img {
    left: -250px;
    bottom: 0; }
  @media screen and (max-width: 1000px) {
    .works_img {
      position: static;
      height: 155px;
      overflow: hidden;
      background-repeat: no-repeat;
      background-position: 0 0;
      border: 1px solid #cdcdcd; }
      .works_img img {
        width: 100%;
        height: auto; }
      .works01 .works_img {
        background-image: url(../images/works01_bg.jpg);
        background-size: auto 100%;
        text-align: center; }
        .works01 .works_img img {
          width: auto;
          height: 110%;
          margin-top: -5px; }
      .works02 .works_img {
/*        padding: 0 20px 0 0;*/
        background-image: url(../images/works02_bg.jpg);
        background-size: 95% auto;
        background-position: 100% 50%;
        background-color: #fff;
        text-align: right; }
        .works02 .works_img img {
          width: auto;
          height: 110%;
/*          padding: 5px 0 0 0;*/
    }
      .works03 .works_img {
        margin: 0;
        text-indent: 0; }
      .works04 .works_img {
        padding: 0 10px 0 0;
        background-image: url(../images/works04_bg.jpg);
        background-size: auto 100%;
        background-position: 0 50%;
        background-color: #fff;
        text-align: right; }
        .works04 .works_img img {
          width: auto;
          height: 120%;
          margin-top: -10px; }
      .works05 .works_img {
        padding: 0 20px 0 0;
        background-image: url(../images/works05_bg.png);
        background-size: auto 100%;
        background-position: 100% 50%; }
        .works05 .works_img img {
          width: auto;
          height: 120%;
          margin: -10px 0 0 -20px; } }

.works_box {
  position: relative;
  z-index: 2;
  width: 720px;
  padding: 15px 40px 40px;
  background-color: #fff;
  border: 2px solid #2a7939;
  box-sizing: border-box;
  -moz-border-radius: 1px;
  -webkit-border-radius: 1px;
  border-radius: 1px;
  -moz-box-shadow: 0 0 7px rgba(10, 7, 8, 0.5);
  -webkit-box-shadow: 0 0 7px rgba(10, 7, 8, 0.5);
  box-shadow: 0 0 7px rgba(10, 7, 8, 0.5); }
  .works01 .works_box, .works03 .works_box, .works05 .works_box {
    margin-left: auto; }
  .works02 .works_box, .works04 .works_box {
    background-color: #f2f8f1; }
  @media screen and (max-width: 1000px) {
    .works_box {
      width: auto;
      margin: 0 0 15px 0 !important;
      padding: 10px 20px 20px 20px;
      background: #fff !important;
      border: 1px solid #cdcdcd;
      border-top: none;
      -moz-border-radius: 0;
      -webkit-border-radius: 0;
      border-radius: 0;
      -moz-box-shadow: initial;
      -webkit-box-shadow: initial;
      box-shadow: initial; } }
  .works_box p {
    margin: 25px 0 0 0; }

.works_title {
  padding: 15px 0 20px 0;
  border-bottom: 1px dashed #515151;
  text-align: center;
  font-size: 30px;
  font-size: 3rem;
  font-weight: bold;
  line-height: 1; }
  @media screen and (max-width: 1000px) {
    .works_title {
      font-size: 18px;
      font-size: 1.8rem; } }
  .works_title:before {
    content: "";
    display: inline-block;
    margin: 0 5px 0 0;
    vertical-align: bottom; }
  .works01 .works_title:before {
    width: 70px;
    height: 42px;
    background: url(../images/work01.png) no-repeat left bottom;
    background-size: 70px 42px; }
    @media screen and (max-width: 1000px) {
      .works01 .works_title:before {
        width: 35px;
        height: 21px;
        background-size: 35px 21px; } }
  .works02 .works_title:before {
    width: 80px;
    height: 51px;
    background: url(../images/work02.png) no-repeat left bottom;
    background-size: 80px 51px; }
    @media screen and (max-width: 1000px) {
      .works02 .works_title:before {
        width: 40px;
        height: 25px;
        background-size: 40px 25px; } }
  .works03 .works_title:before {
    width: 80px;
    height: 50px;
    background: url(../images/work03.png) no-repeat left bottom;
    background-size: 80px 50px; }
    @media screen and (max-width: 1000px) {
      .works03 .works_title:before {
        width: 40px;
        height: 25px;
        background-size: 40px 25px; } }
  .works04 .works_title:before {
    width: 70px;
    height: 44px;
    background: url(../images/work04.png) no-repeat left bottom;
    background-size: 70px 44px; }
    @media screen and (max-width: 1000px) {
      .works04 .works_title:before {
        width: 35px;
        height: 22px;
        background-size: 35px 22px; } }
  .works05 .works_title:before {
    width: 70px;
    height: 37px;
    background: url(../images/work05.png) no-repeat left bottom;
    background-size: 70px 37px; }
    @media screen and (max-width: 1000px) {
      .works05 .works_title:before {
        width: 35px;
        height: 18px;
        background-size: 35px 18px; } }

.works_lead {
  margin: 0 0 5px 0;
  font-size: 24px;
  font-size: 2.4rem; }
  @media screen and (max-width: 1000px) {
    .works_lead {
      font-size: 15px;
      font-size: 1.5rem;
      font-weight: bold; } }

/* staff
----------------------------------------------------------- */
.staff_main {
  margin: 60px 0;
  padding: 65px 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover; }
  .staff1 .staff_main {
    background-image: url(../images/staff1.jpg); }
  .staff2 .staff_main {
    background-image: url(../images/staff2.jpg); }
  .staff3 .staff_main {
    background-image: url(../images/staff3.jpg); }
  .staff4 .staff_main {
    background-image: url(../images/staff4.jpg); }
  .staff5 .staff_main {
    background-image: url(../images/staff5.jpg); }
  .staff6 .staff_main {
    background-image: url(../images/staff6.jpg); }
  @media screen and (max-width: 1000px) {
    .staff_main {
      padding: 500px 10px 10px 10px;
      background-position: center left; } }
  @media screen and (max-width: 640px) {
    .staff_main {
      margin: 0 0 20px 0;
      padding: 250px 10px 10px 10px;
      background-position: 18% -8%;
      background-size: 640px auto;
      background-color: #f0f8f1; }
      .staff2 .staff_main {
        background-position: 18% -10%; }
      .staff3 .staff_main {
        background-position: 15% -12%; }
      .staff4 .staff_main {
        background-position: 15% -12%; }
      .staff5 .staff_main {
        background-position: 12% -15%; }
      .staff6 .staff_main {
        background-position: 5% -5%; } }

.staff_box {
  width: 1000px;
  margin: 0 auto; }
  @media screen and (max-width: 1000px) {
    .staff_box {
      width: auto; } }

.staff_box_inner {
  width: 500px;
  margin: 0 0 0 auto;
  padding: 40px 40px 25px;
  background: #fff;
  border: 2px solid #f7f7f7;
  outline: 1px solid #dbdbdb;
  box-sizing: border-box;
  color: #515151; }
  @media screen and (max-width: 1000px) {
    .staff_box_inner {
      width: auto;
      padding: 20px 20px 1px 20px; } }

.staff_title {
  font-size: 36px;
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 1.25; }
  @media screen and (max-width: 1000px) {
    .staff_title {
      font-size: 20px;
      font-size: 2rem; }
      .staff_title br {
        display: none; } }

.staff_data {
  margin: 0 0 10px 0;
  padding: 6px 10px;
  background-color: #f2f8f1;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1; }
  @media screen and (max-width: 1000px) {
    .staff_data {
      -moz-border-radius: 2px;
      -webkit-border-radius: 2px;
      border-radius: 2px;
      font-size: 12px;
      font-size: 1.2rem; } }
  .staff_data p {
    padding: 4px 0;
    font-weight: bold; }
  .staff_data dt {
    float: left;
    width: 6em;
    padding: 4px 0;
    font-weight: bold; }
  .staff_data dd {
    padding: 4px 0 4px 6em;
    font-weight: bold; }

.staff_lead {
  margin: 15px 0 0 0;
  padding: 15px 0 0 0;
  border-top: 1px solid #2a7939; }
  .staff_lead p {
    margin: 0 0 20px 0; }

.staff_text {
  width: 1000px;
  margin: 0 auto;
  margin-bottom: 60px; }
  @media screen and (max-width: 1000px) {
    .staff_text {
      width: auto; } }
  @media screen and (max-width: 1000px) {
    .staff_text {
      margin: 0 10px 30px; } }
  .staff_text p {
    margin: 0 0 20px 0; }
  .staff_text.double {
    width: auto;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 1000px) {
      .staff_text.double {
        overflow: hidden; } }

.double_inner {
  width: 1000px;
  margin: 0 auto;
  margin-top: 60px;
  -moz-column-count: 2;
  -webkit-column-count: 2;
  column-count: 2;
  -moz-column-rule: 1px solid #ccc;
  -webkit-column-rule: 1px solid #ccc;
  column-rule: 1px solid #ccc;
  -moz-column-gap: 80px;
  -webkit-column-gap: 80px;
  column-gap: 80px; }
  @media screen and (max-width: 1000px) {
    .double_inner {
      width: auto; } }
  .staff_text .double_inner p:last-child {
    margin-bottom: 0; }
  @media screen and (max-width: 1000px) {
    .double_inner {
      margin: 10px;
      -moz-column-count: 1;
      -webkit-column-count: 1;
      column-count: 1; } }

.img_right > img {
  float: right;
  margin: 0 0 25px 40px;
  padding: 2px;
  background: #f7f7f7;
  border: 1px solid #dbdbdb;
  box-sizing: border-box; }
  @media screen and (max-width: 1000px) {
    .img_right > img {
      float: none;
      margin: 0;
      width: 100%;
      height: auto; } }

.img_left > img {
  float: left;
  margin: 0 40px 25px 0;
  padding: 2px;
  background: #f7f7f7;
  border: 1px solid #dbdbdb;
  box-sizing: border-box; }
  @media screen and (max-width: 1000px) {
    .img_left > img {
      float: none;
      margin: 0;
      width: 100%;
      height: auto; } }

.double > img {
  width: 100%;
  height: auto;
  border-top: 1px solid #dbdbdb;
  border-bottom: 1px solid #dbdbdb; }
  @media screen and (max-width: 1000px) {
    .double > img {
      width: 150%;
      margin: 0 -25%;
      height: auto; } }

.staff_headings {
  display: inline-block;
  width: 360px;
  margin: 0 0 20px 0;
  padding: 0 0 15px 0;
  border-bottom: 1px dashed #515151;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
  color: #515151; }
  @media screen and (max-width: 1000px) {
    .staff_headings {
      display: block;
      width: auto;
      margin: 10px 0;
      padding: 0 0 10px 0;
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 1.2; } }

.double_headings {
  margin: 0 0 20px 0;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.3; }
  @media screen and (max-width: 1000px) {
    .double_headings {
      font-size: 16px;
      font-size: 1.6rem; } }

.staff_btns {
  position: relative;
  overflow: hidden;
  margin: 0 0 30px 0;
  padding: 15px 0;
  background-color: #f2f8f1; }
  @media screen and (max-width: 1000px) {
    .staff_btns {
      margin: 0 0 20px 0;
      padding: 10px 0; } }
  .staff_btns .slick-list {
    padding: 0 40px; }
    @media screen and (max-width: 320px) {
      .staff_btns .slick-list {
        padding: 0 20px; } }
  .staff_btns .arrows {
    display: none; }
  @media screen and (max-width: 1000px) {
    .staff_btns .arrows {
      display: block; }
    .staff_btns .slick-prev {
      position: absolute;
      display: block;
      left: 0;
      top: 35px;
      z-index: 50;
      display: block;
      width: 20px;
      height: 40px;
      text-indent: -9999px;
      text-align: left; }
      .staff_btns .slick-prev:before {
        position: absolute;
        display: block;
        left: 7px;
        top: 14px;
        content: "";
        display: block;
        width: 13px;
        height: 13px;
        border-left: 1px solid #5bb024;
        border-bottom: 1px solid #5bb024;
        -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg); }
    .staff_btns .slick-next {
      position: absolute;
      display: block;
      right: 0;
      top: 35px;
      z-index: 50;
      display: block;
      width: 20px;
      height: 40px;
      text-indent: -9999px;
      text-align: left; }
      .staff_btns .slick-next:before {
        position: absolute;
        display: block;
        left: 0;
        top: 14px;
        content: "";
        display: block;
        width: 13px;
        height: 13px;
        border-top: 1px solid #5bb024;
        border-right: 1px solid #5bb024;
        -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg); } }
  .staff_btns ul {
    width: 1020px;
    margin: 0 auto; }
    @media screen and (max-width: 1000px) {
      .staff_btns ul {
        width: 100%;
        overflow: hidden; } }
    .staff_btns ul li img {
      width: 144px;
      height: 144px;
      margin: 3px;
      -moz-border-radius: 72px;
      -webkit-border-radius: 72px;
      border-radius: 72px; }
/*
      @media screen and (max-width: 1000px) {
        .staff_btns ul li img {
          width: 82px;
          height: 82px;
          margin: 2px;
          -moz-border-radius: 41px;
          -webkit-border-radius: 41px;
          border-radius: 41px; } }
*/
    .staff_btns ul li p {
      position: absolute;
      display: block;
      left: 0;
      bottom: 0;
      display: block;
      width: 100%;
      height: 40px;
      background: #fff;
      line-height: 35px;
      text-align: center;
      color: #2a7939;
      font-weight: bold;
      font-size: 18px;
      font-size: 1.8rem; }
/*
      @media screen and (max-width: 1000px) {
        .staff_btns ul li p {
          height: 23px;
          line-height: 19px;
          font-size: 12px;
          font-size: 1.2rem; } }
*/
      .staff_btns ul li p:before {
        content: "";
        display: inline-block;
        width: 0;
        height: 0;
        margin: 0 4px 0 0;
        border-style: solid;
        border-width: 5px 0 5px 7px;
        border-color: transparent transparent transparent #7bae37;
        vertical-align: 1px; }
/*
        @media screen and (max-width: 1000px) {
          .staff_btns ul li p:before {
            margin: 0 2px 0 0;
            border-width: 3px 0 3px 5px; } }
*/
    .staff_btns ul li a {
      position: relative;
      float: left;
      display: block;
      width: 150px;
      height: 150px;
      background: #fff;
      margin: 0 10px;
      -moz-border-radius: 75px;
      -webkit-border-radius: 75px;
      border-radius: 75px;
      overflow: hidden; }
/*
      @media screen and (max-width: 1000px) {
        .staff_btns ul li a {
          position: relative;
          width: 86px;
          height: 86px;
          margin: 0 auto;
          -moz-border-radius: 43px;
          -webkit-border-radius: 43px;
          border-radius: 43px; } }
*/
      .staff_btns ul li a:hover {
        background: #2a7939; }
        .staff_btns ul li a:hover p {
          background: #2a7939;
          color: #fff; }
          .staff_btns ul li a:hover p:before {
            border-color: transparent transparent transparent #fff; }


/*********
16/04/27　川上修正対応
*********/

html body.home div#container section#intro.index02 section#voice.index04{
	border-top:5px solid #217535;}
   @media screen and (max-width: 1000px) {
html body.home div#container section#intro.index02 section#voice.index04{
	border-top:none}	   
	   }	
	   
/* rankup
----------------------------------------------------------- */
.rankup_box {
  width: 1000px;
  margin: 0 auto;
  overflow: hidden;
  box-sizing: border-box;
  padding: 40px 30px 0;
  background: url(../images/rankup_bg.png) 40px 70px no-repeat #f2f8f1; }
  @media screen and (max-width: 1000px) {
    .rankup_box {
      width: auto; } }
  @media screen and (max-width: 1000px) {
    .rankup_box {
      padding: 20px 10px 10px;
      background-image: none; } }
  .rankup_box .small_title {
    margin: 0 0 60px 0; }
    @media screen and (max-width: 1000px) {
      .rankup_box .small_title {
        margin: 0 0 15px 0; } }

.step_box_wrapper {
  display: table;
  border-collapse: separate;
  border-spacing: 10px; }
  @media screen and (max-width: 1000px) {
    .step_box_wrapper {
      display: block;
      border-spacing: 0; } }

.step_box {
  display: table-cell;
  width: 220px;
  box-sizing: border-box;
  vertical-align: bottom; }
  @media screen and (max-width: 1000px) {
    .step_box {
      position: relative;
      display: block;
      width: auto;
      margin: 0 0 20px 0; }
      .step_box:before {
        position: absolute;
        display: block;
        left: 50%;
        bottom: -18px;
        z-index: 10;
        content: "";
        display: block;
        width: 0;
        height: 0;
        margin: 0 0 0 -8px;
        border-style: solid;
        border-width: 14px 14px 0 14px;
        border-color: #fff transparent transparent transparent;
        -webkit-filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.29));
        filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.29)); }
      .step_box:after {
        position: absolute;
        display: block;
        left: 50%;
        bottom: -17px;
        z-index: 11;
        content: "";
        display: block;
        width: 0;
        height: 0;
        margin: 0 0 0 -6px;
        border-style: solid;
        border-width: 12px 12px 0 12px;
        border-color: #ffab36 transparent transparent transparent; } }
  .step_box:last-child {
    margin: 0; }
    @media screen and (max-width: 1000px) {
      .step_box:last-child:before, .step_box:last-child:after {
        display: none; } }

.step_title {
  padding: 10px;
  -moz-border-radius: 5px 5px 0 0;
  -webkit-border-radius: 5px;
  border-radius: 5px 5px 0 0;
  border-width: 2px;
  border-style: solid;
  text-align: center;
  color: #fff;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1; }
  @media screen and (max-width: 1000px) {
    .step_title {
      border-width: 1px;
      -moz-border-radius: 3px 3px 0 0;
      -webkit-border-radius: 3px;
      border-radius: 3px 3px 0 0;
      font-size: 15px;
      font-size: 1.5rem; } }
  .step01 .step_title {
    background-color: #84b53b;
    border-color: #74a550;
    text-shadow: 0 0 7px #74a550; }
  .step02 .step_title {
    background-color: #669c3e;
    border-color: #2d8d3f;
    text-shadow: 0 0 7px #2d8d3f; }
  .step03 .step_title {
    background-color: #2d8d3f;
    border-color: #2a7939;
    text-shadow: 0 0 7px #2a7939; }
  .step04 .step_title {
    background-color: #2a7939;
    border-color: #186026;
    text-shadow: 0 0 7px #155621; }

.step_box_inner {
  padding: 10px;
  background: #fff;
  border: 2px solid #e5e5e5;
  border-top: none;
  box-sizing: border-box; }
  .step01 .step_box_inner {
    height: 120px; }
  .step02 .step_box_inner {
    height: 160px; }
  .step03 .step_box_inner {
    height: 200px; }
  .step04 .step_box_inner {
    height: 240px; }
  @media screen and (max-width: 1000px) {
    .step_box_inner {
      height: auto !important;
      border-width: 1px; } }
  .step_box_inner ul {
    margin: 0 0 0 1.5em; }
    @media screen and (max-width: 1000px) {
      .step_box_inner ul {
        margin: 0 0 0 100px; } }
    .step_box_inner ul li {
      list-style-type: disc; }
    .step_box_inner ul.plus {
      margin: 20px 0 0 0;
      padding: 10px;
      background-color: #f2f8f1; }
      @media screen and (max-width: 1000px) {
        .step_box_inner ul.plus {
          margin: 10px 0 0 0; } }
      .step_box_inner ul.plus li {
        list-style-type: none;
        padding: 0 0 0 1em;
        text-indent: -1em; }
        .step_box_inner ul.plus li:before {
          content: "※"; }

.step_name {
  display: block;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold; }
  .step_name i {
    margin: 0 5px 0 0;
    font-size: 20px;
    font-size: 2rem;
    vertical-align: 2px; }
  .step01 .step_name {
    color: #84b53b; }
    .step01 .step_name i {
      color: #2a7939;
      font-size: 22px;
      font-size: 2.2rem;
      vertical-align: 0; }
  .step02 .step_name {
    color: #669c3e; }
    .step02 .step_name i {
      color: #a6702a; }
  .step03 .step_name {
    color: #2d8d3f; }
    .step03 .step_name i {
      color: #adadad; }
  .step04 .step_name {
    color: #2a7939; }
    .step04 .step_name i {
      color: #ffac36; }
  @media screen and (max-width: 1000px) {
    .step_name {
      float: left;
      position: relative;
      width: 70px;
      height: 70px;
      -moz-border-radius: 35px;
      -webkit-border-radius: 35px;
      border-radius: 35px;
      box-sizing: border-box;
      color: #fff;
      text-align: center; }
      .step_name:before {
        position: absolute;
        display: block;
        right: -9px;
        top: 50%;
        content: "";
        width: 0;
        height: 0;
        margin: -8px 0 0 0;
        border-style: solid;
        border-width: 8px 0 8px 10px; }
      .step_name span {
        position: absolute;
        display: block;
        left: -10px;
        top: 10px;
        display: block;
        width: 90px;
        color: #fff !important;
        font-weight: bold;
        font-size: 14px;
        font-size: 1.4rem;
        text-align: center; }
      .step_name i {
        position: absolute;
        display: block;
        left: 0;
        top: 33px;
        display: block;
        width: 100%;
        color: #fff !important;
        font-size: 24px;
        font-size: 2.4rem;
        text-align: center; }
      .step01 .step_name {
        background-color: #69b628;
        background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuODk5NDE4IiB5MT0iMS4wNzA0MjgiIHgyPSIwLjEwMDU4MiIgeTI9Ii0wLjA3MDQyOCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzVhYTYxYSIvPjxzdG9wIG9mZnNldD0iNDglIiBzdG9wLWNvbG9yPSIjNWFhNjFhIi8+PHN0b3Agb2Zmc2V0PSI0OSUiIHN0b3AtY29sb3I9IiM2OWI2MjgiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2OWI2MjgiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');
        background-size: 100%;
        background-image: -moz-linear-gradient(125deg, #5aa61a 0%, #5aa61a 48%, #69b628 49%, #69b628 100%);
        background-image: -webkit-linear-gradient(125deg, #5aa61a 0%, #5aa61a 48%, #69b628 49%, #69b628 100%);
        background-image: linear-gradient(-35deg, #5aa61a 0%, #5aa61a 48%, #69b628 49%, #69b628 100%);
        border: 1px solid #69b628; }
        .step01 .step_name:before {
          border-color: transparent transparent transparent #5aa61a; }
        .step01 .step_name i {
          font-size: 30px;
          font-size: 3rem; }
        .step01 .step_name span {
          text-shadow: 1px 1px 0 #5aa61a, 1px -1px 0 #5aa61a, -1px 1px 0 #5aa61a, -1px -1px 0 #5aa61a; }
      .step02 .step_name {
        background-color: #69b628;
        background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuODk5NDE4IiB5MT0iMS4wNzA0MjgiIHgyPSIwLjEwMDU4MiIgeTI9Ii0wLjA3MDQyOCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2E2NzAyYSIvPjxzdG9wIG9mZnNldD0iNDYlIiBzdG9wLWNvbG9yPSIjYTY3MDJhIi8+PHN0b3Agb2Zmc2V0PSI0OSUiIHN0b3AtY29sb3I9IiNiNjdiMmUiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNiNjdiMmUiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');
        background-size: 100%;
        background-image: -moz-linear-gradient(125deg, #a6702a 0%, #a6702a 46%, #b67b2e 49%, #b67b2e 100%);
        background-image: -webkit-linear-gradient(125deg, #a6702a 0%, #a6702a 46%, #b67b2e 49%, #b67b2e 100%);
        background-image: linear-gradient(-35deg, #a6702a 0%, #a6702a 46%, #b67b2e 49%, #b67b2e 100%);
        border: 1px solid #a6702a; }
        .step02 .step_name:before {
          border-color: transparent transparent transparent #a6702a; }
        .step02 .step_name span {
          text-shadow: 1px 1px 0 #a6702a, 1px -1px 0 #a6702a, -1px 1px 0 #a6702a, -1px -1px 0 #a6702a; }
      .step03 .step_name {
        background-color: #69b628;
        background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuODk5NDE4IiB5MT0iMS4wNzA0MjgiIHgyPSIwLjEwMDU4MiIgeTI9Ii0wLjA3MDQyOCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzlmOWY5ZiIvPjxzdG9wIG9mZnNldD0iNDglIiBzdG9wLWNvbG9yPSIjOWY5ZjlmIi8+PHN0b3Agb2Zmc2V0PSI0OSUiIHN0b3AtY29sb3I9IiNhZGFkYWQiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNhZGFkYWQiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');
        background-size: 100%;
        background-image: -moz-linear-gradient(125deg, #9f9f9f 0%, #9f9f9f 48%, #adadad 49%, #adadad 100%);
        background-image: -webkit-linear-gradient(125deg, #9f9f9f 0%, #9f9f9f 48%, #adadad 49%, #adadad 100%);
        background-image: linear-gradient(-35deg, #9f9f9f 0%, #9f9f9f 48%, #adadad 49%, #adadad 100%);
        border: 1px solid #9f9f9f; }
        .step03 .step_name:before {
          border-color: transparent transparent transparent #9f9f9f; }
        .step03 .step_name span {
          text-shadow: 1px 1px 0 #9f9f9f, 1px -1px 0 #9f9f9f, -1px 1px 0 #9f9f9f, -1px -1px 0 #9f9f9f; }
      .step04 .step_name {
        background-color: #ffac36;
        background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuODk5NDE4IiB5MT0iMS4wNzA0MjgiIHgyPSIwLjEwMDU4MiIgeTI9Ii0wLjA3MDQyOCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2YwYTAyZSIvPjxzdG9wIG9mZnNldD0iNDglIiBzdG9wLWNvbG9yPSIjZjBhMDJlIi8+PHN0b3Agb2Zmc2V0PSI0OSUiIHN0b3AtY29sb3I9IiNmZmFjMzYiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmFjMzYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');
        background-size: 100%;
        background-image: -moz-linear-gradient(125deg, #f0a02e 0%, #f0a02e 48%, #ffac36 49%, #ffac36 100%);
        background-image: -webkit-linear-gradient(125deg, #f0a02e 0%, #f0a02e 48%, #ffac36 49%, #ffac36 100%);
        background-image: linear-gradient(-35deg, #f0a02e 0%, #f0a02e 48%, #ffac36 49%, #ffac36 100%);
        border: 1px solid #f0a02e; }
        .step04 .step_name:before {
          border-color: transparent transparent transparent #f0a02e; }
        .step04 .step_name span {
          text-shadow: 1px 1px 0 #f0a02e, 1px -1px 0 #f0a02e, -1px 1px 0 #f0a02e, -1px -1px 0 #f0a02e; } }

.step_subs {
  margin: 30px -30px 0;
  padding: 30px 40px 60px;
  background: #fff; }
  @media screen and (max-width: 1000px) {
    .step_subs {
      margin: 10px -10px;
      padding: 10px; } }

.step_sub {
  margin: 0 0 20px 0;
  padding: 0 0 20px 0;
  border-bottom: 1px dashed #515151; }
  .step_sub:last-child {
    margin: 0;
    padding: 0;
    border: none; }
  @media screen and (max-width: 1000px) {
    .step_sub {
      margin: 10px 10px 20px; }
      .step_sub:last-child {
        margin: 10px 10px 0;
        padding: 0 0 20px 0; } }

.step_sub_title {
  margin: 0 0 10px 0;
  color: #2a7939;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold; }
  @media screen and (max-width: 1000px) {
    .step_sub_title {
      margin: 0 0 5px 0;
      font-size: 15px;
      font-size: 1.5rem; } }

.step_episodes {
  margin-bottom: 60px;
  overflow: hidden; }
  @media screen and (max-width: 1000px) {
    .step_episodes {
      margin: 0;
      padding: 20px 10px;
      background-color: #f2f8f1; } }
  .step_episodes .small_title {
    margin-bottom: 30px; }

.step_episode {
  position: relative;
  width: 1000px;
  margin: 0 auto;
  margin-bottom: 30px;
  box-sizing: border-box; }
  @media screen and (max-width: 1000px) {
    .step_episode {
      width: auto; } }
  @media screen and (max-width: 1000px) {
    .step_episode {
      min-height: auto;
      min-height: initial;
      margin: 0 0 15px 0;
      padding: 0;
      background: #fff; } }

.step_img {
  position: relative;
  z-index: 3;
  margin: 0 0 0 -140px; }
  .ep02 .step_img {
    margin: 0 -140px 0 0;
    text-align: right; }
  @media screen and (max-width: 1000px) {
    .step_img {
      position: static;
      margin: 0 !important; }
      .step_img img {
        width: 100%;
        height: auto; } }

.step_episode_box {
  position: relative;
  z-index: 4;
  margin: -370px 0 0 310px;
  padding: 30px 40px 20px;
  box-sizing: border-box;
  background-color: #fff;
  border: 1px solid #ccc; }
  @media screen and (max-width: 1000px) {
    .step_episode_box {
      margin: 0;
      padding: 15px 20px;
      border: none; } }
  .step_episode_box:before {
    position: absolute;
    display: block;
    left: -22px;
    top: 50%;
    display: block;
    content: "";
    width: 0;
    height: 0;
    margin: -16px 0 0 0;
    border-style: solid;
    border-width: 16px 22px 16px 0;
    border-color: transparent #ccc transparent transparent; }
  .step_episode_box:after {
    position: absolute;
    display: block;
    left: -20px;
    top: 50%;
    display: block;
    content: "";
    width: 0;
    height: 0;
    margin: -15px 0 0 0;
    border-style: solid;
    border-width: 15px 20px 15px 0;
    border-color: transparent #fff transparent transparent; }
  .ep02 .step_episode_box {
    margin: -370px 310px 0 0; }
    @media screen and (max-width: 1000px) {
      .ep02 .step_episode_box {
        margin: 0; } }
  .ep02 .step_episode_box:before {
    left: auto;
    right: -22px;
    border-width: 16px 0 16px 22px;
    border-color: transparent transparent transparent #ccc; }
  .ep02 .step_episode_box:after {
    left: auto;
    right: -20px;
    border-width: 15px 0 15px 20px;
    border-color: transparent transparent transparent #fff; }
  @media screen and (max-width: 1000px) {
    .step_episode_box:before, .step_episode_box:after {
      display: none !important; } }
  .step_episode_box p {
    margin: 0 0 20px 0; }

.step_episode_title {
  margin: 0 0 20px 0;
  padding: 0 0 15px 0;
  border-bottom: 1px dashed #515151;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
  color: #515151;
  line-height: 1.5; }
  @media screen and (max-width: 1000px) {
    .step_episode_title {
      margin: 0 0 10px 0;
      padding: 0 0 10px 0;
      font-size: 15px;
      font-size: 1.5rem; } }
	  
/*-----------------------------------*/
/*導線部分を中央寄せに*/
.staff_btns ul {
    display: flex;
    justify-content: center;
}
.staff_btns ul li:nth-child(2){
    margin: 0 10px;
}

@media screen and (max-width: 550px) {
  .staff_btns ul li a {
    position: relative;
    width: 86px;
    height: 86px;
    margin: 0 auto;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    border-radius: 50%;
  }
  .staff_btns ul li img {
    width: 82px;
    height: 82px;
    margin: 2px;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    border-radius: 50%;
  }
  .staff_btns ul li p {
    height: 23px;
    line-height: 19px;
    font-size: 12px;
    font-size: 1.2rem;
  }
  .staff_btns ul li p:before {
    margin: 0 2px 0 0;
    border-width: 3px 0 3px 5px;
  }
}
@media screen and (max-width: 549px) {
  .staff_btns ul li a {
    position: relative;
    width: 114px;
    height: 114px;
  }
  .staff_btns ul li img {
    width: 110px;
    height: 110px;
  }
}

/*改行調整*/
.staff_headings.non_break {
    width: auto;
}