/***********************
clearfix
************************/
/* For modern browsers */
.clearfix:before,
.clearfix:after {
  content:"";
  display:block;
  overflow:hidden;
}
.clearfix:after {
  clear:both;
}
/* For IE 6/7 (trigger hasLayout) */
.clearfix {
  zoom:1;
}
.clear {
  clear:both;
}

/***********************
header-footer
************************/
/*header-footer-01*/
.oc-gnav {
}
.oc-gnav ul {
}
.oc-gnav ul li {
  float:left;
  width:11.25%;
  border-right: 1px solid #cccccc;
  box-sizing: border-box;
}
.oc-gnav ul li:first-child {
  width:10%;
}
.oc-gnav ul li:last-child {
  border:0;
}
.oc-gnav ul li a {
  width:100%;
  text-decoration: none;
  display: block;
  padding:10px;
  text-align: center;
  box-sizing: border-box;
}
.oc-gnav ul li a:hover{
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  background: #ccc;
}

@media (max-width: 768px) {
  .oc-gnav ul li {
    float:none;
    width:100%;
    border-right: 0;
    border-bottom: 1px solid #cccccc;
  }
  .oc-gnav ul li:first-child {
    width:100%;
  }
}
/*header-footer-02*/
.oc-header {
  width: 100%;
  padding: 5px 0;
  margin: 0 auto;
}
.oc-header .oc-header-main {
}
.oc-header-main .oc-logo {
  width: 40%;
  float: left;
}
.oc-header-main .oc-contact {
  width: 60%;
  float: right;
  font-size: 12px;
  margin-top: 10px;
}
.oc-contact .oc-tel-wrap {
  width: 50%;
  float: left;
}
.oc-tel-icon {
  width: 20%;
  float: left;
}
.oc-tel-icon img {
  max-width: 100%;
  height: auto;
}
.oc-tel-text {
  width: 78%;
  float: right;
}
.oc-tel-number {
  font-size: 30px;
  font-weight: bold;
  line-height: 1.2;
}
.oc-contact .oc-btn-wrap {
  width: 50%;
  float: left;
}
.oc-contact .oc-btn-wrap .oc-btn {
  width: 100%;
  padding: 20px 15px;
  margin: 15px 0 0;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .oc-header {
    width: 100%;
    padding: 5px 0;
    margin: 0 auto;
  }
  .oc-header .oc-header-main {
  }
  .oc-header-main .oc-logo {
    width: 100%;
    float: none;
    text-align: center;
  }
  .oc-header-main .oc-contact {
    width: 100%;
    float: none;;
  }
  .oc-contact .oc-tel-wrap {
    width: 60%;
    margin:0 auto;
    float: none;
  }
  .oc-tel-number {
    font-size: 20px;
  }
  .oc-contact .oc-btn-wrap {
    width: 70%;
    margin: 0 auto;
    float: none;
  }
}
/*header-footer-03*/
.oc-header-main.oc-head-pattern2 {}
.oc-header-main.oc-head-pattern2 .oc-contact {
  width: 30%;
  float: left;
  font-size: 12px;
  margin-top: 10px;
}
.oc-header-main.oc-head-pattern2 .oc-tel-wrap {
  width: 100%;
  float: none;
}
.oc-header-main.oc-head-pattern2 .oc-logo {
  width: 30%;
  float: left;
  text-align: center;
  margin: 0 10%;
}
.oc-header-main.oc-head-pattern2 .oc-btn-wrap {
  width: 20%;
  float: right;
  text-align: right;
  padding-top: 15px;
}
@media (max-width: 768px) {
  .oc-header-main.oc-head-pattern2 {}
  .oc-header-main.oc-head-pattern2 .oc-contact {
    width: 70%;
    margin: 0 auto;
    float: none;
  }
  .oc-header-main.oc-head-pattern2 .oc-tel-wrap {
    width: 100%;
    float: none;
  }
  .oc-header-main.oc-head-pattern2 .oc-logo {
    width: 100%;
    float: none;
    text-align: center;
  }
  .oc-header-main.oc-head-pattern2 .oc-btn-wrap {
    width: 100%;
    float: none;
    text-align: right;
    padding-top: 15px;
  }
}
/*header-footer-04*/
.oc-header-main.oc-head-pattern3 {}
.oc-header-main.oc-head-pattern3 .oc-gnav.oc-left {
  width: 25%;
  float: left;
}
.oc-header-main.oc-head-pattern3 .oc-gnav.oc-right {
  width: 25%;
  float: right;
}
.oc-header-main.oc-head-pattern3 .oc-gnav.oc-left li,
.oc-header-main.oc-head-pattern3 .oc-gnav.oc-right li {
  width: 33.3%;
  margin-top: 30px;
}
.oc-header-main.oc-head-pattern3 .oc-logo {
  width: 30%;
  float: left;
  text-align: center;
  margin: 0 10%;
}
@media (max-width: 768px) {
  .oc-header-main.oc-head-pattern3 .oc-gnav.oc-left {
    display: none;
  }
  .oc-header-main.oc-head-pattern3 .oc-gnav.oc-right {
    display: none;
  }
  .oc-header-main.oc-head-pattern3 .oc-logo {
    width: 100%;
    float: none;
    text-align: center;
    margin:0 auto;
  }
}
/*header-footer-05*/
.oc-header-main.oc-head-pattern4 {}
.oc-header-main.oc-head-pattern4 .oc-logo {
  width: 25%;
  float: left;
  margin-right: 2.5%;
}
.oc-header-main.oc-head-pattern4 .oc-gnav {
  width: 40%;
  margin-right: 2.5%;
  float: left;
}
.oc-header-main.oc-head-pattern4 .oc-gnav li {
  width: 20%;
  margin-top: 30px;
}
.oc-header-main.oc-head-pattern4 .oc-contact {
  width: 30%;
  float: right;
  font-size: 12px;
  margin-top: 10px;
}
.oc-header-main.oc-head-pattern4 .oc-tel-wrap {
  width: 100%;
  float: none;
}
@media (max-width: 768px) {
  .oc-header-main.oc-head-pattern4 .oc-logo {
    width: 100%;
    float: none;
    text-align: center;
    margin-right: 0;
  }
  .oc-header-main.oc-head-pattern4 .oc-gnav {
    display: none;
  }
  .oc-header-main.oc-head-pattern4 .oc-contact {
    width: 70%;
    margin: 0 auto;
    float: none;
  }
  .oc-header-main.oc-head-pattern4 .oc-tel-wrap {
    width: 100%;
    float: none;
  }
}
/*header-footer-06*/
.oc-pulldown-menu .oc-sub-nav {
  display: none;
}
.oc-pulldown-menu:hover .oc-sub-nav {
  display: block;
}
.oc-gnav .oc-sub-nav {
  width: 100%;
  border: 0;
  background: rgba(0,0,0,0.5)
}
.oc-gnav .oc-sub-nav li {
  width: 100%;
  border: 0;
  float: none;
  margin-bottom: 1px;
}
.oc-gnav .oc-sub-nav li:first-child {
  width: 100%;
}
.oc-gnav .oc-sub-nav li a {
  display: block;
  width: 100%;
  padding: 10px;
  color: #ffffff;
}
@media (max-width: 768px) {
  
}
/***********************
footer
************************/
/*footer01*/
#oc-footer {

}
#oc-footer .oc-footer-text {
  margin-bottom: 20px;
}
#oc-footer .oc-footer-link {
  margin-bottom: 20px;
}
#oc-footer .oc-copyright {
  text-align: center;
  padding:10px 0;
  background: #f9cb8e;
}

/*footer02*/
#oc-footer .oc-footer-link .oc-gnav {
  width:70%;
  float:left;
}
#oc-footer .oc-footer-link .oc-sns-wrap {
  width:20%;
  float:right;
  padding-top: 10px;
}
#oc-footer .oc-footer-link .oc-sns-wrap li {
  float:left;
  margin-left: 5px;
}
@media (max-width: 768px) {
  #oc-footer .oc-footer-link .oc-gnav {
    width:100%;
    float:none;
    margin-bottom: 15px;
  }
  #oc-footer .oc-footer-link .oc-sns-wrap {
    width:100%;
    float:none;
    padding-top: 0;
  }
}
/***********************
cvr 
************************/
/*cvr-01*/
.oc-cvr-main {
  width:75%;
  margin:0 auto;
}
.oc-cvr-main .oc-contact {
  width:100%;
}
.oc-cvr-main .oc-contact .oc-tel-wrap {
  width:40%;
  float:left;
}
.oc-cvr-main .oc-contact .oc-btn-wrap {
  width:15%;
  float:left;
}
.oc-cvr-main .oc-contact .oc-btn-wrap + .oc-btn-wrap {
  width:15%;
  float:left;
  margin-left: 1%;
}

/*cvr-02*/
.oc-cvr-main .oc-wrap {
  text-align: center;
}
.oc-cvr-main .oc-wrap .oc-cvr-icon {
  margin-bottom: 10px;
}
.oc-cvr-main .oc-wrap .oc-cvr-text {
  font-size:13px;
  margin-bottom: 10px;
}
.oc-cvr-main .oc-wrap .oc-cvr-tel {
  margin-bottom: 15px;
  font-size: 30px;
  font-weight: bold;
}
.oc-cvr-main .oc-wrap .oc-cvr-email {
  margin-bottom: 15px;
}
.oc-cvr-main .oc-wrap .oc-cvr-email .oc-btn {
  margin-bottom: 0;
}
.oc-cvr-main .oc-wrap .oc-cvr-btm-text {
  
}


/***********************
mainimage01
************************/
.owl-image_slider {
  margin: 0 auto 50px;
}
/***********************
contents-01
************************/
/*contents-01-01*/
h2.oc-heading {
  font-size: 28px;
  font-weight: bold;
  color: #131313;
  text-align: center;
  margin: 0 auto 40px;
  position: relative;
}
h2.oc-heading:before {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 50%;
  min-width: 400px;
  min-height: 1px;
  margin-left: -200px;
  background: #cccccc;
}
h3.oc-heading {
  font-size: 22px;
  font-weight: bold;
  color: #ffffff;
  text-align: center;
  margin: 0 auto 30px;
  padding: 15px 20px 14px;
  background: #f3981d;
}
h4.oc-heading {
  font-size: 22px;
  font-weight: bold;
  color: #131313;
  margin: 0 auto 20px;
  padding: 0 0 0 40px;
  position: relative;
}
h4.oc-heading:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  min-width: 30px;
  min-height: 6px;
  margin-top: -5px;
  background: #f3981d;
}
h5.oc-heading {
  font-size: 16px;
  font-weight: bold;
  color: #4e3a30;
  margin: 0 auto 20px;
  padding: 0 0 5px;
  position: relative;
}
h5.oc-heading:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  min-width: 80px;
  min-height: 1px;
  background: #0095d9;
}
h6.oc-heading {
  font-size: 16px;
  color: #0095d9;
  margin: 0 auto 15px;
}
@media (max-width: 768px) {
  h2.oc-heading {
    font-size: 20px;
    margin: 0 auto 20px;
  }
  h2.oc-heading:before {
    min-width: 200px;
    margin-left: -100px;
  }
  h3.oc-heading {
    font-size: 18px;
    margin: 0 auto 20px;
  }
  h4.oc-heading {
    font-size: 17px;
    margin: 0 auto 20px;
  }
}
/*contents-01-02*/
.oc-text-wrap {
  margin: 0 auto 30px;
}
/*contents-01-03*/
.oc-text-wrap.oc-box-border {
  border: 1px solid #000000;
  padding: 15px;
  box-sizing: border-box;
}
/*contents-01-04*/
.oc-image-text {
  margin: 0 auto 30px;
}
.oc-image-text.oc-left img {
  float: left;
  margin-right: 20px;
}
/*contents-01-05*/
.oc-image-text.oc-right img {
  float: right;
  margin-left: 20px;
}

@media (max-width: 768px) {
  .oc-image-text {
  }
  .oc-image-text.oc-left img {
    display: block;
    float:none;
    margin: 0 auto 15px;
  }
  .oc-image-text.oc-right img {
    display: block;
    float:none;
    margin: 0 auto 15px;
  }
}

/*contents-01-06*/
.oc-image-center {
  text-align: center;
  margin: 0 auto 30px;
}
/*contents-01-07*/
a.oc-btn {
  width: 200px;
  border-radius: 5px;
  border: 1px solid #001754;
  text-decoration: none;
  color: #ffffff;
  font-size: 14px;
  line-height: 1.2;
  margin: 0 auto 30px;
  padding: 15px;
  background: #001754;
  text-align: center;
  display: block;
  box-sizing: border-box;
}
a.oc-btn:hover {
  background: #ffffff;
  color: #001754;
}
/*contents-01-08*/
a.oc-btn.oc-dl-btn {
  width: 300px;
  border-radius: 5px;
  border: 1px solid #001754;
  text-decoration: none;
  color: #ffffff;
  font-size: 14px;
  line-height: 1.2;
  margin: 0 auto 30px;
  padding: 15px;
  background: #001754;
  text-align: center;
  display: block;
  box-sizing: border-box;
}
a.oc-btn.oc-dl-btn:hover {
  background: #ffffff;
  color: #001754;
}
/*contents-01-09*/
.oc-boxs {
  margin: 0 auto 30px;
  box-sizing: border-box;
}
.oc-boxs.oc-box-2 .oc-box {
  width: 48%;
  float: left;
  margin-right: 4%;
}
.oc-boxs.oc-box-2 .oc-box.oc-box-end {
  margin-right: 0;
}

@media (max-width: 768px) {
  .oc-boxs.oc-box-2 .oc-box {
    width: 100%;
    float: none;
    margin-right: 0;
    margin-bottom: 15px;
  }
}
/*contents-01-10*/
.oc-boxs.oc-box-3 .oc-box {
  width: 32%;
  float: left;
  margin-right: 2%;
}
.oc-boxs.oc-box-3 .oc-box.oc-box-end {
  margin-right: 0;
}
@media (max-width: 768px) {
  .oc-boxs.oc-box-3 .oc-box {
    width: 48%;
    float: left;
    margin-right: 4%;
    margin-bottom: 10px;
  }
  .oc-boxs.oc-box-3 .oc-box:nth-child(2n) {
    margin-right: 0;
  }
}
/*contents-01-11*/
.oc-boxs.oc-box-4 .oc-box {
  width: 22%;
  float: left;
  margin-right: 4%;
}
.oc-boxs.oc-box-4 .oc-box.oc-box-end {
  margin-right: 0;
}
@media (max-width: 768px) {
  .oc-boxs.oc-box-4 .oc-box {
    width: 48%;
    float: left;
    margin-right: 4%;
    margin-bottom: 10px;
  }
  .oc-boxs.oc-box-4 .oc-box:nth-child(2n) {
    margin-right: 0;
  }
}
/*contents-01-12*/
.oc-boxs.oc-box-5 .oc-box {
  width: 18%;
  float: left;
  margin-right: 2.5%;
}
.oc-boxs.oc-box-5 .oc-box.oc-box-end {
  margin-right: 0;
}
@media (max-width: 768px) {
  .oc-boxs.oc-box-5 .oc-box {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 10px;
  }
  .oc-boxs.oc-box-5 .oc-box:nth-child(2n) {
    margin-right: 0;
  }
}
/*contents-01-13*/
.oc-sns-btn-wrap {
  position: relative;
  overflow: hidden;
  margin: 0 auto 30px;
}
.oc-sns-list {
  position: relative;
  left: 50%;
  float: left;
}
.oc-sns-list li {
  position: relative;
  left: -50%;
  float: left;
  padding:0 15px;
}

/*contents-01-14*/
table.oc-table {
  width: 100%;
  margin: 0 auto 30px;
}
table.oc-table tr th {
  padding: 15px;
  border: 1px solid #dcdcdc;
  background: #f5f5f5;
  font-weight: bold;
}
table.oc-table tr td {
  padding: 15px;
  border: 1px solid #dcdcdc;
  background: #ffffff;
}
table.oc-table.oc-two-rows tr th {
  width: 30%;
}
table.oc-table.oc-two-rows tr td {
  width: 70%;
}

@media (max-width: 768px) {
  table.oc-table tr th {
    padding: 10px;
  }
  table.oc-table tr td {
    padding: 10px;
  }
  table.oc-table.oc-two-rows tr th {
    width:100%;
    display: block;
    box-sizing: border-box;
    border-bottom: 0;
  }
  table.oc-table.oc-two-rows tr td {
    width:100%;
    display: block;
    box-sizing: border-box;
    border-bottom: 0;
  }
  table.oc-table.oc-two-rows tr:last-child td {
    border-bottom: 1px solid #dcdcdc;
  }
}
/*contents-01-15*/
table.oc-table.oc-table-heading tr:first-child th {
  background: #cccccc;
}
table.oc-table.oc-table-heading tr:first-child td {
  background: #cccccc;
}
/*contents-01-16*/
table.oc-table.oc-td tr td {
  width: 30%;
}
table.oc-table.oc-td tr td + td {
  width: 70%;
}
/*contents-01-17*/
.oc-gmap {
  margin: 0 auto 30px;
}
.oc-gmap iframe {
  max-width: 100%;
  width: 100%;
}
/*contents-01-18*/
.oc-box .oc-gmap,
.oc-box table.oc-table {
  margin-bottom: 0;
}

/***********************
contents-02
************************/
/*contents-02-13*/
.oc-heading-text {
  margin: 0 auto 30px;
}
.oc-heading-text .oc-heading {
  width:50%;
  float:left;
  margin-right: 2%;
}
.oc-heading-text .oc-text-wrap {
  width:48%;
  float:left;
}

@media (max-width: 768px) {
  .oc-heading-text .oc-heading {
    width:100%;
    float:none;
    margin-right: 0;
    margin-bottom: 15px;
  }
  .oc-heading-text .oc-text-wrap {
    width:100%;
    float:none;
  }
}
/***********************
contents-04
************************/
/*contents-04-20*/
.oc-position-text {
  position: relative;
}
.oc-position-text .oc-text-wrap {
  position: absolute;
  left: 0;
  bottom:10px;
  text-align: center;
  width: 100%;
}
/***********************
contents-05
************************/
.oc-boxs.oc-box-4.oc-nomargin .oc-box {
  margin: 0;
  width: 25%;
}
.oc-image-caption {
  text-align: center;
}
/***********************
contents-06
************************/
.oc-boxs.oc-box-5.oc-nomargin .oc-box {
  margin: 0;
  width: 20%;
}
.oc-image-caption {
  text-align: center;
}
/***********************
contents-07
************************/
/*contents-07-01*/
.oc-contents-link {
  display: block;
  text-decoration: none;
}
.oc-contents-link .oc-image-center {
  overflow: hidden;
}
.oc-contents-link .oc-image-center img {
  -moz-transition: -moz-transform 0.5s linear;
  -webkit-transition: -webkit-transform 0.5s linear;
  -o-transition: -o-transform 0.5s linear;
  -ms-transition: -ms-transform 0.5s linear;
  transition: transform 0.5s linear;
}
.oc-contents-link .oc-image-center img:hover {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -o-transform: scale(1.2);
  -ms-transform: scale(1.2);
  transform: scale(1.2);
}
/*contents-07-03*/
.oc-position-contents {
  position: relative;
}
.oc-position-contents .oc-heading {
  display: none;
}
.oc-position-contents:hover .oc-heading {
  display: block;
  position: absolute;
  left: 0;
  top:0;
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
  background: rgba(255,255,255,0.5);
  z-index: 10;
  margin:0;
}
.oc-position-contents:hover .oc-heading:before {
  display: none;
}
.oc-position-contents .oc-text-wrap {
  display: none;
}
.oc-position-contents:hover .oc-text-wrap {
  display: block;
  position: absolute;
  left: 0;
  bottom:0;
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
  background: rgba(255,255,255,0.5);
  z-index: 10;
  margin:0;
}
/***********************
contents-table
************************/
/*contents-table-05*/
table.oc-table.oc-three-rows tr th {
  text-align: center;
}
table.oc-table.oc-three-rows tr th,
table.oc-table.oc-three-rows tr td {
  width:33.3%;
}
