@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700&amp;display=swap");
.clearfix, .wrap, .imgList, .case_product, .section_box {
  *zoom: 1; }
  .clearfix:after, .wrap:after, .imgList:after, .case_product:after, .section_box:after {
    content: "";
    display: table;
    clear: both; }

html {
  font-size: 62.5%; }

body {
  font-size: 1.4em;
  background: #FFF;
  font-family: -apple-system-body, BlinkMacSystemFont, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.8;
  padding: 0;
  margin: 0;
  vertical-align: baseline;
  box-sizing: border-box; }

select, input, button, textarea {
  font: 99% sans-serif; }

table {
  font-size: inherit;
  font: 100%; }

pre, code, kbd, samp, tt {
  font-family: monospace;
  *font-size: 108%;
  line-height: 100%; }

@media (max-width: 768px) {
  img {
    max-width: 100%; } }

/*
**:::::::  common style   :::::::
*/
@media (min-width: 768px) {
  #pagetop {
    position: fixed;
    right: 8px;
    bottom: -50px;
    width: 41px;
    height: 38px;
    background: url(../images/common/img_pagetop.png) 0 0 no-repeat; }

  #pagetop a {
    background: url(../images/common/img_pagetop_arrow.png) no-repeat scroll 0 0 rgba(0, 0, 0, 0);
    display: block;
    height: 35px;
    margin-top: 3px;
    text-indent: -9999px;
    -webkit-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    -moz-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    -o-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    width: 41px;
    outline: none; }

  #pagetop a:hover {
    background-position: 0 100%; }

  #pagetop a img {
    display: block; } }
@media (max-width: 768px) {
  #pagetop {
    width: 38px;
    height: 38px;
    background: url(../images/common/pagetop2.png);
    background-size: contain;
    position: fixed;
    right: 8px;
    bottom: -50px;
    text-indent: -9999px;
    outline: none;
    opacity: 0.7;
    -moz-opacity: 0.7;
    filter: alpha(opacity=70); }

  #pagetop a {
    display: block;
    width: 100%;
    height: 100%;
    text-indent: -9999px; } }
a {
  text-decoration: none;
  color: #2c2c2c;
  outline: none;
  text-decoration: none;
  font-weight: bold; }

a:hover {
  color: #1d84c6; }

.wrap {
  margin-left: auto;
  margin-right: auto; }
  @media (min-width: 1200px) {
    .wrap {
      width: 1180px; } }
  @media (max-width: 1200px) {
    .wrap {
      width: 92%; } }

#header {
  position:fixed;
  box-sizing: border-box;
  z-index: 100;
  width: 100%;
  height: 100px;
  padding: 0;
  text-align: left;
  width: 100%;
  transition: all 0.5s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  background:linear-gradient(90deg,white 0%,white 30%,black 50%,black 100%); /*ヘッダーカラー*/
  background: #fff; }

  @media (max-width: 768px) {
    #header {
      height: 60px;
      position: fixed; } }
  #header #header_inner {
    position: relative;
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    height: 100px; }
    @media (min-width: 768px) {
      #header #header_inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center; } }
    @media (max-width: 768px) {
      #header #header_inner {
        height: 60px; } }
    @media (max-width: 1200px) {
      #header #header_inner:after {
        content: ".";
        display: block;
        visibility: hidden;
        height: 0;
        clear: both; } }
  #header.fixed {
    position: fixed;
    top: 0;
    left: 0;
    height: 90px;
    background: rgba(0, 0, 0, 0.6);/*ヘッダーカラー*/
    background:linear-gradient(90deg,white 0%,white 30%,black 50%,black 100%);
    background: #fff;
    border-bottom: 1px #222 solid; }
    @media (max-width: 768px) {
      #header.fixed {
        height: 60px; } }
    #header.fixed #header_inner {
      height: 90px; }
      @media (max-width: 768px) {
        #header.fixed #header_inner {
          height: 60px; } }

.header_right_upper {
  text-align: right;
  width: 100%;
  box-sizing: border-box; }
  @media (min-width: 768px) {
    .header_right_upper {
      width: 240px;
      height: 37px;
      padding-top: 10px;
      margin-left: auto; } }
  @media (max-width: 768px) {
    .header_right_upper {
      display: none; } }
  .header_right_upper .search_form {
    display: inline-block;
    margin-right: 10px; }
    .header_right_upper .search_form input.search_text {
      background-color: #CCCCCC;/*サーチボックスカラー*/
      width: 120px;
      line-height: 25px;
      padding: 0 5px;
      box-sizing: border-box;
      border: 0;
      appearance: none;
      font-size: 1.3rem;
      color: #444; }
    .header_right_upper .search_form .icon_search {
      box-sizing: border-box;
      border: 0;
      appearance: none;
      width: 24px;
      height: 24px;
      background: url(../images/common/icon8_search.svg) no-repeat center;
      outline: none;
      text-indent: -9999px;
      position: relative;
      cursor: pointer; }
  .header_right_upper .lang_select {
    display: inline-block;
    color: #fff;
    margin-right: 10px; }
    .header_right_upper .lang_select a, .header_right_upper .lang_select span {
      color: #fff;
      display: inline-block;
      padding: 0 3px;
      font-weight: bold; }
      .header_right_upper .lang_select a.active, .header_right_upper .lang_select span.active {
        color: #c4d11c; }

#logo {
  text-align: center;
  transition: all 0.5s cubic-bezier(0.445, 0.05, 0.55, 0.95); }
  @media (min-width: 768px) {
    #logo {
      width: 100px;
      height: 100px; 
      padding-top: 30px;}
      #logo img {
        max-width: 100%; } }
  @media (min-width: 768px) and (max-width: 1200px) {
    #logo {
      padding-top: 30px;
      padding-left: 12px; } }
  @media (max-width: 768px) {
    #logo {
      padding-top: 0px;   /*スマホ*/
      position: absolute;
      top: 10px;
      left: 10px;
      width: 65px; } }

@media (min-width: 768px) {
  .fixed #logo {
    width: 65px;
    padding-top: 2px; } } /*ipad*/

@media (min-width: 1024px) {
  .fixed #logo {
    width: 100px;
    padding-top: 30px; } } 


@media (min-width: 768px) {
  #global_navi {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 63px;
    transition: all 0.5s cubic-bezier(0.445, 0.05, 0.55, 0.95); } }

@media (min-width: 768px) {
  .fixed #global_navi {
    height: 55px; } }

@media (min-width: 768px) {
  #navi_ul {
    height: 63px;
    opacity: 1;
    -webkit-transition-property: opacity;
    transition-property: opacity;
    -webkit-transition-duration: .15s;
    transition-duration: .15s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; } }

@media (min-width: 768px) {
  .fixed #navi_ul {
    height: 55px; } }

@media (min-width: 768px) {
  #navi_ul > li {
    float: left;
    font-size: 14px;
    vertical-align: middle; } }
#navi_ul > li.toggle {
  position: relative; }
  @media (min-width: 768px) {
    #navi_ul > li.toggle::after {
      -moz-transition: all 0.3s ease 0s;
      -webkit-transition: all 0.3s ease 0s;
      transition: all 0.3s ease 0s;
      content: "";
      position: absolute;
      bottom: 0;
      left: 50%;
      margin-left: -10px;
      border: 0 solid transparent;
      border-bottom: 0 solid #ffffff; } }/*ナビゲーションの文字色*/
  @media (min-width: 768px) {
    #navi_ul > li.toggle:hover::after {
      border: 10px solid transparent;
      border-bottom: 10px solid #333; } }

@media (min-width: 768px) {
  .header-nav-item {
    position: relative;
    display: inline-block;
    height: 63px;
    line-height: 63px;
    padding: 0 25px;
    color: #222;/*ナビゲーションの文字色*/
    font-weight: bold; } }
.header-nav-item span {
  font-size: 1.1rem; }

@media (min-width: 768px) {
  .fixed .header-nav-item {
    height: 55px;
    line-height: 55px; } }

@media (min-width: 768px) {
  .header-nav-item:hover {
    color: #c4d11c; } }

@media (min-width: 768px) {
  li.toggle:hover {
    color: #c4d11c; }
    li.toggle:hover::after {
      bottom: 0; } }

@media (min-width: 768px) {
  li.toggle:hover .header-nav-item {
    color: #c4d11c; } }

@media (min-width: 768px) {
  li.toggle:hover .megamenu {
    max-height: 9999px;
    opacity: 1;
    z-index: 10; } }

@media (min-width: 768px) {
  .megamenu {
    transition: all .2s ease-in;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    width: 290px;
    left: -85px;
    text-align: center;
    position: absolute;
    background: #333; }
    .megamenu__short {
      width: 180px;
      left: -40px; } }

.fixed .megamenu {
  top: 54px; }

@media (min-width: 768px) {
  .megamenu .menu_inner {
    padding: 20px 5%; } }

@media (min-width: 768px) {
  .megamenu .menu_inner li {
    display: block; } }

.megamenu a {
  background: url(../images/common/arrow_g.svg) no-repeat left 16px;
  background-size: 12px 12px;
  padding: 10px 15px 10px 20px;
  display: block;
  color: #fff;
  font-weight: bold;
  text-align: left; }
  @media (max-width: 768px) {
    .megamenu a {
      background: url(../images/common/arrow_g.svg) no-repeat left 10px;
      background-size: 12px 12px; } }

@media (min-width: 768px) {
  .megamenu a:hover {
    text-decoration: underline;
    color: #c4d11c; } }

@media (min-width: 768px) {
  .header-nav-child {
    position: fixed;
    height: 0;
    width: 100%;
    left: 0;
    background-color: #333;
    text-align: left;
    overflow: hidden;
    -webkit-transition: height .3s .15s;
    transition: height .3s .15s; } }

@media (min-width: 768px) {
  .p_none {
    display: none; } }

.p_only {
  display: none; }
  @media (min-width: 768px) {
    .p_only {
      display: inherit; } }

@media (min-width: 768px) {
  .menuBtn {
    display: none; } }
@media (max-width: 768px) {
  .menuBtn {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    height: 60px;
    width: 60px;
    background-color: #c4d11c; } }

@media (max-width: 768px) {
  #nav-open {
    display: inline-block;
    width: 30px;
    height: 22px;
    vertical-align: middle;
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 20px; } }
@media (min-width: 768px) and (max-width: 1200px) {
  #nav-open {
    left: 30px; } }

@media (max-width: 768px) {
  #nav-open span, #nav-open span:before, #nav-open span:after {
    position: absolute;
    height: 2px;
    /*線の太さ*/
    width: 20px;
    /*長さ*/
    border-radius: 3px;
    background: #fff;
    display: block;
    content: '';
    cursor: pointer;
    transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1); }

  #nav-open span:before {
    bottom: -8px; }

  #nav-open span:after {
    bottom: -16px; }

  .menu-open #nav-open span {
    background-color: transparent; }

  .menu-open #nav-open span::before,
  .menu-open #nav-open span::after {
    height: 2px;
    -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    background-color: #fff;
    position: absolute;
    top: 6px;
    left: 0;
    content: ' '; }

  .menu-open #nav-open span::before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }

  .menu-open #nav-open span::after {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg); }

  #global_navi {
    width: 100%; }

  #navi_ul {
    text-align: left;
    position: fixed;
    top: 60px;
    left: 0;
    width: 100%;
    height: auto;
    display: none; }
    #navi_ul > li {
      display: block;
      width: 100%; }

  #navi_ul > li > a,
  #navi_ul > li.toggle {
    display: block;
    padding: 5px 5%;
    color: #fff;
    position: relative;
    cursor: pointer;
    font-weight: normal;
    background-color: #1b1b1b;
    border-bottom: 1px #aaa solid;
    font-size: 1.4rem;
    box-sizing: border-box; }

  #navi_ul > li.toggle {
    padding-bottom: 5px; }

  #navi_ul > li.toggle a.header-nav-item {
    border-bottom: 0;
    padding: 3px 0; }

  #navi_ul > li.toggle i {
    position: absolute;
    right: 10px;
    top: 10px; }

  li.toggle:hover {
    background-color: #222; }

  li.toggle:hover .megamenu {
    max-height: 9999px;
    opacity: 1; }

  .megamenu {
    max-height: 1000px;
    opacity: 1;
    overflow: hidden;
    width: 100%;
    left: auto;
    top: auto;
    text-align: left;
    position: inherit;
    z-index: 10; }

  .megamenu .menu_inner {
    padding: 0 0 5px; }

  .megamenu .menu_inner li {
    display: block; }

  .megamenu .menu_inner li a {
    display: block;
    border-bottom: 0;
    font-size: 1.4rem;
    padding-top: 3px;
    padding-bottom: 3px; } }
#footer {
  background: #1b1b1b;
  padding: 0 50px 50px; }
  @media (min-width: 768px) and (max-width: 1200px) {
    #footer {
      padding: 0 0 30px; } }
  @media (max-width: 768px) {
    #footer {
      padding: 25px 4%; } }

@media (min-width: 768px) {
  .foot_wrap {
    width: 20%;
    float: left; } }
@media (max-width: 768px) {
  .foot_wrap {
    border-top: 1px #ccc solid;
    margin-top: 20px;
    padding-top: 6px; } }
.foot_wrap .foot_wrap_top a {
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 4px; }
@media (min-width: 768px) {
  .foot_wrap ul {
    margin-bottom: 8px; } }
.foot_wrap ul li:last-child {
  margin-bottom: 0; }
.foot_wrap ul li a {
  color: #b5b5b5;
  font-size: 1.4rem; }
  .foot_wrap ul li a:hover {
    text-decoration: underline; }

@media (min-width: 768px) {
  .foot_left {
    float: left;
    width: 40%; } }

.footlogo {
  width: 278px;
  display: block;
  margin-bottom: 15px; }
  @media (max-width: 768px) {
    .footlogo {
      width: 188px; } }

.foot_infos {
  color: #fff; }

.foot_links {
  margin-top: 40px;
  text-align: center;
  color: #b5b5b5; }
  .foot_links a {
    display: inline-block;
    padding: 0 10px;
    color: #b5b5b5; }
    .foot_links a:hover {
      text-decoration: underline; }

.copyright {
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  display: block;
  vertical-align: bottom;
  color: #666;
  text-align: center;
  margin-top: 20px; }
  @media (max-width: 768px) {
    .copyright {
      font-size: 1.3rem; } }

.heading1 {
  font-size: 1.7rem;
  padding: 25px 20px;
  text-align: left;
  border-top: 2px #ccc solid;
  border-bottom: 2px #ccc solid; }
  @media (max-width: 768px) {
    .heading1 {
      padding: 15px 3%; } }
  .heading1 h2 {
    font-size: 3rem;
    line-height: 1.5; }
    @media (max-width: 768px) {
      .heading1 h2 {
        font-size: 1.8rem; } }
  .heading1 .en_title {
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: #c4d11c;
    font-weight: bold;
    text-transform: capitalize;
    letter-spacing: 0.05em;
    line-height: 1; }
    @media (max-width: 768px) {
      .heading1 .en_title {
        font-size: 1.5rem; } }
  @media (max-width: 768px) {
    .heading1 .heading1_text {
      font-size: 1.4rem; } }

.title2 {
  font-size: 2rem;
  border-bottom: 1px #5d5d5d solid;
  padding-bottom: 10px;
  color: #5d5d5d;
  font-weight: bold;
  margin-bottom: 30px; }
  @media (max-width: 768px) {
    .title2 {
      margin-bottom: 15px; } }

.title3 {
  font-size: 1.8rem;
  text-align: center; }

.title3::after {
  content: '';
  height: 1px;
  background-color: #ccc;
  margin: 10px auto 30px;
  max-width: 60px;
  width: 90%;
  display: block; }

.title4 {
  background-color: #f3f3f3;
  padding: 6px 10px;
  border-radius: 5px;
  font-size: 1.6rem;
  margin-bottom: 20px; }
  @media (max-width: 768px) {
    .title4 {
      font-size: 1.6rem;
      margin-bottom: 10px; } }

.title5 {
  font-size: 1.8rem;
  background-color: #eee;
  padding: 10px 20px;
  position: relative; }
  .title5::before {
    width: 5px;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: #32b006;
    content: '';
    display: block; }

.title6 {
  font-size: 1.7rem;
  font-weight: bold;
  color: #666; }
  @media (max-width: 768px) {
    .title6 {
      font-size: 1.6rem; } }
  .title6::before {
    display: inline-block;
    content: '';
    width: 12px;
    height: 12px;
    background-color: #c4d11c;
    margin-right: 6px;
    position: relative;
    top: 0px; }

.title7 {
  background: url(../images/common/square2.png) no-repeat left;
  border-bottom: 1px #999 dashed;
  font-size: 1.7rem;
  color: #003B95;
  padding: 5px 12px;
  font-weight: bold;
  margin-bottom: 18px; }

.btn {
  display: inline-block;
  -moz-transition: all 0.3s ease 0s;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s; }

.btn-green, .mfp_element_submit, #mfp_button_send {
  color: #fff;
  padding: 15px 30px;
  font-weight: bold;
  background-color: #2CB32C;/*一覧を見る背景色*/
  border: 2px #2CB32C solid; }
  @media (min-width: 768px) {
    .btn-green:hover, .mfp_element_submit:hover, #mfp_button_send:hover {
      background-color: #fff;
      color: #2CB32C; } }
  .btn-green:hover .arrow_scroll, .mfp_element_submit:hover .arrow_scroll, #mfp_button_send:hover .arrow_scroll {
    background: url(../images/page/arrow_scroll_g.png) no-repeat center;
    background-size: contain; }

.btn-gray, #mfp_button_cancel {
  color: #fff;
  padding: 15px 30px;
  font-weight: bold;
  background-color: #ccc;
  border: 2px #ccc solid; }
  @media (min-width: 768px) {
    .btn-gray:hover, #mfp_button_cancel:hover {
      background-color: #fff;
      color: #777; } }

.btn-back {
  position: relative; }
  @media (min-width: 768px) {
    .btn-back {
      width: 400px;
      text-align: center;
      position: relative;
      padding: 20px 0;
      margin: 50px auto 0;
      display: block;
      font-size: 1.8rem; } }
  @media (max-width: 768px) {
    .btn-back {
      margin-top: 20px; } }
  .btn-back i {
    position: absolute;
    left: 10px;
    top: 50%;
    margin-top: -10px; }

@media (min-width: 768px) {
  .sp_only {
    display: none; } }

@media (max-width: 768px) {
  .sp_none {
    display: none; } }

.bg-gray {
  padding: 30px 40px;
  background-color: #f3f3f3; }
  @media (max-width: 768px) {
    .bg-gray {
      padding: 15px; } }

/**************
HOME
**************/
#main_wrap {
  height: 100%;
  background-color: #1b1b1b;
  display: block; }
  @media (min-width: 768px) {
    #main_wrap {
      padding-top: 0; } }
  @media (max-width: 768px) {
    #main_wrap {
      padding-top: 60px;
      font-size: 108%; } }

#mainVisual {
  width: 100%;
  height: 790px; /*スライダー13inch*/
  overflow: hidden;
  display: block;
  position: relative; }
  @media (max-height: 720px) {
    #mainVisual {
      height: 779px; } }   /*スライダー11inch*/
  @media (max-width: 768px) {
    #mainVisual {
      height: 779px; } }
  #mainVisual .swiper-slide {
    height: 779px; }  /*スライダー13inch*/
    @media (max-height: 720px) {
      #mainVisual .swiper-slide {
        height: 779px; } } /*スライダー11inch*/
    @media (max-width: 768px) {
      #mainVisual .swiper-slide {
        height: 779px; } 
   @supports (-ms-ime-align: auto) {
  /* Edge のみ適用される */
}}

  #mainVisual .main_01 {
    background: url(../images/top/moto_0205.jpg) no-repeat center;
    background-size: cover;
    height: 100%;}
    @media (max-width: 768px) {
      #mainVisual .main_01 {
        background: url(../images/top/sp-0205.jpg) no-repeat right top;
        background-size: cover; } }
    @media (min-width: 768px) and (max-width: 1200px) {
      #mainVisual .main_01 {
        background: url(../images/top/sp-0205.jpg) no-repeat right top;
        background-size: cover; } }

  #mainVisual .main_02 {
    background: url(../images/top/13878.jpg) no-repeat center;
    background-size: cover;
    display: block;
    width: 100%;
    height: 100%; }
    @media (max-width: 768px) {
      #mainVisual .main_02 {
        background: url(../images/top/13878.jpg) no-repeat right top;
        background-size: cover; } }
    @media (min-width: 768px) and (max-width: 1200px) {
      #mainVisual .main_02 {
        background: url(../images/top/13878.jpg) no-repeat right top;
        background-size: cover; } } 

  #mainVisual .main_03 {
    background: url(../images/top/91817.jpg) no-repeat center;
    background-size: cover;
    display: block;
    width: 100%;
    height: 100%; }
    @media (max-width: 768px) {
      #mainVisual .main_03 {
        background: url(../images/top/91817.jpg) no-repeat right top;
        background-size: cover; } }
    @media (min-width: 768px) and (max-width: 1200px) {
      #mainVisual .main_03 {
        background: url(../images/top/91817.jpg) no-repeat right top;
        background-size: cover; } } 

  #mainVisual .main_text {
    height: 100%;
    display: flex;
    /* justify-content: center; 20.02.20 上下中央揃えを廃止*/ 
    align-items: center;
    flex-direction: column; }

    @media (min-width: 1200px) {
      #mainVisual .main_text {
        width: 1180px;
        margin-top: 40px; /* 0 -> 40 */
        margin-bottom: 0px;
        margin-left: 0px;
        margin-right: auto; } }
 
    @media (min-width: 1024px) and (max-width: 1200px) {
       #mainVisual .main_text {
        width: 100%;
        margin-top: 5%;
        margin-bottom: 20%;
        margin-left: 5%;
        margin-right: 25%;
        padding: 0 5%; } }

    @media (min-width: 767px) and (max-width: 1024px) {
      #mainVisual .main_text {
        width: 100%;
        margin-top: 0%;
        margin-bottom: 70%;
        margin-left:2%;
        margin-right: 25%;
        padding: 0 5%; } }

    @media (max-width: 767px) {
      #mainVisual .main_text {
         width: 100%;
        padding: 0 5%; } }

    #mainVisual .main_text .inner {
      text-align: left;
      color: #fff;
      width: 100%; }

      @media (max-width: 768px) {
        #mainVisual .main_text .inner {
          text-align: center; } }

    #mainVisual .inner_black {
      text-align: left;
      color: black;
      width: 100%; }

      @media (max-width: 768px) {
        #mainVisual .inner_black {
          text-align: center; } }


/* ----- 詳しくはこちらボタン ここから----- */
    #mainVisual .top_button {
      display:block; 
      position:relative; 
      width: 200px; 
      z-index:9998; }

      @media (min-width: 1200px) {
        #mainVisual .top_button {
          top: 540px; 
          left: 450px; }}

    @media (min-width: 1024px) and (max-width: 1200px) {
       #mainVisual .top_button {
          top: 540px; 
          left: 180px; }}

    @media (min-width: 767px) and (max-width: 1024px) {
      #mainVisual .top_button {
          top: 540px; 
          left: 180px; }}

    @media (max-width: 767px) {
      #mainVisual .top_button {
          top: 690px; 
          left: 0px; }}

/* ----- ここまで ----- */

/* ----- main_02 特典アイコン----- */
    #mainVisual .top_icon {
      display:block; 
      position:absolute; 
      width: 320px; 
      z-index:9998; }

      @media (min-width: 1200px) {
        #mainVisual .top_icon {
          top: 90px; 
          right: 0px; }}

    @media (min-width: 1024px) and (max-width: 1200px) {
       #mainVisual .top_icon {
          top: 90px; 
          right: 0px; }}

    @media (min-width: 767px) and (max-width: 1024px) {
      #mainVisual .top_icon {
          top: 90px; 
          right: 0px; }}

    @media (max-width: 767px) {
      #mainVisual .top_icon {
          top: 90px; 
          right: 0px; }}

/* ----- ここまで ----- */


      #mainVisual .main_text .inner h1 {
        font-family: 'Roboto Condensed', sans-serif;
        font-size: 6rem;
        font-weight: 700;
        letter-spacing: 0.01em;
        line-height: 1;
        margin-top: 30px;
        margin-bottom: 60px;
        text-shadow: 10px 3px rgba(0, 0, 0, 0.5);
        position: relative;
        margin-right: 300px;
        margin-left: 15%;
        opacity: 0;
        animation: fadeIn 1s cubic-bezier(0.445, 0.05, 0.55, 0.95) forwards; }

        @media (max-width: 1200px) {
          #mainVisual .main_text .inner h1 {
            text-align: left;
            font-size: 7rem; 
            margin-top: 100px;
            margin-bottom: auto;
            } }
        @media (min-width: 1023px) and (max-width: 1200px) {
          #mainVisual .main_text .inner h1 {
            font-size: 6rem;
            text-align: left;
            margin-right: 25%;
            margin-left: 0%;
            margin-top: 3%;
            margin-bottom: auto;
            } }
         @media (min-width: 767px) and (max-width: 1023px) {
          #mainVisual .main_text .inner h1 {
            font-size: 6rem;
            text-align: left;
            margin-right: 21%;
            margin-left: 0px;
            margin-top: 5%;
            margin-bottom: auto;
            } }
        @media (max-width: 767px) {
          #mainVisual .main_text .inner h1 {
            font-size: 3.0rem;
            text-align: left;
            margin-right: 0px;
            margin-left: 5%;
            margin-top: 0px;
            margin-bottom: auto; /* 95% -> auto*/
            } }

      #mainVisual .main_text .inner .top_sub_catch {
        font-size: 1.5rem;
        font-weight: bold;
        letter-spacing: 0.18em;
        text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
        position: relative;
        opacity: 0;
        margin-left: 15%;
        margin-right: 23%;
        margin-top:  3%; /* 10-> 3 */
        margin-bottom: auto;
        animation: fadeIn 1s cubic-bezier(0.445, 0.05, 0.55, 0.95) forwards 0.5s; }

        @media (max-width: 767px) {
          #mainVisual .main_text .inner .top_sub_catch {
            font-size: 1.7rem;
            letter-spacing: 0;
            margin-left: 10px;
            margin-right: 10%;
            margin-top: 330px; /* 50px -> 330px */
            margin-bottom: auto;
            line-height: 1.6; } }
    
         @media (min-width: 767px) and (max-width: 1023px) {
            #mainVisual .main_text .inner .top_sub_catch {
            font-size: 1.6rem;
            text-align: left;
            letter-spacing: 0;
            margin-left: 0px;
            margin-right: 21%;
            margin-top: 10%; /* 32 -> 10 */
            margin-bottom: 0%;
            line-height: 1.5; }
        }

       @media (min-width: 1023px) and (max-width: 1200px) {
            #mainVisual .main_text .inner .top_sub_catch {
            font-size: 1.8rem;
            text-align: left;
            letter-spacing: 0;
            margin-left: 10px;
            margin-right: 38%;
            margin-top: 70px;
            margin-bottom: auto;
            line-height: 2; }
        }

/* main_02 の文字が黒いため*/

      #mainVisual .inner_black h1 {
        font-family: 'Roboto Condensed', sans-serif;
        font-size: 6rem;
        font-weight: 700;
        letter-spacing: 0.01em;
        line-height: 1;
        margin-top: 150px;
        margin-bottom: 60px;
        /* text-shadow: 3px 3px rgba(0, 0, 0, 0.5); */
        position: relative;
        margin-right: 300px;
        margin-left: 15%;
        opacity: 0;
        animation: fadeIn 1s cubic-bezier(0.445, 0.05, 0.55, 0.95) forwards; }

        @media (max-width: 1200px) {
          #mainVisual .inner_black h1 {
            text-align: left;
            font-size: 7rem; 
            margin-top: 150px;
            margin-bottom: auto;
            } }
        @media (min-width: 1023px) and (max-width: 1200px) {
          #mainVisual .inner_black h1 {
            font-size: 6rem;
            text-align: left;
            margin-right: 25%;
            margin-left: 0%;
            margin-top: 150px;
            margin-bottom: auto;
            } }
         @media (min-width: 767px) and (max-width: 1023px) {
          #mainVisual .inner_black h1 {
            font-size: 6rem;
            text-align: left;
            margin-right: 21%;
            margin-left: 0px;
            margin-top: 150px;
            margin-bottom: auto;
            } }
        @media (max-width: 767px) {
          #mainVisual .inner_black h1 {
            font-size: 3.0rem;
            text-align: left;
            margin-right: 0px;
            margin-left: 5%;
            margin-top: 150px;
            margin-bottom: auto; /* 95% -> auto*/
            } }

      #mainVisual .inner_black .top_sub_catch {
        font-size: 1.5rem;
        font-weight: bold;
        letter-spacing: 0.18em;
        /* text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); */
        position: relative;
        opacity: 0;
        margin-left: 15%;
        margin-right: 23%;
        margin-top:  3%; /* 10-> 3 */
        margin-bottom: auto;
        animation: fadeIn 1s cubic-bezier(0.445, 0.05, 0.55, 0.95) forwards 0.5s; }

        @media (max-width: 767px) {
          #mainVisual .inner_black .top_sub_catch {
            font-size: 1.7rem;
            letter-spacing: 0;
            margin-left: 10px;
            margin-right: 10%;
            margin-top: 250px;
            margin-bottom: auto;
            line-height: 1.6; } }
    
         @media (min-width: 767px) and (max-width: 1023px) {
            #mainVisual .inner_black .top_sub_catch {
            font-size: 1.6rem;
            text-align: left;
            letter-spacing: 0;
            margin-left: 0px;
            margin-right: 21%;
            margin-top: 10%; /* 32 -> 10 */
            margin-bottom: 0%;
            line-height: 1.5; }
        }

       @media (min-width: 1023px) and (max-width: 1200px) {
            #mainVisual .inner_black .top_sub_catch {
            font-size: 1.8rem;
            text-align: left;
            letter-spacing: 0;
            margin-left: 10px;
            margin-right: 38%;
            margin-top: 70px;
            margin-bottom: auto;
            line-height: 2; }
        }

/* ここまで */

      #mainVisual .main_text .inner .top_main_smalls {
        font-size: 1.3rem;
        font-weight: bold;
        margin-top: 100px;
        margin-left: 100px;
        margin-right: auto;
        padding-right: 5px; }
       
        @media (min-width: 768px) and (max-width: 1200px) {
            #mainVisual .main_text .inner .top_main_smalls {
            font-size: 1.2rem;
            margin-top: 0px;
            text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); }
        }

        @media (max-width: 768px) {
          #mainVisual .main_text .inner .top_main_smalls {
            font-size: 1.2rem;
            margin-top: 100px;
            text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); } }

.main_02_title {
  width: 90%;
  max-width: 720px;
  position: relative;
  opacity: 0;
  transition: all .3s ease; }
  .main_02_title img {
    width: 100%; }

.main_02_sub {
  width: 90%;
  max-width: 720px;
  margin-top: 30px;
  position: relative;
  opacity: 0;
  transition: all .3s ease; }
  .main_02_sub img {
    width: 100%; }

.ct_btn {
  display: block;
  width: 60%;
  max-width: 400px;
  margin: 30px auto 0;
  position: relative;
  opacity: 0;
  transition: all .3s ease; }
  .ct_btn:hover {
    opacity: 0.7; }
  .ct_btn img {
    width: 100%; }

.swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 100px;
  left: 0;
  width: 100%; }
  @media (max-width: 768px) {
    .swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
      bottom: 10px; } }

.swiper-slide-active .main_02_title {
  animation: fadeIn 1s cubic-bezier(0.445, 0.05, 0.55, 0.95) forwards; }
.swiper-slide-active .main_02_sub {
  animation: fadeIn 1s cubic-bezier(0.445, 0.05, 0.55, 0.95) forwards 0.3s; }
.swiper-slide-active .ct_btn {
  animation: fadeIn 1s cubic-bezier(0.445, 0.05, 0.55, 0.95) forwards 0.6s; }

@keyframes mainCatch {
  0% {
    top: 30px;
    opacity: 0; }
  100% {
    top: 0;
    opacity: 1; } }
.top-service-section {
  box-sizing: border-box;
  width: 100%;
  max-width: 1360px;
  margin: 0 auto; }
  @media (min-width: 768px) {
    .top-service-section {
      padding: 0 80px;
      position: relative;
      top: -80px;
      z-index: 3; } }
  @media (min-width: 768px) and (max-width: 1200px) {
    .top-service-section {
      padding: 0 20px; } }
  @media (max-width: 768px) {
    .top-service-section {
      padding: 20px 8%; } }

.top_service_box {
  display: block;
  box-sizing: border-box;
  padding: 30px 0;
  text-align: center;
  color: #fff;
  box-shadow: 20px 20px 10px rgba(0, 0, 0, 0.3);
  position: relative;
  overflow: hidden; }
  @media (min-width: 768px) {
    .top_service_box {
      width: 23%;
      float: left;
      position: relative;
      top: 30px;
      opacity: 0; }
      .top_service_box:first-of-type {
        animation: top_service_box 1s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1s forwards; }
      .top_service_box:nth-of-type(2) {
        animation: top_service_box 1s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1.5s forwards; }
      .top_service_box:nth-of-type(3) {
        animation: top_service_box 1s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2s forwards; }
      .top_service_box:nth-of-type(4) {
        animation: top_service_box 1s cubic-bezier(0.445, 0.05, 0.55, 0.95) 2.5s forwards; } }
  .top_service_box .btn-abs {
    padding: 15px 0;
    text-align: center;
    display: block;
    width: 200px;
    margin: 15px auto 0;
    font-weight: bold;
    position: relative;
    -moz-transition: all 0.3s ease 0s;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
    background-color: transparent;
    color: #fff; }
    .top_service_box .btn-abs i {
      position: absolute;
      right: 10px;
      top: 50%;
      margin-top: -7px; }
    @media (min-width: 768px) {
      .top_service_box .btn-abs {
        box-shadow: inset 0 0 0 2px #fff; }
        .top_service_box .btn-abs:hover {
          background-color: #fff;
          color: #1b1b1b; } }
    @media (max-width: 768px) {
      .top_service_box .btn-abs {
        font-size: 1.6rem;
        border: 2px #fff solid; } }
  @media (min-width: 768px) {
    .top_service_box:not(:last-child) {
      margin-right: 2%; } }
  @media (max-width: 768px) {
    .top_service_box:not(:last-child) {
      margin-bottom: 20px; } }
  .top_service_box:first-of-type {
    background-color: #2CB32C; }   /*三色バナー*/
  .top_service_box:nth-of-type(2) {
    background-color: #2652D8; }
  .top_service_box:nth-of-type(3) {
    background-color: #F9BC05; }
  .top_service_box:nth-of-type(4) {
    background-color: #FF5192; }

  @media (max-width: 768px) {
    .top_service_box .slide_inner {
      display: none; } }
  .top_service_box .top_service_text {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.65;
    color: #fff;
    text-align: center;
    box-sizing: border-box;
    padding: 0 5%; }
    @media (max-width: 768px) {
      .top_service_box .top_service_text {
        font-size: 1.5rem; } }

@keyframes top_service_box {
  0% {
    opacity: 0;
    top: 30px; }
  100% {
    opacity: 1;
    top: 0; } }
.top_service_title {
  width: 100%;
  text-align: center;
  position: relative; }
  @media (min-width: 768px) {
    .top_service_title {
      height: 110px;
      display: table; }
      .top_service_title i {
        display: none; } }
  @media (max-width: 768px) {
    .top_service_title i {
      position: absolute;
      top: 50%;
      right: 10px;
      margin-top: -10px;
      -moz-transition: all 0.3s ease 0s;
      -webkit-transition: all 0.3s ease 0s;
      transition: all 0.3s ease 0s; }
      .top_service_title i:hover {
        color: #fff; }
      .top_service_title i.dtop {
        -moz-transform: rotateX(180deg);
        -webkit-transform: rotateX(180deg);
        -o-transform: rotateX(180deg);
        -ms-transform: rotateX(180deg); } }
  .top_service_title .inner {
    color: #fff; }
    @media (min-width: 768px) {
      .top_service_title .inner {
        display: table-cell;
        vertical-align: middle; } }
    .top_service_title .inner h2 {
      font-size: 2.65rem;
      line-height: 1.25; }
      @media (min-width: 768px) and (max-width: 1200px) {
        .top_service_title .inner h2 {
          font-size: 2.05rem; } }
      @media (max-width: 768px) {
        .top_service_title .inner h2 {
          font-size: 1.8rem; } }
    .top_service_title .inner .en_text {
      font-family: 'Roboto Condensed', sans-serif;
      font-size: 1.5rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      margin-top: 5px; }

.top_service_img {
  width: 100%;
  height: 108px;
  position: relative;
  margin: 15px 0 25px; }
  @media (max-width: 768px) {
    .top_service_img {
      height: auto;
      text-align: center; } }
  @media (min-width: 768px) {
    .top_service_img img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      margin: auto;
      width: auto;
      height: auto;
      max-height: 110% !important; } }
  @media (max-width: 768px) {
    .top_service_img img {
      max-width: 90%; } }

.topNews {
  padding: 70px 0 120px;
  background-color: #fff;
  border-top: 1px #ddd solid;
  border-bottom: 1px #ddd solid; }
  @media (max-width: 768px) {
    .topNews {
      padding: 40px 0; } }

.topNewsHead {
  text-align: center;
  box-sizing: border-box; }
  @media (min-width: 768px) {
    .topNewsHead {
      width: 100%;
      max-width: 960px;
      margin: 0 auto 30px;
      position: relative;
      text-align: left;
      border-bottom: 2px #ddd solid;
      padding-bottom: 20px; } }
  @media (max-width: 768px) {
    .topNewsHead {
      text-align: left;
      position: relative; } }
  .topNewsHead .topNewsHeadh2 {
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 4.5rem;
    font-weight: 700;
    line-height: 1.2; }
    @media (max-width: 768px) {
      .topNewsHead .topNewsHeadh2 {
        font-size: 2.6rem; } }
  .topNewsHead .topNewsHead_under {
    font-weight: bold;
    font-size: 1.8rem; }
  .topNewsHead .btn-green, .topNewsHead .mfp_element_submit, .topNewsHead #mfp_button_send {
    display: block;
    width: 120px;
    margin: 20px auto 0;
    text-align: center; }
    @media (min-width: 768px) {
      .topNewsHead .btn-green, .topNewsHead .mfp_element_submit, .topNewsHead #mfp_button_send {
        position: absolute;
        right: 0;
        top: 0; } }
    @media (max-width: 768px) {
      .topNewsHead .btn-green, .topNewsHead .mfp_element_submit, .topNewsHead #mfp_button_send {
        width: 90px;
        position: absolute;
        right: 0;
        top: 0;
        margin-top: 0;
        padding: 10px; } }

@media (min-width: 768px) {
  .topNewsBox {
    max-width: 960px;
    margin: 0 auto; } }
@media (max-width: 768px) {
  .topNewsBox {
    margin-top: 15px; } }
.topNewsBox .topNewsTable {
  width: 100%; }
  .topNewsBox .topNewsTable th {
    text-align: left;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 1.6rem;
    font-weight: 700; }
    @media (min-width: 768px) {
      .topNewsBox .topNewsTable th {
        padding: 0 0 20px;
        width: 12%;
        border-bottom: 1px solid #ccc; } }
    @media (max-width: 768px) {
      .topNewsBox .topNewsTable th {
        display: block;
        width: 100%;
        color: #666;
        box-sizing: border-box;
        padding: 10px 0 0; } }
  .topNewsBox .topNewsTable td {
    padding: 0 10px 20px;
    border-bottom: 1px solid #ccc; }
    @media (max-width: 768px) {
      .topNewsBox .topNewsTable td {
        display: block;
        width: 100%;
        box-sizing: border-box;
        padding: 0 0 10px;
        font-size: 90%;
        border-bottom: 1px #ddd solid; } }
    .topNewsBox .topNewsTable td h3 a {
      color: #666; }
    .topNewsBox .topNewsTable td p {
      color: #666; }
  @media (min-width: 768px) {
    .topNewsBox .topNewsTable tr:not(:first-child) td, .topNewsBox .topNewsTable tr:not(:first-child) th {
      padding-top: 20px; } }

.btn-s1 {
  background-color: #0068b7;
  text-align: center;
  color: #fff;
  line-height: 52px;
  width: 190px;
  display: block;
  font-weight: bold;
  position: relative;
  -moz-transition: all 0.3s ease 0s;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s; }
  .btn-s1:hover {
    color: #fff;
    background-color: #06bec9; }

.arrow_right {
  background: url(../images/common/arrow_right.html) no-repeat;
  width: 7px;
  height: 12px;
  position: absolute;
  top: 50%;
  margin-top: -6px;
  right: 10px; }

.link_section {
  background-color: #f3f3f3;
  box-sizing: border-box;
  padding: 50px 0 120px; }
  @media (max-width: 768px) {
    .link_section {
      padding: 30px 4%; } }
  .link_section .inner {
    max-width: 1016px;
    margin: 0 auto; }
    @media (min-width: 768px) {
      .link_section .inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center; } }
    @media (max-width: 768px) {
      .link_section .inner {
        *zoom: 1; }
        .link_section .inner:after {
          content: "";
          display: table;
          clear: both; } }

.bnr_link {
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden; }
  @media (min-width: 768px) {
    .bnr_link {
      width: 31.5%;
      height: 160px; } }
  @media (max-width: 768px) {
    .bnr_link {
      float: left;
      width: 49%;
      height: 86px;
      margin-bottom: 10px; }
      .bnr_link:nth-child(odd) {
        margin-right: 2%; } }
  .bnr_link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto; }

.bnt_link_tbox {
  display: table;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 2; }
  .bnt_link_tbox .inner {
    display: table-cell;
    vertical-align: middle;
    text-align: center; }
    .bnt_link_tbox .inner .en_text {
      font-family: 'Roboto Condensed', sans-serif;
      font-size: 3rem;
      font-weight: 700;
      line-height: 1.3;
      letter-spacing: 0.03em;
      transition: color 0.5s cubic-bezier(0.445, 0.05, 0.55, 0.95); }
      @media (max-width: 768px) {
        .bnt_link_tbox .inner .en_text {
          font-size: 1.4rem; } }
    .bnt_link_tbox .inner h3 {
      font-size: 1.5rem;
      letter-spacing: 0.05em;
      transition: color 0.5s cubic-bezier(0.445, 0.05, 0.55, 0.95); }
      @media (max-width: 768px) {
        .bnt_link_tbox .inner h3 {
          font-size: 1.2rem;
          margin-bottom: 2px; } }
  .bnt_link_tbox:hover .en_text {
    color: #c4d11c; }
  .bnt_link_tbox:hover h3 {
    color: #c4d11c; }

.bottom_contact {
  background-color: #2CB32C;
  color: #fff;
  position: relative;
  max-width: 1040px;
  margin: 0 auto;
  box-sizing: border-box; }
  @media (min-width: 768px) {
    .bottom_contact {
      padding: 30px 50px;
      top: -65px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; } }
  @media (min-width: 768px) and (max-width: 1200px) {
    .bottom_contact {
      padding: 20px 4%; } }
  @media (max-width: 768px) {
    .bottom_contact {
      padding: 30px 7.5%; } }
  .bottom_contact .bottom_contact_btn {
    background-color: #2CB32C;
    color: #fff;
    font-weight: bold;
    width: 400px;
    text-align: center;
    display: block;
    line-height: 65px;
    font-size: 1.8rem;
    -moz-transition: all 0.3s ease 0s;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
    box-sizing: border-box; }
    @media (min-width: 768px) {
      .bottom_contact .bottom_contact_btn {
        box-shadow: inset 0 0 0 2px #fff; }
        .bottom_contact .bottom_contact_btn:hover {
          background-color: #fff;
          color: #2CB32C; } }
    @media (max-width: 768px) {
      .bottom_contact .bottom_contact_btn {
        width: 298px;
        margin: 15px auto 0;
        font-size: 1.6rem;
        border: 2px #fff solid; } }
    .bottom_contact .bottom_contact_btn i {
      margin-right: 5px;
      font-size: 2rem; }
  .bottom_contact .bc_title {
    font-size: 2.1rem;
    font-weight: bold; }
    @media (min-width: 768px) and (max-width: 1200px) {
      .bottom_contact .bc_title {
        font-size: 1.9rem; } }
    @media (max-width: 768px) {
      .bottom_contact .bc_title {
        font-size: 1.8rem;
        line-height: 1.65; } }
  @media (min-width: 768px) and (max-width: 1200px) {
    .bottom_contact .bc_bottom {
      padding-right: 40px; } }
  @media (min-width: 768px) and (max-width: 1200px) {
    .bottom_contact .bc_bottom br {
      display: none; } }


/**************
TOP以外共通
**************/
#pageTitle {
  text-align: center;
  background: url(../images/page/title_bg.png) no-repeat center;
  background-size: cover;
  display: table;
  width: 100%; }
  @media (min-width: 768px) {
    #pageTitle {
      height: 290px; } }
  @media (max-width: 768px) {
    #pageTitle {
      height: 180px; } }
  #pageTitle .inner {
    display: table-cell;
    width: 100%;
    text-align: center;
    vertical-align: middle; }
  #pageTitle h1 {
    font-size: 3.6rem;
    color: #fff;
    line-height: 1.4;
    position: relative;
    top: 30px;
    opacity: 0;
    animation: fadeIn 1s cubic-bezier(0.445, 0.05, 0.55, 0.95) forwards; }
    @media (max-width: 768px) {
      #pageTitle h1 {
        font-size: 2.1rem;
        line-height: 1.65;
        text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); } }
  #pageTitle .en_title {
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    position: relative;
    top: 30px;
    opacity: 0;
    animation: fadeIn 1s cubic-bezier(0.445, 0.05, 0.55, 0.95) forwards; }
    @media (max-width: 768px) {
      #pageTitle .en_title {
        font-size: 1.5rem;
        text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); } }

@keyframes fadeIn {
  0% {
    opacity: 0;
    top: 30px; }
  100% {
    opacity: 1;
    top: 0; } }
.breadcrumbs {
  background-color: #1b1b1b;
  padding: 5px 0;
  font-size: 12px;
  box-sizing: border-box;
  color: #ccc; }
  .breadcrumbs a {
    color: #c4d11c;
    font-weight: bold; }

#pageContent {
  background-color: #fff; }

.page_sections {
  padding: 30px 0 15px; }
  .page_sections:last-of-type {
    padding-bottom: 130px; }
    @media (max-width: 768px) {
      .page_sections:last-of-type {
        padding-bottom: 40px; } }
  @media (max-width: 768px) {
    .page_sections {
      padding: 20px 0 15px; } }
  .page_sections__gray {
    background-color: #f3f3f3; }
  .page_sections__black {
    background-color: #1b1b1b; }
    .page_sections__black .heading1 h2 {
      color: #fff; }
  .page_sections__white {
    background-color: #fff; }

.shortwrap {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto; }
  @media (max-width: 768px) {
    .shortwrap {
      width: 92%; } }

/**************
会社概要
**************/
.index_top_text {
  text-align: center;
  margin-bottom: 60px; }
  @media (max-width: 768px) {
    .index_top_text {
      margin-bottom: 30px; } }
  .index_top_text h2 {
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 5rem;
    font-weight: 700; }
    @media (max-width: 768px) {
      .index_top_text h2 {
        font-size: 3rem; } }
  .index_top_text .index_sub_text {
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.15em; }
    @media (max-width: 768px) {
      .index_top_text .index_sub_text {
        font-size: 1.6rem;
        letter-spacing: 0;
        margin-top: 20px;
        line-height: 1.6; } }

.company_index {
  width: 100%; }
  @media (min-width: 768px) {
    .company_index {
      display: inline-flex;
      flex-wrap: wrap;
      align-items: flex-start;
      align-content: flex-start;
      justify-content: center !important; } }
  .company_index .company_index_box {
    display: block;
    -moz-transition: all 0.3s ease 0s;
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s; }
    .company_index .company_index_box:hover {
      opacity: 0.8; }
    @media (min-width: 768px) {
      .company_index .company_index_box {
        width: 29.33%;
        padding: 0 2%;
        margin-bottom: 40px; }
        .company_index .company_index_box img {
          max-width: 100%; } }
    @media (max-width: 768px) {
      .company_index .company_index_box {
        margin-bottom: 25px; } }
    .company_index .company_index_box .index_img {
      width: 100%; }
      @media (min-width: 768px) {
        .company_index .company_index_box .index_img {
          margin-bottom: 10px; } }

.index_link_text {
  margin-top: 3px;
  background: url(../images/common/arrow_g.svg) no-repeat left 4px;
  background-size: 15px 15px;
  padding-left: 22px;
  color: #1b1b1b;
  font-weight: bold;
  font-size: 1.5rem; }
  @media (max-width: 768px) {
    .index_link_text {
      color: #666;
      text-decoration: underline; } }

.index_img {
  width: 100%; }
  @media (min-width: 768px) {
    .index_img {
      overflow: hidden; } }
  .index_img img {
    max-width: 100%; }

.table-s1 {
  width: 100%;
  margin-left: auto;
  margin-right: auto; }
  .table-s1 th {
    padding: 12px 20px;
    border: 1px #ccc solid;
    background: #f3f3f3;
    vertical-align: middle; }
    @media (min-width: 768px) {
      .table-s1 th {
        width: 200px; } }
    @media (max-width: 768px) {
      .table-s1 th {
        padding: 5px;
        border: 0;
        display: block;
        width: 100%;
        box-sizing: border-box;
        text-align: left; } }
  .table-s1 td {
    padding: 12px 20px;
    border: 1px #ccc solid;
    background: #FFF; }
    @media (max-width: 768px) {
      .table-s1 td {
        padding: 5px 0;
        display: block;
        border: 0;
        width: 100%; } }

.overview {
  width: 100%;
  margin: 20px auto 0; }
  .overview th {
    border-bottom: 1px #ccc solid;
    padding: 30px 0;
    text-align: left;
    width: 250px; }
    @media (max-width: 768px) {
      .overview th {
        display: block;
        width: 100%;
        padding: 10px 0 0;
        border-bottom: 1px #ddd dotted;
        font-weight: bold;
        color: #666;
        line-height: 1.5; } }
    .overview th .en_text {
      color: #666;
      margin-top: 3px;
      font-family: Arial, Helvetica, "sans-serif"; }
      @media (max-width: 768px) {
        .overview th .en_text {
          margin: 0 0 5px;
          font-size: 1.3rem; } }
  .overview td {
    border-bottom: 1px #ccc solid;
    padding: 30px 0;
    vertical-align: middle; }
    @media (max-width: 768px) {
      .overview td {
        display: block;
        width: 100%;
        padding: 10px 0;
        line-height: 1.5; } }
    .overview td .en_text {
      color: #666;
      font-family: Arial, Helvetica, "sans-serif"; }
      @media (min-width: 768px) {
        .overview td .en_text {
          margin-top: 3px; } }
      @media (max-width: 768px) {
        .overview td .en_text {
          font-size: 1.3rem; } }

.list_deci {
  margin-left: 15px; }
  .list_deci li {
    list-style-type: decimal;
    line-height: 1.6; }
    .list_deci li:not(:last-child) {
      margin-bottom: 5px; }

.gmap {
  width: 100%;
  border: 1px #ccc solid;
  border-radius: 5px;
  overflow: hidden; }
  @media (min-width: 768px) {
    .gmap {
      height: 450px; } }
  @media (max-width: 768px) {
    .gmap {
      height: 300px; } }
  .gmap iframe {
    width: 100%; }

.access {
  text-align: center;
  padding-top: 20px; }

.borderBox {
  border: 1px #ccc solid;
  background-color: #fff;
  max-width: 900px;
  padding: 20px 30px;
  box-sizing: border-box;
  margin: 30px auto; }
  @media (max-width: 768px) {
    .borderBox {
      padding: 15px 5%;
      margin: 15px auto; } }
  .borderBox h4 {
    font-size: 1.7rem;
    margin-bottom: 3px;
    color: #666; }

@media (min-width: 768px) {
  .p_img {
    float: left;
    width: 35%; } }
.p_img img {
  max-width: 100%; }
  @media (max-width: 768px) {
    .p_img img {
      display: block;
      margin: 0 auto; } }

@media (min-width: 768px) {
  .message_box {
    padding-left: 40%; } }
@media (max-width: 768px) {
  .message_box {
    margin-top: 20px; } }
.message_box p {
  font-size: 1.5rem; }
  .message_box p:not(:last-child) {
    margin-bottom: 2em; }

.p_name {
  margin-top: 10px; }
  .p_name span {
    font-size: 2.2rem; }

/**************
サービス
**************/
.service_index .service_index_box {
  margin-bottom: 40px;
  display: block; }
  @media (min-width: 768px) {
    .service_index .service_index_box {
      -moz-transition: all 0.3s ease 0s;
      -webkit-transition: all 0.3s ease 0s;
      transition: all 0.3s ease 0s;
      width: 48%;
      float: left; }
      .service_index .service_index_box:nth-child(odd) {
        margin-right: 4%; }
      .service_index .service_index_box:hover {
        opacity: 0.8; } }
  @media (max-width: 768px) {
    .service_index .service_index_box {
      margin-bottom: 25px; } }

.system_texts {
  line-height: 1.8;
  font-size: 1.5rem; }
  .system_texts p:not(:last-child) {
    margin-bottom: 2rem; }

.service_img_box {
  width: 100%;
  overflow: auto; }
  @media (max-width: 768px) {
    .service_img_box img {
      max-width: 100%; } }

.figure_img {
  max-width: 100%;
  display: block; }
  .figure_img img {
    display: block;
    max-width: 100%; }

@media (min-width: 768px) {
  .fx-img-light {
    max-width: 550px; } }

.systems {
  background-color: #fff; }
  .systems .inner {
    padding: 40px 50px; }
    @media (max-width: 768px) {
      .systems .inner {
        padding: 20px 5%; } }

.fx_img02 {
  display: block; }
  @media (min-width: 768px) {
    .fx_img02 {
      max-width: 540px; } }

.imgList {
  margin-left: auto;
  margin-right: auto; }

@media (min-width: 768px) {
  .imgList li {
    width: 32%;
    float: left;
    margin-right: 2%; } }
@media (max-width: 768px) {
  .imgList li {
    width: 100%;
    margin-bottom: 30px; } }

.imgList li:nth-child(3n) {
  margin-right: 0; }

.imgList li h3 {
  margin: 9px 0; }
  @media (max-width: 1200px) {
    .imgList li h3 {
      margin: 8px 0;
      font-size: 15px; } }

.imgList li img {
  max-width: 100%; }

.imgList li a {
  -webkit-transition: opacity 0.3s ease 0s;
  transition: opacity 0.3s ease 0s; }

.imgList li a:hover {
  opacity: 0.8; }

.caption {
  color: #666;
  font-size: 1.3rem; }

.divider-full {
  height: 1px;
  background-color: #ccc;
  width: 100%; }

.sys_texts {
  padding: 15px 10px 0; }
  @media (max-width: 768px) {
    .sys_texts {
      padding: 15px 0 0; } }
  .sys_texts .borderBox {
    margin-top: 15px;
    margin-bottom: inherit; }

.service_table {
  width: 100%; }
  .service_table th {
    background-color: #eeffed;
    border-bottom: 3px #fff solid;
    padding: 10px; }
    @media (min-width: 768px) {
      .service_table th {
        width: 30%; } }
    @media (max-width: 768px) {
      .service_table th {
        width: 100%;
        display: block;
        box-sizing: border-box;
        border-bottom: 0; } }
  .service_table td {
    background-color: #f3f3f3;
    border-bottom: 3px #fff solid;
    padding: 10px; }
    @media (max-width: 768px) {
      .service_table td {
        width: 100%;
        display: block;
        box-sizing: border-box; } }

.list_disc {
  margin-left: 15px; }
  .list_disc li {
    list-style-type: disc; }

@media (min-width: 768px) {
  .right-img {
    float: right;
    max-width: 320px; } }

@media (min-width: 768px) {
  .left-content {
    padding-right: 360px; } }
@media (max-width: 768px) {
  .left-content {
    margin-top: 15px; } }

.serviceImg {
  background-color: #fff;
  padding: 3px;
  border: 1px #ddd solid;
  box-sizing: border-box; }
  @media (min-width: 768px) {
    .serviceImg {
      float: right;
      max-width: 410px; } }
  .serviceImg img {
    max-width: 100%; }

@media (min-width: 768px) {
  .service-left {
    padding-right: 450px; } }
@media (max-width: 768px) {
  .service-left {
    margin-top: 15px; } }

.s-table {
  font-size: 1.3rem;
  width: 100%; }
  @media (min-width: 768px) {
    .s-table {
      max-width: 410px;
      float: right; } }
  @media (max-width: 768px) {
    .s-table {
      margin-top: 15px; } }
  .s-table th {
    background-color: #c4d11c;
    padding: 2px 5px;
    border: 1px #ddd solid; }
  .s-table td {
    background-color: #fff;
    border: 1px #ddd solid;
    padding: 2px 5px;
    width: 50%; }

/**************
導入事例
**************/
.caseSection {
  margin-top: 30px;
  padding: 30px;
  border: 3px #ddd solid;
  background: url(../images/common/note_bg.png); }
  @media (max-width: 768px) {
    .caseSection {
      margin-top: 15px;
      padding: 10px; } }
  .caseSection:not(:first-of-type) {
    margin-top: 60px; }
    @media (max-width: 768px) {
      .caseSection:not(:first-of-type) {
        margin-top: 30px; } }

.caseTop {
  border: 1px #ddd solid;
  padding: 30px 50px;
  margin-bottom: 50px;
  background-color: #fff; }
  @media (max-width: 768px) {
    .caseTop {
      padding: 15px 5%;
      margin-bottom: 25px; } }

.case_company {
  font-size: 3rem;
  line-height: 1.3; }
  @media (min-width: 768px) {
    .case_company {
      float: left;
      width: 50%; } }
  @media (max-width: 768px) {
    .case_company {
      margin-bottom: 10px; } }
  .case_company span {
    color: #888;
    font-size: 1.6rem;
    font-weight: normal;
    display: block; }

.case_voice {
  font-size: 1.9rem;
  font-weight: bold;
  line-height: 1.5; }
  @media (min-width: 768px) {
    .case_voice {
      float: left;
      position: relative;
      width: 50%;
      box-sizing: border-box;
      padding: 0 30px; } }
  @media (max-width: 768px) {
    .case_voice {
      font-size: 1.7rem; } }
  .case_voice::before {
    width: 2px;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: #ddd;
    content: '';
    display: block; }

.case_product {
  margin-top: 15px;
  padding: 10px;
  background-color: #f3f3f3; }
  .case_product dt {
    padding: 10px;
    background-color: #2CB32C;
    color: #ffffff;
    font-size: 1.3rem;
    font-weight: bold; }
    @media (min-width: 768px) {
      .case_product dt {
        float: left; } }
    @media (max-width: 768px) {
      .case_product dt {
        display: block;
        padding: 7px 5%;
        box-sizing: border-box;
        width: 100%; } }
  .case_product dd {
    padding: 10px;
    float: left; }

.case_text {
  color: #777;
  font-size: 108%;
  line-height: 1.4; }
  .case_text.task {
    padding: 20px;
    margin-bottom: 20px; }

@media (min-width: 768px) {
  .case_block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; } }
@media (min-width: 768px) {
  .case_block .case_bb {
    width: 48%; } }
.case_block .case_bb h4 {
  padding: 10px 20px;
  background-color: #00a0e9;
  color: #fff;
  font-size: 2rem; }
.case_block .case_bb:first-child h4 {
  background-color: #22ac38; }
.case_block .case_bb .inner {
  border: 1px #ddd solid;
  width: 100%;
  box-sizing: border-box;
  background-color: #fff; }
  @media (min-width: 768px) {
    .case_block .case_bb .inner {
      padding: 20px 25px;
      height: 160px;
      display: table; } }
  @media (min-width: 768px) {
    .case_block .case_bb .inner .inner-table {
      display: table-cell;
      vertical-align: middle; } }
  @media (max-width: 768px) {
    .case_block .case_bb .inner .inner-table {
      padding: 15px; } }

.list_b_circle li {
  position: relative;
  padding-left: 12px; }
  .list_b_circle li:not(:last-child) {
    margin-bottom: 5px; }
  .list_b_circle li::before {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #c4d11c;
    display: block;
    content: '';
    position: absolute;
    left: 0;
    top: 7px; }

.arrow_scroll {
  display: block;
  width: 30px;
  height: 12px;
  background: url(../images/page/arrow_scroll.png) no-repeat center;
  background-size: contain; }

.btn-scroll {
  padding-bottom: 23px;
  position: relative;
  box-sizing: border-box; }
  @media (min-width: 768px) {
    .btn-scroll {
      width: 300px; } }
  @media (max-width: 768px) {
    .btn-scroll {
      padding: 12px 3% 20px;
      width: 48%;
      display: inline-block;
      font-size: 1.3rem;
      line-height: 1.4; }
      .btn-scroll:first-of-type {
        margin-right: 2%; } }
  .btn-scroll .arrow_scroll {
    position: absolute;
    left: 50%;
    bottom: 6px;
    margin-left: -15px; }

/**************
archive,single
**************/
@media (min-width: 768px) {
  .leftColumn {
    width: 72%;
    float: left; } }

@media (min-width: 768px) {
  .rightColumn {
    width: 23%;
    float: right; } }

.side_list {
  box-sizing: border-box; }
  .side_list li:not(:last-child) {
    margin-bottom: 5px; }
  .side_list li a {
    display: block;
    border: 2px #ddd solid;
    background: url(../images/common/arrow_g.svg) no-repeat 5px 20px #fff;
    background-size: 13px 13px;
    padding: 15px 10px 15px 25px;
    color: #555; }
    @media (min-width: 768px) {
      .side_list li a {
        -moz-transition: all 0.3s ease 0s;
        -webkit-transition: all 0.3s ease 0s;
        transition: all 0.3s ease 0s; }
        .side_list li a:hover {
          background-color: #c4d11c;
          border: 2px #c4d11c solid;
          color: #fff; } }

.single_date {
  color: #777;
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 10px; }

.single_title {
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.4; }
  .single_title::after {
    display: block;
    content: '';
    width: 80px;
    height: 1px;
    background-color: #c4d11c;
    margin: 25px 0 40px; }

@media (min-width: 768px) {
  .single_content {
    font-size: 112%; } }

.single_bottom {
  margin-top: 50px;
  border-top: 1px #ddd solid;
  padding-top: 20px; }
  @media (max-width: 768px) {
    .single_bottom {
      margin-top: 25px;
      padding-top: 15px; } }

.cat_tag span {
  background-color: #bbb;
  display: inline-block;
  margin-right: 2px;
  font-size: 1.2rem;
  color: #fff;
  padding: 1px 10px; }

.search-list li {
  padding: 20px 0;
  border-bottom: 1px #ddd solid; }
  .search-list li dl dt {
    font-size: 1.6rem;
    margin-bottom: 10px; }
  .search-list li dl dd {
    font-size: 1.3rem;
    color: #777; }

/**************
お問い合わせ
**************/
.conta_box {
  border: 5px #c96767 solid;
  background-color: #ffe9e9;
  text-align: center;
  padding: 30px 0;
  margin-bottom: 20px;
  box-shadow: 0 3px 0 #eee;
  font-size: 1.8rem; }
  .conta_box .conta_num {
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.5; }
    .conta_box .conta_num span {
      font-size: 3rem;
      text-decoration: underline; }
    .conta_box .conta_num__email {
      max-width: 320px;
      margin: 30px auto 0; }
      .conta_box .conta_num__email img {
        max-width: 100%; }

.p-form-list {
  border-top: 1px solid #d3d3d3;
  margin: 0 auto;
  width: 100%; }

.p-form-list__item {
  border-bottom: 1px solid #d3d3d3;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media (max-width: 768px) {
    .p-form-list__item {
      display: block; } }

.p-form-list__header {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 18px 40px 18px 0;
  width: 32%; }
  @media (max-width: 768px) {
    .p-form-list__header {
      display: block;
      padding: 10px 0 0;
      width: 100%;
      text-align: left;
      -webkit-box-align: left;
      -webkit-align-items: left;
      -ms-flex-align: left;
      align-items: left; } }
  @media (max-width: 768px) {
    .p-form-list__header br {
      display: none; } }

.p-form-list__title {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6666666667; }
  @media (max-width: 768px) {
    .p-form-list__title {
      display: inline-block;
      margin-right: 10px; } }

.c-required {
  background: #e64949; }

.c-required, .c-optional {
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  display: inline-block;
  padding: 4px 11px;
  position: relative; }
  @media (max-width: 768px) {
    .c-required, .c-optional {
      padding: 0 7px 1px; } }

.p-form-list__content {
  font-size: 15px;
  line-height: 1.6666666667;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 20px 0; }
  @media (max-width: 768px) {
    .p-form-list__content {
      padding: 10px 0 15px; } }

input, button, textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.p-form-list__content .c-input, .p-form-list__content .c-select, .p-form-list__content .c-textarea {
  max-width: 480px; }
  @media (min-width: 768px) and (max-width: 1200px) {
    .p-form-list__content .c-input, .p-form-list__content .c-select, .p-form-list__content .c-textarea {
      max-width: 95%; } }
  @media (max-width: 768px) {
    .p-form-list__content .c-input, .p-form-list__content .c-select, .p-form-list__content .c-textarea {
      max-width: 100%; } }

.c-input, .c-select, .c-textarea {
  background: #fff;
  border: 1px solid #d3d3d3;
  -webkit-transition: background-color 100ms, border-color 100ms;
  transition: background-color 100ms, border-color 100ms;
  width: 100%; }

.c-input {
  height: 40px;
  padding: 2px 10px; }
  @media (max-width: 768px) {
    .c-input {
      height: auto;
      padding: 8px 4%;
      box-sizing: border-box; } }

.c-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url(../images/common/bg-select.html);
  background-position: right center;
  background-repeat: no-repeat;
  background-size: 22px 10px;
  border-radius: 0;
  cursor: pointer;
  height: 40px;
  padding: 2px 10px; }

.c-radio-list {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -20px -5px 0; }

.c-radio-list__item {
  margin: 0 0 5px 0; }
  @media (max-width: 768px) {
    .c-radio-list__item {
      text-align: left; } }

form#mailformpro .c-radio-list__item label {
  cursor: pointer;
  margin-right: 20px; }
  @media (max-width: 768px) {
    form#mailformpro .c-radio-list__item label {
      margin-right: 10px; } }

input[type="radio"] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
  border-radius: 50%; }

.c-radio {
  margin-right: 5px;
  position: relative;
  top: -.1em; }

form#mailformpro label.mfp_checked {
  padding: 0;
  border: 0;
  background-color: transparent;
  box-shadow: 0 0 0 transparent; }

form#mailformpro label.mfp_not_checked {
  padding: 0;
  border: 0; }

.c-textarea {
  height: 200px;
  width: 480px;
  padding: 8px 10px; }
  @media (min-width: 768px) and (max-width: 1200px) {
    .c-textarea {
      width: auto;
      max-width: 95%; } }
  @media (max-width: 768px) {
    .c-textarea {
      box-sizing: border-box;
      width: 100%;
      height: 120px; } }

.form-btn {
  margin-top: 30px;
  text-align: center; }

.mfp_element_submit, .mfp_element_reset, .mfp_element_button {
  padding: 18px 0;
  text-align: center;
  width: 280px;
  cursor: pointer; }
  @media (min-width: 1200px) {
    .mfp_element_submit, .mfp_element_reset, .mfp_element_button {
      transition: all 0.3s ease 0s; } }
  @media (max-width: 768px) {
    .mfp_element_submit, .mfp_element_reset, .mfp_element_button {
      width: 48%;
      padding: 15px 0; } }

@media (max-width: 768px) {
  .mfp_element_submit {
    width: 80%; } }

.mfp_element_reset {
  border: 2px #777 solid;
  color: #777;
  background-color: #fff; }

.mfp_element_reset:hover {
  background-color: #eee; }

.mfp_ok {
  width: 16px;
  margin-top: 5px !important; }

.privacy {
  margin-top: 80px; }

.list-s1 {
  margin-left: 15px; }
  .list-s1 li {
    list-style: disc; }

.section_box {
  padding-bottom: 30px; }

@media (min-width: 768px) {
  .f_right {
    float: right;
    margin-left: 20px; } }
@media (max-width: 768px) {
  .f_right {
    margin: 0 auto 15px; } }

@media (max-width: 768px) {
  .overflowBox {
    overflow-x: auto; } }

.form-btn {
  margin-top: 30px;
  text-align: center; }

input[type="radio"] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
  border-radius: 50%; }

input[type="checkbox"] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox;
  border-radius: 50%; }

.c-radio, .c-checkbox {
  margin-right: 5px;
  position: relative;
  top: -.1em; }

.help-block {
  display: block;
  color: tomato;
  font-size: 12px;
  font-weight: bold;
  margin-top: 3px; }

.privacyWrap h4 {
  margin-top: 20px; }

.sitemap {
  background: #f3f3f3;
  padding: 20px;
  margin-bottom: 50px;
  margin-top: 20px; }

.sitemap a {
  padding-left: 18px; }

.sitemap a i {
  display: inline-block;
  margin-left: 3px; }

.sitemap a:hover,
.arrow5:hover {
  padding-left: 15px;
  color: #888; }

.underconst {
  max-width: 600px;
  padding: 50px;
  box-sizing: border-box;
  color: #fff;
  margin: 50px auto;
  border: 5px #c4d11c solid;
  color: #c4d11c;
  text-align: center;
  border-radius: 5px; }
  .underconst h2 {
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 3rem;
    font-weight: 700; }

.table-partner {
  padding: 20px 0;
  border-top: 1px #aaa dashed; }
  @media (min-width: 768px) {
    .table-partner .inner {
      display: table;
      width: 100%; } }
  .table-partner .inner .partner-logo {
    text-align: center; }
    @media (min-width: 768px) {
      .table-partner .inner .partner-logo {
        width: 200px;
        display: table-cell;
        vertical-align: top; } }
    @media (max-width: 768px) {
      .table-partner .inner .partner-logo {
        margin-bottom: 10px; } }
    .table-partner .inner .partner-logo img {
      max-width: 100%;
      border: 1px #ddd solid;
      padding: 5px;
      box-sizing: border-box; }
      @media (max-width: 768px) {
        .table-partner .inner .partner-logo img {
          display: block;
          margin: 0 auto; } }
  @media (min-width: 768px) {
    .table-partner .inner .paerner-side {
      display: table-cell;
      padding-left: 50px;
      vertical-align: middle; } }
  .table-partner .inner .paerner-side h3 {
    font-size: 2rem; }

.privacyCheck {
  text-align: center;
  margin: 60px 0 40px; }
  .privacyCheck p {
    font-size: 12px;
    margin: 10px 0 20px; }

.btn-confirm {
  display: block;
  border: 1px #999 solid;
  border-radius: 5px;
  max-width: 400px;
  width: 90%;
  padding: 15px 0;
  text-align: center;
  font-size: 1.8rem;
  margin: 0 auto;
  background-color: #ddd;
  -moz-transition: all 0.3s ease 0s;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s; }
  .btn-confirm.hoverOn {
    border: 1px solid #5d3fff;
    background-color: #fff;
    color: #5d3fff;
    cursor: pointer; }

.confirmation {
  text-align: center;
  background-color: #ffe3e4;
  color: red;
  padding: 30px; }

.contact_table {
  width: 100%;
  margin: 30px auto; }

.contact_table th {
  padding: 12px 20px;
  width: 30%;
  border: 2px #DDD solid;
  background: #f3f3f3;
  vertical-align: middle;
  box-sizing: border-box; }
  @media (min-width: 768px) {
    .contact_table th {
      min-width: 220px; } }

.contact_table th .hissu_cell {
  position: relative; }

.hissu {
  background: #269ADD;
  color: #FFF;
  border-radius: 3px;
  display: inline-block;
  padding: 2px 5px;
  line-height: 1;
  font-size: 12px; }

.contact_table th .hissu {
  position: absolute;
  top: 50%;
  margin-top: -8px;
  right: 5px; }

.contact_table td {
  padding: 12px 20px;
  border: 2px #DDD solid;
  background: #FFF; }

.goyouken .radio {
  width: 45%;
  display: inline-block; }

.wp-pagenavi {
  padding: 12px 5px;
  background: #F3F3F3;
  border-radius: 4px;
  font-size: 100%;
  text-align: center;
  border: 1px #DDD solid;
  margin-top: 30px; }

.all_seminar .wp-pagenavi {
  margin: 0 auto; }

.wp-pagenavi span,
.wp-pagenavi a {
  padding: 5px 7px !important;
  border-radius: 3px; }

.wp-pagenavi .page,
.wp-pagenavi .pages,
.wp-pagenavi .extend,
.wp-pagenavi .last,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .first {
  background: #FFF; }

.wp-pagenavi .current {
  background: #c4d11c;
  color: #FFF; }

.btns .btn {
  color: white;
  font-size: 22px;
  font-weight: 600;
  height: 51px;
  width: 370px;
  text-rendering: optimizelegibility;
  border-radius: 4px;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  padding-top: 18px;
  margin: 0 5px 20px; }
  @media (max-width: 768px) {
    .btns .btn {
      font-size: 18px;
      width: 90%;
      margin: 0 auto 20px; } }

a.btn-conta {
  color: white;
  font-size: 22px;
  font-weight: 600;
  height: 51px;
  width: 80%;
  text-rendering: optimizelegibility;
  border-radius: 4px;
  cursor: pointer;
  display: block;
  text-align: center;
  padding-top: 18px;
  margin: 0 auto 20px;
  background-color: #333;
  border-bottom: 3px solid #888; }

a.btn-conta:hover {
  background-color: #555;
  border-bottom: 3px solid #999; }

.btns .btn-primary,
.foot_company {
  background-color: #81c320;
  border-bottom: 3px solid #679b1b; }

.btns .btn-primary:hover,
.foot_company:hover {
  background-color: #a2d400;
  border-color: #a2d400; }

.btn-info,
.foot_contact {
  background-color: #21b2c1;
  border-bottom: 3px solid #1d8691;
  border-color: #21b2c1 #21b2c1 #1d8691; }

.btn-info:hover,
.foot_contact:hover {
  background-color: #2fccdc;
  border-bottom: 3px solid #1d8691;
  border-color: #2fccdc #2fccdc #2fccdc; }

.container {
  font-family: "Yu Gothic", YuGothic, Verdana, 'Hiragino Kaku Gothic ProN','Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo, sans-serif;
  text-align: center;
  padding-top: 40px;
}

.btn-border {
  display: inline-block;
  max-width: 300px;
  text-align: left;
  border: 2px solid /*#9ec34b*/ #DBFF71;
  font-size: 16px;
  color:  /*#9ec34b*/ #DBFF71;
  text-decoration: none;
  font-weight: bold;
  padding: 8px 16px;
  border-radius: 4px;
  transition: .4s;
  background-color: #006400;
}

.btn-border:hover {
  background-color: #9ec34b;
  border-color: #cbe585;
  color: #FFF;
}

/*# sourceMappingURL=cmn.css.map */

@media (min-width: 768px) {
  .case_block .case_cc {
    width: 100%; } }
.case_block .case_cc h4 {
  padding: 10px 20px;
  background-color: #00a0e9;
  color: #fff;
  font-size: 2rem; }
.case_block .case_cc:first-child h4 {
  background-color: #222; }
.case_block .case_cc .inner {
  border: 1px #ddd solid;
  width: 100%;
  box-sizing: border-box;
  background-color: #fff; }
  @media (min-width: 768px) {
    .case_block .case_cc .inner {
      padding: 20px 25px;
      height: 160px;
      display: table; } }
  @media (min-width: 768px) {
    .case_block .case_cc .inner .inner-table {
      display: table-cell;
      vertical-align: middle; } }
  @media (max-width: 768px) {
    .case_block .case_cc .inner .inner-table {
      padding: 15px; } }




@media (min-width: 768px) {
  .case_block .case_dd {
    width: 100%; } }
.case_block .case_dd h4 {
  padding: 10px 20px;
  background-color: #00a0e9;
  color: #fff;
  font-size: 2rem; }
.case_block .case_dd:first-child h4 {
  background-color: #0066ff; }
.case_block .case_dd .inner {
  border: 1px #ddd solid;
  width: 100%;
  box-sizing: border-box;
  background-color: #fff; }
  @media (min-width: 768px) {
    .case_block .case_dd .inner {
      padding: 20px 25px;
      height: 160px;
      display: table; } }
  @media (min-width: 768px) {
    .case_block .case_dd .inner .inner-table {
      display: table-cell;
      vertical-align: middle; } }
  @media (max-width: 768px) {
    .case_block .case_dd .inner .inner-table {
      padding: 15px; } }


.effect {
box-shadow: 0 3px 18px -4px rgba(0, 0, 0, 0.8);
}