@charset "utf-8";
/* CSS Document */
body {
    font-size:1rem;
    font-family: 'Noto Sans JP', sans-serif;
    line-height:1;
    background: url(../img/bg_body.png) center top repeat;
}
img {
    width:100%; height: auto;
}
strong { font-weight:bold;}

@media (min-width: 641px) {
/* PC用 */
    .wrapper,
    .inner {
        position:relative;
        margin:0 2.5%;        
    }
    
    .fx {
        display:flex;
    }
    
    .for-tb,
    .for-tbpc { display:inline-block;}
}
@media (min-width: 1024px) {
/* PC用 */
    .wrapper,
    .inner { position:relative; width:1100px; margin:0 auto;}
    
    img { width:auto; height:auto;}
    
    .for-pc,
    .for-tbpc { display:inline-block;}
    .for-tb,
    .for-sp { display:none;}
}
@media (max-width: 640px) {
/* SP用 */
    
    .for-sp { display:inline-block;}
    .for-pc,
    .for-tb,
    .for-tbpc { display:none;} 
}


/* lib
-------------------------------------------------- */
.date {
    display:flex;
    padding:1rem 0;
}

.date p {
    margin-right: 0.7rem;
    font-weight:bold !important;
    font-size:1.1rem;
}
.date p span {
    margin-right: 0.35rem;
    padding:0.15rem 0.35rem;
    color: #fff;
    font-size:0.75rem;
    font-weight:normal;
    border-radius: 3px;
}
.daytime {    
    background: #00a0e9;
}
.nighttime {
    background: #162caf;
}
.date p small {
    font-size:0.8rem;
    font-weight:normal;
}

.btn--reserve {    
    margin-bottom:1rem;
}
.btn--reserve span {}
.btn--reserve span a {
    position:relative;
    display:inline-block;
    width:100%;
    padding:1rem 0;
    text-align: center;
    color:#fff;
    font-weight:bold;
    font-size:1.3rem;
    border-radius: 5px;
    text-decoration:none;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#fc4a70+0,fa324d+50,f91929+100 */
    background: rgb(252,74,112); /* Old browsers */
    background: -moz-linear-gradient(top, rgba(252,74,112,1) 0%, rgba(250,50,77,1) 50%, rgba(249,25,41,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(252,74,112,1) 0%,rgba(250,50,77,1) 50%,rgba(249,25,41,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(252,74,112,1) 0%,rgba(250,50,77,1) 50%,rgba(249,25,41,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fc4a70', endColorstr='#f91929',GradientType=0 ); /* IE6-9 */
    
    -moz-box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.3);
    -ms-box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.3);
    box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.3);
}
.btn--reserve span a:hover {
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f91929+0,fa324d+50,fc4a70+100 */
    background: rgb(249,25,41); /* Old browsers */
    background: -moz-linear-gradient(top, rgba(249,25,41,1) 0%, rgba(250,50,77,1) 50%, rgba(252,74,112,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(249,25,41,1) 0%,rgba(250,50,77,1) 50%,rgba(252,74,112,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(249,25,41,1) 0%,rgba(250,50,77,1) 50%,rgba(252,74,112,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f91929', endColorstr='#fc4a70',GradientType=0 ); /* IE6-9 */
}
.btn--reserve span a::after {
    position:absolute;
    right:1rem;
    top:30%;
    content:url(../img/icn_btn.png);
}
.btn--reserve span a small {
    font-weight:normal;
    font-size:1rem;
}

.phone--reserve p {
    line-height:1.45;
}
.phone--number {
    position:relative;
    padding:0 0 0 0;
    font-weight:bold !important;
}
.phone--number::before {
    content:'';
    left:0;
    top:0;
    display:inline-block;
    width:24px ;
    height:24px;
    margin-right: 0.15rem;
    background:url(../img/icn_phone_bk.png) left top no-repeat;
    background-size:100% auto;
}

@media (min-width: 641px) {
/* PC用 */
    .phone--reserve .phone--number {
        text-align:right;
        font-size:1.7rem;
    }
}
@media (min-width: 1024px) {
/* PC用 */
    .phone--reserve {
        display:flex;
        justify-content: space-between;
    }
    .phone--reserve p {
        font-size:0.8rem;
    }
}
@media (max-width: 640px) {
/* SP用 */
}


/* header
-------------------------------------------------- */
@media (min-width: 641px) {
/* PC用 */
    .res .logo {
        width:15.545454545%;
        padding:2.4rem 7.81818181% 0 0;
        box-sizing: content-box;
    }
    .res .reserve {
        margin:6rem 0 3rem 0;
        padding:1.8rem 0 1.8rem 3rem;
        border-left:5px solid #00a0e9;
    }
    .res .reserve h3 {
        margin:0 0 1rem;
        font-weight:normal;
        font-size:0.875rem;
        line-height: 1.3rem;
    }
    .res .reserve h2 {
        margin-bottom: 1.6rem;
        font-weight:normal;
        font-size:2.61125rem;
        line-height: 1.15;
    }
    .res .reserve h2 small {
        font-size:1.6875rem;
    }
    .res .yoyaku {
        font-size:0.75rem;
    }
}
@media (min-width: 1024px) {
/* PC用 */
    .res .logo {
        width:138px;
        padding:3rem 8.81818181% 0 0;
        box-sizing: content-box;
    }
}
@media (max-width: 640px) {
/* SP用 */
    .res .logo {
        display: block;
        width:100%;
        margin: 0 0 1rem;
        padding:0.7rem 3%;
        border-bottom:1px solid #ccc;
        box-sizing: border-box;
    }
    .res .logo img {
        width:15%;
    }
    
    .res .reserve {
        padding:0 3%;
    }
    .res .reserve h3,
    .res .phone--reserve {
        margin: 0 0 1rem;
        font-size:0.875rem;
        font-weight:normal;
        line-height: 1.5;
    }
    .res .reserve h2 {
        margin-bottom: 1.6rem;
        font-weight:normal;
        font-size:1.61125rem;
        line-height: 1.15;
    }
    .res .reserve h2 small {
        font-size:1.275rem;
    }
    .res .yoyaku {
        font-size:0.8rem;
        line-height: 1.5;
    }
    .date {
        display:block;
        line-height: 2;
    }
    .phone--reserve .phone--number {
        font-size:1.7rem;
        text-align: right;
    }
}




/* case
-------------------------------------------------- */
.case h2 {
    margin-bottom: 3.6rem;
    font-size: 2.61125rem;
    line-height: 1.15;
    color:#00a0e9;
}
.case h2 small {
    font-weight: normal;
    font-size: 2.1125rem;
}

.case--fx .fxch {
    width:30.9090909%;
}
.case--fx .fxch:nth-child(2) {
    padding:0 3.63636%;
}
.case--fx h3 {
    margin: 0 0 0.75rem;
    padding: 0 0 0.5rem 1.6rem;
    color:#00a0e9;
    font-size:1.2rem;
    border-bottom:2px solid #00a0e9;
    background: url(../img/li_tri01.png) left 0.2rem no-repeat;
}
.case--fx .fxch ul {
    margin:0 2% 1rem;
}
.case--fx .fxch ul li {
    position:relative;
    margin: 0 0 0.55rem;
    padding:0 0 0 1.5rem;
    line-height: 1.35;
    font-size:0.8rem;
}
.case--fx .fxch ul li::before {
    content: '';
    position: absolute;
    left:0;
    top:0.17rem;
    width:0.9rem;
    height:0.9rem;
    background:url(../img/li_check.png) left top no-repeat;
    background-size:100% auto;
}
@media (min-width: 641px) {
/* PC用 */
    .case {
        padding:3rem 0;
    }
}
@media (min-width: 1024px) {
/* PC用 */    
    .case--fx .fxch ul li {
        font-size:1rem;
    }
}
@media (max-width: 640px) {
/* SP用 */
    .case {
        padding:2rem 0;
    }
    .case .inner { padding:0 3%;}
    
    .case h2 {
        margin-bottom: 1.6rem;
        font-size: 1.61125rem;
        line-height: 1.15;
        color:#00a0e9;
    }
    .case h2 small {
        font-weight: normal;
        font-size: 1.125rem;
    }
    
    .case--fx .fxch,
    .case--fx .fxch:nth-child(2) {
        margin: 0 0 1.8rem;
        width:100%;
        padding: 0;
    }
}


/* flow
-------------------------------------------------- */
.flow {
    background: #e5f5fd;
}
.flow h2 {
    margin-bottom: 3.6rem;
    font-size: 2.61125rem;
    line-height: 1.15;
    color:#00a0e9;
}
.flow h2 small {
    font-weight: normal;
    font-size: 2.1125rem;
}
.flow ol li {}

.flow--fx .inside {
    margin:.8rem 0;
    padding:0.65rem 0.75rem;
}
.flow--fx .inside p {
    text-align: center;
}
.flow .flow--bx01 h4 {
    color: #f91b2c;
}
.flow--bx01 .inside {
    border:2px solid #f91b2c;
    background: #fff;
}
.flow--bx01::before,
.flow--bx01::after {
    content:'↓';
    display:block;
    text-align: center;
    color: #f91b2c;
    font-size:1.6rem;
}
.flow .flow--bx03 h4 {
    color: #00a0e9;
}
.flow--bx03 .inside {
    border:2px solid #00a0e9;
    background: #fff;
}
.flow--bx03::before {
    content:'↓';
    display:block;
    text-align: center;
    color: #00a0e9;
    font-size:1.6rem;
}

@media (min-width: 641px) {
/* PC用 */
    .flow {
        padding:3rem 0 1.8rem;
    }
    .flow .inner {}
    .flow ol {
        width:76.363636%;
        margin: 0 0 0 21.545454%;
    }
    .flow ol li {
        margin:0 0 1.5rem 0;
        padding:0 0 1.8rem 3rem;
        color: #00a0e9;
        font-weight: bold;
        font-size: 2.61125rem;
        border-left:5px solid #00a0e9;
    }
    .flow ol li h3 {
        margin-bottom:1.3rem;
        color: #000;
        line-height: 1.25;
        font-size:1.6rem;
    }
    .flow ol li h4 {
        color:#333;
    }
    .flow ol li p {
        color:#333;
        font-size:0.75rem;
        line-height: 1.55;
        font-weight:normal;
    }
    .flow ol li .date p {
        font-size:1.1rem;
    }
    
    .flow ol li ul {
        margin-bottom: 2rem;
    }
    .flow ol li ul li {
        margin-bottom: 0.65rem;
        padding:0;
        border:none;
        color:#333;
        font-size:0.875rem;
        font-weight: normal;
        line-height: 1.35;
    }
    .flow ol li ul li::before {
        content: '・';
    }
    .flow--gmap {
        margin-bottom:1.2rem;
    }
    .flow--fx .inside h4 {
        font-size:1.6rem;
        margin-bottom: 0.75rem;
        text-align:center;
    }
    .flow--fx .inside h4 small {
        font-weight:normal;
        font-size:1rem;
    }
    .flow--fx .fxch:nth-child(1) {
        width:50%;
    }
    .flow--fx .fxch:nth-child(2) {
        width:5%;
    }
    .flow--fx .fxch:nth-child(3) {
        width:45%;
    }
}
@media (min-width: 1024px) {
/* PC用 */
    .flow ol {
        width:66.363636%;
    }
    .flow ol li h3 {
        margin-bottom:1.8rem;
        font-size:2.2rem;
    }
}
@media (max-width: 640px) {
/* SP用 */
    .flow {
        padding:2rem 3% 1.8rem;
    }
    .flow h2 {
        margin-bottom: 1.6rem;
        font-size: 1.61125rem;
        line-height: 1.15;
    }
    .flow h2 small {
        font-weight: normal;
        font-size: 1.125rem;
    }
    .flow ol li {
        margin:0 0 1.5rem 0;
        padding:1.2rem 0 1.8rem ;
        border-top:2px solid #00a0e9;
        list-style: none;
    }
    .ul--flow li:nth-child(1)::before {
        content:'1';
        color: #00a0e9;
        font-weight: bold;
        font-size: 1.61125rem;
        float:left;
    }
    .ul--flow li:nth-child(2)::before {
        content:'2';
        color: #00a0e9;
        font-weight: bold;
        font-size: 1.61125rem;
        float:left;
    }
    .ul--flow li:nth-child(3)::before {
        content:'3';
        color: #00a0e9;
        font-weight: bold;
        font-size: 1.61125rem;
        float:left;
    }
    .ul--flow li:nth-child(4)::before {
        content:'4';
        color: #00a0e9;
        font-weight: bold;
        font-size: 1.61125rem;
        float:left;
    }
    
    .flow ol li h3 {
        margin:0 0 1.3rem 1.5rem;
        color: #000;
        line-height: 1.25;
        font-size:1.41125rem;
    }
    .flow ol li h4 {
        color:#333;
    }
    .flow ol li p {
        color:#333;
        font-size:0.875rem;
        line-height: 1.55;
        font-weight:normal;
    }
    .flow ol li .date p {
        font-size:1rem;
        line-height: 2rem;
    }
    
    .flow ol li ul {
        margin-bottom: 2rem;
    }
    .flow .ul--flow01 li {
        margin-bottom: 0.65rem;
        padding:0;
        border:none;
        color:#333;
        font-size:0.875rem;
        font-weight: normal;
        line-height: 1.55;
    }
    .flow .ul--flow01 li::before {
        content: '・';
        color: #333;
        font-size:0.8rem;
    }
    .flow--gmap {
        margin-bottom:1.2rem;
    }
    .flow--fx {
        display:flex;
    }
    .flow--fx .inside h4 {
        font-size:1.6rem;
        margin-bottom: 0.875rem;
        text-align:center;
    }
    .flow--fx .inside h4 small {
        font-weight:normal;
        font-size:1rem;
    }
    .flow--fx .fxch:nth-child(1) {
        width:50%;
    }
    .flow--fx .fxch:nth-child(2) {
        width:5%;
    }
    .flow--fx .fxch:nth-child(3) {
        width:45%;
    }
}


/* fee
-------------------------------------------------- */
.fee {
}
.fee h2 {
    margin-bottom: 2.6rem;
    font-size: 2.61125rem;
    line-height: 1.15;
    color: #00a0e9;
}
.fee h2 small {
    font-weight: normal;
    font-size: 2.1125rem;
}
.fee h3 {
    margin-bottom: 1.75rem;
    font-size: 1.61125rem;
    line-height: 1.35;
}
.fee h3 small {
    font-weight: normal;
    font-size: 1.1125rem;
}
.marker--ylw {
    background: linear-gradient(transparent 70%, #fde2e4 70%);
}
.marker--blue {
    background: linear-gradient(transparent 70%, #e5f5fd 70%);
}

.fee p {
    margin: 0 0 1.5rem;
    line-height: 1.8;
}
.fee .dl--fee01 {
    margin: 0 0 1.5rem;
    border-left:1px solid #ccc;
    border-top:1px solid #ccc;
}

@media (min-width: 641px) {
/* PC用 */
    .fee {
        padding:2.6rem 0 3.2rem;
    }
    .fee .txt {
        margin:0 0 0 21.545454%;
    }
    
    .fee .dl--fee01 dt {
        float:left;
        width:10rem;
        padding:0 0.75rem;
        text-align: center;
        line-height: 2.8;
        border-right:1px solid #ccc;
        border-bottom:1px solid #ccc;
        background:#eee;
        box-sizing: border-box;
    }
    .fee .dl--fee01 dd {
        margin-left:10rem;
        padding:0 0.75rem;
        line-height: 2.8;
        border-right:1px solid #ccc;
        border-bottom:1px solid #ccc;
        box-sizing: border-box;
    }
}
@media (min-width: 1024px) {
/* PC用 */
}
@media (max-width: 640px) {
/* SP用 */
    .fee {
        padding:2rem 3% 2rem;
    }
    .fee h2 {
        margin-bottom: 2.6rem;
        font-size: 1.61125rem;
        line-height: 1.15;
        color: #00a0e9;
    }
    .fee h2 small {
        font-weight: normal;
        font-size: 1.1125rem;
    }
    .fee .dl--fee01 dt {
        width:100%;
        padding:0.65rem 0.95rem;
        line-height: 1.65;
        border-right:1px solid #ccc;
        border-bottom:1px solid #ccc;
        background:#eee;
        box-sizing: border-box;
    }
    .fee .dl--fee01 dd {
        width:100%;
        padding:0.65rem 0.95rem;
        line-height: 1.65;
        border-right:1px solid #ccc;
        border-bottom:1px solid #ccc;
        box-sizing: border-box;
    }
}


/* voice
-------------------------------------------------- */
@media (min-width: 641px) {
/* PC用 */
}
@media (min-width: 1024px) {
/* PC用 */
}
@media (max-width: 640px) {
/* SP用 */
}


/* lawyer
-------------------------------------------------- */
.lawyer {
    color: #fff;
    background: #00a0e9;
}
.lawyer h2 {
    margin-bottom: 2.6rem;
    font-size: 2.61125rem;
    line-height: 1.15;
    color:#fff;
}
.lawyer h2 small {
    font-weight: normal;
    font-size: 2.1125rem;
}
.lawyer h3 {
    margin-bottom: 1.75rem;
    font-size: 1.61125rem;
    line-height: 1.15;
    color:#fff;
}
.lawyer h3 small {
    font-weight: normal;
    font-size: 1.1125rem;
}
.txtBx {
    margin: 0 0 1rem;
    padding:0.5rem 0 0 1rem;
    border-left:3px solid #fff;
}
.txtBx dl.profile {
    padding-bottom: 0.05rem;
    font-size:0.875rem;
}
.txtBx dl.profile dt {
    float: left;
    clear: left;
    margin-bottom: 0.5rem;
}
.txtBx dl.profile dd {
    margin:0 0 0.5rem 7.6rem;
    font-weight:normal;
}
.txtBx p {
    padding-bottom: 0.5rem;
    line-height:1.5;
    font-weight:normal;
    font-size:0.875rem;
}
@media (min-width: 641px) {
/* PC用 */
    .lawyer {
        padding:2.6rem 0 3.2rem;
    }
    .lawyer .photo {
        width:30.909090%;
    }
    .lawyer .txt {
        width:76.363636%;
        margin: 0 0 0 3.636363%;
    }
    
}
@media (min-width: 1024px) {
/* PC用 */
}
@media (max-width: 640px) {
/* SP用 */
    .lawyer {
        padding:2rem 3% 2rem;
    }
    .lawyer h2 {
        margin-bottom: 2.6rem;
        font-size: 1.61125rem;
        line-height: 1.15;
        color:#fff;
    }
    .lawyer h2 small {
        font-weight: normal;
        font-size: 1.1125rem;
    }
    .lawyer .photo {
        margin-bottom:1.4rem;
    }
    .txtBx dl.profile {
        line-height:1.4;
    }
    .txtBx dl.profile dd {
        margin-left:6.5rem;
    }
}


/* footer
-------------------------------------------------- */
.common_bnr { clear:both; position:relative; width:960px; height:87px; margin:80px 0 40px; border:1px solid #c3c3c3; text-align:left; background:#fdfdfd url(../img/common/common_bnr_bg01.jpg) right bottom no-repeat;}
.common_bnr .bnr01 { margin-right:10px;}
.common_bnr ul { float:left; width:310px; margin:5px 10px 8px 0px;}
.common_bnr ul li { padding-left:10px; font-size:13px; line-height:1.5; background:url(../img/common/bg_li02.png) left 6px no-repeat;}
.common_bnr .phoneNum { margin-top:6px;}

.totop { clear:both; text-align:right; padding-top:40px;}
.totop img { cursor:pointer;}

.footer { clear:both; position:relative; padding:20px 0 30px; border-top:1px solid #d2d2d2;}
.footer .fNav { 
    position:absolute; 
    left:0; 
    top:10px; 
    color:#333;
}


.footer address { 
    float:right; 
    margin-bottom:0.30em; 
    font-style:normal; 
    font-family:Book Antiqua ,serif; 
    color:#838383; 
    text-align:right;
}
.footer .name, 
.footer .phone { color:#1690d2; font-family:Century Gothic; font-weight:bold; text-align:right;}
.footer .name { margin-bottom:0.2em; font-size:20px;}
.footer .phone { clear:right; font-size:18px;}

@media (min-width: 641px) {
/* PC用 */
    .footer .fNav {
        font-size:0.8rem;
    }
    .footer address {
        font-size:0.875rem;
    }
}
@media (min-width: 1024px) {
/* PC用 */
}
@media (max-width: 640px) {
/* SP用 */
}

/* .sns 19/1/16
-------------------------------------------------- */
.sns {
    text-align: left;
}
.sns li {
    display:inline-block;
    margin-right: 12px;
}
.header_sns {
    padding:27px 0 0;
}
.footer_sns {
    position:absolute;
    left:0;
    top:34px;
}
@media (min-width: 641px) {
/* PC用 */
}
@media (min-width: 1024px) {
/* PC用 */
}
@media (max-width: 640px) {
/* SP用 */
    .footer {
        padding:0 3% 1rem;
    }
    .footer .fNav {
        margin-bottom: 2rem;
        position:relative;
        line-height:1.8;
        font-size:0.875rem;
    }
    .footer_sns {
        position:relative;
        top:0;
        margin-bottom: 2rem;
    }
    .footer address {
        float:none;
        font-size:0.75rem;
    }
}