@charset "UTF-8";
/* 
html5doctor.com Reset Stylesheet v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
*/
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
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%;
  vertical-align: baseline;
  background: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

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; }

address {
  font-style: normal; 
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/*
Zarigani Design Office Drawer Menu
Copyright 2018 Zarigani Design Office

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
/* === Hambuerger Button's Style Paste Here === */
/*+++ Reset +++*/
.zdo_drawer_button * {
  margin: 0;
  padding: 0;
  outline: none;
  border: none;
  font: inherit;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-align: left;
  text-decoration: none;
  list-style: none; }

.zdo_drawer_button {
  display: block;
  padding: 0;
  width: 108px;
  height: 53px;
  position: relative;
  background: none;
  border: none;
  text-align: center;
  letter-spacing: 0.1em;
  cursor: pointer;
  outline: none;
  background: url("../img/open.svg") no-repeat;
  background-size: 100%; }

.zdo_drawer_button.active {
  background: url("../img/close.svg") no-repeat;
  background-size: 100%; }

.zdo_drawer_button .zdo_drawer_bar {
  display: block;
  width: 42px;
  height: 2px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  -webkit-transform-origin: 0% 0%;
  transform-origin: 0% 0%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
  left: 0; }

.zdo_drawer_button .zdo_drawer_bar1 {
  top: 0; }

.zdo_drawer_button .zdo_drawer_bar2 {
  top: 50%; }

.zdo_drawer_button .zdo_drawer_bar3 {
  top: 100%; }

.zdo_drawer_button.active .zdo_drawer_bar {
  width: 36.77px;
  left: 8px; }

.zdo_drawer_button.active .zdo_drawer_bar1 {
  -webkit-transform: rotate(0.7853981634rad) translateY(-50%);
  transform: rotate(0.7853981634rad) translateY(-50%);
  top: 0px; }

.zdo_drawer_button.active .zdo_drawer_bar2 {
  opacity: 0; }

.zdo_drawer_button.active .zdo_drawer_bar3 {
  -webkit-transform: rotate(-0.7853981634rad) translateY(-50%);
  transform: rotate(-0.7853981634rad) translateY(-50%);
  top: calc(100% - 0px); }

.zdo_drawer_button.active .zdo_drawer_menu_text {
  display: none; }

.zdo_drawer_button.active .zdo_drawer_close {
  display: block; }

.zdo_drawer_text {
  width: 100%;
  position: absolute;
  bottom: -20px;
  left: 0;
  text-align: center;
  font-size: 10px; }

.zdo_drawer_close {
  letter-spacing: 0.08em;
  display: none; }

/*+++ Default Button Color +++*/
.zdo_drawer_button {
  color: #2274a5; }

.zdo_drawer_button .zdo_drawer_bar {
  background-color: #2274a5; }

/* === Hambuerger Button's Style End === */
.zdo_drawer_menu .zdo_drawer_button {
  /*+++ Hamburger Button Position +++*/
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1001; }

.zdo_drawer_menu a {
  color: inherit;
  text-decoration: none; }

.zdo_drawer_menu a:visited {
  color: inherit; }

.zdo_drawer_menu .zdo_drawer_bg {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 999;
  background-color: rgba(255, 255, 255, 0.9);
  display: none;
  top: 0;
  left: 0; }

.zdo_drawer_menu .zdo_drawer_nav_wrapper {
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  -webkit-transform: translate(100%);
  transform: translate(100%);
  position: fixed;
  top: 53px;
  right: 0;
  z-index: 1000; }

.zdo_drawer_menu .zdo_drawer_nav_wrapper.open {
  -webkit-transform: translate(0);
  transform: translate(0); }

.zdo_drawer_menu.left .zdo_drawer_button {
  right: auto;
  left: 32px; }

.zdo_drawer_menu.left .zdo_drawer_nav_wrapper {
  -webkit-transform: translate(-100%);
  transform: translate(-100%);
  right: auto;
  left: 0; }

.zdo_drawer_menu.left .zdo_drawer_nav_wrapper.open {
  -webkit-transform: translate(0);
  transform: translate(0); }

/*+++ Default Navigation CSS +++*/
.zdo_drawer_menu .zdo_drawer_nav li {
  font-size: 16px;
  margin-bottom: 15px; }
/* wrap */
/*	common
---------------------------------*/
::-moz-selection {
  background: #157131;
  color: #fff; }
::selection {
  background: #157131;
  color: #fff; }

::-moz-selection {
  background: #157131;
  color: #fff; }

body {
  color: #0d1413;
  font-family: 'Noto Sans Japanese', "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.6; }
  @media screen and (max-width: 414px) {
    body {
      font-size: 16px; } }

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/* link */
a {
  color: #0d1413;
  text-decoration: none; }

a:active, a:focus {
  outline: none; }

/* element */
.image {
  display: inline; }
  @media (max-width: 414px) {
    .image {
      display: none; } }

.image_s {
  display: none; }
  @media (max-width: 414px) {
    .image_s {
      display: inline; } }

/* adjust anchor */
.anc {
  margin-top: -150px;
  padding-top: 150px; }
  @media screen and (max-width: 414px) {
    .anc {
      margin-top: -50px;
      padding-top: 50px; } }

/* figure */
img {
  max-width: 100%;
  height: auto; }

/* heading */
/* text */
p {
  text-align: justify; }

/*	clearfix
---------------------------------*/
/* add parent object */
.cl:before, .cl:after {
  content: " ";
  display: table; }

.cl:after {
  clear: both; }

.cl {
  *zoom: 1;
  display: block; }

.block_p {
  display: block; }
  @media screen and (max-width: 414px) {
    .block_p {
      display: none; } }

.block_s {
  display: none; }
  @media screen and (max-width: 414px) {
    .block_s {
      display: block; } }

.inline_p {
  display: inline; }
  @media screen and (max-width: 414px) {
    .inline_p {
      display: none; } }

.inline_s {
  display: none; }
  @media screen and (max-width: 414px) {
    .inline_s {
      display: inline; } }

.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.between {
  /* Safari etc. */
  -ms-justify-content: space-between;
  /* IE10        */
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

/* wrapper */
/* fadein */
.fadein {
  opacity: 0;
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
  -webkit-transition: all 1s;
  transition: all 1s; 
}

/* ttl */
/* inner */
.inner {
  position: relative;
  width: 1160px;
  padding: 0 20px;
  margin: auto; }
  @media screen and (max-width: 414px) {
    .inner {
      width: 100%;
      padding: 0 25px; } }

.inner_s {
  position: relative;
  width: 1040px;
  padding: 0 20px;
  margin: auto; }
  @media screen and (max-width: 414px) {
    .inner_s {
      width: 100%;
      padding: 0 25px; } }

/* fadein */
.fadein {
  opacity: 0;
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
  -webkit-transition: all 1s;
  transition: all 1s; }

/* header */
.header {
  height: 90px;
  position: relative;
  width: 100%; }
  @media screen and (max-width: 414px) {
    .header {
      height: 53px; } }
  .header .logo {
    width: 192px;
    position: absolute;
    left: 20px;
    top: 12px; }
    @media screen and (max-width: 414px) {
      .header .logo {
        width: 110px;
        left: 10px;
        z-index: 10000;
        top: 7px; } }
  .header .header_nav {
    position: absolute;
    right: 0;
    height: 100%; }
    .header .header_nav .list {
      height: 100%; }
      .header .header_nav .list li {
        text-align: center;
        height: 100%;
        margin: 0 15px; }
        .header .header_nav .list li:last-of-type {
          margin-right: 0; }
        .header .header_nav .list li a {
          font-family: "Noto Serif JP";
          font-size: 19px;
          font-weight: 600;
          letter-spacing: 2px;
          height: 100%;
          display: block;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          padding: 18px 0 0 0; }
          .header .header_nav .list li a span {
            display: block;
            width: 100%;
            font-family: "Roboto";
            font-size: 13px;
            color: #157131;
            letter-spacing: 0; }
      .header .header_nav .list .contactbtn a {
        background: url("../img/bg_contactbtn.png") center no-repeat;
        background-size: cover;
        color: #FFF;
        padding: 18px 20px 0; }
        .header .header_nav .list .contactbtn a span {
          color: #FFF; }
  .header .zdo_drawer_menu .zdo_drawer_nav {
    margin: 10px 0 0 0;
    padding: 0px 25px; }
    .header .zdo_drawer_menu .zdo_drawer_nav li {
      margin: 0; }
      .header .zdo_drawer_menu .zdo_drawer_nav li a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        border-bottom: 1px solid #CCC;
        margin: 0;
        padding: 15px 0;
        font-size: 14px;
        font-family: "Noto Serif JP";
        -ms-flex-line-pack: center;
        align-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center; }
      .header .zdo_drawer_menu .zdo_drawer_nav li span {
        font-family: "Roboto";
        color: #157131;
        font-size: 12px;
        font-weight: bold; }
  .header .contactbtn_spwrap {
    padding: 30px 25px 0; }
    .header .contactbtn_spwrap .contactbtn_sp {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -ms-flex-line-pack: center;
      align-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      color: #FFF;
      font-weight: bold;
      height: 48px;
      background: url("../img/bg_contactbtn.png") center no-repeat;
      background-size: 100%;
      letter-spacing: 2px; }

/* footer */
.footer.footer_inpage {
  margin: 0; }
  .footer.footer_inpage .footer_middle {
    border-top: 1px solid #157131; }

.footer {
  margin: 150px 0 0 0; }
  @media screen and (max-width: 414px) {
    .footer {
      margin: 80px 0 0 0; } }
  .footer .footer_top {
    background: #f3f7ed;
    padding: 30px 0; }
    @media screen and (max-width: 414px) {
      .footer .footer_top {
        padding: 30px 0 60px; } }
    .footer .footer_top .row {
      -ms-flex-line-pack: center;
      align-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
    .footer .footer_top .logo {
      width: 150px; }
      @media screen and (max-width: 414px) {
        .footer .footer_top .logo {
          margin: 0 auto 10px; } }
    .footer .footer_top .txt {
      font-size: 12px;
      width: 820px; }
  .footer .footer_middle {
    padding: 20px 0; }
    @media screen and (max-width: 414px) {
      .footer .footer_middle {
        border-top: 2px solid #157131; } }
    .footer .footer_middle .list li {
      font-family: "Noto Serif JP";
      text-align: center; }
      @media screen and (max-width: 414px) {
        .footer .footer_middle .list li {
          width: 100%;
          text-align: left; } }
      @media screen and (max-width: 414px) {
        .footer .footer_middle .list li:last-of-type a {
          border: none; } }
      .footer .footer_middle .list li a {
        padding: 0 40px;
        display: block;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
        @media screen and (max-width: 414px) {
          .footer .footer_middle .list li a {
            padding: 15px 0;
            overflow: hidden;
            border-bottom: 2px solid #CCC; } }
      .footer .footer_middle .list li span {
        display: block;
        color: #157131;
        font-family: "Roboto";
        font-weight: bold;
        font-size: 13px; }
        @media screen and (max-width: 414px) {
          .footer .footer_middle .list li span {
            display: inline-block;
            float: right;
            position: relative;
            top: 5px;
            font-size: 12px; } }
    .footer .footer_middle .totop {
      width: 50px;
      position: absolute;
      right: 0;
      top: 0; }
      @media screen and (max-width: 414px) {
        .footer .footer_middle .totop {
          width: 43px;
          position: absolute;
          right: 20px;
          top: -75px; } }
  .footer .footer_bottom {
    background: url("../img/bg_footer.png") center no-repeat;
    background-size: cover;
    padding: 30px 0;
    color: #FFF; }
    .footer .footer_bottom .box_left {
      width: 290px; }
      @media screen and (max-width: 414px) {
        .footer .footer_bottom .box_left {
          width: 100%;
          text-align: center;
          margin: 0 0 20px; } }
      .footer .footer_bottom .box_left h3 {
        font-size: 16px; }
      .footer .footer_bottom .box_left p {
        font-size: 13px; }
        @media screen and (max-width: 414px) {
          .footer .footer_bottom .box_left p {
            text-align: center; } }
    .footer .footer_bottom .box_right {
      width: 430px;
      font-family: "Noto Serif JP"; }
      @media screen and (max-width: 414px) {
        .footer .footer_bottom .box_right {
          width: 100%;
          text-align: center; } }
      @media screen and (max-width: 414px) {
        .footer .footer_bottom .box_right .list {
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center; } }
      .footer .footer_bottom .box_right .tel {
        color: #FFF;
        font-size: 20px;
        letter-spacing: 1px; }
        @media screen and (max-width: 414px) {
          .footer .footer_bottom .box_right .tel {
            font-size: 14px;
            padding: 0 0 10px;
            display: block; } }
      .footer .footer_bottom .box_right .contactbtn {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -ms-flex-line-pack: center;
        align-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        background: #FFF;
        width: 210px;
        height: 35px;
        color: #157131; }
      .footer .footer_bottom .box_right .copy {
        font-size: 11px;
        font-family: 'Noto Sans Japanese', "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        text-align: right;
        margin: 10px 0 0 0;
        font-style: italic;
        opacity: 0.6; }
        @media screen and (max-width: 414px) {
          .footer .footer_bottom .box_right .copy {
            text-align: center;
            margin: 20px 0 0 0; } }

.wrapper {
  overflow: hidden;
  min-width: 1120px;
  margin: auto; }
  @media screen and (max-width: 414px) {
    .wrapper {
      overflow: hidden;
      min-width: 100%; } }

/* ttl */
.ttl1 {
  font-size: 40px;
  font-weight: 500;
  text-align: center;
  background: url("../img/icon_ttl.png") center bottom no-repeat;
  background-size: 60px;
  font-family: "Noto Serif JP";
  padding: 0 0 20px;
  letter-spacing: 1px;
  margin: 0 0 30px; }
  @media screen and (max-width: 414px) {
    .ttl1 {
      font-size: 25px; } }

.line {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #fbd9bf));
  background: linear-gradient(transparent 70%, #fbd9bf 70%); }

.btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: url("../img/bg_btn.png") center no-repeat;
  background-size: cover;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #FFF;
  width: 300px;
  height: 56px;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 1px; }
  @media screen and (max-width: 414px) {
    .btn {
      width: 100%; } }
  .btn img {
    width: 15px;
    position: relative;
    margin: 0 10px 0 0; }

.mv {
  height: 625px;
  position: relative; }
  @media screen and (max-width: 414px) {
    .mv {
      height: 465px; } }
  .mv .inner {
    height: 100%; }
    .mv .inner .box {
      width: 600px;
      height: 100%;
      position: relative;
      padding: 120px 0 0 0; }
      @media screen and (max-width: 414px) {
        .mv .inner .box {
          width: 100%;
          padding: 0;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          -ms-flex-line-pack: center;
          align-content: center;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center; } }
      .mv .inner .box .ttl {
        font-family: "Noto Serif JP";
        margin: 0 0 30px;
        font-weight: 500; }
        @media screen and (max-width: 414px) {
          .mv .inner .box .ttl {
            text-align: center;
            margin: 0 0 20px; } }
        .mv .inner .box .ttl span {
          display: inline-block;
          background: #157131;
          font-size: 33px;
          color: #FFF;
          margin: 0 0 20px;
          letter-spacing: 2px;
          padding: 5px 20px;
          -webkit-box-sizing: border-box;
          box-sizing: border-box; }
          @media screen and (max-width: 414px) {
            .mv .inner .box .ttl span {
              font-size: 20px;
              padding: 3px 15px;
              margin: 0 0 10px; } }
      .mv .inner .box .txt {
        background: rgba(255, 255, 255, 0.6);
        padding: 20px;
        font-size: 18px;
        line-height: 2.167; }
        @media screen and (max-width: 414px) {
          .mv .inner .box .txt {
            font-size: 14px;
            line-height: 1.8; } }
  .mv .mvslide {
    height: 100%;
    position: absolute;
    right: 0;
    width: 63.75%; }
    @media screen and (max-width: 414px) {
      .mv .mvslide {
        width: 100%; } }
    .mv .mvslide .slide-animation {
      -webkit-animation: fadezoom 10s 0s forwards;
      animation: fadezoom 10s 0s forwards; }
@-webkit-keyframes fadezoom {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    -webkit-transform: scale(1.08);
    transform: scale(1.08); } }
@keyframes fadezoom {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    -webkit-transform: scale(1.08);
    transform: scale(1.08); } }
    .mv .mvslide .slick-dots {
      left: -150px;
      text-align: left;
      bottom: 50px; }
      .mv .mvslide .slick-dots .slick-active button:before {
        color: #f27f2b; }
      .mv .mvslide .slick-dots li button:before {
        color: #cccccc;
        opacity: 1; }
    .mv .mvslide .mvslide_inner1 {
      background-image: url("../img/slide1.png");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      height: 625px; }
      @media screen and (max-width: 414px) {
        .mv .mvslide .mvslide_inner1 {
          height: 465px;
          background-image: url("../img/slide1_sp.jpg"); } }
    .mv .mvslide .mvslide_inner2 {
      background-image: url("../img/slide2.png");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      height: 625px; }
      @media screen and (max-width: 414px) {
        .mv .mvslide .mvslide_inner2 {
          height: 465px;
          background-image: url("../img/slide2_sp.jpg"); } }
    .mv .mvslide .mvslide_inner3 {
      background-image: url("../img/slide3.png");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      height: 625px; }
      @media screen and (max-width: 414px) {
        .mv .mvslide .mvslide_inner3 {
          height: 465px;
          background-image: url("../img/slide3_sp.jpg"); } }

.lead {
  height: 235px;
  position: relative; }
  @media screen and (max-width: 414px) {
    .lead {
      height: auto; } }
  .lead .inner {
    height: 100%; }
  .lead .leadbox {
    position: relative;
    height: 100%; }
  .lead .ttlbox {
    background: #157131;
    height: 100%;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 36.25%;
    position: relative; }
    @media screen and (max-width: 414px) {
      .lead .ttlbox {
        width: 100%;
        padding: 15px 0; } }
    .lead .ttlbox:after {
      content: "";
      background: url(../img/icon_triangle.png) no-repeat;
      background-size: 26px;
      position: absolute;
      right: -25px;
      width: 26px;
      height: 30px; }
      @media screen and (max-width: 414px) {
        .lead .ttlbox:after {
          position: absolute;
          right: 50%;
          width: 26px;
          height: 30px;
          bottom: -19px;
          -webkit-transform: rotate(-270deg);
          transform: rotate(-270deg);
          margin-left: -13px; } }
    .lead .ttlbox .subttl {
      color: #FFF;
      font-family: "Noto Serif JP";
      line-height: 1.731;
      font-size: 26px;
      text-align: center;
      font-weight: 500; }
      @media screen and (max-width: 414px) {
        .lead .ttlbox .subttl {
          font-size: 19px; } }
  .lead .list {
    margin: 30px 0 0 60px; }
    @media screen and (max-width: 414px) {
      .lead .list {
        margin: 0;
        background: url("../img/bg_lead.png") center no-repeat;
        background-size: cover;
        padding: 30px 25px; } }
    .lead .list li {
      font-family: "Noto Serif JP";
      font-size: 18px;
      font-weight: 500;
      margin: 0 0 10px; }
      @media screen and (max-width: 414px) {
        .lead .list li {
          background: url("../img/icon_check.png") left center no-repeat;
          background-size: 20px;
          padding: 0 0 0 30px; } }
      .lead .list li img {
        display: inline-block;
        width: 23px;
        margin: 0 10px 0 0; }
        @media screen and (max-width: 414px) {
          .lead .list li img {
            display: none; } }
      .lead .list li span {
        display: inline-block;
        background: url("../img/dots.png") left bottom repeat-x;
        background-size: 5px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 0 0 10px; }
        @media screen and (max-width: 414px) {
          .lead .list li span {
            display: block; } }

.point {
  margin: 80px 0 0 0;
  background: url("../img/bg_point.png") center bottom 130px no-repeat;
  background-size: 1600px; }
  @media screen and (max-width: 414px) {
    .point {
      margin: 60px 0 0 0; } }
  .point .txt {
    text-align: center;
    line-height: 2.25; }
    @media screen and (max-width: 414px) {
      .point .txt {
        text-align: left; } }
  .point .point_list {
    margin: 60px 0 0 0; }
    .point .point_list li {
      width: calc(100% / 3);
      text-align: center; }
      @media screen and (max-width: 414px) {
        .point .point_list li {
          width: calc(100% / 2);
          margin: 0 0 30px; } }
      .point .point_list li:nth-child(4), .point .point_list li:nth-child(5) {
        width: calc(100% / 2);
        margin: 40px 0 0 0; }
        @media screen and (max-width: 414px) {
          .point .point_list li:nth-child(4), .point .point_list li:nth-child(5) {
            width: calc(100% / 2);
            margin: 0; } }
      .point .point_list li:nth-child(4) {
        padding: 0 0 0 200px; }
        @media screen and (max-width: 414px) {
          .point .point_list li:nth-child(4) {
            padding: 0; } }
      .point .point_list li:nth-child(5) {
        padding: 0 200px 0 0; }
        @media screen and (max-width: 414px) {
          .point .point_list li:nth-child(5) {
            padding: 0; } }
      .point .point_list li .caption {
        color: #157131;
        font-size: 20px;
        margin: 10px 0 0 0;
        text-align: center; }
        @media screen and (max-width: 414px) {
          .point .point_list li .caption {
            font-size: 15px; } }
      .point .point_list li img {
        width: 153px;
        margin: auto;
        display: block; }
        @media screen and (max-width: 414px) {
          .point .point_list li img {
            width: 100px; } }
  .point .btns {
    width: 690px;
    margin: 60px auto 0; }
    @media screen and (max-width: 414px) {
      .point .btns {
        width: 100%;
        margin: 30px auto 0; } }
    @media screen and (max-width: 414px) {
      .point .btns li {
        width: 100%; } }
    @media screen and (max-width: 414px) {
      .point .btns li:first-of-type {
        margin-bottom: 20px; } }
  .point_type {
    margin: 150px 0; }
    @media screen and (max-width: 414px) {
      .point_type {
        margin: 50px 0 50px -25px;
        width: 100vw;
        padding: 60px 25px 30px;
        background: url(../img/bg_point_sp.png) center no-repeat;
        background-size: cover; } }
    .point_type li {
      width: calc(100% / 3 - 35px);
      background: #FFF;
      margin: 0 0 40px;
      position: relative;
      background: url("../img/icon_triangle3.svg") right 15px bottom 15px no-repeat #FFF;
      background-size: 20px; }
      @media screen and (max-width: 414px) {
        .point_type li {
          width: 100%; } }
      .point_type li:after {
        content: "";
        background: url(../img/shadow.png) no-repeat;
        background-size: 225px;
        height: 15px;
        width: 225px;
        position: absolute;
        left: 50%;
        bottom: -15px;
        margin-left: -112px; }
      .point_type li .pic img {
        vertical-align: bottom; }
      .point_type li .subttl {
        position: relative;
        margin: -20px 0 0 -10px; }
        .point_type li .subttl:before {
          content: "";
          position: absolute;
          left: 0;
          bottom: -15px;
          background: url(../img/icon_triangle2.svg) no-repeat;
          background-size: 10px;
          width: 10px;
          height: 15px; }
        .point_type li .subttl span {
          color: #FFF;
          display: inline-block;
          background: #157131;
          font-size: 20px;
          font-weight: 500;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          padding: 6px 20px; }
      .point_type li .box {
        padding: 20px 20px 30px;
        font-size: 15px; }

.contactboxwrap {
  padding: 0 25px; }

.contactbox {
  width: 750px;
  margin: auto;
  background: #f27f2b;
  padding: 5px; }
  @media screen and (max-width: 414px) {
    .contactbox {
      width: 100%; } }
  .contactbox .contactbox_inner {
    background: #FFF;
    padding: 0 45px 8px; }
    @media screen and (max-width: 414px) {
      .contactbox .contactbox_inner {
        padding: 0 25px 18px; } }
    .contactbox .contactbox_inner .subttl {
      color: #f27f2b;
      font-size: 30px;
      text-align: center;
      position: relative;
      top: -30px; }
      @media screen and (max-width: 414px) {
        .contactbox .contactbox_inner .subttl {
          font-size: 20px;
          top: -20px; } }
      .contactbox .contactbox_inner .subttl span {
        display: inline-block;
        background: #FFF;
        padding: 0 30px; }
        @media screen and (max-width: 414px) {
          .contactbox .contactbox_inner .subttl span {
            padding: 0 20px; } }
    .contactbox .contactbox_inner .subttl + p {
      text-align: center;
      margin: 0 0 20px;
      font-size: 18px; }
      @media screen and (max-width: 414px) {
        .contactbox .contactbox_inner .subttl + p {
          font-size: 15px; } }
    .contactbox .contactbox_inner .tel {
      width: 300px; }
    .contactbox .contactbox_inner .contactbtn2 {
      width: 320px; }

.voice {
  margin: 100px 0 150px; }
  @media screen and (max-width: 414px) {
    .voice {
      margin: 60px 0 100px; } }
  .voice .ttl1 {
    margin-bottom: 100px; }
    @media screen and (max-width: 414px) {
      .voice .ttl1 {
        margin-bottom: 70px; } }
  .voice .row {
    position: relative; }
    .voice .row:before {
      content: "";
      position: absolute;
      background: url("../img/bg_gear1.svg") no-repeat;
      background-size: 150px;
      height: 150px;
      width: 150px;
      right: -90px;
      top: -50px;
      z-index: -1; }
    .voice .row:after {
      content: "";
      position: absolute;
      background: url("../img/bg_gear2.svg") no-repeat;
      background-size: 150px;
      height: 150px;
      width: 150px;
      left: -90px;
      bottom: -50px;
      z-index: -1; }
  .voice .box {
    width: 470px;
    border: 2px solid #157131;
    border-radius: 10px;
    margin: 0 0 80px;
    padding: 0 30px 40px;
    position: relative;
    background: #FFF;
    z-index: 10; }
    .voice .box:nth-child(3), .voice .box:nth-child(4) {
      margin-bottom: 0; }
      @media screen and (max-width: 414px) {
        .voice .box:nth-child(3), .voice .box:nth-child(4) {
          margin: 0 0 80px; } }
    @media screen and (max-width: 414px) {
      .voice .box:nth-child(4) {
        margin: 0; } }
    .voice .box .icon {
      width: 125px;
      margin: -40px auto 15px;
      position: relative; }
    .voice .box .txt {
      font-size: 14px;
      line-height: 2; }

.faq {
  margin: 0 0 80px;
  height: 495px;
  position: relative; }
  @media screen and (max-width: 414px) {
    .faq {
      height: auto; } }
  .faq .pic {
    display: none; }
    @media screen and (max-width: 414px) {
      .faq .pic {
        display: block;
        width: 100vw;
        position: relative;
        margin: 30px 0 -100px -25px; } }
  .faq .inner {
    height: 100%;
    background: url("../img/img_faq.png") left top no-repeat;
    background-size: 510px; }
    @media screen and (max-width: 414px) {
      .faq .inner {
        background: none;
        height: auto; } }
    .faq .inner:after {
      content: "";
      position: absolute;
      background: url(../img/bg_gear1.svg) no-repeat;
      background-size: 170px;
      height: 170px;
      width: 170px;
      right: -65px;
      bottom: -15px; }
      @media screen and (max-width: 414px) {
        .faq .inner:after {
          background: url(../img/bg_gear1.svg) no-repeat;
          background-size: 100px;
          height: 100px;
          width: 100px;
          right: -25px;
          bottom: -75px; } }
    .faq .inner .box {
      float: right;
      width: 715px;
      position: relative;
      z-index: 1; }
      @media screen and (max-width: 414px) {
        .faq .inner .box {
          float: none;
          width: 100%; } }
      .faq .inner .box .subttl {
        text-align: right;
        margin-right: 60px;
        font-size: 38px;
        font-family: "Noto Serif JP";
        font-weight: 500; }
        @media screen and (max-width: 414px) {
          .faq .inner .box .subttl {
            font-size: 25px;
            margin-right: 0;
            text-align: center; } }
        .faq .inner .box .subttl img {
          display: inline-block;
          margin: 0 10px 0 0;
          width: 40px; }
          @media screen and (max-width: 414px) {
            .faq .inner .box .subttl img {
              width: 30px; } }
      .faq .inner .box .box_inner {
        height: 100px;
        overflow-y: scroll;
        background: rgba(255, 255, 255, 0.9);
        padding: 40px 50px;
        height: 360px; }
        @media screen and (max-width: 414px) {
          .faq .inner .box .box_inner {
            overflow-y: scroll;
            padding: 25px 25px;
            height: 440px;
            position: relative; } }
        .faq .inner .box .box_inner .list dt {
          color: #157131;
          font-size: 18px;
          font-weight: bold;
          margin: 0 0 5px; }
          @media screen and (max-width: 414px) {
            .faq .inner .box .box_inner .list dt {
              font-size: 15px; } }
          .faq .inner .box .box_inner .list dt:last-of-type {
            margin: 0; }
        .faq .inner .box .box_inner .list dd {
          margin: 0 0 20px;
          font-size: 14px; }
          .faq .inner .box .box_inner .list dd:last-of-type {
            margin: 0; }

.company_outline {
  margin: 0 0 120px;
  height: 495px;
  position: relative; }
  @media screen and (max-width: 414px) {
    .company_outline {
      height: auto;
      margin: 0 0 80px; } }
  .company_outline .pic {
    display: none; }
    @media screen and (max-width: 414px) {
      .company_outline .pic {
        width: 100vw;
        margin: 30px 0 -100px -25px;
        display: block;
        position: relative; } }
  .company_outline .subttl {
    font-size: 38px;
    font-family: "Noto Serif JP";
    font-weight: 500; }
    @media screen and (max-width: 414px) {
      .company_outline .subttl {
        font-size: 25px;
        text-align: center; } }
    .company_outline .subttl img {
      display: inline-block;
      margin: 0 15px 0 0;
      width: 60px; }
      @media screen and (max-width: 414px) {
        .company_outline .subttl img {
          width: 35px; } }
  .company_outline .box_detail {
    width: 440px; }
    @media screen and (max-width: 414px) {
      .company_outline .box_detail {
        width: 100%; } }
    .company_outline .box_detail .list {
      margin: 40px 0 50px 0; }
      @media screen and (max-width: 414px) {
        .company_outline .box_detail .list {
          background: rgba(255, 255, 255, 0.9);
          padding: 25px;
          position: relative;
          margin: 0 0 40px; } }
      .company_outline .box_detail .list dt {
        border-bottom: 1px solid #CCC;
        padding: 15px 0 25px;
        width: 25%; }
        @media screen and (max-width: 414px) {
          .company_outline .box_detail .list dt {
            padding: 10px 0 0;
            width: 100%;
            border: none; } }
        .company_outline .box_detail .list dt:first-of-type {
          border-top: 1px solid #CCC; }
          @media screen and (max-width: 414px) {
            .company_outline .box_detail .list dt:first-of-type {
              border: none; } }
      .company_outline .box_detail .list dd {
        border-bottom: 1px solid #CCC;
        padding: 15px 0 25px;
        width: 75%; }
        @media screen and (max-width: 414px) {
          .company_outline .box_detail .list dd {
            width: 100%;
            padding: 5px 0 10px;
            border: none;
            border-bottom: 1px solid #CCC; } }
        .company_outline .box_detail .list dd:first-of-type {
          border-top: 1px solid #CCC; }
          @media screen and (max-width: 414px) {
            .company_outline .box_detail .list dd:first-of-type {
              border-bottom: 1px solid #CCC;
              border-top: none; } }
  .company_outline .slidebox {
    width: 560px; }
    @media screen and (max-width: 414px) {
      .company_outline .slidebox {
        display: none; } }

.ttlbox1 {
  height: 215px;
  background: url("../img/bg_ttlbox.png") center no-repeat;
  background-size: cover;
  margin: 0 0 60px; }
  @media screen and (max-width: 414px) {
    .ttlbox1 {
      height: 145px;
      margin: 0 0 30px; } }
  .ttlbox1 .inner {
    height: 100%; }
  .ttlbox1 .ttlbox1_inner {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #FFF; }
    .ttlbox1 .ttlbox1_inner .enttl {
      font-family: "Roboto";
      font-size: 26px;
      margin: 0 0 -5px; }
      @media screen and (max-width: 414px) {
        .ttlbox1 .ttlbox1_inner .enttl {
          font-size: 13px;
          margin: 0; } }
    .ttlbox1 .ttlbox1_inner .ttl {
      font-size: 32px;
      width: 100%;
      text-align: center; }
      @media screen and (max-width: 414px) {
        .ttlbox1 .ttlbox1_inner .ttl {
          font-size: 19px; } }
      .ttlbox1 .ttlbox1_inner .ttl span {
        font-size: 16px;
        display: block;
        font-weight: normal;
        margin: 10px 0 0 0;
        letter-spacing: 2px; }
        @media screen and (max-width: 414px) {
          .ttlbox1 .ttlbox1_inner .ttl span {
            letter-spacing: 1px;
            font-size: 14px; } }

.leadtxtbox p {
  text-align: center;
  line-height: 2.25; }
  @media screen and (max-width: 414px) {
    .leadtxtbox p {
      text-align: left;
      font-size: 15px; } }
.leadtxtbox .caution {
  color: #6e7272;
  margin: 0 0 60px; }
  @media screen and (max-width: 414px) {
    .leadtxtbox .caution {
      text-align: center;
      margin: 20px 0 0;
      font-size: 14px; } }
  .leadtxtbox .caution a {
    text-decoration: underline;
    color: #6e7272; }

.content {
  width: 620px;
  margin: 0 0 100px; }
  @media screen and (max-width: 414px) {
    .content {
      width: 100%;
      margin: 50px 0; } }
  .content .content_inner {
    margin: 0 0 50px; }
  .content .ttl {
    color: #FFF;
    background: #157131;
    font-size: 20px;
    font-weight: 500;
    position: relative;
    padding: 10px 20px;
    margin: 0 0 30px; }
    @media screen and (max-width: 414px) {
      .content .ttl {
        font-size: 17px;
        letter-spacing: 0;
        line-height: 1.4; } }
    .content .ttl:before {
      content: "";
      position: absolute;
      left: 0;
      bottom: -16px;
      background: url("../img/icon_triangle7.svg") no-repeat;
      background-size: 20px;
      height: 16px;
      width: 20px; }
  .content .pic {
    margin: 20px 0 0 0; }
  .content .box1 {
    border-radius: 10px;
    background: #f3f7ed;
    border: 2px solid #157131;
    padding: 25px 30px 30px;
    margin: 20px 0 0 0; }
    @media screen and (max-width: 414px) {
      .content .box1 {
        padding: 15px 20px 20px;
        border-radius: 5px; } }
    .content .box1 .subttl {
      font-family: "Noto Serif JP";
      font-size: 20px;
      color: #157131;
      margin: 0 0 10px; }
  .content .serviceslide {
    margin: 20px 0 25px 0; }
    .content .serviceslide .serviceslide_inner {
      padding: 0 10px; }
    .content .serviceslide .slick-prev:before,
    .content .serviceslide .slick-next:before {
      content: none; }
    .content .serviceslide .slick-prev {
      background: url("../img/prev.svg") no-repeat;
      background-size: 26px;
      width: 26px;
      height: 50px;
      left: 0;
      z-index: 10; }
    .content .serviceslide .slick-next {
      background: url("../img/next.svg") no-repeat;
      background-size: 26px;
      width: 26px;
      height: 50px;
      right: 0; }

.sidebar {
  width: 310px; }
  .sidebar .sidebarbox {
    border: 1px solid #157131;
    padding: 0 0 10px;
    margin: 0 0 30px; }
    .sidebar .sidebarbox .subttl {
      background: #157131;
      color: #FFF;
      text-align: center;
      font-weight: 400;
      padding: 10px 0;
      font-size: 18px; }
    .sidebar .sidebarbox .list {
      padding: 20px; }
      .sidebar .sidebarbox .list li a {
        background: url("../img/icon_list.svg") left center no-repeat;
        background-size: 15px;
        padding: 10px 0 10px 20px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        border-bottom: 1px dotted #b3b3b3;
        display: block; }

.point.point2 {
  background: url("../img/bg_point_inner.png") center top no-repeat;
  background-size: 1600px;
  height: 1125px;
  padding: 40px 0 0 0;
  margin: -40px 0 0 0; }
  @media screen and (max-width: 414px) {
    .point.point2 {
      padding: 0;
      height: auto;
      margin: 0; } }

/* modal */
.modalArea {
  display: none;
  position: fixed;
  z-index: 20;
  /*サイトによってここの数値は調整 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.modalBg {
  width: 100%;
  height: 100%;
  background-color: rgba(68, 68, 68, 0.85); }

.modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 70%;
  max-width: 1000px;
  height: 70%;
  overflow: scroll;
  padding: 30px;
  background-color: #fff;
  font-size: 14px;
  line-height: 1.6; }
  @media screen and (max-width: 414px) {
    .modalWrapper {
      width: 90%;
      padding: 30px 20px; } }

#openModal {
  text-decoration: underline;
  cursor: pointer; }

.closeModal {
  position: absolute;
  top: 20px;
  right: 30px;
  cursor: pointer;
  font-size: 30px; }

.modalWrapper .ttl {
  font-size: 30px;
  font-weight: 600;
  margin: 0 0 20px; }
  @media screen and (max-width: 414px) {
    .modalWrapper .ttl {
      font-size: 20px; } }

.modalWrapper .subttl {
  color: #157131;
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 10px; }
  @media screen and (max-width: 414px) {
    .modalWrapper .subttl {
      font-size: 14px; } }

.modalBox {
  margin: 0 0 30px; }
  .modalBox .name {
    border-left: 5px solid #157131;
    padding: 0 0 0 15px;
    margin-top: 20px; }
    .modalBox .name span {
      font-weight: bold; }

.contact {
  height: 1650px;
  background: url("../img/bg_contact.png") center top no-repeat;
  background-size: 1600px;
  padding: 150px 0 0 0;
  margin-top: -80px;
  margin-bottom: -50px; }
  @media screen and (max-width: 414px) {
    .contact {
      height: auto;
      margin: 30px 0 50px 0;
      padding: 0 25px;
      background: none; } }
  .contact .inner_s {
    background: #FFF;
    -webkit-box-shadow: 0px 0px 14px -6px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 0px 14px -6px rgba(0, 0, 0, 0.2);
    padding: 60px 100px 80px; }
    @media screen and (max-width: 414px) {
      .contact .inner_s {
        padding: 30px 25px; } }
    .contact .inner_s .txt {
      text-align: center;
      line-height: 2; }
      @media screen and (max-width: 414px) {
        .contact .inner_s .txt {
          font-size: 14px; } }
    .contact .inner_s .list {
      margin: 50px auto 0;
      width: 670px;
      -ms-flex-line-pack: center;
      align-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      @media screen and (max-width: 414px) {
        .contact .inner_s .list {
          width: 100%;
          margin: 30px auto 0; } }
      .contact .inner_s .list dt {
        width: 200px;
        margin: 0 0 30px; }
        @media screen and (max-width: 414px) {
          .contact .inner_s .list dt {
            width: 100%;
            margin: 0 0 10px; } }
        .contact .inner_s .list dt:last-of-type {
          width: 100%;
          margin-top: 10px; }
      .contact .inner_s .list dd {
        width: 470px;
        margin: 0 0 30px; }
        .contact .inner_s .list dd:last-of-type {
          width: 100%; }
        .contact .inner_s .list dd input,
        .contact .inner_s .list dd textarea {
          -webkit-appearance: none;
          -moz-appearance: none;
          appearance: none;
          border: 1px solid #e0e0e0;
          border-radius: 3px;
          background: #f8f8f8;
          width: 100%;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          padding: 15px;
          font-size: 16px; }
    .contact .inner_s #form_submit_button {
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      color: #FFF;
      border-radius: 100px;
      background: url("../img/bg_contactbtn2.png") no-repeat;
      background-size: cover;
      border: none;
      width: 320px;
      margin: auto;
      font-size: 20px;
      height: 62px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -ms-flex-line-pack: center;
      align-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      font-weight: bold; }
      @media screen and (max-width: 414px) {
        .contact .inner_s #form_submit_button {
          width: 100%; } }

.thankstxt {
  margin: 0 0 50px; }

.bnrs {
  width: 705px;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  @media screen and (max-width: 414px) {
    .bnrs {
      width: 100%;
      padding: 0 25px; } }
  .bnrs li {
    width: 340px;
    margin: 0 0 15px; }
    @media screen and (max-width: 414px) {
      .bnrs li {
        width: 100%;
        margin: 0 0 10px; } }

.error_blank {
  display: block;
  color: #CC0000;
  margin: 5px 0 0 0;
  font-weight: bold; }

.about_message {
  margin: 0 0 100px; }
  @media screen and (max-width: 414px) {
    .about_message {
      margin: 0 0 50px; } }
  .about_message .box {
    margin: 0 0 30px; }
    @media screen and (max-width: 414px) {
      .about_message .box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse; } }
    .about_message .box .txt {
      width: 630px; }
      .about_message .box .txt p:first-of-type {
        margin-bottom: 20px; }
      @media screen and (max-width: 414px) {
        .about_message .box .txt {
          width: 100%; } }
    .about_message .box .pic {
      width: 295px; }
      @media screen and (max-width: 414px) {
        .about_message .box .pic {
          width: 200px;
          margin: 0 auto 30px; } }
  .about_message .rinen_housin {
    background: -webkit-gradient(linear, left top, right top, from(#f3f7ed), color-stop(50%, #f3f7ed), color-stop(50%, #e9efdf), to(#e9efdf));
    background: linear-gradient(90deg, #f3f7ed 0%, #f3f7ed 50%, #e9efdf 50%, #e9efdf 100%);
    padding: 50px 0; }
    @media screen and (max-width: 414px) {
      .about_message .rinen_housin {
        padding: 0; } }
    @media screen and (max-width: 414px) {
      .about_message .rinen_housin .inner_s {
        padding: 0; } }
    .about_message .rinen_housin .box_rinen,
    .about_message .rinen_housin .box_housin {
      width: 50%;
      padding: 0 40px 30px; }
      @media screen and (max-width: 414px) {
        .about_message .rinen_housin .box_rinen,
        .about_message .rinen_housin .box_housin {
          width: 100%;
          padding: 30px 25px; } }
      .about_message .rinen_housin .box_rinen .subttl,
      .about_message .rinen_housin .box_housin .subttl {
        font-size: 30px;
        font-weight: normal;
        color: #157131;
        text-align: center;
        letter-spacing: 2px;
        margin: 0 0 30px; }
        @media screen and (max-width: 414px) {
          .about_message .rinen_housin .box_rinen .subttl,
          .about_message .rinen_housin .box_housin .subttl {
            font-size: 20px;
            margin: 0 0 15px; } }
    @media screen and (max-width: 414px) {
      .about_message .rinen_housin .box_rinen {
        background: #f3f7ed; } }
    .about_message .rinen_housin .box_rinen .txt {
      font-family: "Noto Serif JP";
      text-align: center;
      font-size: 27px;
      margin: 0 0 20px; }
      @media screen and (max-width: 414px) {
        .about_message .rinen_housin .box_rinen .txt {
          font-size: 20px; } }
    .about_message .rinen_housin .box_rinen .txt + span {
      text-align: center;
      font-size: 18px;
      color: #157131;
      display: block; }
      @media screen and (max-width: 414px) {
        .about_message .rinen_housin .box_rinen .txt + span {
          font-size: 13px; } }
    @media screen and (max-width: 414px) {
      .about_message .rinen_housin .box_housin {
        background: #e9efdf; } }
    .about_message .rinen_housin .box_housin .list {
      margin-left: 20px; }
      @media screen and (max-width: 414px) {
        .about_message .rinen_housin .box_housin .list {
          margin-left: 0; } }
    .about_message .rinen_housin .box_housin li {
      margin: 0 0 10px; }
      @media screen and (max-width: 414px) {
        .about_message .rinen_housin .box_housin li {
          background: url(../img/icon_check.png) left center no-repeat;
          background-size: 20px;
          padding: 0 0 0 30px; } }
      .about_message .rinen_housin .box_housin li img {
        display: inline-block;
        width: 23px;
        margin: 0 10px 0 0; }
        @media screen and (max-width: 414px) {
          .about_message .rinen_housin .box_housin li img {
            display: none; } }
      .about_message .rinen_housin .box_housin li span {
        display: inline-block;
        background: url(../img/dots.png) left bottom repeat-x;
        background-size: 5px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 0 0 10px; }
        @media screen and (max-width: 414px) {
          .about_message .rinen_housin .box_housin li span {
            font-size: 16px; } }

.company_outline2 .list {
  border-top: 1px solid #cccccc; }
  @media screen and (max-width: 414px) {
    .company_outline2 .list {
      border: none; } }
  .company_outline2 .list dt {
    width: 20%;
    text-align: center;
    color: #157131;
    border-bottom: 1px solid #cccccc;
    padding: 10px 0; }
    @media screen and (max-width: 414px) {
      .company_outline2 .list dt {
        width: 100%;
        border-bottom: none;
        padding: 5px 0;
        background: #157131;
        color: #FFF;
        margin: 0 0 5px; } }
  .company_outline2 .list dd {
    width: 80%;
    border-bottom: 1px solid #cccccc;
    padding: 10px 0; }
    @media screen and (max-width: 414px) {
      .company_outline2 .list dd {
        width: 100%;
        border-bottom: none;
        padding: 0 0 5px;
        margin: 0 0 10px; } }

.history_access {
  background: url("../img/bg_company.png") center top no-repeat;
  background-size: 1600px;
  padding: 70px 0 0 0;
  min-height: 1870px; }
  @media screen and (max-width: 414px) {
    .history_access {
      min-height: auto;
      padding: 50px 0 0 0; } }
  .history_access .ttlboxg .ttlboxg_inner {
    background: url("../img/bg_subttl.png") center no-repeat;
    background-size: cover;
    width: 340px;
    height: 205px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #FFF;
    position: relative; }
    @media screen and (max-width: 414px) {
      .history_access .ttlboxg .ttlboxg_inner {
        width: 100%;
        height: 100px; } }
  .history_access .ttlboxg .enttl {
    font-size: 40px;
    text-align: center;
    font-family: "Noto Serif JP";
    margin: 0; }
    @media screen and (max-width: 414px) {
      .history_access .ttlboxg .enttl {
        font-size: 25px;
        letter-spacing: 3px; } }
  .history_access .ttlboxg .ttl {
    font-size: 18px;
    font-weight: normal;
    text-align: center;
    letter-spacing: 1px; }
    @media screen and (max-width: 414px) {
      .history_access .ttlboxg .ttl {
        font-size: 16px;
        display: block;
        width: 100%; } }
  .history_access .history {
    height: 445px;
    position: relative;
    margin: 0 0 60px; }
    @media screen and (max-width: 414px) {
      .history_access .history {
        height: auto;
        margin: 0 0 50px; } }
    .history_access .history .ttlboxg {
      position: absolute;
      left: 0;
      top: 50%;
      margin-top: -102px;
      z-index: 1; }
      @media screen and (max-width: 414px) {
        .history_access .history .ttlboxg {
          position: relative;
          margin: 0; } }
      .history_access .history .ttlboxg:before {
        content: "";
        background: url("../img/icon_gear.png") no-repeat;
        position: absolute;
        background-size: 168px;
        width: 168px;
        height: 168px;
        left: -85px;
        top: -90px; }
        @media screen and (max-width: 414px) {
          .history_access .history .ttlboxg:before {
            width: 88px;
            height: 88px;
            background: url("../img/icon_gear.png") no-repeat;
            background-size: 88px;
            left: -35px;
            top: -40px; } }
    .history_access .history .inner,
    .history_access .history .row {
      height: 100%; }
      @media screen and (max-width: 414px) {
        .history_access .history .inner,
        .history_access .history .row {
          height: auto; } }
    .history_access .history .listbox {
      width: 850px;
      background: #FFF;
      position: absolute;
      right: 0;
      top: 0;
      height: 100%; }
      @media screen and (max-width: 414px) {
        .history_access .history .listbox {
          position: static;
          width: 100%;
          height: auto; } }
    .history_access .history .list {
      font-size: 0;
      height: 100%;
      padding: 70px 0 0 100px; }
      @media screen and (max-width: 414px) {
        .history_access .history .list {
          padding: 20px; } }
      .history_access .history .list dd {
        display: inline-block;
        width: 90%;
        font-size: 18px;
        margin: 0 0 20px; }
        @media screen and (max-width: 414px) {
          .history_access .history .list dd {
            width: 70%;
            vertical-align: top;
            font-size: 16px; } }
      .history_access .history .list dt {
        width: 10%;
        display: inline-block;
        padding: 5px 15px 5px 0;
        background: #FFF;
        margin: 0 0 20px;
        position: relative; }
        @media screen and (max-width: 414px) {
          .history_access .history .list dt {
            width: 30%;
            vertical-align: top; } }
        .history_access .history .list dt:before {
          content: "";
          background: url("../img/dots2.png") no-repeat;
          background-size: 2px;
          width: 2px;
          height: 25px;
          position: absolute;
          left: calc(50% - 8px);
          bottom: -25px; }
          @media screen and (max-width: 414px) {
            .history_access .history .list dt:before {
              content: none; } }
        .history_access .history .list dt:last-of-type:before {
          content: none; }
        .history_access .history .list dt span {
          background: #157131;
          color: #FFF;
          font-size: 16px;
          display: block;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          text-align: center; }
          @media screen and (max-width: 414px) {
            .history_access .history .list dt span {
              font-size: 13px; } }
    .history_access .history .bg {
      height: 100%;
      position: absolute;
      right: 0;
      background: #FFF;
      width: 50%; }
      @media screen and (max-width: 414px) {
        .history_access .history .bg {
          display: none; } }
  .history_access .access {
    height: 450px;
    position: relative;
    min-width: 1160px; }
    @media screen and (max-width: 414px) {
      .history_access .access {
        min-width: 100%;
        height: auto; } }
    .history_access .access .inner {
      height: 100%; }
      .history_access .access .inner .ttlboxg {
        position: absolute;
        right: 0;
        top: 50%;
        margin-top: -102px; }
        @media screen and (max-width: 414px) {
          .history_access .access .inner .ttlboxg {
            margin: 0;
            position: static; } }
    .history_access .access .ggmap {
      position: absolute;
      left: 0;
      width: calc(100% - 500px);
      min-width: 1000px;
      height: 100%; }
      @media screen and (max-width: 414px) {
        .history_access .access .ggmap {
          width: 100%;
          position: static;
          height: 200px;
          margin: auto; } }
      .history_access .access .ggmap iframe {
        width: 100%;
        height: 100%; }
  .history_access .access_detail {
    margin: 35px 0 0 0; }
    @media screen and (max-width: 414px) {
      .history_access .access_detail {
        margin: 35px 0 50px 0; } }
    .history_access .access_detail .pic {
      width: 450px; }
      .history_access .access_detail .pic:first-of-type {
        margin: 0 0 25px; }
      .history_access .access_detail .pic p {
        font-size: 14px;
        font-weight: bold;
        margin: 0 0 10px; }
        .history_access .access_detail .pic p span {
          color: #157131; }
    .history_access .access_detail .txt {
      width: 530px;
      font-size: 14px; }
      .history_access .access_detail .txt .list li {
        margin: 0 0 5px; }
      .history_access .access_detail .txt .subttl {
        font-size: 18px;
        color: #157131;
        margin: 0 0 20px; }
    .history_access .access_detail .row:first-of-type {
      margin: 0 0 30px; }

.plant {
  margin: -100px 0 80px 0; }
  @media screen and (max-width: 414px) {
    .plant {
      margin: 0; } }
  .plant .plant_map {
    width: 850px;
    margin: auto; }
    @media screen and (max-width: 414px) {
      .plant .plant_map {
        width: 100%; } }
    .plant .plant_map .txt {
      font-weight: bold;
      text-align: center;
      margin: 15px 0 0 0; }
      .plant .plant_map .txt span {
        color: #6e7272;
        font-weight: normal;
        font-size: 14px;
        display: block;
        margin: 5px 0 0 0; }
        @media screen and (max-width: 414px) {
          .plant .plant_map .txt span {
            font-size: 12px; } }
  .plant .plant_facility {
    margin: 70px 0 0; }
    .plant .plant_facility .box {
      border: 3px solid #157131;
      border-radius: 10px;
      padding: 0 50px 40px; }
      @media screen and (max-width: 414px) {
        .plant .plant_facility .box {
          border-radius: 5px;
          padding: 0 20px 20px; } }
      .plant .plant_facility .box .subttl {
        color: #157131;
        font-size: 27px;
        text-align: center;
        letter-spacing: 10px;
        position: relative;
        top: -22px; }
        @media screen and (max-width: 414px) {
          .plant .plant_facility .box .subttl {
            font-size: 20px;
            top: -20px; } }
        .plant .plant_facility .box .subttl span {
          display: inline-block;
          background: #FFF;
          padding: 0 20px; }
      .plant .plant_facility .box .list li {
        margin: 0 0 10px;
        padding: 0 0 0 18px;
        position: relative; }
        @media screen and (max-width: 414px) {
          .plant .plant_facility .box .list li {
            font-size: 14px; } }
        .plant .plant_facility .box .list li:before {
          content: "●";
          position: absolute;
          left: 0;
          top: -4px;
          color: #157131;
          font-size: 20px; }
        .plant .plant_facility .box .list li:last-of-type {
          margin: 0; }
          @media screen and (max-width: 414px) {
            .plant .plant_facility .box .list li:last-of-type {
              margin: 0 0 10px; } }
  .plant .bnrs {
    margin: 60px auto 0; }
    @media screen and (max-width: 414px) {
      .plant .bnrs {
        margin: 60px auto; } }

.contactboxwrap2,
.contactboxwrap3 {
  margin-bottom: 120px; }

@media screen and (max-width: 414px) {
  .contactboxwrap3 {
    margin-bottom: 60px; } }

.btnslist {
  width: 705px;
  margin: 0 auto 55px; }
  @media screen and (max-width: 414px) {
    .btnslist {
      width: 100%;
      padding: 0 25px;
      margin: 0 auto 25px; } }
  .btnslist li {
    width: 340px; }
    @media screen and (max-width: 414px) {
      .btnslist li {
        width: calc(100% / 2 - 10px); } }
    .btnslist li a {
      display: block; }

.staff1 {
  background: #f3f7ed;
  padding: 50px 0;
  margin: 0 0 70px; }
  .staff1 .inner {
    width: 1040px; }
    @media screen and (max-width: 414px) {
      .staff1 .inner {
        width: 100%; } }
  .staff1 .ttl1 span {
    text-align: center;
    display: block; }
    .staff1 .ttl1 span span {
      display: inline-block;
      background: #157131;
      color: #FFF;
      font-family: 'Noto Sans Japanese', "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
      font-size: 24px;
      font-weight: bold;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      padding: 0 20px;
      background: url("../img/bg_subttl2.png") center no-repeat;
      background-position: cover; }
      @media screen and (max-width: 414px) {
        .staff1 .ttl1 span span {
          font-size: 16px; } }
  .staff1 .leadtxt {
    text-align: center;
    line-height: 2;
    margin: 0 0 40px; }
    @media screen and (max-width: 414px) {
      .staff1 .leadtxt {
        text-align: left; } }
  .staff1 .subttl {
    font-weight: normal;
    color: #157131;
    font-size: 30px;
    margin: 0 0 20px;
    letter-spacing: 5px;
    text-align: center; }
    @media screen and (max-width: 414px) {
      .staff1 .subttl {
        font-size: 24px;
        margin: 0 0 10px; } }
  .staff1 .subttl2 {
    margin: 0 0 15px; }
    .staff1 .subttl2 span {
      display: inline-block;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      background: #157131;
      color: #FFF;
      position: relative;
      font-size: 20px;
      font-weight: normal;
      box-sizing: border-box;
      padding: 5px 20px;
      left: -10px; }
      @media screen and (max-width: 414px) {
        .staff1 .subttl2 span {
          font-size: 18px; } }
      .staff1 .subttl2 span:before {
        content: "";
        background: url("../img/slash.png") no-repeat;
        background-size: 10px;
        width: 10px;
        height: 20px;
        position: absolute;
        left: 0;
        bottom: -20px; }
      @media screen and (max-width: 414px) {
        .staff1 .subttl2 span {
          display: block;
          width: calc(100% + 10px); } }
  .staff1 .wbox {
    background: #FFF;
    border: 1px solid #157131;
    border-radius: 10px;
    padding: 30px;
    margin: 30px 0; }
    @media screen and (max-width: 414px) {
      .staff1 .wbox {
        padding: 20px;
        margin: 20px 0;
        border-radius: 5px; } }
    .staff1 .wbox li {
      margin: 0 0 10px;
      padding: 0 0 0 20px;
      position: relative; }
      .staff1 .wbox li:last-of-type {
        margin: 0; }
      .staff1 .wbox li:before {
        content: "●";
        color: #157131;
        left: 0;
        position: absolute; }
  .staff1 .box_left {
    width: 610px;
    margin: 0; }
    @media screen and (max-width: 414px) {
      .staff1 .box_left {
        width: 100%; } }
  .staff1 .box_right.box_right2:before {
    content: none; }
  .staff1 .box_right {
    width: 340px;
    position: relative;
    margin: 0 0 20px; }
    @media screen and (max-width: 414px) {
      .staff1 .box_right {
        width: 100%; } }
    .staff1 .box_right .pic {
      position: relative; }
    .staff1 .box_right:before {
      content: "";
      background: url("../img/bg_gear.png") no-repeat;
      background-size: 168px;
      width: 168px;
      height: 168px;
      position: absolute;
      right: -80px;
      top: -80px; }
      @media screen and (max-width: 414px) {
        .staff1 .box_right:before {
          background: url("../img/bg_gear.png") no-repeat;
          background-size: 80px;
          width: 80px;
          height: 80px;
          position: absolute;
          right: -40px;
          top: -40px; } }
  .staff1 .yoko_box {
    margin: 60px 0;
    background: #FFF;
    border-top: 8px solid #157131;
    padding: 0 0 60px; }
    @media screen and (max-width: 414px) {
      .staff1 .yoko_box {
        padding: 0; } }
    @media screen and (max-width: 414px) {
      .staff1 .yoko_box .subttl {
        font-size: 18px; } }
    .staff1 .yoko_box .subttl span {
      display: inline-block;
      background: #157131;
      color: #FFF;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      padding: 0 30px 10px; }
    .staff1 .yoko_box .list {
      width: 880px;
      margin: auto;
      border-top: 1px solid #157131;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; }
      @media screen and (max-width: 414px) {
        .staff1 .yoko_box .list {
          width: 100%;
          padding: 0 20px 20px;
          border-top: none;
          margin: 40px 0 0 0; } }
      .staff1 .yoko_box .list dt {
        border-bottom: 1px solid #157131;
        width: 180px;
        text-align: center;
        color: #157131;
        padding: 20px 0; }
        @media screen and (max-width: 414px) {
          .staff1 .yoko_box .list dt {
            width: 100%;
            padding: 10px 0;
            background: #157131;
            color: #FFF;
            padding: 2px 0; } }
      .staff1 .yoko_box .list dd {
        border-bottom: 1px solid #157131;
        padding: 20px 0;
        width: 700px; }
        @media screen and (max-width: 414px) {
          .staff1 .yoko_box .list dd {
            width: 100%;
            padding: 10px 10px 20px; } }
        .staff1 .yoko_box .list dd:last-of-type {
          border-bottom: none; }
  .staff1 .recruit_bointbox {
    border-radius: 10px;
    padding: 40px 60px;
    border: 2px solid #157131;
    height: 650px;
    overflow-y: scroll;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.4); }
    @media screen and (max-width: 414px) {
      .staff1 .recruit_bointbox {
        height: 350px;
        padding: 30px 40px; } }
    .staff1 .recruit_bointbox .icon {
      width: 140px;
      margin: 0 0 50px; }
      @media screen and (max-width: 414px) {
        .staff1 .recruit_bointbox .icon {
          margin: 0 auto 20px; } }
      .staff1 .recruit_bointbox .icon:last-of-type {
        margin-bottom: 0; }
    .staff1 .recruit_bointbox .box {
      width: 710px;
      margin: 0 0 50px; }
      .staff1 .recruit_bointbox .box:last-of-type {
        margin: 0; }
      .staff1 .recruit_bointbox .box h4 {
        color: #157131;
        font-size: 20px;
        font-weight: 400;
        margin: 0 0 10px; }
        @media screen and (max-width: 414px) {
          .staff1 .recruit_bointbox .box h4 {
            text-align: center; } }
    .staff1 .recruit_bointbox .subttl {
      margin: 0 0 40px; }
      @media screen and (max-width: 414px) {
        .staff1 .recruit_bointbox .subttl {
          margin: 0 0 20px;
          font-size: 20px;
          line-height: 1.4; } }
      .staff1 .recruit_bointbox .subttl span {
        position: relative; }
        .staff1 .recruit_bointbox .subttl span:before {
          content: "";
          background: url(../img/slash_l.png) no-repeat;
          background-size: 19px;
          width: 20px;
          height: 32px;
          position: absolute;
          left: -40px;
          top: 8px; }
          @media screen and (max-width: 414px) {
            .staff1 .recruit_bointbox .subttl span:before {
              top: 50%;
              margin-top: -16px; } }
        .staff1 .recruit_bointbox .subttl span:after {
          content: "";
          background: url(../img/slash_r.png) no-repeat;
          background-size: 19px;
          width: 20px;
          height: 32px;
          position: absolute;
          right: -40px;
          top: 8px; }
          @media screen and (max-width: 414px) {
            .staff1 .recruit_bointbox .subttl span:after {
              top: 50%;
              margin-top: -16px; } }
  @media screen and (max-width: 414px) {
    .staff1 .boxwrap {
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
      flex-direction: column-reverse;
      margin: 20px 0 0 0; } }
      
      
      
      
      
 @media (max-width: 414px) {
.pc {
    display:none;
}
}
 @media (min-width: 415px) {
.sp {
    display:none;
}
}
