@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500|PT+Serif+Caption");
html {
    font-family:sans-serif;
    -ms-text-size-adjust:100%;
    -webkit-text-size-adjust:100%;
    box-sizing:border-box
}

*,*:before,*:after {
    box-sizing:inherit
}

body {
    margin:0
}

article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary {
    display:block
}

audio,canvas,progress,video {
    display:inline-block;
    vertical-align:baseline
}

audio:not([controls]) {
    display:none;
    height:0
}

[hidden],template {
    display:none
}

a {
    background-color:transparent
}

a:active,a:hover {
    outline:0
}

abbr[title] {
    border-bottom:1px dotted
}

b,strong {
    font-weight:bold
}

dfn {
    font-style:italic
}

h1 {
    font-size:2em;
    margin:0.67em 0
}

small {
    font-size:80%
}

sub,sup {
    font-size:75%;
    line-height:0;
    position:relative;
    vertical-align:baseline
}

sup {
    top:-0.5em
}

sub {
    bottom:-0.25em
}

img {
    border:0
}

svg:not(:root) {
    overflow:hidden
}

figure {
    margin:1em 40px
}

hr {
    -moz-box-sizing:content-box;
    box-sizing:content-box;
    height:0
}

pre {
    overflow:auto
}

code,kbd,pre,samp {
    font-family:monospace, monospace;
    font-size:1em
}

button,input,optgroup,select,textarea {
    color:inherit;
    font:inherit;
    margin:0
}

button {
    overflow:visible
}

button,select {
    text-transform:none
}

button,html input[type="button"],input[type="reset"],input[type="submit"] {
    -webkit-appearance:button;
    cursor:pointer
}

button[disabled],html input[disabled] {
    cursor:default
}

button::-moz-focus-inner,input::-moz-focus-inner {
    border:0;
    padding:0
}

input {
    line-height:normal
}

input[type="checkbox"],input[type="radio"] {
    box-sizing:border-box;
    padding:0
}

input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button {
    height:auto
}

input[type="search"] {
    -webkit-appearance:textfield;
    -moz-box-sizing:content-box;
    -webkit-box-sizing:content-box;
    box-sizing:content-box
}

input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration {
    -webkit-appearance:none
}

fieldset {
    border:1px solid #c0c0c0;
    margin:0 2px;
    padding:0.35em 0.625em 0.75em
}

legend {
    border:0;
    padding:0
}

textarea {
    overflow:auto
}

optgroup {
    font-weight:bold
}

table {
    border-collapse:collapse;
    border-spacing:0
}

td,th {
    padding:0
}

section img {
    width:100%;
    border:3px solid #fff;
    height:auto;
    margin:0 0 25px 0
}

section .img-right {
    max-width:50%;
    float:right;
    margin:5px 0 25px 20px
}

@media screen and (max-width: 450px) {
    section .img-right {
        max-width:100%;
        margin:5px 0 25px 0px
    }

}

section .img-left {
    max-width:45%;
    float:left;
    margin:5px 25px 25px 0
}

section .img-attorney {
    max-width:30%;
    border-radius:5px;
    border:1px solid #dedede;
    padding:5px;
    background:linear-gradient(to bottom, #e5d8c4, #fff)
}

@media screen and (max-width: 767px) {
    section .img-attorney {
        max-width:50%
    }

}

@media screen and (max-width: 450px) {
    section .img-attorney {
        max-width:100%
    }

}

section .attorneys .thumbnail {
    display:block;
    padding:20px;
    margin-bottom:20px;
    line-height:1.428571429;
    background-color:#fff;
    border:2px solid #f9f9f9;
    border-radius:7px;
    transition:all 0.5s ease-in-out
}

@media screen and (max-width: 1199px) {
    section .attorneys .thumbnail {
        padding:5px
    }

}

@media screen and (max-width: 767px) {
    section .attorneys .thumbnail {
        border:none;
        padding:0 5px
    }

}

section .attorneys .thumbnail img {
    border-radius:0;
    filter: grayscale(0.2) sepia(20%);
    opacity:0.9;
    transition:0.5s;
    isplay:block;
    max-width:200px;
    max-height:240px;
    width:auto;
    height:auto;
    border-radius:8px
}

@media screen and (max-width: 767px) {
    section .attorneys .thumbnail img {
        max-width:200px;
        max-height:150px;
        padding-top: 20px;
    }

}

section .attorneys .thumbnail:hover {
    box-shadow:0 0 100px #ccc;
    z-index:2;
    transform:scale(1.01);
    text-decoration:none
}

section .attorneys .thumbnail:hover img {
    border-radius:0;
    filter:grayscale(0) sepia(0%);
    opacity:1
}

section .attorneys .thumbnail:hover p {
    text-decoration:none
}

section .attorneys p {
    text-align:center;
    min-height:55px
}

.banner {
    background-image:url(/images/banner.webp);
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    min-height:250px;
    background-position:center right;
    background-color:#fff;
    background-size:cover;
    background-repeat:no-repeat
}

.banner:before {
    content:'';
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    background: linear-gradient(to bottom, #dedede66, #ffffff, #ffffff, #dedede1f);
    opacity: 0.8;
}
       

.banner h1 {
    font-size:3em;
    color:#fff;
    text-transform:uppercase;
    letter-spacing:1px;
    text-align:center;
    text-shadow:#191e48 -2px -3px 0px,#111 3px 3px 2px;
    margin-top:25px
}

.banner p {
    text-align:center;
    color:#882b02;
    font-size:20px;
    font-family:"PT Serif Caption",serif;
    letter-spacing:1px;
    margin:10px 0
}

.banner a:hover {
    text-decoration:none
}

.banner img {
    max-width: 560px;
    margin: 0 auto;
    width: 90%;
}    

@media screen and (max-width: 991px) {
    .banner {
        min-height:200px;
        padding:15px
    }

    .banner h1 {
        font-size:2.5em
    }

}

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

    .banner {
        min-height:150px
    }

    .banner h1 {
        font-size:1.6em
    }

    .banner p {
        font-size:16px;
        line-height:20px
    }

    .banner:before {
        background:linear-gradient(to bottom, #fff, #fff);
        opacity:0.94
    }

}

.side-banner,.side-banner-home,.side-banner-practice,.side-banner-contact-us {
    min-height:700px;
    background-position:center center;
    background-size:cover;
    background-repeat:no-repeat
}

.side-banner:before,.side-banner-home:before,.side-banner-practice:before,.side-banner-contact-us:before {
    content:'';
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    background-color:#fff;
    opacity:0.05
}

.top-banner,.side-banner-attorneys,.side-banner-locations {
    min-height:200px;
    background-position:center center;
    background-size:cover;
    background-repeat:no-repeat
}

@media screen and (max-width: 767px) {
    .top-banner,.side-banner-attorneys,.side-banner-locations {
        min-height:50px;
        background-image:none !important
    }

}

.side-banner-home {
    background-image:url(/images/overview-home.webp)
}

.side-banner-practice {
    background-image:url(/images/practice-home.webp)
}

.side-banner-attorneys {
    background-position:top right;
    background-image:url(/images/attorneys.webp)
}

.side-banner-locations {
    background-image:url(/images/locations-home.webp)
}

.side-banner-contact-us {
    background-image:url(/images/contact-home.webp)
}

header {
    padding:0 5px;
    background: linear-gradient(to top right, #173f6b, #8795bb);
}

header .logo img {
    max-width:200px;
    position:absolute;
    z-index:3
}

header .header-text {
    padding:5px 5px 5px 5px
}

header .header-text p {
    font-size:14px;
    text-transform:capitalize;
    text-align:right;
    color:#94a7b5;
    margin:0
}

header .header-text p span {
    color:#94a7b5;
    display:inline-block;
    margin:0 7px
}

header .header-text p a {
    color:#fff;
    font-size:14px
}

.navbar {
    position:relative;
    height:auto;
    min-height:50px;
    margin-bottom:0px;
    border:none;
    border-bottom:1px solid #ffffff;
    border-radius:0;
    padding-bottom:0;
    box-shadow:3px 6px 4px -2px #dedede;
    /*background-color:#710b0b;*/
    background: linear-gradient(to top right, #173f6b, #8795bb);
}

.navbar ul {
    width:100%
}

.navbar ul li {
    width:20%
}

.navbar ul li a {
    font-family:"PT Serif Caption",serif;
    color:#fff !important;
    text-align:center;
    text-shadow:1px 2px 1px #122140;
    background: linear-gradient(to top right, #173f6b, #8795bb);
}

.navbar ul li a i.fa {
    display:inline-block;
    margin-right:5px;
    opacity:0.4
}

.navbar ul li a:hover>i.fa {
    opacity:1
}

.navbar ul li a.active {
    background: linear-gradient(to top right, #630808, #8795bb);
    text-shadow:1px 2px 1px #191e48
}

.navbar .navbar-toggle {
    position:relative;
    float:right;
    padding:9px 10px;
    margin-top:8px;
    margin-right:15px;
    margin-bottom:8px;
    background-color:#710b0b;
    background-image:none;
    border:2px solid transparent;
    border-radius:4px
}

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

    .navbar ul {
        margin:0 -15px
    }

    .navbar ul li {
        width:20%
    }

    .navbar ul li a {
        
        display:flex !important;
        align-items:center;
        justify-content:center;
        line-height:16px;
        min-height:65px
    }


    .navbar ul li a i.fa {
        display:none
    }

}

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

    .navbar ul{
        width: inherit;
    }

    .navbar ul li {
        width:100%;
        float:left
    }

    .navbar ul li a {
        background: linear-gradient(to top right, #173f6b, #8795bb);
        display:block !important;
        text-align:right;
        line-height:16px;
        min-height:auto;
        border: none;
        padding:20px 40px
    }

    .navbar ul li a.active {
        background:linear-gradient(to right, transparent, #710b0b);
        text-shadow:1px 2px 1px #191e48
    }

    .navbar ul li a i.fa {
        display:none
    }

}

.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus {
    background-color:#1f364e;
    outline:none
}

.well {
    padding:25px 25px;
    border-radius:0;
    box-shadow:none;
    background:linear-gradient(to bottom,#fff, #fff, rgba(244, 244, 244, 0.2),#fff, #fff);
    background-position:bottom center;
    background-size:cover;
    background-repeat:no-repeat;
        border: 2px solid #f0f6fb;
}

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

    .well {
        padding:0px 25px;
        border-radius:0;
        box-shadow:none;
        background:transparent;
        background-image:none;
        background-position:bottom center;
        background-size:cover;
        background-repeat:no-repeat;
        border:none
    }

}

.well-info {
    padding:30px 45px 10px 45px;
    border: 2px solid #e0e1ed;
    border-radius:5px;
    box-shadow:none;
    background-image:url(/images/info.webp);
    background-position:center right;
    background-size:cover;
    margin-top: 25px;
    background-repeat:no-repeat
}

@media screen and (max-width: 767px) {
    .well-info {
        padding: 25px 15px 15px 25px;
        background-image:url(/images/info-mobile.webp);
        
    }

}

body {
    background-color:#fff;
    
    background-position:top left;
    background-size:cover;
    background-repeat:no-repeat;
    overflow-x:hidden
}

section {
    padding:50px 15px 40px 15px
}

.ml20 {
    margin-left:20px
}

.ml20 strong {
    color:#173f6b
}

.flex {
    display:flex !important;
    align-items:center;
    justify-content:center
}

@media screen and (max-width: 767px) {
    body {
        background-color:#fff;
        background:linear-gradient(to top, #f8f8f8, #fff);
        background-image:none;
        overflow-x:hidden
    }

    .container {
        padding-right:5px;
        padding-left:5px;
        overflow-x:hidden
    }

    section {
        padding:15px 0 30px 0;
        overflow-x:hidden
    }

}

body p,body li,body label,body b,body a,body strong {
    font-family:"Noto Sans JP",sans-serif;
    color:#111;
    font-size:17px;
    font-weight:300;
    letter-spacing:1px;
    outline:none
}

body strong {
    font-weight:400
}

body p {
    margin-bottom:25px;
    line-height:28px
}

body li {
    line-height:28px
}

body a {
    color:#173f6b;
    text-decoration:none
}

body a:hover {
    text-decoration:underline
}

body ul.practice li {
    margin:13px 0;
    font-weight:400
}

@media screen and (max-width: 767px) {
    body ul.practice {
        margin-left:-20px
    }

}

body ul.attorneys {
    list-style:none;
    margin-left:-25px
}

body ul.attorneys li {
    margin:5px 0
}

body ul.attorneys li a {
    font-family:"PT Serif Caption",serif;
    display:block;
    border:1px solid #eee;
    padding:10px 15px;
    border-radius:1px;
    background-color:rgba(255,255,255,0.43);
    font-weight:400;
    color: #4f81a6;
}

body ul.attorneys li a:hover {
    text-decoration:none
}

body ul.attorneys li a.active {
    color: #ffffff;
    background: linear-gradient(to right, #19406c, #8a9fb0);
    border: 1px solid #727476;
}

body ul.attorneys li a.active:hover {
    text-decoration:none
}


body .heading,body h1,body h2,body h3,body h4 {
    font-family:"PT Serif Caption",serif;
    letter-spacing:1px;
    margin:10px 0
}

body h1 {
    font-size:3em;
    color:#173f6b;
    text-shadow:#dedede 1px 1px 0px,#f8f8f8 3px 3px 2px;
    letter-spacing: -0.01em;
    margin-right: 1px;
}

.ft {
  display:inline-block;
}

.ft::first-letter {
  font-size: 140%;
}

body h2 {
    font-size: 1.8em;
    color: #751212;
    text-shadow: #fff 1px 1px 0px, #f8f8f8 2px 2px 2px;
    line-height: 34px;
}

body h3 {
    font-size:1.8em;
    color:#6a1111;
    margin-bottom:25px
}

body h4 {
    font-size:1.3em;
    color:#444
}

body hr {
    border:0;
    height:1px;
    background-image:-webkit-linear-gradient(left, #f0f0f0, #94a7b5, #f0f0f0);
    background-image:-moz-linear-gradient(left, #f0f0f0, #94a7b5, #f0f0f0);
    background-image:-ms-linear-gradient(left, #f0f0f0, #94a7b5, #f0f0f0);
    background-image:-o-linear-gradient(left, #f0f0f0, #94a7b5, #f0f0f0)
}

@media screen and (max-width: 767px) {
    body h1 {
        font-size:2em
    }

    body h3 {
        font-size:1.5em
    }

    body p {
        margin-bottom:25px;
        line-height:26px
    }

    body li {
        line-height:20px
    }

    body ul.practice li {
        margin:5px 0
    }

}

.btn {
    padding:15px 25px;
    border: 2px solid #cbcbcb;
    margin: 20px 0;
    font-size: 18px;
}

.btn-info {
    background: linear-gradient(to right, #19406c, #8a9fb0);
    padding:15px 25px
}

footer {
    background: linear-gradient(to bottom, #0e2845, #587394);
    border-top:3px solid #dedede;
    padding:40px 15px;
    color:#fff
}

@media screen and (max-width: 767px) {
    footer {
        padding:20px
    }

}

footer ul {
    margin-bottom:30px !important;
    margin-left:-40px
}

footer ul li {
    list-style:none;
    margin:18px 0
}

footer ul li a {
    color:#fff
}

footer ul li a i.fa {
    display:inline-block;
    margin-right:10px;
    width:20px;
    text-align:center
}

footer ul li a.active {
    color:#94f6ff;
}

footer ul li a:hover {
    color:#ffa0a0;
}

footer div.left-side {
    margin-top:10px;
    padding-left:30px;
    border-left: 1px solid #395474;
}

footer div.left-side h3 {
    color:#fff;
    font-size:1.6em
}

footer div.left-side p {
    color:#dedede;
    margin:7px 0
}

footer div.left-side p.slogan {
    color:#94a7b5;
    text-transform:capitalize
}

@media screen and (max-width: 767px) {
    footer div.left-side {
        padding-left:0;
        border-left:none
    }

}

footer div.right-side {
    margin-top:10px;
    padding-left:30px;
    border-left: 1px solid #4d6989;
}

@media screen and (max-width: 767px) {
    footer div.right-side {
        padding-left:0;
        border-left:none
    }

}

footer div.right-side-2 {
    margin-top:10px;
    padding-left:30px
}

footer div.right-side-2 a {
    font-size:5em
}

footer div.right-side-2 a i.fa {
    color:#94a7b5
}

@media screen and (max-width: 767px) {
    footer div.right-side-2 {
        padding-left:0
    }

}

.under-footer {
    background-color: #16283c;
    padding:15px
}

.under-footer p {
    color:#dcdcdc;
    font-size:1em;
    margin:10px
}

.under-footer p a.signature {
    font-size:1em;
    color:#4b95cb
}

.section-banners {
    padding:55px 15px 15px 15px;
    background-color:rgba(88,96,157,0.2);
    border-top:2px solid #fff
}

.section-banners div {
    text-align:center
}

.section-banners div a {
    color:#173f6b
}

.section-banners div a img {
    width:100%;
    border:2px solid #fff;
    border-radius:5px;
    filter:grayscale(0.8);
    opacity:0.6;
    transition:0.5s
}

.section-banners div a img:hover {
    filter: saturate(0.6);
    opacity:1;
    border-radius:0
}

.section-banners div a.active img {
    filter:grayscale(0.1);
    opacity:1;
    border-radius:0
}

.section-banners div a p {
    margin-top:5px;
    color:#173f6b
}

.section-banners div a:hover {
    text-decoration:none
}

.section-banners div a:hover p {
    margin-top:5px;
    color:#94a7b5;
    opacity:1
}

.cookie-banner{
    position:fixed;
    bottom:20px;
    right:20px;
    width:350px;
    max-width:90%;
    background:#fff;
    border:1px solid #ccc;
    padding:15px;
    z-index:99999;
    font-size:12px;
    line-height:1.5;
    box-shadow:0 2px 10px rgba(0,0,0,.15);
}

.cookie-banner p{
    margin:0;
}

.cookie-actions{
    margin-top:10px;
}

.cookie-actions .btn{
    background:#600;
    color:#fff;
    font-size: 16px;
    border-color:#400;
    margin-right:5px;
}

.cookie-actions .btn:hover{
    background:#333;
    color:#fff;
}
