@charset "utf-8";

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

/*basic elements*/

body {padding:50px 0 0;}

/* a.btn, button, input[type="submit"], input[type="button"] {-webkit-appearance:none;} */
input[type="text"], input[type="email"], input[type="tel"] {height:40px;}
textarea {
  padding:0.5em;
  height:25vh;
}
select {height:40px;}

a.btn, button,
input[type="submit"], input[type="button"] {padding:0.8em 1em;}

/*block level elements*/

#header {height:50px;}
#main, #aside {padding-top:1em;}

/*head elements*/

#header header h1 a {
  left:5%;
  top:10px;
  width:55px;
  height:30px;
}

/*navi elements*/

#navi {}
#navi h1 {
  display:block;
  position:fixed;
  right:5%;
  top:5px;
  z-index:101;
  width:40px;
  height:40px;
  line-height:42px;
  text-align:center;
  font-size:0;
  color:transparent;
}
#navi > ul {
  position:fixed;
  left:100%;
  top:0;
  z-index:100;
  margin:0;
  padding:50px 0 0;
  width:100%;
  height:100%;
  background-color:rgba(21,32,59,0.9);
  text-align:left;
  transition:0.5s left;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
#navi.active > ul {left:0;}
#navi li {
  display:block;
  margin:0;
  border-top:1px solid rgb(51,75,135);
}
#navi > ul > li:nth-last-of-type(1) {border-bottom:1px solid rgb(51,75,135);}
#navi a {
  display:block;
  padding:1em;
}
#navi ul ul {
  display:block;
  position:relative;
  margin:0;
  padding:0;
  background:transparent;
}
#navi ul ul li {
  display:block;
  margin:0;
}
#navi li:hover ul {box-shadow:none;}
#navi ul ul a {
  display:block;
  padding:1em 1em 1em 2.25em;
}
#navi > ul:after {
  content:'';
  display:block;
  height:100px;
}

/*foot elements*/

#footer_content {
  margin:1em auto;
  font-size:1rem;
}
#footer address,
#footer_navi, #footer_navi ul {display:block;}
#footer address {width:100%;}
#footer address h2 {margin:1em 5%;}
#footer address h3 {margin:1em 5% 0.5em;}
#footer address span.address {margin:0.5em 5%;}
#footer_navi {
  margin:20px 0;
  width:100%;
}
#footer_navi > ul {width:100%;}
#footer_navi li {margin:0 5%;}
#footer_navi a {
  display:block;
  padding:0.7em 0;
}
#footer_navi ul:nth-child(n + 3) > li:first-child {border-top:none;}

/*common elements*/

#title {
  padding:25px 0 0;
  height:95px;/* 120px */
}
.path p {margin:1em 5%;}
.paginate ul {margin:20px 5%;}
.paginate li a {
  margin:0 10px;
  height:40px;
  line-height:38px;
}
.page_top p {margin:1em 5%;}
.page_top a {
  width:40px;
  height:40px;
  line-height:36px;
}

/*body elements*/

.body > h2, article#main h1,
.body h3,
.body h4 {
  margin:1.5em 5%;
}
.body p,
.body ul,
.body ol {
  margin:1em 5%;
}
.body > h2, article#main h1 {padding:0 0 0.3em;}
.body table {
  margin:1em 5%;
  max-width:90%;
}
thrad, tbody, tfoot,
tr, th, td {
  display:block;
  width:100%;
  margin:0.5em 0;
}
.body th, .body td {}
.body th {
  padding:0;
  border:none;
}
.body td {padding:0 0 0.5em;}

/*
.body img.alignleft {float:left; margin:0 1em 1em 0;}
.body img.alignright {float:right; margin:0 0 1em 1em;}
.body img.aligncenter {}
*/

.body img.alignleft,
.body img.alignright,
.body img.aligncenter {
  float:none;
  display:block;
  margin:2em auto;
}

.body figure {margin:1em 5%;}
.body div.col figure {
  display:block;
  box-sizing:initial;
  margin:1em 5%;
  padding:0;
  width:90%;
}
.body div.col4 figure {
  display:inline-block;
  vertical-align:top;
  box-sizing:border-box;
  margin:0 0 1rem 5%;
  width:42.5%;
}

.body div.box {margin:1em 5%;}
.body div.googlemap {margin:1em 5%;}
.body div.googlemap iframe {
  max-width:100%;
  max-height:50vh;
}
.edit_post_link p {margin:1em 5%;}

body.w100 #main.body > h2,
body.w100 #main.body > h3,
body.w100 #main.body > h4,
body.w100 #main.body > p,
body.w100 #main.body > ul,
body.w100 #main.body > ol {
  margin:1em 5%;
  width:90%;
}

div.page_menu {
  display:block;
  border:none;
}
div.page_menu div.page {}
div.page_menu div.page::before,
div.page_menu div.page::after {content:none !important;}
div.page_menu div.page.all {border:none;}
div.page_menu div.page h2,
div.page_menu div.page p {margin:1em 5%;}

body.page-col2 #content {
  direction:ltr;
  font-size:1rem;
}
body.page-col2 #main,
body.page-col2 #aside {display:block;}
body.page-col2 #main,
body.page-col2 #aside {
  width:100%;
  max-width:initial;
}

.mod h1 {margin:2em 5%;}
nav.mod li {margin:1em 5%;}

#aside div.banners li {
  margin:1.5rem 5%;
  text-align:center;
}
#aside div.banners li img {
  width:auto;
  max-width:320px;
}
#aside a.btn {}

/* home */

#home_slide {display:none;}
#home_slide_mb {
  position:relative;
  display:block;
  overflow:hidden;
}
.metaslider .caption-wrap {}
.metaslider .caption {
  max-width:90%;
  line-height:1.4;
}
.metaslider span.btn {}
.metaslider span.btn:after {
  bottom:-50px;
}
/*
#home_slide {display:none;}
#home_slide_mb {
  position:relative;
  display:block;
  overflow:hidden;
}
#home_slide_mb:after {
  position:absolute;
  left:50%;
  bottom:40px;
  margin-left:-20px;
  width:40px;
  height:40px;
  line-height:40px;
  font-size:30px;
}
.metaslider .caption {
  max-width:90%;
  line-height:1.5;
}
*/

body.home div.page_menu div.page,
body.home div.page_menu div.page.all {min-height:190px;}
body.home div.page h2:before {
  margin:1em 0;
}
#home_news h1 {margin:20px 5%;}
#home_news div.btn {margin:20px 0;}

/* news */

div.posts li {
  margin:0;
  padding:0;
}
div.posts li a {
  display:block;
  padding:1em 5%;
  font-size:1rem;
}
div.posts li time, div.posts li span.title {display:block;}
div.posts li time {
  margin:0 0 0.5em;
  width:100%;
}
div.posts li span.title {width:100%;}

body.single-post #main header h1 {margin-bottom:0.5rem;}
body.single-post #main header time {margin:1em 5% 1.5rem;}

/* recruit */

div.intro h2 {margin:2em 5%;}
div.intro div.btn {}

div.entry_btn {
  padding:0 5%;
  height:120px;
  line-height:120px;
}
div.entry_btn a.btn {padding:0.5em 1em;}

div.staff {
  direction:ltr;
  display:block;
  margin:0;
}
div.staff_body, div.staff_photo {
  display:block;
  width:100%;
}
div.staff_body {}
div.staff_body h2,
div.staff_body p {margin:1em 5%;}
div.staff_photo {}
div.staff_photo img {}

/* contact */

form.wpcf7-form {
  margin:2em 5%;
  padding:5% 0;
}
form.wpcf7-form table {width:90%;}
form.wpcf7-form th {padding:0;}
form.wpcf7-form td {padding:0 0 0.5em;}
form.wpcf7-form th {
  width:100%;
  line-height:initial;
}
form.wpcf7-form td {width:99%;}
input.wpcf7-text {width:99%;}
input[name="zip"] {width:8em;}
textarea.wpcf7-textarea {width:99%;}
form.wpcf7-form p {width:90%;}
form.wpcf7-form div.btn {
  margin:20px 0;
  padding:0 5%;
}
input.wpcf7-submit {width:100%;}
div.wpcf7-response-output {
  box-sizing:border-box;
  margin:20px auto;
  padding:1em;
  width:90%;
}

/* characters */

body {
  font-size:16px;
  font-family: 'Roboto', sans-serif;
  -webkit-text-size-adjust:none;
}
#navi li,
#title h1:before, #title span:before {font-size:1rem;}
.body > h2, article#main h1, .body h3,
div.entry_btn a.btn, div.staff_body h2,
div.page_menu div.page h2,
#home_news h1 span:before {font-size:20px;}
body.home div.page h2, #home_news h1,
#staff_interview h1,
#title h1, #title span,
.metaslider .caption strong {font-size:24px;}

#navi a {
  font-weight:normal;
  color:rgb(255,255,255);
}

#navi h1:before {content:'\f0c9';}
#navi.active h1:before {content:'\f00d';}
#navi h1:before {
  font-size:28px;
  color:rgb(13,94,166);
}
#navi.active h1:before {
  color:rgb(255,255,255);
}

} /* @media max-width:768px */
