.responsive body
{
   min-width: 240px;
}
  
.responsive img 
{
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   box-sizing: border-box;
}  
  
.responsive .content-layout img,
.responsive .content-layout video
{
   max-width: 100%;
   height: auto !important;
}

.responsive.responsive-phone .content-layout img 
{
   padding: 2px;
}

.responsive.responsive-phone .collage,
.responsive.responsive-tablet .collage {
   margin: 0 !important;
}

.responsive .content-layout .sidebar0, 
.responsive .content-layout .sidebar1, 
.responsive .content-layout .sidebar2 
{
   width: auto !important;
}
    
.responsive .content-layout, 
.responsive .content-layout-row, 
.responsive .layout-cell 
{
   display: block;
}
    
.responsive .image-caption-wrapper 
{
   width: auto;
}

.responsive.responsive-tablet .vmenublock,
.responsive.responsive-tablet .block
{
   margin-left: 1%;
   margin-right: 1%;
   width: 98%;
   float: left;
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   box-sizing: border-box;
}

.responsive .responsive-embed 
{
   height: 0;
   padding-bottom: 56.25%;
   /* 16:9 */
    position: relative;
}

.responsive .responsive-embed iframe,
.responsive .responsive-embed object,
.responsive .responsive-embed embed
{
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   width: 100%;
}

.responsive .sheet
{
   width: auto !important;
   min-width: 240px !important;
   max-width: none !important;
   margin-right: 0% !important;
   margin-left: 0% !important;
   margin-top: 0 !important;
}

#resp {
   display: none;
}

@media all and (max-width: 959px)
{
    #resp, #resp-t { display: block; }
    #resp-m { display: none; }
}

@media all and (max-width: 480px)
{
    #resp, #resp-m { display: block; }
    #resp-t { display: none; }
}

#resp-desktop {
   display: none;
}
#resp-tablet-landscape {
   display: none;
}
#resp-tablet-portrait {
   display: none;
}
#resp-phone-landscape {
   display: none;
}
#resp-phone-portrait {
   display: none;
}

@media (min-width: 1200px)
{
    #resp-desktop { display: block; }
}

@media (min-width: 960px) and (max-width: 1199px)
{
    #resp-tablet-landscape { display: block; }
}

@media (min-width: 768px) and (max-width: 959px)
{
    #resp-tablet-portrait { display: block; }
}

@media (min-width: 480px) and (max-width: 767px)
{
    #resp-phone-landscape { display: block; }
}

@media (max-width: 479px)
{
    #resp-phone-portrait { display: block; }
}



.responsive .header 
{
  margin: 0 auto;
  background-repeat: no-repeat;
  height: 82px;
  background: #fff;
  position: relative;
  z-index: auto !important;
  margin-top:0px;
  margin-bottom:1px;
    border-top: 4px solid rgb(125, 183, 42);
    background-color: #ffffff;
}

.responsive.responsive-phone .header 
{
   width: auto !important;
   max-width: none !important;
   height: 82px !important;
   min-width: 0 !important;
   text-align: center;
  margin-top:0px;
    border-top: 4px solid rgb(125, 183, 42);
    background-color: #ffffff;
}

.default-responsive .header 
{
   height: 70px;
}

.default-responsive .header *
{

   text-align: center;
   -webkit-transform: none !important;
   -moz-transform: none !important;
   -o-transform: none !important;
   -ms-transform: none !important;
   transform: none !important;
}

.default-responsive .header .headline, 
.default-responsive .header .slogan 
{
   display: none;
   top: 0 !important;
   left: 0 !important;
   margin: 2% !important;
   text-align: center !important;
}
    
.default-responsive .header .headline a, 
.default-responsive .header .slogan 
{
   white-space: normal !important;
}

.responsive.responsive-tablet  .header .logo
{
   display: inline-block;
   margin: 3px !important;

   top:auto !important;
   width: auto;
   height: auto;
}

.responsive.responsive-phone  .header .logo
{
   display: inline-block;
   margin: 3px !important;
   left: auto;
   top: auto !important;
   width: auto;
   height: auto;
}



.default-responsive .header .logo-344836185
{
position:inherit;
margin-top:5px !important;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
  z-index: 105;
  width: 180px;
    left: 0.02% !important;
}

.responsive.responsive-tablet .header .logo-764661343 img
{
margin-top:10px !important;
  width: 230px;
}



.responsive.responsive-tablet .header .logo-344836185 img
{
margin-top:10px !important;
  width: 220px;
}

.responsive.responsive-phone .header .logo-344836185 img
{
margin-top:12px !important;
margin-left:0px !important;
  width: 150px;
}

.default-responsive .header .logo-764661343
{
  position: absolute;
  top: 17px;
  right: 0.02%;
   margin-top: 3px !important;
  margin-left: auto !important;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
  z-index: 104;
  width: 370px;
  height: 52px;
}

.responsive.responsive-phone .header .logo-764661343 img
{
  margin-top: 25px !important;
  width: 160px;
}

.default-responsive .header .logo-96901203
{
  position: absolute;
  top: 30px !important;
  right: 0.02%;
  margin-top: 2px !important;
  margin-left: auto !important;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
  z-index: 102;
  width: 294px;
  height: 49px;
}

.responsive.responsive-phone .header .logo-96901203 img
{
  margin-top: 24px !important;
  width: 214px;
}

.responsive .header .slidenavigator 
{
   position: absolute;
}

.default-responsive .header .positioncontrol 
{
   top: auto !important;
   right: auto !important;
   bottom: auto !important;
   left: auto !important;
   width: auto;
   height: auto;
   margin: auto;
}

.responsive .header #flash-area
{
   display: none;
}

/* Search and other elements in header element directly */
.default-responsive .header>.textblock
{
   position: relative !important;
   display: block !important;
   margin: 1% auto !important;
   width: 75% !important;
   top: auto !important;
   right: auto !important;
   bottom: auto !important;
   left: auto !important;
}

.default-responsive .header .textblock 
{
   position: relative !important;
   display: block !important;
   margin: auto !important;
   left: 0 !important;
   right: 0 !important;
   top: auto !important;
   height: auto !important;
   width: auto;
   background-image: none;
}

/* '.header *' used noram align, but for '.textblock *' we must force align because of preview */
.responsive .header .textblock *
{
   text-align: center !important;
}

.default-responsive .header .shapes > .textblock,
.default-responsive .header .slide-item > .textblock
{
   display: none !important;
}

.default-responsive .header .shapes > .textblock *
{
   text-align: center !important;
   width: auto !important;
   height: auto !important;
   display: block;
}

.default-responsive .header .slider .textblock *
{
   text-align: center !important;
   width: auto !important;
   height: auto !important;
   display: block;
}

/* For icons like facebook, rss, etc. */
.responsive .header>.textblock>div 
{
   width: 100%;
}
/* dynamic width nav */
.responsive .nav,
.responsive .nav-inner
{
   width: auto ;
   position: relative ;
   top: auto;
   left: auto !important;
   right: auto !important;
   bottom: auto !important;
   margin-top: 0;
   margin-bottom: 3px;
   min-width: 0;
   text-align: left !important;
}

.responsive .fixed01 {
    position: fixed !important;
    top:0 !important;
width: 100%;
}


.responsive nav.nav
{
   min-width: 1%;
}

.responsive .nav 
{
    border-top: 1px solid #ddd;
    background-color: #ffffff;
  padding: 0px 0px 0px 0px;
  height: 45px;
      border-radius: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
}

/* full width hmenu, instead of inline-block */
.responsive .nav ul.hmenu 
{
   float: none;
   text-align: center;
   display: none;
}

/* elements on different lines */
.responsive .nav ul.hmenu li,
.responsive .hmenu-extra1,
.responsive .hmenu-extra2
{

}
  
/* horizontal margins */
.responsive .nav ul.hmenu>li:first-child, 
.responsive .nav ul.hmenu>li:last-child, 
.responsive .nav ul.hmenu>li
{
width:99%;
   margin-right: 0;
    padding-top: 8px;
    padding-bottom: 5px;
}
 
/* separator */ 
.responsive .nav ul.hmenu>li:before
{
   display: none;
}

/* vertical distance between items */
.responsive .nav ul.hmenu a
{
   margin-top: 0px !important;
   margin-bottom: 0px !important;
   height: auto;
   white-space: normal;
}

.responsive .nav ul.hmenu>li:first-child>a
{
   margin-top: 0 !important;
}

.responsive .nav ul.hmenu>li:last-child>a
{
   margin-bottom: 0 !important;
}

/* fixes for extended menu */
.responsive .nav .ext, 
.responsive .nav ul.hmenu>li>ul, 
.responsive .nav ul.hmenu>li>ul>li,
.responsive .nav ul.hmenu>li>ul>li a
{
   width: auto !important;
}

/* submenu position on hover */
.responsive .nav ul.hmenu ul
{
   left: auto !important;
   right: auto !important;
   top: auto !important;
   bottom: auto !important;
   display: none !important;
   position: relative !important;
   visibility: visible !important;
}

.responsive .nav ul.hmenu li.active>ul
{
   display: block !important;
}
.responsive .nav ul.hmenu ul li.active>a
{
   font-weight: bold;
}

.nav .menu-btn {
    border: 1px solid #6ea026;
    border-radius: 4px;
    box-shadow: 0 0 0px 0 rgba(0, 0, 0, .2);
    display: none;
    background-color: #328c1e;
    margin: 8px 2px 4px 6px !important;
    outline: none;
    padding: 3px 6px 2px 6px !important;
    position: relative;
    vertical-align: bottom;
    width: 53px !important;
    height: 22px;
}


.nav .menu-btn span 
{
   background: #f3f3f3;
   border-radius: 2px;
   display: block;
   height: 3px;
   margin: 3px 1px;
   position: relative;
   width: 16px;
   -moz-transition: background .2s;
   -o-transition: background .2s;
   -webkit-transition: background .2s;
   transition: background .2s;
}

.nav .menu-btn:hover span
{
   background: #f3f3f3;
}

.responsive .nav .menu-btn 
{
   display: inline-block;
}

.responsive .nav .hmenu.visible 
{
   display: block;
   background: -moz-linear-gradient(top, rgba(254,255,254,0.9), #fefffe);
background: -webkit-gradient(linear, left top, left bottom, from(rgba(254,255,254,0.9)), to(#fefffe));
background: -o-linear-gradient(top, rgba(254,255,254,0.9), #fefffe);
background: linear-gradient(top, rgba(254,255,254,0.9), #fefffe);
padding: 0px 0 4px 0;
margin-top: 0px;
}

.responsive .nav ul.hmenu>li>ul>li:first-child:after 
{
   display: none;
}
.responsive .nav ul.hmenu ul a
{
   padding-left: 4% !important;
}
.responsive .nav ul.hmenu ul ul a
{
   padding-left: 6% !important;
}
.responsive .nav ul.hmenu ul ul ul a
{
   padding-left: 8% !important;
}
.responsive .nav ul.hmenu ul ul ul ul a
{
   padding-left: 10% !important;
}
.responsive .nav ul.hmenu ul ul ul ul ul a
{
   padding-left: 12% !important;
}
  
.responsive .nav ul.hmenu>li>ul
{
   padding: 0;
}
  
.responsive .nav ul.hmenu>li>ul:before
{
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
}

.responsive ul.hmenu>li>a
{
  padding: 0 14px 0 34px;
  margin: 0 auto;
  position: relative;
  display: block;
  height: 40px;
  cursor: pointer;
  text-decoration: none;
  color: #333;
  line-height: 34px;
  text-align: left;
}

.responsive ul.hmenu>li>a:hover, .responsive  ul.hmenu>li:hover>a
{
  color: #3a8ffe;
  text-decoration: none;
}

.responsive ul.hmenu>li>a.active
{
  padding: 0 14px 0 34px;
  margin: 0 auto;
  color: #333 !important;
  text-decoration: none;
}

.responsive ul.hmenu>li>a.active:hover, .responsive ul.hmenu>li:hover>a.active
{
  color: #3a8ffe !important;
  text-decoration: none;
}

.responsive ul.hmenu>li.item-101
{
    background: none;
margin-left:0px;
border-left: solid 1px #eee;
border-right: solid 1px #eee;
    border-bottom: solid 1px #eee;
}

.responsive ul.hmenu>li.item-116
{
background-image: url(../images/menu-arrow.png) ;
background-repeat: no-repeat;
background-size: 8px 10px;
background-position: left 2.8em top 19px,center;
padding-left:1em;
margin-left:0px;
border-right: solid 1px #eee;
    border-bottom: solid 1px #eee;
}

.responsive ul.hmenu>li.item-166
{
background-image: url(../images/menu-arrow.png) ;
background-repeat: no-repeat;
background-size: 8px 10px;
background-position: left 2.8em top 19px,center;
padding-left:1em;
margin-left:0px;
border-right: solid 1px #eee;
    border-bottom: solid 1px #eee;
}

.responsive ul.hmenu>li.item-102
{
background-image: url(../images/menu-arrow.png) ;
background-repeat: no-repeat;
background-size: 8px 10px;
background-position: left 2.8em top 19px,center;
padding-left:1em;
margin-left:0px;
border-left: solid 1px #eee;
border-right: solid 1px #eee;
    border-bottom: solid 1px #eee;
}

.responsive ul.hmenu>li.item-119
{
background-image: url(../images/menu-arrow.png) ;
background-repeat: no-repeat;
background-size: 8px 10px;
background-position: left 2.8em top 19px,center;
padding-left:1em;
margin-left:0px;
border-right: solid 1px #eee;
    border-bottom: solid 1px #eee;
}

.responsive ul.hmenu>li.item-106
{
background-image: url(../images/menu-arrow.png) ;
background-repeat: no-repeat;
background-size: 8px 10px;
background-position: left 2.8em top 19px,center;
padding-left:1em;
margin-left:0px;
border-left: solid 1px #eee;
border-right: solid 1px #eee;
    border-bottom: solid 1px #eee;
}

.responsive ul.hmenu>li.item-118
{
background-image: url(../images/menu-arrow.png) ;
background-repeat: no-repeat;
background-size: 8px 10px;
background-position: left 2.8em top 19px,center;
padding-left:1em;
margin-left:0px;
border-right: solid 1px #eee;
    border-bottom: solid 1px #eee;
}

.responsive ul.hmenu>li.item-120
{
background-image: url(../images/menu-arrow.png) ;
background-repeat: no-repeat;
background-size: 8px 10px;
background-position: left 2.8em top 19px,center;
padding-left:1em;
margin-left:0px;
border-right: solid 1px #eee;
    border-bottom: solid 1px #eee;
}

.responsive ul.hmenu>li.item-129
{
background-image: url(../images/menu-arrow.png) ;
background-repeat: no-repeat;
background-size: 8px 10px;
background-position: left 2.8em top 19px,center;
padding-left:1em;
margin-left:0px;
border-left: solid 1px #eee;
border-right: solid 1px #eee;
    border-bottom: solid 1px #eee;
}

.responsive ul.hmenu>li.item-154
{
background-image: url(../images/menu-arrow.png) ;
background-repeat: no-repeat;
background-size: 8px 10px;
background-position: left 2.8em top 19px,center;
padding-left:1em;
margin-left:0px;
border-left: solid 1px #eee;
border-right: solid 1px #eee;
    border-bottom: solid 1px #eee;
}

.responsive ul.hmenu>li.item-155
{
background-image: url(../images/menu-arrow.png) ;
background-repeat: no-repeat;
background-size: 8px 10px;
background-position: left 2.8em top 19px,center;
padding-left:1em;
margin-left:0px;
border-left: solid 1px #eee;
border-right: solid 1px #eee;
    border-bottom: solid 1px #eee;
}

.responsive ul.hmenu>li.item-156
{
background-image: url(../images/menu-arrow.png) ;
background-repeat: no-repeat;
background-size: 8px 10px;
background-position: left 2.8em top 19px,center;
padding-left:1em;
margin-left:0px;
border-left: solid 1px #eee;
border-right: solid 1px #eee;
    border-bottom: solid 1px #eee;
}

.responsive ul.hmenu>li.item-143
{
background-image: url(../images/menu-arrow.png) ;
background-repeat: no-repeat;
background-size: 8px 10px;
background-position: left 2.8em top 19px,center;
padding-left:1em;
margin-left:0px;
border-left: solid 1px #eee;
border-right: solid 1px #eee;
    border-bottom: solid 1px #eee;
}

ul.hmenu>li.item-129:after {
    position: absolute;
    display: none;
    content: ' ';
    top: 0;
    left: 112px;
    width: 8px;
    height: 30px;
    background: url(../images/menuseparator.png) center center no-repeat;
}

.responsive .content-layout, 
.responsive .content-layout-row, 
.responsive .layout-cell 
{
   display: block;
}

.responsive .layout-cell 
{
   width: auto !important;
   height: auto !important;
}

.responsive .content-layout:after, 
.responsive .content-layout-row:after, 
.responsive .layout-cell:after 
{
   content: ".";
   display: block;
   height: 0;
   clear: both;
   visibility: hidden;
}

.responsive .post
{
   border-radius: 0;
padding: 0 0.5em 0 0.5em;
}

.responsive .footer-inner
{
   min-width: 0;
}
.responsive .footer
{
   margin-top: 0%;
}

.responsive.responsive-phone  .footer
{
   margin-bottom: 0px;
    padding: 2px 0px 0em 0px;
}

.responsive .responsive-tablet-layout-cell 
{
   width: 50%;
   float: left;
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   box-sizing: border-box;
}

.responsive .responsive-layout-row .responsive-tablet-layout-cell 
{
   width: 50% !important;
}

.responsive.responsive-tablet .items-row .item ,
.responsive.responsive-phone .items-row .item 
{
    width: auto;
}


.responsive.responsive-tablet .logo-96901203
{
  margin-top: 0px !important;
}

.responsive.responsive-phone .content-layout .contact-top img 
{
   width:100% !important;
   margin: 0%;
}

.responsive.responsive-phone .content-layout .ja-ss-item img 
{
   width:100% !important;
   margin: 0%;
}

.responsive.responsive-phone .cn1
{
background-color: #ebf7e3;
padding: 5px !important;
}

.responsive.responsive-phone .cn1a
{
background-color: #ebf7e3;
padding: 5px !important;
border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;
-webkit-border-bottom-right-radius: 5px;
-webkit-border-bottom-left-radius: 5px;
-moz-border-radius-bottomright: 5px;
-moz-border-radius-bottomleft: 5px;
}

.responsive.responsive-phone .cn1b
{
background-color: #ebf7e3;
padding: 5px !important;
}

.responsive.responsive-phone .cn5a
{
background-color: #e5f3ee;
padding: 5px !important;
}

.responsive.responsive-phone .cn5b
{
background-color: #e5f3ee;
padding: 5px !important;
}

.responsive.responsive-phone .cn4b
{
background-color: #f8f9f3;
padding: 5px !important;
}

.responsive.responsive-phone .blog
{
background-color: #fff;
padding: 5px 5px 0px 5px !important;
}

div.menu-r
{
display: none;
}

.responsive.responsive-phone .menu-r
{
display: block;
z-index: 2;
position: absolute;
color: #fff;
font-size: 90%;
font-weight: bold;
right: -10px !important;
margin: 14px 0 0 0;
text-align: right;
}

@media (max-width: 373px) {
.responsive.responsive-phone .menu-r
{
display: block;
z-index: 2;
position: absolute;
color: #fff;
font-size: 80%;
font-weight: bold;
right: -18px !important;
margin: 16px 0 0 0;
text-align: right;
}
}

.responsive.responsive-tablet .menu-r
{
display: block;
z-index: 2;
position: absolute;
color: #fff;
font-size: 90%;
font-weight: bold;
right: 12px !important;
margin: 12px 0 0 0;
text-align: right;
}

.responsive.responsive-phone .blog02 {
    width: 100%;
    max-width: 1000px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    height: 80px;
}

.responsive.responsive-tablet .blog02 {
    width: 100%;
    max-width: 1000px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    height: 80px;
}

@media (min-width: 960px) and (max-width: 1080px)
{
ul.hmenu>li>a
{
  padding: 0 8px 0 25px;
  margin: 0 auto;
  position: relative;
  display: block;
  height: 39px;
  cursor: pointer;
  text-decoration: none;
  color: #222;
  line-height: 32px;
  text-align: center;
}
ul.hmenu>li>a:hover, .desktop ul.hmenu>li:hover>a
{
  padding: 0 8px 0 26px;
  margin: 0 auto;
}
}

@media (min-width: 960px) and (max-width: 1080px)
{
ul.hmenu>li.item-129 a:after {
    position: absolute;
    display: block;
    content: ' ';
    top: 0;
    left: 104px;
    width: 8px;
    height: 30px;
    background: none;
}
}


@media (max-width: 960px) 
{
ul.hmenu>li.item-129 a:after {
    position: absolute;
    display: none;
    content: ' ';
    top: 0;
    left: 104px;
    width: 8px;
    height: 30px;
    background: url(../images/menuseparator.png) center center no-repeat;
}
}

.responsive #first {
   margin-top:-50px;
  padding-top:50px;
}

.responsive #plan {
   margin-top:-50px;
  padding-top:50px;
}

.responsive #saijyo {
   margin-top:-50px;
  padding-top:50px;
}

.responsive #voice {
   margin-top:-50px;
  padding-top:50px;
}

.responsive #faq {
   margin-top:-50px;
  padding-top:50px;
}

.responsive #company {
   margin-top:-50px;
  padding-top:50px;
}

.responsive #concept {
   margin-top:-50px;
  padding-top:50px;
}








