﻿@charset "utf-8";
/* PC向け*/
.top {
    width: 100%;
    background-image: url(../image/top.jpg);
    background-size: auto 100%;
    background-repeat: no-repeat;/*画像が繰り返すのを防ぐ*/
}
.box {
    width: 80%;
    margin: 0 auto;
}
.clearfix {
    display: block;
}
.topelement {
    height: 300px;
    padding: 5% 0 0 0;
    margin-bottom: 0;
    position: relative;
}
.toptxt {
    margin: 0;
    padding: 3em 0 0 0;
}
.toptxtbig {
    font-size: 2rem;
    font-weight: bold;
    font-family: "Zen Maru Gothic", sans-serif;
}
#topmes {
    width: 80%;
    margin: 5% auto;
}
.message {
    display: grid;
}
.messageimg {
    place-content: end;
    text-align: center;
}
#m1 {
    grid-template-columns: 60% 40%;
}
#m2 {
    grid-template-columns: 40% 60%;
}
.messagetxt p {
    padding: 3%;
}
.messagetxt {
    line-height: 2rem;
    font-size: .9rem;
}
.messageend {
    text-align: center;
}
.messageend p {
    font-size: 1rem;
    line-height: 2.3rem;
    margin: 0;
}
.green {
    color: #02a58d;
}
.pink {
    color: #e35d73;
}
.big {
    font-size: 2rem;
    font-weight: bold;
}
#service {
    width: 80%;
    margin: 5% auto;
}
.sertxt {
    text-align: center;
    margin: 3% auto;
}
.sertxt p {
    font-size: 1rem;
    line-height: 2rem;
    margin: 0;
}
.casehead {
    text-align: center;
}
.balloon1 {
    position: relative;
    display: inline-block;
    margin: 1.5em 0;
    padding: .5rem 2rem;
    min-width: 120px;
    max-width: 100%;
    color: #281406;
    font-size: 16px;
    background: #fff;
    border: solid 3px #281406;
    box-sizing: border-box;
    border-radius: 5px;
    box-shadow: 2px 2px 4px #cac9c9;
}
.balloon1:before {
    content: "";
    position: absolute;
    bottom: -24px;
    left: 50%;
    margin-left: -15px;
    border: 12px solid transparent;
    border-top: 12px solid #FFF;
    z-index: 2;
}
.balloon1:after {
    content: "";
    position: absolute;
    bottom: -30px;
    left: 50%;
    margin-left: -17px;
    border: 14px solid transparent;
    border-top: 14px solid #281406;
    z-index: 1;
}
.balloon1 p {
    margin: 0;
    padding: 0;
}
.casetype {
    display: grid;
    grid-template-columns: 45% 10% 45%;
    justify-items: center;
}
.casebox {
    justify-items: center;
}
.casetitle {
    border-radius: 10px;
    color: #fff;
    font-size: 1.2rem;
    font-family: "Zen Maru Gothic", sans-serif;
    letter-spacing: 0.3em;
    text-align: center;
    width: fit-content;
    text-align: center;
    padding: .4rem 3rem;
    margin: 0;
}
.caselaw .casetitle {
    background-color: #45a7e7
}
.casetax .casetitle {
    background-color: #a12d3ba8
}
.caseborder {
    margin: 0 4.79%;
    width: 0;
    border-left: 2px dotted #cccbcb;
}
.caselist {
    font-size: .9rem;
    padding: 0 0 0 1rem;
}
.case2 {
    margin: 5% auto;
}
#qanda {
    width: 80%;
    margin: 5% auto;
}
.qabox {
    width: 80%;
    margin: 3% auto;
}
.pricebox {
    width: 70%;
    margin: 3% auto;
}
.pricedetail {
    width: 100%;
    background-color: #e4e4e473;
    border-radius: 25px;
    padding: 3% 0;
    margin: 3% auto;
}
.pricedetail h2 {
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    margin: 0 0 1% 5%;
    font-family: "Zen Maru Gothic", sans-serif;
}
.psection {
    margin: 3% auto;
}
.pricelist {
    width: 100%;
    display: grid;
    grid-template-columns: 80%;
    flex-wrap: wrap;
    justify-content: center;
}
.pricelist2 {
    width: 100%;
    display: grid;
    grid-template-columns: 45% 45%;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 3%;
}
.pricetbl {
    width: 100%;
    overflow: hidden;
    border-radius: 10px;
}
.pricetbl th {
    color: #fff;
    font-size: 1rem;
    text-align: center;
    padding: 1rem 0;
    background-color: #02a58d;
    width: 30%;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 500;
}
.pricetbl td {
    text-align: center;
    vertical-align: middle;
    background-color: #fff;
    padding: .5rem 1rem;
}
.bb {
    border-bottom: 1px solid #eaeaea;
}
.hosoku {
    text-align: center;
    margin: 1% auto;
}
.itempad {
    padding-top: 3%;
}
.tdsmall {
    font-size: .9em;
}
footerarea {
    border-top: 1px solid #dedede;
    width: 100%;
}
.footerbox {
    width: 70%;
    margin: 0 auto;
    padding: 5% 0 0 0;
    display: grid;
    grid-template-columns: 25% 30% 30%;
    column-gap: 5%;
}
.footerimg img {
    width: 100%;
}
.footeraddres {
    font-size: .8rem;
    font-style: normal;
}
.mapbtn {
    border: 2px solid #393939;
    color: #393939;
    font-size: .8rem;
    padding: .8rem 1rem;
    width: 60%;
    display: block;
    margin: 5% 0;
    text-align: center;
    line-height: 1.42;
    letter-spacing: .06em;
    background-color: #fff;
}
.mapbtn a {
    display: flex;
    position: relative;
}
.mapbtn a::after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #393939;
    border-right: 3px solid #393939;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.sitebox {
    width: 100%;
    background-color: #02a58d;
}
.uneisite {
    font-size: .8rem;
    width: 60%;
    margin: 2% auto;
    padding: .5% 0;
    display: grid;
    grid-template-columns: 20% 70%;
    column-gap: 10%;
}
.sitelist {
    display: flex;
}
.sitelist p.last {
    border-right: none;
}
.sitelist p {
    float: left;
    margin: 0;
    padding: 0 15px;
    border-right: 1px solid #fff;
    letter-spacing: 0.02em;
    align-content: center;
}
.sitelist p a {
    color: #fff;
}
.sitetitle {
    justify-self: right;
    background-color: #fff;
}
.sitetitle p {
    padding: .2rem 1rem;
    letter-spacing: .02em;
    margin: 0;
    width: fit-content;
    color: #02a58d;
}
#contact {
    margin: 10% auto 0 auto;
    background-color: #f2f2f2;
}
.tellinfo {
    width: 70%;
    margin: 5% auto;
}
.tellbox {
    padding: 5% 10%;
    background-color: #ffffff;
    border-radius: 25px;
    text-align: left;
    font-size: 14px;
    line-height: 1.42;
    display: grid;
    grid-template-columns: 20% 75%;
    column-gap: 5%;
}
.telltxt {
    font-family: Outfit, sans-serif;
    font-weight: 600;
    font-size: 2.8rem;
    margin: 0;
    line-height: 5rem;
}
.telltxt a {
    color: #02a58d;
}
.tellnote {
    font-size: .8rem;
    margin: 0;
}
.qandaarea {
    padding: 2% 0;
}
.footerarea {
    background-color: #f2f2f2;
}
@media only screen and (max-width: 768px) {

}

/* スマホ向け：961px～ */
@media only screen and (max-width: 768px) {
    .top {
        background-image: url(../image/top_sp.jpg);
        background-size: 100% auto;
        height: calc(var(--_w));
    }
    .box {
            width: 90%;
        }
    .topelement {
        padding: 0;
    }
    .toptxt {
        padding: 0;
        text-align: center;
    }
    .toptxtbig {
        font-size: 1.3rem;
    }
    #topmes {
        width: 90%;
        margin: 5% auto 20% auto;
    }
    #m1 {
        grid-template-columns: 100%;
    }
    .messageimg img{
        width: 50%;
    }
    #m2 {
        grid-template-columns: 100%;
    }
    #m2 .messageimg {
        grid-row: 2/3;
    }
    #service {
        width: 90%;
        margin: 5% auto 20% auto;
    }
    .casetype {
        grid-template-columns: 100%;
    }
    .caselist {
        text-align: center;
    }
    .balloon1:before {
        bottom: -23px;
    }
    #qanda {
        width: 90%;
        margin: 5% auto 20% auto;
    }
    .qabox {
        width: 100%;
    }
    #price {
        width: 90%;
        margin: 5% auto 20% auto;
    }
    .pricebox {
        width: 100%;
    }
    .pricedetail h2 {
        text-align: center;
        margin: 8% auto 1% auto;
    }
    .pricelist {
        grid-template-columns: 90%;
    }
    .pricelist2 {
        grid-template-columns: 90%;
        row-gap: 4%;
        grid-template-rows: 1fr .8fr;
    }
    .hosoku {
        font-size: .8em;
    }
    .tdsmall {
        font-size: .8em;
    }
    .footerbox {
        width: 80%;
        grid-template-columns: 100%;
        row-gap: 2%;
        text-align: center;
        margin: 0 auto 10% auto;
    }
    .footeraddres {
        justify-items: center;
    }
    .footermap iframe {
        width: 100%;
        height: calc(var(--_w) * 0.6);
    }
    .footerimg {
        width: 80%;
        margin: 0 auto;
    }
    .uneisite {
        width: 90%;
        margin: 0% auto;
        padding: 2% 0 0 0;
        grid-template-columns: 100%;
        column-gap: 3%;
    }
    .sitetitle {
        justify-self: center;
    }
    .sitelist p {
        width: 100%;
        padding: 0 5px;
    }
    .sitelist {
        text-align: center;
        margin: 3% 0;
    }
    .tellinfo {
        width: 100%;
    }
    .tellbox {
        text-align: center;
        grid-template-columns: 100%;
        row-gap: 3%;
    }
    .telicon {
        width: 70%;
        margin: 0 auto;
    }
    .telltxt {
        font-size: 2rem;
    }
}

