@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;
}

.eimoji005 {
  font-family: montserrat,sans-serif;
}

.new_goth {
  font-family: 'Noto sans JP', dnp-shuei-gothic-kin-std, sans-serif !important;
}

.new_min {
  font-family: 'Noto Serif JP', a-otf-ryumin-pr6n, serif;
}


.l-container {
  width: 100%;
  padding: 0;
}

/*.heading,
.single-heading.single-heading-with-border,
.features-detail-back-button,
.features-detail-breadcrumbs-bottom {
  padding-left: 4em;
}*/

.heading.heading-sm {
  padding-left: 0;
}


.mega-menu-inner.l-container,
footer .l-container {
  width: calc(87% + 60px);
  padding: 0 30px;
}

.contents3_2 {
  width: 100%;
  max-width: 1100px;
  margin:  auto;
  height: auto;
}

.contents5 {
  width: 100%;
  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,
.conts picture br,
.conts .movie_bt a br,
.relatebox p a br {
	display: none !important;
}

.single-heading-practices,
.tag-list {
  margin: auto;
}

.features-detail-related {
  width: 100%;
  max-width: 1000px;
  margin: 75px auto auto;
}


.bgs {
  background: url(../img/bg_common.png) no-repeat fixed right top;
}

.fadein {
  opacity : 0.1;
  transform : translate(0, 50px);
  transition : all 500ms;
}

.fadein.scrollin {
  opacity : 1;
  transform : translate(0, 0);
}




.maincont {
  position: relative;
  margin-bottom: 3em;
  /* display: flex;
  flex-flow: row wrap; */
}

.maincont.single-body p {
  display: none;
}

.maincont::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  /* left: 0; */
  z-index: 1;
  width: 20vw;
  padding-top: 65vh;
  background: linear-gradient(215deg, #13243c, #4c6689);
}


.titarea {
  padding: 6em 4em ;
  position: relative;
}

/* .titarea::before {
  content: "";
  position: absolute;
  top: 8vh;
  right: 0;
  z-index: -1;
  width: 60vw;
  padding-top: 47vh;
  background: linear-gradient(45deg, rgba(76, 102, 137, 0.60), rgba(125, 163, 201, 0.60));
} */

.titarea::after {
  content: "";
  position: absolute;
  bottom: 6vh;
  left: 0;
  /* left: 0; */
  z-index: 0;
  width: 8vw;
  padding-top: 415px;
  background: linear-gradient(45deg, rgba(76, 102, 137, 1), rgba(125, 163, 201, 0.60));
}

.mtarea {
  /* width: 100vw; */
}

.maincont .k_pic {
  /* position: absolute; */
  width: 13vw;
  margin: 2vw 4vw 2vw 2vw;
}

.maincont .k_pic img {
  width: 100%;
}

.maincont p {
  width: 15%;
  padding: 2% 3%;
  /* text-align: center; */
}

.maincont p a {}

.maincont p img {
  width: 100%;
}

.maincont .cat {
  padding: 10vw 4%;
}

.maincont .cat .main_catch {
  font-size: 4rem;
  line-height: 1.15em;
  letter-spacing: 0.15em;
  padding-bottom: 0.5em;
  color: #13243C;
  font-weight: 700;
}

.maincont .cat .main_catch span.bgg {
  font-size: 4rem;
  line-height: 1.15em;
  letter-spacing: 0.15em;
  padding-bottom: 0.5em;
  color: #13243C;
  font-weight: 700;
}

.maincont .cat .main_catch span.sml {
  font-size: 1.5rem;
  line-height: 1.15em;
  letter-spacing: 0.15em;
  padding-bottom: 1.5em;
  color: #4C6689;
}

.maincont .cat h1 {
  font-size: 2rem;
  line-height: 1.15em;
  letter-spacing: 0.15em;
  padding-bottom: 1.5em;
  color: #13243C;
}

/*==================================================
シャッ（背景色が伸びて出現）
===================================*/

/*背景色が伸びて出現（共通）*/
.bgextend{
  animation-name:bgextendAnimeBase;
  animation-duration:1s;
  animation-fill-mode:forwards;
  position: relative;
  overflow: hidden;/*　はみ出た色要素を隠す　*/
  opacity:0;
}

@keyframes bgextendAnimeBase{
  from {
    opacity:0;
  }

  to {
    opacity:1;  
}
}

/*中の要素*/
.bgappear{
  animation-name:bgextendAnimeSecond;
  animation-duration:1s;
  animation-delay: 0.6s;
  animation-fill-mode:forwards;
  opacity: 0;
}

@keyframes bgextendAnimeSecond{
  0% {
  opacity: 0;
  }
  100% {
  opacity: 1;
}
}

/*左から*/
.bgLRextend::before{
  animation-name:bgLRextendAnime;
  animation-duration:1.3s;
  animation-fill-mode:forwards;
    content: "";
    position: absolute;
    width: 83%;
    height: 100%;
    background-color: #13243C;/*伸びる背景色の設定*/
}
@keyframes bgLRextendAnime{
  0% {
    transform-origin:left;
    transform:scaleX(0);
  }
  50% {
    transform-origin:left;
    transform:scaleX(1);
  }
  50.001% {
    transform-origin:right;
  }
  100% {
    transform-origin:right;
    transform:scaleX(0);
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.bgappearTrigger,
.bgUDextendTrigger,
.bgDUextendTrigger,
.bgRLextendTrigger,
.bgLRextendTrigger{
    opacity: 0;
}







.main_co01 {
  background: #fdfdfd;
  padding: 2em 2.5em;
  position: relative;
  z-index: 1;
}

.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;
  position: relative;
}

/* #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;
  -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%;
}
 */



.conts picture {
  display: inline-block;
  padding: 6em 8em;
}

.conts picture img {
  width: 100%;
  transition: .3s ease-in-out;
}

.single-body a[target=_blank] {
  padding: 0;
}

.conts picture:hover img {
  filter: grayscale(100%);
}

.Text-Span::after {
  content: '';
  position: absolute;
  left: 0;
  top: -14px;
  width: 0%;
  height: 4px;
  background: #5bc8ac;
  z-index: -1;
  transition: all 0.8s;
}
.Text-Span.isActive::after {
  width: 100%;
}

#co01 {
  /* padding-top: 3%; */
}

.conts .tpsub {
  position: absolute;
  top: 100px;
  left: 0;
}

.conts .subc {
  color: #4C6689;
  font-size: 0.4rem;
  line-height: 1em;
  letter-spacing: 0.03em;
  font-weight: 800;
}

.conts .subc span {
  color: #fff;
  font-size: 1.3rem;
  font-weight: 200;
  line-height: 0.9em;
  letter-spacing: 0.03em;
  padding: 0.1em 0.8em;
  background: linear-gradient(45deg, #13243c, #4c6689);
}

.conts h2 {
  border: none;
  padding-top: 0;
  font-weight: 400;
}


.conts h2 span.bgc {
  color: #fff;
  font-size: 33px;
  line-height: 1.7em;
  letter-spacing: 0.1em;
  margin-bottom: 2em;
  padding: 0.1em 0.6em;
  background: linear-gradient(45deg, #13243c, #4c6689);
}

.conts h2 span.eimoji001 {
  letter-spacing: 0em;
}

.conts .btsub {
  position: absolute;
  bottom: 155px;
  right: 0;
  background: #fff;
  padding: 1.6em 2.4em;
  width: 40vw;
}

.conts .btsub p {
  color: #13243C;
  font-size: 16px;
  line-height: 1.7em;
  letter-spacing: 0.1em;
  margin: 0 auto;
  font-weight: bold;
}

.conts .movie_bt {
  width: 200px;
  margin: 5em auto auto;
  margin-right: 0;
  background: #000;
}

.conts .movie_bt a {
  display: block;
  padding: 5% 5% 5% 15%;
  font-size: 1rem;
  line-height: 1.6em;
  letter-spacing: 0.1em;
  font-weight: 800;
  color: #fff;
  position: relative;
}

.single-body a[target=_blank]::before {
  display: none;
}

.conts .movie_bt a::before {
  content: "";
  width: 10px;
  height: 10px;
  position: absolute;
  top: 24px;
  left: 9px;
  margin: auto;
  box-sizing: border-box;
  border: 5px solid transparent;
  border-left: 8px solid #fff;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.conts .movie_bt a::after {
  position: absolute;
  bottom: 4px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}

.conts .movie_bt a:hover::after {
  transform: scale(1, 1);
}

.conts h3 {
  color: #13243c;
  font-size: 2rem;
  line-height: 1.7em;
  letter-spacing: 0.1em;
  margin-bottom: 2em;
  text-align: center;
  padding: 0.1em 0.6em;
}

.conts .mvbis {
  padding: 2em 3em;
  border: solid thin #13243c;
  width: 80%;
  margin: auto;
  background: linear-gradient(45deg, #13243c, #4c6689);
}

.conts .mvbis a {
  display: inline-block;
}

.conts .mvbis a:hover {}

.conts .mvbis a p span::after {
  position: absolute;
  bottom: 4px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}

.conts .mvbis a p span:hover::after {
  transform: scale(1, 1);
}

.conts .mvbis p {
  display: none;
}

.conts .mvbis p.mvbis_p {
  display: inline-block;
  color: #fff;
  font-size: 1rem;
  line-height: 1.7em;
  letter-spacing: 0.1em;
  padding: 0.1em 0.6em;
}

.conts .mvbis p.mvbis_p span {
  color: #fff;
  font-size: 1.5rem;
  line-height: 1.7em;
  letter-spacing: 0.1em;
  position: relative;
  display: inline-block;
}

.conts .relatebox {
  border: solid thin #13243c;
  padding: 1.5em;
  margin: 5em auto auto;
  width: 83%;
}

.conts .relatebox h4 {
  font-size: 1rem;
  line-height: 1.7em;
  letter-spacing: 0.1em;
  padding: 0.1em 0.6em 0.5em;
  margin-top: auto;
}

.conts .relatebox p {
  font-size: 0.8rem;
  line-height: 1.7em;
  letter-spacing: 0.1em;
  padding: 0.1em 0.6em;
}

.conts .relatebox p a {
  color: #13243c;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease;
}

.conts .relatebox p a:hover {
  color: #4c6689;
}


.single-body h4+p {
  margin-top: auto;
}



.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: 1366px) {

/*.heading,
.single-heading.single-heading-with-border,
.features-detail-back-button,
.features-detail-breadcrumbs-bottom {
  padding-left: 6em;
}*/

.heading.heading-sm {
  padding-left: 0;
}

.single-heading.single-heading-with-border {}


.mega-menu-inner.l-container,
footer .l-container {
  width: 1246px;
}


.maincont::after {
  padding-top: 100vh;
}


.titarea::after {
  bottom: 11vh;
  padding-top: 400px;
  width: 18vh;
}

}


@media screen and (max-width: 640px) {

.not_pc {
  display: none;
}

.not_sp {
  display: block;
}

.heading {
  padding-left: 3em;
}


.single-heading.single-heading-with-border {
  padding-left: 0em;
}

.features-detail-back-button {
  padding: 0 2em;
}

.contents3_2 {
  width: 100%;
  margin:  auto;
  height: auto;
}

footer .l-container {
  width: 100%;
  padding: 0;
}

.bgs {
  min-height: 100vh;
  background-attachment: fixed;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background: url(../img/bg_common.png) no-repeat cover right top;
}


.not_h1_span {
	font-size: 3.6vw;
	line-height: 1.4em;
	letter-spacing: 0.1em;
}

.maincont .cat {
  padding: 15vw 4% 2vw;
}

.maincont .cat .main_catch {
  font-size: 10vw;
  line-height: 1.15em;
  letter-spacing: 0.15em;
  padding-bottom: 0.5em;
  color: #13243C;
  font-weight: 700;
}

.maincont .cat .main_catch span.bgg {
  font-size: 10vw;
  line-height: 1.15em;
  letter-spacing: 0.15em;
  padding-bottom: 0.5em;
  color: #13243C;
  font-weight: 700;
}

.maincont .cat .main_catch span.sml {
  font-size: 5vw;
  line-height: 1.15em;
  letter-spacing: 0.15em;
  padding-bottom: 1.5em;
  color: #4C6689;
}

.maincont .cat h1 {
  font-size: 5vw;
  line-height: 1.4em;
  letter-spacing: 0.15em;
  padding-bottom: 1.5em;
  color: #13243C;
}

.titarea {
  padding: 1em 1.8em;
  position: relative;
}

.titarea::after {
  content: "";
  position: absolute;
  bottom: -2vh;
  left: -7px;
  /* left: 0; */
  z-index:0;
  width: 20vw;
  padding-top: 155vw;
  background: linear-gradient(45deg, rgba(76, 102, 137, 1), rgba(125, 163, 201, 0.60));
}

.titarea .subt {
  color: #B2C0D7;
  font-size: 3.2vw;
  line-height: 1.7em;
  letter-spacing: 0.15em;
}

.titarea h1 {
  font-size: 6vw;
  line-height: 1.3em;
  letter-spacing: 0.15em;
  padding-bottom: 1.5em;
  color: #13243C;
  -webkit-text-stroke: 0.5px #4C6689;
  text-stroke: 0.5px #4C6689;
}

.titarea h1 span {
  font-size: 4vw;
}

.main_co01 {
  background: #fdfdfd;
  padding: 2em;
  position: relative;
  z-index: 1;
}

.titarea .main_co01 .co01_top {
  border-bottom: solid thin #C9CACA;
  padding: 0.5% 0 5%;
}

.titarea .main_co01 .co01_top h2 {
  font-weight: 600;
  font-size: 3.2vw;
  line-height: 1.7em;
  letter-spacing: 0.1em;
  padding-bottom: 0.3%;
}

.titarea .main_co01 .co01_top p {
  font-weight: 600;
  font-size: 3.2vw;
  line-height: 1.7em;
  letter-spacing: 0.1em;
}


.titarea .main_co01 .txt_anchor {
  padding: 4% 0 1%;
}

.titarea .main_co01 .txt_anchor h3 {
  color: #4C6689;
  font-size: 3.2vw;
  line-height: 1.7em;
  letter-spacing: 0.02em;
  font-weight: 800;
}

.titarea .main_co01 .txt_anchor ul {
  display: flex;
  flex-flow: row wrap;
}

.titarea .main_co01 .txt_anchor ul li {
  font-size: 3vw;
  line-height: 1.7em;
  letter-spacing: 0.1em;
  padding: 3% 0.5%;
  width: 100%;
  margin: auto 1%;
  text-align: left;
}

.titarea .main_co01 .txt_anchor ul li:nth-child(1) {
  width: 100%;
}

.titarea .main_co01 .txt_anchor ul li:nth-child(2) {
  width: 100%;
}

.titarea .main_co01 .txt_anchor ul li:nth-child(3) {
  width: 100%;
}

.titarea .main_co01 .txt_anchor ul li a {
  color: #4C6689;
  font-weight: bold;
  position: relative;
  display: inline-block;
  text-decoration: underline;
}


/* .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;
  -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;
}
 */

.conts {
  padding: 9% 0.5% 9%;
  border-bottom: solid thin #C9CACA;
  position: relative;
}

.conts picture {
  display: inline-block;
  padding: 5em 0.5em 9.5em;
}

/* #co03 picture {
  display: inline-block;
  padding: 6em 0.5em 16em;
} */

.conts picture img {
  width: 100%;
}

.conts .tpsub {
  position: absolute;
  top: 5.2em;
  left: 0;
}

.conts .subc span {
  color: #fff;
  font-size: 4vw;
  font-weight: 200;
  line-height: 0.9em;
  letter-spacing: 0.03em;
  padding: 0.1em 0.8em;
  background: linear-gradient(45deg, #13243c, #4c6689);
}

.conts h2 span.bgc {
  color: #fff;
  font-size: 4.5vw;
  line-height: 1.7em;
  letter-spacing: 0.03em;
  margin-bottom: 2em;
  padding: 0.1em 0.6em;
  background: linear-gradient(45deg, #13243c, #4c6689);
}

.conts .btsub {
  position: absolute;
  bottom: 7em;
  right: 0;
  background: #fff;
  padding: 1.2em 1.5em;
  width: 80%;
}

/* #co03 .btsub {
  position: absolute;
  bottom: 8.5em;
  right: 0;
  background: #fff;
  padding: 2.2em 1.5em;
  width: 80%;
} */

.conts .btsub p {
  color: #13243C;
  font-size: 3.3vw;
  line-height: 1.7em;
  letter-spacing: 0.1em;
  margin: 0 auto;
  font-weight: bold;
}

.conts .movie_bt {
  width: 40vw;
  margin: 1em auto auto;
  margin-right: 0;
  background: #000;
}

.conts .movie_bt a {
  display: block;
  padding: 5% 5% 5% 15%;
  font-size: 3.6vw;
  line-height: 1.6em;
  letter-spacing: 0.1em;
  font-weight: 800;
  color: #fff;
  text-align: center;
  position: relative;
}

.conts .movie_bt a::before {
  content: "";
  width: 10px;
  height: 10px;
  position: absolute;
  top: 18px;
  left: 9px;
  margin: auto;
  box-sizing: border-box;
  border: 5px solid transparent;
  border-left: 8px solid #fff;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.conts .movie_bt a::after {
  position: absolute;
  bottom: 4px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}

.conts .movie_bt a:hover::after {
  transform: scale(1, 1);
}

.conts h3 {
  color: #13243c;
  font-size: 5vw;
  line-height: 1.7em;
  letter-spacing: 0.1em;
  margin-bottom: 2em;
  text-align: center;
  padding: 0.1em 0.6em;
}

.conts .mvbis {
  padding: 2em;
  border: solid thin #13243c;
  width: 80%;
  margin: auto;
  background: linear-gradient(45deg, #13243c, #4c6689);
}

.conts .mvbis a {
  display: inline-block;
}

.conts .mvbis a:hover {}

.conts .mvbis a p.mvbis_p span::after {
  position: absolute;
  bottom: 4px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}

.conts .mvbis a p.mvbis_p span:hover::after {
  transform: scale(1, 1);
}

.conts .mvbis p.mvbis_p {
  color: #fff;
  font-size: 3.4vw;
  line-height: 1.7em;
  letter-spacing: 0.1em;
  padding: 0.1em 0.6em;
}

.conts .mvbis p.mvbis_p span {
  color: #fff;
  font-size: 4.4vw;
  line-height: 1.7em;
  letter-spacing: 0.1em;
  position: relative;
  display: inline-block;
}

.conts .relatebox h4 {
  font-size: 4.5vw;
}

.conts .relatebox p {
  font-size: 3vw;
}


.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;
}


}