html {
    margin-left: 50px;
    margin-right: 50px;
}

body {
    font-size: 15px;
    letter-spacing: .05em;
    -webkit-font-smoothing: antialiased;
    font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    background-image: url(../images/all_back.jpg);
    color: #5e5e5e;
    box-shadow: 0px 0px 46px -2px rgba(0, 0, 0, 0.15);
}

p {
    text-align: justify;
    font-size: 15px;
    word-wrap: break-word;
}

a {
    font-size: 15px;
    -webkit-transition: .2s;
    transition: .2s;
    color: #8fbb43;
}

.btn.focus,
.btn:focus {
    color: #8fbb43 !important;
    text-decoration: none;
}

a:hover {
    color: #769938;
}

hr {
    border-top: 1px solid #CBCBCB;
    width: 200px;
    transition: .2s;
}
hr.is-wide {
    width: 100%;
}

a:link,
a:visited,
a:hover,
a:active {
    text-decoration: none !important;
}

a[x-apple-data-detectors] {
    color: inherit !important;
    text-decoration: none !important;
    font-size: inherit !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
}

h1,
h2,
h3,
h4 {
    margin-top: 0px;
    margin-bottom: 10px;
}

h1 {
    font-size: 90px;
    letter-spacing: -.05em;
    color: #fff;
    font-family: serif;
}

h2 {
    color: #8fbb43;
    font-size: 26px;
    letter-spacing: .2em;
}

h3 {
    color: #78693d;
    font-size: 19px;
}

h4 {
    font-size: 18px;
}

#border_line {
    border-top: 5px solid #8fbb43;
    z-index: 999;
}

.img-center {
    display: block;
    margin: 0 auto;
    box-shadow: 0px 0px 50px -15px rgba(0, 0, 0, 0.01);
}

.img-radius {
    width: 100px;
    background: #fff;
    border-radius: 50%;
    border: 2px solid #8fbb43;
}

.strong {
    font-weight: 600;
}

.weight_light {
    font-weight: 400 !important;
}


/*ボタン*/

.btn {
    color: #63bb1e;
    font-size: 14px;
    padding: 10px 20px;
    border: 1px solid #80c037;
    border-radius: 0;
}

.btn:hover {
    background-color: #8FBB43;
    color: #fff;
}


/*Margin Paading*/

.margin-1 {
    margin: 10px;
}

.margin-top-05 {
    margin-top: 5px;
}

.margin-top-1 {
    margin-top: 10px
}

.margin-top-2 {
    margin-top: 20px
}

.margin-top-3 {
    margin-top: 30px
}

.margin-top-4 {
    margin-top: 40px
}

.margin-top-5 {
    margin-top: 50px
}

.margin-top-6 {
    margin-top: 60px
}

.margin-top-7 {
    margin-top: 70px
}

.margin-top-8 {
    margin-top: 80px
}

.margin-top-9 {
    margin-top: 90px
}

.margin-top-10 {
    margin-top: 100px
}

.margin-bottom-1 {
    margin-bottom: 10px
}

.margin-bottom-2 {
    margin-bottom: 20px
}

.margin-bottom-3 {
    margin-bottom: 30px
}

.margin-bottom-4 {
    margin-bottom: 40px
}

.margin-bottom-5 {
    margin-bottom: 50px
}

.margin-bottom-6 {
    margin-bottom: 60px
}

.margin-bottom-7 {
    margin-bottom: 70px
}

.margin-bottom-8 {
    margin-bottom: 80px
}

.margin-bottom-9 {
    margin-bottom: 90px
}

.margin-bottom-10 {
    margin-bottom: 100px
}

.margin-bottom-11 {
    margin-bottom: 110px
}

.margin-bottom-12 {
    margin-bottom: 120px
}

.margin-bottom-13 {
    margin-bottom: 130px
}

.margin-bottom-14 {
    margin-bottom: 140px
}

.margin-bottom-15 {
    margin-bottom: 150px
}

.padding-1 {
    padding: 10px;
}

.padding-2 {
    padding: 20px;
}

.padding-3 {
    padding: 30px;
}

.padding-top-0 {
    padding-top: 0 !important;
}

.padding-top-1 {
    padding-top: 10px
}

.padding-top-2 {
    padding-top: 20px
}

.padding-top-3 {
    padding-top: 30px
}

.padding-top-4 {
    padding-top: 40px
}

.padding-top-5 {
    padding-top: 50px
}

.padding-top-6 {
    padding-top: 60px
}

.padding-top-7 {
    padding-top: 70px
}

.padding-top-8 {
    padding-top: 80px
}

.padding-top-9 {
    padding-top: 90px
}

.padding-top-10 {
    padding-top: 100px
}

.padding-bottom-1 {
    padding-bottom: 10px
}

.padding-bottom-2 {
    padding-bottom: 20px
}

.padding-bottom-3 {
    padding-bottom: 30px
}

.padding-bottom-4 {
    padding-bottom: 40px
}

.padding-bottom-5 {
    padding-bottom: 50px
}

.padding-bottom-6 {
    padding-bottom: 60px
}

.padding-bottom-7 {
    padding-bottom: 70px
}

.padding-bottom-8 {
    padding-bottom: 80px
}

.padding-bottom-9 {
    padding-bottom: 90px
}

.padding-bottom-10 {
    padding-bottom: 100px
}

.padding-bottom-11 {
    padding-bottom: 110px
}

.padding-bottom-12 {
    padding-bottom: 120px
}

.padding-bottom-13 {
    padding-bottom: 130px
}

.padding-bottom-14 {
    padding-bottom: 140px
}

.padding-bottom-15 {
    padding-bottom: 150px
}


/*ヘッダー*/

.navbar {
    margin-left: 50px;
    margin-right: 50px;
    padding-bottom: 20px;
    padding-top: 10px;
    border-bottom: 5px solid #8fbb43 !important;
}

.navbar-default {
    background-color: rgba(255, 255, 255, 1);
    border-color: transparent;
    -webkit-transition: all .5s ease .25s;
    transition: all .5s ease .25s;
}

.navbar-brand h1 {
    padding: 0;
    margin: 0;
}

header .collapse {
    margin-right: 30px;
    padding-top: 40px;
}

.navbar-brand {
    padding: 20px;
    padding-top: 15px;
}

.navbar-default .navbar-nav>.activeNav>a,
.navbar-default .navbar-nav>.activeNav>a:focus {
    color: white;
    background-color: transparent;
    text-shadow: 0px 0px 10px #fff;
}

.affix {
    background-color: rgba(255, 255, 255, 1);
}

.navbar-default .navbar-toggle .icon-bar {
    background-color: #7f7f7f;
}

.navbar-default .navbar-toggle {
    border-color: #ccc !important;
}

.navbar-default .navbar-toggle:focus {
    background-color: transparent;
}

.navbar-toggle {
    margin-right: 20px;
    margin-top: 63px;
    margin-bottom: -40px;
}

.navbar-default .navbar-nav>.open>a,
.navbar-default .navbar-nav>.open>a:focus {
    color: #7f7f7f;
    background-color: transparent;
}

.navbar-nav>li>a {
    font-size: 14px;
    color: #78693d !important;
    letter-spacing: 0;
    position: relative;
    -webkit-transition: all .3s ease-out;
    transition: all .3s ease-out;
    margin-top: 10px;
}

.nav>li>a {
    padding: 5px 5px 0 15px;
}

.navbar-default .navbar-nav>li>a {
    letter-spacing: .15em;
}

.dropdown-menu>li>a {
    display: block;
    padding: 3px 20px;
    clear: both;
    line-height: 1.42857143;
    color: #7f7f7f;
    white-space: nowrap;
    font-family: 'futreverse-pt', sans-serif;
    font-weight: 500;
    font-size: 12px !important;
    padding-top: 10px;
    padding-bottom: 10px;
    -webkit-transition: background .3s !important;
    transition: background .3s !important;
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    float: left;
    min-width: 30px;
    padding: 5px 0;
    margin: 3px 0 0;
    font-size: 12px;
    text-align: left;
    list-style: none;
    background-color: RGBa(255, 255, 255, 1);
    background-clip: padding-box;
    border: 0;
    box-shadow: none;
    box-shadow: 0px 13px 34px -13px rgba(0, 0, 0, 0.2);
}

.navbar-default .navbar-nav>li>a:focus {
    color: #7f7f7f;
}

.dropdown-menu>.activeNav>a,
.dropdown-menu>.activeNav>a:focus {
    color: black;
    background-color: #fff;
}

.hover_action {
    opacity: .8;
    -webkit-transition-dreversetion: .6s;
    transition-dreversetion: .6s;
}

.navbar-fixed-bottom .navbar-collapse,
.navbar-fixed-top .navbar-collapse {
    max-height: 440px;
    border-top: none;
}

nav .headerBtn {
    position: absolute;
    right: 40px;
}

nav .headerBtn .btn {
    background: #8fbb43;
    color: #fff;
    transition: .2s;
}

nav .headerBtn .btn:hover {
    color: #8fbb43;
    background: #fff;
}

nav .phone {
    position: absolute;
    right: 390px;
    margin-top: 17px;
}

nav .phone a {
    font-size: 19px;
    color: #ffb70a;
}


/*フッター*/

footer {
    padding-top: 80px;
    padding-bottom: 100px;
    background-image: url(../images/footer_back.jpg);
    background-size: cover;
    background-position: center center;
    color: #fff;
}

footer table td,
footer table {
    border: none !important;
}

footer .btn {
    background: #fff;
}

footer .footer_phone a{
    color: #fff !important;
}


/*サブページ*/

#sub_title {
    padding-top: 150px;
    padding-bottom: 40px;
    background-image: url(../images/subTitle_back2.jpg);
    background-size: cover;
    background-position: right center;
    overflow: hidden;
}

#sub_title h2 {
    text-align: center;
    font-size: 30px;
    line-height: 1.2em;
    color: #fff;
    font-weight: 600;
    padding: 20px;
    padding-bottom: 40px;
    background: rgba(255, 255, 255, .1);
    box-shadow: 0px 0px 71px -12px rgba(0, 0, 0, .01);
}

#sub_title h2 hr {
    border-color: #fff;
    margin: 0 auto;
    margin-bottom: 10px;
}

#sub_title h2 span {
    font-size: 20px;
    color: #fff;
    line-height: 46px;
}

#sub {
    background: #fff;
    padding-top: 100px;
}

#sub h3 {
    font-size: 24px;
}

.font-red {
    color: firebrick;
}

input[type="submit"] {
    background: #fff;
}


/*レスポンシブ*/

@media(max-width:1199px) {
    html {
        margin-left: 0;
        margin-right: 0;
    }
    .navbar {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

@media all and (min-width: 1200px) and (max-width: 1270px) {
    .navbar-nav>li>a {
        margin-top: -15px;
    }
}

@media(max-width:1170px) {
    .navbar-nav>li>a {
        margin-top: -15px;
    }
}

@media(max-width:900px) {
    .navbar-nav>li>a {
        font-size: 12px;
    }
    .nav>li>a {
        padding: 5px 2px 0 15px !important;
    }
    .navbar-brand img {
        width: 220px !important;
    }
    #index_top h1 {
        font-size: 60px;
    }
    #index_top span {
        font-size: 20px !important;
    }
}

@media screen and (min-width: 430px) and (max-width: 480px) {
    h1 .navbar-brand img {
        width: 220px !important;
        padding-top: 10px;
    }
}

@media(max-width:480px) {
    #index_top h1 {
        font-size: 40px;
    }
    #index_top span {
        font-size: 16px !important;
    }
    .navbar-brand img {
        width: 200px !important;
        padding-top: 35px;
    }
    footer td {
        font-size: 12px;
    }
    footer p {
        font-size: 12px;
    }
    footer .footertitle {
        width: 30% !important;
    }
}

@media(max-width:330px) {
    .navbar-brand img {
        padding-top: 30px;
    }
    header .phone a {
        font-size: 12px !important;
    }
    header .phone {
        top: 23px;
    }
}

@media(max-width:767px) {
    .navbar-brand {
        padding: 20px;
    }
    .navbar {
        padding-bottom: 50px;
        padding-top: 10px;
    }
    .phone {
        right: 20px !important;
        top: 30px;
        width: 50%;
        text-align: right;
    }
    .phone a {
        font-size: 15px !important;
    }
    .headerBtn {
        right: 20px !important;
        top: 0;
        width: 100%;
        text-align: right;
    }
    .headerBtn .btn {
        font-size: 12px !important;
    }
    .headerBtn .btn {
        padding: 5px 10px !important;
        margin-top: 10px;
    }
    .headerBtn .btn i {
        display: none;
    }
    .navbar-default .navbar-nav>li>a {
        line-height: 3em;
    }
    .dropdown-menu a {
        line-height: 1.5em !important;
    }
}

@media(max-width:991px) {
    footer .footerBtn p {
        text-align: center !important;
    }
}

@media(max-width:767px) {
    #index_counsel .counsel_box {
        margin-left: 10px;
        margin-right: 10px;
    }
}

@media(max-width:991px) {
    #index_counsel p {
        text-align: center !important;
    }
}

@media (min-width: 992px) {
    .container {
        width: 870px;
    }
}

@media (min-width: 1200px) {
    .container {
        width: 1090px;
    }
}

@media(max-width:991px) {
    #index_device .device_box_1 {
        width: 100%;
        height: 260px;
    }

    #index_device .device_box_2,
    #index_device .device_box_3,
    #index_device .device_box_4 {
        width: 50%;
        height: 200px;
        margin-top: 0;
    }
}

@media(max-width:550px) {
    #index_device .device_box_1,
    #index_device .device_box_2,
    #index_device .device_box_3,
    #index_device .device_box_4 {
        width: 100%;
        height: 200px;
    }
}

@media(max-width:767px) {
    #index_case p,
    #index_case h3 {
        text-align: center;
        margin-top: 10px;
    }
}

@media(max-width:991px) {
    #index_trouble .trouble_image {
        display: none;
    }
    #index_trouble .trouble_content {
        height: auto !important;
        padding-top: 70px;
        padding-bottom: 70px;
    }
}

@media(max-width:480px) {
    .res_table table {
        border-top: 1px solid #999
    }
    .res_table table td {
        display: block;
        text-align: center;
        width: 100%!important
    }
    .res_table table th {
        display: block;
        border-top: none;
        border-bottom: none;
        width: 100%
    }
    .res_table .top-none {
        border-top: none !important;
    }
}

@media all and (min-width: 1200px) and (max-width: 1270px) {
    #sub_title {
        padding-top: 180px;
        padding-bottom: 40px;
    }
}

@media all and (min-width: 768px) and (max-width: 1170px) {
    #sub_title {
        padding-top: 180px;
        padding-bottom: 40px;
    }
}

@media(max-width:767px) {
    h2 {
        font-size: 20px;
    }
    h3 {
        font-size: 16px;
    }
    .btn {
        font-size: 12px !important;
    }
}

@media(max-width:767px) {
    #sub_title h2 {
        font-size: 20px;
    }
    #sub_title h2 span {
        font-size: 17px;
        line-height: 36px;
    }
}

@media(max-width:320px) {
    #sub_title h2 {
        font-size: 18px;
    }
    #sub_title h2 span {
        font-size: 15px;
        line-height: 30px;
    }
}

@media(max-width:991px) {
    #index_device .device_box_1 {
        background-image: url(../images/device_1_phone.jpg);
        background-position: center center;
    }
}

@media(max-width:767px) {
    #sub .about_doctor .doctor_name {
        width: 100%;
        height: 130px;
    }
    #sub .about_lp .doctor_name {
        width: 100%;
        height: 130px;
    }
    #sub h3 {
        font-size: 18px !important;
    }
    .about_property {
        margin-top: -100px !important;
    }
}

@media(min-width:992px) {
    #sub .about_fee .fee_btn br {
        display: none;
    }
    #sub .about_doctor .doctor_name {
        padding-left: 60px;
    }
}

@media(max-width:992px) {
    #sub .about_fee .fee_btn .btn {
        margin: 5px;
    }
    #sub .about_fee .fee_btn .btn {
        width: 230px;
    }
}

@media(max-width:320px) {
    #index_what .what_left {
        width: 30%;
        height: 220px;
    }
    #index_what .what_right {
        width: 70% !important;
        left: 30% !important;
    }
    #index_what .what_right p {
        font-size: 12px;
    }
    .trouble_box p {
        font-size: 12px;
    }
}
