@font-face {
  font-family: 'themify';
  src: url("../fonts/themify/themify.eot?-fvbane");
  src: url("../fonts/themify/themify.eot?#iefix-fvbane") format("embedded-opentype"), url("../fonts/themify/themify.woff?-fvbane") format("woff"), url("../fonts/themify/themify.ttf?-fvbane") format("truetype"), url("../fonts/themify/themify.svg?-fvbane#themify") format("svg");
  font-weight: normal;
  font-style: normal;
}
html.site-overflow, body.site-overflow {
  overflow-x: auto;
}
html.site-overflow #site-header-section, html.site-overflow #site-main, html.site-overflow #site-hero, html.site-overflow #site-mobile-menu, html.site-overflow #site-footer, body.site-overflow #site-header-section, body.site-overflow #site-main, body.site-overflow #site-hero, body.site-overflow #site-mobile-menu, body.site-overflow #site-footer {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

body {

 font-family: '游明朝体+36ポかな','YuMincho +36p Kana','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;
  font-size: 15px;
  line-height: 1.9;
  font-weight: 300;
  color: #262626;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 14px;
    line-height: 1.5;
  }
}

::-webkit-selection {
  color: #ffffff;
  background: #57cecd;
}

::-moz-selection {
  color: #ffffff;
  background: #57cecd;
}

::selection {
  color: #ffffff;
  background: #57cecd;
}

a {
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
  color: #57cecd;
  border-bottom: 1px solid #ccc;
}
a:hover, a:focus, a:active {
  color: #31a8a7;
}
a:hover, a:focus, a:active {
  outline: none;
  color: #2e2e2e;
  text-decoration: none;
  border-bottom: 1px solid #57cecd;
}

input {
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

/* Heading */
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  margin: 0 0 20px 0;
  padding: 0;
  color: #000000;
}

h1, .h1 {
  font-size: 30px;
  line-height: 42px;
}

h2, .h2 {
  font-size: 26px;
  line-height: 38px;
}

h3, .h3 {
  font-size: 20px;
  line-height: 32px;
}

h4, .h4 {
  font-size: 16px;
  line-height: 28px;
}

h5, .h5 {
  font-size: 14px;
  line-height: 24px;
}

h6, .h6 {
  font-size: 12px;
  line-height: 24px;
}

ul, ol {
  padding-left: 15px;
  line-height: 26px;
}
ul ul, ul ol, ol ul, ol ol {
  padding-left: 25px;
}

ul, ol, p {
  margin: 0 0 20px 0;
}

.site-serif {
  font-family: "Crimson Text", serif;
}

.site-sans-serif {
  font-family: "Roboto", arial, sans-serif;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="search"],
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

@media screen and (max-width: 480px) {
  .col-xxs-12 {
    display: block;
    clear: both;
    width: 100%;
    float: left;
  }
}
/* Header */
#site-header-section {
  position: absolute;
  top: 0;
  width: 100%;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  z-index: 103;
}

#site-menu-logo {
  clear: both;
}

#site-quick-contacts {
  float: right;
  width: 100%;
  text-align: right;
  margin-top: 2em;
}
#site-quick-contacts .sep {
  padding: 0 .5em;
  color: rgba(255, 255, 255, 0.5);
}
#site-quick-contacts a {
  font-size: 14px;
  padding: 20px 10px;
  color: white;
}
#site-quick-contacts a > i {
  margin-right: 10px;
  margin-top: 5px;
  color: white;
}
#site-quick-contacts a:hover {
  color: white;
}

#site-logo {
  font-size: 20px;
  margin: .9em 0 0 0;
  padding: 0;
  font-weight: 700;
}
#site-logo a {
  border-bottom: none !important;
  color: #ffffff;
  letter-spacing: 3px;
  text-transform: uppercase;
}
#site-logo a:hover {
  opacity: .7;
}
@media screen and (max-width: 768px) {
  #site-logo {
    text-align: center;
    margin: 0px 0 0 0;
    float: none !important;
  }
}

/* Superfish Override Menu */
.sf-menu {
  margin: 0 !important;
}

.sf-menu {
  float: right;
}

.sf-menu ul {
  box-shadow: none;
  border: transparent;
  min-width: 8em;
  *width: 8em;
}

.sf-menu a {
  color: rgba(0, 0, 0, 0.8);
  color: #fdffca;
  padding: .75em 1em;
  font-weight: normal;
  border-left: none;
  border-top: none;
  text-decoration: none;
  zoom: 1;
  font-size: 17px;
  border-bottom: none !important;
}

.sf-menu li,
.sf-menu ul li,
.sf-menu ul ul li,
.sf-menu li:hover,
.sf-menu li.sfHover {
  background: transparent;
}

.sf-menu ul li a,
.sf-menu ul ul li a {
  text-transform: none;
  padding: .75em 1em;
  letter-spacing: 1px;
}

.sf-menu li:hover a,
.sf-menu li.sfHover a,
.sf-menu ul li:hover a,
.sf-menu ul li.sfHover a,
.sf-menu li.active a {
  color: #ffffff;
}

.sf-menu ul li:hover,
.sf-menu ul li.sfHover {
  background: transparent;
}

.sf-menu ul li {
  background: transparent;
}

.sf-arrows .sf-with-ul {
  padding-right: 2.5em;
  *padding-right: 1em;
}

.sf-arrows > li > .sf-with-ul:focus:after,
.sf-arrows > li:hover > .sf-with-ul:after,
.sf-arrows > .sfHover > .sf-with-ul:after {
  border-top-color: #ccc;
}

.sf-arrows ul .sf-with-ul:after {
  margin-top: -5px;
  margin-right: -3px;
  border-color: transparent;
  border-left-color: #ccc;
}

.sf-arrows ul li > .sf-with-ul:focus:after,
.sf-arrows ul li:hover > .sf-with-ul:after,
.sf-arrows ul .sfHover > .sf-with-ul:after {
  border-left-color: #ccc;
}

#site-menu-wrap {
  float: right;
  position: relative;
  margin-right: -20px;
}
#site-menu-wrap .sf-menu a {
  padding: 2em 1em;
  font-family: 'Yu Gothic UI',YuGothic,'Yu Gothic','ヒラギノ角ゴシック','Hiragino Sans',sans-serif;
  font-weight: bold!important;
}

#site-primary-menu > li > ul li.active > a {
  color: #57cecd !important;
}
#site-primary-menu > li > .sf-with-ul {
  position: relative;
}
#site-primary-menu > li > .sf-with-ul::after {
  border: none !important;
  font-family: 'themify';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  padding-top: 20px;
  left: 50%;
  margin-left: -7px;
  font-size: 14px;
  width: 100%;
  content: "\e64b";
  color: #2b9493;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
#site-primary-menu > li > .sf-with-ul:hover::after {
  padding-top: 25px;
}
#site-primary-menu > li > ul li > .sf-with-ul:after {
  border: none !important;
  font-family: 'themify';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  float: right;
  margin-right: 10px;
  top: 13px;
  font-size: 12px;
  content: "\e649";
  color: rgba(255, 255, 255, 0.5);
}

#site-primary-menu .site-sub-menu {
  padding: 7px 0 3px;
  background: rgba(0, 0, 0, 0.8);
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  border-radius: 5px;
}

#site-primary-menu .site-sub-menu:before {
  position: absolute;
  top: -9px;
  right: 20px;
  width: 0;
  height: 0;
  content: '';
}

#site-primary-menu .site-sub-menu:after {
  position: absolute;
  top: -8px;
  right: 21px;
  width: 0;
  height: 0;
  border-right: 8px solid transparent;
  border-bottom: 8px solid #57cecd;
  border-bottom: 8px solid rgba(0, 0, 0, 0.8);
  border-left: 8px solid transparent;
  content: '';
}

#site-primary-menu .site-sub-menu .site-sub-menu:before {
  top: 6px;
  right: 100%;
}

#site-primary-menu .site-sub-menu .site-sub-menu:after {
  top: 7px;
  right: 100%;
  border: none !important;
}

.site-header.has-image #primary-menu .sub-menu {
  border-color: #ebebeb;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.19);
}
.site-header.has-image #primary-menu .sub-menu:before {
  display: none;
}

#site-primary-menu .site-sub-menu a {
letter-spacing: 0;
padding: 0px 15px;
font-size: 16px;
line-height: 26px;
color: #ffffff !important;
text-transform: none;
background: none;
margin: 10px 0 13px 0;
}
#site-primary-menu .site-sub-menu a:hover {
  color: #57cecd !important;
}

.site-nav-toggle {
  width: 25px;
  height: 25px;
  cursor: pointer;
  text-decoration: none;
}
.site-nav-toggle.active i::before, .site-nav-toggle.active i::after {
  background: #2e2e2e;
}
.site-nav-toggle:hover, .site-nav-toggle:focus, .site-nav-toggle:active {
  outline: none;
  border-bottom: none !important;
}
.site-nav-toggle i {
  position: relative;
  display: inline-block;
  width: 25px;
  height: 3px;
  color: #252525;
  font: bold 14px/.4 Helvetica;
  text-transform: uppercase;
  text-indent: -55px;
  background: #252525;
  transition: all .2s ease-out;
}
.site-nav-toggle i::before, .site-nav-toggle i::after {
  content: '';
  width: 25px;
  height: 3px;
  background: #252525;
  position: absolute;
  left: 0;
  transition: all .2s ease-out;
}
.site-nav-toggle.site-nav-white > i {
  color: #ffffff;
  background: #ffffff;
}
.site-nav-toggle.site-nav-white > i::before, .site-nav-toggle.site-nav-white > i::after {
  background: #ffffff;
}

.site-nav-toggle i::before {
  top: -7px;
}

.site-nav-toggle i::after {
  bottom: -7px;
}

.site-nav-toggle:hover i::before {
  top: -10px;
}

.site-nav-toggle:hover i::after {
  bottom: -10px;
}

.site-nav-toggle.active i {
  background: transparent;
}

.site-nav-toggle.active i::before {
  top: 0;
  -webkit-transform: rotateZ(45deg);
  -moz-transform: rotateZ(45deg);
  -ms-transform: rotateZ(45deg);
  -o-transform: rotateZ(45deg);
  transform: rotateZ(45deg);
}

.site-nav-toggle.active i::after {
  bottom: 0;
  -webkit-transform: rotateZ(-45deg);
  -moz-transform: rotateZ(-45deg);
  -ms-transform: rotateZ(-45deg);
  -o-transform: rotateZ(-45deg);
  transform: rotateZ(-45deg);
}

.site-nav-toggle {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 21;
  padding: 6px 0 0 0;
  display: block;
  margin: 0 auto;
  display: none;
  background: #FDC911;
  height: 44px;
  width: 44px;
  border-bottom: none !important;
}
@media screen and (max-width: 768px) {
  .site-nav-toggle {
    display: block;
  }
}

/* Mobile Menu */
#site-mobile-menu {
  -moz-transform: translateX(-275px);
  -webkit-transform: translateX(-275px);
  -ms-transform: translateX(-275px);
  transform: translateX(-275px);
  display: block;
  height: 100%;
  left: 0;
  overflow-y: auto;
  position: fixed;
  top: 0;
  width: 275px;
  z-index: 10002;
  background: #181920;
  padding: 0.75em 1.25em;
  font-family: 'Yu Gothic UI',YuGothic,'Yu Gothic','ヒラギノ角ゴシック','Hiragino Sans',sans-serif;
font-weight: bold !important;
font-size: 16px;
}
#site-mobile-menu #site-mobile-menu-ul {
  padding: 0;
  margin: 0;
}
#site-mobile-menu #site-mobile-menu-ul li {
  list-style: none;
}
#site-mobile-menu #site-mobile-menu-ul li.active > a {
  color: #ffffff;
}
#site-mobile-menu #site-mobile-menu-ul a {
  border-bottom: none !important;
  padding: 7px 0;
  display: block;
  color: #ccc;
  color: rgba(255, 255, 255, 0.5);
}
#site-mobile-menu #site-mobile-menu-ul a:hover {
  color: #ffffff;
  color: white;
}
#site-mobile-menu #site-mobile-menu-ul .site-sub-ddown {
  position: relative;
}
#site-mobile-menu #site-mobile-menu-ul .site-sub-ddown::after {
  font-family: 'themify';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  right: 0;
  margin-top: 2px;
  content: "\e64b";
}
#site-mobile-menu #site-mobile-menu-ul .site-sub-menu {
  display: none;
  padding-left: 20px;
}
#site-mobile-menu #site-mobile-menu-ul .site-sub-menu li {
  list-style: none;
}

#site-logo-mobile-wrap {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  display: block;
  height: 44px;
  left: 0;
  position: fixed;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 10001;
  background: #2b303b;
  color: #ccc;
  -webkit-box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.125);
  -moz-box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.125);
  -ms-box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.125);
  -o-box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.125);
  box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.125);
}
#site-logo-mobile-wrap h1 {
  padding: 0;
  margin: 0;
  font-size: 20px;
  font-weight: bold;
  padding-left: 20px;
  margin-top: -5px;
}
#site-logo-mobile-wrap h1 a {
  border-bottom: none !important;
  color: #ccc;
  letter-spacing: 3px;
  text-transform: uppercase;
}

#site-content {
  padding: 7em 0;
}
@media screen and (max-width: 768px) {
  #site-content {
    margin-bottom: 4em;
  }
}

#site-sidebar {
  padding: 7em 0;
  font-size: 16px;
}
#site-sidebar.left-sidebar {
  padding-right: 50px;
}
@media screen and (max-width: 768px) {
  #site-sidebar.left-sidebar {
    padding-right: 0px;
  }
}
#site-sidebar.right-sidebar {
  padding-left: 50px;
}
@media screen and (max-width: 768px) {
  #site-sidebar.right-sidebar {
    padding-left: 0px;
  }
}
#site-sidebar .sidebar-box {
  margin-bottom: 2em;
  float: left;
  width: 100%;
}
#site-sidebar .sidebar-heading {
  margin-bottom: 10px;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 4px;
  color: #2e2e2e;
  position: relative;
  padding-top: 7px;
}
#site-sidebar .sidebar-heading .border {
  width: 30px;
  height: 3px;
  position: absolute;
  top: 0;
  left: 0;
  background: #ebebeb;
}
#site-sidebar .sidebar-links {
  padding: 0;
  margin: 0 0 30px 0;
}
#site-sidebar .sidebar-links li {
  padding: 0;
  margin: 0;
  list-style: none;
}

#site-hero {
  background-color: #57cecd;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center left;
  float: left;
  width: 100%;
  height: 300px;
  display: table;
  position: relative;
  z-index: 20;
  color: #ffffff;
}
#site-hero .overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  background: #57cecd;
  opacity: .67;
}
@media screen and (max-width: 768px) {
  #site-hero {
    background-position: center center;
  }
}
#site-hero .site-arrow {
  position: absolute;
  bottom: -25px;
  left: 50%;
  margin-left: -30px;
  display: table;
  color: #ffffff;
  font-size: 24px;
  z-index: 99;
  text-decoration: none;
  width: 50px;
  height: 50px;
  background: #FDC911;
  border-bottom: none !important;
  text-align: center;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
  -webkit-box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.125);
  -moz-box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.125);
  -ms-box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.125);
  -o-box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.125);
  box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.125);
}
#site-hero .site-arrow i {
  display: table-cell;
  vertical-align: middle;
}
#site-hero .site-arrow:active, #site-hero .site-arrow:focus, #site-hero .site-arrow:hover {
  outline: none;
}
#site-hero .site-hero-wrap {
  /*padding-top: 15em;*/
  padding-top: 10em;
  display: table;
  height: 650px;
  width: 100%;
}
#site-hero .site-hero-wrap2 {
  padding-top: 10em;
  display: table;
  height: 280px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #site-hero .site-hero-wrap {
    padding-top: 4em;
  }
  #site-hero .site-hero-wrap2 {
    padding-top: 4em;
  }
}
#site-hero .site-hero-wrap .site-hero-intro,
#site-hero .site-hero-wrap2 .site-hero-intro{
  vertical-align: middle;
  text-align: center;
  color: #ffffff;
}
#site-hero .site-hero-wrap .site-hero-intro a,
#site-hero .site-hero-wrap2 .site-hero-intro a {
color: #57b8ce;
border-bottom: 1px solid rgba(255, 255, 255, 0.3);
background: #fff;
}
#site-hero .site-hero-wrap .site-hero-intro a:hover,
#site-hero .site-hero-wrap2 .site-hero-intro a:hover{
  color: white;
  border-bottom: 1px solid white;
}
#site-hero .site-hero-wrap .site-hero-intro > h1,
#site-hero .site-hero-wrap2 .site-hero-intro > h1 {
  font-size: 36px;
  line-height: 47px;
  color: #ffffff;
  font-weight: 100;
  text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.08);
  font-family: '游明朝体+36ポかな','YuMincho +36p Kana','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;
}

#site-hero .site-hero-wrap .site-hero-intro > p span {
  font-size: 33px;
}

@media screen and (max-width: 768px) {
  #site-hero .site-hero-wrap .site-hero-intro > h1,
  #site-hero .site-hero-wrap2 .site-hero-intro > h1 {
    font-size: 30px;
  }
}
@media screen and (max-width: 414px) {
  #site-hero .site-hero-wrap .site-hero-intro > h1,
  #site-hero .site-hero-wrap2 .site-hero-intro > h1 {
    font-size: 24px;
  }
#site-hero .site-hero-wrap .site-hero-intro > p span,
#site-hero .site-hero-wrap2 .site-hero-intro > p span{
  font-size: 21px;
}
}
@media screen and (max-width: 320px) {
  #site-hero .site-hero-wrap .site-hero-intro > h1,
  #site-hero .site-hero-wrap2 .site-hero-intro > h1{
    font-size: 22px;
  }
#site-hero .site-hero-wrap .site-hero-intro > p,
#site-hero .site-hero-wrap2 .site-hero-intro > p{
  font-size: 90%;
}
#site-hero .site-hero-wrap .site-hero-intro > p span,
#site-hero .site-hero-wrap2 .site-hero-intro > p span {
  font-size: 100%;
}
}
#site-hero .site-hero-wrap .site-hero-intro > h2,
#site-hero .site-hero-wrap2 .site-hero-intro > h2{
  letter-spacing: 4px;
  line-height: 1.5;
  font-size: 16px;
  text-transform: uppercase;
  padding-bottom: 5px;
  position: relative;
  color: #ffffff;
  text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.08);
}
@media screen and (max-width: 768px) {
  #site-hero .site-hero-wrap .site-hero-intro > h2,
  #site-hero .site-hero-wrap2 .site-hero-intro > h2{
    letter-spacing: 3px;
  }
}
#site-hero .site-hero-wrap .btn {
  color: #ffffff;
  text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.08);
}
#site-hero .site-hero-wrap .btn:hover, #site-hero .site-hero-wrap .btn:active, #site-hero .site-hero-wrap .btn:focus {
  background: #57cecd;
  border-color: #57cecd;
}

body.inner-page #site-hero .site-hero-wrap,
body.inner-page #site-hero .site-hero-wrap2{
  padding-top: 15em;
}
@media screen and (max-width: 768px) {
  body.inner-page #site-hero .site-hero-wrap,
  body.inner-page #site-hero .site-hero-wrap2{
    padding-top: 4em;
  }
}

@media screen and (max-width: 768px) {
  #site-hero, .site-hero-wrap,
  #site-hero, .site-hero-wrap2{
    position: relative;
    padding: 4em 0 3em 0;
    height: inherit !important;
  }
}

#site-main {
  position: relative;
  float: left;
  width: 100%;
  clear: both;
}

@media screen and (max-width: 768px) {
  body.inner-page #site-main {
    margin-top: 0px;
    padding-top: 20px;
  }
}

#site-hero,
#site-main,
#site-logo-mobile-wrap {
  -moz-transform: translateX(0px);
  -webkit-transform: translateX(0px);
  -ms-transform: translateX(0px);
  transform: translateX(0px);
}

body.site-mobile-menu-visible #site-hero,
body.site-mobile-menu-visible #site-main,
body.site-mobile-menu-visible #site-logo-mobile-wrap {
  -moz-transform: translateX(275px);
  -webkit-transform: translateX(275px);
  -ms-transform: translateX(275px);
  transform: translateX(275px);
}

body.site-mobile-menu-visible #site-mobile-menu {
  -moz-transform: translateX(0);
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
}

.site-product-2 {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
}
.site-product-2 .img {
  background-color: #57cecd;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  padding: 7em;
}
@media screen and (max-width: 768px) {
  .site-product-2 .img {
    height: 500px;
  }
}
@media screen and (max-width: 480px) {
  .site-product-2 .img {
    height: 300px;
  }
}
.site-product-2 .site-half {
  min-height: 500px;
  padding: 3em;
  width: 50%;
  font-size: 20px;
  line-height: 38px;
  background-color: #f7f7f7;
}
.site-product-2 .site-half h3 {
  font-size: 30px;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .site-product-2 .site-half {
    min-height: inherit;
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    font-size: 16px;
    line-height: 28px;
  }
}
.site-product-2.site-reverse .img {
  position: absolute;
  right: 0;
}
@media screen and (max-width: 768px) {
  .site-product-2.site-reverse .img {
    position: relative;
  }
}

#site-contact {
  padding: 7em 0;
}

#site-works .site-work-item figure {
  margin-bottom: 20px !important;
  float: left;
  width: 100%;
}
#site-works .site-work-item .heading {
  font-size: 17px;
  margin-bottom: 40px;
}
#site-works .site-work-item .site-category {
  color: #ccc;
  font-size: 13px;
  margin-bottom: 0;
}

#site-call-to-action {
  clear: both;
  display: block;
  padding: 3em 0;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  letter-spacing: 7px;
  text-transform: uppercase;
  background: transparent;
  font-size: 16px;
  color: #000000;
}
#site-call-to-action:hover, #site-call-to-action:focus, #site-call-to-action:active {
  color: #ffffff;
  background: #f86942;
  border-top: 1px solid #f86942;
  border-bottom: 1px solid #f86942;
}

#site-footer {
  clear: both;
  position: relative;
  padding: 7em 0 1em 0;
  background: #57cecd;
  float: left;
  width: 100%;
}
#site-footer .site-arrow {
  position: absolute;
  top: -34px;
  left: 50%;
  margin-left: -30px;
  display: table;
  color: #ffffff !important;
  font-size: 24px;
  z-index: 99;
  text-decoration: none;
  width: 60px;
  height: 60px;
  background: #FDC911;
  border-bottom: none !important;
  text-align: center;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
  -webkit-box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.125);
  -moz-box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.125);
  -ms-box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.125);
  -o-box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.125);
  box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.125);
}
#site-footer .site-arrow i {
  display: table-cell;
  vertical-align: middle;
}
#site-footer .site-arrow:active, #site-footer .site-arrow:focus, #site-footer .site-arrow:hover {
  outline: none;
  color: #ffffff !important;
}
#site-footer .site-copyright {
  margin-top: 5em;
}
#site-footer .site-copyright p {
  font-size: 15px;
  line-height: 1.9;
}
#site-footer .site-footer-heading {
  font-family: 'Yu Gothic UI',YuGothic,'Yu Gothic','ヒラギノ角ゴシック','Hiragino Sans',sans-serif;
 font-weight: 600;
  font-size: 17px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #FFFFFF;
  margin-bottom: 10px;
}
.ft-txt{
    padding-bottom: 0;
    margin-bottom: 5px;
}
.ft-tel span {
  font-size: 30px!important;
}
.ft-tel .btn-outline {
  border: 2px solid #C5EBEB !important;
  background: #ffffff !important;
  color: #57cecd;
}
.ft-tel .btn-outline:hover, 
.ft-tel .btn-outline:active,
.ft-tel .btn-outline:focus {
  border: 2px solid #f86942 !important;
  background: #f86942 !important;
  color: #ffffff;
}

#site-footer .site-footer-links {
  padding: 0;
  margin: 0 0 30px 0;
}
#site-footer .site-footer-links a {
  color: #fff;
}
#site-footer .site-footer-links li {
  padding: 0;
  margin: 0;
  list-style: none;
}

.site-cards {
  background: whitesmoke;
  padding: 7em 0;
}
@media screen and (max-width: 768px) {
  .site-cards {
    padding: 3em 0;
  }
}
.site-cards .site-card {
  display: block;
  background: #ffffff;
  position: relative;
  overflow: hidden;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  border-radius: 5px;
  -webkit-box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.125);
  -moz-box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.125);
  -ms-box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.125);
  -o-box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.125);
  box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.125);
  margin-bottom: 30px;
  border-bottom: none;
  bottom: 0;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.site-cards .site-card img {
  z-index: -1;
}
.site-cards .site-card .site-card-body {
  padding: 30px;
}
.site-cards .site-card .site-card-body h3 {
  font-size: 20px;
  color: #52c1c0;
  margin-bottom: 10px;
}
.site-cards .site-card .site-card-body p {
  color: #383f42;
}
.site-cards .site-card .site-card-body p:last-child {
  margin-bottom: 0;
}
.site-cards .site-card:hover {
  text-decoration: none;
  border-bottom: none;
  bottom: 10px;
}
.site-cards .site-card:hover h3 {
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  color: #57cecd;
}

.quote {
  width: 80%;
  margin: 0 auto;
  font-size: 28px;
  font-weight: 300;
  line-height: 38px;
}
.quote cite {
  margin-top: 20px;
  display: block;
  font-size: 20px;
  font-style: normal;
}
@media screen and (max-width: 768px) {
  .quote {
    font-size: 20px;
    width: 100%;
  }
}

/* Helper Classes */
/* Spacer */
.site-spacer {
  clear: both;
  position: relative;
  border: none;
  padding: 0;
  margin: 0;
}

.site-spacer-xlg {
  height: 150px;
}
@media screen and (max-width: 768px) {
  .site-spacer-xlg {
    height: 70px;
  }
}

.site-spacer-lg {
  height: 100px;
}
@media screen and (max-width: 768px) {
  .site-spacer-lg {
    height: 50px;
  }
}

.site-spacer-md {
  height: 80px;
}
@media screen and (max-width: 768px) {
  .site-spacer-md {
    height: 30px;
  }
}

.site-spacer-sm {
  height: 50px;
}
@media screen and (max-width: 768px) {
  .site-spacer-sm {
    height: 20px;
  }
}

.site-spacer-xs {
  height: 30px;
}
@media screen and (max-width: 768px) {
  .site-spacer-xs {
    height: 20px;
  }
}

.site-spacer-xxs {
  height: 20px;
}

.site-letter-spacing {
  letter-spacing: 1px;
}

.site-no-margin-bottom {
  margin-bottom: 0 !important;
}

.site-uppercase-heading-sm {
  font-size: 14px;
  line-height: 26px;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: #ccc;
}

.form-group {
  margin-bottom: 30px;
}

.image-popup:hover {
  opacity: .7;
}

.site-section-heading .site-lead {
  position: relative;
}
.site-section-heading .site-lead > .site-line {
  height: 2px;
  display: block;
  width: 100px;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -50px;
  background: rgba(0, 0, 0, 0.3);
}
.site-section-heading .site-sub {
  font-size: 18px;
}

/* 
========================================

Components 

========================================
*/
/* Buttons */
.btn {
  border-bottom: none !important;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 20px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  padding-left: 20px;
  padding-right: 20px;
  margin-right: 10px;
}
@media screen and (max-width: 414px) {
.btn {
  border-bottom: none !important;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 20px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  padding-left: 20px;
  padding-right: 20px;
  margin-right: 0px;
}
}

.btn:hover, .btn:focus, .btn:active {
  box-shadow: none;
  outline: none !important;
  border-color: transparent;
}
.btn.site-btn-icon {
  text-transform: none !important;
  letter-spacing: normal !important;
  padding-left: 15px;
  padding-right: 15px;
}

.btn-outline {
  border: 2px solid #eaeaea !important;
  background: transparent;
  color: #2a2e37;
}
.btn-outline:hover, .btn-outline:active, .btn-outline:focus {
  border: 2px solid #f86942 !important;
  background: #f86942 !important;
  color: #ffffff;
}

.btn-primary {
  background: #57cecd;
}

.btn-success {
  background: #00e195;
}

.btn-danger {
  background: #e02745;
}

.btn-info {
  background: #0bbff2;
}

.btn-warning {
  background: #ffd042;
}

.btn-primary,
.btn-success,
.btn-info,
.btn-warning,
.btn-danger {
  border-color: transparent;
}

.btn-default:hover, .btn-default:active, .btn-default:focus,
.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus,
.btn-success:hover,
.btn-success:active,
.btn-success:focus,
.btn-info:hover,
.btn-info:active,
.btn-info:focus,
.btn-warning:hover,
.btn-warning:active,
.btn-warning:focus,
.btn-danger:hover,
.btn-danger:active,
.btn-danger:focus {
  background: #282e3c;
  color: #ffffff;
}

.form-control {
  box-shadow: none !important;
  border: 2px solid #ccc;
}
.form-control:hover, .form-control:focus, .form-control:active {
  outline: none;
  box-shadow: none !important;
  border: 2px solid #57cecd;
}

.js .to-animate,
.js .feature-box,
.js .work-box,
.js .footer-box,
.js .animate-box {
  opacity: 0;
}

.heading {
  margin-bottom: 3em;
}

/* Features*/
#site-features {
  padding: 7em 0;
}
#site-features .site-feature {
  margin-bottom: 30px;
}
#site-features .site-feature .heading {
  font-size: 20px;
  margin-bottom: 20px !important;
  font-weight: normal;
  color: #19C5BC;
}
#site-features .site-feature-icon {
  margin: 0 auto 2em auto;
  text-align: center;
  border-radius: 30px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
}
#site-features .site-feature-icon i {
  vertical-align: middle;
  font-size: 50px;
  color: #57cecd;
}

/* Header */
.site-header {
  text-align: center;
}
.site-header .site-heading {
  font-weight: bold;
  font-size: 45px;
  line-height: 57px;
}
@media screen and (max-width: 768px) {
  .site-header .site-heading {
    font-size: 30px !important;
    line-height: 42px !important;
  }
}
.site-header .site-heading-sub {
  color: #777;
  font-size: 18px;
  line-height: 30px;
}

/* Easy Rsponsive Tabs */
.site-tab {
  clear: both;
  display: block;
}

.resp-tab-active {
  color: #57cecd;
}

.resp-content-active, .resp-accordion-active {
  display: block;
}

.site-tab-menu-icon {
  font-size: 20px;
  position: relative;
  float: left;
  margin-right: 10px;
}
@media screen and (max-width: 768px) {
  .site-tab-menu-icon {
    margin-top: 7px;
  }
}

#site-feature-slider .site-item-slide-text {
  margin-top: 1em;
}
#site-feature-slider .site-item-slide-text > h2 {
  position: relative;
  padding-bottom: 20px;
}
#site-feature-slider .site-item-slide-text > h2 span {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 40px;
  height: 3px;
  background: #ccc;
  background: rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 992px) {
  #site-feature-slider .site-item-slide-text {
    margin-top: 0em;
  }
}
@media screen and (max-width: 768px) {
  #site-feature-slider .site-item-slide-text {
    margin-top: 0em;
  }
}
@media screen and (max-width: 480px) {
  #site-feature-slider .site-item-slide-text {
    margin-top: 0em;
  }
}

#site-testimonial {
  padding: 7em 0;
  background-size: cover;
}
#site-testimonial.border-top {
  border-top: 1px solid whitesmoke;
}
@media screen and (max-width: 768px) {
  #site-testimonial {
    padding: 7em 0;
  }
}
#site-testimonial blockquote {
  padding-left: 0;
  width: 70%;
  margin: 0 auto;
  color: #ffffff;
  border-left: none;
  font-size: 45px;
  line-height: 57px;
}
@media screen and (max-width: 768px) {
  #site-testimonial blockquote {
    width: 100%;
    font-size: 35px;
    line-height: 47px;
  }
}
#site-testimonial blockquote p {
  text-align: center;
  color: #ffffff;
}
#site-testimonial .site-testimonial-author {
  font-size: 18px;
}
#site-testimonial .site-uppercase-heading-sm {
  color: #000000;
}

/* Accordions */
.site-accordion .panel-title > a {
  border-bottom: none !important;
}
.site-accordion .panel-title > a:hover {
  border-bottom: none !important;
}
.site-accordion .panel-heading {
  background: transparent;
  position: relative;
  cursor: pointer;
}
.site-accordion .panel-heading .accordion-toggle {
  color: #57cecd;
}
.site-accordion .panel-heading .accordion-toggle:after {
  font-family: 'themify';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #2e2e2e !important;
  position: absolute;
  content: "\e622";
  right: 15px;
  top: 16px;
}
.site-accordion .panel-heading.collapsed .accordion-toggle {
  color: #2e2e2e !important;
}
.site-accordion .panel-heading.collapsed .accordion-toggle:after {
  font-family: 'themify';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #2e2e2e !important;
  position: absolute;
  content: "\e61a";
  right: 15px;
  top: 16px;
}

/* Progress Bars */
.progress {
  height: 15px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  border-radius: 30px;
}

.progress-bar {
  box-shadow: none;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  -ms-border-radius: 30px;
  -o-border-radius: 30px;
  border-radius: 30px;
}
.progress-bar.progress-bar-default {
  background: #57cecd;
}
.progress-bar.progress-bar-success {
  background: #00e195;
}
.progress-bar.progress-bar-info {
  background: #0bbff2;
}
.progress-bar.progress-bar-warning {
  background: #ffd042;
}
.progress-bar.progress-bar-danger {
  background: #e02745;
}

/* Social Icons */
.site-social-icons {
  padding: 0;
}
.site-social-icons li {
  list-style: none;
  display: inline;
  display: inline-block;
}
.site-social-icons li a {
  height: 40px;
  width: 40px;
  border: 1px solid #ebebeb;
  display: table;
  text-align: center;
  color: #fff;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
}
.site-social-icons li a:hover {
  background: #FDC911;
  border: 1px solid #fff !important;
  color: #ffffff !important;
}
.site-social-icons li i {
  display: table-cell;
  vertical-align: middle;
  font-size: 18px;
}

/* Pricing Tables */
@media screen and (max-width: 992px) {
  .site-pricing-table-1 .site-pricing-table-item {
    margin-bottom: 20px !important;
  }
}
@media screen and (max-width: 768px) {
  .site-pricing-table-1 .site-pricing-table-item {
    margin-bottom: 20px !important;
    float: left;
    width: 100%;
  }
}
.site-pricing-table-1 .site-pricing-table-item .site-pricing-table-item-body,
.site-pricing-table-1 .site-pricing-table-item .site-pricing-table-item-heading {
  text-align: center;
  float: left;
  width: 100%;
  padding: 1em 2em;
}
.site-pricing-table-1 .site-pricing-table-item .site-pricing-table-item-heading {
  background: #57cecd;
  color: #ffffff;
}
.site-pricing-table-1 .site-pricing-table-item .site-pricing-table-item-heading h3 {
  font-size: 70px;
  position: relative;
  display: inline-block;
}
.site-pricing-table-1 .site-pricing-table-item .site-pricing-table-item-heading h3 sup {
  position: absolute;
  top: 2px;
  margin-left: -7px;
}
.site-pricing-table-1 .site-pricing-table-item .site-pricing-table-item-heading h3 sup, .site-pricing-table-1 .site-pricing-table-item .site-pricing-table-item-heading h3 span {
  font-size: 14px;
  text-transform: uppercase;
}
.site-pricing-table-1 .site-pricing-table-item .site-pricing-table-item-heading p {
  color: rgba(255, 255, 255, 0.6);
  font-size: 14px;
  letter-spacing: 3px;
  text-transform: uppercase;
}
.site-pricing-table-1 .site-pricing-table-item.site-best-offer .site-pricing-table-item-heading {
  background: #57cecd;
  color: #ffffff;
}
.site-pricing-table-1 .site-pricing-table-item .site-pricing-table-item-body {
  border: 2px solid #ccc;
  border-top: none;
}
.site-pricing-table-1 .site-pricing-table-item .site-pricing-table-item-body ul {
  padding: 0;
  margin: 0;
}
.site-pricing-table-1 .site-pricing-table-item .site-pricing-table-item-body ul li {
  list-style: none;
  padding: 0;
  margin: 0 0 10px 0;
}
.site-pricing-table-1 .site-pricing-table-item.site-best-offer .site-pricing-table-item-body {
  border: 2px solid #57cecd;
  border-top: none;
}

/* Nav Links */
.site-nav-links ul {
  padding: 0;
  margin: 0;
}
.site-nav-links ul li {
  padding: 0;
  margin: 0 0 .5em 0;
  list-style: none;
}
.site-nav-links ul li.active a {
  color: #2e2e2e;
  border-bottom: 2px solid #57cecd;
}

/* Owl Override Style */
.owl-carousel .owl-controls,
.owl-carousel-posts .owl-controls {
  margin-top: 0;
}

.owl-carousel .owl-controls .owl-nav .owl-next,
.owl-carousel .owl-controls .owl-nav .owl-prev,
.owl-carousel-posts .owl-controls .owl-nav .owl-next,
.owl-carousel-posts .owl-controls .owl-nav .owl-prev {
  top: 50%;
  margin-top: -29px;
  z-index: 9999;
  position: absolute;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.owl-carousel-posts .owl-controls .owl-nav .owl-next,
.owl-carousel-posts .owl-controls .owl-nav .owl-prev {
  top: 24%;
}

.owl-carousel .owl-controls .owl-nav .owl-next,
.owl-carousel-posts .owl-controls .owl-nav .owl-next {
  right: -40px;
}
.owl-carousel .owl-controls .owl-nav .owl-next:hover,
.owl-carousel-posts .owl-controls .owl-nav .owl-next:hover {
  margin-right: -10px;
}

.owl-carousel .owl-controls .owl-nav .owl-prev,
.owl-carousel-posts .owl-controls .owl-nav .owl-prev {
  left: -40px;
}
.owl-carousel .owl-controls .owl-nav .owl-prev:hover,
.owl-carousel-posts .owl-controls .owl-nav .owl-prev:hover {
  margin-left: -10px;
}

.owl-carousel-posts .owl-controls .owl-nav .owl-next {
  right: -50px;
}
@media screen and (max-width: 768px) {
  .owl-carousel-posts .owl-controls .owl-nav .owl-next {
    right: 0px;
  }
}

.owl-carousel-posts .owl-controls .owl-nav .owl-prev {
  left: -50px;
}
@media screen and (max-width: 768px) {
  .owl-carousel-posts .owl-controls .owl-nav .owl-prev {
    left: 0px;
  }
}

.owl-carousel-posts .owl-controls .owl-nav .owl-next i,
.owl-carousel-posts .owl-controls .owl-nav .owl-prev i,
.owl-carousel-fullwidth .owl-controls .owl-nav .owl-next i,
.owl-carousel-fullwidth .owl-controls .owl-nav .owl-prev i {
  color: #2e2e2e;
}
.owl-carousel-posts .owl-controls .owl-nav .owl-next:hover i,
.owl-carousel-posts .owl-controls .owl-nav .owl-prev:hover i,
.owl-carousel-fullwidth .owl-controls .owl-nav .owl-next:hover i,
.owl-carousel-fullwidth .owl-controls .owl-nav .owl-prev:hover i {
  color: #000000;
}

.owl-carousel-fullwidth.site-light-arrow .owl-controls .owl-nav .owl-next i,
.owl-carousel-fullwidth.site-light-arrow .owl-controls .owl-nav .owl-prev i {
  color: #ffffff;
}
.owl-carousel-fullwidth.site-light-arrow .owl-controls .owl-nav .owl-next:hover i,
.owl-carousel-fullwidth.site-light-arrow .owl-controls .owl-nav .owl-prev:hover i {
  color: #ffffff;
}

@media screen and (max-width: 768px) {
  .owl-theme .owl-controls .owl-nav {
    display: none;
  }
}

.owl-theme .owl-controls .owl-nav [class*="owl-"] {
  background: none !important;
}
.owl-theme .owl-controls .owl-nav [class*="owl-"] i {
  font-size: 30px;
}
.owl-theme .owl-controls .owl-nav [class*="owl-"] i:hover, .owl-theme .owl-controls .owl-nav [class*="owl-"] i:focus {
  background: none !important;
}
.owl-theme .owl-controls .owl-nav [class*="owl-"]:hover, .owl-theme .owl-controls .owl-nav [class*="owl-"]:focus {
  background: none !important;
}

.owl-theme .owl-dots {
  position: absolute;
  bottom: 0;
  width: 100%;
  text-align: center;
}

.owl-carousel-fullwidth.owl-theme .owl-dots {
  bottom: 0;
  margin-bottom: -2.5em;
}

.owl-theme .owl-dots .owl-dot span {
  width: 10px;
  height: 10px;
  background: #57cecd;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
  border: 2px solid transparent;
}
.owl-theme .owl-dots .owl-dot span:hover {
  background: none;
  border: 2px solid #57cecd;
}

.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
  background: none;
  border: 2px solid #57cecd;
}

/* Image Alignment */
img.site-align-right {
  float: right;
  margin: 0 0 .5em 1em;
}
@media screen and (max-width: 480px) {
  img.site-align-right {
    width: 100%;
    margin: 0 0 .5em 0;
  }
}
img.site-align-left {
  float: left;
  margin: 0 1em .5em 0;
}
@media screen and (max-width: 480px) {
  img.site-align-left {
    width: 100%;
    margin: 0 0 .5em 0;
  }
}
img.site-align-center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

a > img.site-align-right {
  float: right;
  margin: 0 0 .5em 1em;
}
@media screen and (max-width: 480px) {
  a > img.site-align-right {
    width: 100%;
    margin: 0 0 .5em 0;
  }
}
a > img.site-align-left {
  float: left;
  margin: 0 1em .5em 0;
}
@media screen and (max-width: 480px) {
  a > img.site-align-left {
    width: 100%;
    margin: 0 0 .5em 0;
  }
}
a > img.site-align-center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}




/*------------------------------------------------------
　　　　　　　　　＊ FONT&TEXT　＊
-------------------------------------------------------*/
.f_bold {font-weight: bold !important;}
.f_line a{ text-decoration:underline !important;}

.f_gr {color: #5A5A5A !important;}
.f_gr2 {color: #989696 !important;}
.f_red {color: #DD0000 !important;}
.f_red2 {color: #EC3400 !important;}
.f_white {color: #FFFFFF !important;}
.f_ye {color: #FFEF78 !important;}
.f_orange {color: #EE7332 !important;}
.f_blue {color: #3234EE !important;}

.f_s9 {font-size: 67% !important;}
.f_s10 {font-size: 77% !important;}
.f_s11 {font-size: 85% !important;}
.f_s12 {font-size: 93% !important;}
.f_s13 {font-size: 100% !important;}
.f_s14 {font-size: 108% !important;}
.f_s14 a {font-size: 108% !important;}
.f_s15 {font-size: 116% !important;}
.f_s15 a {font-size: 116% !important;}
.f_s16 {font-size: 124% !important;}
.f_s16 a {font-size: 124% !important;}
.f_s17 a {font-size: 124% !important;}
.f_s17 {font-size: 131% !important;}
.f_s18 {font-size: 139% !important;}
.f_s19 {font-size: 147% !important;}
.f_s20 {font-size: 154% !important;}
.f_s21 {font-size: 162% !important;}
.f_s22 {font-size: 170% !important;}
.f_s23 {font-size: 177% !important;}
.f_s24 {font-size: 185% !important;}
.f_s25 {font-size: 193% !important;}

.f_s16res {font-size: 170% !important;}
.f_s20res {font-size: 154% !important;}
@media screen and (max-width: 360px){
.f_s20res {font-size: 134% !important;}
}

@media screen and (max-width: 1199px){
.f_s16res {font-size: 154% !important;}
}
@media screen and (max-width: 991px){
.f_s16res {font-size: 112% !important;}
}
@media screen and (max-width: 414px){
.f_s16res {font-size: 154% !important;}
.f_s18 {font-size: 110% !important;}
}
@media screen and (max-width: 320px){
.f_s18 {font-size: 100% !important;}
}

.f_lh100 {line-height: 1.0;}
.f_lh150 {line-height: 1.5;}
.f_lh250 {line-height: 2.5;}
.t-a_center {text-align: center;}

@media only screen and (min-width:320px) and (max-width:414px) {
	.t-a_center {text-align: left;}
	.t-a_right {text-align: left;}
}


/*------------------*/

.bdtop_sol{
    border-top: dotted 1px #fff;
    margin-top: 1em;
    padding-top: 10px;
}
.bdtop_sol span {
    font-size: 22px!important;
    color: #FCF27B!important;
}
.p_r5{
    padding: 0 5px;
}

.kasou-top{
    padding: 5em 0 7em 0;
}

/*料金表*/
.rec-table {
}
.price-list {
}

.price-list p {
	margin: 0;
	font-size:110%!important;
    font-family: 'Yu Gothic UI',YuGothic,'Yu Gothic','ヒラギノ角ゴシック','Hiragino Sans',sans-serif;
}

table.price-list p span {
	font-size:70%!important;
}

table.price-list {
	width:100%;
	border-right:#57cecd solid 1px;
	border-collapse: collapse;
}
table.price-list thead th {
	background:#57cecd;
	color:#FFF!important;
	padding:10px 15px;
	border-right:#FFF solid 1px;
	border-bottom:#FFF solid 1px;
}

table.price-list thead th:last-child {
	border-right:#57cecd solid 1px;
}
table.price-list tbody th {
	background:#EAF9F5;
	color:#231815;
	padding:20px 15px;
	border-bottom:#57cecd solid 1px;
	vertical-align:top;
	border-left: #57cecd solid 1px;
		font-size: 1em!important;
}
table.price-list tbody tr:first-child th {
		border-top: #57cecd solid 1px;
}
table.price-list tbody tr:last-child th {
	border-bottom:#57cecd solid 1px;
}
table.price-list tbody td {
	background:#FFF;
	padding:20px 15px;
	border-left:#57cecd solid 1px;
	border-bottom:#57cecd solid 1px;
	vertical-align:top;
}

@media screen and (max-width: 414px) {
table.price-list thead {
	display:none;
}
table.price-list tbody th {
	display:block;
}
table.price-list tbody td {
	display:block;

}
table.price-list tbody td::before {
	content: attr(label);
	float: left;
	clear:both;
	font-weight:bold;
}
table.price-list tbody td p {
	padding-left:9em;
}

}

@media screen and (max-width: 414px) {
table.price-list tbody td p {
	padding-left: 9.5em;
}
table.price-list tbody td {
	padding:10px 10px;
}
}

/* 吹き出し */
.ttl_boder2 {
	font-size: 130%;
	color: #0d4623 !important;
	position: relative;
	padding: .5em .75em;
	background-color: #fff;
	border: 2px solid #ccc;
	border-radius: 6px;
	text-align: left;
}
.ttl_boder2::before,
.ttl_boder2::after {
	position: absolute;
	top: 100%;
	left: 30px;
	content: '';
	height: 0;
	width: 0;
	border: 10px solid transparent;
	text-align: left;
}
.ttl_boder2::before {
	border-top: 15px solid #ccc;
}
.ttl_boder2::after {
	margin-top: -2px;
	border-top: 15px solid #fff;
}
.step {
	padding: .5em .6em;
background-color: #ffa700;
border-radius: 6px;
margin-right: 0.5em;
color: #fff;
	}

.flow {

	}

.flow p {
	margin: 0!important;
	padding: 0 10px;
	font-weight: 200;

	}
.flow a {
text-decoration: none!important;
color: #FFF;
	}
.flow a:hover {
text-decoration: none!important;
color: #FFE641;
	}

.flow a:visited {
    text-decoration: none!important;
  }
.flow a:focus {
  text-decoration: none!important;
}

.yoyaku-list{
	background: rgba(255, 254, 218, 0.97);
	padding: 10px;
	color: #223997;
	margin-top: 10px;
}
.yoyaku-list li{
	margin-left: 10px;
	color: #FC821E;
}
.yoyaku-list ol{
	margin-bottom: 0px;
}

/*------------------------------------------------------
　　　　　　　　　＊ MARGIN　＊
-------------------------------------------------------*/
.m_0 {margin: 0px !important;}
.m_10 {margin: 10px !important;}
.m_b5 {margin-bottom: 5px !important;}
.m_b10 {margin-bottom: 10px !important;}
.m_b15 {margin-bottom: 15px !important;}
.m_b20 {margin-bottom: 20px !important;}
.m_b25 {margin-bottom: 25px !important;}
.m_b30 {margin-bottom: 30px !important;}
.m_b35 {margin-bottom: 35px !important;}
.m_b40 {margin-bottom: 40px !important;}
.m_b50 {margin-bottom: 50px !important;}
.m_b60 {margin-bottom: 60px !important;}
.m_b70 {margin-bottom: 70px !important;}
.m_b80 {margin-bottom: 80px !important;}
.m_b90 {margin-bottom: 90px !important;}

.m_l5 {margin-left: 5px !important;}
.m_l10 {margin-left: 10px !important;}
.m_l15 {margin-left: 15px !important;}
.m_l20 {margin-left: 20px !important;}
.m_l25 {margin-left: 25px !important;}
.m_l30 {margin-left: 30px !important;}
.m_l35 {margin-left: 35px !important;}
.m_l40 {margin-left: 40px !important;}
.m_l60 {margin-left: 60px !important;}

.m_lr10 {margin: 0 10px !important;}
.m_lr20 {margin: 0 20px !important;}
.m_lrtb10 {margin: 10px 10px !important;}

.m_r5 {margin-right: 5px !important;}
.m_r10 {margin-right: 10px !important;}
.m_r15 {margin-right: 15px !important;}

.m_t5 {margin-top: 5px !important;}
.m_t10 {margin-top: 10px !important;}
.m_t12 {margin-top: 12px !important;}
.m_t15 {margin-top: 15px !important;}
.m_t20 {margin-top: 20px !important;}
.m_t30 {margin-top: 30px !important;}
.m_t50 {margin-top: 50px !important;}
.m_t5em {margin-top: 5em !important;}


/* ----------  よくある質問 ----------*/
.ttl_txt {
    font-size: 123%;
	/*color: #0D3BCB!important;*/
    line-height: 30px;
	text-align: center;
	margin-bottom: 2em;
}
.faq_list .item,
.faq_list2 .item{
    border: 1px solid #ddd;
        border-bottom-width: 1px;
        border-bottom-style: solid;
        border-bottom-color: rgb(221, 221, 221);
    border-bottom: none;
    background: #fff;
}

.faq_list .item2,
.faq_list2 .item2{  
    border-bottom: 1px solid #ddd;
}

.question h4 {
    font-size: 100%!important;
	    line-height: 1.5;
	margin-top: 12px;
}

.faq_list .question,
.faq_list2 .question{
    font-size: 16px;
    line-height: 2;
    padding: 18px 70px 18px 40px;
    font-weight: normal;
    position: relative;
    cursor: pointer;
	width: 100%;
}
.faq_list .question::before,
.faq_list2 .question::before
{
    content: '\f107';
    font-family: "Font Awesome 5 Free";
	font-weight: 900;
    color: #666;
    font-size: 16px;
    display: block;
    width: 18px;
    height: 18px;
    position: absolute;
    right: 28px;
    top: 25px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
	

.faq_list .answer,
.faq_list2 .answer{  
    background: #f9f9f6;
    border-top: 1px solid #ddd;
}

.answer-txt {
   padding: 15px 40px 10px;
}
	
.faq_list .item label,
.faq_list2 .item label
{
	margin-bottom: 0px;
}

.faq_list .item label:hover,
.faq_list2 .item label:hover
{
    background: #f5f5f5;
}


.faq_list .item input,
.faq_list2 .item input
{
    display: none;
}

.faq_list .item .answer,
.faq_list2 .item .answer
{
    height: 0;
    overflow: hidden;
    opacity: 0;
    padding: 0;
    text-align: left;
    transition: 0.5s;
}


.faq_list .item input:checked ~ .answer,
.faq_list2 .item input:checked ~ .answer{
    height: auto;
    opacity: 1;
   padding: 10px 0;
   
}

.answer-txt {
font-size: 100%;
color: #1e9998;
}

/*採用情報*/

.boxs-table {
}



table.boxs-table {
	width:100%;
	border-right:#CCCCCC solid 1px;
	border-collapse: collapse;
}
table.boxs-table thead th {
	background:#888A8D;
	color:#FFF;
	padding:10px 15px;
	border-right:#FFF solid 1px;
	border-bottom:#FFF solid 1px;
}
table.boxs-table thead th:last-child {
	border-right:#CCCCCC solid 1px;
}
table.boxs-table tbody th {
	background:#F9F9F9;
	color:#231815;
	padding:20px 15px;
	border-bottom:#CCCCCC solid 1px;
	vertical-align:top;
	border-left: #CCCCCC solid 1px;
}
table.boxs-table tbody tr:first-child th {
		border-top: #CCCCCC solid 1px;
}
table.boxs-table tbody tr:last-child th {
	border-bottom:#CCCCCC solid 1px;
}
table.boxs-table tbody td {
	background:#FFF;
    padding:20px 15px;
	border-left:#CCCCCC solid 1px;
	border-bottom:#CCCCCC solid 1px;
	border-top: #CCCCCC solid 1px;
	vertical-align:top;
	text-align: left;
}

@media screen and (max-width: 991px) {
table.boxs-table thead {
	display:none;
}
table.boxs-table tbody th {
	display:block;
}
table.boxs-table tbody td {
	border-top: none;
	display:block;

}
table.boxs-table tbody td::before {
	content: attr(label);
	float: left;
	clear:both;
	font-weight:bold;
}
table.boxs-table tbody td p {
	/*padding-left:9em;
	text-align: right;*/
}

}

@media screen and (max-width: 414px) {
table.boxs-table tbody td p {
	/*padding-left:4.5em;*/
}
table.boxs-table tbody td {
	/*padding:10px 10px;*/
}
}


.price-info {
	margin:15px;
    padding-top: 1em;
}

.price-info p {
	margin: 0;
	font-size:105%!important;
	font-weight: normal!important;
}

.max70p{
    max-width: 40%;
}
@media screen and (max-width: 428px) {
.max70p{
    max-width: 100%;
}
}

/* モーダルCSS */

.special{
    
}

.modalArea {
  display: none;
  position: fixed;
  z-index: 9999; /*サイトによってここの数値は調整 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.nonScroll {
    height:calc(100vh + 1px) ;
    width: 1px;
    background-color: transparent;
}

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

.modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform:translate(-50%,-50%);
  width: 70%;
  max-width: 500px;
  padding: 10px 30px;
  background-color: #fff;
  height : 70%;
  overflow : auto;
}

.closeModal {
  position: absolute;
  top: 0.5rem;
  right: 1rem;
  cursor: pointer;
	color: #3D6CFE!important;
}

.modalContents{
	color: #000;
}
.modalContents h1 {
font-size: 15pt !important;
color: #000 !important;
margin-top: 2.5em;
margin-bottom: 2em;
line-height: 1.5em;
padding-bottom: .5em;
border-bottom: 1px solid #000;
text-align: center !important;
}
.modalContents p {  
	font-size: 13pt!important;
	letter-spacing: 0!important;
	text-align: left!important;
}


@media screen and (max-width: 414px){
.modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform:translate(-50%,-50%);
  width: 70%;
  max-width: 500px;
  padding: 10px 20px;
  background-color: #fff;
}	
.modalContents h1 {
	font-size: 13pt!important;
	color: #ef5e4a!important;
	margin-top: 3em;
margin-bottom: 2em;
line-height: 1.5em;
}
.modalContents p {  
	font-size: 11pt!important;
	text-align: left!important;
}
}




/* 以下ボタンスタイル */
button {
}

#openModal {
	font-size: 15px;
	background-color: rgba(255, 0, 0, 0.88);
                border-radius: 5px;
   padding: 0 15px;
    margin-bottom: 1em;
}




/*お知らせ*/
		.button.annai {
			background-color: #E62D30;
			box-shadow: none !important;
			color: #ffffff !important;
			font-size: 97%;

		}

.button.annai:hover {
				background-color: #D55D5F !important;
			}

.button.annai:active {
				background-color: #C5171A !important;
			}


		@media screen and (max-width: 736px) {

			input[type="submit"],
			input[type="reset"],
			input[type="button"],
			button,
			.button {
				height: 3.75em;
				line-height: 3.75em;
			}

		}
