﻿@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;
}
.topelement {
    height: 300px;
    padding: 5% 0 0 0;
    margin-bottom: 0;
    position: relative;
}
.clearfix {
    display: block;
}
.clearfix:after {
    display: block;
    visibility: hidden;
    clear: both;
    height: 0;
    content: " ";
    font-size: 0;
}
.toptxt {
    margin: 0;
    padding: 1.5em 5em;
    width: 60%;
    text-align: center;
}
.toptxtbig {
    font-size: 2rem;
    font-weight: bold;
    text-shadow: 3px 3px #efeded;
}

.txtcenter {
    text-align: center;
}
#imp {
    background-color: #fbf9f7
}
.imparea {
    padding: 5rem 0;
}
.impbox {
    margin: 2rem auto;
}
.impbox ul { 
    border: solid 1px #a0a0a066;
    background-color: #fff;
    width: 50%;
    margin: 0 auto;
    text-align: left;
    padding: 0 2rem;
    box-shadow: 2px 2px 4px #a0a0a066;
}
.bordertype {
    border-top: solid 1px #a0a0a066;
    border-bottom: solid 1px #a0a0a066;
}
.impbox ul li p {
    display: block;
    padding: 13px 45px 13px 60px;
    line-height: 1.6;
    position: relative;
    margin: 0;
    font-size: 1.1rem;
}
.impbox ul li p::before {
    content: "";
    background: url(../image/ic-dia.png) 0 0 / 11px 11px no-repeat;
    width: 11px;
    height: 11px;
    position: absolute;
    top: calc(.8em - 6px + 16px);
    left: 30px;
}
.serarea {
    padding: 5rem 0 2rem 0;
}
.rinen {
    width: 80%;
    margin: 5% auto;
    border-bottom: 1px solid #ddd;
}
.rlast {
    border-bottom:unset;
}
.rinen_txt {
    text-align: left;
    padding: 2% 7%;
    font-size: .9rem;
}
#zisseki {
    background-color: #fbf9f7
}
.zissekiarea {
    padding: 5rem 0 2rem 0;
}
.zissekibox {
    padding: 5% 8%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 2%;
    row-gap: 3%;
}
.zissekiitem {
    background-color: #fff;
    padding: 25px 50px;
    position: relative;
    margin: 0 0 8% 0;
    box-shadow: 2px 2px 4px #a0a0a066;
}
.zititle {
    background-color: #45a7e7;
    color: #fff;
    border-radius: 6px;
    position: absolute;
    padding: .1rem 1.2rem;
    top: -30px;
}
.zilist {
    padding: 0;
    line-height: 1.2rem;
}
.zilist li {
    margin: .8rem 0;
}
.lastitem {
    grid-column: 1 / 3;
}
.lawp {
    margin: 5% auto 10% auto;
    width: 100%;
}
.taxp {
    margin: 5% auto;
    width: 100%;
}
.lawpbody {
    padding: 0 3%;
}
.taxpbody {
    padding: 0 3%;
}
.selectbtn {
    margin: 0 auto;
    width: fit-content;
}
.selectbtn p {
    font-size: 1em;
    padding: .3rem 4rem;
    text-align: center;
    color: #FFF;
    letter-spacing: 0.05em;
    border-radius: 6px;
}
.lawyerbtn p {
    background-color: #45a7e7;
}
.taxbtn p {
    background-color: #a12d3ba8;
}
.lawptxt {
    text-align: center;
    font-size: .9rem;
    line-height: 2rem;
}
.taxptxt {
    text-align: center;
    font-size: .9rem;
    line-height: 2rem;
}
.lawplan {
    width: 100%;
    margin: 5% auto;
}
.lawplanbody {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 3%;
}
.lawplanitem {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}
.lawplanitemname {
    height: 50%;
}
.lawplanitemname h4{
    text-align: center;
    font-size: 1.2rem;
}
.lawplanitemtxt {
    font-size: .8rem;
    padding: 0 5%;
}
.blueitem {
    background-color: #45a6e714;
}
.purpleitem {
    background-color: #a12d3b12;
}
.blue {
    color: #45a7e7;
}
.blue2 {
    color: #00538a;
}
.puple {
    color: #a12d3b;
}
.pland1,.pland2,.pland3 {
    line-height: 1rem;
    margin-top: 0;
}
.pland1 li,.pland2 li,.pland3 li {
    padding: .3em .3em .3em 0;
    list-style-type: disc !important;
}
.pland1 li::marker {
    font-size: 1.1em;
    color: #45a7e7;
}
.pland2 li::marker {
    font-size: 1.1em;
    color: #00538a;
}
.pland3 li::marker {
    font-size: 1.1em;
    color: #a12d3b;
}
.lawplanitemprice {
    padding-bottom: 10%;
}
.getsugaku {
    padding: 1.8rem 0 0 0;
    font-size: 1.2rem;
    font-weight: bold;
    text-align: center;
}
.getsugakup {
    padding: 0;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.5rem;
}
.getsugakup span {
    font-size: 1.2rem;
}
.pricetbl2 {
    width: 100%;
    margin: 0 auto;
}
.pricetbl2 th {
    width: fit-content;
    box-sizing: border-box;
    text-align: center;
    vertical-align: middle;
    background-color: #f7f6f5;
    border: 1px solid #c4bdba;
    padding: 15px 10px;
}
.pricetbl2 .leftth{
    width: fit-content;
    box-sizing: border-box;
    text-align: center;
    vertical-align: middle;
    background-color: #f7f6f5;
    border: 1px solid #c4bdba;
    padding: 15px 10px;
}
.pricetbl2 td {
    box-sizing: border-box;
    border: 1px solid #c4bdba;
    padding: 15px 10px 15px 20px;
}
.kome {
    font-size: .8rem;
}
.pricebox {
    margin: 5% auto;
}
.pricechara {
    margin: 3% auto;
}
.charah3 {
  position: relative;
  padding: 10px 10px 10px 42px;
  background: #a12d3ba8;
  color: white;
  line-height: 1.3;
  z-index:-1;
  width: fit-content;
}
.charah3:before {
  position: absolute;
  content: '';
  left: -2px;
  top: -2px;
  border: none;
  border-left: solid 40px white;
  border-bottom: solid 79px transparent;
  z-index:-2
}
.charaboxitem {
    display: grid;
    grid-template-columns: 15% 1fr;
    padding: 2% 4% 2% 0;
    margin: 2% auto;
    background: #fbf9f7;
    box-shadow: 2px 2px 4px #a0a0a066;
}
.charabox {
    width: 90%;
    margin: 4% auto;
}
.charanobox {
    justify-items: center;
    place-content: center;
}
.charano {
    text-align: center;
    padding: 9px;
    width: 60px;
    height: 60px;
    font-size: .9rem;
    line-height: 18px;
    background: #fff;
    color: #a12d3ba8;
    border-radius: 50px;
    box-sizing: border-box;
    border: solid 2px #a12d3ba8;
}
.charano span {
    font-weight: bold;
}
.charatxt {
    line-height: 1.5rem;
}
#qanda {
    background-color: #fbf9f7
}
.qandaarea {
    padding: 5rem 0 2rem 0;
}
.qabox {
    margin: 5% auto 10% auto;
    width: 85%;
}
.tellinfo {
    width: 70%;
    margin: 5% auto;
}
.tellbox {
    padding: 5% 10%;
    background-color: #f2f2f2;
    border-radius: 25px;
    text-align: left;
    font-size: 14px;
    line-height: 1.42;
    display: grid;
    grid-template-columns: 20% 70%;
    column-gap: 10%;
}
.telltxt {
    font-family: Outfit, sans-serif;
    font-weight: 600;
    font-size: 2.8rem;
    margin: 0;
    line-height: 5rem;
}
.tellnote {
    font-size: .8rem;
    margin: 0;
}
.footerarea {
    border-top: 1px solid #dedede;
    width: 100%;
}
.footerbox {
    width: 70%;
    margin: 5% auto;
    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;
}
.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;
}
.uneisite {
    font-size: .8rem;
    width: 60%;
    margin: 0% auto;
    padding: 3% 0 0 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: 6px 0 0 0;
    padding: 0 15px;
    border-right: 1px solid #b7bec8;
    letter-spacing: 0.02em;
}
.sitetitle {
    justify-self: right;
}
.sitetitle p {
    padding: .5rem 1rem;
    border: 1px solid #b7bec8;
    letter-spacing: .02em;
    margin: 0;
    width: fit-content;
}
.footermap iframe {
    width: 340px;
    height: 296px;
}
/* スマホ向け：961px～ */
@media only screen and (max-width: 768px) {
    .top {
        background-image: url(../image/top_sp.jpg);
        background-size: 100% auto;
        height: calc(var(--_w) * 3 / 4);
    }
    .topelement {
        padding: 0;
        height: fit-content;
    }
    .toptxt {
        padding: 20% 0;
        text-align: center;
    }
    .toptxtbig {
        font-size: 1.2rem;
    }
    .toptxtsmall {
        font-size: .8rem;
    }
    .box {
        width: 90%;
    }
    .titleh2 {
        font-size: 1.2rem;
        padding: 0 1rem 10px;
    }
    .impbox ul {
        width: 80%;
        padding: 0 1rem;
    }
    .imparea {
        padding: 3rem 0;
    }
    .serarea {
        padding: 3rem 0 2rem 0;
    }
    .zissekiarea {
        padding: 3rem 0 2rem 0;
    }
    .rinen {
        width:100%;
    }
    .rinentitle {
        font-size: 1.3rem;
    }
    .rinen_txt {
        font-size:initial;
        padding: 2% 7% 10% 7%;
    }
    .zissekibox {
        padding: 15% 0 0 0;
        display: block;
    }
    .zissekiitem {
        padding: 8% 10%;
        margin: 0 0 15% 0;
    }
    .lawp {
        margin: 10% auto;
    }
    .taxp {
        margin: 20% auto;
    }
    .lawptxt {
        line-height: 1.5rem;
        padding: 5% 0;
    }
    .taxptxt {
        line-height: 1.5rem;
        padding: 5% 0;
    }
    .lawpbody {
        padding: 0;
    }
    .lawplanbody {
        grid-template-columns: 1fr;
        column-gap:unset;
        row-gap: 1%;
        padding-bottom: 10%;
    }
    .lawplanitemname h4 {
        font-size: 1.4rem;
        margin: 1rem 0;
    }
    .lawplanitemtxt {
        font-size: 1rem;
        padding: 0 5%;
    }
    .lawplanitemname {
        height: fit-content;
    }
    .pland1, .pland2, .pland3 {
        line-height: 1.3rem;
    }
    .getsugaku {
        padding: 1rem 0 0 0;
    }
    .getsugakup {
        font-size: 2.4rem;
        line-height: 2.5rem;
    }
    .charah3 {
        margin: 0 auto;
    }
    .charabox {
        width: 100%;
        margin: 4% auto;
    }
    .pricechara {
        margin: 10% auto;
    }
    .charaboxitem {
        grid-template-columns: 1fr;
        grid-template-rows: 80px 1fr;
        margin: 5% 0;
        padding: 0;
    }
    .charatxt {
        line-height: 1.5rem;
        padding: 2% 8% 10% 8%;
    }
    .pricechara {
        padding: 1rem 0 0 0;
    }
    .taxp {
        margin: 10% auto;
    }
    .qandaarea {
        padding: 3rem 0 2rem 0;
    }
    .qabox {
        margin: 10% auto 10% auto;
        width: 100%;
    }
    .tellinfo {
        width: 100%;
    }
    .tellbox {
        text-align: center;
        grid-template-columns: 100%;
        row-gap: 3%;
    }
    .telicon {
        width: 70%;
        margin: 0 auto;
    }
    .telltxt {
        font-size: 2rem;
    }
    .footerbox {
        width: 80%;
        grid-template-columns: 100%;
        row-gap: 2%;
        text-align: center;
        margin: 5% 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: 80%;
        margin: 0% auto;
        padding: 5% 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;
    }
}

