@charset "utf-8";

.not_pc {
  display: block;
}

.not_sp {
  display: none;
}

.eimoji001 {
  font-family: gill-sans-nova, sans-serif;
}

.eimoji002 {
  font-family: gill-sans-nova-condensed, sans-serif;
}

.eimoji003 {
  font-family: linotype-didot, serif;
}

.eimoji004 {
  font-family: linotype-didot-headline, serif;
}

.new_goth {
  font-family: 'Noto sans JP', dnp-shuei-gothic-kin-std, sans-serif !important;
}

.contents3_2 {
  width: 100%;
  max-width: 1100px;
  margin:  auto;
  height: auto;
}

.not_ppp_red {
	color: #a70b0b !important;
	font-weight: 600 !important;
}

.not_h1_span {
	font-size: 16px;
	line-height: 1.4em;
	letter-spacing: 0.1em;
}

.not_mainimg {
	margin: 1em auto 2em;
}

.not_mainimg br,
.main_co01 .co01_top h2 br,
.main_co01 .txt_anchor ul li a br {
	display: none !important;
}


.main_co01 {
  background: #fdfdfd;
  padding: 2em 2.5em;
}

.main_co01 .co01_top {
  border-bottom: solid thin #C9CACA;
  padding: 0.5% 0 2%;
}

.main_co01 .co01_top h2 {
  font-weight: 600;
  font-size: 14px;
  line-height: 1.7em;
  letter-spacing: 0.1em;
  padding-bottom: 1%;
  padding-top: 0;
  border: none;
}

.main_co01 .co01_top p {
  font-weight: 600;
  font-size: 14px;
  line-height: 1.7em;
  letter-spacing: 0.1em;
}

.single-body h2+p,
.single-body p+p,
.single-body p  {
	margin-top: auto;
}

.main_co01 .txt_anchor {
  padding: 1% 0 1%;
}

.main_co01 .txt_anchor h3 {
  color: #4C6689;
  font-size: 14px;
  line-height: 1.7em;
  letter-spacing: 0.02em;
  font-weight: 600;
  padding-bottom: 1%;
  padding-top: 0.7em;
}

.main_co01 .txt_anchor ul {
  display: flex;
  flex-flow: row wrap;
}

.main_co01 .txt_anchor ul li {
  font-size: 14px;
  line-height: 1.7em;
  letter-spacing: 0.1em;
  padding: 0.5% 0.5%;
  width: 32%;
  margin: auto 1%;
  text-align: left;
}

.main_co01 .txt_anchor ul.eng_lang li:nth-child(1),
.main_co01 .txt_anchor ul.eng_lang li:nth-child(2),
.main_co01 .txt_anchor ul.eng_lang li:nth-child(3) {
  width: 46%;
}

.main_co01 .txt_anchor ul li:nth-child(2) {
  width: 32%;
}

.main_co01 .txt_anchor ul li:nth-child(3) {
  width: 28%;
}

.main_co01 .txt_anchor ul li a {
  color: #4C6689;
  font-weight: 600;
  position: relative;
  display: inline-block;
  text-decoration: none;
}

.main_co01 .txt_anchor ul li a::before {
  content: "";
  width: 10px;
  height: 10px;
  position: absolute;
  top: 9px;
  left: -11px;
  margin: auto;
  box-sizing: border-box;
  border: 5px solid transparent;
  border-left: 8px solid #4C6689;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.main_co01 .txt_anchor ul li a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #4C6689;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}

.main_co01 .txt_anchor ul li a:hover::after {
  transform: scale(1, 1);
}




.conts {
  padding: 5% 0.5% 5%;
  border-bottom: solid thin #C9CACA;
}

#co01 {
  padding-top: 7%;
}

.conts .subc {
  color: #4C6689;
  font-size: 0.4rem;
  line-height: 1em;
  letter-spacing: 0.03em;
  font-weight: 800;
}

.conts .subc span {
  color: rgb(231,236,240,0);
  -webkit-text-stroke: 1px #4C6689;
  text-stroke: 1px #4C6689;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 0.9em;
  letter-spacing: 0.03em;
}

.conts h2 {
  color: #4C6689;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.7em;
  letter-spacing: 0.1em;
  margin-bottom: 2em;
  padding-top: 0.3em;
  border: none;
}

.conts dl {
  display: flex;
  flex-flow: row wrap;
  /* justify-content: space-around; */
  -webkit-align-items: flex-start;
  -ms-align-items: flex-start;
  align-items: flex-start;
  margin-bottom: 4.5em;
  padding: 0;
  margin-top: auto;
}

.conts dl.eng_lang {
  display: block;
}

.conts dl dt {
  color: #323333;
  font-size: 14px;
  line-height: 1.7em;
  letter-spacing: 0.1em;
  width: 5.5%;
  margin: 0 auto;
  font-weight: bold;
}

.conts dl.eng_lang dt {
  width: 100%;
  font-size: 0.95rem;
}

.conts dl dd {
  color: #13243C;
  font-size: 14px;
  line-height: 1.9em;
  letter-spacing: 0.1em;
  width: 94.5%;
  margin: auto;
}

.conts dl.eng_lang dd {
  font-size: 16px;
}

.conts picture {
  display: block;
  width: 75%;
  margin: 2.5em auto;
  text-align: center;
}

.conts picture img {
  width: 100%;
}



.lawyer_box {}

.lawyer_box h3 {
  color: #4C6689;
  font-size: 1.5rem;
  line-height: 1.7em;
  letter-spacing: 0.03em;
  margin: 1em auto;
  text-align: center;
  font-weight: 800;
}

.lawyer_box .lwbox {
  display: flex;
  flex-flow: row wrap;
  max-width: 1000px;
  margin: auto;
}

.lawyer_box .lwbox .namebox {
  width: 42%;
  margin: auto;
  background: #EFEFEF;
  padding: 1.5em;
  display: inline-block;
  transition: all .6s ease-in-out;
}

.lawyer_box .lwbox .namebox a {
  display: flex;
  flex-flow: row wrap;
}

.lawyer_box .lwbox .namebox:hover {
  box-shadow: 5px 5px 15px rgba(37, 53, 90,.3);
}

.lawyer_box .lwbox .namebox picture {
  display: block;
  width: 46%;
}

.lawyer_box .lwbox .namebox picture img {
  width: 100%;
}

.lawyer_box .lwbox .namebox .nb {
  width: 37%;
  margin: auto;
}

.lawyer_box .lwbox .namebox .nb.eng_lang {
  width: 44.5%;
  margin: auto 1em auto auto;
}

.lawyer_box .lwbox .namebox .nb .yakushoku {
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1.7em;
}

.lawyer_box .lwbox .namebox .nb h4 {
  font-size: 23px;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  color: #13243C;
  padding: 0;
  margin-top: auto;
}

.lawyer_box .lwbox .namebox .nb.eng_lang h4 {
  font-size: 1.3rem;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  color: #13243C;
}

.single-body h4::before {
	display: none;
}

.single-body img {
	margin: auto;
}

.discrime {
  border-top: solid thin #C9CACA;
  margin-top: 4em;
}

.discrime p {
  color: #13243C;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  margin: 2em auto;
  padding: 2em 2em;
}



@media screen and (max-width: 640px) {

.not_pc {
  display: none;
}

.not_sp {
  display: block;
}

.contents3_2 {
  width: 90%;
  margin:  auto 5%;
  height: auto;
}


.not_h1_span {
	font-size: 3.6vw;
	line-height: 1.4em;
	letter-spacing: 0.1em;
}


.main_co01 {
	padding: 1.5em;
}

.main_co01 .co01_top {
  border-bottom: solid thin #C9CACA;
  padding: 0.5% 0 5%;
}

.main_co01 .co01_top h2 {
  font-weight: 600;
  font-size: 3.4vw;
  line-height: 1.7em;
  letter-spacing: 0.1em;
  padding-bottom: 0.3%;
}

.main_co01 .co01_top p {
  font-weight: 600;
  font-size: 3.4vw;
  line-height: 1.7em;
  letter-spacing: 0.1em;
}


.main_co01 .txt_anchor {
  padding: 4% 0 1%;
}

.main_co01 .txt_anchor h3 {
  color: #4C6689;
  font-size: 3.2vw;
  line-height: 1.7em;
  letter-spacing: 0.02em;
  font-weight: 800;
}

.main_co01 .txt_anchor ul {
  display: flex;
  flex-flow: row wrap;
}

.main_co01 .txt_anchor ul li {
  font-size: 3.2vw;
  line-height: 1.7em;
  letter-spacing: 0.1em;
  padding: 3% 0.5%;
  width: 100%;
  margin: auto 1%;
  text-align: left;
}

.main_co01 .txt_anchor ul li:nth-child(2) {
  width: 100%;
}

.main_co01 .txt_anchor ul li:nth-child(3) {
  width: 100%;
}

.main_co01 .txt_anchor ul.eng_lang li:nth-child(1),
.main_co01 .txt_anchor ul.eng_lang li:nth-child(2),
.main_co01 .txt_anchor ul.eng_lang li:nth-child(3) {
  width: 100%;
}

.main_co01 .txt_anchor ul li a {
  color: #4C6689;
  font-weight: 600;
  position: relative;
  display: inline-block;
  text-decoration: underline;
}


.conts {
  padding: 5% 0.5% 5%;
  border-bottom: solid thin #C9CACA;
}

#co01 {
  padding-top: 6vh;
}

.conts .subc {
  color: #4C6689;
  font-size: 2vw;
  line-height: 1em;
  letter-spacing: 0.03em;
  font-weight: 800;
}

.conts .subc span {
  -webkit-text-stroke: 1px #4C6689;
  text-stroke: 1px #4C6689;
  font-size: 10vw;
  font-weight: 700;
  line-height: 0.9em;
  letter-spacing: 0.03em;
}

.conts h2 {
  color: #4C6689;
  -webkit-text-stroke: 0.5px #4C6689;
  text-stroke: 0.5px #4C6689;
  font-size: 6vw;
  font-weight: 600;
  line-height: 1.7em;
  letter-spacing: 0.08em;
  margin-bottom: 2em;
  padding-top: 0.3em;
}

.conts.eng_lang h2 {
  font-size: 5vw;
}

.conts dl {
  display: flex;
  flex-flow: row wrap;
  /* justify-content: space-around; */
  -webkit-align-items: flex-start;
  -ms-align-items: flex-start;
  align-items: flex-start;
  margin-bottom: 2.5em;
}

.conts dl dt {
  color: #323333;
  font-size: 3.4vw;
  line-height: 1.7em;
  letter-spacing: 0.1em;
  width: 100%;
  margin: 0 auto;
  font-weight: bold;
}

.conts dl dd {
  color: #13243C;
  font-size: 3.4vw;
  line-height: 1.9em;
  letter-spacing: 0.1em;
  width: 96%;
  margin: auto auto auto 4%;
}

.conts.eng_lang dl dt,
.conts.eng_lang dl dd {
  font-size: 3.4vw;
}

.single-body dd {
	padding: 0;
}

.conts picture {
  display: block;
  width: 90%;
  margin: 2.5em auto;
  text-align: center;
}



.lawyer_box h3 {
  color: #4C6689;
  font-size: 4vw;
  line-height: 1.7em;
  letter-spacing: 0.03em;
  margin: 1em auto;
  text-align: center;
  font-weight: 800;
}

.lawyer_box .lwbox {
  display: flex;
  flex-flow: row wrap;
  margin: auto;
}

.lawyer_box .lwbox .namebox {
  width: 94%;
  margin: 4% auto;
  background: #EFEFEF;
  padding: 1.5em;
  display: inline-block;
  transition: all .6s ease-in-out;
}

.lawyer_box .lwbox .namebox a {
  display: flex;
  flex-flow: row wrap;
}

.lawyer_box .lwbox .namebox:hover {
  box-shadow: 5px 5px 15px rgba(37, 53, 90,.3);
}

.lawyer_box .lwbox .namebox picture {
  display: block;
  width: 46%;
}

.lawyer_box .lwbox .namebox picture img {
  width: 100%;
}

.lawyer_box .lwbox .namebox .nb {
  width: 41%;
  margin: auto;
}

.lawyer_box .lwbox .namebox .nb .yakushoku {
  font-size: 3.4vw;
  letter-spacing: 0.1em;
  line-height: 1.7em;
}

.lawyer_box .lwbox .namebox .nb h4 {
  font-size: 5vw;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  color: #13243C;
}

.lawyer_box .lwbox .namebox .nb.eng_lang h4 {
  font-size: 3.8vw;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  color: #13243C;
}

.discrime {
  border-top: solid thin #C9CACA;
  margin-top: 4em;
}

.discrime p {
  color: #13243C;
  font-size: 3vw;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  margin: 2em auto;
  padding: 2em 2em;
}


}