@font-face {
    font-family: 'icomoon';
    src: url("../fonts/icomoon/icomoon.eot?srf3rx");
    src: url("../fonts/icomoon/icomoon.eot?srf3rx#iefix") format("embedded-opentype"), url("../fonts/icomoon/icomoon.ttf?srf3rx") format("truetype"), url("../fonts/icomoon/icomoon.woff?srf3rx") format("woff"), url("../fonts/icomoon/icomoon.svg?srf3rx#icomoon") format("svg");
    font-weight: normal;
    font-style: normal;
}

@import url('https://fonts.googleapis.com/css?family=Sawarabi+Mincho');
@import url('https://fonts.googleapis.com/earlyaccess/hannari.css');

body {
    font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
    line-height: 1.8;
    font-size: 16px;
    background: #fff;
    color: #4e4e4e;
    font-weight: 300;
    overflow-x: hidden;
}

body.fh5co-offcanvas {
    overflow: hidden;
}

a {
    color: #4e4e4e;
    text-decoration: none !important;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}

a:hover {
    text-decoration: none !important;
}

p,
ul,
ol {
    margin-bottom: 0.5em;
    font-size: 18px;
    color: #4e4e4e;
    font-weight: 400;
    font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: rgba(0, 0, 0, 0.7);
    font-weight: 400;
    margin: 0 0 30px 0;
}

figure {
    margin-bottom: 2em;
}

::-webkit-selection {
    color: #fcfcfc;
    background: #00ADB5;
}

::-moz-selection {
    color: #fcfcfc;
    background: #00ADB5;
}

::selection {
    color: #fcfcfc;
    background: #00ADB5;
}

.btn {
    margin-right: 4px;
    margin-bottom: 4px;
    font-family: "Open Sans", Arial, serif;
    font-size: 16px;
    font-weight: 400;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    -ms-border-radius: 30px;
    border-radius: 30px;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}

.btn.btn-md {
    padding: 10px 20px !important;
}

.btn.btn-lg {
    padding: 18px 36px !important;
}

.btn:hover,
.btn:active,
.btn:focus {
    box-shadow: none !important;
    outline: none !important;
    color: #fff !important;
}

.btn-primary {
    background: #00ADB5;
    color: #fff;
    border: 2px solid #00ADB5;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background: #00c5cf !important;
    border-color: #00c5cf !important;
}

.btn-primary.btn-outline {
    background: transparent;
    color: #00ADB5;
    border: 2px solid #00ADB5;
}

.btn-primary.btn-outline:hover,
.btn-primary.btn-outline:focus,
.btn-primary.btn-outline:active {
    background: #00ADB5;
    color: #fff !important;
}

.btn-success {
    background: #5cb85c;
    color: #fff;
    border: 2px solid #5cb85c;
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active {
    background: #4cae4c !important;
    border-color: #4cae4c !important;
}

.btn-success.btn-outline {
    background: transparent;
    color: #5cb85c;
    border: 2px solid #5cb85c;
}

.btn-success.btn-outline:hover,
.btn-success.btn-outline:focus,
.btn-success.btn-outline:active {
    background: #5cb85c;
    color: #fff;
}

.btn-info {
    background: #5bc0de;
    color: #fff;
    border: 2px solid #5bc0de;
}

.btn-info:hover,
.btn-info:focus,
.btn-info:active {
    background: #46b8da !important;
    border-color: #46b8da !important;
}

.btn-info.btn-outline {
    background: transparent;
    color: #5bc0de;
    border: 2px solid #5bc0de;
}

.btn-info.btn-outline:hover,
.btn-info.btn-outline:focus,
.btn-info.btn-outline:active {
    background: #5bc0de;
    color: #fff;
}

.btn-warning {
    background: #f0ad4e;
    color: #fff;
    border: 2px solid #f0ad4e;
}

.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active {
    background: #eea236 !important;
    border-color: #eea236 !important;
}

.btn-warning.btn-outline {
    background: transparent;
    color: #f0ad4e;
    border: 2px solid #f0ad4e;
}

.btn-warning.btn-outline:hover,
.btn-warning.btn-outline:focus,
.btn-warning.btn-outline:active {
    background: #f0ad4e;
    color: #fff;
}

.btn-danger {
    background: #d9534f;
    color: #fff;
    border: 2px solid #d9534f;
}

.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active {
    background: #d43f3a !important;
    border-color: #d43f3a !important;
}

.btn-danger.btn-outline {
    background: transparent;
    color: #d9534f;
    border: 2px solid #d9534f;
}

.btn-danger.btn-outline:hover,
.btn-danger.btn-outline:focus,
.btn-danger.btn-outline:active {
    background: #d9534f;
    color: #fff;
}

.btn-outline {
    background: none;
    border: 2px solid gray;
    font-size: 16px;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.btn-outline:hover,
.btn-outline:focus,
.btn-outline:active {
    box-shadow: none;
}

.btn.with-arrow {
    position: relative;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.btn.with-arrow i {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    right: 0px;
    top: 50%;
    margin-top: -8px;
    -webkit-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
}

.btn.with-arrow:hover {
    padding-right: 50px;
}

.btn.with-arrow:hover i {
    color: #fff;
    right: 18px;
    visibility: visible;
    opacity: 1;
}

#fh5co-header {
    position: relative;
    margin-bottom: 0;
    z-index: 9999999;
}

.fh5co-cover,
.fh5co-hero {
    position: relative;
    height: 800px;
}

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

    .fh5co-cover,
    .fh5co-hero {
        height: 700px;
    }
}

.fh5co-cover.fh5co-hero-2,
.fh5co-hero.fh5co-hero-2 {
    height: 600px;
}

.fh5co-cover.fh5co-hero-2 .fh5co-overlay,
.fh5co-hero.fh5co-hero-2 .fh5co-overlay {
    position: absolute !important;
    width: 100%;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0.7);
}

.fh5co-overlay {
    position: absolute !important;
    width: 100%;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0.3);
}

.fh5co-cover {
    background-size: cover;
    position: relative;
}

@media screen and (max-width: 768px) {
    .fh5co-cover {
        height: inherit;
        padding: 3em 0;
    }
}

.fh5co-cover .btn {
    padding: 1em 2em;
    opacity: .9;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    -ms-border-radius: 30px;
    border-radius: 30px;
}

.fh5co-cover.fh5co-cover_2 {
    height: 600px;
}

@media screen and (max-width: 768px) {
    .fh5co-cover.fh5co-cover_2 {
        height: inherit;
        padding: 3em 0;
    }
}

.fh5co-cover .desc {
    top: 50%;
    position: absolute;
    width: 100%;
    margin-top: -100px;
    z-index: 2;
    color: #fff;
}

@media screen and (max-width: 768px) {
    .fh5co-cover .desc {
        padding-left: 5px;
        padding-right: 5px;
    }
}

.fh5co-cover .desc h2 {
    color: #fff;
    font-size: 55px;
    font-weight: 300;
    margin-bottom: 10px;
    line-height: 60px;
    letter-spacing: 1px;
}

@media screen and (max-width: 768px) {
    .fh5co-cover .desc h2 {
        font-size: 40px;
        line-height: 50px;
    }
}

.fh5co-cover .desc span {
    display: block;
    margin-bottom: 25px;
    font-size: 24px;
    letter-spacing: 1px;
    color: rgba(255, 255, 255, 0.8);
}

.fh5co-cover .desc span i {
    color: #151f2c;
}

.fh5co-cover .desc span a {
    color: rgba(255, 255, 255, 0.8);
}

.fh5co-cover .desc span a:hover,
.fh5co-cover .desc span a:focus {
    color: #fff !important;
}

.fh5co-cover .desc span a.fh5co-site-name {
    padding-bottom: 2px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.7);
}

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

.sf-menu {
    float: right;
}

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

.sf-menu a {
    color: rgba(0, 0, 0);
    padding: 2.4em 1.3em !important;
    font-weight: normal;
    border-left: none;
    border-top: none;
    border-top: none;
    text-decoration: none;
    zoom: 1;
    font-size: 16px;
    border-bottom: none !important;
    font-weight: 400;
    text-transform: uppercase;
}

.sf-menu a:hover,
.sf-menu a:focus,
.sf-menu a.active {
    background: #39ab24 !important;
    border-radius: 100%;
    color: #fff !important;
}

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

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

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

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

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

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

.sf-arrows .sf-with-ul:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 1em;
    margin-top: -3px;
    height: 0;
    width: 0;
    border: 5px solid transparent;
    border-top-color: #ccc;
}

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

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

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

#fh5co-header-section {
    background: #ffffff9e;
    padding: 0;
    width: 100%;
    -webkit-box-shadow: 0px 5px 5px -4px rgba(0, 0, 0, 0.22);
    -moz-box-shadow: 0px 5px 5px -4px rgba(0, 0, 0, 0.22);
    -ms-box-shadow: 0px 5px 5px -4px rgba(0, 0, 0, 0.22);
    -o-box-shadow: 0px 5px 5px -4px rgba(0, 0, 0, 0.22);
    box-shadow: 0px 5px 5px -4px rgba(0, 0, 0, 0.22);
    position: fixed;
    top: 0;
    left: 0;
}

@media screen and (max-width: 768px) {
    #fh5co-header-section {
        padding: 1.1em 0;
    }
}

.nav-header {
    position: relative;
    float: left;
    width: 100%;
}

#fh5co-logo {
    font-size: 22px;
    text-transform: uppercase;
    font-weight: 700;
    float: left;
    margin-bottom: 0;
    margin-top: 1.4em;
}

#fh5co-logo a {
    color: rgba(21, 31, 44, 0.8);
    padding: 0 7px;
    position: relative;
}

#fh5co-logo a i {
    color: #00ADB5;
    font-size: 30px;
    padding-right: 12px;
}

#fh5co-logo a:hover,
#fh5co-logo a:focus {
    color: rgba(0, 0, 0, 0.9) !important;
}

#fh5co-logo span {
    padding: 0;
    margin: 0;
    font-weight: 100;
}

@media screen and (max-width: 991px) {
    #fh5co-logo {
        width: 100%;
        float: none;
        margin-top: 0;
    }

    .logo-img {
        width: 140px;
        float: left;
        margin-top: 0;
        margin-bottom: 10px;
    }

    .logo-img2 {
        width: 265px;
        float: left;
        margin-top: 0;
        margin-bottom: 10px;
    }
}


#fh5co-menu-wrap {
    position: relative;
    z-index: 2;
    display: block;
    float: right;
}

#fh5co-primary-menu > li > ul li.active > a {
    color: #00ADB5 !important;
}

#fh5co-primary-menu > li > .sf-with-ul:after {
    border: none !important;
    font-family: 'icomoon';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    float: right;
    margin-right: 3px;
    top: 50%;
    margin-top: -7px;
    content: "\e922";
    color: rgba(0, 0, 0, 0.4);
}

#fh5co-primary-menu > li > .sf-with-ul:hover:after,
#fh5co-primary-menu > li > .sf-with-ul:focus:after {
    color: #fff !important;
}

#fh5co-primary-menu > li > .sf-with-ul.active:after {
    color: white;
}

#fh5co-primary-menu > li > ul li {
    position: relative;
}

#fh5co-primary-menu > li > ul li > .sf-with-ul:after {
    border: none !important;
    font-family: 'icomoon';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    float: right;
    margin-right: 10px;
    top: 20px;
    font-size: 16px;
    content: "\e924";
    color: rgba(0, 0, 0, 0.5);
}

#fh5co-primary-menu .fh5co-sub-menu {
    padding: 10px 7px 10px;
    background: #fff;
    left: 0;
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
    -moz-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
    -ms-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
    -o-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
}

#fh5co-primary-menu .fh5co-sub-menu > li > .fh5co-sub-menu {
    left: 100%;
}

.site-header.has-image #primary-menu .sub-menu {
    border-color: #ebebeb;
    -webkit-box-shadow: 0 5px 15px 4px rgba(0, 0, 0, 0.09);
    -moz-box-shadow: 0 5px 15px 4px rgba(0, 0, 0, 0.09);
    -ms-box-shadow: 0 5px 15px 4px rgba(0, 0, 0, 0.09);
    -o-box-shadow: 0 5px 15px 4px rgba(0, 0, 0, 0.09);
    box-shadow: 0 5px 15px 4px rgba(0, 0, 0, 0.09);
}

.site-header.has-image #primary-menu .sub-menu:before {
    display: none;
}

#fh5co-primary-menu .fh5co-sub-menu a {
    letter-spacing: 0;
    padding: 0 15px;
    font-size: 16px;
    line-height: 34px;
    color: #575757 !important;
    text-transform: none;
    background: none;
}

#fh5co-primary-menu .fh5co-sub-menu a:hover {
    color: #00ADB5 !important;
    background: none !important;
}

#fh5co-hero {
    min-height: 700px;
    background: #fff url(../images/loader.gif) no-repeat center center;
}

#fh5co-hero .btn {
    font-size: 24px;
}

#fh5co-hero .btn.btn-primary {
    padding: 14px 30px !important;
}

#fh5co-hero .flexslider {
    border: none;
    z-index: 1;
    margin-bottom: 0;
    overflow: hidden;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    -ms-border-radius: 0px;
    border-radius: 0px;
}

#fh5co-hero .flexslider .slides {
    position: relative;
    overflow: hidden;
}

#fh5co-hero .flexslider .slides li {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    min-height: 700px;
    position: relative;
}

#fh5co-hero .flexslider .slides li:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    content: '';
    /*background: rgba(0, 0, 0, 0.4);*/
    z-index: 1;
}

.mv1 {
    background-image: url(../images/mv/mv1.jpg);
}

.mv2 {
    background-image: url(../images/mv/mv2-2.jpg);
}

#fh5co-hero .flexslider .flex-control-nav {
    bottom: 40px;
    z-index: 1000;
}

#fh5co-hero .flexslider .flex-control-nav li a {
    background: rgba(255, 255, 255, 0.2);
    box-shadow: none;
    width: 12px;
    height: 12px;
    cursor: pointer;
}

#fh5co-hero .flexslider .flex-control-nav li a.flex-active {
    cursor: pointer;
    background: rgba(255, 255, 255, 0.7);
}

#fh5co-hero .flexslider .flex-direction-nav {
    display: none;
}

#fh5co-hero .flexslider .slider-text {
    display: table;
    opacity: 0;
    min-height: 700px;
    z-index: 9;
}

#fh5co-hero .flexslider .slider-text a:hover {
    color: #fff !important;
}

#fh5co-hero .flexslider .slider-text > .slider-text-inner {
    display: table-cell;
    vertical-align: middle;
    min-height: 700px;
}

#fh5co-hero .flexslider .slider-text > .slider-text-inner h2 {
    font-size: 60px;
    font-weight: 800;
    color: #39ab24;
    text-shadow: #fff 3px 4px 5px;
    font-family: "Hannari", "M PLUS Rounded 1c", "FOT-筑紫A丸ゴシック Std R", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}

@media screen and (max-width: 768px) {
    #fh5co-hero .flexslider .slider-text > .slider-text-inner h2 {
        font-size: 34px;
        font-weight: bold;
        font-family: "Hannari", "M PLUS Rounded 1c", "FOT-筑紫A丸ゴシック Std R", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    }
}

#fh5co-hero .flexslider .slider-text > .slider-text-inner p .btn:hover {
    color: #fff !important;
}

#fh5co-hero .flexslider .slider-text > .slider-text-inner .fh5co-lead {
    font-size: 20px;
    color: #fff;
}

#fh5co-hero .flexslider .slider-text > .slider-text-inner .fh5co-lead .icon-heart {
    color: #d9534f;
}

#fh5co-services-section,
#fh5co-pricing-section,
#fh5co-blog-section,
#fh5co-counter-section,
#fh5co-about-section,
#fh5co-contact-section {
    padding: 7em 0;
}

.fh5co-portfolio-section {
    padding-top: 7em;
}

.grey-bg {
    background: rgba(45, 64, 89, 0.1);
}

#fh5co-section {
    background: rgba(45, 64, 89, 0.1);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
}

.col-half {
    width: 50%;
    float: left;
}

@media screen and (max-width: 992px) {
    .col-half {
        width: 100%;
    }
}

.col-half.col-half-2 {
    padding: 7em 3em;
}

.col-half .btn-outline {
    background: none;
    border: 2px solid #fff !important;
    font-size: 16px;
    color: #fff;
}

.col-half .btn-outline:hover {
    background: transparent !important;
    color: #fff !important;
}

.col-half .btn-outline:hover i {
    color: #fff !important;
}

.col-half h2 {
    font-weight: 400;
    margin-bottom: 2em;
}

.col-half .featured-inner {
    margin-bottom: 40px;
}

.col-half .featured-inner i {
    float: left;
    font-size: 40px;
    color: #00ADB5;
}

.col-half .featured-inner .desc {
    padding-left: 5em;
}

.col-half .featured-inner .desc h3 {
    font-size: 18px;
    margin-bottom: 15px;
}

.col-half.col-half-color {
    background: #00ADB5;
}

.col-half.col-half-color h2,
.col-half.col-half-color h3,
.col-half.col-half-color p {
    color: #fff;
}

.col-half.col-half-color p {
    color: rgba(255, 255, 255, 0.9);
}

.col-half.col-half-color .row-half {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    margin: 0;
    overflow: hidden;
}

.col-half.col-half-color .row-half .col-half-inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    background-size: cover;
    background-position: center center;
    position: relative;
    width: 50%;
    min-height: 350px;
}

@media screen and (max-width: 480px) {
    .col-half.col-half-color .row-half .col-half-inner {
        width: 100%;
    }
}

.col-half.col-half-color .row-half .col-half-inner.col-half-inner-bg {
    background: #F36363 !important;
}

.col-half.col-half-color .row-half .col-half-inner.col-half-inner-bg2 {
    background: #046FDB !important;
}

.col-half.col-half-color .row-half .col-half-inner .desc {
    padding: 30px;
    position: absolute;
    bottom: 0;
    left: 0;
    top: 0;
    right: 0;
}

.col-half.col-half-color .row-half .col-half-inner .desc blockquote {
    border: none;
    padding: 0;
}

.col-half.col-half-color .row-half .col-half-inner .desc blockquote .client {
    color: #fff;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: 2px;
}

.col-half.col-half-color .row-half .grid-item {
    overflow: hidden;
}

.col-half.col-half-color .row-half .grid-item:after {
    position: absolute;
    background: rgba(0, 173, 181, 0.7) !important;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    content: '';
    z-index: 1;
    opacity: 0;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.col-half.col-half-color .row-half .grid-item .desc2 {
    padding: 30px;
    position: absolute;
    bottom: -100px;
    left: 0;
    right: 0;
    z-index: 9;
    opacity: 0;
    -webkit-transition: 0.1s;
    -o-transition: 0.1s;
    transition: 0.1s;
}

.col-half.col-half-color .row-half .grid-item .desc2 h3 {
    margin-bottom: 10px;
}

.col-half.col-half-color .row-half .grid-item .desc2 span {
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
}

.col-half.col-half-color .row-half .grid-item:hover:after,
.col-half.col-half-color .row-half .grid-item:focus:after {
    opacity: 1 !important;
}

.col-half.col-half-color .row-half .grid-item:hover .desc2,
.col-half.col-half-color .row-half .grid-item:focus .desc2 {
    bottom: 5px;
    opacity: 1;
}

.services {
    margin-bottom: 4.5em;
    padding: 70px 25px 25px 25px;
    border: 2px solid rgba(45, 64, 89, 0.1);
    position: relative;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    border-radius: 5px;
}

.services span {
    display: block;
    margin-bottom: 20px;
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
}

.services span i {
    font-size: 40px;
    color: #00ADB5;
    border: 2px solid rgba(45, 64, 89, 0.1);
    padding: 30px;
    background: #fff;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    border-radius: 50%;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

#fh5co-portfolio-section {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
}

#fh5co-portfolio-section .portfolio-row-half {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    width: 100%;
}

#fh5co-portfolio-section .portfolio-row-half .portfolio-grid-item {
    background-size: cover;
    background-position: center center;
    position: relative;
    width: 25%;
    height: 350px;
    float: left;
    overflow: hidden;
}

@media screen and (max-width: 992px) {
    #fh5co-portfolio-section .portfolio-row-half .portfolio-grid-item {
        width: 50%;
    }
}

@media screen and (max-width: 480px) {
    #fh5co-portfolio-section .portfolio-row-half .portfolio-grid-item {
        width: 100%;
    }
}

#fh5co-portfolio-section .portfolio-row-half .portfolio-grid-item:after {
    position: absolute;
    background: rgba(0, 173, 181, 0.7) !important;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    content: '';
    z-index: 1;
    opacity: 0;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

#fh5co-portfolio-section .portfolio-row-half .portfolio-grid-item .desc2 {
    padding: 30px;
    position: absolute;
    bottom: -100px;
    left: 0;
    right: 0;
    z-index: 9;
    opacity: 0;
    -webkit-transition: 0.1s;
    -o-transition: 0.1s;
    transition: 0.1s;
}

#fh5co-portfolio-section .portfolio-row-half .portfolio-grid-item .desc2 h3 {
    margin-bottom: 5px;
    color: #fff;
}

#fh5co-portfolio-section .portfolio-row-half .portfolio-grid-item .desc2 span {
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
}

#fh5co-portfolio-section .portfolio-row-half .portfolio-grid-item .desc2 i {
    color: #fff;
    position: absolute;
    top: 35px;
    right: 30px;
    font-size: 20px;
}

#fh5co-portfolio-section .portfolio-row-half .portfolio-grid-item:hover:after,
#fh5co-portfolio-section .portfolio-row-half .portfolio-grid-item:focus:after {
    opacity: 1 !important;
}

#fh5co-portfolio-section .portfolio-row-half .portfolio-grid-item:hover .desc2,
#fh5co-portfolio-section .portfolio-row-half .portfolio-grid-item:focus .desc2 {
    bottom: 5px;
    opacity: 1;
}

#fh5co-portfolio-section .portfolio-row-half .portfolio-grid-item-color {
    position: relative;
    width: 25%;
    height: 350px;
    float: left;
    background: #F36363;
}

@media screen and (max-width: 992px) {
    #fh5co-portfolio-section .portfolio-row-half .portfolio-grid-item-color {
        width: 50%;
    }
}

@media screen and (max-width: 480px) {
    #fh5co-portfolio-section .portfolio-row-half .portfolio-grid-item-color {
        width: 100%;
    }
}

#fh5co-portfolio-section .portfolio-row-half .portfolio-grid-item-color:after {
    position: absolute;
    top: 130px;
    right: -20px;
    width: 0;
    height: 0;
    content: '';
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-left: 20px solid #F36363;
    z-index: 9;
}

#fh5co-portfolio-section .portfolio-row-half .portfolio-grid-item-color .desc {
    padding: 30px;
}

#fh5co-portfolio-section .portfolio-row-half .portfolio-grid-item-color .desc h2,
#fh5co-portfolio-section .portfolio-row-half .portfolio-grid-item-color .desc p {
    color: #fff;
}

#fh5co-portfolio-section .portfolio-row-half .portfolio-grid-item-color .desc .btn-outline {
    background: none;
    border: 2px solid #fff !important;
    font-size: 16px;
    color: #fff;
}

#fh5co-portfolio-section .portfolio-row-half .portfolio-grid-item-color .desc .btn-outline:hover {
    background: transparent !important;
    color: #fff !important;
}

#fh5co-portfolio-section .portfolio-row-half .portfolio-grid-item-color .desc .btn-outline:hover i {
    color: #fff !important;
}

#fh5co-pricing-section .price-box {
    border: 2px solid #ECEEF0;
    text-align: center;
    padding: 30px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    border-radius: 5px;
    margin-bottom: 40px;
    position: relative;
}

#fh5co-pricing-section .price-box.popular {
    border: 2px solid #00ADB5;
}

#fh5co-pricing-section .price-box.popular .popular-text {
    top: 0;
    left: 50%;
    margin-left: -54px;
    margin-top: -2em;
    position: absolute;
    padding: 4px 20px;
    background: #00ADB5;
    color: #fff;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    border-radius: 4px;
}

#fh5co-pricing-section .price-box.popular .popular-text:after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -10px;
    border-top: 10px solid black;
    border-top-color: #00ADB5;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
}

#fh5co-pricing-section .pricing-plan {
    margin: 0;
    padding: 0;
    font-size: 15px;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 700;
}

#fh5co-pricing-section .price {
    font-size: 50px;
    color: #000;
}

#fh5co-pricing-section .price .currency {
    font-size: 20px;
    top: -1.2em;
}

#fh5co-pricing-section .price small {
    font-size: 16px;
}

#fh5co-pricing-section .pricing-info {
    padding: 0;
    margin: 0 0 30px 0;
}

#fh5co-pricing-section .pricing-info li {
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}

.testimony {
    border: 2px solid rgba(255, 255, 255, 0.3);
    padding: 50px 20px 20px 20px;
    position: relative;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    border-radius: 5px;
}

@media screen and (max-width: 768px) {
    .testimony {
        margin-bottom: 60px;
    }
}

.testimony .quote {
    position: absolute;
    top: -40px;
    left: 50%;
    right: 0;
    margin-left: -40px;
}

.testimony .quote i {
    font-size: 30px;
    width: 80px;
    height: 80px;
    padding-top: 25px;
    color: rgba(0, 0, 0, 0.3);
    position: absolute;
    left: 0;
    top: 0;
    background: white;
    -webkit-box-shadow: 0px 9px 7px -10px rgba(0, 0, 0, 0.13);
    -moz-box-shadow: 0px 9px 7px -10px rgba(0, 0, 0, 0.13);
    -ms-box-shadow: 0px 9px 7px -10px rgba(0, 0, 0, 0.13);
    -o-box-shadow: 0px 9px 7px -10px rgba(0, 0, 0, 0.13);
    box-shadow: 0px 9px 7px -10px rgba(0, 0, 0, 0.13);
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    border-radius: 50%;
}

.testimony blockquote {
    border: none;
    position: relative;
}

.testimony blockquote p {
    font-size: 20px;
    line-height: 1.6em;
    color: rgba(255, 255, 255, 0.6) !important;
}

.testimony blockquote span {
    color: rgba(255, 255, 255, 0.7);
}

.testimony blockquote span a {
    font-size: 16px;
}

.feature-full-1col {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    width: 100%;
    margin-bottom: 30px;
}

.feature-full-1col .image,
.feature-full-1col .desc {
    float: left;
    width: 50%;
}

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

    .feature-full-1col .image,
    .feature-full-1col .desc {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        position: relative;
        width: 100%;
    }
}

.feature-full-1col .image {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

@media screen and (max-width: 768px) {
    .feature-full-1col .image {
        height: 300px;
    }
}

.feature-full-1col .desc {
    padding: 50px;
    background: #fff;
}

@media screen and (max-width: 768px) {
    .feature-full-1col .desc {
        padding: 30px;
    }
}

.feature-full-1col .desc.desc2 {
    background: rgba(45, 64, 89, 0.05);
}

.feature-full-2col {
    margin-bottom: 30px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
    .feature-full-2col {
        flex-wrap: wrap;
        width: 100%;
    }
}

.feature-full-2col .blog-inner {
    float: left;
    width: 50%;
    position: relative;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
}

@media screen and (max-width: 992px) {
    .feature-full-2col .blog-inner {
        width: 100%;
        flex-wrap: wrap;
        margin-bottom: 30px;
    }
}

@media screen and (max-width: 768px) {
    .feature-full-2col .blog-inner {
        width: 100%;
        flex-wrap: wrap;
        margin-bottom: 30px;
    }
}

.feature-full-2col .blog-inner .image {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
}

@media screen and (max-width: 480px) {
    .feature-full-2col .blog-inner .image {
        position: relative;
        height: 200px;
    }
}

.feature-full-2col .blog-inner .image,
.feature-full-2col .blog-inner .desc {
    width: 50%;
}

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

    .feature-full-2col .blog-inner .image,
    .feature-full-2col .blog-inner .desc {
        width: 100%;
    }
}

.feature-full-2col .blog-inner .desc {
    padding: 30px;
    background: #fff;
}

.feature-full-2col .blog-inner .desc.desc2 {
    background: rgba(45, 64, 89, 0.05);
}

.fh5co-counters {
    padding: 3em 0;
    background-size: cover;
    background-attachment: fixed;
    background-position: center center;
}

.fh5co-counters .counter-wrap {
    border: 1px solid red !important;
}

.fh5co-counters .fh5co-counter {
    font-size: 44px;
    display: block;
    color: rgba(0, 0, 0, 0.7);
    font-family: "Open Sans", Arial, serif;
    width: 100%;
    font-weight: 400;
    margin-bottom: .3em;
}

.fh5co-counters .fh5co-counter-label {
    color: rgba(0, 0, 0, 0.5);
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: 5px;
    margin-bottom: 2em;
    display: block;
}

.about-wrap {
    border: 2px solid rgba(45, 64, 89, 0.1);
    padding: 100px 30px 30px;
    position: relative;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    border-radius: 5px;
}

@media screen and (max-width: 992px) {
    .about-wrap {
        margin-bottom: 6em;
    }
}

.about-wrap .about {
    position: absolute;
    top: -70px;
    left: 0;
    right: 0;
    width: 100%;
    margin-bottom: 40px;
}

.about-wrap .about > img {
    width: 140px;
    height: 140px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    border-radius: 50%;
}

.about-wrap .desc h3 {
    margin-bottom: 10px;
}

.about-wrap .desc .pos {
    font-size: 13px;
    letter-spacing: 3px;
    color: rgba(0, 0, 0, 0.4);
    text-transform: uppercase;
}

.googleplus-color {
    color: #dc4e41 !important;
}

.facebook-color {
    color: #3b5998 !important;
}

.twitter-color {
    color: #55acee !important;
}

.fh5co-heading {
    margin-bottom: 2.5em;
}

.fh5co-heading i {
    font-size: 40px;
    color: #00ADB5;
    padding: 10px;
    display: block;
    margin-bottom: 20px;
}

.fh5co-heading h2 {
    font-size: 34px;
}

.fh5co-table,
.fh5co-table-cell,
.fh5co-parallax {
    height: 500px;
}

.fh5co-parallax2 {
    padding-top: 10em;
    height: inherit !important;
}

@media screen and (max-width: 992px) {
    .fh5co-parallax2 {
        padding-bottom: 10em;
    }
}

.fh5co-parallax {
    background-color: #555;
    background-attachment: fixed;
    background-size: cover;
    position: relative;
}

.fh5co-parallax .overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: black;
    opacity: .7;
}

@media screen and (max-width: 768px) {
    .fh5co-parallax {
        height: inherit;
        padding: 4em 0;
    }
}

.fh5co-parallax .fh5co-intro h1 {
    color: #fff;
    font-size: 70px;
    font-weight: 300;
    margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
    .fh5co-parallax .fh5co-intro h1 {
        font-size: 30px;
    }
}

.fh5co-parallax .fh5co-intro p {
    color: #fff;
}

.fh5co-parallax .fh5co-intro p a {
    color: #fff;
    border-bottom: 2px solid rgba(255, 255, 255, 0.2);
}

.fh5co-parallax .fh5co-intro p a:hover {
    color: #fff;
}

.fh5co-parallax .fh5co-intro.box-area {
    padding: 40px;
    background: #222831;
}

.fh5co-table {
    display: table;
}

.fh5co-table-cell {
    display: table-cell;
    vertical-align: middle;
}

#fh5co-contact-section .contact-info {
    margin: 0;
    padding: 0;
}

#fh5co-contact-section .contact-info li {
    list-style: none;
    margin: 0 0 20px 0;
    position: relative;
    padding-left: 40px;
}

#fh5co-contact-section .contact-info li i {
    position: absolute;
    top: .3em;
    left: 0;
    font-size: 22px;
    color: rgba(0, 0, 0, 0.5);
}

#fh5co-contact-section .contact-info li a {
    font-weight: 400 !important;
    color: rgba(0, 0, 0, 0.3);
}

#fh5co-contact-section .form-control {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    -ms-box-shadow: none;
    -o-box-shadow: none;
    box-shadow: none;
    border: none;
    border: 1px solid rgba(0, 0, 0, 0.1);
    font-size: 18px;
    font-weight: 400;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    -ms-border-radius: 0px;
    border-radius: 0px;
}

#fh5co-contact-section .form-control:focus,
#fh5co-contact-section .form-control:active {
    border-bottom: 1px solid rgba(0, 0, 0, 0.5);
}

#fh5co-contact-section input[type="text"] {
    height: 50px;
}

#fh5co-contact-section .form-group {
    margin-bottom: 30px;
}

.section-title {
    font-weight: 700;
}

#map {
    width: 100%;
    height: 500px;
    position: relative;
}

@media screen and (max-width: 768px) {
    #map {
        height: 200px;
    }
}

.fh5co-social-icons > a {
    padding: 4px 5px;
    color: #00ADB5;
}

.fh5co-social-icons > a i {
    font-size: 24px;
}

.fh5co-social-icons > a:hover,
.fh5co-social-icons > a:focus,
.fh5co-social-icons > a:active {
    text-decoration: none;
    color: #212121;
}

#footer {
    padding: 7em 0;
    float: left;
    width: 100%;
    background: rgba(21, 31, 44, 0.1);
    -webkit-box-shadow: inset 0px 4px 15px -12px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: inset 0px 4px 15px -12px rgba(0, 0, 0, 0.75);
    -ms-box-shadow: inset 0px 4px 15px -12px rgba(0, 0, 0, 0.75);
    -o-box-shadow: inset 0px 4px 15px -12px rgba(0, 0, 0, 0.75);
    box-shadow: inset 0px 4px 15px -12px rgba(0, 0, 0, 0.75);
}

#footer a {
    color: #4e4e4e;
    text-decoration: underline;
}

#footer a:hover {
    color: #00ADB5;
}

#footer h3 {
    font-size: 15px;
}

#footer ul.link {
    padding: 0;
    margin: 0;
}

#footer ul.link li {
    padding: 0;
    margin: 0;
    list-style: none;
}

#footer #form-subscribe .form-field {
    position: relative;
}

#footer #form-subscribe input[type="email"] {
    background: #fff;
    padding: 5px 70px 5px 15px;
    border: none;
    height: 45px;
    line-height: 30px;
    width: 100%;
}

#footer #form-subscribe input[type="submit"] {
    background: #3c4146;
    border: none;
    color: #fff;
    height: 45px;
    padding: 5px 15px;
    position: absolute;
    right: 0;
    top: 0;
}

#footer .social-icons {
    padding: 0;
    margin: 0;
}

#footer .social-icons li {
    padding: 0;
    margin: 0;
    list-style: none;
}

#footer .social-icons li a {
    font-size: 30px;
    text-decoration: none;
}

#footer .social-icons li a:hover,
#footer .social-icons li a:focus,
#footer .social-icons li a:active {
    outline: none;
    text-decoration: none;
}

#footer .social-icons li a:hover i,
#footer .social-icons li a:focus i,
#footer .social-icons li a:active i {
    text-decoration: none;
}

.js .animate-box {
    opacity: 0;
}

#fh5co-wrapper {
    overflow-x: hidden;
    position: relative;
}

.fh5co-offcanvas {
    overflow: hidden;
}

.fh5co-offcanvas #fh5co-wrapper {
    overflow: hidden !important;
}

#fh5co-page {
    position: relative;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}

.fh5co-offcanvas #fh5co-page {
    -moz-transform: translateX(-240px);
    -webkit-transform: translateX(-240px);
    -ms-transform: translateX(-240px);
    -o-transform: translateX(-240px);
    transform: translateX(-240px);
}

@media screen and (max-width: 991px) {
    #fh5co-menu-wrap {
        display: none;
    }
}

#offcanvas-menu {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 99;
    background-image: url(../images/menu_bg2.jpg);
    right: -240px;
    width: 240px;
    padding: 20px;
    overflow-y: scroll !important;
}

#offcanvas-menu ul {
    padding: 0;
    margin: 0;
}

#offcanvas-menu ul li {
    padding: 0;
    margin: 0 0 10px 0;
    list-style: none;
}

#offcanvas-menu ul li a {
    font-size: 18px;
    color: #222;
}

#offcanvas-menu ul li a:hover {
    color: #00ADB5;
}

#offcanvas-menu ul li > .fh5co-sub-menu {
    margin-top: 9px;
    padding-left: 20px;
}

#offcanvas-menu ul li.active > a {
    color: #00ADB5;
}

#offcanvas-menu ul .fh5co-sub-menu {
    display: block !important;
}

.fh5co-nav-toggle {
    margin-top: -8px !important;
    cursor: pointer;
    text-decoration: none;
}

.fh5co-nav-toggle.active i::before,
.fh5co-nav-toggle.active i::after {
    background: #000;
}

.fh5co-nav-toggle.dark.active i::before,
.fh5co-nav-toggle.dark.active i::after {
    background: #000;
}

.fh5co-nav-toggle:hover,
.fh5co-nav-toggle:focus,
.fh5co-nav-toggle:active {
    outline: none;
    border-bottom: none !important;
}

.fh5co-nav-toggle i {
    position: relative;
    display: -moz-inline-stack;
    display: inline-block;
    zoom: 1;
    *display: inline;
    width: 30px;
    height: 2px;
    color: #000;
    font: bold 14px/.4 Helvetica;
    text-transform: uppercase;
    text-indent: -55px;
    background: #000;
    transition: all .2s ease-out;
}

.fh5co-nav-toggle i::before,
.fh5co-nav-toggle i::after {
    content: '';
    width: 30px;
    height: 2px;
    background: #000;
    position: absolute;
    left: 0;
    -webkit-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
}

.fh5co-nav-toggle.dark i {
    position: relative;
    color: #000;
    background: #000;
    transition: all .2s ease-out;
}

.fh5co-nav-toggle.dark i::before,
.fh5co-nav-toggle.dark i::after {
    background: #000;
    -webkit-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
}

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

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

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

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

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

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

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

.fh5co-nav-toggle {
    position: absolute;
    top: 0px;
    right: 0px;
    z-index: 9999;
    display: block;
    margin: 0 auto;
    display: none;
    cursor: pointer;
}

@media screen and (max-width: 991px) {
    .fh5co-nav-toggle {
        display: block;
        top: 15px;
    }
}

@media screen and (max-width: 480px) {
    .col-xxs-12 {
        float: none;
        width: 100%;
    }
}

.row-bottom-padded-lg {
    padding-bottom: 7em;
}

@media screen and (max-width: 768px) {
    .row-bottom-padded-lg {
        padding-bottom: 2em;
    }
}

.row-top-padded-lg {
    padding-top: 7em;
}

@media screen and (max-width: 768px) {
    .row-top-padded-lg {
        padding-top: 2em;
    }
}

.row-bottom-padded-md {
    padding-bottom: 4em;
}

@media screen and (max-width: 768px) {
    .row-bottom-padded-md {
        padding-bottom: 2em;
    }
}

.row-top-padded-md {
    padding-top: 4em;
}

@media screen and (max-width: 768px) {
    .row-top-padded-md {
        padding-top: 2em;
    }
}

.row-bottom-padded-sm {
    padding-bottom: 2em;
}

@media screen and (max-width: 768px) {
    .row-bottom-padded-sm {
        padding-bottom: 2em;
    }
}

.row-top-padded-sm {
    padding-top: 2em;
}

@media screen and (max-width: 768px) {
    .row-top-padded-sm {
        padding-top: 2em;
    }
}

.border-bottom {
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.lead {
    line-height: 1.8;
}

.no-js #loader {
    display: none;
}

.js #loader {
    display: block;
    position: absolute;
    left: 100px;
    top: 0;
}

.fh5co-loader {
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background: url(../images/hourglass.svg) center no-repeat #222222;
}

/*# sourceMappingURL=style.css.map */

/* -----------------------------------------------------------
	開業info
----------------------------------------------------------- */
.topinfo {
    width: 200px;
    height: 200px;
    display: flex;
    position: absolute;
    top: 60%;
    left: 25%;
}

/* -----------------------------------------------------------
	news
----------------------------------------------------------- */
.newscontainer {
    width: 100%;
}

.ttl {
    font-size: 150%;
    font-weight: bold;
    color: #39ab24;
    padding: 10px 0;
    border-bottom: solid 2px #e786b0;
}

.topics {
    margin: 10px 0 0;
}

.topics dl {
    padding: 1px 0;
    border-bottom: 1px solid #ccc;
}

.topics dt {
    padding-bottom: 5px;
}

.underl {
    text-decoration: underline;
}

@media screen and (min-width: 768px) {
    .topics dt {
        clear: left;
        float: left;
        width: 20%;
        font-weight: normal;
        padding-left: 10px;
    }

    .topics dd {
        margin-left: 11%;
    }

    .newscontainer {
        width: 100%;
        margin: 0 0 10px;
    }
}

/* PC end */

/* -----------------------------------------------------------
	footer
----------------------------------------------------------- */
.footer p {
    font-size: 15px;
}

.footer .h3 {
    font-size: 1.5rem;
}

.footer .tel {
    font-size: 2rem;
    font-weight: bold;
}

.footer .tel a {
    color: #fff;
}

.footer a:hover {
    color: #00ADB5;
}

.footer h3 {
    font-size: 15px;
}

.text-blue {
    color: #004898 !important;
}

.text-pink {
    color: #e786b0 !important;
}

.text-green {
    color: #39ab24 !important;
}

.bg-blue,
.thead-blue {
    background-color: #004898 !important;
}

.bg-green,
.thead-green,
.badge-primary {
    background-color: #39ab24 !important;
}

.bg-lightblue {
    background-color: #ecf7fb !important;
}

.bg-lightgreen {
    background-color: #f5fff4 !important;
}

.bg-pink {
    background-color: #DB8F81 !important;
}

.border-blue {
    border-color: #B2C2E1 !important;
}

.border-top {
    border-width: 2px !important;
}

/* 画像背景section
------------------------------------------------------------*/
/* container */
.wrapper0 {
    width: 100%;
    background-image: url(../images/respiratory_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.wrapper0 .container {
    max-width: 1000px;
    margin: 0px auto;
    padding: 80px 0px;
}

/* content */
.wrapper0 .content .heading {
    margin: 0px 0px 40px 0px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

/*.wrapper0 p {
    text-align: center;
}*/

/* 画像背景section
------------------------------------------------------------*/
/* container */
.wrapper1 {
    width: 100%;
    background-image: url(../images/topaccess.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.wrapper1 .container {
    max-width: 1000px;
    margin: 0px auto;
    padding: 80px 0px;
}

/* content */
.wrapper1 .content .heading {
    margin: 0px 0px 40px 0px;
    color: #ffffff;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

.wrapper1 p {
    color: #ffffff;
    text-align: center;
    padding-left: 10px;
    padding-right: 10px;
}

/* 円section
------------------------------------------------------------*/
/* container */
.wrapper2 {
    width: 100%;
}

.wrapper .container {
    max-width: 1000px;
    margin: 0px auto;
    padding: 80px 0px;
}

/* content */
.wrapper2 .content .heading {
    margin: 50px 0px 40px 0px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

@media (min-width: 992px) {
    .wrapper2 .content .list {
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

.wrapper2 .content .list-item {
    margin: 50px 0px;
    padding: 0px 50px;
    text-align: center;
}

@media (min-width: 992px) {
    .wrapper2 .content .list-item {
        margin: 0px;
        width: calc(100% / 2);
    }
}

.wrapper2 .content .list-item .image {
    display: block;
    width: 100%;
    max-width: 500px;
    margin: 0px auto 20px auto;
    border-radius: 100%;
}

.wrapper2 .content .list-item .text {
    /*line-height:1.8rem;
    font-size:1.5rem;*/
    color: #666666;
}

.wrapper2 .content .list-item h2 {
    /*line-height:1.8rem;
    font-size:1.5rem;*/
    color: #39ab24;
    font-weight: bold;
}

/* 左画像section
------------------------------------------------------------*/
/* container */
.wrapper3 {
    width: 100%;
    background-color: #fafafa;
}

.wrapper3 .container {
    max-width: 1920px;
    margin: 0px auto;
    padding: 0px 0px;
}

.wrapper3 .container2 {
    max-width: 1140px;
    margin: 0px auto;
    padding: 0px 0px;
}

/* content */
@media (min-width: 992px) {
    .wrapper3 .container .content {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .wrapper3 .container2 .content {
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

.wrapper3 .content-item {
    width: 100%;
}

@media (min-width: 992px) {
    .wrapper3 .content-item {
        width: 50%;
    }
}

.wrapper3 .image {
    display: block;
    max-width: 100%;
    margin: 0px auto;
}

.wrapper3 .text {
    padding: 0 15px;
}

.wrapper3 .text .heading {
    margin: 40px 0px 40px 0px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

/* 右画像section
------------------------------------------------------------*/
/* container */
.wrapper4 {
    width: 100%;
    background-color: #fafafa;
}

.wrapper4 .container {
    max-width: 1920px;
    margin: 0px auto;
    padding: 0px 0px;
}

.wrapper4 .container2 {
    max-width: 1140px;
    margin: 0px auto;
    padding: 0px 0px;
}

/* content */
@media (min-width: 992px) {
    .wrapper4 .container .content {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .wrapper4 .container2 .content {
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

/* PC時のみ順番を入れ替える */
@media (min-width: 992px) {
    .wrapper4 .content {
        flex-direction: row-reverse;
    }
}

.wrapper4 .content-item {
    width: 100%;
}

@media (min-width: 992px) {
    .wrapper4 .content-item {
        width: 50%;
    }
}

.wrapper4 .image {
    display: block;
    max-width: 100%;
    margin: 0px auto;
}

.wrapper4 .text {
    padding: 0 15px;
}

.wrapper4 .text .heading {
    margin: 40px 0px 40px 0px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

/* 右画像section2
------------------------------------------------------------*/
/* container */
.wrapper6 {
    width: 100%;
    background-color: #fafafa;
}

.wrapper6 .container {
    max-width: 1920px;
    margin: 0px auto;
    padding: 0px 0px;
}

.wrapper6 .container2 {
    max-width: 1140px;
    margin: 0px auto;
    padding: 0px 0px;
}

/* content */
@media (min-width: 992px) {
    .wrapper6 .container .content {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .wrapper6 .container2 .content {
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

/* PC時のみ順番を入れ替える */
@media (min-width: 992px) {
    .wrapper6 .content {
        flex-direction: row-reverse;
    }
}

.wrapper6 .content-item {
    width: 100%;
}

@media (min-width: 992px) {
    .wrapper6 .content-item {
        width: 50%;
    }
}

.wrapper6 .image {
    display: block;
    max-width: 60%;
    margin: 0px auto;
}

.wrapper6 .text {
    padding: 0 15px;
}

.wrapper6 .text .heading {
    margin: 40px 0px 40px 0px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

/* 見出しsection
------------------------------------------------------------*/
/* container */
.wrapper5 {
    width: 100%;
    background-image: url(../images/dotbg5.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.wrapper5 .container {
    max-width: 1000px;
    margin: 0px auto;
    padding: 80px 0px;
}

/* content */
.wrapper5 .content {
    padding: 0px;
    text-align: center;
}

.wrapper5 .content .heading {
    margin: 0px 0px 40px 0px;
    font-size: 24px;
    font-weight: normal;
    text-align: center;
}

/* top見出し1
------------------------------------------------------------*/
.wrapper7 {
    width: 100%;
    background-color: #fafafa;
}

.wrapper7 .container {
    max-width: 1920px;
    margin: 0px auto;
    padding: 0px 0px;
}

.wrapper7 .container2 {
    max-width: 1140px;
    margin: 0px auto;
    padding: 0px 0px;
}

/* content */
@media (min-width: 992px) {
    .wrapper7 .container .content {
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

.wrapper7 .content-item {
    width: 100%;
    /*margin: 5px;*/
    margin-bottom: 20px;
    padding: 10px;
}

.wrapper7-top {
    width: 100%;
    background-image: url(../images/wrapper5-top_bg1.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.wrapper7-top .container {
    margin: 0px auto;
    padding: 100px 20px;
}

/* content */
.wrapper7-top .content {
    padding: 0px;
    text-align: center;
}

.wrapper7-top .content .heading {
    margin: 0px 0px 40px 0px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

/* top見出し2
------------------------------------------------------------*/
.wrapper7-top2 {
    width: 100%;
    background-image: url(../images/wrapper5-top_bg2.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.wrapper7-top2 .container {
    margin: 0px auto;
    padding: 100px 20px;
}

/* content */
.wrapper7-top2 .content {
    padding: 0px;
    text-align: center;
}

.wrapper7-top2 .content .heading {
    margin: 0px 0px 40px 0px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

.bg-rgba {
    background-color: rgba(255, 255, 255, 0.4);
    width: 90%;
    height: 450px;
    margin: auto;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}

/* 見出しテキスト
------------------------------------------------------------*/
.headingtitle {
    margin: 50px 0px 40px 0px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

/* button
------------------------------------------------------------*/
.button_solid017 a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 240px;
    padding: 10px 25px;
    color: #fff;
    transition: 0.3s ease-in-out;
    font-weight: 600;
    background: #e786b0;
    border-radius: 50px;
    border: 0.2rem solid #ffe200;
    box-shadow: 0.2rem 0.2rem 0px 0.1rem #cccccc;
}

.button_solid017 a:hover {
    transform: translate3d(0.2rem, 0.2rem, 0);
    box-shadow: none;
    opacity: 1;
    color: #fff;
    transition: all 0.2s;
}

.button_solid017 a:after {
    content: '';
    width: 8px;
    height: 8px;
    border-top: 3px solid #ffe200;
    border-right: 3px solid #ffe200;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}

/* button2
------------------------------------------------------------*/
.button_solid018 a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    max-width: 240px;
    padding: 10px 25px;
    color: #fff;
    transition: 0.3s ease-in-out;
    font-weight: 600;
    background: #e786b0;
    border-radius: 50px;
    border: 0.2rem solid #ffe200;
    box-shadow: 0.2rem 0.2rem 0px 0.1rem #cccccc;
}

.button_solid018 a:hover {
    transform: translate3d(0.2rem, 0.2rem, 0);
    box-shadow: none;
    opacity: 1;
    color: #fff;
    transition: all 0.2s;
}

.button_solid018 a:after {
    content: '';
    width: 8px;
    height: 8px;
    border-top: 3px solid #ffe200;
    border-right: 3px solid #ffe200;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}

@media (max-width: 767px) {
    .button_solid018 a {
        margin: 0 auto;
    }
}

/* pagetop
------------------------------------------------------------*/
#page-top {
    position: fixed;
    right: 5px;
    bottom: 20px;
    height: 50px;
    text-decoration: none;
    font-weight: bold;
    transform: rotate(90deg);
    font-size: 90%;
    line-height: 1.5rem;
    color: #39ab24;
    padding: 0 0 0 35px;
    border-top: solid 1px;
}

#page-top::before {
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    left: 0px;
    width: 15px;
    border-top: solid 1px;
    transform: rotate(35deg);
    transform-origin: left top;
}

/* sp時改行
------------------------------------------------------------*/
@media screen and (min-width: 768px) {
    .br-sp {
        display: none;
    }
}

@media screen and (max-width: 992px) {
    .br-pc {
        display: none;
    }
}

/* sp時画像
------------------------------------------------------------*/
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.img-pc {
    display: block !important;
}

.img-sp {
    display: none !important;
}

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 768px) {
    .img-pc {
        display: none !important;
    }

    .img-sp {
        display: block !important;
    }
}

/* responsive image
------------------------------------------------------------*/
.img-fluid {
    width: 100%;
}

/* scroll efect
------------------------------------------------------------*/
.effect-fadein {
    opacity: 0;
    transform: translate(0, 30px);
    transition: all 400ms;
}

.effect-fadein.effect-scroll {
    opacity: 1;
    transform: translate(0, 0);
}

.effect .effect-fadein:nth-of-type(2) {
    -moz-transition-delay: 200ms;
    -webkit-transition-delay: 200ms;
    -o-transition-delay: 200ms;
    -ms-transition-delay: 200ms;
}

.effect .effect-fadein:nth-of-type(3) {
    -moz-transition-delay: 300ms;
    -webkit-transition-delay: 300ms;
    -o-transition-delay: 300ms;
    -ms-transition-delay: 300ms;
}

.effect .effect-fadein:nth-of-type(4) {
    -moz-transition-delay: 400ms;
    -webkit-transition-delay: 400ms;
    -o-transition-delay: 400ms;
    -ms-transition-delay: 400ms;
}

/* profile table
------------------------------------------------------------*/
.ptable {
    width: 100%;
    margin-bottom: 1rem;
    color: #212529;
}

.ptable th {
    width: 75px;
    padding: 0.75rem;
    vertical-align: top;
    border: 1px solid #dee2e6;
    font-weight: normal;
    background-color: #e3ffe3;
    text-align: center;
}

.ptable td {
    padding: 0.75rem;
    vertical-align: top;
    border: 1px solid #dee2e6;
}

.ptable thead th {
    vertical-align: bottom;
    border-bottom: 2px solid #dee2e6;
}

/* ページタイトル
------------------------------------------------------------*/
/*doctor*/
#doctor_title {
    background: url(../images/doctor_tit.jpg) no-repeat;
    background-size: cover;
    -webkit-background-size: cover;
    background-position: center center;
    text-align: center;
    padding: 150px 20px;
}

#doctor_title img {
    width: auto;
}

#doctor_title h1 {
    font-size: 3rem;
}

@media only screen and (max-width: 640px) {
    #doctor_title {
        padding: 120px 20px;
    }
}

/*introduction*/
#introduction_title {
    background: url(../images/introduction_tit.jpg) no-repeat;
    background-size: cover;
    -webkit-background-size: cover;
    text-align: center;
    padding: 150px 20px;
}

#introduction_title img {
    width: auto;
}

#introduction_title h1 {
    font-size: 3rem;
}

@media only screen and (max-width: 640px) {
    #introduction_title {
        padding: 120px 20px;
    }
}

/*colum*/
#colum_title {
    background: url(../images/colum_tit.jpg) no-repeat;
    background-size: cover;
    -webkit-background-size: cover;
    text-align: center;
    padding: 150px 20px;
}

#colum_title img {
    width: auto;
}

#colum_title h1 {
    font-size: 3rem;
}

@media only screen and (max-width: 640px) {
    #colum_title {
        padding: 120px 20px;
    }
}

/*information*/
#information_title {
    background: url(../images/information_tit.jpg) no-repeat;
    background-size: cover;
    -webkit-background-size: cover;
    text-align: center;
    padding: 150px 20px;
}

#information_title img {
    width: auto;
}

#information_title h1 {
    font-size: 3rem;
}

@media only screen and (max-width: 640px) {
    #information_title {
        padding: 120px 20px;
    }
}

/*respiratory*/
#respiratory_title {
    background: url(../images/respiratory_tit.jpg) no-repeat;
    background-size: cover;
    -webkit-background-size: cover;
    text-align: center;
    padding: 150px 20px;
}

#respiratory_title img {
    width: auto;
}

#respiratory_title h1 {
    font-size: 3rem;
}

@media only screen and (max-width: 640px) {
    #respiratory_title {
        padding: 120px 20px;
    }
}

/*access*/
#access_title {
    background: url(../images/access_tit.jpg) no-repeat;
    background-size: cover;
    -webkit-background-size: cover;
    text-align: center;
    padding: 150px 20px;
}

#access_title img {
    width: auto;
}

#access_title h1 {
    font-size: 3rem;
}

@media only screen and (max-width: 640px) {
    #access_title {
        padding: 120px 20px;
    }
}

/*access-text一部*/
.access_text {
    color: #39ab24;
    margin-bottom: 0.5rem;
}

/*news*/
#news_title {
    background: url(../images/news_tit.jpg) no-repeat;
    background-size: cover;
    -webkit-background-size: cover;
    text-align: center;
    padding: 150px 20px;
}

#news_title img {
    width: auto;
}

#news_title h1 {
    font-size: 3rem;
}

@media only screen and (max-width: 640px) {
    #news_title {
        padding: 120px 20px;
    }
}

/* 診療案内table
------------------------------------------------------------*/
.guidance table {
    width: 100%;
    margin: 10px auto 0px auto;
    background-color: #fff;
}

.guidance table th,
.guidance table td {
    text-align: center;
    vertical-align: middle;
    padding: 10px 5px;
    border: 1px solid #d0d0d0;
}

.guidance table th.title {
    background-color: #39ab24;
    color: #fff;
}

.guidance table th.title span {
    color: #7fae2c;
    font-size: 12px;
    font-weight: bold;
    padding: 1px 4px;
    background-color: #fff;
    border: 1px solid #7fae2c;
    display: block;
}

.guidance table th.title.sun {
    color: #ff7800;
    font-weight: bold;
}

.guidance table td {
    color: #e786b0;
    font-size: 32px;
    font-weight: bold;
    vertical-align: middle;
}

.uketsuke {
    font-size: 12px;
}

.chui {
    color: #4e4e4e;
    font-size: 16px;
}

.chui2 {
    color: #4e4e4e;
    font-size: 14px;
}

.chui3 {
    color: #4e4e4e;
    font-size: 12px;
}

@media only screen and (max-width: 768px) {
    .guidance table td {
        font-size: 32px;
    }
}

.kyusin {
    border: solid 1px #39ab24;
    padding: 0.5em;
    border-radius: 0.5em;
}

/* message
------------------------------------------------------------*/
@media print,
screen and (min-width: 768px) {
    .block-index-message {
        padding: 40px 0 0 0;
        background: #f1f7fc url(../images/message_bg5.jpg) center center no-repeat;
        position: relative;
        height: 547px;
    }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
    .block-index-message {
        background: #f1f7fc url(../images/message_bg5.jpg) center center no-repeat;
        background-size: 1365px 547px;
    }
}

@media print,
screen and (min-width: 768px) {
    .block-index-message ._row {
        width: 50%;
        padding: 60px 0 0 0;
    }

    .block-index-message ._t_message {
        position: absolute;
        top: 25px;
        left: -60px;
    }

    .block-index-message ._title {
        position: relative;
        margin: 0 0 30px 0;
    }

    .block-index-message ._title > * {
        font-size: 22px;
        letter-spacing: 0.1em;
        font-weight: normal;
    }

    .block-index-message p {
        line-height: 1.66;
    }
}

@media screen and (max-width: 767px) {
    .block-index-message {
        padding: 0 0 10.66667vw 0;
        background: #f1f7fc;
        position: relative;
    }

    .block-index-message ._row:before {
        content: "";
        display: block;
        background: url(../images/message_sp_bg4.jpg) center center no-repeat;
        background-size: cover;
        width: 100%;
        height: 100vw;
    }

    .block-index-message ._t_message {
        margin: 10.66667vw auto 0 auto;
        text-align: center;
        width: 74.66667vw;
    }

    .block-index-message ._title {
        position: relative;
        text-align: center;
        margin: -6.66667vw 0 0 0;
    }

    .block-index-message ._title > * {
        font-size: 5.86667vw;
        letter-spacing: 0.1em;
        font-weight: normal;
    }

    .block-index-message p {
        margin-top: 5.33333vw;
        padding: 0 5.33333vw;
        line-height: 1.66;
    }
}

/* topintro
------------------------------------------------------------*/
@media print,
screen and (min-width: 768px) {
    .topintro {
        padding: 40px 0 0 0;
        background: #f1f7fc url(../images/topintro.jpg) center center no-repeat;
        position: relative;
        height: 547px;
    }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
    .topintro {
        background: #fff url(../images/topintro.jpg) center center no-repeat;
        background-size: 1365px 547px;
    }
}

@media print,
screen and (min-width: 768px) {
    .topintro ._row {
        width: 50%;
        padding: 60px 60px 60px 60px;
    }

    .topintro ._t_message {
        position: absolute;
        top: 25px;
        left: -60px;
    }

    .topintro ._title {
        position: relative;
        margin: 0 0 30px 0;
    }

    .topintro ._title > * {
        font-size: 22px;
        letter-spacing: 0.1em;
        font-weight: normal;
    }

    .topintro p {
        line-height: 1.66;
    }
}

@media screen and (max-width: 767px) {
    .topintro {
        padding: 0 0 10.66667vw 0;
        background: #fff7fb;
        position: relative;
    }

    .topintro ._row:before {
        content: "";
        display: block;
        background: url(../images/topintro_sp.jpg) center center no-repeat;
        background-size: cover;
        width: 100%;
        height: 50vw;
    }

    .topintro ._t_message {
        margin: 10.66667vw auto 0 auto;
        text-align: center;
        width: 74.66667vw;
    }

    .topintro ._title {
        position: relative;
        text-align: center;
        margin: 15px 0 0 0;
    }

    .topintro ._title > * {
        font-size: 24px;
        letter-spacing: 0.1em;
        font-weight: normal;
    }

    .topintro p {
        margin-top: 5.33333vw;
        padding: 0 5.33333vw;
        line-height: 1.66;
    }
}

/* ortho
------------------------------------------------------------*/
.ortho {
    padding-bottom: 1rem !important;
    padding-top: 1rem !important;
}

/* pediatrics
------------------------------------------------------------*/
@media print,
screen and (min-width: 768px) {
    .block-pediatrics {
        padding: 40px 0 0 0;
        background: #f1f7fc url(../images/pediatrics_bg.jpg) center center no-repeat;
        position: relative;
        height: 547px;
    }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
    .block-pediatrics {
        background: #f1f7fc url(../images/pediatrics_bg.jpg) center center no-repeat;
        background-size: 1365px 547px;
    }
}

@media print,
screen and (min-width: 768px) {
    .block-pediatrics ._row {
        width: 50%;
        padding: 60px 0 0 0;
    }

    .block-pediatrics ._t_message {
        position: absolute;
        top: 25px;
        left: -60px;
    }

    .block-pediatrics ._title {
        position: relative;
        margin: 0 0 30px 0;
    }

    .block-pediatrics ._title > * {
        font-size: 22px;
        letter-spacing: 0.1em;
        font-weight: normal;
    }

    .block-pediatrics p {
        line-height: 1.66;
    }
}

@media screen and (max-width: 767px) {
    .block-pediatrics {
        padding: 0 0 10.66667vw 0;
        background: #f1f7fc;
        position: relative;
    }

    .block-pediatrics ._row:before {
        content: "";
        display: block;
        background: url(../images/pediatrics_sp_bg.jpg) center center no-repeat;
        background-size: cover;
        width: 100%;
        height: 100vw;
    }

    .block-pediatrics ._t_message {
        margin: 10.66667vw auto 0 auto;
        text-align: center;
        width: 74.66667vw;
    }

    .block-pediatrics ._title {
        position: relative;
        text-align: center;
        margin: -6.66667vw 0 0 0;
    }

    .block-pediatrics ._title > * {
        font-size: 5.86667vw;
        letter-spacing: 0.1em;
        font-weight: normal;
    }

    .topintro p {
        margin-top: 5.33333vw;
        padding: 0 5.33333vw;
        line-height: 1.66;
    }
}

.pedia-mb {
    margin-bottom: 6rem;
}

/* rehabilitation
------------------------------------------------------------*/
@media print,
screen and (min-width: 768px) {
    .block-rehabilitation {
        padding: 40px 0 0 0;
        background: #f1f7fc url(../images/rehabilitation_bg.jpg) center center no-repeat;
        position: relative;
        height: 547px;
    }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
    .block-rehabilitation {
        background: #f1f7fc url(../images/rehabilitation_bg.jpg) center center no-repeat;
        background-size: 1365px 547px;
    }
}

@media print,
screen and (min-width: 768px) {
    .block-rehabilitation ._row {
        width: 50%;
        padding: 60px 0 0 0;
    }

    .block-rehabilitation ._t_message {
        position: absolute;
        top: 25px;
        left: -60px;
    }

    .block-rehabilitation ._title {
        position: relative;
        margin: 0 0 30px 0;
    }

    .block-rehabilitation ._title > * {
        font-size: 22px;
        letter-spacing: 0.1em;
        font-weight: normal;
    }

    .block-rehabilitation p {
        line-height: 1.66;
    }
}

@media screen and (max-width: 767px) {
    .block-rehabilitation {
        padding: 0 0 10.66667vw 0;
        background: #f1f7fc;
        position: relative;
    }

    .block-rehabilitation ._row:before {
        content: "";
        display: block;
        background: url(../images/rehabilitation_sp_bg.jpg) center center no-repeat;
        background-size: cover;
        width: 100%;
        height: 100vw;
    }

    .block-rehabilitation ._t_message {
        margin: 10.66667vw auto 0 auto;
        text-align: center;
        width: 74.66667vw;
    }

    .block-rehabilitation ._title {
        position: relative;
        text-align: center;
        margin: -6.66667vw 0 0 0;
    }

    .block-rehabilitation ._title > * {
        font-size: 5.86667vw;
        letter-spacing: 0.1em;
        font-weight: normal;
    }

    .block-rehabilitation p {
        margin-top: 5.33333vw;
        padding: 0 5.33333vw;
        line-height: 1.66;
    }
}

/* box
------------------------------------------------------------*/
.box5 {
    padding: 0.5em 1em;
    margin: 2em 0;
    border: double 5px #4ec4d3;
}

.box5 p {
    margin: 0;
    padding: 0;
}

.box6 {
    padding: 0.5em 1em;
    margin: 2em 0;
    border: double 5px #4ec4d3;
    background-color: #fff;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.6);
}

.box6 p {
    margin: 0;
    padding: 0;
}

/* 領域中央寄せ
------------------------------------------------------------*/
.center {
    margin: 0 auto;
}

/* green太字
------------------------------------------------------------*/
.green-bold {
    color: #39ab24;
    font-weight: bold;
}

/* 青文字
------------------------------------------------------------*/
.blue2 {
    color: #004898;
}

/* sp-text-left
------------------------------------------------------------*/
.sp-left {
    text-align: center;
}

@media screen and (max-width: 767px) {
    .sp-left {
        text-align: left;
    }
}

/* card
------------------------------------------------------------*/
.card-text {
    text-align: center;
    color: #fff;
}

.card-body {
    background-color: #004898;
}

.card {
    padding: 10px;
}

/* img-max-width
------------------------------------------------------------*/
img {
    max-width: 100%;
    height: auto;
}

/* rehabili-img
------------------------------------------------------------*/
.rehaimg .img {
    margin: 0 auto;
}

.rehaimg .img:hover {
    opacity: 0.5;
}

ul.rehaimg {
    padding: 0;
}

@media only screen and (min-width: 800px) {
    .rehaimg {
        text-align: center;
    }

    .rehaimg li {
        display: inline-block;
        width: 33%;
        padding: 0 1%;
        vertical-align: top;
        text-align: left;
    }
}

@media only screen and (max-width: 799px) {
    .rehaimg li {
        margin: 0 auto 50px;
        display: block;
        text-align: center;
    }
}

/* 余白58px
------------------------------------------------------------*/
.mb-58 {
    margin-bottom: 58px;
}

.mt-58 {
    margin-top: 58px;
}

/* thumnail-image
------------------------------------------------------------*/
.select img {
    width: 100%;
}

.imgcenter {
    margin: 0 auto 0 auto;
    max-width: 100%;
}

@media screen and (max-width: 769px) {
    .imgcenter p {
        display: none;
    }
}

.imgcenter ul {
    display: flex;
    margin: 10px 0 0 0;
    padding: 0;
    list-style: none;
}

.imgcenter li {
    flex: 1 1 auto;
    margin-right: 8px;
}

.imgcenter li img:hover {
    opacity: 0.5;
}

li:last-of-type {
    margin-right: 0;
}

/* colum-category-icon
------------------------------------------------------------*/
#cate-icon {
    clear: both;
    min-width: 60px;
    /*テキストの文字数により極端に横幅が小さくなってしまうのを防ぐために指定*/
    margin-right: 10px;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    color: #FFF;
    padding: 2px 5px;
}

/*カテゴリーをクラス名にして存在する数だけ用意*/
.seikei {
    background-color: #004898;
}

.training {
    background-color: #FFA500;
}

.other {
    background-color: #999;
}

/* 画像リンクホバー
------------------------------------------------------------*/
a:hover img {
    opacity: 0.7;
}

/*PFC-FD再生医療*/
#pfc-fd_title {
    background: url(../images/pfc-tit.jpg) no-repeat;
    background-size: cover;
    -webkit-background-size: cover;
    background-position: center 0;
    text-align: center;
    padding: 150px 20px;
}

#pfc-fd_title img {
    width: auto;
}

#pfc-fd_title h1 {
    font-size: 3rem;
}

@media only screen and (max-width: 640px) {
    #pfc-fd_title {
        padding: 120px 20px;
    }
}

/*PFC-FD再生医療説明
------------------------------------------------------------*/
@media print,
screen and (min-width: 1200px) {
    .pfc-fd {
        padding: 40px 0 0 0;
        background: #f1f7fc url(../images/pfc-bg.jpg) center center no-repeat;
        position: relative;
        height: 547px;
    }
}

@media only screen and (min-width: 1200px) and (-webkit-min-device-pixel-ratio: 2) {
    .pfc-fd {
        background: #f1f7fc url(../images/pfc-bg.jpg) center center no-repeat;
        background-size: 1365px 547px;
    }
}

@media print,
screen and (min-width: 1200px) {
    .pfc-fd ._row {
        width: 50%;
        padding: 60px 0 0 0;
    }

    .pfc-fd ._t_message {
        position: absolute;
        top: 25px;
        left: -60px;
    }

    .pfc-fd ._title {
        position: relative;
        margin: 0 0 30px 0;
    }

    .pfc-fd ._title > * {
        font-size: 22px;
        letter-spacing: 0.1em;
        font-weight: normal;
    }

    .pfc-fd p {
        line-height: 1.66;
    }
}

@media screen and (max-width: 1199px) {
    .pfc-fd {
        padding: 0 0 10.66667vw 0;
        background: #f1f7fc;
        position: relative;
    }

    .pfc-fd ._row:before {
        content: "";
        display: block;
        background: url(../images/pfc-bg2.jpg) center center no-repeat;
        background-size: cover;
        width: 100%;
        height: 100vw;
    }

    .pfc-fd ._t_message {
        margin: 10.66667vw auto 0 auto;
        text-align: center;
        width: 74.66667vw;
    }

    .pfc-fd ._title {
        position: relative;
        text-align: center;
        margin: -6.66667vw 0 0 0;
    }

    .pfc-fd ._title > * {
        font-size: 24px;
        letter-spacing: 0.1em;
        font-weight: normal;
    }

    .pfc-fd p {
        margin-top: 5.33333vw;
        padding: 0 5.33333vw;
        line-height: 1.66;
    }
}

.pfcbox {
    background-color: #fff;
    border: 1px solid #004898;
}

/* pfc table
------------------------------------------------------------*/
.pfctable {
    width: 50%;
    margin: 0 auto;
    color: #212529;
    background-color: #fff;
}

.pfctable th {
    width: 220px;
    padding: 0.75rem;
    vertical-align: top;
    border: 1px solid #004898;
    font-weight: normal;
    text-align: center;
}

.pfctable td {
    padding: 0.75rem;
    vertical-align: middle;
    border: 1px solid #004898;
    text-align: right;
}

.pfctable thead th {
    vertical-align: bottom;
    border: 2px solid #004898;
}

@media screen and (max-width: 992px) {
    .pfctable {
        width: 100%;
    }
}

/* 見出しテキスト２
------------------------------------------------------------*/
.headingtitle2 {
    margin: 50px 0px 40px 0px;
    font-size: 24px;
    font-weight: bold;

}

/* 見出しテキスト３
------------------------------------------------------------*/
.headingtitle3 {
    text-decoration: underline solid 3px #87CEFA;
    margin: 25px 0px 25px 0px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

.headingtitle4 {
    margin: 25px 0px 25px 0px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

/* 見出しテキスト4
------------------------------------------------------------*/
.pfcmidasi {
    position: relative;
    padding: 1rem .5rem;
    margin: 25px 0px 25px 0px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

.pfcmidasi:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 6px;
    content: '';
    border-radius: 3px;
    background-image: -webkit-gradient(linear, right top, left top, from(#2af598), to(#009efd));
    background-image: -webkit-linear-gradient(right, #2af598 0%, #009efd 100%);
    background-image: linear-gradient(to left, #2af598 0%, #009efd 100%);
}

.pfcsankou {
    background-color: #eff3f4;
}

/* infonaika
------------------------------------------------------------*/
.wrap2 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.item1 {
    padding: 5px;
    width: 70%;
    background-color: #fff;
    box-shadow: 3px 3px 3px rgb(0 0 0 / 25%);
    margin: 0 auto;
    border: 1px solid #ddd;
}

@media not all and (min-width: 768px) {
    .item1 {
        width: 100%;
    }
}

.item2 {
    padding: 5px;
    width: 49%;
    background-color: #fff;
    box-shadow: 3px 3px 3px rgb(0 0 0 / 25%);
    border: 1px solid #ddd;
}

@media not all and (min-width: 768px) {
    .item2 {
        width: 100%;
    }
}

.wrap2 p {
    padding: 15px;
}

.infonaika {
    background-color: #39ab24;
    color: #fff;
    font-weight: bold;
    font-size: 20px;
    padding: 4px 6px;
    text-align: center;
}

/* footertable-fontsize,txt-deco
------------------------------------------------------------*/
.t-16 {
    font-size: 16px;
}

.title-24 {
    font-size: 24px;
    font-weight: bold;
}

/* image-unique
------------------------------------------------------------*/
.unique {
    border-radius: 36% 64% 36% 64% / 59% 37% 63% 41%;
}

/* text-slide
------------------------------------------------------------*/
.slide-in {
    overflow: hidden;
    display: inline-block;
}

.slide-in_inner {
    display: inline-block;

}

/*左右のアニメーション*/
.leftAnime {
    opacity: 0;
    /*事前に透過0にして消しておく*/
}

.slideAnimeLeftRight {
    animation-name: slideTextX100;
    animation-duration: 0.8s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes slideTextX100 {
    from {
        transform: translateX(-100%);
        /*要素を左の枠外に移動*/
        opacity: 0;
    }

    to {
        transform: translateX(0);
        /*要素を元の位置に移動*/
        opacity: 1;
    }
}

.slideAnimeRightLeft {
    animation-name: slideTextX-100;
    animation-duration: 0.8s;
    animation-fill-mode: forwards;
    opacity: 0;
}


@keyframes slideTextX-100 {
    from {
        transform: translateX(100%);
        /*要素を右の枠外に移動*/
        opacity: 0;
    }

    to {
        transform: translateX(0);
        /*要素を元の位置に移動*/
        opacity: 1;
    }
}

/* midasi
------------------------------------------------------------*/
.titlem {
    position: relative;
    padding: 0.25em 0;
}

.titlem:after {
    content: "";
    display: block;
    height: 4px;
    background: -webkit-linear-gradient(to right, rgb(230, 90, 90), transparent);
    background: linear-gradient(to right, rgb(192 255 181), #ffd2e6);
    width: 235px;
    margin: 0 auto;
}

/* doctor-name
------------------------------------------------------------*/
.name {
    font-size: 20px;
    font-weight: bold;
    font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
    color: #212529;
}

/* page-title-txtbg
------------------------------------------------------------*/
mark,
.mark {
    /* padding: 0.2em; */
    background-color: #ffffff7a;
}

/* image-curve
------------------------------------------------------------*/
.image-curve1 {
    clip-path: polygon(50% 0%, 80% 10%, 100% 35%, 100% 70%, 80% 90%, 50% 100%, 20% 90%, 0% 70%, 0% 35%, 20% 10%);
}
