@charset "utf-8";
html{
  font-size:16px;
}
/* default */
@media screen and (max-width: 640px) {
  html{
    font-size:14px;
  }
}
body {
  font-family:'M PLUS Rounded 1c','ヒラギノ角ゴ Pro W3',Hiragino Kaku Gothic Pro,Osaka,'メイリオ',Meiryo,'ＭＳ Ｐゴシック',MS P Gothic,Verdana,sans-serif;
  color: #767676;
  font-size: 100%;
  line-height: 2em;
  position: relative;
  word-break:break-all;
}
.mincho {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "-apple-system", "Helvetica Neue", Roboto, "Droid Sans", Arial, "Yu Gothic", YuGothic, Meiryo, sans-serif;
  font-weight: bold;
}
a {
  color: #3273dc;
}
a:hover {
  color: #3273dc;
  text-decoration: underline;
}
a[href^="tel:"] {
  color:inherit;
}
@media screen and (min-width: 1200px) {
  a[href^="tel:"] {
    pointer-events:none;
  }
}
button{
  padding:0;
  font-size:.88rem;
}
.btn {
  transition: .4s;
  background-color:transparent;
  display: inline-block;
  border:2px solid #FCAA00;
  color: #FCAA00;
  padding: .5rem 1rem .5rem 1rem!important;
  transition: .4s;
  font-weight:700;
  font-size: 1rem!important;
  border-radius: 2rem;
  height: auto;
  line-height:1.75;
  margin: 1rem auto;
  min-width: 232px;
  text-decoration:none!important;
}
.btn:hover {
  background-color: #FCAA00;
  color:#fff!important;
  background-position:center right 0.6rem;
}

a:hover .btn::after{
  color:#fff;
}
.btn_flat{
  padding: .7rem 1rem;
  font-size: .88rem;
  line-height: 1.33333;
  border-radius: 3px  min-width: none;
  display: inline-block;
  font-weight: bold;
  text-align: center;
  touch-action: manipulation;
  border: 1px solid transparent;
  -webkit-box-shadow: inset 0 0 2px #fff;
  box-shadow: inset 0 0 2px #fff;
  text-decoration: none;
  letter-spacing: .05em;
  color: #fff;
  background-color: #419438;
  border-color: #327c39;
  position: relative;
  overflow:hidden;
}
.btn.large_btn,
.btn_flat.large_btn{
  font-size:1.15rem;
  padding: .7rem 2rem;
}
@media screen and (max-width: 640px) {
  .btn_flat{
    min-width: none;
  }
}
.btn_flat.pink{
  background-color: #fa3f5b;
  border: solid 1px #cf364d;
}
.btn_flat.blue{
  background-color: #3d70bb;
  border: solid 1px #174d8b;
}
.btn_flat.orange{
  background-color: #f3981c;
  border: solid 1px #b77d2d;
}
.btn_flat.white{
  background-color: #ffffff;
  border: solid 1px #afafaf;
  color:inherit;
}
.btn_flat.white:hover{
  color:inherit;
}
.btn_flat.white i{
  color:#fa3f5b;
}
.btn_flat.disabled{
  background-color: #8b8b8b;
  border: solid 1px #8b8b8b;
  pointer-events:none;
}
.btn_flat:hover{
  color:#fff;
  text-decoration:none;
}
.btn_flat i{
  color:#fff;
}
.btn_flat::after{
  z-index: -1;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin-left: -10px;
  margin-top: -10px;
  border-radius: 50%;
  transition: transform .7s;
  background-color: transparent;
  content: '';
}
.btn_flat:hover::after{
  z-index: 0;
  background-color: rgba(255,255,255,0.2);
  -ms-transform: scale(100);
  transform: scale(100);
}
::selection {
  color: #fff;
  background: #006600;
}
img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
img.pull_right {
  margin: 0 0 .5em .5em;
}
.require {
  color: red;
}
ul li {
  list-style-type: none;
  margin: 0 0 .5em;
}
ul li:focus {
  outline-color: transparent;
}
ol {
  padding: 0.5rem 0 1rem 2rem;
}
ol li {
  padding: 0 0 .5em;
}
ul {
  padding-left: .5em;
  margin: 1em 0 2em;
}
ul.inline li {
  display: inline-block;
  margin-right: 2.5em;
}
ul li i {
  color: #006600;
}
p {
  line-height: 2;
  margin-bottom: 1rem;
}
figcaption {
  margin-top: .5rem;
  font-size: .9rem;
  line-height: 1.5;
}
.lead {
  font-size: 1.6em;
  line-height: 1.5;
  color: #0d6517;
  font-weight: bold;
}
section {
  padding: 0;
}
i {
  color: #006600;
}
main h2,
main h1 {
  font-size: 1.75rem;
  font-weight: 500;
  margin-bottom: 1em;
  margin-top:2em;
}
main h1{
  margin:0;
}
main section h2:first-of-type {
  margin-top:0;
}
main h2 small,
main .h1_en small {
  font-size:1rem;
  font-weight:400;
  display:block;
  color:#FCAA00;
  margin-top:.75em;
}
main .h1_en small {
  text-align:center;
}
main .page_tit {
  margin-bottom: 2rem;
}
.single h1{
  text-align:left;
  margin-bottom:1em;
  line-height:1.5;
}
main h3 {
  font-size: 1.2rem;
  background-color:#FEEABC;
  border-radius:5px;
  position: relative;
  padding: 0.25em 0.5em;
  margin-bottom: .5em;
}
main h4{
  font-weight:bold;
  font-size:1.1rem;
  color:#61C359;
}
main h5{
  color:#FCAA00;
}
main section ul{
  padding:0 0 0 0.5rem;
}
main section ul li{
  position:relative;
  padding:0 0 0 1rem;
}
main section ul li::before{
  position:absolute;
  content:'';
  width:0.75rem;
  height:0.75rem;
  background-color:#61C359;
  border-radius:50%;
  left:0;
  top: 0.4rem;
}
@media screen and (max-width: 640px) {
  main h2,
  main h1 {
    font-size:1.75rem;
  }
}
.jus_center{
  display:flex;
  justify-content:center;
}
.pc_text_center,
.text_center{
  text-align: center;
}
.text_right{
  text-align:right;
  display:block;
}
main strong {
  font-size: 1.1em;
  color: #006600;
}
ul.inline_list li {
  display: inline-block;
  margin-right: 1.5em;
}
main section.highlight {
  background-color: #f4fff3;
  padding:4rem 0;
}
main section.border_sec {
  padding:4rem 0;
  border-top:1px solid #ddd;
}
.well{
  background-color:#fff8ee;
  padding:2rem;
  margin:1rem 0;
}
.well.row_640{
  max-width:640px;
  margin:0 auto;
}
.well h3{
  border-bottom:none;
  font-weight:700;
  color:#006600;
  padding:0;
  margin-bottom:.5rem;
}
.well h3::after{
  content:none;
}
.well.danger{
  background-color:#ffe6e6;
  color:#bf0000;
}
.well *:last-child{
  margin-bottom:0;
}
.well.border{
  background-color:transparent;
  border:1px solid #006600;
}
.container {
  max-width: 1212px;
  width: 100%;
  padding: 0 1rem;
}
main section{
  padding: 4rem 0;
}
.alignright{
    float:right;
    max-width:40%;
    margin:0 0 .5rem .5rem;
}
.alignleft{
    float:left;
    max-width:40%;
    margin:0 .5rem .5rem 0;
}
.alignnone{
  margin:0;
}
@media screen and (max-width: 640px) {
  .sp_float_none{
    float:none;
    max-width:100%;
    margin:.5rem 0;
  }
}

.mb0{
  margin-bottom:0!important;
}
table {
  max-width: 100%;
  width: 100%;
  table-layout: fixed;
  margin: 1em 0;
  vertical-align: middle;
}
table th {
  text-align: center;
  width: 30%;
  color:#333;
  background-color: #deffdb;
  vertical-align: middle;
  padding: 1em;
  border: 1px solid #ddd;
}
table td {
  vertical-align: middle;
  padding: 1em;
  border: 1px solid #ddd;
  background-color:#fff;
  line-height: 1.5;
}
table ul {
  margin: 0.5rem 0;
  padding: 0;
}
table p {
  margin: 0;
  padding: 0;
}
table ol {
  margin: 0;
  padding: 0.5rem 0 0.5rem 2rem;
}
@media (max-width: 640px) {
  table.sp-block, table.sp-block thead, table.sp-block tbody, table.sp-block tr, table.sp-block th, table.sp-block td {
    display: block;
    width: auto!important;
  }
  table.sp-block th {
    background-color: #deffdb;
    border-bottom: none;
    padding: .4em 1rem;
  }
  table.sp-block td {
    border-bottom: none;
  }
  table.sp-block {
    border-bottom: 1px solid #ddd;
  }
}
.columns.re
@media screen and (max-width: 1212px) {
  {
    max-width: 960px;
    width: 100%;
  }
}
@media screen and (max-width: 992px) {
  .container {
    max-width: 800px;
    width: 100%;
  }
}
@media screen and (max-width: 992px) {
  .pc-only,
  .pc_only {
    display: none;
  }
  .pc_text_center{
    text-align:left;
  }
  .column.is-12-mobile{
    padding:0;
  }
}
@media screen and (min-width: 993px) {
  .sp-only,
  .sp_only {
    display: none;
  }
}
@media (max-width: 640px) {
  table.responsive-stack, table.responsive-stack thead, table.responsive-stack tbody, table.responsive-stack tr, table.responsive-stack th, table.responsive-stack td {
    display: block;
    width: auto!important;
  }
  table.responsive-stack th {
    background-color: #deffdb;
    border-bottom: none!important;
    padding: .4rem 0;
  }
  table.responsive-stack td {
    border-bottom: none!important;
  }
  table.responsive-stack {
    border-bottom: 1px solid #ddd!important;
  }
}

/* animetion */
.anim {
  position: relative;
  overflow: hidden;
  z-index: 0;
  transform: translateY(40px);
  opacity: 0;
  transition: 1s cubic-bezier(0.5, 0.1, 0.2, 1) 0.2s;
}
.anim:nth-child(1) {transition-delay: 0.1s;}
.anim:nth-child(2) {transition-delay: 0.3s;}
.anim:nth-child(3) {transition-delay: 0.5s;}
.anim:nth-child(4) {transition-delay: 0.7s;}
.anim:nth-child(5) {transition-delay: 0.9s;}
.anim:nth-child(6) {transition-delay: 1.1s;}
.anim:nth-child(7) {transition-delay: 1.3s;}
.anim:nth-child(8) {transition-delay: 1.5s;}
.anim:nth-child(9) {transition-delay: 1.7s;}
.anim:nth-child(10) {transition-delay: 1.9s;}
.anim.animStart {
  transform: translateY(0);
  opacity: 1;
}
/* end/animetion */

/* header */
header{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
  position:fixed;
  width:100%;
  top:0;
  z-index: 1000;
}
header::after{
  background-color:#fff;
  display:block;
  width:100%;
  height:100%;
  position:absolute;
  content:"";
  z-index:-1;
  transition:.4s;
  left:0;
  top:0;
}
header.fixed::after{
  left:0;
}
header .logo {
  padding: 0rem 0rem;
  margin-left:1rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
header p.h_logo{
  margin:0!important;
}
header .h_logo img{
  width: 325px;
}
header .h_logo .black{
  display:none;
}
.fixed .h_logo .black{
  display:block;
}
.fixed .h_logo .white{
  display:none;
}
header .logo p{
  margin-bottom:0;
  color:#fff;
  font-weight:400;
  font-size:.875rem;
  margin-left:1em;
}
.fixed .logo p{
  color:inherit;
}
/* end/header */


/* gnav */
.menu-mobile {
  display: none;
  color: #006600;
}
.menu-mobile:hover {
  color: #006600;
  text-decoration: none;
}
.menu-mobile:after {
  font-family: "Font Awesome 5 Free";
  content: "\f0c9";
  font-weight: 900;
  font-size: 1.5rem;
  padding: 0;
  position: absolute;
  top: 66%;
  left: 60%;
  margin: -15px 0 0 -17px;
  -webkit-transform: translateY(-25%);
  -ms-transform: translateY(-25%);
  transform: translateY(-25%);
}
.menu-dropdown-icon:before {
  font-family: "Font Awesome 5 Free";
  content: "\f067";
  font-weight: 900;
  display: none;
  cursor: pointer;
  padding: 10px 0 0 0;
  position: absolute;
  top: 0;
  right: 0;
  width: 51px;
  height: 51px;
  z-index: 10;
  text-align: center;
  background: #f8f8f8;
  color: #006600;
}
.menu {
  display: flex;
  align-items: center;
}
.menu .sns_menu{
  display: flex;
  align-items: center;
  width:auto;
  margin:0 1rem;
}
.menu .sns_menu li a::after{
  content:none;
}
.menu .sns_menu li a{
  margin:0 .35rem;
  transition:.2s;
}
.menu .sns_menu li a:hover{
  transform:translateY(-2px);
  border:none;
}
.menu .sns_menu li a img{
  width:24px;
}
.menu .flex {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
}
.menu>ul {
  margin: 0 auto;
  width: 100%;
  list-style: none;
  padding: 0;
  position: relative;
  /* IF .menu position=relative -> ul = container width, ELSE ul = 100% width */
  box-sizing: border-box;
}
.menu>ul>li {
  margin: 0;
}
.menu>ul>li a {
  text-decoration: none;
  padding: 1.6rem 0;
  margin-right: 1.6rem;
  display: block;
  color: #767676;
  position: relative;
  font-size: 1rem;
  overflow:
  hidden;
}
.fixed .menu>ul>li a {
  color:inherit;
}
.menu>ul>li a::after{
  position:absolute;
  content:"";
  border-bottom: 5px solid #fcaa00;
  width:100%;
  transition:.2s;
  left:-100%;
  bottom:0;
}
.menu>ul>li:hover a::after,
.menu>ul>li a.open::after{
  left:0;
}

.menu>ul>li>.dropdown_menu {
  visibility: hidden;
  width: auto;
  border-top: none;
  position: absolute;
  z-index: 99;
  bottom:0;
  transform:translateY(90%);
  margin: 0;
  list-style: none;
  box-sizing: border-box;
  opacity: 0;
  transition-property: all;
  transition-duration: .3s;
  transition-delay: 0s;
  -webkit-transition-property: all;
  -webkit-transition-duration: .3s;
  -webkit-transition-delay: 0s;
}
.menu>ul>li:hover .dropdown_menu {
  visibility: visible;
  opacity: 1;
  transform:translateY(100%);
}

.menu>ul>li>.dropdown_menu ul{
  margin:0;
  padding:0;
  background: rgba(255,255,255,.9);
  border: 1px solid #ddd;
  padding:0 1rem;
  position:relative;
  min-width:12rem;
}
.menu>ul>li ul>li {
  margin: 0;
  padding-bottom: 0;
  list-style: none;
  background: none;
}
.menu>ul>li ul>li a {
  color: #767676;
  padding: .2em 0;
  width: 100%;
  display: block;
  text-align: left;
  position: relative;
  border-bottom: 1px solid #ccc;
  margin:0;
}
.menu>ul>li ul>li a:hover {
  color: #006600;
}
.menu>ul>li ul>li a::after {
  content:none;
}
.menu>ul>li ul>li:last-child a {
  border-bottom:none;
}
.menu>ul>li ul>li>ul {
  display: block;
  padding: 0;
  margin: 0;
  list-style: none;
  box-sizing: border-box;
}
.menu>ul>li ul>li>ul:before, .menu>ul>li ul>li>ul:after {
  content: "";
  display: table;
}
.menu>ul>li ul>li>ul:after {
  clear: both;
}
.menu>ul>li ul>li>ul>li {
  float: left;
  width: 100%;
  padding: 0;
  margin: 0;
  font-size: .8rem;
}
.menu>ul>li ul>li>ul>li a {
  border: 0;
}
.menu>ul>li ul.normal-sub {
  width: 300px;
  left: auto;
  padding:.5rem 1rem;
}
.menu>ul>li ul.normal-sub>li {
  width: 100%;
}
.menu>ul>li ul.normal-sub>li a {
  border: 0;
  padding: .5em 0 .5em 1em;
  font-size: .8rem;
}
@media screen and (max-width: 1300px) {
  header .h_logo img{
    width:240px;
  }
  .menu>ul>li a{
    margin-right:0.75rem;
    font-size:.85rem;
  }
}

@media screen and (min-width: 993px) {
  .dropdown.open + .dropdown_menu .drop_open_mask{
    position:fixed;
    top:83px;
    left:0;
    width:100vw;
    height:100vh;
    background-color:#000;
    opacity:.5;
  }
}
/* ––––––––––––––––––––––––––––––––––––––––––––––––––
Mobile style's
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media screen and (max-width: 992px) {
  header{
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.08);
    height: 60px;
  }
  header .h_logo img{
    width: 224px;
  }
  #navArea{
    border:none;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  #navArea nav {
    display: block;
    position: fixed;
    top: 0;
    left: -100%;
    bottom: 0;
    width: 260px;
    min-height:100vh;
    background: #ffffff;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transition: all .5s;
    z-index: 2000;
    opacity: 0;
    padding-top: 66px;
  }
  #navArea nav::-webkit-scrollbar {
      display:none;
  }
    #navArea nav::after{
    content:'';
    background:url(img/logo.png) no-repeat left center / contain;
    font-size:22px;
    font-weight:700;
    width:calc(100% - 2rem);
    height:50px;
    display:block;
    text-align:center;
    position:absolute;
    top:1rem;
    left:1rem;
  }
  #navArea.open nav {
    left: 0;
    opacity: 1;
    background-color: #fff;
  }
  #navArea .container {
    padding: 0;
  }
  #navArea .menu{
    flex-direction:column;
  }
  #navArea nav ul{
    display:block;
    order:1;
  }
  #navArea nav ul li{
    width:100%;
  }
  #navArea nav ul li a {
    text-align:left;
    border-bottom:1px solid #e6e6e6;
    background-color:#fff;
    transition-duration: 0.2s;
    padding: 0.5rem 1rem;
    font-size: 1rem;
    color:#333;
    margin:0;
  }
  #navArea nav ul li li a {
    font-size:0.875rem;
    padding:0.25rem 1rem;
  }
  #navArea nav ul li:last-child a {
    border:none;
  }
  #navArea nav ul li a::after {
    content:none;
  }
  #navArea nav ul li a.dropdown::before {
    content:'';
    width:1em;
    height:2px;
    background-color:#006600;
    position:absolute;
    right:1em;
    top:50%;
  }
  #navArea nav ul li a.dropdown::after {
    content:'';
    width:1em;
    height:2px;
    background-color:#006600;
    position:absolute;
    left:auto;
    bottom:auto;
    right:1em;
    top:50%;
    border:none;
    transform:rotate(270deg);
    transition:0.2s;
  }
  #navArea nav ul li a.dropdown.open::after {
    transform:rotate(0);
  }
  #navArea .btn{
    display:block;
    width:calc(100% - 2rem);
    margin:1rem auto;
    font-size:.94rem;
  }
  #navArea .nav_contact .tel{
    margin:1.5rem 0 1rem;
  }
  #navArea .nav_contact .tel a{
    font-weight:900;
    font-size: 23px;
    color:inherit;
    text-decoration:none;
    line-height:1;
    display:block;
    text-align:center;
  }
  #navArea .nav_contact .tel p{
    font-size:10px;
    margin-bottom:0;
    text-align:center;
  }
  #navArea .nav_contact .mail .btn{
    text-align:center;
  }
  .menu>ul>li>.dropdown_menu{
    position:static;
    visibility:visible;
    opacity:1;
    transform:translateY(0);
    display:none;
    transition:none;
  }
  .menu>ul>li:hover>.dropdown_menu{
    transform:translateY(0);
  }
  .menu>ul>li>.dropdown_menu ul{
    border-top:none;
    padding:0 0.5rem;
  }
  /*============
  .toggle_btn
  =============*/
  .toggle_btn {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 30px;
    height: 30px;
    transition: all .5s;
    cursor: pointer;
    z-index: 3;
    padding: 30px;
  }
  .toggle_btn span {
    display: block;
    position: absolute;
    left: 16px;
    width: 30px;
    height: 2px;
    background-color: #006600;
    border-radius: 4px;
    transition: all .5s;
  }
  .fixed .toggle_btn span {
    background-color: #006600;
  }
  .toggle_btn span:nth-child(1) {
    top: 20px;
  }
  .toggle_btn span:nth-child(2) {
    top: 30px;
  }
  .toggle_btn span:nth-child(3) {
    top: 40px;
  }
  .open .toggle_btn span {
    background-color: #fff;
  }
  .open .toggle_btn span:nth-child(1) {
    -webkit-transform: translateY(10px) rotate(-315deg);
    transform: translateY(10px) rotate(-315deg);
  }
  .open .toggle_btn span:nth-child(2) {
    opacity: 0;
  }
  .open .toggle_btn span:nth-child(3) {
    -webkit-transform: translateY(-10px) rotate(315deg);
    transform: translateY(-10px) rotate(315deg);
  }
  /*============
  #mask
  =============*/
  #mask {
    display: none;
    transition: all .5s;
  }
  .open #mask {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #000;
    opacity: .8;
    z-index: 2;
    cursor: pointer;
  }
   #navArea .menu .sns_menu{
    display: flex;
    margin-top:.5rem;
    order:3;
  }
   #navArea .menu .nav_contact{
    order:2;
  }
  #navArea nav ul.sns_menu li a{
    border:none;
  }
}


/* end/gnav */


/* hero */
.hero {
  background: none;
  position:relative;
  background-size: cover;
  padding:0;
  overflow:hidden;
  height:100vh;
  min-height:800px!important;
}
.hero::after{
  top:0;
  left:0;
  width:100%;
  height:100%;
  position:absolute;
  content:"";
  background-color:rgba(0,0,0,0.3)
}
.hero ul{
  margin:0;
  padding:0;
}
.hero-body{
  text-align:center;
  position:relative;
  z-index:10;
  justify-content:center;
  padding:0;
}

.hero-body .main_copy{
  color:#fff;
  margin-top:-83px;
}
.hero-body .main_copy p{
  color:#fff;
  letter-spacing:.15em;
  font-size:1.2rem;
  margin:0;
}
.hero-body .main_copy p strong{
  color:#fff;
  font-weight:500;
  font-size:2.5rem;
}
@media screen and (max-width: 768px) {\
  .hero {
    min-height:100vh!important;
  }
  .hero-body .main_copy p{
    font-size:2.5vw;
  }
  .hero-body .main_copy p strong{
    font-size:5vw;
  }
}

.cb-slideshow:after {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    z-index:10;
    margin:0;
    padding:0;
}
.cb-slideshow li{
    position:static;
}

.cb-slideshow li span {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    color: transparent;
    background-size: cover;
    background-position: center;
    background-repeat: none;
    opacity: 0;
    z-index: 0;
    animation: imageAnimation 24s linear infinite 0s;
}

.cb-slideshow li:nth-child(1) span {
    background-image: url(img/mv01.jpg?v2)
}
.cb-slideshow li:nth-child(2) span {
    background-image: url(img/mv02.jpg?v3);
    animation-delay: 8s;
}
.cb-slideshow li:nth-child(3) span {
    background-image: url(img/mv03.jpg?v2);
    animation-delay: 16s;
}
@media screen and (max-width: 800px) {
  .cb-slideshow li:nth-child(1) span {background-image: url(img/sp_mv01.jpg?v2)}
  .cb-slideshow li:nth-child(2) span {background-image: url(img/sp_mv02.jpg?v3)}
  .cb-slideshow li:nth-child(3) span {background-image: url(img/sp_mv03.jpg?v2)}
}

@keyframes imageAnimation {
    0% {
        opacity: 0;
        animation-timing-function: ease-in;
    }
    8% {
        opacity: 1;
        transform: scale(1.05);
        animation-timing-function: ease-out;
    }
    35% {
        opacity: 1;
        transform: scale(1.2);
    }
    45% {
        opacity: 0;
        transform: scale(1.5);
    }
    100% { opacity: 0 }
}
.no-cssanimations .cb-slideshow li span{
    opacity: 1;
}
@media screen and (max-width: 640px) {
  .hero-body .catch{
    font-size:8vw;
  }
  .hero-body .catch span {
    font-size:12vw;
  }
  .hero-body .catch small {
    font-size:4vw;
  }
  .cb-slideshow li span {
      background-position: center;
  }
}


/* end/hero */


/* footer */
.access_bnr{
  background-color:#f4f4f4;
  padding:2rem 0;
}
.access_bnr ul.access_list{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
  margin:0;
  padding:0;
}
.access_bnr ul.access_list li{
  width:calc(50% - 1rem);
  position:relative;
  margin:0;
}
.access_bnr ul.access_list li a{
  display:block;
  position:relative;
  overflow:hidden;
}
.access_bnr ul.access_list li a::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  z-index:10;
  transition:.4s;
  background: -moz-linear-gradient(left,  rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 50%);
  background: -webkit-linear-gradient(left,  rgba(0,0,0,0.7) 0%,rgba(0,0,0,0) 50%);
  background: linear-gradient(to right,  rgba(0,0,0,0.7) 0%,rgba(0,0,0,0) 50%);
}

.access_bnr ul.access_list li a p{
  position:absolute;
  font-size: 1.125rem;
  font-weight:700;
  color:#fff;
  z-index:100;
  top:50%;
  left:1rem;
  margin-bottom:0;
  margin-top:-0.5em;
  line-height:1;
  letter-spacing:.1em;
}
.access_bnr ul.access_list li a img{
  transition:.4s;
}
.access_bnr ul.access_list li a:hover img{
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
footer {
  background-color:#15a65b;
  padding:6rem;
}
footer .bnr{
  margin:0 0 3rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
}
footer .bnr a{
  margin:0.5rem;
}
footer .bnr a:hover img{
  opacity:0.9;
}
footer .sns_menu{
  display: flex;
  align-items: center;
  justify-content: center;
  margin:0;
  padding:0;
}
footer .sns_menu li{
  margin:.5rem;
  padding:0;
}
footer .sns_menu a:hover img{
  opacity:0.8;
}
footer .copyright{
  color:#fff;
  text-align:center;
  padding:.5rem 0;
}
@media screen and (max-width: 640px) {
  footer {
    padding:3rem 1rem;
  }
}

/* end/footer */

/* information_sec */
.information_sec{
  padding:4rem 0;
}
.information_sec .inner{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
  max-width:1100px;
  margin:0 auto;
}
.information_sec .inner .info_left{
  width:304px;
}
.information_sec .inner .info_left h2{
  text-align:left;
  margin-bottom:1rem;
}
.information_sec .inner .info_right{
  width:calc(100% - 304px);
}
.info_list,
.info_list li{
  margin:0;
  padding:0;
}
.info_list li a{
  display:block;
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid #dcdcdc;
  padding:.5rem 1rem;
  line-height:1.8;
  transition:.4s;
}
.info_list li a:hover{
  background-color:#ffedd2;
}
.info_list li:first-child a{
  border-top:1px solid #feeabc;
}
.info_list li a time{
  width:auto;
  color:#FCAA00;
}
.info_list li a .cat{
  display:block;
  width:8rem;
  background-color:#61C359;
  text-align:center;
  color:#fff;
  margin:.15rem 1rem 0 0;
  padding:0;
}
.info_list li a .cat.news{
  background-color:#FCAA00;
}
.info_list li a .cat.blog{
  background-color:#3964d8;
}
.info_list li a .cat.ichinichi{
  background-color:#61C359;
}
.info_list li a .cat.misyuuenji{
  background-color: #dd7fe1;
}
.info_list li a p{
  margin: 0 0 0;
}
@media screen and (max-width: 992px) {
  .information_sec .inner .info_left{
    width:100%;
  }
  .information_sec .inner .info_left h2{
    text-align:center;
  }
  .information_sec .inner .info_left .btn_area{
    text-align:center;
    margin-bottom:1rem;
  }
  .information_sec .inner .info_right{
    width:100%;
  }
}
@media screen and (max-width: 640px) {
  .info_list li a{
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .info_list li a p{
    margin: .5rem 0 0;
    width:100%;
  }
}
/* end/information_sec */

/* facility_sec */

.fleet_area{
  padding:2rem 4rem 4rem;
}
.fleet_area .inner{
  position:relative;
}
.fleet_area .inner::before{
  content:"";
  position:absolute;
  width:75%;
  height:100%;
  left:0;
  top:0;
  background:url(img/factory_img006.jpg) no-repeat right center / cover;
}
.fleet_area .inner .container{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: flex-end;
  justify-content:         flex-end;
}
.fleet_area .inner .container .bg{
  margin:2.5rem 0;
  background-color:rgba(255,255,255,0.9);
  padding: 2rem 2.5rem;
  box-shadow: 1px 1px 10px 0 rgba(0, 0, 0, 0.1);
  width:40%;
}
.fleet_area .inner .container .bg h3{
  font-size:2.25rem;
  font-weight:700;
  border-bottom:none;
  text-align:center
}
.fleet_area .inner .container .bg small{
  font-size:1rem;
  font-weight:400;
  display:block;
  color:#006600;
}
.fleet_area .inner .container .bg p small{
  font-size:.875rem;
  color:inherit;
}
.fleet_area .inner .container .bg h3::after{
  content:none;
}
@media screen and (max-width: 1212px) {
  .fleet_area{
    padding:4rem 0 4rem 1rem;
  }
  .fleet_area .inner .container .bg{
    margin:2.5rem 0;
    background-color:rgba(255,255,255,0.9);
    padding:4rem 3rem;
    box-shadow: 1px 1px 10px 0 rgba(0, 0, 0, 0.1);
    width:50%;
  }
}
@media screen and (max-width: 992px) {
  .fleet_area .inner .container .bg{
    margin:2.5rem 0;
    background-color:rgba(255,255,255,0.9);
    padding:4rem 3rem;
    box-shadow: 1px 1px 10px 0 rgba(0, 0, 0, 0.1);
    width:70%;
  }
}
@media screen and (max-width: 640px) {
  .fleet_area{
    padding: 2rem 0 4rem 1rem;
  }
  .fleet_area .inner::before{
    width:90%;
  }
  .fleet_area .inner .container .bg{
    margin:2rem 0 0;
    padding:2rem 1rem;
    width:calc(100% - 2rem);
    transform:translateY(2rem);
  }
}
.factory_area{
  position:relative;
}
.factory_area::before{
  content:"";
  position:absolute;
  width:40%;
  height:100%;
  left:0;
  top:0;
  background:#006600;
}
.factory_area::after{
  content:"";
  position:absolute;
  width:60%;
  height:100%;
  right:0;
  top:0;
  background:url(img/fleet_img002.jpg) no-repeat right center / cover;
}
.factory_area .container{
  display: flex;
  justify-content: flex-end;
  position:relative;
  z-index:10;
}
.factory_area .container h3{
  -webkit-writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  color:#fff;
  font-weight:700;
  font-size:5rem;
  line-height:1.5;
  border-bottom:none;
  margin:4rem 0 0 0;
  padding:0;
}
.factory_area .container h3::after{
  content:none;
}
.factory_area .container h3 small{
  display:block;
  font-size:1.185rem;
  font-weight:400;
  letter-spacing:.1em;
  margin-top:.25rem;
}

.factory_area .container .inner{
    background-color:rgba(255,255,255,0.9);
    margin:4rem 0;
    width:74%;
    padding:2rem;
}
.factory_area .container .inner .factory_list{
  margin:0;
  padding:0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.factory_area .container .inner .factory_list li{
  width:calc(50% - 1rem);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom:1.5rem;
}
.factory_area .container .inner .factory_list li .tmb{
  width:90px;
}
.factory_area .container .inner .factory_list li .txt{
  width:calc(100% - 90px - 1rem);
}
.factory_area .container .inner .factory_list li .txt h4{
  color:inherit;
}
.factory_area .container .inner .factory_list li .txt h4::before{
  content:"●";
  display:inline-block;
  font-size:.875rem;
  margin-right:.5rem;
  vertical-align:bottom;
  color:#006600;
}
.factory_area .container .inner .factory_list li .txt p{
  line-height: 1.5;
}
.factory_area .container .inner .btn{
  margin:0;
}
@media screen and (max-width: 1212px) {
  .factory_area .container h3{
    font-size:4rem;
  }
  .factory_area .container h3 small{
    font-size:1rem;
  }
  .factory_area .container .inner{
      width:84%;
  }
  .factory_area .container .inner .factory_list li .tmb{
    width:72px;
  }
  .factory_area .container .inner .factory_list li .txt{
    width:calc(100% - 72px - .875rem);
  }
  .factory_area .container .inner .factory_list li .txt h4{
    font-size:1rem;
    line-height:1.5;
  }
  .factory_area .container .inner .factory_list li .txt p{
    line-height:1.8;
    font-size:.875rem;
  }
}
@media screen and (max-width: 768px) {
  .factory_area .container .inner .factory_list li{
    width:100%;
  }
}
@media screen and (max-width: 640px) {
  .factory_area .container{
    justify-content:space-between;
  }
  .factory_area .container h3{
    font-size:3rem;
    display: flex;
    align-items: center;
  }
  .factory_area .container h3 small{
    margin-top:1.5rem;
  }
  .factory_area .container .inner{
      background-color:rgba(255,255,255,0.9);
      margin:4rem 0;
      width:calc(100% - 4rem);
      padding:2rem 1rem;
  }
}
/* end/facility_sec */

/* service_sec */
.service_sec{
  padding-top:0;
}
.service_sec h2{
  background:url(img/service_bg02.jpg) no-repeat top center / cover;
  color:#fff;
  padding:4rem 0;
}
.service_sec h2 small{
  color:#fff;
}
.service_sec .vertical{
  -webkit-writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  margin:4rem auto;
  line-height:2.5;
}
.service_sec .inner{
  display: flex;
  flex-wrap: wrap;
  justify-content:space-between;
}
.service_sec .inner .service_item_left{
  width:calc(50% - 1rem);
}
.service_sec .inner h3{
  border:none;
  font-weight:bold;
  margin:.5rem 0 0.25rem;
  line-height:1.5;
  padding:0;
}
.service_sec .inner h3::after{
  content:none;
}
.service_sec .inner p{
  line-height:1.5;
}
.service_sec .inner .service_item_left p{
  line-height:2;
}
.service_sec .inner .service_item_right{
  width:calc(50% - 1rem);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.service_sec .inner .service_item_right .service_item{
  width:calc(50% - 1rem);
}
@media screen and (max-width: 992px) {
  .service_sec .inner .service_item_left{
    width:100%;
    max-width:600px;
    margin:0 auto 2rem;
  }
  .service_sec .inner .service_item_right{
    width:100%;
    max-width:600px;
    margin:0 auto;
  }
}
@media screen and (max-width: 640px) {
  .service_sec .vertical{
    line-height:2.2;
  }
  .service_sec .inner h3{
    font-size:1rem;
  }
  .service_sec .inner p{
    line-height:1.5;
    font-size:.875rem;
  }
  .service_sec .inner .service_item_left p{
    line-height:2;
  }
  .service_sec .inner .service_item_right{
    width:100%;
    max-width:600px;
    margin:0 auto;
  }
  .service_sec .inner .service_item_right .service_item{
    width:calc(50% - .5rem);
  }
}
/* end/service_sec */


/* concept_sec */
.concept_sec .lead{
  font-size: 1.25rem;
  font-weight:400;
  margin-bottom:2rem;
}
.concept_sec .inner{
  display: flex;
  flex-wrap: wrap;
  max-width:1100px;
  margin: 2.5rem auto 1rem;
}
.concept_sec .inner .item{
  width:50%;
  border:1px solid #dcdcdc;
}
.concept_sec .inner .item:first-child{
  border-right:none;
}
.concept_sec .inner .item a{
  display:block;
  color:inherit;
  text-decoration:none;
  position:relative;
}
.concept_sec .inner .item a figure{
  display:block;
  overflow:hidden;
}
.concept_sec .inner .item a figure img{
  transition:.4s;
}
.concept_sec .inner .item a:hover figure img{
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  opacity:.6;
}
.concept_sec .inner .item .txt{
  padding:1.5rem 3rem 1.5rem 2rem;
  position:relative;
}
.concept_sec .inner .item a .txt::after{
  content:"";
  width:16px;
  height:16px;
  border-top:2px solid #006600;
  border-right:2px solid #006600;
  display:block;
  position:absolute;
  right:1rem;
  top: 50%;
  margin-top: -16px;
  transform:rotate(45deg);
  transition:.4s;
}
.concept_sec .inner .item a:hover .txt::after{
 right:.5rem;
}
.concept_sec .inner .item h3{
  border-bottom:none;
  font-weight:700;
  padding:0;
}
.concept_sec .inner .item h3::after{
  content:none;
}
@media screen and (max-width: 768px) {
  .concept_sec .inner .item{
    width:100%;
    max-width:600px;
    margin:0 auto;
  }
  .concept_sec .inner .item:first-child{
    border-right:1px solid #dcdcdc;
    margin-bottom:2rem;
  }
}
@media screen and (max-width: 640px) {
  .concept_sec .inner .item .txt{
    padding: 1.5rem 2.5rem 1.5rem 1.5rem;
  }
  .concept_sec .inner .item .txt p{
    line-height:1.8;
  }
}
/* end/concept_sec */

/* subvisual */
.subvisual {
  background: url(img/sub.jpg) no-repeat;
  background-size: cover;
  background-position: center;
  padding: 0;
  margin-top:83px;
  height: 400px;
  max-height: 60vh;
  display: flex;
  align-items: center;
  justify-content:center;
  position: relative;
  overflow:hidden;
}
.subvisual h1,
.subvisual .page_title{
  color:#fff;
  font-size:2rem;
  position:relative;
  margin:0;
}
@media screen and (max-width: 992px) {
  .subvisual {
    margin-top:60px;
    height: 340px;
  }
}
@media screen and (max-width: 640px) {
  .subvisual {
    height: 240px;
  }
}
.subvisual::before{
  content:"";
  position:absolute;
  width:100%;
  height:100%;
  top:0;
  left:0;
  background-color:rgba(0,0,0,.4)
}


/* end/subvisual */


/* breadcrumb */

.breadcrumb {
  margin: 0!important;
  background-color: #f8f8f8;
  padding: 0 1.5rem;
}
.breadcrumb ul {
  margin: 0;
  padding: .5em 0;
  font-size: .8rem;
}
.breadcrumb ul li {
  margin: 0;
  padding: 0;
}
.breadcrumb a{
  color:#202020;
}
.breadcrumb a:hover{
  color:#ffce00;
}
@media screen and (max-width: 640px) {
  .breadcrumb {
    padding: 0 1rem;
  }
}

/* end/breadcrumb */



/* page-plicy */

.page-policy h3 {
  font-weight: bold;
  font-size: 1.6rem;
  margin: 2.1rem 0 1.4rem;
}

.page-policy h4 {
  font-weight: bold;
  font-size: 1.2rem;
  margin: 1.8rem 0 1.2rem;
}

.policy-lead {
  text-align: center;
  font-size: 1rem;
}

.policy-company-name {
  font-size: 1.1rem;
  font-weight: bold;
  text-align: right;
}

#philosophy ul{
  margin: 5rem 0 1rem;
  padding:0;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#philosophy ul li{
  margin:0;
  padding:0;
  width:33.3%;
  padding: 2rem .5rem;
  border-right:1px solid #bdbdbd;
}
#philosophy ul li:last-child{
  border:none;
}
#philosophy ul li h4{
  font-size:2.5rem;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "-apple-system", "Helvetica Neue", Roboto, "Droid Sans", Arial, "Yu Gothic", YuGothic, Meiryo, sans-serif;
  font-weight:bold;
  color:#006600;
  margin-bottom:.5rem;
  text-align:center;
}
#philosophy ul li p{
  font-weight:bold;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "-apple-system", "Helvetica Neue", Roboto, "Droid Sans", Arial, "Yu Gothic", YuGothic, Meiryo, sans-serif;
  font-size: 1.5rem;
  line-height:1.5;
  margin:0;
  text-align:center;
}
@media screen and (max-width: 768px) {
  #philosophy ul li{
    width:100%;
    border:none;
    border-bottom:1px solid #bdbdbd;
    padding:3rem 1rem;
  }
  #philosophy ul {
    margin:1rem 0;
  }
  #philosophy ul li:first-child{
    margin-bottom:0;
  }
  #mission#philosophy ul li:last-child{
    border:none;
  }
  #philosophy .container{
    padding:1rem;
  }
  #philosophy .word {
    background: transparent url(../img/about_catch.svg) 0 10% repeat-x;
    background-size: 3898px auto;
  }
}
.vertical-rl{
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "-apple-system", "Helvetica Neue", Roboto, "Droid Sans", Arial, "Yu Gothic", YuGothic, Meiryo, sans-serif;
  margin:0 auto;
  border:1px solid #ddd;
  padding:3rem;
  background-color:#fff;
}
.vertical-rl h3{
  border:none;
  padding:0;
  font-weight:bold;
  font-size:1.5rem;
}
.vertical-rl h3::after{
  content:none;
}
.vertical-rl p{
  line-height:3;
}
.vertical-rl p:last-child{
  margin-bottom:0;
}
@media screen and (max-width: 640px) {
  .vertical-rl{
    padding:1.5rem;
  }
}
.company_table dl{
  display: flex;
  flex-wrap: wrap;
}
.company_table dl dt{
  width:9rem;
  margin-bottom:.5rem;
}
.company_table dl dd{
  width:calc(100% - 9rem);
  margin-bottom:.5rem;
}
.service_list{
  display: flex;
  flex-wrap: wrap;
  margin:0 -1rem 0 0;
  padding:0;
}
.service_list li{
  width:33.3%;
  padding-right:1rem;
}
.service_list li h3{
  font-size:1.125rem;
  font-weight:700;
  line-height:1.5;
}
.service_list li p{
  line-height:1.5;
}
@media screen and (max-width: 992px) {
  .service_list li{
    width:50%;
  }
}
@media screen and (max-width: 640px) {
  .service_list li{
    width:100%;
  }
}
.flex_row{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  border-bottom:3px dotted #ddd;
  padding-bottom:3rem;
  margin:3rem 0;
}
.page-id-40 .flex_row{
  border-bottom:none;
  margin-bottom: 3rem;
  padding-bottom:0;
}
.flex_row:last-child{
  border:none;
  margin-bottom:0;
  align-items: flex-start;
  justify-content:center;
}
.flex_row:last-child div{
  width:800px;
  max-width:100%;
}
.flex_row.reverse{
  flex-direction:row-reverse;
}
.flex_row > div{
  width:calc(50% - 1rem);
}
.flex_row > div img{
  border-radius:10px;
}
.flex_row h3{
  border-bottom:none;
  padding:0 0 0 .5rem;
  margin-bottom:.5rem;
}
.flex_row h3.border_none{
  border-left:4px solid transparent;
}
.flex_row h3::after{
  content:none;
}
.flex_row:last-child table{
  margin-top:0;
}
.flex_row:last-child table td{
  padding:1rem 10px;
}
@media screen and (max-width: 960px) {
  .flex_row{
    align-items:flex-start;
  }
}
@media screen and (max-width: 640px) {
  .flex_row > div{
    width:100%;
  }
  .flex_row > div.img{
    margin-bottom:1rem;
  }
  .page-id-40 .flex_row > div.img{
    max-width:80%;
    margin:0 auto 1.5rem;
  }
}

/* flow_sec */

.flow_sec ol{
  list-style:none;
  padding:0;
  max-width:1000px;
  margin:0 auto;
}
.flow_sec ol > li{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
  border-bottom:dotted 3px #dedede;
  padding-bottom:1.5rem;
  margin-bottom:1.5rem;
}
.flow_sec ol > li:last-child{
  border-bottom:none;
}
.flow_sec ol > li .txt{
  width:calc(70% - 1rem);
  position:relative;
}
.flow_sec ol > li .img{
  width:30%;
}
.flow_sec ol > li .txt h3{
  font-weight:900;
  font-size:1.5rem;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  margin-bottom:1rem;
  line-height:1.25;
  border:none;
}
.flow_sec ol > li .txt h3::after{
  content:none;
}
.flow_sec ol > li .txt .num{
  color:#006600;
  font-weight:900;
  font-size:1.2rem;
  text-align:center;
  line-height:1;
  position:relative;
  padding-right:.75rem;
  margin-right:.75rem;
  min-width:4rem;
}
.flow_sec ol > li .txt .num::after {
    position: absolute;
    right: 0;
    top:2px;
    content: '';
    display: block;
    height:100%;
    background-color: #006600;
    width: 2px;
/*     animation: elasticus 2.5s cubic-bezier(1, 0, 0, 1) infinite; */
}
@keyframes elasticus {
  0% {
    -webkit-transform-origin: 0% 0%;
    -ms-transform-origin: 0% 0%;
    -moz-transform-origin: 0% 0%;
    -o-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
    -webkit-transform: scale(1, 0);
    -ms-transform: scale(1, 0);
    -moz-transform: scale(1, 0);
    -o-transform: scale(1, 0);
    transform: scale(1, 0)
  }
  50% {
    -webkit-transform-origin: 0% 0%;
    -ms-transform-origin: 0% 0%;
    -moz-transform-origin: 0% 0%;
    -o-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1)
  }
  50.1% {
    -webkit-transform-origin: 0% 100%;
    -ms-transform-origin: 0% 100%;
    -moz-transform-origin: 0% 100%;
    -o-transform-origin: 0% 100%;
    transform-origin: 0% 100%;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    transform: scale(1, 1)
  }
  100% {
    -webkit-transform-origin: 0% 100%;
    -ms-transform-origin: 0% 100%;
    -moz-transform-origin: 0% 100%;
    -o-transform-origin: 0% 100%;
    transform-origin: 0% 100%;
    -webkit-transform: scale(1, 0);
    -ms-transform: scale(1, 0);
    -moz-transform: scale(1, 0);
    -o-transform: scale(1, 0);
    transform: scale(1, 0)
  }
}
.flow_sec ol > li .txt .num span{
  font-size:2em;
  display:block;
}
.flow_sec ol > li .txt ul{
  padding-left:2rem;
}
.flow_sec ol > li .txt ul li{
  list-style:disc;
  margin-bottom:.5rem;
  padding-bottom:0;
}
@media screen and (max-width: 640px) {
  .flow_sec ol > li .txt{
    width:100%;
  }
  .flow_sec ol > li .img{
    display:none;
    width:100%;
    max-width:70%;
    margin:1rem auto 0;
  }
}

/* end/flow_sec */
.tel_txt{
  color:inherit;
  text-decoration:none;
}
.tel_txt:hover{
  color:inherit;
  text-decoration:none;
}
.lead_custom{
  max-width:80%;
  margin:0 auto 3rem;
}
.company_table h4{
  color:inherit;
}
#greeting{
  padding: 0;
}
#philosophy{
  padding-bottom:0;
}
.flow_sec .well{
  max-width:1000px;
  margin:0 auto;
}



/* 210512 */
.career-point {
width: 100%;
justify-content: space-between!important;
}
.career-point .txt {
width: 30%!important;
}
.career-point h4 {
font-size: 1.2rem;
margin-bottom: 1rem;
}
.career-point p {
font-size: 0.9rem;
line-height: 1.5;
}
.map-td iframe {
height: 300px;
}

@media screen and (max-width: 640px)
.career-point .txt {
width: 100%!important;
}



/* 210521 */

.zip_area {
    max-width: 12em;
}
label.tit {
    margin-top: 1em;
    display: block;
}
.pref {
    max-width: 4em;
}
.page-id-21 .label_txt {
    display: none!important;
}
.flex_2column{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin:2rem 0 0;
}
.flex_2column .flex_item{
  width:calc(50% - 1rem);
}
@media screen and (max-width: 768px) {
  .flex_2column .flex_item{
    width:100%;
  }
  .flex_2column .flex_item:first-child{
    width:100%;
    margin-bottom:2rem;
  }
}
table.download{
  max-width:800px;
  margin:0 auto 2rem;
  table-layout: auto;
}
table.download thead th.tit{
  font-size:1.125rem;
  padding:1rem 0.5rem;
  border:none;
  line-height:1.5;
  width:auto;
}
@media screen and (max-width: 640px) {
  table.download thead th.tit:first-child{
    width: 5rem;
  }
  table.download thead th.tit:nth-child(2){
    width: 9rem;
  }
}
table.download tbody td{
  border:none;
  background-color:transparent;
  border-bottom:1px solid #ddd;
  vertical-align:middle;
  line-height:1.5;
  padding:1rem 0.5rem;
  text-align:center;
}
.pdf_download{
  display: flex;
  align-items: center;
  justify-content:center;
}
.pdf_download::before{
  content:"";
  background:url(img/icon_pdf.png) no-repeat left center / cover;
  display:block;
  width:3rem;
  height:3rem;
}
.pdf_download:hover::before{
  background:url(img/icon_pdf.png) no-repeat left top -2px / cover;
}
@media screen and (max-width: 640px) {
  .pdf_download::before{
    content:"";
    background:url(img/icon_pdf.png) no-repeat left center / cover;
    display:block;
    width:3rem;
    height:3rem;
  }
  table.download tbody td{
    font-size:.875rem;
  }
}

#gallery-1 img{
  border:none!important;
}
#gallery-1 > br{
  display:none;
}
#gallery-1 {
  display: flex;
  flex-wrap: wrap;
  margin-right:-2rem!important;
}
#gallery-1 .gallery-item{
  padding-right:2rem;
  margin-bottom:2rem;
  width:33.33%;
}
#gallery-1 .gallery-item a{
  display:block;
  transition:.4s;
}
#gallery-1 .gallery-item a:hover{
  transform:translateY(-3px);
  box-shadow: 0 1px 8px 0px rgb(0 0 0 / 45%);
  opacity:.8;
}
#gallery-1 .gallery-caption{
  font-size:.875rem;
  line-height:1.5;
  margin-top:.5rem;
}
@media screen and (max-width: 768px) {
  #gallery-1 {
    margin-right:-1rem!important;
  }
  #gallery-1 .gallery-item{
    padding-right:1rem;
    margin-bottom:1rem;
    width:50%!important;
  }
  #gallery-1 .gallery-caption{
    text-align:left;
  }
}
.map iframe{
  width:100%;
  height:600px;
}
@media screen and (max-width: 640px) {
  .map iframe{
    height:400px;
  }
}

/* wp-pagenavi */

.wp-pagenavi {
  position: relative;
  text-align: center;
  margin: 2em 0 3em;
}
.wp-pagenavi a, .wp-pagenavi span {
  padding: 5px 10px !important;
  text-decoration: none;
  border: 1px solid #BFBFBF;
  padding: 3px 5px;
  margin: 2px;
  display:inline-block;
}
.wp-pagenavi a:hover, .wp-pagenavi span.current {
  border-color: #006600!important;
  background-color: #006600;
  color: #fff;
}

/* end/wp-pagenavi */
.img_area{
  margin:3rem 0 0;
}
form table p{
  margin:0;
}
form table p small{
  display:block;
  color:#868686;
}
.field-body.custom{
  flex-direction:column;
  justify-content:flex-start;
  margin:1rem 0;
}
.zip-button{
  line-height:1;
  padding:0.5rem;
}
.kome{
  color:#4e4e4e;
}
.corona{
  margin:4rem auto 0;
  max-width:1100px;
  border:1px solid #006600;
  padding:2rem;
  background-color:#fff;
}
.corona h3{
  border:none;
  font-weight:700;
  text-align:center;
}
.corona h3:after{
  content:none;
}
@media screen and (max-width: 640px) {
  .corona{
    padding:1.5rem;
  }
  .corona h3{
    text-align:left;
  }
}
.mw_wp_form_preview .control .button,
.mw_wp_form_preview .zip-button,
.mw_wp_form_preview .pref{
  display:none;
  content:none!important;
}
.mw_wp_form_preview .select::after{
  display:none;
  content:none!important;
}
.nav_contact .bnr_area{
  margin:0;
  padding:0 1rem;
}
.nav_contact .bnr_area li a{
  display:block;
  padding:0;
  margin:0 0 1rem!important;
  border:1px solid #ddd!important;
}
.single main ol{
  counter-reset: item;
  list-style-type: none;
  padding-left: 0;
  margin:0;
  padding:0.5rem 0;
}
.single main ol ol{
  padding-left: 1em;
}
.single main ol li{
  text-indent: -1.3em;
  padding-left: 1.3em;
  margin-bottom:.75rem;
  padding-bottom:0;
  line-height:1.75;
}
.single main ol li:before {
  counter-increment: item;
  content: counter(item)'.';
  /* 以下は自由に装飾... */
  padding-right: .5em;
  font-weight: bold;
  color: #006600;
}
.footer_contact .line{
  margin-right:1rem;
}
.footer_contact .line img{
  height:48px;
}
.footer_contact .line a:hover img{
  opacity:.8;
}
@media screen and (max-width: 768px) {
  footer .footer_top .inner .footer_contact{
    flex-direction:column;
  }
  footer .footer_top .inner .footer_contact .tel{
    margin:0 0 1rem;
  }
  footer .footer_top .inner .footer_contact .line{
    margin:0 0 0;
  }
}
.sdgs .inner a{
  color:inherit;
  text-decoration:none;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  padding:3rem 2rem;
  border:1px solid #ddd;
}
.sdgs .inner a:hover img{
  opacity:.8;
}
.sdgs .inner .img{
  width:calc(50% - 1.5rem);
}
.sdgs .inner .txt{
  width:calc(50% - 1.5rem);
}
.sdgs .inner .txt p{
  margin:0;
}
.sdgs .inner .txt h2{
  font-size:1.75rem;
  text-align:left;
  margin-bottom:.5em;
}
@media screen and (max-width: 992px) {
  .sdgs .inner a{
    padding:4rem 2rem;
  }
  .sdgs .inner .img{
    width:100%;
    margin-bottom:4rem;
  }
  .sdgs .inner .txt{
    width:100%;
  }
}
.sec_content01 h2.text_center{
  margin:3rem 0 3rem;
}
.sec_content01 .pc_text_center{
  margin:3rem 0;
}
.sec_content01 .news_area h2{
  text-align:center;
  background:url(img/information_tit_bg.png) no-repeat center top / contain;
  height:71px;
  max-width:742px;
  margin:0 auto;
}
.sec_content01 .news_area h2 span{
  transform:translateY(15%);
  display:inline-block;
}
.sec_content01 .news_area .info_list{
  margin:2rem auto;
  padding:0;
  max-width:670px;
}
.sec_content01 .news_area .info_list li{
  padding:0;
  margin:0;
}
.sec_content01 .news_area .info_list li::before{
  content:none;
}
@media screen and (max-width: 640px) {
  .sec_content01 .news_area h2{
    height:44px;
  }
  .sec_content01 .img{
    width:240px;
    margin:0 auto;
  }
  .sec_content01 .news_area h2 span{
    transform:translateY(-10%);
  }
}
.sec_content02 h2{
  position:relative;
  display:flex;
  align-items:center;
  justify-content: center;
  height:444px;
  color:#fff;
  font-weight:700;
  background:url(img/greeting_bg.jpg) no-repeat center / cover;
}
.sec_content02 h3{
  font-size:1.75rem;
  text-align:center;
  background:none;
  margin:4rem 0;
}
.sec_content02 .flex_img{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.sec_content02 .flex_img .img{
  width:calc(25% - 1rem);
  margin:2rem 0 0;
  border-radius: 5px;
  overflow: hidden;
}
.sec_content02 .flex_img .img img{
  border-radius: 5px;
}
.sec_content02 .flex_img .img p{
  text-align: center;
  line-height:1.5;
  font-size:1.125rem;
  font-weight:700;
  margin-top:0.25em;
}
.sec_content02 .flex_img .img p span{
  color:#FCAA00;
}
.takoyaki{
  background-color:#fff8eb;
  padding:2rem;
  margin-top:4rem;
  border-radius:1rem;
  text-align:center;
}
.takoyaki h3{
  margin:0;
  color:#FCAA00;
  font-weight:700;
  display:inline-block;
  position:relative;
}
.takoyaki h3::before{
  position:absolute;
  content:"";
  border-right:3px solid #FCAA00;
  height:1em;
  left:-0.5em;
  top:50%;
  margin-top:-.5em;
  transform:rotate(-20deg);
}
.takoyaki h3::after{
  position:absolute;
  content:"";
  border-right:3px solid #FCAA00;
  height:1em;
  right:-0.3em;
  top:50%;
  margin-top:-.5em;
  transform:rotate(20deg);
}
@media screen and (max-width: 640px) {
  .sec_content02 h2{
    height:240px;
  }
  .sec_content02 .flex_img .img{
    width:calc(50% - 0.5rem);
    margin:1rem 0 0;
  }
  .sec_content02 .flex_img .img p{
    text-align:left;
  }
  .takoyaki{
    margin:4rem -1rem -4rem;
    border-radius:0;
    padding:4rem 1rem;
  }
}
.sec_content03 {
  padding-top:0;
}
.sec_content03 h2{
  position:relative;
  display:flex;
  align-items:center;
  justify-content: center;
  height:444px;
  color:#fff;
  font-weight:700;
  background:url(img/information_bg.jpg) no-repeat center / cover;
}
.sec_content03 .top_sns{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin:4rem 0 0;
}
.sec_content03 iframe{
  height:500px;
  margin:0 auto;
  width:100%!important;
}
.sec_content03 .facebook{
  position:relative;
  padding-right: 5rem;
  width:calc(50% - 1rem);
  max-width:520px;
  margin-bottom:3rem;
}
.sec_content03 .facebook h3{
  text-align:left;
  font-weight:700;
  font-size:5rem;
  color:#4267B2;
  background:none;
  transform: rotate(90deg) translate(37%,-137%);
  margin:0;
  padding:0;
  position: absolute;
  top:0;
  right:0;
  width:5em;
  height:1.25em;
}
.sec_content03 .twitter{
  position:relative;
  padding-right: 5rem;
  width:calc(50% - 1rem);
  max-width:520px;
  margin-bottom:3rem;
  text-align:center;
}
.sec_content03 .twitter .inner{
  display:block;
}
.sec_content03 .twitter h3{
  text-align:left;
  font-weight:700;
  font-size:5rem;
  color:#34A2EE;
  background:none;
  transform: rotate(90deg) translate(37%,-137%);
  margin:0;
  padding:0;
  position: absolute;
  top:0;
  right:0;
  width:5em;
  height:1.25em;
}
.sec_content03 .twitter-timeline{
  max-width:100%!important;
}
@media screen and (max-width: 640px) {
  .sec_content03 h2{
    height:240px;
  }
  .sec_content03 iframe{
    height:400px;
    margin:0 auto;
  }
  .sec_content03 .facebook{
    padding-right:0;
    width:100%;
    max-width:100%;
    text-align:center;
  }
  .sec_content03 .facebook h3{
    position:static;
    font-weight:700;
    font-size:2rem;
    color:#4267B2;
    background-color:#c6d8ff;
    transform:rotate(0) translateX(0);
    margin:0 0 1rem;
    padding:0.5rem;
    width:100%;
    height:auto;
    order:1;
  }
  .sec_content03 .twitter{
    padding-right:0;
    width:100%;
    max-width:100%;
  }
  .sec_content03 .twitter h3{
    position: static;
    font-weight:700;
    font-size:2rem;
    color:#34A2EE;
    background-color: #c6f8ff;
    transform:rotate(0) translateX(0);
    margin:0 0 1rem;
    padding:0.5rem;
    width:100%;
    height:auto;
  }
}
.sec_content03 .flex_img{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.sec_content03 .flex_img .img{
  width:calc(33.33% - 1rem);
  margin:2rem 0 0;
  position:relative;
}
.sec_content03 .flex_img .img a{
  position:relative;
  display:block;
  border-radius: 5px;
  overflow:hidden;
}
.sec_content03 .flex_img .img a p{
  position:absolute;
  width:100%;
  height:100%;
  top:0;
  left:0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color:rgba(0,0,0,0.5);
  color:#fff;
  font-weight:700;
  font-size:1.25rem;
}
.sec_content03 .flex_img .img a img{
  transition:.4s;
}
.sec_content03 .flex_img .img a:hover img{
  transform: scale(1.1) rotate(2deg);

}
@media screen and (max-width: 640px) {
  .sec_content03 .flex_img .img{
    width:calc(50% - .5rem);
    margin:1.5rem 0 0;
    position:relative;
  }
  .sec_content03 .flex_img .img a p{
    font-size:1rem;
  }
}
.event_list{
  display: flex;
  flex-wrap: wrap;
  margin: 0 -1rem 3rem 0;
  padding:0;
}
.event_list li{
  margin: 0 0 1rem;
  padding:0 1rem 0 0;
  width:33.33%;
}
.event_list li::before{
  content:none;
}
.event_list li .inner{
  border: 1px solid #61C359;
  height:100%;
  border-radius:10px;
  padding:1rem;
}
@media screen and (max-width: 640px) {
  .event_list li{
    width:50%;
  }
}
@media screen and (max-width: 640px) {
  .shokeihi td{
    padding:5px;
    font-size:0.875rem;
  }
  .shokeihi tr td:nth-child(1),
  .shokeihi tr td:nth-child(2){
    width:20%;
  }
}
.info_list.cat{

}
.info_list.cat li a{
  display: flex;
  flex-wrap: wrap;
  align-items:center;
  padding:1rem;
}
.info_list.cat li a time{
  color:inherit;
  margin-right:1rem;
}
.info_list.cat li a p{
  width:100%;
}
.info_list.cat li::before{
  content:none;
}
@media screen and (max-width: 640px) {
  .info_list.cat li a p{
    width:100%;
  }
}

.kagai_flex{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.kagai_flex .item{
  margin: 0 0 2rem;
  width:calc(50% - 1rem);
}
.kagai_flex .item .img{
  margin-bottom:1rem;
}
.kagai_flex .item .img img{
  border-radius:10px;
}
.kagai_flex .item .taisho{
  color:#61C359;
}
@media screen and (max-width: 640px) {
  .kagai_flex .item{
    margin: 0 0 2rem;
    width:100%;
  }
}
.bus_map {
  margin-top:1rem;
}
.bus_map a img{
  width:300px;
  max-width:80%;
}
.bus_map p{
  color:#FCAA00;
}

/* flow */
.flow_area{
  position:relative;
  margin-top:4rem;
}
.flow_area .line{
  position:absolute;
  width:30px;
  height:100%;
  background-color:#DEFFDB;
  top:0;
  left:50%;
  margin-left:-15px;
  border-radius:15px;
}
.flow_area.encho .line{
  background-color:#FEEABC;
}
.flow_area .inner{
  position:relative;
  z-index:10;
}
.flow_area .inner .item{
  display: flex;
  justify-content: space-between;
  margin-bottom:4rem;
}
.flow_area .inner .item .photo{
  width:calc(50% - 4.25rem);
}
.flow_area .inner .item .photo img{
  margin:0;
  border-radius:10px;
}
.flow_area .inner .item .txt{
  width:calc(50% - 4.25rem);
  position:relative;
}
.flow_area .inner .item .txt time{
  position:absolute;
  z-index:10;
  color:#fff;
  background-color:#FCAA00;
  font-size:1.75rem;
  padding: 0.25rem 1rem;
  border-radius:5px;
  top:0;
  left:0;
  width:7rem;
  text-align:center;
}
.flow_area .inner .item .txt time::before{
  background:url(img/flow_time.svg) no-repeat top left / contain;
  content:'';
  width:5rem;
  height: 2rem;
  display: block;
  left:-4.7rem;
  top:0.75rem;
  position:absolute;
}
.flow_area .inner .item .txt h3{
  background:none;
  padding:0.2rem 0 0.2rem 8rem;
  color:#FCAA00;
  font-size:1.5rem;
  font-weight:700;
}
.flow_area .inner .item .txt p{
  line-height:1.75;
}
.flow_area .inner .item .txt .img{
  margin:3rem 0 0 0;
}
.flow_area .inner .item .txt .img img{
  margin:0;
}
/* reverse */
.flow_area .inner .item.reverse{
  flex-direction:row-reverse;
}
.flow_area .inner .item.reverse .txt time{
  top:0;
  left:auto;
  right:0;
}
.flow_area .inner .item.reverse .txt time::before{
  background:url(img/flow_time.svg) no-repeat bottom right / contain;
  transform:rotate(180deg);
  display: block;
  left:auto;
  right:-4.7rem;
}
.flow_area .inner .item.reverse .txt h3{
  text-align:right;
  padding:0.2rem 8rem 0.2rem 0;
}
@media screen and (max-width: 640px) {
  .flow_area .line{
    width:16px;
    left:0.5rem;
    margin-left:0;
  }
  .flow_area .inner .item{
    margin-bottom:4rem;
    flex-direction:column;
  }
  .flow_area .inner .item .photo{
    width: calc(100% - 3rem);
    margin:0 0 1rem 3rem;
  }
  .flow_area .inner .item .txt{
    width:100%;
    padding:0 0 0 3rem;
  }
  .flow_area .inner .item .txt time{
    font-size:1.25rem;
    left:3rem;
    width:6rem;
  }
  .flow_area .inner .item .txt time::before{
    background:url(img/flow_time.svg) no-repeat top left / contain;
    width:3rem;
    left:-2.2rem;
    top:1rem;
  }
  .flow_area .inner .item .txt h3{
    padding:0.2rem 0 0.2rem 7rem;
    font-size:1.15rem;
  }
  .flow_area .inner .item .txt .img{
    margin:1rem 0 0 0;
    max-width:100px;
  }
  /* reverse */
  .flow_area .inner .item.reverse{
    flex-direction:column;
  }
  .flow_area .inner .item.reverse .txt time{
    left:3rem;
    right:auto;
  }
  .flow_area .inner .item.reverse .txt time::before{
    background:url(img/flow_time.svg) no-repeat top left / contain;
    transform:rotate(0deg);
    left:-2.2rem;
    top:1rem;
    right:auto;
  }
  .flow_area .inner .item.reverse .txt h3{
    text-align:left;
    padding:0.2rem 0 0.2rem 7rem;
    font-size:1.15rem;
  }
}

/* end/flow */
