@charset "utf-8";
.mainImgSec {
  width: 100%;
}
/* SET01
------------------------------------------------------------*/
.set01 header {
  padding: 80px 0 80px 0;
  text-align: center;
  background-image: url(../images/ttl_h2_01.png);
  background-repeat: no-repeat;
  background-position: center center;
}
/* SET02
------------------------------------------------------------*/
.set02 header {
  padding: 80px 0 80px 0;
  text-align: center;
  background-image: url(../images/ttl_h2_02.png);
  background-repeat: no-repeat;
  background-position: center center;
}
/* SET03
------------------------------------------------------------*/
.set03 header {
  padding: 80px 0 80px 0;
  text-align: center;
  background-image: url(../images/ttl_h2_03.png);
  background-repeat: no-repeat;
  background-position: center center;
}
.secWrapper {
  position: relative;
  max-width: 1190px;
  height: auto !important;
  height: 100%;
  min-height: 100%;
  margin: 0 auto 0 auto;
}
.secLeft {
  float: left;
  width: 75%;
}
.secSide {
  float: left;
  width: 20%;
  margin: 70px 0 0 0;
}
.sideDay {
  font-size: .85em;
  padding: 8px;
  text-align: center;
  color: #fff;
  background-color: #4daedb;
  margin-bottom: 10px;
}
.sideAnnai {
  font-size: .85em;
  line-height: 1.4em;
  padding: 10px 0 25px 0;
  border-bottom: 1px solid #2e509a;
}
.sideContents ul li {
  list-style-type: none;
  border-bottom: 1px solid #2e509a;
}
.sideContents ul li a {
  display: block;
  padding: 15px 0 15px 0;
  color: #2e509a;
  text-decoration: none;
}
.sideContents ul li a:hover {
  display: block;
  padding: 15px 0 15px 0;
  text-decoration: none;
  color: #fff;
  background-color: #4daedb;
}
.sideContentsTitle01 {
  font-size: .9em;
}
.sideContentsTitle02 {
  font-size: 1.2em;
}
.sideContact {
  margin: 0 0 12px 0;
  padding: 5px 0 5px 0;
  text-align: center;
  border: 1px solid #2e509a;
  color: #2e509a;
  font-weight: bold;
  letter-spacing: 0.2em;
}
.sideTel {
  margin: 0 0 12px 0;
}
.sideTitleLeft {
  float: left;
  width: 185px;
}
.sideTitleDetail {
  font-size: 1.1em;
  float: left;
  padding: 105px 0 0 60px;
  letter-spacing: 0.2em;
}
.secNav {
  z-index: 600;
  top: 0;
  float: right;
  width: 700px;
  margin: 0 auto 0 auto;
  padding: 20px 0 20px 0;
  background-color: #fff;
}
.tbl-basic td p:last-child, .block-bg p:last-child, .block-lg p:last-child, .block-md p:last-child, .block-sm p:last-child {
  margin: 0;
}
/**
 * 弁護士紹介
 * -------------------------------------------------------------------------- */
.lawyerPhoto {
  float: left;
  width: 30%;
}
.lawyerRight {
  float: right;
  width: 60%;
  padding: 0 0 0 20px;
}
.lawyerName01 {
  font-size: 1.4em;
}
.lawyerName02 {
  font-size: .9em;
}
.lawyerLine {
  padding: 0 0 12px 0;
  border-bottom: 1px solid #2e509a;
}
.lawyerName01Eng {
  padding: 5px 0 45px 0;
  color: #4daedb;
}
.lawyerDetail01 {
  line-height: 1.8em;
}
.lawyerProfile {
  width: 95%;
  margin: 20px auto 50px auto;
  padding: 10px 30px 30px 30px;
  text-align: left;
  background-color: #2e509a;
}
.lawyerProfile h3 {
  display: inline-block;
  padding: 5px 10px 5px 10px;
  text-align: center;
  color: #fff;
  border: 1px solid #fff;
}
.lawyerProfile p {
  text-align: left;
  color: #fff;
}
.lawyerProfile ul li {
  padding: 10px 0 10px 0;
  color: #fff;
  border-bottom: 1px solid #fff;
  font-size: .95em;
}
.lawyerProfile .date {
  float: left;
  width: 20%;
}
.lawyerProfile .txt {
  float: left;
  width: 80%;
}
/**
 * Masthead
 * -------------------------------------------------------------------------- */
.masthead {
  width: 100%;
  margin: 0;
  padding: 0;
}
/* ページ遷移
----------------------------------------------------------------------------- */
.breadcrumb {
  overflow: hidden;
  zoom: 1;
  width: 80%;
  margin: 0 auto 0 auto;
  padding: 15px 0 0 0;
}
.breadcrumb ul {
  line-height: 1.4;
  margin-left: 0;
}
.breadcrumb li {
  position: relative;
  float: left;
  margin: 0 1.5em 0 0;
  padding: 0 2em 0 0;
  list-style: none;
}
.breadcrumb li:after {
  position: absolute;
  top: 0;
  right: 0;
  content: ' > ';
}
.breadcrumb li:last-child:after {
  content: ' ';
}
/**/
/* 弁護士手帳
----------------------------------------------------------------------------- */
.columnsBox .icon, .newsBox .icon {
  font-size: .85em;
  display: inline-block;
  float: left;
  margin: -2px 0 5px 0;
  padding: 5px;
  text-align: center;
  color: #fff8f8;
  background-color: #2e509a;
}
.columnsInner .icon, .newsInner .icon {
  margin: 10px 0 0 0;
}
.columnsBox .day, .newsBox .day, .columnsBox .title, .newsBox .title {
  float: left;
  padding: 0 10px 0 10px;
}
.columnsInner h3, .newsInner h3 {
  font-size: 1.2em;
  font-weight: bold;
  position: relative;
  padding: 10px 0 0 0;
  text-align: left;
  border-bottom: 4px solid #ddd;
}
.columnsInner h3::after, .newsInner h3::after {
  position: absolute;
  bottom: -4px;
  display: block;
  width: 30%;
  content: ' ';
  border-bottom: solid 4px #446689;
}
.columnsInner h4 {
  text-align: center;
  font-size: 1.1em;
  padding: 20px 0;
}
.columnsInnerList001 {}
.columnsInnerList001 ol {
  width: 97%;
  margin: 15px auto;
}
.columnsInnerList001 ol li {
  list-style: none;
}
.columnsInner p, .newsInner p, ul.setColumns li p, ul.setNews li p, .practiceDetail p {
  margin: 0;
  padding: 0;
}
.btnPractice {
  margin: 20px 0 0 0;
  float: right;
}
.btnPractice a {
  background-color: #2E509A;
  color: #FFFFFF;
  text-decoration: none;
  padding: 10px 8px 10px 20px;
  letter-spacing: .2em;
}
.btnPractice a:hover {
  background-color: #4daedb;
  color: #FFFFFF;
  text-decoration: none;
  padding: 10px 8px 10px 20px;
  letter-spacing: .2em;
}
.columnsInner .day, .newsInner .day {
  float: left;
  margin: 10px 0 0 0;
}
ul.setColumns, ul.setNews {
  width: 100%;
}
ul.setColumns li, ul.setNews li {
  display: block;
  width: 100%;
  margin: 0 0 5px 0;
  padding: 20px 0 20px 0;
  text-align: left;
}
ul.setColumns li:nth-child(even), ul.setNews li:nth-child(even) {
  background-color: #f3f3f3;
}
/* お知らせ
----------------------------------------------------------------------------- */
.newsBox h3 {
  margin: 0 0 20px 0;
  text-align: left;
}
.newsBox p {
  line-height: 2em;
  margin: 0 0 20px 0;
}
.name {
  font-size: 1.2em;
  padding: 0 0 20px 0;
}
/**
 * アクセス
 * -------------------------------------------------------------------------- */
.accessBox dl dt {
  font-size: 1.2em;
  font-weight: bold;
  position: relative;
  padding: 20px 0 .2em 0;
  border-bottom: 4px solid #ddd;
  color: #2e509a;
  letter-spacing: .2em;
}
.accessBox dl dt::after {
  position: absolute;
  bottom: -4px;
  display: block;
  width: 10%;
  content: ' ';
  border-bottom: solid 4px #2e509a;
}
.accessBox dl dd {
  margin: 0 20px 20px 20px;
  padding: 10px 0 10px 0;
}
.accessBox iframe {
  width: 100%;
  height: 600px;
  margin-top: 20px;
  border-width: 0;
  border-style: none;
}
.parking iframe {
  height: 300px;
}
.parkingPhoto {
  width: 100%;
  margin-top: 30px;
}
.parkingPhoto img {
  width: 100%;
  height: auto;
}
/**
 * サイトのご利用にあたって
 * -------------------------------------------------------------------------- */
.sitePolicyBox dl dt {
  font-size: 1.2em;
  font-weight: bold;
  position: relative;
  padding: 20px 0 .5em 0;
  border-bottom: 4px solid #ddd;
}
.sitePolicyBox dl dt::after {
  position: absolute;
  bottom: -4px;
  display: block;
  width: 10%;
  content: ' ';
  border-bottom: solid 4px #446689;
}
.sitePolicyBox dl dd {
  margin: 0 20px 20px 20px;
  padding: 10px 0 10px 0;
}
.headingStyle01 {
  font-size: 129%;
  font-weight: bold;
  margin-bottom: 20px;
  padding: 10px 20px;
  letter-spacing: .1em;
  border-top: 2px solid #5ab3dd;
  border-bottom: 2px solid #5ab3dd;
  background-color: #2e509a;
  color: #FFFFFF;
}
/* フロー見出し */
.ttl {
  font-weight: bold;
  padding: 14px 20px;
  background-color: #f5f5f5;
}
.ttl p {
  position: relative;
  display: block;
  padding-left: 1.2em;
}
.ttl p span {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 1em;
}
.flowArrow {
  font-size: 1.8em;
  padding: 20px 0;
  text-align: center;
  color: #2e509a;
}
.columnsBox h3 {
  margin: 0 0 20px 0;
  text-align: left;
}
.columnsBox p {
  line-height: 2em;
  margin: 0 0 20px 0;
}
.profileTable {
  overflow: hidden;
  width: 100%;
  word-wrap: break-word;
  word-break: break-all;
  border: 2px solid #d6ceb4;
}
.profileTable th {
  font-weight: bold;
  font-style: normal;
  overflow: hidden;
  width: 30%;
  padding: 6px 8px 5px;
  text-align: left;
  vertical-align: top;
  word-wrap: break-word;
  word-break: break-all;
  color: #13131e;
  border-top: solid 1px #fff;
  background-color: #eeece4;
}
.profileTable td {
  overflow: hidden;
  padding: 5px 10px;
  text-align: left;
  vertical-align: top;
  word-wrap: break-word;
  word-break: break-all;
  color: #595960;
  border-top: dotted 1px #e0dccc;
  background-color: #fff;
}
.expenseTable {
  overflow: hidden;
  width: 100%;
  word-wrap: break-word;
  word-break: break-all;
  border: 2px solid #3D8AAD;
}
.expenseTable th {
  font-weight: 500;
  font-style: normal;
  overflow: hidden;
  width: 20%;
  margin: 0 auto 0 auto;
  padding: 20px 8px 20px 0;
  text-align: center;
  vertical-align: top;
  word-wrap: break-word;
  word-break: break-all;
  border-top: solid 1px #fff;
  background-color: #2e509a;
  color: #FFFFFF;
  letter-spacing: 0.5em;
}
.expenseTable td {
  overflow: hidden;
  margin: 0 auto 0 auto;
  padding: 5px 10px;
  text-align: left;
  vertical-align: top;
  word-wrap: break-word;
  word-break: break-all;
  border-top: dotted 1px #2e509a;
}
.expenseTable002 {
  overflow: hidden;
  width: 100%;
  word-wrap: break-word;
  word-break: break-all;
  border: 2px solid #3D8AAD;
}
.expenseTable002 th {
  font-weight: 500;
  font-style: normal;
  overflow: hidden;
  width: 20%;
  margin: 0 auto 0 auto;
  padding: 20px 8px 20px 0;
  text-align: center;
  vertical-align: top;
  word-wrap: break-word;
  word-break: break-all;
  border-top: solid 1px #fff;
  background-color: #2e509a;
  color: #FFFFFF;
  letter-spacing: 0.5em;
}
.expenseTable002 td {
  overflow: hidden;
  margin: 0 auto 0 auto;
  padding: 5px 10px;
  text-align: left;
  vertical-align: top;
  word-wrap: break-word;
  word-break: break-all;
  border: dotted 1px #2e509a;
}
.tbl_w {
  width: 15%;
}
.txt_15 {
  font-size: 0.85em;
  letter-spacing: .1em;
}
.expenseBox p {
  padding: 0 0 20px 0;
}
.practiceBox ul li {
  margin: 0 0 30px 0;
  padding: 0 0 30px 0;
  border-bottom: 1px dotted #dbdbdb;
}
.practiceBox002 ul li {
  margin: 0 0 30px 0;
  padding: 0 0 30px 0;
  border-bottom: 1px dotted #dbdbdb;
  width: 33.1%;
  float: left;
}
.practiceTitle {
  font-size: 1.4em;
  float: left;
  width: 20%;
  letter-spacing: .4em;
}
.practiceDetail {
  float: left;
  width: 75%;
  padding: 0 0 0 20px;
}
.practiceTitle002 {
  font-size: 1.4em;
  float: none;
  width: 100%;
  letter-spacing: .4em;
}
.practiceDetail002 {
  float: none;
  width: 100%;
}
.practiceDetailSec, .fieldDetailSec {
  float: none;
  width: 90%;
  margin: 0 auto;
}
.practiceDetailSec h3, .fieldDetailSec h3 {
  font-size: 129%;
  font-weight: bold;
  margin-bottom: 20px;
  padding: 10px 20px;
  letter-spacing: .3em;
  border-top: 2px solid #5ab3dd;
  border-bottom: 2px solid #5ab3dd;
  background-color: #2e509a;
  color: #FFFFFF;
}
.expenseBox h4, .practiceDetailSec h4, .fieldDetailSec h4 {
  margin: 30px 0 0 0;
  font-size: 110%;
  color: #2e509a;
  border-bottom: solid 3px;
  margin-bottom: 15px;
  position: relative;
  letter-spacing: .1em;
}
.expenseBox h4:before, .practiceDetailSec h4:before, .fieldDetailSec h4:before {
  content: '';
  width: 50px;
  height: 3px;
  background-color: #42a6ff;
  display: block;
  position: absolute;
  left: 0;
  bottom: -3px;
}
.expenseBox h5, .practiceDetailSec h5, .fieldDetailSec h5 {
  margin: 30px 0 15px 0;
  font-size: 105%;
  font-weight: bold;
  color: #2e509a;
  letter-spacing: .1em;
  border-bottom: 2px solid #2e509a;
  display: inline-block;
}
.fieldBox h5 {}
.fieldBox ul {
  width: 90%;
  margin: 10px auto;
}
.fieldBox ul li {
  list-style: circle;
  margin: 0 0 10px 0;
}
.fieldBox002 ul li {}
/* faq
------------------------------------------------------------*/
.faqItem {
  margin: 0 0 60px 0;
}
.faqTitle {
  font-weight: 500;
  position: relative;
  margin: 0 0 10px 0;
  padding: 5px 0 10px 50px;
  background: #f0f0f0;
}
.faqTitle p, .faqContent p {
  padding: 5px 0 0 0;
}
.faqContent {
  position: relative;
  padding: 0 20px 0 50px;
}
.faqTitle:before {
  font-weight: 500;
  line-height: 1;
  position: absolute;
  top: 11px;
  left: 20px;
  content: 'Q';
  color: #4daedb;
  font-size: 1.2em;
}
.faqContent:before {
  font-weight: 500;
  line-height: 1;
  position: absolute;
  top: 7px;
  left: 20px;
  content: 'A';
  color: #fb8275;
  font-size: 1.2em;
}
.faqContent ul {
  margin: 0 0 20px;
  padding: 0;
}
.faqContent ul li {
  margin: 0;
  padding: 0 0 0 17px;
}
/* Links
------------------------------------------------------------*/
.linksBox ul li {
  margin: 0 0 20px 0;
  padding: 0 0 5px 0;
  list-style-position: inside;
  list-style-type: circle;
  border-bottom: 1px dotted #9b9b9b;
}
/* サイトマップ
------------------------------------------------------------*/
.sitemapBox ul {
  width: 95%;
  margin: 0 auto 0 auto;
}
.sitemapBox ul li {
  margin: 0 0 10px 0;
  padding: 10px 0 10px 0;
  list-style-position: inside;
  list-style-type: circle;
  border-bottom: 1px dotted #9b9b9b;
}
.sitemapBox ul li ol li {
  float: left;
  padding: 0 0 0 20px;
  list-style-type: none;
  border-bottom: 0;
}
/* コピーライト
------------------------------------------------------------*/
.copy {
  font-size: .8em;
  line-height: 1em;
  position: fixed;
  bottom: 0;
  width: 100%;
  height: 15px;
  margin: 50px 0 0 0;
  padding: 10px 0 12px 0;
  color: #fff;
  background-color: #2e509b;
}
.catchCopy {
  position: absolute;
  z-index: 300;
  top: 22%;
  left: 5%;
}
.catchCopy p {
  font-size: 1.4em;
  display: table;
  margin: 0 0 10px 0;
  padding: 5px 10px 5px 10px;
  color: #fff;
  background-color: #2e509a;
}
.sideTitleInner {
  margin: 0 0 20px 0;
}
/*clear*/
.lawyerProfile ul li:after, .secWrapper:after, .sideContents ul:after, .sideTitleInner:after, .lawyerInner:after, .lawyerProfile:after, .breadcrumb:after, .columnsBox .text:after, .columnsInner:after, .columnsInner .text:after, ul.setColumns li:after, ul.setColumns:after, .newsBox .text:after, .newsInner:after, .newsInner .text:after, ul.setNews li:after, ul.setNews:after, .practiceBox:after, .practiceBox ul:after, .practiceBox ul li:after, .linksBox ul:after, .sitemapBox ul:after, .sitemapBox ol:after {
  display: block;
  visibility: hidden;
  clear: both;
  height: 0;
  content: '.';
}
/*img*/
.mainImgSec img {
  width: 100%;
  height: auto;
}
.col2 img, .col3 img, .col4 img {
  display: block;
  margin: 0 auto 5px;
}
.col2 .img, .col3 .img, .col4 .img {
  line-height: 0 !important;
  margin: 0;
  padding: 0;
  background: #f6f6f6;
}
.accessBox, .lawyerBox, .columnsBox, .expenseBox, .faqBox, .practiceBox, .flowBox, .linksBox, .newsBox, .sitemapBox {
  width: 100%;
  margin: 0 auto 0 auto;
  padding-bottom: 30px;
}
.lawyerInner, .columnsInner, .newsInner {
  width: 100%;
  margin: 0 0 50px 0;
}
@media (min-width: 1500px) and (max-width: 1920px) {
  .catchCopy {
    position: absolute;
    z-index: 300;
    top: 30%;
    left: 5%;
  }
}
/* RESPONSIVE 設定
------------------------------------------------------------*/
@media (min-width: 825px) and (max-width: 1024px) {
  .catchCopy {
    position: absolute;
    z-index: 300;
    top: 250px;
    left: 5%;
  }
  .secNav {
    z-index: 600;
    top: 0;
    float: none;
    width: 780px;
    margin: 0 auto 0 auto;
    padding: 20px 0 20px 0;
    background-color: #fff;
  }
  .secWrapper {
    max-width: 100%;
    margin: 0 auto 0 auto;
  }
  .secWrapper:after {
    display: block;
    visibility: hidden;
    clear: both;
    height: 0;
    content: '.';
  }
  .secLeft {
    float: none;
    width: 100%;
  }
  .sideTel {
    margin: 0 0 12px 0;
    text-align: center;
  }
  .sideAnnai {
    font-size: .85em;
    line-height: 1.4em;
    padding: 10px 0 25px 0;
    text-align: center;
    border-bottom: 1px solid #2e509a;
  }
  .secSide {
    float: none;
    width: 90%;
    margin: 0 auto 0 auto;
  }
}
@media only screen and (min-width: 824px) {
  .masthead, .mainImgSecSp {
    display: none;
  }
  /* 4分割
------------------------------------------------------------*/
  .col4 {
    text-align: center;
  }
  .col4 li {
    display: inline-block;
    width: 20%;
    margin: 50px auto 0 auto;
    padding: 0 2% 0;
    text-align: left;
    vertical-align: top;
  }
  /* 3分割
------------------------------------------------------------*/
  .col3 {
    text-align: center;
  }
  .col3 li {
    display: inline-block;
    width: 28%;
    margin: 50px auto 0 auto;
    padding: 0 2.5% 50px;
    text-align: left;
    vertical-align: top;
  }
  /* 2分割
------------------------------------------------------------*/
  .col2 {
    text-align: center;
  }
  .col2 li {
    display: inline-block;
    width: 44%;
    margin: 50px auto 0 auto;
    padding: 0 2.5% 50px;
    text-align: left;
    vertical-align: top;
  }
  #footer {
    padding: 30px 10px 70px 0;
  }
}
.columnsInner .photo {
  width: 445px;
}
.columnsInner .photo img {
  width: 100%;
}
.columnsInner .photo_20221201 {
  width: 500px;
  margin: 0 auto;
}
.columnsInner .photo_20221201 img {
  width: 100%;
}
.columnsInner .photo_20230301 {
  width: 250px;
  margin: 20px auto;
}
.columnsInner .photo_20230301 img {
  width: 100%;
}
.columnsInner .photo_20230302 {
  width: 500px;
  margin: 0 auto;
}
.columnsInner .photo_20230302 img {
  width: 100%;
}


@media only screen and (max-width: 824px) {
  .set01 header {
    padding: 80px 0 80px 0;
    text-align: center;
    background-image: url(../images/ttl_h2_01.png);
    background-repeat: no-repeat;
    background-position: center center;
  }
  .set02 header {
    padding: 80px 0 80px 0;
    text-align: center;
    background-image: url(../images/ttl_h2_02.png);
    background-repeat: no-repeat;
    background-position: center center;
    font-size: .9em;
  }
  .set03 header {
    padding: 80px 0 80px 0;
    text-align: center;
    background-image: url(../images/ttl_h2_03.png);
    background-repeat: no-repeat;
    background-position: center center;
  }
  .lawyerInner {
    width: 95%;
    margin: 0 auto 0 auto;
  }
  .secWrapper, .secLeft {
    float: none;
    width: 100%;
    margin: 0 auto 0 auto;
  }
  .secSide {
    float: none;
    width: 95%;
    margin: 0 auto 30px auto;
  }
  .sideTitleLeft {
    float: none;
    width: 185px;
    margin: 0 auto 0 auto;
  }
  .sideTitleDetail {
    font-size: 1.1em;
    float: none;
    padding: 5px 0 20px 0;
    text-align: center;
  }
  /**
 * 弁護士紹介
 * -------------------------------------------------------------------------- */
  .lawyerLine {
    padding-bottom: 2px;
    border-bottom: 1px solid #2e509a;
  }
  .lawyerPhoto {
    float: none;
    width: 240px;
    margin: 0 auto 20px auto;
  }
  .lawyerRight {
    font-size: .9em;
    float: none;
    width: 100%;
    padding-left: 0;
  }
  .lawyerName01Eng {
    padding: 5px 0 10px 0;
    color: #4daedb;
  }
  .lawyerProfile {
    width: 95%;
    margin: 20px auto 30px auto;
    padding: 10px 10px 30px 10px;
    text-align: left;
    background-color: #2e509a;
  }
  .lawyerProfile h3 {
    font-size: .9em;
    display: inline-block;
    padding: 5px 10px 5px 10px;
    text-align: center;
    color: #fff;
    border: 1px solid #fff;
  }
  .lawyerProfile p {
    line-height: 1.8em;
    margin: 0 0 20px 0;
    text-align: left;
    color: #fff;
  }
  .lawyerProfile ul li {
    padding: 10px 0 10px 0;
    color: #fff;
    border-bottom: 1px solid #fff;
  }
  /**
 * アクセス
 * -------------------------------------------------------------------------- */
  .accessBox dl dt {
    font-size: 1.2em;
    font-weight: bold;
    position: relative;
    padding-top: 20px;
    padding-bottom: 0;
    border-bottom: 4px solid #ddd;
  }
  .accessBox dl dt::after {
    position: absolute;
    bottom: -4px;
    display: block;
    width: 30%;
    content: ' ';
    border-bottom: solid 4px #446689;
  }
  .accessBox dl dd {
    font-size: .95em;
    margin: 0;
  }
  .accessBox iframe {
    width: 100%;
    height: 600px;
    border-width: 0;
    border-style: none;
  }
  /**
 * サイトのご利用にあたって
 * -------------------------------------------------------------------------- */
  .sitePolicyBox {
    width: 95%;
    margin: 0 auto 0 auto;
  }
  .sitePolicyBox dl dt {
    font-size: 1.2em;
    font-weight: bold;
    position: relative;
    padding-top: 20px;
    padding-bottom: 0;
    border-bottom: 4px solid #ddd;
  }
  .sitePolicyBox dl dt::after {
    position: absolute;
    bottom: -4px;
    display: block;
    width: 30%;
    content: ' ';
    border-bottom: solid 4px #446689;
  }
  .sitePolicyBox dl dd {
    font-size: .95em;
    margin: 0;
  }
  /* faq
------------------------------------------------------------*/
  .faqItem {
    margin: 0 0 20px 0;
  }
  .faqTitle {
    position: relative;
    margin: 0;
    padding: 5px 20px 10px 50px;
    background: #f0f0f0;
  }
  .faqTitle p, .faqContent p {
    padding-top: 5px;
  }
  .faqContent {
    position: relative;
    padding: 0 20px 0 50px;
  }
  .faqTitle:before {
    line-height: 1;
    position: absolute;
    top: 11px;
    left: 20px;
    content: 'Q';
    color: #4daedb;
  }
  .faqContent:before {
    line-height: 1;
    position: absolute;
    top: 7px;
    left: 20px;
    content: 'A';
    color: #fb8275;
  }
  .faqContent ul {
    margin: 0 0 20px;
    padding: 0;
  }
  .faqContent ul li {
    margin: 0;
    padding-left: 17px;
  }
  .sideTel {
    margin: 0 0 12px 0;
    text-align: center;
  }
  .sideDay {
    font-size: .95em;
    padding: 8px 0 8px 16px;
    color: #fff;
    background-color: #4daedb;
    font-weight: bold;
    margin-bottom: 10px;
  }
  .sideAnnai {
    font-size: .95em;
    line-height: 1.4em;
    padding: 10px 0 25px 0;
    text-align: left;
    border-bottom: 1px solid #2e509a;
  }
  .mainImgSecSp {
    width: 100%;
  }
  .secNav {
    position: relative;
    z-index: 600;
    top: 0;
    width: 100%;
    margin: 0;
    padding: 0;
  }
  .profileTable th, .costTable th {
    display: block;
    width: 100%;
    margin: 0 auto;
    border: none;
    border-radius: 3px;
  }
  .profileTable td, .costTable td {
    display: list-item;
    width: 100%;
    border-top: none !important;
  }
  .expenseTable {
    overflow: hidden;
    width: 100%;
    word-wrap: break-word;
    word-break: break-all;
    border: 2px solid #4daedb;
  }
  .expenseTable th {
    display: block;
    width: 97.5%;
    margin: 0 auto 0 auto;
    border: none;
    border-radius: 0;
  }
  .expenseTable td {
    display: list-item;
    width: 97.5%;
    margin: 0 auto 0 auto;
    border-top: none !important;
  }
  .parking iframe {
    height: 300px;
  }
  .parkingPhoto {
    width: 100%;
    margin-top: 30px;
  }
  .parkingPhoto img {
    width: 100%;
    height: auto;
  }
  /* 分割
------------------------------------------------------------*/
  .col2 .img, .col3 .img, .col4 .img {
    margin: 0 0 20px 0;
    padding: 30px;
  }
  .col2 li, .col3 li, .col4 li {
    line-height: 1.7;
  }
  .col2 img, .col3 img, .col4 img {
    margin: 0 auto;
  }
  /* Breadcrumb
----------------------------------------------------------------------------- */
  .breadcrumb {
    font-size: .95em;
    overflow: hidden;
    zoom: 1;
    width: 95%;
    margin: 0 auto 0 auto;
    padding: 15px 0 0 0;
  }
  .breadcrumb ul {
    line-height: 1.4;
    margin: 0;
  }
  .breadcrumb li {
    position: relative;
    float: left;
    margin: 0 1em 0 0;
    padding: 0 1.8em 0 0;
    list-style: none;
  }
  .breadcrumb li:after {
    position: absolute;
    top: 0;
    right: 0;
    content: ' > ';
  }
  .breadcrumb li:last-child:after {
    content: ' ';
  }
  .sideContentsTitle01 {
    font-size: .75em;
  }
  .sideContentsTitle02 {
    font-size: .85em;
  }
  .secWrapper:after, .lawyerInner:after, .sideTitleInner:after, .breadcrumb:after {
    display: block;
    visibility: hidden;
    clear: both;
    height: 0;
    content: '.';
  }
  /*img*/
  .lawyerPhoto img, .mainImgSecSp img {
    width: 100%;
    height: auto;
  }
  /*none*/
  .mainImgSec, .catchCopy {
    display: none;
  }
  .accessBox, .lawyerBox, .columnsBox, .expenseBox, .faqBox, .practiceBox, .flowBox, .linksBox, .newsBox, .sitemapBox {
    width: 95%;
    margin: 0 auto 0 auto;
    padding: 0 0 30px 0;
  }
  .lawyerProfile .date {
    float: none;
    width: 100%;
  }
  .lawyerProfile .txt {
    float: none;
    width: 100%;
  }
  .columnsInner .photo {
    width: 300px;
  }
  .columnsInner .photo img {
    width: 100%;
  }
  .columnsInner .photo_20221201 {
    width: 300px;
    margin: 0 auto;
  }
  .columnsInner .photo_20221201 img {
    width: 100%;
  }
    .columnsInner .photo_20230301 {
    width: 300px;
    margin: 0 auto;
  }
  .columnsInner .photo_20230301 img {
    width: 100%;
  }
    .columnsInner .photo_20230302 {
    width: 300px;
    margin: 0 auto;
  }
  .columnsInner .photo_20230302 img {
    width: 100%;
  }
}
.dot-text {
  padding-top: .5em;
  background-position: top left -3px;
  background-repeat: repeat-x;
  background-size: 1.1em .2em;
  background-image: -webkit-radial-gradient(.10em .10em at center center, black, black 100%, transparent);
  background-image: radial-gradient(.10em .10em at center center, black, black 100%, transparent);
}
.columns-box {
  width: 90%;
  margin: 0 auto;
  line-height: 2em;
}

.line {
    width: 100%;
    border-bottom: 1px solid #939393;
}