@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@100;300;400;500;700;800;900&display=swap");
html {
  overflow-y: scroll;
  overflow-x: hidden;
  font-size: 10px;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%
}
blockquote, body, code, dd, div, dl, dt, fieldset, form, h1, h2, h3, h4, h5, h6, input, legend, li, ol, p, pre, td, textarea, th, ul {
  margin: 0;
  padding: 0
}
* {
  box-sizing: border-box
}
table {
  border-collapse: collapse;
  border-spacing: 0
}
fieldset, img {
  border: 0
}
img {
  vertical-align: middle;
  max-width: 100%
}
address, caption, cite, code, dfn, var {
  font-style: normal;
  font-weight: 400
}
li {
  list-style: none
}
caption, th {
  text-align: left
}
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: 400
}
q:after, q:before {
  content: ""
}
abbr, acronym {
  border: 0;
  font-variant: normal
}
sup {
  vertical-align: text-top
}
sub {
  vertical-align: text-bottom
}
button, input, select, textarea {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}
input, select, textarea {
  *font-size: 100%
}
legend {
  color: #000
}
del, ins {
  text-decoration: none
}
main {
  display: block
}
section {
  position: relative
}
.mb0 {
  margin-bottom: 0 !important
}
body {
  color: #000;
  font-family: Meiryo, ヒラギノ角ゴPro W3, Hiragino Kaku Gothic Pro, Osaka, メイリオ, MS Pゴシック, Arial, Helvetica, Verdana, sans-serif;
  font-size: 100%;
  -webkit-font-smoothing: antialiased;
  line-height: 1.4;
  overflow-x: hidden
}
a {
  text-decoration: none;
  -webkit-backface-visibility: hidden;
  transition: all .3s ease
}
a:hover {
  opacity: .7
}
.inner .contact-note h4 {
}
@media (-ms-high-contrast:active), (-ms-high-contrast:none) {
  a {
    display: inline-block
  }
}
@media screen and (min-width:835px) {
  a[href^=tel] {
    pointer-events: none
  }
}
.clearfix {
  *zoom: 1
}
.clearfix:after, .clearfix:before {
  content: "";
  display: table
}
.clearfix:after {
  clear: both
}
@media screen and (max-width:834px) {
  .pc {
    display: none !important
  }
}
@media screen and (max-width:1024px) {
  .pc-ipd {
    display: none !important
  }
}
@media screen and (max-width:990px) {
  .pc-lg {
    display: none !important
  }
}
@media screen and (max-width:640px) {
  .pc-sm {
    display: none !important
  }
}
@media screen and (max-width:410px) {
  .pc-xs {
    display: none !important
  }
}
@media screen and (min-width:835px) {
  .sp {
    display: none !important
  }
}
@media screen and (min-width:1025px) {
  .sp-ipd {
    display: none !important
  }
}
@media screen and (min-width:991px) {
  .sp-lg {
    display: none !important
  }
}
@media screen and (min-width:641px) {
  .sp-sm {
    display: none !important
  }
}
.u-fn-hover {
  display: inline-block
}
@media screen and (min-width:835px) {
  .u-fn-hover {
    transition: all .2s
  }
  .u-fn-hover:hover {
    opacity: .7
  }
}
.u-pull--left {
  margin-left: calc((100vw - 100%) / 2 * -1)
}
.u-pull--right {
  margin-right: calc((100vw - 100%) / 2 * -1)
}
.c-fc--white {
  color: #fff !important
}
.c-fc--black {
  color: #000 !important
}
.c-fw--lt {
  font-weight: 300 !important
}
.c-fw--rg {
  font-weight: 400 !important
}
.c-fw--md {
  font-weight: 500 !important
}
.c-fw--sbd {
  font-weight: 600 !important
}
.c-fw--bd {
  font-weight: 700 !important
}
.c-fw--bk {
  font-weight: 900 !important
}
.c-tx--v {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl
}
@media screen and (min-width:835px) {
  .c-tx--v-pc {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
  }
}
.c-al--c {
  text-align: center !important
}
.c-al--r {
  text-align: right !important
}
.c-al--l {
  text-align: left
}
.c-val--md {
  vertical-align: middle
}
.c-val--top {
  vertical-align: top
}
.c-scroll-box {
  padding-bottom: 20px;
  overflow-x: scroll;
  overflow-y: hidden
}
.c-scroll-box-y {
  padding-bottom: 20px;
  overflow-x: hidden;
  overflow-y: scroll
}
@media screen and (max-width:834px) {
  .c-scroll-box-pc {
    padding-bottom: 20px;
    overflow-x: scroll;
    overflow-y: hidden
  }
}
.c-pull--left {
  margin-left: calc((100vw - 100%) / 2 * -1)
}
.c-pull--right {
  margin-right: calc((100vw - 100%) / 2 * -1)
}
.c-ttl__01 {
  text-align: center;
  margin-bottom: 25px
}
@media screen and (max-width:834px) {
  .c-ttl__01 {
    margin-bottom: 20px
  }
}
.c-ttl__01 span {
  min-width: 203px;
  padding: 0 54px 7px 46px;
  display: inline-block;
  color: #009251;
  border-bottom: 2px solid #b3b3b3;
  font-family: M PLUS\ 1p, sans-serif;
    font-size: 2.2rem;
    font-weight: 500
}
@media screen and (max-width:834px) {
  .c-ttl__01 span {
    padding: 0 30px 6px;
    font-size: 1.6rem
  }
}
.c-ttl__white span {
  color: #fff;
  border-color: #fff
}
.c-ttl__02 {
  color: #009251;
  margin-bottom: 18px;
  text-align: center;
  font-family: M PLUS\ 1p, sans-serif;
  font-size: 3.2rem
}
@media screen and (max-width:834px) {
  .c-ttl__02 {
    margin-bottom: 20px;
    font-size: 2.4rem
  }
}
.scrollin {
  opacity: 0;
  transform: translateY(70px)
}
.scrollin.active {
  opacity: 1;
  transform: translate(0);
  transition: .7s cubic-bezier(.25, .46, .45, .94)
}
.inner {
	max-width: 1200px;
	padding: 0 15px;
	margin: 0 auto;
}
.form-control, .inner {
  display: block;
  width: 100%
}
.form-control {
  height: 45px;
  background: #fff;
  border: 1px solid #ccc;
  font-weight: 500;
  padding: 5px 10px;
  font-size: 1.5rem
}
.form-control:focus {
  border-color: #66afe9;
  outline: 0;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6)
}
.pure-input input {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px
}
.pure-input input[type=checkbox] + label:after {
  background-color: transparent;
  top: 50%;
  left: 4px;
  width: 8px;
  height: 3px;
  margin-top: -4px;
  border-style: solid;
  border-color: #fff;
  border-width: 0 0 3px 3px;
  -o-border-image: none;
  border-image: none;
  transform: rotate(-45deg) scale(0)
}
.pure-input input[type=checkbox]:checked + label:after {
  content: "";
  transform: rotate(-45deg) scale(1);
  transition: transform .2s ease-out
}
.pure-input input[type=checkbox]:checked + label:before {
  animation: borderscale .2s ease-in;
  background: #4f8196
}
.pure-input input[type=radio] + label:after, .pure-input input[type=radio] + label:before {
  border-radius: 50%
}
.pure-input input[type=radio]:checked + label:before {
  animation: borderscale .3s ease-in;
  background-color: #fff
}
.pure-input input[type=radio]:checked + label:after {
  transform: scale(1)
}
.pure-input label {
  position: relative;
  padding: 5px 5px 5px 2em;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: pointer
}
.pure-input label:before {
  color: #4f8196;
  left: 0;
  width: 14px;
  height: 14px;
  margin-top: -9px;
  border: 2px solid #4f8196;
  text-align: center;
  transition: all .4s ease
}
.pure-input label:after, .pure-input label:before {
  box-sizing: content-box;
  content: "";
  position: absolute;
  top: 50%
}
.pure-input label:after {
  background-color: #4f8196;
  left: 4px;
  width: 10px;
  height: 10px;
  margin-top: -5px;
  transform: scale(0);
  transform-origin: 50%;
  transition: transform .2s ease-out
}
#header .hd-ct {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 4;
  background: #fff
}
#header .hd-flex {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 16px 0 14px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  align-items: center
}
@media screen and (max-width:1245px) {
  #header .hd-flex {
  max-width: 100%;
    padding: 16px 15px 14px
  }
}
@media screen and (max-width:990px) {
  #header .hd-flex {
    padding: 10px 15px
  }
}
@media screen and (max-width:834px) {
  #header .hd-flex {
    padding: 15px
  }
}
@media screen and (max-width:410px) {
  #header .hd-flex {
    padding: 15px 7px
  }
}
@media screen and (max-width:900px) {
  #header .hd-logo img {
    width: 268px
  }
}
@media screen and (max-width:834px) {
  #header .hd-logo img {
    width: 268px
  }
}
@media screen and (max-width:410px) {
  #header .hd-logo img {
    width: 250px
  }
}
#header .hd-contact {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center
}
@media screen and (max-width:834px) {
  #header .hd-contact {
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}
@media screen and (max-width:834px) {
  #header .hd-contact li {
    text-align: center;
    width: 100%;
    margin-bottom: 15px
  }
  #header .hd-contact li:last-child {
    margin-bottom: 0
  }
}
#header .hd-contact li a {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  font-family: M PLUS\ 1p, sans-serif;
  color: #009251;
  font-weight: 800
}
@media screen and (max-width:834px) {
  #header .hd-contact li a {
    display: -ms-inline-flexbox;
    display: inline-flex;
    color: #009251
  }
}
#header .hd-tel a {
	margin-top: 2px;
	letter-spacing: 1.3px;
	font-size: 2.4rem;
	display: block !important;
	line-height: 1.2;
}
#header .hd-tel a div{
	font-size: 14px;
	font-weight: 500;
	margin-left: 35px;
}
@media screen and (max-width:834px) {
  #header .hd-tel a {
    margin-top: 0;
    letter-spacing: 0;
	display: block !important;
    font-size: 2rem
  }
}
#header .hd-tel a img {
	margin-right: 2px;
	margin-bottom: -10px;
}
#header .hd-mail {
  margin-left: 19px
}
@media screen and (max-width:834px) {
  #header .hd-mail {
    margin-left: 0
  }
}
#header .hd-mail a {
  letter-spacing: .1px;
  font-size: 1.9rem
}
@media screen and (max-width:834px) {
  #header .hd-mail a {
    letter-spacing: 0;
    font-size: 1.8rem
  }
}
#header .hd-mail a img {
  margin-bottom: -3px;
  margin-right: 10px
}
@media screen and (max-width:834px) {
  #header .hd-mail a img {
    margin-right: 5px;
    margin-bottom: 0
  }
}
#header .nav-menu {
  width: 100%;
  background: #009251
}
@media screen and (max-width:834px) {
  #header .nav-menu {
    background: #fff;
    position: fixed;
    top: 57px;
    left: 0;
    width: 100%;
    overflow-y: auto;
    opacity: 0;
    pointer-events: none;
    transition: all .5s;
    padding: 10px 0 50px;
    z-index: 4;
    height: calc(100vh - 57px)
  }
  #header .nav-menu.on {
    opacity: 1;
    pointer-events: auto;
    transition: all .5s
  }
}
#header .nav-menu .show-menu {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}
@media screen and (max-width:834px) {
  #header .nav-menu .show-menu {
    margin-bottom: 35px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}
#header .nav-menu .show-menu > .item {
  position: relative;
  border-right: 1px solid #fff
}
@media screen and (max-width:834px) {
  #header .nav-menu .show-menu > .item {
    width: 100%;
    border-bottom: 1px solid #009251;
    border-right: 0
  }
}
#header .nav-menu .show-menu > .item:first-child {
  border-left: 1px solid #fff
}
@media screen and (max-width:834px) {
  #header .nav-menu .show-menu > .item:first-child {
    border-left: 0;
    border-top: 1px solid #009251
  }
}
#header .nav-menu .show-menu > .item > a {
	text-align: center;
	min-width: 198px;
	padding-top: 16px;
	padding-right: 10px;
	padding-left: 10px;
	padding-bottom: 17px;
	letter-spacing: 1px;
	position: relative;
	display: block;
	color: #fff;
	font-family: M PLUS\ 1p, sans-serif;
	font-size: 1.5rem
}
@media screen and (max-width:1218px) {
  #header .nav-menu .show-menu > .item > a {
    min-width: 130px;
    font-size: 1.4rem
  }
}
@media screen and (max-width:990px) {
  #header .nav-menu .show-menu > .item > a {
    min-width: 118px;
    font-size: 1.4rem
  }
}
@media screen and (max-width:834px) {
  #header .nav-menu .show-menu > .item > a {
    color: #009251;
    padding: 18px 20px;
    font-size: 1.6rem
  }
}
#header .nav-menu .show-menu > .item > a:before {
  content: "";
  border: 4px solid transparent;
  border-top: 5px solid #a6d9c2;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%)
}
@media screen and (max-width:834px) {
  #header .nav-menu .show-menu > .item > a:before {
    border: 8px solid transparent;
    border-top: transparent;
    border-right: 8px solid #fff;
    bottom: auto;
    top: 50%;
    right: 5px;
    left: auto;
    transform: rotate(45deg) translate(-50%)
  }
}
#header .mobile-icon {
  width: 28px;
  height: 30px;
  position: fixed;
  right: 15px;
  top: 18px;
  cursor: pointer;
  z-index: 4;
  display: none
}
@media screen and (max-width:834px) {
  #header .mobile-icon {
    display: block
  }
}
@media screen and (max-width:410px) {
  #header .mobile-icon {
    right: 10px
  }
}
#header .mobile-icon span {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 100%;
  height: 2px;
  background: #333;
  border-radius: 3px
}
#header .mobile-icon span:after, #header .mobile-icon span:before {
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  background: #333;
  content: "";
  transition: transform .3s;
  border-radius: 3px
}
#header .mobile-icon span:before {
  transform: translateY(-250%);
  top: -4px
}
#header .mobile-icon span:after {
  transform: translateY(250%);
  bottom: -4px
}
#header .mobile-icon.mobile-close span {
  background-color: transparent
}
#header .mobile-icon.mobile-close span:after, #header .mobile-icon.mobile-close span:before {
  width: 100%;
  background: #333
}
#header .mobile-icon.mobile-close span:before {
  transform: translateY(0) rotate(45deg);
  top: 2px
}
#header .mobile-icon.mobile-close span:after {
  transform: translateY(0) rotate(-45deg);
  bottom: -2px
}
.is-locked {
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none
}
.is-locked body {
  -webkit-overflow-scrolling: auto
}
.copy-right {
  color: #000;
  background: #bfbfbf;
  text-align: center;
  padding: 18px 10px 14px;
  font-size: 1.1rem
}
@media screen and (max-width:834px) {
  .copy-right {
    padding: 10px
  }
}
.main-page {
  margin-top: 106px
}
@media screen and (max-width:990px) {
  .main-page {
    margin-top: 103px
  }
}
@media screen and (max-width:834px) {
  .main-page {
    margin-top: 63px
  }
}
.mv-index {
  position: relative
}
.mv-img {
  display: -ms-flexbox;
  display: flex
}
.mv-img li {
  width: 33.33%;
  position: relative;
  overflow: hidden
}
.mv-img li:before {
  content: "";
  display: block;
  padding-bottom: 100%
}
.mv-img li .thumb {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0
}
.mv-img li .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: object-fit\: cover
}
.mv-img img {
  width: 100%
}
.sec-concept {
  padding: 57px 0 82px;
  position: relative
}
@media screen and (max-width:834px) {
  .sec-concept {
    padding: 50px 0
  }
}
.sec-concept:after {
  content: "";
  width: 205px;
  height: 341px;
  background: url(../img/index/icon-01.png) 50% no-repeat;
  background-size: contain;
  position: absolute;
  right: 3.6%;
  top: -100px
}
@media screen and (max-width:1245px) {
  .sec-concept:after {
    right: 0;
    width: 180px;
    top: -130px;
    height: 300px
  }
}
@media screen and (max-width:834px) {
  .sec-concept:after {
    right: -6px;
    width: 103px;
    top: -103px;
    height: 200px
  }
}
.concept-desc {
  text-align: center;
  margin-bottom: 23px;
  line-height: 1.762;
  font-size: 2rem
}
@media screen and (max-width:834px) {
  .concept-desc {
    margin-bottom: 20px;
    line-height: 1.5;
    font-size: 1.6rem
  }
}
.concept-desc span {
  margin-top: 7px;
  display: block;
  line-height: 1.955;
  font-size: 1.7rem
}
@media screen and (max-width:834px) {
  .concept-desc span {
    line-height: 1.5;
    font-size: 1.4rem
  }
}
.concept-img {
  margin: 0 -7px 87px;
  display: -ms-flexbox;
  display: flex
}
@media screen and (max-width:834px) {
  .concept-img {
    margin: 0 -3px 50px
  }
}
.concept-img li {
  width: 50%;
  margin: 0 7px;
  position: relative;
  overflow: hidden
}
@media screen and (max-width:834px) {
  .concept-img li {
    padding: 0 3px;
    margin: 0
  }
}
.concept-img li:before {
  content: "";
  display: block;
  padding-bottom: 66.4596273292%
}
.concept-img li .thumb {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0
}
.concept-img li .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: object-fit\: cover
}
.concept-img__03 {
  margin-bottom: 0
}
.concept-img__03 li {
  width: 33.33%;
  position: relative;
  overflow: hidden
}
.concept-img__03 li img {
  max-height: 318px;
  overflow: hidden;
  -o-object-fit: cover;
  object-fit: cover
}
.concept-img__03 li:before {
  content: "";
  display: block;
  padding-bottom: 74.7634069401%
}
.concept-img__03 li .thumb {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0
}
.concept-img__03 li .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: object-fit\: cover
}
.concept-txt {
  color: #333;
  line-height: 1.955;
  text-align: center;
  margin-bottom: 34px;
  font-size: 1.7rem
}
@media screen and (max-width:834px) {
  .concept-txt {
    line-height: 1.6;
    margin-bottom: 25px;
    font-size: 1.4rem
  }
}
.sec-news {
	padding: 156px 0;
	background: #009251;
	/*display: none;*/
}
.sec-news .inner {
    max-width: 100%;
}
.news_ttl {
    font-size: 36px;
    font-weight: bold;
    color: #fff;
    margin-bottom: 24px;
    text-align: center;
}

@media screen and (max-width:834px) {
  .sec-news {
    padding: 50px 0
  }
}
.news-list {
	background: #fff;
	padding: 0 19px 4px 16px;
	height: auto;
  overflow: hidden;    
 /* overflow-y: scroll;*/   
}
@media screen and (max-width:834px) {
  .news-list {
    padding: 10px
  }
}
.news-item {
  border-bottom: 1px solid #c2c2c2
}
.news-item a {
  padding: 19.5px 4px 19px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center
}
@media screen and (max-width:834px) {
  .news-item a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}
.news-item .date {
  width: 158px;
  display: block;
  padding-right: 5px;
  padding-top: 2px;
  color: #666;
  font-size: 2rem
}
@media screen and (max-width:834px) {
  .news-item .date {
    font-size: 1.4rem
  }
}
.news-item .cate {
  background: #FF0000;
  width: 100px;
  color: #fff;
  padding: 12px;
  text-align: center;
  line-height: 1.2;
  font-size: 1.5rem
}
.blinking{
	-webkit-animation:blink .8s ease-in-out infinite alternate;
    -moz-animation:blink .8s ease-in-out infinite alternate;
    animation:blink .8s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@media screen and (max-width:834px) {
  .news-item .cate {
    width: 140px;
    font-size: 1.2rem
  }
}

.news-item .cate.yellow {
  background: #dd9414
}
.news-item .cate.green {
  background: #37a411
}
.news-item p {
  text-decoration: underline;
  padding-left: 14px;
  letter-spacing: .4px;
  padding-top: 5px;
  color: #063;
  line-height: 1.3;
  width: calc(100% - 215px);
  font-size: 2rem
}
@media screen and (max-width:1245px) {
  .news-item p {
    letter-spacing: 0;
    font-size: 1.5rem
  }
}
@media screen and (max-width:834px) {
  .news-item p {
    width: 100%;
    padding: 10px 0 0;
    line-height: 1.4;
    font-size: 1.4rem
  }
}
.sec-service {
  padding: 79px 0 58px;
  background: #009251;
  position: relative
}
@media screen and (max-width:834px) {
  .sec-service {
    padding: 50px 0
  }
}
.sec-service:before {
  content: "";
  width: 169px;
  height: 286px;
  background: url(../img/index/icon-03.png) 50% no-repeat;
  background-size: contain;
  position: absolute;
  left: 3.6%;
  top: -104px
}
@media screen and (max-width:1245px) {
  .sec-service:before {
    left: 0
  }
}
@media screen and (max-width:834px) {
  .sec-service:before {
    width: 109px;
    height: 206px;
    left: -12px;
    top: -97px
  }
}
.sec-service:after {
  content: "";
  width: 118px;
  height: 220px;
  background: url(../img/index/icon-02.png) 50% no-repeat;
  background-size: contain;
  position: absolute;
  right: 9.45%;
  bottom: -75px
}
@media screen and (max-width:1245px) {
  .sec-service:after {
    right: 10px
  }
}
@media screen and (max-width:834px) {
  .sec-service:after {
    width: 76px;
    height: 180px;
    bottom: -85px
  }
}
.service-list {
  margin: 0 -5px 60px;
  display: -ms-flexbox;
  display: flex
}
@media screen and (max-width:834px) {
  .service-list {
    max-width: 500px;
    margin: 0 auto 35px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}
.service-item {
  width: 33.33%;
  padding: 0 5px;
  position: relative
}
@media screen and (max-width:834px) {
  .service-item {
    width: 100%;
    margin-bottom: 35px
  }
  .service-item:last-child {
    margin-bottom: 0
  }
}
.service-img {
  position: relative;
  overflow: hidden
}
.service-img:before {
  content: "";
  display: block;
  padding-bottom: 75%
}
.service-img .thumb {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0
}
.service-img .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: object-fit\: cover
}
.service-ttl {
  max-width: 215px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 2
}
.service-ttl img {
  width: 100%;
  margin-top: -30px
}
.service-heading {
  color: #fff;
  margin-bottom: 34px;
  line-height: 1.35125;
  text-align: center;
  font-family: M PLUS\ 1p, sans-serif;
  font-size: 3.2rem
}
@media screen and (max-width:834px) {
  .service-heading {
    margin-bottom: 25px;
    font-size: 2rem
  }
}
.service-title {
  color: #fff;
  text-align: center;
  margin-bottom: 36px;
  font-size: 2.7rem
}
@media screen and (max-width:834px) {
  .service-title {
    margin-bottom: 25px;
    font-size: 2rem
  }
}
.step-list {
  padding-bottom: 67px
}
@media screen and (max-width:834px) {
  .step-list {
    padding-bottom: 25px;
  }
}
.step-item {
	background-color: #eef9f0;
	margin-bottom: 86px;
	padding: 13px 11px 11px;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
	position: relative
}
@media screen and (max-width:834px) {
  .step-item {
    padding: 10px;
    margin-bottom: 35px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}
.step-item:last-child {
  margin-bottom: 0
}
.step-item:last-child:before {
  display: none
}
.step-item:before {
  content: "";
  border: 28px solid transparent;
  border-top: 18px solid #eef9f0;
  bottom: -78px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%)
}
@media screen and (max-width:834px) {
  .step-item:before {
    display: none
  }
}
.step-number {
  width: 310px;
  position: relative
}
@media screen and (max-width:834px) {
  .step-number {
    width: 100%
  }
}
.step-number .icon {
  position: absolute;
  left: 8px;
  top: 43%;
  transform: translateY(-50%)
}
@media screen and (max-width:834px) {
  .step-number .icon {
    top: 8px;
    left: 50%;
    transform: translate(-50%)
  }
}
.step-number .number {
	display: block;
	line-height: 1;
	color: #D0E9DC;
	position: absolute;
	top: 50%;
	left: 50%;
	font-weight: 300;
	font-family: M PLUS\ 1p, sans-serif;
	transform: translate(-50%, -50%);
	font-size: 18rem
}
@media screen and (max-width:834px) {
  .step-number .number {
    top: 63%;
    font-size: 10rem
  }
}
.step-number .txt {
	text-align: center;
	display: block;
	position: relative;
	z-index: 1;
	color: #009251;
	padding-left: 50px;
	font-weight: 400;
	font-family: M PLUS\ 1p, sans-serif;
	font-size: 2.5rem
}
@media screen and (max-width:834px) {
  .step-number .txt {
    padding: 97px 0 46px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 2rem
  }
}
.step-flex {
	border-left: 1px solid #C8C8C8;
	width: calc(100% - 310px);
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center
}
@media screen and (max-width:834px) {
  .step-flex {
    width: 100%;
    border-left: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap-reverse;
    flex-wrap: wrap-reverse
  }
}
.step-ct {
	padding: 0 20px;
	width: calc(100% - 255px);
}
@media screen and (max-width:990px) {
  .step-ct {
    padding: 0 10px 0 15px
  }
}
@media screen and (max-width:834px) {
  .step-ct {
    width: 100%;
    padding: 15px 4px 5px
  }
}
.step-ct p {
  line-height: 1.66;
  font-size: 1.6rem
}
@media screen and (max-width:834px) {
  .step-ct p {
    line-height: 1.5
  }
}
.step-ttl {
	color: #009251;
	margin-bottom: 2px;
	letter-spacing: .75px;
	font-size: 2.2rem;
}
@media screen and (max-width:834px) {
  .step-ttl {
    letter-spacing: 0;
    margin-bottom: 5px;
    font-size: 1.6rem
  }
}
.step-img {
  width: 255px
}
@media screen and (max-width:834px) {
  .step-img {
    width: 100%
  }
}
.step-img img {
  width: 100%
}
.need-box {
	padding-top: 35px;
	padding-right: 30px;
	padding-left: 30px;
	padding-bottom: 20px;
	background-color: #FFFFFF;
	border-radius: 20px;
}
@media screen and (max-width:834px) {
  .need-box {
	padding-top: 25px;
	padding-right: 12px;
	padding-left: 12px;
	padding-bottom: 20px;
  }
}
.need-heading {
  text-align: center;
  color:#009251;
  margin-bottom: 30px;
  font-family: M PLUS\ 1p, sans-serif;
  font-size: 2.7rem
}
@media screen and (max-width:834px) {
  .need-heading {
    margin-bottom: 25px;
    font-size: 2rem
  }
}
.need-flex {
  margin: 0 -25px 42px;
  display: -ms-flexbox;
  display: flex
}
@media screen and (max-width:834px) {
  .need-flex {
    margin: 0 0 25px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}
.need-flex li {
  width: 50%;
  padding: 0 25px
}
@media screen and (max-width:834px) {
  .need-flex li {
    width: 100%;
    padding: 0;
    margin-bottom: 35px
  }
  .need-flex li:last-child {
    margin-bottom: 0
  }
}
.need-flex li dl {
  margin-bottom: 19px
}
@media screen and (max-width:834px) {
  .need-flex li dl {
    margin-bottom: 15px
  }
}
.need-flex li dl:last-child {
  margin-bottom: 0
}
.need-flex li dl dt {
  color: #009251;
  margin-bottom: 7px;
  font-size: 2.1rem
}
@media screen and (max-width:834px) {
  .need-flex li dl dt {
    display: -ms-flexbox;
    display: flex;
  font-size: 1.8rem
  }
}
.need-flex li dl dt span {
  margin-right: 1px;
  font-size: 1.6rem
}
@media screen and (max-width:834px) {
  .need-flex li dl dt span {
    display: -ms-flexbox;
    display: flex
  }
}
.need-flex li dl dd {
  line-height: 1.7025;
  font-size: 1.6rem
}
@media screen and (max-width:834px) {
  .need-flex li dl dd {
    line-height: 1.4;
    font-size: 1.4rem
  }
}
.need-flex li dl dd span {
  display: block;
  margin-top: 18px;
  margin-bottom: 4px;
  font-size: 2rem
}
@media screen and (max-width:834px) {
  .need-flex li dl dd span {
    font-size: 1.6rem
  }
}
.need-flex li dl dd img {
  width: 100%;
  padding-right: 14px
}
@media screen and (max-width:834px) {
  .need-flex li dl dd img {
    padding-right: 0;
    max-width: 400px
  }
}
.need-ttl {
  background: #fff;
  padding: 15px 5px 13px 18px;
  text-align: center;
  color: #009251;
  line-height: 1.3422;
  font-family: M PLUS\ 1p, sans-serif;
  font-weight: 500;
  font-size: 2.4rem
}
@media screen and (max-width:1245px) {
  .need-ttl {
    font-size: 2.2rem
  }
}
@media screen and (max-width:990px) {
  .need-ttl {
    font-size: 1.8rem
  }
}
@media screen and (max-width:834px) {
  .need-ttl {
	line-height: 1.3;
	font-size: 1.4rem;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
  }
}
.sec-case {
  padding: 92px 0 57px
}
@media screen and (max-width:834px) {
  .sec-case {
    padding: 50px 0
  }
}
.sec-case .c-ttl__02 {
  margin-bottom: 79px;
  font-size: 2.7rem
}
@media screen and (max-width:834px) {
  .sec-case .c-ttl__02 {
    margin-bottom: 25px;
    font-size: 2rem
  }
}
.case-list {
  margin: 0 -20px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}
@media screen and (max-width:990px) {
  .case-list {
    margin: 0 -7px
  }
}
@media screen and (max-width:834px) {
  .case-list {
    margin: 0 -5px
  }
}
@media screen and (max-width:640px) {
  .case-list {
    margin: 0
  }
}
.case-list li {
  width: 33.33%;
  padding: 0 20px;
  margin-bottom: 36px
}
@media screen and (max-width:990px) {
  .case-list li {
    padding: 0 7px
  }
}
@media screen and (max-width:834px) {
  .case-list li {
    padding: 0 5px;
    width: 50%
  }
  .case-list li:last-child {
    margin-bottom: 0
  }
}
@media screen and (max-width:640px) {
  .case-list li {
    width: 100%;
    padding: 0
  }
}
.case-ct p {
  text-align: center;
  line-height: 1.66;
  font-size: 1.4rem
}
@media screen and (max-width:990px) {
  .case-ct p {
    font-size: 1.2rem
  }
}
@media screen and (max-width:834px) {
  .case-ct p {
    line-height: 1.4
  }
}
.case-img {
  margin-bottom: 15px;
  position: relative;
  overflow: hidden
}
@media screen and (max-width:990px) {
  .case-img {
    margin-bottom: 12px
  }
}
.case-img:before {
  content: "";
  display: block;
  padding-bottom: 66.6666666667%
}
.case-img .thumb {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0
}
.case-img .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: object-fit\: cover
}
.case-ttl {
	line-height: 1.2;
	color: #009251;
	text-align: center;
	margin-bottom: 8px;
	font-size: 1.7rem;
	font-weight: bold;
}
@media screen and (max-width:834px) {
  .case-ttl {
    font-size: 1.5rem
  }
}
.sec-greeting {
	padding: 78px 0 72px;
	background-color: #EBEBEB;
	color: #000000;
}
@media screen and (max-width:834px) {
  .sec-greeting {
    padding: 50px 0
  }
}
.greeting-ttl {
  color: #fff;
  font-family: M PLUS\ 1p, sans-serif;
  text-align: center;
  margin-bottom: 20px;
  font-size: 3.2rem
}
@media screen and (max-width:834px) {
  .greeting-ttl {
    margin-bottom: 20px;
    font-size: 2.2rem
  }
}
.greeting-desc {
  line-height: 1.95;
  margin-bottom: 22px;
  text-align: center;
  font-size: 1.7rem
}
@media screen and (max-width:834px) {
  .greeting-desc {
    line-height: 1.6;
    margin-bottom: 20px;
    font-size: 1.4rem;
    text-align: left
  }
}
.greeting-note {
	display: block;
	text-align: center;
	font-size: 2rem;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-weight: bold;
}
@media screen and (max-width:834px) {
  .greeting-note {
    font-size: 1.4rem
  }
}
.sec-company {
  padding: 99px 0 91px
}
@media screen and (max-width:834px) {
  .sec-company {
    padding: 50px 0
  }
}
.company-txt {
  color: #505050;
  text-align: center;
  line-height: 1.955;
  margin-bottom: 28px;
  letter-spacing: .25px;
  font-size: 1.7rem
}
@media screen and (max-width:834px) {
  .company-txt {
    letter-spacing: 0;
    margin-bottom: 25px;
    line-height: 1.6;
    font-size: 1.4rem
  }
}
.company-list {
  margin: 0 -5px 27px;
  display: -ms-flexbox;
  display: flex;
  position: relative
}
@media screen and (max-width:834px) {
  .company-list {
    margin-bottom: 25px
  }
}
.company-list:before {
  content: "";
  width: 104px;
  height: 194px;
  background: url(../img/index/icon-07.png) 50% no-repeat;
  background-size: contain;
  position: absolute;
  left: -78px;
  bottom: 17px;
  z-index: 3
}
@media screen and (max-width:834px) {
  .company-list:before {
    display: none
  }
}
.company-list li {
  margin: 0 5px;
  width: 33.33%;
  position: relative;
  overflow: hidden
}
.company-list li:before {
  content: "";
  display: block;
  padding-bottom: 67.1875%
}
.company-list li .thumb {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0
}
.company-list li .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: object-fit\: cover
}
.company-ct {
  margin-bottom: 39px
}
.company-ct dl {
  margin-bottom: 4px;
  display: -ms-flexbox;
  display: flex
}
@media screen and (max-width:834px) {
  .company-ct dl {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}
.company-ct dl dt {
  width: 300px;
  background: #009251;
  padding: 9px 10px 7px;
  line-height: 1.2;
  text-align: center;
  color: #fff;
  font-size: 1.7rem
}
@media screen and (max-width:834px) {
  .company-ct dl dt {
    width: 100%;
    padding: 10px;
    font-size: 1.5rem
  }
}
.company-ct dl dt span {
  height: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center
}
.company-ct dl dd {
  line-height: 1.764;
  padding: 4px 16px 2px;
  width: calc(100% - 300px);
  background: #ebebeb;
  color: #333;
  font-size: 1.7rem
}
@media screen and (max-width:834px) {
  .company-ct dl dd {
    line-height: 1.6;
    width: 100%;
    padding: 10px 10px 8px;
    font-size: 1.5rem
  }
}
.company-map iframe {
  height: 500px;
  width: 100%
}
@media screen and (max-width:834px) {
  .company-map iframe {
    height: 250px
  }
}
.sec-contact {
  padding: 79px 0 77px;
  background: #009251
}
@media screen and (max-width:834px) {
  .sec-contact {
    padding: 50px 0
  }
}
.contact-list {
  margin: 0 -20px 42px;
  display: -ms-flexbox;
  display: flex
}
@media screen and (max-width:834px) {
  .contact-list {
    margin: 0 0 35px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}
.contact-item {
  width: 50%;
  padding: 0 20px
}
@media screen and (max-width:834px) {
  .contact-item {
    width: 100%;
    padding: 0;
    margin-bottom: 15px
  }
  .contact-item:last-child {
    margin-bottom: 0
  }
}
.contact-item a {
  display: block;
  background: #fff;
  padding: 23px 20px 8px
}
@media screen and (max-width:834px) {
  .contact-item a {
    padding: 15px
  }
}
.contact-item span {
  display: block;
  text-align: center;
  font-family: M PLUS\ 1p, sans-serif
}
.contact-item .ttl {
  color: #333;
  font-weight: 500;
  margin-bottom: 7px;
  letter-spacing: 1px;
  font-size: 2.2rem
}
@media screen and (max-width:834px) {
  .contact-item .ttl {
    margin-bottom: 10px;
    letter-spacing: 0;
    font-size: 1.6rem
  }
}
.contact-item .tel {
  color: #009251;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 2px;
  margin-bottom: 10px;
  font-size: 4rem
}
@media screen and (max-width:834px) {
  .contact-item .tel {
    letter-spacing: 0;
    font-size: 3rem
  }
}
.contact-item .time {
  color: #313131;
  font-size: 2rem
}
@media screen and (max-width:834px) {
  .contact-item .time {
    font-size: 1.8rem
  }
}
.contact-item .mail {
  color: #009251;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 12px;
  letter-spacing: .5px;
  font-size: 3rem
}
@media screen and (max-width:834px) {
  .contact-item .mail {
    letter-spacing: 0;
    margin-bottom: 10px;
    font-size: 2.4rem
  }
}
.contact-item .reply {
  margin-bottom: 4px;
  color: #313131;
  font-size: 1.6rem
}
@media screen and (max-width:834px) {
  .contact-item .reply {
    margin-bottom: 0;
    font-size: 1.5rem
  }
}
.contact-icon {
  display: block;
  text-align: center;
  margin-bottom: 12px
}
.contact-ttl {
  color: #fff;
  margin-bottom: 8px;
  font-size: 1.6rem
}
.contact-ttl {
  font-family: M PLUS\ 1p, sans-serif
}
.contact-note {
  line-height: 1.9457;
  background: #fff;
  padding: 20px 20px 14px;
  letter-spacing: .5px;
  height: 271px;
  color: #040404;
  overflow-y: auto;
  font-size: 1.4rem
}
.contact-note ol li {
	list-style-type: decimal;
	margin-left: 2em;
}
.contact-note ul li {
	list-style-type: disc;
	margin-left: 3em;
}
.inner .contact-note h4 {
	background-color: #ADADAD;
	color: #FFFFFF;
	padding-top: 5px;
	padding-right: 5px;
	padding-bottom: 5px;
	padding-left: 5px;
	margin-bottom: 5px;
	margin-top: 30px;
}

.inner .contact-note>h4:nth-child(1)  {
	margin-top: 0px;
}


@media screen and (max-width:834px) {
  .contact-note {
    line-height: 1.6;
    letter-spacing: 0;
    padding: 15px;
    font-size: 1.2rem
  }
}
/*# sourceMappingURL=map/styles.css.map */
