@charset "UTF-8";
/* ===================================================================
for all
====================================================================== */

/* =================================== common */

#juris_btn_zone{position: relative; margin-top: 20px;}
#juris_btn_zone a{transition:0.3s;}
#juris_btn_zone a.hover{opacity:0.8;}

#juris_btn_zone_sp {line-height: 0;}

.m-top-banner {
  position: relative;
  margin-top: 20px;
  line-height: 0;
}
  .m-top-banner a { transition: 0.3s; }
  .m-top-banner a:hover { opacity: 0.8; }
  .m-top-banner.sp { margin-top: 0; }

#asideNav .sites { padding: 20px 20px 10px;}
#asideNav .sites li + li{margin-top:1px;}
/*#asideNav .sites img{ max-width:100%;}*/
#asideNav .sites li a:hover{opacity:0.7;}
#asideNav img.juristerra{display: none;}
#asideNav .sites li.houka { margin-bottom:4px; }

#asideNav.juristerra_c_juristerra_c ~ #footer .inner{display: none;}

@media only screen and (min-width: 861px)  {
#asideNav.juristerra_juristerra ~ #header {background-color: #fff;}
#asideNav.juristerra_juristerra ~ #header ul.pc{display: none;}
#asideNav.juristerra_juristerra ~ #header #menuToggle {display: none !important;}
#asideNav.juristerra_juristerra img.juristerra{display: inline-block; position: absolute; top: 0;left: 100%; }

#asideNav.juristerra_c_juristerra_c ~ #header {background-color: #fff;}
#asideNav.juristerra_c_juristerra_c ~ #header ul.pc{display: none;}
#asideNav.juristerra_c_juristerra_c ~ #header #menuToggle {display: none !important;}
#asideNav.juristerra_c_juristerra_c img.juristerra{display: inline-block; position: absolute; top: 0;left: 100%; }
.contentsInner.juristerra2 .p2 br{display: none;}

}

.contentsInner.juristerra{padding: 0; text-align: center; margin: 0 auto 0; background-color: #fff;}
.contentsInner.juristerra .bg_white{ background-color:#fff; padding-bottom: 60px;}
.contentsInner.juristerra .bg_white a:hover{opacity:0.8;}
.contentsInner.juristerra+*{display: none;}




.contentsInner.juristerra2 .bg{background-image: url(/common/img/juristerra2/bg.jpg); background-size: cover; padding: 40px 30px 20px;}
.contentsInner.juristerra2 .bg img{max-width: 100%;}
.contentsInner.juristerra2 .div1{margin-bottom: 20px;}
.contentsInner.juristerra2 .div2{margin-bottom: 5px;}
.contentsInner.juristerra2 .div3{margin-bottom: 30px;}
.contentsInner.juristerra2 .div4{margin-bottom: 30px;}
.contentsInner.juristerra2 .div5{margin: 23px 0 20px;}
.contentsInner.juristerra2 .div6{margin-bottom: 20px;}
.contentsInner.juristerra2 .div7{}
.contentsInner.juristerra2 p{color: #fff;}
.contentsInner.juristerra2 .p1{margin-bottom: 40px; width: 787px; font-size: 18px;max-width: 90%; text-align: justify; display: inline-block; line-height: 1.5;}
.contentsInner.juristerra2 .p2{font-size: 120%; font-weight: bold; border-top:1px solid; border-bottom: 1px solid; padding: 8px 0; display: inline-block;}


@media only screen and (max-width: 640px){
	.contentsInner.juristerra a img {
		 max-width: 70%;
	}

	.contentsInner.juristerra2 .bg{padding: 6%;}
	.contentsInner.juristerra2 .div1{margin-bottom: 5%;}
	.contentsInner.juristerra2 .div2{margin-bottom: 3%;}
	.contentsInner.juristerra2 .div3{margin-bottom: 5%;}
	.contentsInner.juristerra2 .div4{margin-bottom: 5%;}
	.contentsInner.juristerra2 .div5{margin: 3%;}
	.contentsInner.juristerra2 .div6{margin-bottom: 4%;}
	.contentsInner.juristerra2 .p1{max-width: 100%; font-size: 100%; margin-bottom: 7%;}
	.contentsInner.juristerra2 .p2{font-size: 100%;}
}



#go_to_top{display:none;position: absolute;top: 58px;right: 0;}
#go_to_top a:hover img{opacity:0.8;}
@media only screen and (min-width: 861px)  {
#go_to_top{display:inline;}
#mv .slider03 .mvBtn a{left:457px;top:5px;}
#mv .slider05 .mvBtn a{left:420px;top:15px;}
#mv .slider05 .mvBtn a:hover{opacity:0.7;}
#mv .slider08 .mvBtn a{left:635px;top:10px;}
}

.ruby_target{position: relative;}
.ruby_target .ruby{position: absolute; font-size: 50%; bottom: 85%; left: -25%;right: -25%; text-align: center; line-height: 1;}
@media only screen and (max-width: 640px){.ruby_target .ruby{bottom: 87%;}}

body {
  font-size: 16px;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  background-color: #fff;
  min-width:1000px;
  letter-spacing: 0;
  line-height: 1.3;
  color:#102a39;
  margin:0;
  padding:0;
  -webkit-text-size-adjust: 100%;
  background: #efefef;
  position: relative;
}
::selection{
  background: #548497;
  color: #fff;
}
a {
  color:#102a39;
  text-decoration: none;
  transition: color,background ease 0.3s;
}
a.hover {
  color:#102a39;
}
a.blue {
  color: #00A0E9;
  text-decoration: underline;
}
a.blue.hover {
  text-decoration: none;
}
.column3 > div {
  display: inline-block;
}
.cvWrap .comment {
  background: url(../img/index/bg_cv_comment.png) center no-repeat;
  text-indent: -9999px;
  margin: 50px auto 20px;
  position: relative;
  left:10px;
}
.contentsInner {
  width: 1000px;
  margin: 0 auto;
  padding: 0px 0px 0px 260px;
  box-sizing: border-box;
  position: relative;
  /*transition: all ease 0.5s;*/
}

.top_note_image_wrapper{
  padding-bottom: 16px;
  transition: all 0.4s ease;
}

.top_note_image_wrapper:hover{
  opacity: 0.5;
}

/*--.sp_top_btn--*/
.sp_top_btn{
  width: 94%;
  margin-left: auto;
  margin-right: auto;
  background-size: 100% 100% ;
  padding: 8px 0;
  text-align: center;

  padding-top: 8px;
  background-image:url(../img/index/top_btn_bg_191122_2.jpg);
  border: 3px solid #0f2a3a;
  box-sizing: border-box;
}
.sp_top_btn img{width: 80%;}
.sp_top_btn.sp.is_page_bottom {
  margin: 16px auto;
  width: 100%;
}
.sp_top_btn.sp a img.sp_top_button{
  margin-bottom: 12px;
}

.sp_top_btn .big{
  color:#112e3b;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 1em;
  padding: 12px 21px 0;
}
.sp_top_btn .big.lower_line{
  padding: 7px 28px 0px;
}
.sp_top_btn .big a img.sp_top_button{
  margin-bottom: 16px;
}
.sp_top_btn .red{color:#cd3333; font-size: 12px; margin-bottom: 1%;}

.sp_top_btn .sp_top_btn1{ display: inline-block; margin-bottom: 3%;}

/*--.top_btn--*/
.top_btn{
  background-size: 100% 100% ;
  height: 370px;
  background-image:url(../img/index/top_btn_bg_191122_2.jpg);
  border: 3px solid #0f2a3a;
  box-sizing: border-box;
  padding-top: 0;

}
.top_btn .big{
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  padding-top: 20px;
  margin-bottom: -2px;
}

.top_btn .big.lower_line{
  margin-top: 8px;
  margin-bottom: 16px;
}
.top_btn.pc.is_page_bottom {
  margin-bottom: 80px;
  background-image: url(../img/index/top_btn_bg.png);
  height: 212px;
}
.top_btn.pc.is_page_bottom .big{
  margin-bottom: 16px;
}
.top_btn ul{text-align: center;}
.top_btn ul:after{content:""; display: block; clear: both;}
.top_btn ul li{ display: inline-block;}
.top_btn ul li:first-child{padding-right: 10px;}
.top_btn ul li+li{padding-left: 10px;}
.top_btn ul li>img{margin-bottom: 12px;}

.top_btn ul li a img{
  transition-duration: 0.2s;
  -webkit-transform: translateZ(0) scale(1.0, 1.0);
}

.top_btn ul li a img:hover{
  transform:scale3d(1.05,1.05,1);
}

.mb5px { margin-bottom:5px;}
.mb10px {margin-bottom:10px;}
.mb15px {margin-bottom:15px;}
.mb20px {margin-bottom:20px;}
.mb25px {margin-bottom:25px;}
.mb30px {margin-bottom:30px;}
.mb35px {margin-bottom:35px;}
.mb40px {margin-bottom:40px;}
.mb45px {margin-bottom:45px;}
.mb50px {margin-bottom:50px;}
.mb55px {margin-bottom:55px;}
.mb60px {margin-bottom:60px;}
.mb65px {margin-bottom:65px;}
.mb70px {margin-bottom:70px;}
.mb75px {margin-bottom:75px;}
.mb80px {margin-bottom:80px;}


/* =================================== #asideNav */

#asideNav {
  width: 1000px;
  text-align: center;
  z-index: 102;
  margin: 0 auto;
  position: absolute;
  left: 0;
  right: 0;
  transition: left ease 0.3s;
  height: 0;
}

#asideNav ul.access_partener{
	text-align: left;
	padding-left:20px;
}

@media only screen and (min-width: 861px)  {
  #asideNav {
    transition: none;
  }
}

#asideNav .inner{
  width: 240px;
  background-color: #102a39;
  position: fixed;
  top:0;
}
/*#asideNav .inner{
position: absolute;
}*/
/* =================================== #asideNav #gnav */

#asideNav #gnav {
  text-align: left;
}
#asideNav #gnav a {
  color: #FFF;
  padding:13px 20px;
  border-bottom: 1px solid #aaa;
  display: inline-block;
  width: 100%;
  box-sizing:border-box;
  background-color: #102a39;
  font-size: 15px;
}
#asideNav.index #gnav .gnav01 > a,
#asideNav.company #gnav .gnav02 > a,
#asideNav.service #gnav .gnav03 > a,
#asideNav.attorneys #gnav .gnav04 > a,
#asideNav.mylife #gnav .gnav05 > a,
#asideNav.qa #gnav .gnav06 > a,
#asideNav.contact #gnav .gnav07 > a,
#asideNav.map #gnav .gnav08 > a,
#asideNav #gnav a.hover {
  background-color: #c33;
}
#asideNav #gnav li a {
  background-image: url(../img/common/icon_navi_arrow.png);
  background-position: 95% 50%;
  background-repeat: no-repeat;
  background-size: 7px 12px;
  transition: padding ease 0.3s;
}
#asideNav #gnav .gnav00 {
  background-color: #FFF;
}
#asideNav #gnav .gnav00 a {
  border-bottom: none;
  background-color: #FFF;
  text-align: center;
  padding: 0;
}
#asideNav #gnav .gnav00.hover a{
  background-color: #FFF;
}
#asideNav #gnav .gnav00.hover a img{
  opacity: 0.8;
}
#asideNav #gnav .gnav00.hover {
  border-bottom: 0;
}
/* =================================== #asideNav others style */
#asideNav .sideSpBtn {
  margin: 20px auto 0;
}
#asideNav .sideSpBtn img {
  margin: 0;
  vertical-align: bottom;
}
#asideNav .sideSpBtn li {
  margin: 0 0 20px;
}
#asideNav .sideBtn {
  margin-top:5px;
}
#asideNav .sideBtn li{
  display: inline-block;
  margin-right: 35px;
}
#asideNav .sideBtn li.last{
  margin-right: 0px;
}
#asideNav .sideBtn a{
  display: inline-block;
  color: #FFF;
  font-size: 11px;
}
#asideNav .sideBtn a:before{
  content: "";
  display: inline-block;
  background: #fff url(../img/common/icon_arrow_off.png) center no-repeat;
  width: 13px;
  height: 13px;
  border-radius: 20px;
  position: relative;
  top:2px;
  margin-right: 5px;
  transition: background ease 0.3s;
}
#asideNav.recruit .sideBtn li:nth-child(2) a:before,
#asideNav.map .sideBtn li:first-child a:before,
#asideNav .sideBtn a.hover:before{
  background: #c33 url(../img/common/icon_arrow_on.png) center no-repeat;
}
#asideNav .sns li {
  margin:5px 0 0;
  display: inline-block;
}
#asideNav .sns li a.hover {
  opacity: 0.8;
}
#asideNav .call dl {
  color: #FFF;
  width: 200px;
  margin:0 auto;
}
#asideNav .call dt {
  font-weight: normal;
  font-size: 14px;
  margin: 10px auto 15px;
  padding-bottom:10px;
  border-bottom: 1px solid #aaa;
}
#asideNav .call dd img {
  width: 100%;
  height: auto;
}
#asideNav .call dd span {
  font-size: 11px;
  display: block;
  margin: 5px auto;
}
#asideNav .banner {
  margin-top:30px;
}
/* =================================== #header */
#header {
  width:100%;
  height: 104px;
  margin:0 auto;
  box-sizing:border-box;
  position: fixed;
  z-index: 101;
  background-color: #EFEFEF;
  border-bottom: 1px solid #aaa;
  box-shadow: 0px 5px 3px -3px rgba(0,0,0,0.1);
  -webkit-box-shadow: 0px 5px 3px -3px rgba(0,0,0,0.1);
  -moz-box-shadow: 0px 5px 3px -3px rgba(0,0,0,0.1);
  transition: height,left ease 0.5s;
  text-align: right;
}
.page #header {
  border-bottom: 4px solid #102a39;
}
.page .gnav00 {
  border-bottom: 4px solid #102a39;
  height: 100px;
}

#header .inner {
  width: 1000px;
  margin: 10px auto 20px;
  padding: 9px 0 0 20px;
}
#header ul {
	position:relative;
  text-align: right;
  display: inline-block;
}
#header li {
  display: inline-block;
}
#header li span {
  display: block;
  font-size: 12px;
  font-weight: bold;
}
#header li.asideMenu01 {
  margin-right: 14px;
  position: relative;
  top:-17px;
}
#header li.asideMenu02 {
  margin-right: 5px;
}
#header li.asideMenu04 { position:absolute; display:block; top:51px; left:0px; padding-left:32px;}
#header li.asideMenu04 .access { background: url(../img/common/head_arrow.png) no-repeat 0 1px; padding-left:12px; font-size:11px; display:inline-block;}
#header li.asideMenu04 .saiyou { background: url(../img/common/head_arrow.png) no-repeat 0 1px; padding-left:12px; font-size:11px; display:inline-block; margin-left:14px;}

/* =================================== #menuToggle */
#menuToggle {
  width:40px;
  display: inline-block;
  box-sizing:border-box;
  margin-right:30px;
  position: relative;
  top:-4px;
  left:-1000px;
  cursor: pointer;
}
#menuToggle .border {
  width: 100%;
  height: 3px;
  background: #ddd;
  margin-top:10px;
  transition: background ease 0.5s;
}
#menuToggle .border.border01 {
  margin-top:5px;
}
#menuToggle .noBorder {
  margin:8px auto 0;
  text-align: center;
  font-weight: bold;
  font-size: 9px;
  transition: color ease 0.3s;
  color: #ddd;
}
#menuToggle.hover .border {
  background: #c33;
}
#menuToggle.hover .noBorder {
  color: #c33;
}

/* =================================== #contentsInnerWrap */


/* =================================== #contentsWrap */

#contentsWrap {
  /*display: none;*/
  width:100%;
  position: relative;
  top:104px;
  /*transition: all ease 0.5s;*/
}

/* =================================== #mv */


#mv {
  width: 100%;
  height: 360px;
  margin:0 auto;
  overflow: hidden;
  position: relative;
  /*transition: all ease 0.5s;*/
}
#mv .slider {
  background-repeat: no-repeat;
  background-position: center ;
  height: 360px;
  width: 100%;
  position: relative;
}

#mv .slick-slide img{
  width: 100%;
  height: auto;
}

#mv .slider01 {
  background-image: url(../img/index/img_mv_01_pc.jpg);
}

#mv .y2016 .slider01 {
  background-image: url(../img/index/img_mv_01_2017_pc.jpg);
}

#mv .slider02 {
  background-image: url(../img/index/img_mv_02_pc.jpg);
}
#mv .slider03 {
  background-image: url(../img/index/img_mv_03_pc.jpg);
}
#mv .slider04 {
  background-image: url(../img/index/img_mv_04_pc.jpg);
}
#mv .slider05 {
  background-image: url(../img/index/recaius_bg.jpg);
}
#mv .slider06 {
  background-image: url(../img/index/img_mv_05_pc02.png);
}
#mv .slider07 {
  background-image: url(../img/index/slider_image_houmu.jpg);
}

#mv .slider08 {
  background-image: url(../img/index/pc_friend_bn.png);
}

#mv .mvBtn {
  position: absolute;
  width: 1000px;
  margin:0 auto;
  left:0;
  right:0;
  height: 63px;
  bottom:50px;
}
#mv .mvBtn a{
  position: absolute;
  left:290px;
}

#mv .slider02 .mvBtn {
  height: 63px;
  bottom:20px;
}
#mv .slider02 .mvBtn a{
  position: absolute;
  left:470px;
  padding: 10px 50px 13px;
  border: 1px solid #fff;
  background: rgba(255,255,255,0.5);
}

#mv .slider04 .mvBtn {
	bottom:22px;
}


#mv .slider04 .mvBtn a{
  left:635px;
  transition:0.3s;
}

#mv .slider04 .mvBtn a.hover{opacity:0.8;}


#mv .slider02 .mvBtn a.hover{
  background: rgba(255,255,255,1);
}
#mv .slider02 .mvBtn a:after{
  content: "";
  display: inline-block;
  background: url(../img/index/icon_arrow_mv02.png) no-repeat center right;
  position: relative;
  top:4px;
  right:-30px;
  width: 16px;
  height: 20px;
}

#mv .slider06 .mvBtn {
  height: 63px;
  bottom:20px;
}
#mv .slider06 .mvBtn a{
  position: absolute;
  left:520px;
  padding: 10px 50px 13px;
  border: 1px solid #a00c00;
  background: rgba(255,255,255,0.5);
}
#mv .slider06 .mvBtn a.hover{
  background: rgba(160, 12, 0, 0.2);
}
#mv .slider06 .mvBtn a:after{
  content: "";
  display: inline-block;
  background: url(../img/index/icon_arrow_mv02.png) no-repeat center right;
  position: relative;
  top:4px;
  right:-30px;
  width: 16px;
  height: 20px;
}

#mv .slider07 .mvBtn {
  height: 63px;
  bottom:20px;
}
#mv .slider07 .mvBtn a{
  position: absolute;
  left:520px;
  padding: 10px 50px 13px;
  border: 1px solid #d39400;
  background: rgba(255,255,255,0.5);
}
#mv .slider07 .mvBtn a.hover{
  background: rgba(211, 148, 0, 0.2);
}
#mv .slider07 .mvBtn a:after{
  content: "";
  display: inline-block;
  background: url(../img/index/icon_arrow_mv03.png) no-repeat center right;
  position: relative;
  top:4px;
  right:-30px;
  width: 16px;
  height: 20px;
}
#mv .slider02 .facebook {
  position: absolute;
  width: 1000px;
  margin:0 auto;
  left:0;
  right:0;
  height: 63px;
  bottom:50px;
}
#mv .facebook a{
  position: absolute;
  right:5px;
  bottom:240px;
}
#mv .slick-dots {
  position: relative;
  text-align: center;
  top:-25px;
  left: 140px;
}
#mv .slick-dots li {
  display: inline-block;
}
#mv .slick-dots button {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  border: 1px solid #fff;
  background: #626262;
  text-indent: -9999px;
  cursor: pointer;
  margin-right: 10px;
  outline:none;
}

#mv .slick-dots li.slick-active button {
  background: #c33;
}
#mv .slick-dots li:last-child button {
  margin-right: 0;
}
#mv #mvSlider > button {
  position: absolute;
  width: 1000px;
  margin:0 auto;
  left:0;
  right:0;
  bottom:20px;
  width: 33px;
  height: 33px;
  text-indent: -9999px;
  cursor: pointer;
  outline: none;
  z-index: 10;
}
#mv #mvSlider > button.slick-prev{
  left:-487px;
  background: rgba(255,255,255,0.5) url(../img/index/icon_arrow_mv_prev.png) no-repeat center;
  transition: background 0.3s ease;
}
#mv #mvSlider > button.slick-next{
  right:-962px;
  background: rgba(255,255,255,0.5) url(../img/index/icon_arrow_mv_next.png) no-repeat center;
  transition: background 0.3s ease;
}
#mv #mvSlider > button.slick-prev.hover{
  left:-487px;
  background: rgba(255,255,255,0.8) url(../img/index/icon_arrow_mv_prev.png) no-repeat center;
}
#mv #mvSlider > button.slick-next.hover{
  right:-962px;
  background: rgba(255,255,255,0.8) url(../img/index/icon_arrow_mv_next.png) no-repeat center;
}
/* =================================== #contentsInner */
#contentsInner {
  width:1000px;
  margin:0 auto;
  padding:20px 0px 0px 260px;
  box-sizing:border-box;
  position: relative;
  /*transition: all ease 0.5s;*/
}
#contentsInner > section{
  margin: 20px auto 30px;
  box-shadow:rgba(0, 0, 0, 0.02) 1px 1px 0px 2px;
}
/* =================================== .categoryNav */
#contentsInner .categoryNav{
  margin:10px auto 30px;
  box-shadow:none;
}
.categoryNav li a {
  width:24%;
  display: block;
  background: #fff;
  text-align: center;
  box-sizing:border-box;
  margin-right: 9px;
  position: relative;
  box-shadow:rgba(0, 0, 0, 0.02) 1px 1px 0px 2px;
  float:left;
  box-shadow:rgba(0, 0, 0, 0.02) 1px 1px 0px 2px;
}
.categoryNav li a img{
  width:100%;
  height: auto;
  vertical-align: middle;
}
/*.categoryNav li a:after {
content: "";
background: url(../img/index/bg_triangle.png);
width: 20px;
height: 20px;
position: absolute;
bottom:0;
right: 0;
}*/
.categoryNav li a.hover {
  opacity: 0.8;
}
.categoryNav li.last a {
  margin-right: 0px;
}

/* =================================== .attorneysImg */
.attorneysImg {
  margin: 20px auto;
}
.attorneysImg a {
  display: inline-block;
  transition:opacity 0.3s ease;
}
.attorneysImg a.hover {
  opacity: 0.8;
}
.attorneysImg a img{
  vertical-align: bottom;
}

/* ---------- old style --------- */

/*.attorneysImg {
  margin: 20px auto;
  background: url(../img/index/img_attorys_mv_pc.jpg);
  width: 738px;
  height: 255px;
  position: relative;
}
.attorneysImg a {
  display: block;
}
.attorneysImg a.hover {
  opacity: 0.8;
}
.attorneysImg .atto_fb{
  position: absolute;
  top: 64px;
  right: 12px;
}
.attorneysImg .atto_new{
  position: absolute;
  top: 190px;
  right: 12px;
}*/
/* =================================== .spec */

.spec {
  padding:50px 20px 50px 30px;
  background: #FFF;
}
.spec h1 {
  font-size: 24px;
  font-weight: normal;
  text-align: center;
}
.spec h1 span {
  font-weight: bold;
}
.spec h1 strong {
  font-weight: bold;
  color: #c33;
}
.spec hr {
  margin:20px auto 30px;
  width: 235px;
  border-top: 2px solid #102a39;
}
.spec .column3 > div {
  width: 220px;
  margin-right: 15px;
  display: block;
  float: left;
}
.spec .column3 > div.last {
  margin-right: 0;
}
.spec .column3 img {
  box-shadow:rgba(0, 0, 0, 0.1) 10px 9px 5px -3px;
  border-radius:110px;
}
.spec h2 {
  margin-top: 10px;
  font-size: 20px;
  height: 70px;
  vertical-align: middle;
  text-align: center;
}

.spec h2 strong {
  font-size: 24px;
}
.spec p {
  margin-top:20px;
  line-height:1.5;
  font-size: 14px;
}
.spec p strong {
  color: #c33;
}

.spec p.more {
  width: 90%;
  margin:30px auto 0;
}
.spec p.more a{
  padding:10px;
  background: #FFF;
  border: 1px solid #102a39;
  text-align: center;
  display: block;
  font-weight: bold;
}
@media all and (-ms-high-contrast:none){
  .spec p.more a{
    padding-top:15px;
  }
}
.spec p.more a:after{
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url(../img/index/icon_arrow_more_off.png) right center no-repeat;
  position: relative;
  top:1px;
  left: 40px;
}
.spec p.more a.hover{
  background: #102a39;
  color: #FFF;
}
.spec p.more a.hover:after{
  background: url(../img/index/icon_arrow_more_on.png) right center no-repeat;
}
/* =================================== .cvWrap */
#contentsInner > section.cvWrap {
  padding:0;
  text-align: center;
  background: #102a39;
  background: #FFF;
  color: #FFF;
  color: #000;
  margin-top:-20px;
}
.cvWrap h1 {
  font-size: 20px;
  font-weight: normal;
  text-align: center;
  padding: 20px 0;
}
.cvWrap ul {
  width: 100%;
  display:block;
}
.cvWrap li {
  width: 45%;
  display:inline-block;
  margin: 0 1%;
}
.cvWrap li img {
  width: 100%;
  height: auto;
  display:inline-block;
}
@media only screen and (min-width: 861px) {
  .cvWrap .btnWrap {
    display:table;
    text-align: center;
    margin:0 auto;
    table-layout: fixed;
    width: 100%;
  }
  .cvWrap .btnWrap li {
    display:table-cell;
    margin: 0;
    width: 50%;
    float: none;
  }
  .cvWrap .btnWrap li:first-child {
    padding: 0 1% 0 5%;
  }
  .cvWrap .btnWrap li:last-child {
    padding: 0 5% 0 1%;
  }
}
.cvWrap .callWrap{
  text-align: center;
  padding:3% 0;
}
.cvWrap .callWrap li.call_01 {
  width: 18%;
  font-size: 14px;
  text-align: left;
  position: relative;
  top:-1px;
}
.cvWrap .callWrap li.call_02 {
  width: 40%;
}
.cvWrap .callWrap li.call_03 {
  width: 17%;
  font-size: 12px;
  text-align: left;
  position: relative;
  top:-4px;
}

/* =================================== .example */
.example {
  padding:50px 20px 50px 30px;
  text-align: center;
  background: #fff;
}
.example02 {
  padding:20px 20px 50px 30px;
  text-align: center;
  background: #fff;
}
.example hr {
  margin:20px auto 15px;
  width: 235px;
  border-top: 2px solid #102a39;
}
.example h1 {
  font-size: 24px;
  font-weight: normal;
  text-align: center;
}
.example h1 span {
  font-weight: bold;
}
.example h1 strong {
  font-weight: bold;
  color: #c33;
}

.example .story .headBox a{
  color: #FFF;
  text-align: center;
  width: 120px;
  padding:25px 20px 10px;
  border:3px solid #c33;
  display: inline-block;
  box-sizing:border-box;
  margin:10px auto;
  background: #cc3333;
  background: -webkit-radial-gradient(center, ellipse cover,  #ed8484 0%,#cc3333 70%);
  background: -ms-radial-gradient(center, ellipse cover,  #ed8484 0%,#cc3333 70%);
  background: radial-gradient(ellipse at center,  #ed8484 0%,#cc3333 70%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ed8484', endColorstr='#cc3333',GradientType=1 );
}

.example .story .headBox a.hover{
  background: -webkit-radial-gradient(center, ellipse cover,  #ed8484 0%,#cc3333 100%);
  background: -ms-radial-gradient(center, ellipse cover,  #ed8484 0%,#cc3333 100%);
  background: radial-gradient(ellipse at center,  #ed8484 0%,#cc3333 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ed8484', endColorstr='#cc3333',GradientType=1 );
}
.example .story02 .headBox a{
  color: #FFF;
  text-align: center;
  padding:25px 20px 10px;
  border:3px solid #102a39;
  display: inline-block;
  box-sizing:border-box;
  margin:10px auto;
  background: #cc3333;
  background: -webkit-radial-gradient(center, ellipse cover,  #227fb6 0%,#102a39 70%);
  background: -ms-radial-gradient(center, ellipse cover,  #227fb6 0%,#102a39 70%);
  background: radial-gradient(ellipse at center,  #227fb6 0%,#102a39 70%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#227fb6', endColorstr='#102a39',GradientType=1 );
}
@media all and (-ms-high-contrast:none){
  .example .story .headBox a,
  .example .story02 .headBox a{
    padding-top:40px ;
    width: 140px;
  }
}

.example .story02 .headBox a.hover{
  background: -webkit-radial-gradient(center, ellipse cover,  #227fb6 0%,#102a39 100%);
  background: -ms-radial-gradient(center, ellipse cover,  #227fb6 0%,#102a39 100%);
  background: radial-gradient(ellipse at center,  #227fb6 0%,#102a39 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#227fb6', endColorstr='#102a39',GradientType=1 );
}
.example .story .headBox h2{
  font-size: 20px;
  font-weight: normal;
  margin-bottom: 20px;
}
.example .story .headBox h2 span {
  display: block;
}
.example .story h3 span.subCap {
  font-size: 11px;
}
.example .story .headBox p{
  font-size: 11px;
  font-weight: normal;
  background: #fff;
  padding:5px 20px;
  color: #c33;
  margin-top: 10px;
}
.example .story .headBox p:after{
  content: "";
  display: inline-block;
  background: url(../img/common/icon_arrow_more_01.png) no-repeat right center;
  width:1em;
  height: 1em;
  position: relative;
  top:1px;
  right: -10px;
}
.example .story02 .headBox p{
  color: #102a39;
}
.example .story02 .headBox p:after{
  background: url(../img/common/icon_arrow_more_02.png) no-repeat right center;
}

.example .btn {
  display: inline-block;
  vertical-align: bottom;
  margin: 0 0 10px 20px;
}
.example p {
  line-height: 1.8;
}
.example p.sentence {
  font-size: 14px;
  margin:30px auto;
}
.example p.sentence strong {
  color: #c33;
}
/* =================================== .example .column3 */
.example .column3 > div {
  margin:15px auto 0;
  width: 220px;
  background: #c33;
  padding:0 0 5px;
  margin-right: 2px;
}
.example .column3 > div.last {
  margin-right: 0;
}
.example .story02 .column3 > div{
  background: #102a39;
}
/* =================================== .example .story */
.example .story {
  margin:15px auto 0;
  font-size: 15px;
  color: #fff;
}
.example .story h3 {
  background: #ccc;
}
.example .story h3 span {
  width: 158px;
  padding:0 15px;
  font-weight: normal;
  display: inline-block;
  text-align: left;
  background: #ccc;
  color: #102a39;
}
.example .story h3 span.head {
  width: 60px;
  padding:5px 0;
  background: #c33;
  color: #fff;
  padding:5px 0;
  font-weight: normal;
  display: inline-block;
  margin-right:2px;
  text-align: center;
}
.example .story02 h3 span.head {
  background: #102a39;
  font-size: 20px;
  font-weight: bold;
}
.example .story h3 span.subCap {
  position: relative;
  bottom:3px;
}
.example .story h4 {
  font-size: 13px;
  font-weight: normal;
  padding:5px 0;
  padding: 12px;
  text-align: left;
}
.example .story p {
  padding:0;
  line-height: 1.5;
  color: #102a39;
}
.example .story p img{
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.example .story p.more a {
  margin:0 auto 15px;
  border:1px solid #fff;
  font-size: 12px;
  padding: 5px 50px;
  display: inline-block;
  color: #fff;
}
@media all and (-ms-high-contrast:none){
  .example .story p.more a {
    padding-top: 10px;
  }
}
.example .story p.more.type02 a {
  margin:30px auto 15px;
  border:1px solid #102a39;
  font-size: 16px;
  color: #102a39;
}

.example .story p.more a.hover {
  background: #fff;
  color: #c33;
}
.example .story p.more.type02 a.hover {
  background: #102a39;
  color: #fff;
}
.example .story02 p.more a.hover {
  color: #102a39;
}
.example .story p.more a:after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url(../img/common/icon_navi_arrow_03.png) no-repeat center right;
  background-size: 50% auto;
  position: relative;
  top:1px;
  left:40px;
  margin-left: -10px;
}
.example .story p.more.type02 a:after {
  background: url(../img/common/icon_navi_arrow_01.png) no-repeat center right;
  background-size: 50% auto;
}
.example .story p.more.type02 a.hover:after {
  background: url(../img/common/icon_navi_arrow_03.png) no-repeat center right;
  background-size: 50% auto;
}
.example .story p.more a.hover:after {
  background: url(../img/common/icon_navi_arrow_02.png) no-repeat center right;
  background-size: 50% auto;
}
.example .story02 p.more a.hover:after {
  background: url(../img/common/icon_navi_arrow_01.png) no-repeat center right;
  background-size: 50% auto;
}
.example .story p.btn {
  padding:0;
}

/* =================================== .infoWrap */
#contentsInner > .infoWrap {
  padding-top: 15px;
  margin:15px auto;
  border-top:1px solid #ddd;
  box-shadow: none;
}
.infoWrap .headWrap .head{
  float: left;
}
.infoWrap .headWrap .head h1 {
  font-size: 25px;
  font-weight: normal;
  display: inline-block;
}
.infoWrap .headWrap .head h1 span {
  color: #c33;
}
.infoWrap .headWrap .nav{
  float: right;
}
.infoWrap .headWrap .nav .border3wrap{
  width: 25px;
  margin-top: 8px;
  margin-right: 5px;
}
.infoWrap .headWrap .nav .border3wrap div{
  height: 2px;
  width: 100%;
  background: #999;
  margin-top: 5px;
  transition:background ease 0.3s;
}
.infoWrap .headWrap .nav.hover .border3wrap div{
  background: #c33;
}

.infoWrap .headWrap p {
  font-size: 12px;
  display: inline-block;
  margin-left: 10px;
  padding-left: 10px;
  border-left:1px solid #333;
  position: relative;
  top:-2px;
}

/* =================================== .infoNavWrap  */
.infoNavWrap ul{
  border-bottom: 2px solid #c33;
  margin-top: 10px;
  text-align: center;
  display: table;
  table-layout: fixed;
  width: 100%;
}
.infoNavWrap ul.tab02{
  border-color: #accecc;
}
.infoNavWrap ul.tab03{
  border-color: #f4aebf;
}
.infoNavWrap ul.tab04{
  border-color: #fbda69;
}
.infoNavWrap ul.tab05{
  border-color: #c6d1e0;
}
.infoNavWrap li{
  display: table-cell;
  vertical-align: middle;
  border-right:2px solid #efefef;
  border-left:2px solid #efefef;
}
/*@media all and (-ms-high-contrast:none){
  .infoNavWrap li{
    display: inline-block;
    width: 19.4%;
  }
}
@-moz-document url-prefix() {
  .infoNavWrap li{
    display: inline-block;
    width: 19.5%;
  }
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
  .infoNavWrap li{
    display: inline-block;
    width: 19%;
  }
}*/
.infoNavWrap li a{
  display: inline-block;
  padding:15px 5px 10px;
  font-size: 13px;
  background: #fff;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
  word-wrap: break-word;
}

.infoNavWrap li a.active,
.infoNavWrap li a.hover{
  color: #fff;
}
.infoNavWrap li.infoNav01 a.active,
.infoNavWrap li.infoNav01 a.hover{
  background: #c33;
}
.infoNavWrap li.infoNav02 a.active,
.infoNavWrap li.infoNav02 a.hover{
  background: #accecc;
}
.infoNavWrap li.infoNav03 a.active,
.infoNavWrap li.infoNav03 a.hover{
  background: #f4aebf;
}
.infoNavWrap li.infoNav04 a.active,
.infoNavWrap li.infoNav04 a.hover{
  background: #fbda69;
}
.infoNavWrap li.infoNav05 a.active,
.infoNavWrap li.infoNav05 a.hover{
  background: #c6d1e0;
}

/* =================================== .infoTabWrap  */

.infoTabWrap{
  background: #fff;
  padding: 15px;
}

/* =================================== .infoWrap .unit */

.infoWrap .unitWrap ul{
  text-align: center;
  display: table;
  table-layout: fixed;
}
.infoWrap .unit {
  display: table-cell;
  vertical-align: top;
}
.infoWrap .unit a {
  display: inline-block;
  width: 220px;
  margin-right: 19px;
  background: #FFF;
  padding: 10px 10px 20px;
  box-sizing:border-box;
  box-shadow: rgba(0, 0, 0, 0.05) 1px 1px 0px 1px;
}
@media all and (-ms-high-contrast:none){
  .infoWrap .unit a {
    margin-right: 19px;
  }
}

.infoWrap .unit a.hover {
  opacity: 0.8;
}
.infoWrap .unit.last a {
  margin-right: 0px;
}
.infoWrap .datetime {
  font-weight: bold;
  margin-top: 10px;
}
.infoWrap .category {
  color: #fff;
  font-size: 12px;
  padding:3px 35px 2px;
  background: #c33;
  display: inline-block;
  margin:5px auto 8px;
}
@media all and (-ms-high-contrast:none){
  .infoWrap .category {
    padding-top:8px;
    margin-bottom:10px;
  }
}
.infoWrap .category.event{
  background: #f4aebf;
}
.infoWrap .category.seminar{
  background: #fbda69;
}
.infoWrap .category.recruit{
  background: #c6d1e0;
}
.infoWrap .category.new{
  background: #cc3333;
}
.infoWrap .category.attorneys{
  background: #accecc;
}
.infoWrap .category.attorneys.humanhistory{
  background: #AF5428;
}
.infoWrap .category.attorneys.approach{
  background: #8A6F7D;
}
.infoWrap .category.attorneys.office{
  background: #436A50;
}
.infoWrap .category.attorneys.pioneer{
  background: #495A64;
}
.infoWrap .category.attorneys.special{
  background: #B29B79;
}
.infoWrap .category.attorneys.workfront{
  background: #D06C6C;
}
.infoWrap .category.attorneys.supporter{
  background: #3b8e9a;
}
.infoWrap .head {
  font-size: 14px;
  text-align: left;
}
.infoWrap .sentence {
  font-size: 14px;
  margin-top: 5px;
  text-align: left;
}
.infoWrap .more a{
  background: url(../img/common/icon_navi_arrow_03.png) no-repeat center right 10px #c33;
  background-size: auto 50% ;
  padding: 5px 15px;
  font-size: 14px;
  display: block;
  width: 100%;
  box-sizing: border-box;
  transition:background ease 0.3s;
}
@media all and (-ms-high-contrast:none){
  .infoWrap .more a{
    padding-top: 10px;
  }
}
.infoWrap .more.info a{
  background-color: #c33;
}
.infoWrap .more.attorneys a{
  background-color: #accecc;
}
.infoWrap .more.event a{
  background-color: #f4aebf;
}
.infoWrap .more.seminar a{
  background-color: #fbda69;
}
.infoWrap .more.recruit a{
  background-color: #c6d1e0;
}
.infoWrap .more a.hover{
  background-color: #102A39;
}
.infoWrap .more p{
  color: #fff;
}

/* =================================== .topics */

.topics {
  margin: 20px auto 0;
  background: #5c5c5c;
  padding:20px 0 10px;
}
.topics .headWrap {
  border-bottom:1px solid #fff;
  padding-bottom: 5px;
}
.topics .headWrap h1 {
  font-size: 25px;
  font-weight: normal;
  display: inline-block;
  color: #fff;
}
.topics .headWrap h1 span {
  color: #c33;
}
.topics .headWrap p {
  font-size: 12px;
  display: inline-block;
  margin-left: 10px;
  padding-left: 10px;
  border-left:1px solid #fff;
  position: relative;
  top:-2px;
  color: #fff;
}
#bannerSlider{
  width: 670px;
  margin:20px auto;
  display:none;
}

#noSlider{
  margin:20px auto;
  display:block;
}
#noSlider:after {
    visibility: hidden;
    display: block;
    content: " ";
    clear: both;
    height: 0;
    }
#noSlider > div{
  float:left;
  width:25%;
  box-sizing:border-box;
  padding:0 5px 10px;
}
#noSlider > div a img{
  width:100%;
}



#bannerSlider > button {
  position: absolute;
  width: 1000px;
  margin:0 auto;
  left:0;
  right:0;
  bottom:14px;
  width: 18px;
  height: 34px;
  text-indent: -9999px;
  cursor: pointer;
  outline: none;
  z-index: 10;
  transition:opacity ease 0.3s;
}
#bannerSlider > button.slick-prev{
  left:-710px;
  bottom: 17px;
  background: url(../img/index/btn_arrow_banner_prev.png) no-repeat center;
}
#bannerSlider > button.slick-next{
  right:-715px;
  bottom: 17px;
  background: url(../img/index/btn_arrow_banner_next.png) no-repeat center;
}
#bannerSlider > button.slick-prev.hover{
  opacity: 0.8;
}
#bannerSlider > button.slick-next.hover{
  opacity: 0.8;
}
#bannerSlider .slick-slide a{
  display: inline-block;
  transition:opacity 0.3s ease;
}
#bannerSlider .slick-slide a.hover{
  opacity: 0.8;
}

/* =================================== .message */
.message {
  margin-top: 0px;
  background: url(../img/index/bg_footer_03.jpg)center repeat-x;
  background-size: auto 100% ;
  padding:42px;
}
.message .contentsInner{
  margin-top: 0px;
  padding-bottom:42px;
}

.message hr {
  margin:20px auto 15px;
  width: 235px;
  border-top: 2px solid #102a39;
}
.message h1 {
  text-align: center;
  position: relative;
  left:-20px;
}
.message h2 {
  font-size: 24px;
  text-align: center;
}
.message p {
  margin:20px auto 30px;
  line-height: 1.8;
  font-size: 14px;
  text-align: center;
  padding: 0 5%;
}

/* =================================== .pagetop */
#pagetopWrap .contentsInner{
  position: relative;
}
#pagetopWrap .contentsInner.formEnd{
  margin-top: 100px;
}
#pagetopWrap .cvBtn{
  width: 418px;
  margin:30px auto;
}
#pagetopWrap .cvBtn img{
  width: 100%;
  height: auto;
}
#pagetopWrap .cvBtn a{
  display: inline-block;
}

#pagetopWrap .pagetop a {
  margin-top: 45px;
  display: inline-block;
  background: #102a39;
  padding:10px 16px 5px;
  position: absolute;
  bottom: -0;
  right: 0;
  text-align: center;
}

#pagetopWrap .pagetop a.with_top_btn {
  bottom: -80px;
}

#pagetopWrap .pagetop img {
  width: 30px;
  height: 40px;
}
#pagetopWrap .pagetop a.hover {
  background: #c33;
}
.index .pagetop {
  padding-top: 30px;
}

/* =================================== #footer */
#footer {
  position: relative;
  top:104px;
  padding:0px ;
  box-sizing: border-box;
  background: #282828 url(../img/common/img_bg_footer.jpg) repeat-x center bottom;
  background-size:auto 100% ;
  z-index: 110;
}
#footer .inner {
  width: 1000px;
  margin: 0 auto;
  padding: 0px;
}
#footer .footerHead {
  border-bottom:2px solid #ccc;
  color: #fff;
  padding:20px 0 15px;
}
#footer .footerHead img, #footer .footerHead p {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold;
}
#footer .footerNav {
  padding:20px;
}
#footer .navUnit {
  display: inline-block;
  vertical-align: top;
  margin-right:63px;
}
#footer .navUnit.last {
  margin-right:0px;
}
#footer .navUnit a{
  color: #fff;
}
#footer .navUnit dt{
  font-size: 14px;
  margin-bottom: 15px;
}
#footer .navUnit dt.others{
  margin-top: 40px;
}
#footer .navUnit dt a.hover{
  color: #c33;
}
#footer .navUnit dt:before{
  content: "";
  display: inline-block;
  background: #c33 url(../img/common/icon_arrow_on.png) center no-repeat;
  width: 13px;
  height: 13px;
  border-radius: 20px;
  position: relative;
  top:1px;
  margin-right: 10px;
}
#footer .navUnit dd{
  padding-left: 5px;
  box-sizing: border-box
}
#footer .navUnit li {
  font-size: 12px;
  margin-bottom: 1em;
}
#footer .navUnit li:before {
  content: "";
  display: inline-block;
  margin-right:10px;
  font-size: 12px;
  background: url(../img/common/icon_navArrow.png);
  background-size: 6px 11px;
  width: 6px;
  height: 10px;
}

#footer .navUnit li a.hover {
  color: #c33;
}
#footer .navUnit dt.others {
  color: #FFF;
}
#footer .copyRight {
  background: #626262;
  border-top:1px solid #102a39;
  text-align: center;
  padding: 20px 0 15px;
  font-size: 10px;
  display: block;
  vertical-align: center;
  color:#fff;
  letter-spacing: 0.1em;
}
/* ===================================================================
end all
====================================================================== */




/* ===================================================================
for pc
====================================================================== */


/* =================================== common */
@media only screen and (min-width: 640px) {
  .sp {
    display: none !important;
  }
  /* =================================== #asideNav type02 */

  #asideNav.type02 #gnav a {
    padding:10px 20px;
    font-size: 13px;
  }
  #asideNav.type02 #gnav li.gnav00 {
    /*padding:0px;*/
    width: 100%;
    text-align: center;
  }
  #asideNav.type02 #gnav li.gnav00 a {
    padding:0px;
  }
  #asideNav.type02 #gnav li.gnav07 a {
    border-right: none;
  }
  #asideNav.type02 .sideBtn {
    margin-top: 10px;
  }
  #asideNav.type02 .sns li {
    margin: 15px 1px 7px;
  }
  #asideNav.type02 .call dt {
    margin: 5px auto;
    padding-bottom: 1px;
    font-size: 12px;
    border-bottom: 1px solid #aaa;
  }
  #asideNav.type02 .banner {
    margin-top: 10px;
  }
  /* =================================== #asideNav type03 */

  #asideNav.type03 #gnav a {
    font-size: 11px;
    padding:10px;
  }
  #asideNav.type03 #gnav li {
    width: 50%;
    float: left;
    background-position: 95% 50%;
    background-size: auto 20%;
  }
  #asideNav.type03 #gnav li.even a {
    border-right: 1px solid #aaa;
  }
  #asideNav.type03 #gnav li.gnav07 {
    width: 100%;
    text-align: center;
  }
  #asideNav.type03 #gnav li.gnav07 a {
    border-right: none;
  }
  /* =================================== #header.type02 */
  #header.type02 {
    height: 90px;
  }
  #header.type02 .inner {
    margin:15px auto 0;
  }
  /* =================================== #contentsInnerWrap.type02 */

  /*#contentsWrap.type02 {
  top:90px;
}*/
}
/* ===================================================================
end pc
====================================================================== */



/* ===================================================================
for tb
====================================================================== */
@media only screen and (max-width: 860px) and (min-width: 641px) {
  #asideNav .inner{
    top:90px !important;
  }
}
@media only screen and (max-width: 860px) {
  body {
    min-width:760px;
    width:100%;
  }
  /* =================================== #asideNav */
  #asideNav {
    left:-500px;
  }
  .open #asideNav {
    left:0px;
    box-shadow:rgba(0, 0, 0, 0.2) 7px 3px 10px -2px;
  }
  #asideNav #gnav a {
    padding:10px 20px;
    font-size: 13px;
  }
  #asideNav #gnav li.gnav00 {
    padding:0px;
    width: 100%;
    text-align: center;
    display: none;
  }
  #asideNav #gnav li.gnav00 a {
    padding:5px
  }
  #asideNav #gnav li.gnav00 a img{
    width: 65%;
    height: auto;
  }
  #asideNav #gnav li.gnav07 a {
    border-right: none;
  }
  #asideNav .sideBtn {
    margin-top: 10px;
  }
  #asideNav .sns li {
    margin: 15px 1px 7px;
  }
  #asideNav .call dt {
    margin: 5px auto;
    padding-bottom: 1px;
    font-size: 12px;
    border-bottom: 1px solid #aaa;
  }
  #asideNav .banner {
    margin-top: 10px;
  }
  /* =================================== #contentsWrap */

  #contentsWrap {
    left:0px;
    width: 100%;
  }
  /* =================================== #header */
  #header {
    height: 90px;
    padding: 15px 0 0 0;
    width: 100%;
    margin:0 auto;
    text-align: center;
    left:0px;
    background-color:#102a39;
  }
  #header .inner {
    width: 760px;
    margin:0 auto !important;
    display: inline-block;
    padding: 0;
  }
  #header li.asideMenu01,#header li.asideMenu04 {
    display: none;
  }
  #header li.asideMenu02 {
    margin-right: 15px;
  }
  /*.open #header {
  left:240px;
}*/
  .page #header {
    border-bottom: 0 ;
  }
  /* =================================== #menuToggle */

  #menuToggle {
    left:0px;
  }
  /* =================================== #contentsInnerWrap */
  #contentsWrap {
    top:90px;
  }
  #contentsInner {
    margin: 0 auto;
    width: 100%;
    margin:0 auto;
  }

  #contentsWrap:after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top:0;
    left: 0;
    visibility: hidden;
    background-color:rgba(0,0,0,0);
    transition: background,visibility ease 0.5s;
  }
  .open #contentsWrap:after {
    background-color:rgba(0,0,0,0.3);
    visibility: visible;
    cursor: pointer;
  }
  /* =================================== #mv */

  #mv {
    margin: 0 auto;
    width: 100%;
    margin:0;
  }
  #mv .slider{
    background-size: 100% auto;
  }
  #mv .slider01 {
    background-image: url(../img/index/img_mv_01_tb.jpg);
  }

    #mv .y2016 .slider01 {
    background-image: url(../img/index/img_mv_01_2017_tb.jpg);
  }

  #mv .slider02 {
    background-image: url(../img/index/img_mv_02_tb.jpg);
  }
  #mv .slider03 {
    background-image: url(../img/index/img_mv_03_tb.jpg);
  }

  #mv .slider04 {
    background-image: url(../img/index/img_mv_04_tb.jpg);
  }

  #mv .slider05 {
    background-image: url(../img/index/recaius_tab.png);
  }

  #mv .slider08 {
    background-image: url(../img/index/tb_friend_bn.jpg);
  }
  #mv .y2016 .slider06 {
    background-image: url(../img/index/img_mv_05_tb02.png);
  }
  #mv .mvBtn {
    position: absolute;
    width: 1000px;
    margin:0 auto;
    left:0;
    right:0;
    height: 63px;
    bottom:50px;
  }
  #mv .mvBtn a{
    position: absolute;
    left:40px;
  }

  #mv .slider04 .mvBtn a {
  	left: 400px;
  }
  #mv .slider06 .mvBtn a {
    left: 290px;
  }
  #mv .slider05 .mvBtn a,
  #mv .slider03 .mvBtn a {
    left: 200px;
  }
  #mv .slider08 .mvBtn a {
    left: 300px;
  }

  #mv .slider02 .mvBtn {
    height: 63px;
    bottom:20px;
  }
  #mv .slider02 .mvBtn a{
    position: absolute;
    left:205px;
    padding: 10px 50px 13px;
    border: 1px solid #fff;
    background: rgba(255,255,255,0.5);
  }
  #mv .slider02 .mvBtn a.hover{
    background: rgba(255,255,255,1);
  }
  #mv .slider02 .mvBtn a:after{
    content: "";
    display: inline-block;
    background: url(../img/index/icon_arrow_mv02.png) no-repeat center right;
    position: relative;
    top:4px;
    right:-30px;
    width: 16px;
    height: 20px;
  }
  #mv .slider02 .facebook {
    position: absolute;
    width: 1000px;
    margin:0 auto;
    left:-270px;
    right:0;
    height: 63px;
    bottom:50px;
  }
  #mv .facebook a{
    position: absolute;
    right:5px;
    bottom:240px;
  }


  #mv .slick-dots {
    left: 0;
  }

  #mv .slick-dots button {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    border: 1px solid #fff;
    background: #626262;
    text-indent: -9999px;
    cursor: pointer;
    margin-right: 10px;
    outline:none;
  }

  #mv #mvSlider > button {
    position: absolute;
    margin:0 auto;
    left:0;
    right:0;
    bottom:20px;
    width: 33px;
    height: 33px;
    text-indent: -9999px;
    cursor: pointer;
    outline: none;
    z-index: 10;
  }
  #mv #mvSlider > button.slick-prev{
    left:-727px;
    background: rgba(255,255,255,0.5) url(../img/index/icon_arrow_mv_prev.png) no-repeat center;
  }
  #mv #mvSlider > button.slick-next{
    right:-726px;
    background: rgba(255,255,255,0.5) url(../img/index/icon_arrow_mv_next.png) no-repeat center;
  }
  #mv #mvSlider > button.slick-prev.hover{
    left:-727px;
    background: rgba(255,255,255,0.8) url(../img/index/icon_arrow_mv_prev.png) no-repeat center;
  }
  #mv #mvSlider > button.slick-next.hover{
    right:-726px;
    background: rgba(255,255,255,0.8) url(../img/index/icon_arrow_mv_next.png) no-repeat center;
  }

  /* =================================== #contentsInner */
  #contentsInner {
    width: 760px;
    padding: 20px 10px 0px 10px;
  }
  .contentsInner {
    width: 760px;
    padding: 0 15px;
    box-sizing: border-box;
  }
  /* =================================== .infoNavWrap */

  .infoWrap .unit a{
    margin-right: 19px;
  }
  .index .btnWrap li {
    margin-right: 4%;
  }
  /* =================================== message */
  .message {
    margin-top: 0px;
    background: url(../img/index/bg_footer_03.jpg)center repeat-x;
    background-size: auto 100%;
    padding: 45px 0 0;
  }
  .message .contentsInner {
    padding: 0 35px 20px;
  }

  /* =================================== #footer */
  #footer {
    padding: 0px ;
    background-color: #fff;
  }
  #footer .inner {
    width: 760px;
    margin: 0 auto;
    padding: 0 15px;
  }
  #footer .navUnit {
    display: inline-block;
    vertical-align: top;
    margin-right: 8px;
  }
  #footer .navUnit li {
    font-size: 10px;
  }
}
/* ===================================================================
end tb
====================================================================== */



/* ===================================================================
for sp
====================================================================== */

@media only screen and (max-width: 640px) {
  .pc {
    display: none !important;
  }
  body {
    font-size: 13px;
    min-width: 100%;
  }
  /* =================================== #header */
  #asideNav {
    width: 100%;
    height: 1vh;
    left:-200%;
    position: absolute;
    padding-bottom: 5%;
  }
  .open #asideNav {
    box-shadow:none;
  }

  #asideNav .inner {
    width: 100%;
    position: absolute;
    top:104px;
  }
  #asideNav img {
    max-width:80%;
    height: auto;
    margin:1% auto;
  }
  #asideNav .asideNavInner {
    padding-bottom: 5%;
    background-color: #102a39;
  }
  #asideNav #gnav {
    text-align: left;
  }
  #asideNav #gnav li {
    width: 100%;
  }
  #asideNav #gnav a {
    padding:10px 20px;
    font-size: 14px;
  }
  #asideNav #gnav li.gnav00 {
    text-align: center;
    display: none;
  }
  #asideNav #gnav li.gnav00 a {
    padding:3% 32%;
  }
  #asideNav #gnav li.gnav00 a.hover {
    background-color: #FFF;
    opacity: 0.8;
  }
  #asideNav #gnav li.gnav00 a img {
    max-width:100%;
  }
  #asideNav .sideBtn {
    margin-top:20px;
  }
  #asideNav .sns li {
    margin:3% 1%;
    width:15%;
  }
  #asideNav .sns li img {
    width:100%;
    height: auto;
  }
  #asideNav .call dl {
    width: 90%;
  }
  #asideNav .call dt {
    font-size: 14px;
    margin: 10px auto 15px;
    padding:10px 5%;
    border-bottom: 1px solid #aaa;
    box-sizing: border-box;
  }
  #asideNav .banner {
    margin-top:30px;
  }
  #closeHeader {
    width: 80%;
    margin:10px auto;
    padding:5%;
    background-color: #ddd;
    cursor: pointer;
    transition:background ease 0.3s;
  }
  #closeHeader.hover {
    background-color: #fff;
  }
  /* =================================== #header */
  #header {
    padding: 0;
    height: auto;
  }
  #header .inner {
    width: 94%;
    margin: 3% auto;
    padding:2% 0;
    vertical-align: middle;
    display: table;
  }
  #header .inner ul {
    display: inline-block;
    width: 80%;
    text-align: left;
    color: #fff;
    vertical-align: middle;
    display: table-cell;
  }
  #header .inner ul li {
    width: 48%;
    padding:2%;
    vertical-align: middle;
  }
  #header .inner ul li.spAsideMenu01 {
    padding:2%;
    box-sizing: border-box;
    width: 35%;
  }
  #header .inner ul li.spAsideMenu02 {
    width: 60%;
    font-size: 11px;
  }
  #header .inner ul li img {
    width: 100%;
    height: auto;
  }
  #header .call.sp {
    background: #fff;
    padding:3% 0 2%;
    display: none;
  }
  #header .call.sp img{
    width: 60%;
    height: auto;
  }
  #header .call.sp span{
    display: block;
    margin-top: 1%;
  }
  .open #header {
    left: 0;
  }
  /* =================================== #menuToggle */

  #menuToggle {
    position: static;
    margin-right: 0px;
    display: table-cell;
    width: 5%;
    vertical-align: middle;
  }
  /* =================================== #mv */

  #mv {
    width:100%;
    height: auto;
    margin:0 auto;
    overflow: hidden;
    position: relative;
  }
  #mv .slider {
    background-repeat: no-repeat;
    background-position: center;
    width:100%;
    height: auto;
    position: relative;
    padding-top: 0;
  }
  #mv .slider img{
    width: 100%;
    height: auto;
  }
  #mv .slider01,
  #mv .slider02,
  #mv .slider03 {
    background-image: none;
  }
	#mv .slider04{position: relative;}
	#mv .slider04 .btn_zone{display: block; position: absolute; bottom: 16%; left: 0;width: 100%; text-align: center; box-sizing:border-box; padding: 0 13%;}

  #mv .slick-dots {
    top: -25px;
    left:0;
  }

  #mv .slick-dots button {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    margin-right: 20px;
  }
  #mv #mvSlider > button.slick-prev{
    left: -90%;
    bottom:16px;
  }
  #mv #mvSlider > button.slick-next {
    right: -90%;
    bottom:16px;
  }
  #mv #mvSlider > button.slick-prev.hover{
    left: -90%;
  }
  #mv #mvSlider > button.slick-next.hover {
    right: -90%;
  }

  #mv .cvWrap {
    width: 100%;
    padding: 0 3%;
  }
  #mv .cvWrap .txt {
    text-align: center;
  }
  #mv .cvWrap img {
    width: 100%;
    height: auto;
  }

  /* =================================== #contentsInner */

  #contentsWrap {
    top:140px;
  }
  #contentsInner {
    width: 100%;
    padding: 3% 3% 0 3%;
  }
  #contentsInner > section {
    margin: 10px auto;
    box-shadow: rgba(0, 0, 0, 0.02) 1px 1px 0px 2px;
  }
  /* =================================== .categoryNav */
  #contentsInner .categoryNav {
    margin: 5% auto;
  }
  .categoryNav ul {
    text-align: center;
  }
  .categoryNav li a {
    width: 47%;
    padding: 0;
    margin: 2%;
  }
  .categoryNav li.even a {
    margin: 2% 0 0 0;
  }
  .categoryNav li a span {
    font-size: 12px;
    margin: 3% 0 0 0;
  }
  /* =================================== .attorneysImg */

  .attorneysImg {
    margin-top: 5%;
    width: 100%;
    height: auto;
  }
  .attorneysImg img{
    width: 100%;
    height: auto;
  }

  /* ---------- old style --------- */

  /*.attorneysImg {
    margin-top: 5%;
    background: none;
    width: 100%;
    height: auto;
  }
  .attorneysImg img{
    width: 100%;
    height: auto;
  }
  .attorneysImg .headWrap p {
    text-align: center;
    display: block;
    padding: 3%;
  }
  .attorneysImg .headWrap p.head02 {
    padding: 3%;
  }
  .attorneysImg .contents {
    padding: 3% 3% 6% 3%;
  }
  .attorneysImg .column3.type01 > div {
    margin-right: 0;
    vertical-align: middle;
  }
  .attorneysImg .column3.type01 .column_02, .attorneysImg .column3.type01 .column_03 {
    margin: 0 4%;
    width: 40%;
    text-align: right;
  }
  .attorneysImg .column3.type01 img {
    width: 100%;
    height: auto;
  }
  .attorneysImg .column3.type01 p {
    font-size: 13px;
  }
  .attorneysImg .column3.type01 .column_03 {
    margin-top: 10px;
    text-align: right;
    margin-right: 0px;
  }
  .attorneysImg hr {
    display: none;
  }
  .attorneysImg .column3.type02 > div {
    display: block;
  }
  .attorneysImg .column3.type02 .circle {
    width: 100%;
    height: auto;
    border-radius: 0;
    padding: 3%;
    margin:3% auto;
  }
  .attorneysImg .column3.type02 dl {
    font-size: 12px;
    margin-top: 8px;
    margin-left: 3%;
  }*/
  /* =================================== .spec */

  .spec {
    padding: 10% 5% 1%;
    margin-top: 10%;
    background-color:#fff;
  }
  .spec h1 {
    font-size: 20px;
  }
  .spec hr {
    margin: 10% auto;
    width: 100%;
    border-top: 1px solid #102A39;
  }
  .spec .column3 > div {
    width: 100%;
    margin: 5% auto 8%;
    display: block;
    float: none;
    text-align: center;
  }
  .spec h2 {
    height: auto;
    text-align: left;
    margin-bottom:2%;
  }
  .spec h2 strong {
    font-size: 18px;
  }
  .spec p {
    margin-top: 3%;
    text-align: left;
    margin-bottom: 0;
  }
  .spec p.more{
    margin:5% auto 15%;
  }
  .spec .column3 > div.last p {
    margin-bottom: 0;
  }
  .spec div.last h2 {
    padding-top: 0;
  }
  .spec .column3 img {
    width: 100%;
    height: auto;
    border-radius:0px;
    box-shadow: none;
  }

  /* =================================== .cvWrap */
  #contentsInner > section.cvWrap {
    margin: 5% auto;
    padding:5%;
  }
  .cvWrap h1 {
    padding: 0;
  }
  .cvWrap li {
    width: 100%;
    display: block;
    margin: 3% 1%;
  }
  .cvWrap .callWrap li.call_01 {
    width: 100%;
    position: static;
    text-align: center;
    border-bottom:1px solid #ccc;
    padding-bottom:3%;
    margin-bottom:5%;
  }
  .cvWrap .callWrap li.call_02,
  .cvWrap .callWrap li.call_03 {
    width: 100%;
    text-align: center;
  }
  .index .btnWrap li {
    margin: 5% 0 0 ;
  }
  /* =================================== .example */

  .example {
    padding: 10% 5%;
    margin-top: 10%;
    background-color:#fff;
  }
  .example .story .headBox a {
    padding: 15px 20px 10px;
  }
  @media all and (-ms-high-contrast:none){
    .example .story .headBox a,
    .example .story02 .headBox a {
      padding-top: 30px;
      height: 120px;
    }
  }
  .example h1 {
    font-size: 20px;
  }
  .example .story .headBox h2 {
    margin-bottom: 10px;
  }
  .example h2 span {
    display: inline-block;
  }
  .example p.sentence {
    font-size: 13px;
    margin: 3% auto;
  }
  .example .story {
    margin: 0 auto;
    font-size: 12px;
  }
  .example .story p {
    padding: 0;
  }
  .example .story p.btn {
    display: block;
    margin: 3% auto 0;
    text-align: center;
  }
  .example .story p.center {
    margin: 3% auto;
    text-align: left;
  }
  .example .column3 > div {
    margin: 3% auto;
    width: 90%;
  }
  .example .slick-slider button{
    position: absolute;
    width: 100%;
    margin: 0 auto;
    left: 0;
    right: 0;
    bottom: 50%;
    width: 18px;
    height: 34px;
    text-indent: -9999px;
    cursor: pointer;
    outline: none;
    z-index: 10;
  }
  .example .slick-slider button.slick-prev {
    left: -100%;
    background: url(../img/index/btn_arrow_example_prev.png) no-repeat center;
    background-size: 70% auto;
  }
  .example .slick-slider button.slick-next {
    right: -100%;
    background: url(../img/index/btn_arrow_example_next.png) no-repeat center;
    background-size: 70% auto;
  }
  .example .story h3 span.head {
    width: 30%;
    padding: 3% 0;
    margin-right: 1%;
  }
  .example .story h3 span {
    width: 69%;
    padding: 3%;
  }
  .example .story h4 {
    font-size: 16px;
    margin: 0 auto 1%;
  }
  .example .btn {
    display: inline-block;
    vertical-align: bottom;
    margin: 5% auto;
  }
  .example .cvWrap .btn img {
    width: 100%;
    height: auto;
    margin: 0 auto;
  }
  .example .cvWrap .btn {
    margin: 0 auto;
  }
  .example .cvWrap .comment {
    background: none;
    text-indent: 0;
    margin: 3% auto 0;
    position: static;
    font-size: 10px;
  }
  /* =================================== .infoWrap */
  .infoWrap {
    margin:10% auto;
    text-align: center;
  }
  .infoWrap h1 {
    font-size: 35px;
    margin: 0 auto;
    float: none;
    display: block;
  }
  .infoWrap h2 {
    margin: 3% auto;
    padding:3%;
    text-align: left;
    border-bottom: 1px solid #ddd;
  }
  .infoWrap .btn {
    float: none;
    margin-top: 0;
    display: block;
  }
  .infoWrap .unit {
    display: block;
  }
  .infoWrap .unit a {
    width: 95%;
    padding: 0 0 3%;
    margin:0 auto 5%;
    box-shadow:none;
    border-bottom: 1px solid #ccc;
  }
  .infoWrap .unit:last-child a {
    padding: 0;
    margin: 0 auto 0;
    border-bottom: 0;
  }
  .infoWrap .unit a img {
    margin-bottom: 4%;
  }
  .infoWrap .category {
    font-size: 10px;
    padding: 2% 30% 1%;
    margin: 1% auto;
  }
  .infoWrap .sentence {
    font-size: 13px;
    text-align: left;
    padding: 3% 5%;
  }
  .infoWrap .events {
    margin:15% auto;/*
    padding-top: 10%;
    border-top: 1px dotted #aaa;*/
  }
  .infoWrap .datetime{
    float: right;
    position: relative;
    top:5px;
  }
  .infoWrap .category{
    float: left;
    padding: 2% 10% 1%;
  }
  .infoWrap .head{
    clear: both;
    padding-top: 5%;
    text-align: left;
  }
  .infoWrap .sentence {
    padding: 0;
  }
  /* =================================== .message */

  .message {
    margin: 10% auto 0;
    padding: 5%;
    background-size:cover;
    background-position: center ;
  }
  .message h1 {
    font-size: 20px;
    padding: 5% 25% 0;
    border-left: 0;
    left: -10px;
  }
  .message h1 img{
    width: 100%;
    height: auto;
  }
  .message p {
    font-size: 12px;
    margin: 5% auto;
    text-align: left;
    padding: 0 5%;
  }
  .message .contentsInner {
    padding: 0 0 5%;
  }
  .index #pagetopWrap .contentsInner{
    margin:5% auto 0;
    padding: 0;
  }
  #pagetopWrap .cvBtn {
    width: 80%;
    margin: 0 auto;
  }
  #pagetopWrap .pagetop {
    text-align: center;

  }
  #pagetopWrap .pagetop a {
    margin-top: 5%;
    display: inline-block;
    background: #102A39;
    padding: 10px 16px 5px;
    position: static;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
  }



  /* =================================== #footer */
  #footer{
    background-size:200% auto;
    background-color: #313131;

  }
  #footer .inner{
    width: 100%;
    padding:0;
  }
  #footer .footerHead {
    border-top: 1px solid #102A39;
    border-bottom: 1px solid #102A39;
    padding: 0 5%;
    text-align: center;
    background: #fff;
    color:#102A39;
  }
  #footer .footerHead img, #footer .footerHead p {
    display: block;
    margin: 3% auto;
  }
  #footer .footerHead img {
    width: 40%;
    height: auto;
  }
  #footer .footerNav {
    padding: 0;
  }
  #footer .navUnit {
    margin: 0;
    width: 100%;
  }

  #footer .navUnit dt{
    margin: 0 0 2px;
    position: relative;
    padding: 5% 5% 4%;
    background: #444;
    cursor: pointer;
  }
  #footer .navUnit dt.others{
    margin: 0;
  }
  #footer .navUnit dt:before{
    background: #C33 url(../img/common/icon_arrow_footer_off.png) center no-repeat;
    background-size: contain;
    width: 1.6em;
    height: 1.6em;
    position: absolute;
    top: 50%;
    right: 2%;
    margin-top:-0.8em;
  }
  #footer .navUnit dt.active:before{
    background: #C33 url(../img/common/icon_arrow_footer_on.png) center no-repeat;
    background-size: contain;
  }
  #footer .navUnit dd {
    padding: 0 2% 10%;
  }
  #footer .navUnit .last dd{
    padding-bottom:10%;
  }
  #footer .navUnit li {
    font-size: 11px;
    margin: 0;
    padding: 2% 8% 2% 2%;
    width: 49%;
    box-sizing: border-box;
    display: inline-block;
    border-bottom: 1px solid #aaa;
    position: relative;
    z-index: 1;
  }
  #footer .navUnit li a {
    margin: 3% auto;
    padding: 2%;
    display: inline-block;
    width: 100%;
    height: 100%;
    vertical-align: middle;
  }
  #footer .navUnit li:before {
    position: absolute;
    background: url(../img/common/icon_navArrow.png) right 6% top 50% no-repeat;
    background-size: 6px 11px;
    width: 100%;
    height: 100%;
    top:0;
    left:0;
    z-index: -1;
  }
  #footer .pagetop a {
    margin-top: 0;
    display: block;
    background: #102A39;
    padding: 5%;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
  }
  #footer .navUnit li.noBorder {
    border: none;
  }
  .top_note_image_wrapper.sp {
    padding: 3%;
  }
}
/* ===================================================================
end sp
====================================================================== */







/* ===================================================================

pages components

====================================================================== */

/* =================================== contents Header */
.contentsHeader {
  background: #fff url(../img/common/bg_contents_header.jpg) 95% -184px no-repeat;
  border-bottom: 1px solid #102a39;
}
.contentsHeaderShadow {
  position: relative;
}
.contentsHeaderShadow:after {
  content: "";
  display: block;
  background: url(../img/page/contentsHeader_shadow.png) center top no-repeat;
  width: 740px;
  position: absolute;
  bottom: -18px;
  left: 50%;
  height: 18px;
  margin-left: -240px;
}
.contentsHeader .contentsInner {
  padding: 16px 20px;
  padding-left: 260px;
}
.contentsHeader h1 {
  font-size: 36px;
  font-weight: normal;
}
/* =================================== contents Inner */
.contentsInner {
  width: 1000px;
  margin: 0 auto;
  padding: 0px 0px 0px 260px;
  box-sizing: border-box;
  position: relative;
  /*transition: all ease 0.5s;*/
}
.contentsBox {
  background: #fff;
  padding: 20px 20px 35px;
  box-shadow: 1px 1px 2px rgba(0,0,0,0.1);
  -moz-box-shadow: 1px 1px 2px rgba(0,0,0,0.1);
  -webkit-box-shadow: 1px 1px 2px rgba(0,0,0,0.1);
  margin: 20px auto;
}
.contentsBox:last-of-type {
  margin-bottom: 30px;
}
.contentsBoxInner {
  padding: 40px 30px 0;
}
.contentsBoxInner p {
  line-height: 1.6;
  color: #333;
}
.contentsBoxInner2 {
  padding-top: 20px;
}
.contentsBoxInner3 {
  padding: 0 15px;
  color: #333;
}
@media only screen and (max-width: 640px) {
  .contentsBoxInner3 {
    padding: 0;
  }
  .sectionInner ol.orderdList li.nonone p span.right{
    margin-left: 0;
  }
  .sectionInner ol.orderdList li.nonone p span.sp_br{
    display: inline;
  }
}
.sectionInner {
  padding: 36px 0 0;
}

/* =================================== breadcrumb */
.breadcrumb {
  font-size: 12px;
  overflow: hidden;
  margin-bottom: 34px;
}
.breadcrumb li {
  float: left;
  margin: 0 14px 0 0;
  line-height: 1.5;
}
.breadcrumb li:after {
  content: ">";
  margin: 0 0 0 12px;
}
.breadcrumb li:last-child:after {
  content: none;
}
.breadcrumb a {
  text-decoration: underline;
}
.breadcrumb a.hover {
  text-decoration: none;
}
/* =================================== contents visual */
.contentsVisual {
  background: url(../img/whatslegal/visual_01.jpg) center center no-repeat;
  width: 100%;
  max-width: 100%;
  height: 249px;
  overflow: hidden;
}
.contentsVisual-whatslegal {
  background-image: url(../img/whatslegal/visual_01.jpg);
}
.contentsVisual-approach {
  background-image: url(../img/approach/visual_approach.jpg);
}
.contentsVisual-special {
  background-image: url(../img/special/visual_special.jpg);
}
.contentsVisual-supporter {
  background-image: url(../img/supporter/visual_supporter.jpg);
}
.contentsVisual-humanhistory {
  background-image: url(../img/humanhistory/visual_humanhistory.jpg);
}
.contentsVisual-pioneer {
  background-image: url(../img/pioneer/visual_pioneer.jpg);
}
.contentsVisual-office {
  background-image: url(../img/office/visual_office.jpg);
}
.contentsVisual-workfront {
  background-image: url(../img/workfront/visual_workfront.jpg);
}
.contentsVisual-attorneys {
  background-image: url(../img/attorneys/visual_attorneys.jpg);
}
.contentsVisual-outlineservice {
  background-image: url(../img/outlineservice/visual_outlineservice.jpg);
}
.contentsVisual-flow {
  background-image: url(../img/flow/contentsVisual_flow.jpg);
}
.contentsVisual-service {
  background-image: url(../img/service/contentsVisual_service.jpg);
}
.contentsVisual-registration {
  background-image: url(../img/registration/visual_registration.jpg);
}
.contentsVisual-mylife {
  background-image: url(../img/mylife/visual_mylife.jpg);
}
.contentsVisual-case {
  height: 594px;
}
.contentsVisual-case01 {
  background-image: url(../img/case/visual_case01.jpg);
}
.contentsVisual-case02 {
  background-image: url(../img/case/visual_case02.jpg);
}
.contentsVisual-case03 {
  background-image: url(../img/case/visual_case03.jpg);
}
.contentsVisual-case04 {
  background-image: url(../img/case/visual_case04.jpg);
}
.contentsVisual-case05 {
  background-image: url(../img/case/visual_case05.png);
}
.contentsVisual-case06 {
  background-image: url(../img/case/visual_case06.png);
}
.contentsVisual-case07 {
  background-image: url(../img/case/visual_case07.png);
}
.contentsVisual-case08 {
  background-image: url(../img/case/visual_case08.png);
}
.contentsVisual-case09 {
  background-image: url(../img/case/visual_case09.png);
}
.contentsVisual-case10 {
  background-image: url(../img/case/visual_case10.png);
}
.contentsVisual-case11 {
  background-image: url(../img/case/visual_case11.png);
}
.contentsVisual-case12 {
  background-image: url(../img/case/visual_case12.png);
}
.contentsVisual-case13 {
  background-image: url(../img/case/visual_case13.jpg);
}
.contentsVisual-case14 {
  background-image: url(../img/case/visual_case14.jpg);
}
.contentsVisual-case15 {
  background-image: url(../img/case/visual_case15.jpg);
}
.contentsVisual-case16 {
  background-image: url(../img/case/visual_case16.jpg);
}
.contentsVisual-case17 {
  background-image: url(../img/case/visual_case17.jpg);
}
.contentsVisual-case18 {
  background-image: url(../img/case/visual_case18.jpg);
}
.contentsVisual-case19 {
  background-image: url(../img/case/visual_case19.jpg);
}
.contentsVisual-case20 {
  background-image: url(../img/case/visual_case20.jpg);
}
.contentsVisual-case21 {
  background-image: url(../img/case/visual_case21.jpg);
}
.contentsVisual-case22 {
  background-image: url(../img/case/visual_case22.jpg);
}



.contentsVisual-saiyoukigyou {
  background-image: url(../img/saiyoukigyou/visual_saiyoukigyou.jpg);
}
.contentsVisual-newsNew {
  background-image: url(../img/news/visual_news.jpg);
}
.contentsVisual-newsBusiness {
  background-image: url(../img/news/visual_business.jpg);
}
.contentsVisual-newsSeminar {
  background-image: url(../img/news/visual_seminar.jpg);
}
.contentsVisual-newsRecruit {
  /*background-image: url(../img/news/visual_recruit.jpg);*/
}
.contentsVisual-newsAttorneys {
  background-image: url(../img/news/visual_attorneys.jpg);
}
.contentsVisual-lp {
  text-indent: -9999px;
  background: url(../img/lp/mv.jpg) center center no-repeat;
  height: 410px;
}
/* secondary visual */
.headingVisual {
  margin: -20px -20px 0;
}
.headingVisual img {
  width: 100%;
  max-width: 100%;
}
.ttlPrimary + .visualSecondary {
  margin-top: 20px;
}
.visualSecondary img {
  max-width: 100%;
}
.headingVisual + .ttlPrimary {
  margin-top: 15px;
}
.detailHeading {
  margin: 0 auto 30px;
}
/* =================================== index list */
.indexList {
  overflow: hidden;
  margin: 45px auto 0;
}
.indexList li {
  width: 360px;
  float: left;
  margin: 0 17px 30px 0;
}
.indexList li:nth-child(2n) {
  margin-right: 0;
}
.indexList a {
  display: block;
}
.indexList h2 {
  border-bottom: 1px solid #fff;
}
.indexList h2 img {
  vertical-align: bottom;
  width: 360px;
}
.indexListBody {
  background: #282828;
  color: #fff;
  font-size: 14px;
  padding: 10px 10px;
  overflow: hidden;
  border: 1px solid #a2a0a2;
  border-top: none;
}
.indexListBody p {
  float: left;
  width: 85%;
}
.indexListBody .arrow {
  background: url(../img/common/icon_navi_arrow.png) 70% center no-repeat;
  background-size: 7px 12px;
  width: 36px;
  height: 36px;
  float: right;
  border-left: 1px solid #fff;
}
.indexListLast {
  margin-bottom: 90px;
}
.indexList2 {
  overflow: hidden;
  margin-top: 36px;
}
.indexList2 li {
  width: 338px;
  border: 1px solid #e3e3e3;
  float: left;
  margin: 0 20px 30px 0;
}
.indexList2 li:nth-child(2n) {
  margin-right: 0;
}
.indexList2 h3 {
  background: #8a6f7d;
  color: #fff;
  font-size: 18px;
  padding: 12px;
}
.indexList2body p:first-of-type {
  font-size: 14px;
  min-height: 90px;
  padding-left: 89px;
  padding-bottom: 10px;
}
.indexList2body > h4 {
  margin-bottom: 8px;
}
.indexList2head {
  float: left;
  margin: 16px 14px;
}
.indexList2head img {
  overflow: hidden;
  background: #fff;
  padding: 1px;
  border: 1px solid #ccc;
  display: block;
  margin-bottom: 5px;
}
.indexList2Img img {
  vertical-align: bottom;
}
.indexList2body {
  padding: 15px 15px 57px;
}
.indexList2 li {
  position: relative;
}
.indexList2body .btn {
  position: absolute;
  bottom: 15px;
  left: 0;
  right: 0;
  margin: 0 15px;
}
.indexListAttorneys {
  overflow: visible;
}
.indexListAttorneys li {
  width: 340px;
  position: relative;
}
.indexListAttorneys img {
  max-width: 100%;
}
.indexListImg {
  position: absolute;
  top: -10px;
  left: -10px;
}
/* =================================== group list */
.groupList li {
  margin: 0 0 20px;
  position: relative;
}
.groupList li > h4,
.groupList li > p {
  padding-left: 140px;
}
.groupList li > h4 {
  margin: 0 0 10px;
}
.groupList li > h4:before {
  content: "■";
}
.groupList li > img {
  position: absolute;
  left: 0;
  top: 3px;
}
/* =================================== page bottom components */


.btnWrap {
  overflow: hidden;
	margin-top: 3%;
}

@media (min-width:737px) {
	body.index .btnWrap{
		margin-bottom: 8%;
	}
}




.btnWrap li {
  float: left;
  margin-right: 20px;
  width: 360px;
}
.btnWrap li img {
  max-width: 100%;
}
.btnWrap li:nth-child(2) {
  margin-right: 0;
}
.telArea {
  text-align: center;
  padding: 10px 0 110px;
}

.telArea.pc.bottom_margin_modified {
  padding-bottom: 15px;
}
.telArea.type02 {
  padding: 10px 0 50px;
}
.btnWidth {
  width: 360px;
  display: block;
  margin: auto;
}
.btnWidth img {
  max-width: 100%;
}
@media only screen and (max-width: 640px) {
  .btnWidth {
    width: auto;
  }
}
/* =================================== title components */
.ttlPrimary {
  font-size: 24px;
  padding: 8px 13px 7px;
  border-top: 1px solid #102a39;
  border-bottom: 1px dotted #102a39;
  font-weight: normal;
}
.ttlSecondary {
  color: #fff;
  font-size: 18px;
  background: #102a39 url(../img/page/ttl_icon.png) 10px center repeat-y;
  font-weight: normal;
  padding: 6px 6px 6px 30px;
  margin: 0 0 20px;
}
@media all and (-ms-high-contrast:none){
  .ttlPrimary {
    padding-top: 15px;
  }
  .ttlSecondary {
    padding-top: 12px;
  }
}
.ttlSimple {
  font-size: 16px;
  margin-bottom: 13px;
}
.ttlSimpleLarge {
  font-size: 18px;
}
.ttlSimpleRed {
  color: #c43a3a;
}
.ttlSimpleBlue {
  color: #03416a;
}
.ttlSimpleSml {
  color: #7f785d;
}
.ttlSimple:before {
  content: "■";
}
/* =================================== utility class */
.floatL {
  float: left;
  margin: 0 20px 25px 0;
}
.floatR {
  float: right;
  margin: 0 0 25px 20px;
}
.halfRight {
  float: right;
  width: 50%;
}
.halfLeft {
  float: left;
  width: 50%;
}
.sentenceBottom {
  margin-bottom: 22px;
}
.alignR {
  text-align: right;
}
.alignC {
  text-align: center;
}
.alignL {
  text-align: left;
}
.pb30 {
  padding-bottom: 30px;
}
.ml40 {
  margin-left: 40px;
}
.bold {
  font-weight: bold;
}
.underline {
  text-decoration: underline;
}
.underline.hover {
  text-decoration: none;
}
/* =================================== image utility */
.borderImg {
  border-radius: 2px;
  border: 1px solid #cccccc;
  padding: 2px;
}
.bottomImg {
  margin-bottom: 0;
}
.imgWrap {
  text-align: center;
  padding: 10px;
}
.imgWrap img {
  max-width: 100%;
}
.sizeImgA{
  width: 180px;
  height: auto;
}
/* =================================== companyInfo */
.companyInfo {
  border-top: 1px solid #ccc;
}
.companyInfo dt {
  float: left;
  padding: 12px 0 11px;
  width: 130px;
  text-align: right;
  font-weight: bold;
  color: #102a39;
  vertical-align: bottom;
}
.companyInfo dd {
  padding: 12px 12px 11px 173px;
  border-bottom: 1px solid #ccc;
  vertical-align: bottom;
}
/* =================================== squareList */
.squareList li {
  margin-bottom: 8px;
}
.squareList li:before {
  content: "■";
  font-size: 9px;
  margin-right: 12px;
  color: #999;
}
.halfLeft .squareList {
  margin-left: 40px;
}
/* =================================== border box */
.borderBox {
  border: 5px solid #eee;
  padding: 35px;
  line-height: 1.5;
}
.accessBox:first-of-type{
  border-bottom:none;
}
.accessBox:last-of-type{
  border-top:none;
}
.borderBoxDetail {
  padding: 30px 70px;
  font-size: 14px;
  margin-top: 40px;
}
.borderBoxDetail p,
.borderBoxDetail li {
  line-height: 1.5;
}
.borderBoxImg {
  padding: 20px;
}
.borderBoxImg img {
  max-width: 100%;
  width: 100%;
}
.borderBoxInner {
  padding: 20px 45px 0;
}
.borderBoxDetail h3,
.borderBoxDetail h4 {
  font-size: 16px;
  font-weight: normal;
}
.borderBoxDetail a {
  color: #00a0e9;
  text-decoration: underline;
}
.borderBoxDetail a.hover {
  text-decoration: none;
}
a[href^="mailto"] {
  text-decoration: underline;
}
.borderBox a[href^="mailto"] {
  color: #00a0e9;
}
/* =================================== btn components */
.btn {
  display: block;
  border: 1px solid #102a39;
  font-weight: bold;
  padding: 10px;
  text-align: center;
  position: relative;
  background-color: #fff;
  background-image: url(../img/common/icon_arrow_off.png);
  background-position: 97% center;
  background-repeat: no-repeat;
}
.btn.hover {
  color: #fff;
  background-color: #102a39;
  background-image: url(../img/common/icon_arrow_on.png);
}
.btnPrev {
  background-image: url(../img/page/icon_arrow_prev_off.png);
  background-position: 5% center;
}
.btnPrev.hover{
  background-image: url(../img/page/icon_arrow_prev_on.png);
}
.btnNext {
  background-image: url(../img/page/icon_arrow_next_off.png);
  background-position: 95% center;
}
.btnNext.hover{
  background-image: url(../img/page/icon_arrow_next_on.png);
}
/* =================================== apply */
.apply {
  overflow: hidden;
}
.apply > p {
  float: left;
}
.applyCall {
  padding: 8px 0 8px 15px;
  width: 242px;
  text-align: center;
  margin: auto;
}
.apply img {
  max-width: 100%;
}
/* =================================== contactList */
.contactList dt {
  font-weight: bold;
  margin-bottom: 6px;
}
.contactList dt:before {
  content: "■";
}
.contactList dd {
  margin-bottom: 10px;
}
/* =================================== themes */
/* theme A */
.themeA .btn.hover {
  background-color: #8a6f7d;
  border-color: #8a6f7d;
}
/* theme B */
.themeB .btn.hover {
  background-color: #b29b79;
  border-color: #b29b79;
}
.themeB .indexList2 h3 { background: #b29b79; }
/* theme C */
.themeC .btn.hover {
  background-color: #495a64;
  border-color: #495a64;
}
.themeC .indexList2 h3 { background: #495a64; }
/* theme D */
.themeD .btn.hover {
  background-color: #436a50;
  border-color: #436a50;
}
.themeD .indexList2 h3 { background: #436a50; }
/* theme E */
.themeE .btn.hover {
  background-color: #d06c6c;
  border-color: #d06c6c;
}
.themeE .indexList2 h3 { background: #d06c6c; }
/* theme F */
.themeF .btn.hover {
  background-color: #af5428;
  border-color: #af5428;
}
.themeF .indexList2 h3 { background: #af5428; }
/* theme G */
.themeG .btn.hover {
  background-color: #3b8e9a;
  border-color: #3b8e9a;
}
.themeG .indexList2 h3 { background: #3b8e9a; }

/* =================================== headingBox */
.headingBox > div:first-child {
  position: absolute;
  top: -10px;
  left: -10px;
}
.headingBox > h2,
.headingBox > p {
  padding-left: 148px;
}
.headingBox > h2 {
  font-size: 24px;
  margin-bottom: 10px;
  padding-top: 10px;
  font-weight: normal;
}
.headingBox > p {
  line-height: 1.6;
}
/* =================================== hgroup */
.hgroup {
  border-left: 2px solid #102a39;
  padding: 1px 8px;
  margin-bottom: 20px;
}
.hgroup h2,
.hgroup h3 {
  font-size: 26px;
}
/* =================================== backnumber */
.backnumber {
  overflow: hidden;
}
.backnumber li {
  float: left;
  text-align: center;
  margin: 0 20px 40px 0;
  width: 18%;
  margin-right: 2.5%;
  transition: opacity 0.3s ease;
  height: 181px;
}
.backnumber li.hover {
  opacity:0.7;
}
.backnumber li:nth-child(5n) {
  margin-right: 0;
}
.backnumber p {
  font-weight: bold;
  margin-top: 3px;
}
.btnMagazine {
  text-align: center;
  margin-bottom: 26px;
}
.bannerMagazine {
  overflow: hidden;
  padding-bottom: 100px;
  margin-top: 15px;
}
.bannerMagazine li {
  float: left;
  margin: 0 16px 0 0;
}
.bannerMagazine li:nth-child(3n) {
  margin-right: 0;
}
.bannerMagazine li img {
  width: 236px;
}
/* =================================== newMagazine */
.newMagazine h3 {
  margin: 0 0 0 -28px;
  overflow: visible;
}
.newMagazineHeadline {
  font-weight: bold;
  margin-bottom: 10px;
  font-size: 18px;
}
.newMagazine div > img{
  width: 70px;
  height: auto;
}
.newMagazine {
  margin-bottom: 30px;
}
.newMagazine li {
  position: relative;
  min-height: 300px;
}
.newMagazine div:first-of-type {
  padding-right: 167px;
}
.newMagazine div:last-of-type {
  position: absolute;
  right: 35px;
  top: 120px;
}
.newMagazine li > p:last-child {
  position: absolute;
  right: 0;
  top: 250px;
  width: 140px;
  z-index: 2;
}
.newMagazine li > p:last-child .btn {
  padding: 6px;
}
.newMagazine .humanhistory{
  color: #d0703e;
}
.newMagazine .workfront{
  color: #931d1d;
}
.newMagazine .pioneer{
  color: #185275;
}
.newMagazine .office{
  color: #0e4821;
}
.newMagazine .approach{
  color: #4D2B39;
}
.newMagazine .supporter{
  color: #186974;
}
.newMagazine .special{
  color: #6c533c;
}

/* =================================== caseList */
.caseList {
  margin: 40px 0;
}
.caseList li {
  margin-bottom: 30px;
}
.caseList li a {
  display: block;
  width: 740px;
  margin: auto;
  box-sizing: border-box;
  height: 302px;
  transition: all 0;
  position: relative;
  background-position: center top;
  background-repeat: no-repeat;
}
.caseList li:nth-child(1) a {
  background-image: url(../img/mylife/index_case01_off.jpg);
}
.caseList li:nth-child(1) a.hover {
  background-image: url(../img/mylife/index_case01_on.jpg);
}
.caseList li:nth-child(2) a {
  background-image: url(../img/mylife/index_case02_off.jpg);
}
.caseList li:nth-child(2) a.hover {
  background-image: url(../img/mylife/index_case02_on.jpg);
}
.caseList li:nth-child(3) a {
  background-image: url(../img/mylife/index_case03_off.jpg);
}
.caseList li:nth-child(3) a.hover {
  background-image: url(../img/mylife/index_case03_on.jpg);
}
.caseList li:nth-child(4) a {
  background-image: url(../img/mylife/index_case04_off.jpg);
}
.caseList li:nth-child(4) a.hover {
  background-image: url(../img/mylife/index_case04_on.jpg);
}
.caseList li:nth-child(5) a {
  background-image: url(../img/mylife/index_case05_off.png);
}
.caseList li:nth-child(5) a.hover {
  background-image: url(../img/mylife/index_case05_on.png);
}
.caseList li:nth-child(6) a {
  background-image: url(../img/mylife/index_case06_off.png);
}
.caseList li:nth-child(6) a.hover {
  background-image: url(../img/mylife/index_case06_on.png);
}
.caseList li:nth-child(7) a {
  background-image: url(../img/mylife/index_case07_off.png);
}
.caseList li:nth-child(7) a.hover {
  background-image: url(../img/mylife/index_case07_on.png);
}
.caseList li:nth-child(8) a {
  background-image: url(../img/mylife/index_case08_off.png);
}
.caseList li:nth-child(8) a.hover {
  background-image: url(../img/mylife/index_case08_on.png);
}
.caseList li:nth-child(9) a {
  background-image: url(../img/mylife/index_case09_off.png);
}
.caseList li:nth-child(9) a.hover {
  background-image: url(../img/mylife/index_case09_on.png);
}
.caseList li:nth-child(10) a {
  background-image: url(../img/mylife/index_case10_off.png);
}
.caseList li:nth-child(10) a.hover {
  background-image: url(../img/mylife/index_case10_on.png);
}
.caseList li:nth-child(11) a {
  background-image: url(../img/mylife/index_case11_off.png);
}
.caseList li:nth-child(11) a.hover {
  background-image: url(../img/mylife/index_case11_on.png);
}
.caseList li:nth-child(12) a {
  background-image: url(../img/mylife/index_case12_off.png);
}
.caseList li:nth-child(12) a.hover {
  background-image: url(../img/mylife/index_case12_on.png);
}
.caseList li:nth-child(13) a {
  background-image: url(../img/mylife/index_case13_off.jpg);
}
.caseList li:nth-child(13) a.hover {
  background-image: url(../img/mylife/index_case13_on.jpg);
}
.caseList li:nth-child(14) a {
  background-image: url(../img/mylife/index_case14_off.jpg);
}
.caseList li:nth-child(14) a.hover {
  background-image: url(../img/mylife/index_case14_on.jpg);
}
.caseList li:nth-child(15) a {
  background-image: url(../img/mylife/index_case15_off.png);
}
.caseList li:nth-child(15) a.hover {
  background-image: url(../img/mylife/index_case15_on.png);
}
.caseList li:nth-child(16) a {
  background-image: url(../img/mylife/index_case16_off.png);
}
.caseList li:nth-child(16) a.hover {
  background-image: url(../img/mylife/index_case16_on.png);
}
.caseList li:nth-child(17) a {
  background-image: url(../img/mylife/index_case17_off.png);
}
.caseList li:nth-child(17) a.hover {
  background-image: url(../img/mylife/index_case17_on.png);
}
.caseList li:nth-child(18) a {
  background-image: url(../img/mylife/index_case18_off.png);
}
.caseList li:nth-child(18) a.hover {
  background-image: url(../img/mylife/index_case18_on.png);
}
.caseList li:nth-child(19) a {
  background-image: url(../img/mylife/index_case19_off.png);
}
.caseList li:nth-child(19) a.hover {
  background-image: url(../img/mylife/index_case19_on.png);
}
.caseList li:nth-child(20) a {
  background-image: url(../img/mylife/index_case20_off.png);
}
.caseList li:nth-child(20) a.hover {
  background-image: url(../img/mylife/index_case20_on.png);
}
.caseList li:nth-child(21) a {
  background-image: url(../img/mylife/index_case21_off.png);
}
.caseList li:nth-child(21) a.hover {
  background-image: url(../img/mylife/index_case21_on.png);
}
.caseList li:nth-child(22) a {
  background-image: url(../img/mylife/index_case22_off.png);
}
.caseList li:nth-child(22) a.hover {
  background-image: url(../img/mylife/index_case22_on.png);
}


.caseBody {
  background: rgba(255,255,255,.85) url(../img/mylife/icon_arrow_red.png) 97% center no-repeat;
  position: absolute;
  bottom: 2px;
  left: 0;
  right: 2px;
  padding: 16px 87px;
}
.caseBody h2 {
  font-size: 22px;
  border-bottom: 1px solid #122e3f;
  padding: 0 0 10px 70px;
  margin-bottom: 10px;
}
.caseBody p {
  padding-left: 70px;
  font-weight: bold;
}
.caseBody .case {
  position: absolute;
  bottom: 30px;
  left: 20px;
}
/* =================================== caseHeading */
.caseHeadingWrap {
  width: 1000px;
  margin: auto;
  padding-top: 60px;
}

.contentsVisual-case06 .caseHeadingWrap {
	padding-top: 40px;
}

.contentsVisual-case08 .caseHeadingWrap {
	padding-top: 36px;
}


.caseHeading {
  background-color: rgba(255,255,255,.8);
  padding: 4px;
  width: 654px;
  position: relative;
}
.caseHeading > div {
  border: 1px solid #102a39;
}
.caseHeading > div > div {
  border: 1px solid #cfd2d4;
  padding: 12px 24px 24px;
}
.caseImg {
  position: absolute;
  top: -28px;
  left: -28px;
}
.caseHeading h2 {
  text-align: center;
  margin-bottom: 20px;
}
.caseHeading h2 img {
  width: 418px;
}
.caseHeading .ttlSecondary {
  font-size: 16px;
  font-weight: normal;
  width: 624px;
}
.caseTtl {
  font-weight: bold;
  font-size: 28px;
  margin-bottom: 15px;
}
.caseSentence {
  line-height: 1.6;
}
.caseHeadingWrap .pageNav {
  margin-top: 25px;
}
.caseHeadingWrap .pageNav li a {
  padding: 8px 40px;
}
.caseHeadingWrap .pageNav li:first-child {
  float: left;
}
.caseHeadingWrap .pageNav li:last-child {
  float: right;
}
/* =================================== contentsCase */
.contentsCase {
  background: #fff;
  width: 1000px;
  margin: auto;
  padding: 68px 0 18px;
  margin-bottom: 40px;
}

.contentsCase.pb0{padding-bottom: 0;}

.contentsCaseInner {
  padding: 0 60px 50px;
}
.contentsCase h3 {
  color: #bf0000;
  font-size: 30px;
  border-bottom: 1px solid #102a39;
  padding-bottom: 13px;
  margin-bottom: 18px;
}
.contentsCase p {
  line-height: 1.7;
}
.contentsCaseVisual {
  margin-bottom: 50px;
}

.contentsCaseVisual.mb0{margin-bottom: 0;}

.contentsCaseVisual img {
  max-width: 100%;
  width: 100%;
  vertical-align: bottom;
}
.case .btnWrap {
  width: 740px;
  margin: auto;
}
/* =================================== caseNav */
.caseNavWrap {
  background: #313131;
  margin: 58px 0 20px;
  padding: 18px 0 10px;
}

.caseNavWrap.new {
	background: #fff;

}

.caseNav {
  width: 1000px;
  margin: auto;
}
.caseNav li {
  float: left;
  margin-right: 19px;
}

.new .caseNav li {
  margin-right: 16px;
  margin-bottom: 16px;
}

.caseNav li.mr0 {
	margin-right: 0;
}

.caseNav li.nf {
	float:none;
	margin-bottom: 10px;
}

.caseNav li:first-child img {
  width: 99px;
}

.new .caseNav li:first-child img {
  width: auto;
}

.new .caseNav li:first-child img:hover {
  opacity:0.8;
}

.caseNav li:last-child {
  margin-right: 0;
}
/* =================================== single components */
.contact {
  line-height: 1.5;
}
.telNumber {
  font-size: 36px;
}
.contentsBox {
  position: relative;
}
.tag {
  display: inline-block;
  background: #c33;
  color: #fff;
  font-size: 10px;
  padding: 2px 6px 1px;
}
#asideNav .logo {
  text-align: left;
}
.lp .contentsInner ,
.form .contentsInner ,
.case .contentsInner {
  padding: 16px 20px;
}



@media only screen and (max-width: 860px) {
  .contentsInner {
    width: auto;
    padding: 3% 3% 0 3%;
  }
  .contentsInner.spNone {
    padding: 0;
  }
  .breadcrumb {
    margin-bottom: 10px;
  }
  .contentsHeader .contentsInner {
    width: auto;
    padding: 3%;
  }
  .indexList {
    margin: 0 0 40px;
  }
  .indexList li {
    width: 48%;
    margin-right: 4%;
  }
  .indexList h2 img {
    max-width: 100%;
    width: 100%;
  }
  .apply p {
    max-width: 50%;
  }
  .applyCall {
    max-width: 40%;
  }
  .btnWrap li {
    width: 48%;
    margin-right: 4%;
  }
  .btnWrap li img {
    max-width: 100%;
    width: 100%;
  }
  .contentsVisual {
    background-position: 60% center;
  }
  .contentsVisual-whatslegal {
    background-position: 60% center;
  }
  .indexList2 li {
    width: 49%;
    margin-right: 2%;
  }
  .bannerMagazine li {
    width: 32%;
    margin: 0 2% 0 0;
  }
  .bannerMagazine img {
    max-width: 100%;
  }
  .bannerMagazine li:nth-child(3n) {
    margin-right: 0;
  }
  .contentsHeaderShadow:after {
    margin-left: -370px;
  }
  .indexListAttorneys {
    margin-top: 20px;
  }
  .newMagazine h3 img {
    width: 100%;
  }
  /* =================================== caseHeading */
  .caseHeadingWrap {
    width: auto;
  }
  .caseHeading {
    margin: auto;
  }
  .caseHeadingWrap .pageNav {
    margin: 25px auto 0;
    width: 654px;
  }
  /* =================================== contentsCase */
  .contentsCase {
    width: auto;
    margin: auto;
  }
  /* =================================== caseNav */
  .caseNavWrap {
    background: #313131;
    overflow: hidden;
    margin: 58px 0 20px;
    padding: 18px 0 10px;
  }
  .caseNav {
    width: auto;
    padding: 0 10px;
  }
  .caseNav li img {
    max-width: 100%;
  }
  .caseNav li {
    width: 23%;
    margin-right: 2.5%;
  }
  .caseNav li:first-child {
    width: 10%;
  }
  .new .caseNav li:first-child {
    width: 20%;
  }
  .caseNav li:first-child img {
    width: auto;
  }
}





@media only screen and (max-width: 640px) {
  /* =================================== contents Header */
  .contentsHeader {
    background-size: 70%;
    background-position: 90% center;
  }
  .contentsHeader h1 {
    font-size: 22px;
  }
  .contentsHeaderShadow:after {
    background-size: 400px;
    width: auto;
    left: 0;
    right: 0;
    margin-left: 0;
    max-width: 100%;
  }
  /* =================================== contents Inner */
  .contentsBox {
    padding: 10px 10px 20px;
    margin-top: 0;
  }
  .contentsBox:last-of-type {
    margin-bottom: 10px;
  }
  .contentsBoxInner {
    padding: 10px 5px 0;
  }
  .sectionInner {
    padding: 36px 0 0;
  }
  /* =================================== contents visual */
  .contentsVisual {
    width: 100%;
    max-width: 100%;
    height:0;
    padding: 0 0 30%;
    overflow: hidden;
    background-size: cover;
    background-position: 63% center;
  }
  .headingVisual {
    margin: -10px -10px 0;
  }
  .detailHeading {
    margin: 0 auto 14px;
  }
  .ttlPrimary + .visualSecondary {
    margin-top: 10px;
  }
  /* =================================== index list */
  .indexList {
    margin-bottom: 0;
  }
  .indexList li {
    float: none;
    width: auto;
    margin: 0 0 15px;
  }
  .indexList h2 img {
    width: 100%;
  }
  .indexListBody {
    font-size: 12px;
  }
  .indexList2 {
    margin-top: 20px;
  }
  .indexList2 li {
    width: auto;
    margin: 0 0 18px 0;
    float: none;
  }
  .indexList2body p:first-of-type {
    font-size: 14px;
    height: auto;
    margin-bottom: 10px;
    min-height: 74px;
  }
  .indexList2 li {
    height: auto !important;
  }
  .indexListImg img {
    width: 100px;
  }
  /* =================================== group list */
  .groupList li > h4,
  .groupList li > p {
    padding-left: 0;
  }
  .groupList li > img {
    position: static;
    display: block;
    margin: 0 auto 10px;
    width: 100%;
  }
  /* =================================== page bottom components */
  .btnWrap li {
    width: 100%;
    margin: 0 0 16px;
    float: none;
  }
  .telArea {
    padding-bottom: 15px;
  }

  .telArea img {
    max-width: 100%;
  }
  #pagetopWrap {
    padding: 0 3% 3%;
  }
  #pagetopWrap .call {
    text-align: center;
  }
  #pagetopWrap .call.type02 {
    margin-bottom: 5%;
  }
  #pagetopWrap .contentsInner {
    width: auto;
    padding: 3% 0;
  }
  /* =================================== title components */
  .ttlPrimary {
    font-size: 18px;
  }
  .ttlSecondary {
    font-size: 14px;
  }
  /* =================================== utility class */
  .break {
    display: block;
  }
  .floatL,.floatR {
    float: none;
    margin: 0 0 0;
    display: block;
    margin: 0 auto 10px;
  }
  .halfRight ,
  .halfLeft {
    float: none;
    width: auto;
    padding: 0 10px;
  }
  .halfLeft .squareList {
    margin-left: 0;
  }
  .sentenceBottom {
    margin-bottom: 14px;
  }
  /* =================================== image utility */
  img {
    max-width: 100%;
  }
  .maxImg img, .maxImg {
    max-width: 100%;
    width: 100%;
  }
  /* =================================== companyInfo */
  .companyInfo dt {
    width: auto;
    text-align: left;
    float: none;
    padding: 12px 12px 0;
  }
  .companyInfo dd {
    padding: 12px 12px 12px 30px;
    border-bottom: 1px solid #ccc;
    line-height: 1.5;
  }
  /* =================================== border box */
  .borderBox {
    padding: 15px;
  }
  .borderBoxDetail {
    margin-top: 20px;
  }
  .borderBoxInner {
    padding: 10px 0 0;
  }
  /* =================================== apply */
  .apply > p {
    float: none;
    margin-bottom: 5px;
    text-align: center;
    max-width: inherit;
  }
  .apply > .applyCall {
    padding: 0;
    margin-top: 10px;
    width: auto;
    max-width: 300px;
  }
  .applyCall img {
    width: auto;
  }
  /* =================================== contactList */
  .contactList dt {
    font-weight: bold;
    margin-bottom: 6px;
  }
  .contactList dt:before {
    content: "■";
  }
  .contactList dd {
    margin-bottom: 10px;
  }
  /* =================================== headingBox */
  .headingBox > div:first-child {
    position: static;
    float: left;
    margin: -15px 10px 5px -15px;
  }
  .headingBox > div:first-child img {
    width: 80px;
    height: auto;
  }
  .headingBox > h2 {
    padding-top: 5px;
    font-size: 20px;
  }
  .headingBox > h2,
  .headingBox > p {
    padding-left: 0;
  }
  .headingBox > p {
    clear: both;
  }
  /* =================================== hgroup */
  .hgroup {
    margin-bottom: 10px;
  }
  .hgroup h2,
  .hgroup h3 {
    font-size: 18px;
  }
  /* =================================== backnumber */
  .backnumber li {
    margin: 0 20px 40px 0;
    width: 32%;
    margin-right: 2%;
  }
  .backnumber li img {
    width: 100%;
  }
  .backnumber li:nth-child(5n) {
    margin-right: 2%;
  }
  .backnumber li:nth-child(3n) {
    margin-right: 0;
  }
  .backnumber p {
    font-size: 80%;
  }
  /* =================================== bannerMagazine */
  .bannerMagazine {
    padding-bottom: 0;
  }
  .btnMagazine {
    margin-bottom: 10px;
  }
  .bannerMagazine li {
    float: none;
    width: auto;
    margin: 0 auto 10px;
    text-align: center;
  }
  .bannerMagazine li:last-child {
    margin-bottom: 0;
  }
  /* =================================== newMagazine */
  .newMagazine h3 {
    margin: 0;
    overflow: visible;
  }
  .newMagazineHeadline {
    font-weight: bold;
    margin-bottom: 10px;
    font-size: 18px;
  }
  .newMagazine {
    margin-bottom: 30px;
  }
  .newMagazine li {
    position: relative;
    min-height: inherit;
  }
  .newMagazine div:first-of-type {
    padding-right: 0;
    float: left;
  }
  .newMagazine div:last-of-type {
    position: static;
    clear: both;
    text-align: center;
    padding: 10px;
  }
  .newMagazine li > p:last-child {
    clear: both;
    position: static;
    width: auto;
  }
  .newMagazine li > p:last-child .btn {
    padding: 6px;
    margin-bottom: 20px;
  }
  /* =================================== caseList */
  .caseList {
    margin: 0;
  }
  .caseList li {
    margin-bottom: 15px;
  }
  .caseList li a {
    width: auto;
    box-sizing: border-box;
    height: auto;
    min-height: 100px;
    padding: 40% 0 0;
    background-size: contain;
    box-shadow: 1px 1px 2px rgba(0,0,0,.1);
  }
  .caseBody {
    position: relative;
    bottom: inherit;
    right: inherit;
    padding: 16px 40px 16px 80px;
    background-size: 12px 22px;
    background-color: #fff;
  }
  .caseBody h2 {
    font-size: 15px;
    padding: 0 0 10px 10px;
  }
  .caseBody p {
    padding-left: 10px;
    font-size: 12px;
  }
  .caseBody .case {
    top: 50%;
    left: 10px;
    width: 62px;
    margin-top: -31px;
  }
  .caseBody .case img {
    max-width: 100%;
  }
  /* =================================== single components */
  .telNumber {
    font-size: 18px;
  }
  /* =================================== caseHeading */
  .caseHeadingWrap {
    padding-top: 10px;
  }
  .caseHeading {
    padding: 4px;
    width: 95%;
  }
  .caseImg {
    position: absolute;
    top: -7px;
    left: -7px;
    width: 81px;
  }
  .contentsVisual-case {
    height: auto;
    background-position: center top;
    background-size: 100%;
    padding-top: 30%;
    padding-bottom: 10px;
  }
  .caseHeading > div > div {
    padding: 10px 12px 12px;
  }
  .caseHeading h2 {
    margin-bottom: 10px;
  }
  .caseHeading .ttlSecondary {
    font-size: 14px;
    width: auto;
    margin-bottom: 10px;
  }
  .caseTtl {
    font-size: 20px;
    margin-bottom: 10px;
  }
  .caseHeadingWrap .pageNav {
    margin: 25px 10px 0;
    width: auto;
  }
  .caseHeadingWrap .pageNav li a {
    padding: 8px 20px;
  }
  /* =================================== caseNav */
  /* 100 9 206 9 206 */
  .caseNavWrap {
    margin: 20px 0 10px;
  }
  .caseNav li img {
    width: 100%;
  }
  .caseNav li {
    width: 48%;
    margin: 0 2% 0 0;
  }
  .caseNav li:first-child {
    width: 32%;
    margin: 0 2% 0 0;
  }

  .new .caseNav li {
    margin-right: 3%;
    margin-bottom: 3%;
	}

  .new .caseNav li:first-child {
    width: 100%;
    text-align: center;
	margin: 0 3% 0 0;
  }
  .new .caseNav li:nth-child(odd) {
    margin-right: 0;
  }
  .new .caseNav li:first-child img {
    width: 40%;
	margin-bottom: 2%;
  }

  .new .caseNav li {
    margin-right: 3%;
    margin-bottom: 3%;
	}

  /* =================================== contentsCase */
  .contentsCase {
    background: #fff;
    width: auto;
    margin: 0 10px;
    padding: 20px 0 18px;
  }
  .contentsCaseInner {
    padding: 0 20px 25px;
  }
  .contentsCase h3 {
    font-size: 20px;
  }
  .contentsCaseVisual {
    margin-bottom: 25px;
  }
  .case .btnWrap {
    width: auto;
    margin: auto;
  }
}


/* =================================== .newsIndex */
.newsIndex .unitWrap{
  text-align: left;
  border-top: 1px solid #ddd;
  padding:1.5%;
}
.newsIndex .last .unitWrap{
  border-bottom: 1px solid #ddd;
}
.newsIndex .unitWrap li{
  display: inline-block;
  width: 13%;
  box-sizing: border-box;
  vertical-align: top;
}
.newsIndex .unitWrap li.category{
  font-size: 11px;
  font-weight: bold;
  color: #fff;
  padding:5px;
  background: #ddd;
  width: 22%;
  text-align: center;
}
.newsIndex .unitWrap li.excerpt{
  width: 63%;
  padding-left:2%;
}
.newsIndex .unitWrap li.excerpt img{max-width: 100%; height: auto; }
.newsIndex .unitWrap li.attorneys{
  background: #accecc;
}
.newsIndex .unitWrap li.event{
  background: #f4aebf;
}
.newsIndex .unitWrap li.seminar{
  background: #fbda69;
}
.newsIndex .unitWrap li.recruit{
  background: #c6d1e0;
}
.newsIndex .unitWrap li.new{
  background: #cc3333;
}

@media only screen and (max-width: 640px) {
  .newsIndex .unitWrap{
    padding:3% 1.5%;
  }
  .newsIndex .unitWrap li{
    width: 30%;
    vertical-align: middle;
  }
  .newsIndex .unitWrap li.category{
    width: 65%;
  }
  .newsIndex .unitWrap li.excerpt{
    width: 100%;
    display: block;
    margin-top: 3%;
    padding:0;
  }
}
/* =================================== .checkedList */

.checkedList {
  margin-bottom: 35px;
}
.checkedList li{
  border-top: 1px dotted #c33;
  padding:10px 15px;
  position: relative;
  display: table;
  width:100%;
}
.checkedList li:last-child{
  border-bottom: 1px dotted #c33;
}
.checkedList li:before{
  content: "";
  background:url(../img/flow/icon_checked.png) no-repeat center left;
  width: 7%;
  height: 28px;
  display: table-cell;
  vertical-align: middle;
}
.checkedList li span{
  display: table-cell;
  vertical-align: middle;
  width: 92%;
}
.checkedList.type02 {
  margin: 35px auto;
  width:85%;
}
.checkedList.type02 li{
  padding:10px 85px;
  font-size:20px;
  font-weight:bold;
}
.checkedList.type02 li:before{
  width: 10%;
}
@media only screen and (max-width: 640px) {
  .checkedList.type02 li{
    padding:10px 20px;
    font-size:16px;
  }
  .checkedList li span {
    width: 70%;
  }
}
@media only screen and (max-width: 400px) {
  .checkedList li:before {
    background-size:60% auto;
  }
  .checkedList li span{
    width: 85%;
  }
  .checkedList li:before {
    width: 15%;
  }
  .checkedList.type02 {
    margin: 5% auto;
  }
  .checkedList.type02 li{
    padding: 10px 15px;
  }
}

/* =================================== .flowContents */

.flowContents{
  margin-top: 25px;
}
.flowContents li{
  padding:10px 20px;
  background: #eee;
  border:5px solid #fff;
  outline: 1px solid #ccc;
  margin: 15px 0;
  box-sizing: border-box;
  background-image: url(../img/flow/img_flow_num_01.png);
  background-repeat: no-repeat;
  background-position: 15px 15px;
  padding-left: 125px;
}
.flowContents li.checkedListNum02{
  background-image: url(../img/flow/img_flow_num_02.png);
}
.flowContents li.checkedListNum03{
  background-image: url(../img/flow/img_flow_num_03.png);
}
.flowContents li.checkedListNum04{
  background-image: url(../img/flow/img_flow_num_04.png);
}
.flowContents li.checkedListNum05{
  background-image: url(../img/flow/img_flow_num_05.png);
}
.flowContents li h3{
  padding:5px 20px 10px;
  font-size: 24px;
  border-bottom: 1px solid #ccc;
}
.flowContents li p{
  padding:15px 10px 15px 22px;
}
@media only screen and (max-width: 640px) {
  .flowContents li {
    background-image: none !important;
    padding: 2%;
  }
  .flowContents li h3{
    padding:2%;
    font-size: 24px;
    border-bottom: 1px solid #ccc;
  }
  .flowContents li h3 span{
    color: #aaa;
  }
  .flowContents li p{
    padding:3% 2% 1%;
  }
}


/* =================================== .flexColumn3 */
.flexColumn3 {
  margin:15px 0;
}
.flexColumn3 > div {
  width: 200px;
  margin-right: 15px;
  display: block;
  float: left;
  font-size:14px;
}
.flexColumn3 > div.last {
  margin-right: 0;
}
.flexColumn3 > div p {
  margin-top:10px;
}
@media only screen and (max-width: 860px) {
  .flexColumn3 > div {
    margin-right: 7px;
  }
}
@media only screen and (max-width: 640px) {
  .flexColumn3 > div {
    width: 100%;
    margin: 5% auto 8%;
    display: block;
    float: none;
    text-align: center;
  }
  .flexColumn3 > div p {
    text-align:left;
  }
  .flexColumn3 > div.last p {
    margin-bottom: 0;
  }
  .flexColumn3 img {
    width: 100%;
    height: auto;
    border-radius:0px;
    box-shadow: none;
  }
}

/* =================================== .dammy */
.dammy{
  position:relative;
}
.dammy:after{
  position:absolute;
  display:block;
  width:100%;
  height:90%;
  content:"要デザイン";
  color:#fff;
  font-size:100px;
  text-align:center;
  padding-top:30%;
  margin-top:12%;
  background:rgba(0,0,0,0.3);
  top:0;
  box-sizing:border-box;
  left:0;
}
@media only screen and (max-width: 640px) {
  .dammy:after {
    content: "要デザイン";
    color: #FFF;
    font-size: 40px;
    text-align: center;
    padding-top: 50%;
    margin-top: 35%;
  }
}


/* =================================== .qaUnit */

.sectionInner.qaSection{
  padding-top: 100px;
}
.qaUnit dl{
  margin:15px 0;
}
.qaUnit dt,
.qaUnit dd{
  padding:5px 0 10px 50px;
  margin-bottom: 10px;
  position: relative;
}
.qaUnit dt{
  font-size: 19px;
  font-weight: bold;
  border-bottom:1px solid #ccc;
}
.qaUnit dt:before,
.qaUnit dd:before{
  content:"";
  background: url(../img/qa/img_head_q.png);
  width: 17px;
  height: 23px;
  display: inline-block;
  position: relative;
  top:3px;
  margin-right: 20px;
  margin-left: -45px;
}
.qaUnit dt:before{
  margin-right: 25px;
}
.qaUnit dd:before{
  background:url(../img/qa/img_head_a.png);
  width: 19px;
  height: 22px;
  position: absolute;
  top:5px;
}
.qaUnit dd p{
  display: inline-block;
  margin-bottom:1em;
  font-size: 14px;
}
.qaUnit dd li{
  display: block;
  margin-bottom:0.5em;
  font-size: 14px;
}
@media only screen and (max-width: 640px) {
  .qaUnit dl {
    margin: 0;
  }
  .sectionInner.qaSection{
    padding-top: 30px;
  }
  .qaUnit dt,
  .qaUnit dd{
    padding:0;
  }
  .qaUnit dt {
    font-size: 15px;
    padding: 10px 30px 10px 0;
    margin-bottom: 0;
  }
  .qaUnit dt:before,
  .qaUnit dd > p:first-child::before{
    width: 17px;
    height: 23px;
    display: block;
    position: static;
    margin: 0 10px 6px 0;
    float: left;
  }
  .qaUnit dd:before{
    content: none;
  }
  .qaUnit dd > p:first-child:before{
    content: "";
    display: block;
    background:url(../img/qa/img_head_a.png);
    width: 19px;
    height: 22px;
    position: relative;
    top: 6px;
  }
  .qaUnit dd {
    max-height: 0;
    overflow: hidden;
    margin-bottom: 0;
    transition: max-height,padding .5s ease;
    padding: 0 0;
  }
  .qaUnit .qaShown + dd {
    max-height: 9999px;
    padding: 10px 0;
  }
  .qaUnit dt {
    background: url(../img/qa/icon_arrow_open.png) right center no-repeat;
    background-size: 20px auto;
  }
  .qaUnit .qaShown {
    background: url(../img/qa/icon_arrow_close.png) right center no-repeat;
    background-size: 20px auto;
  }
}
/* =================================== map */
.mapList dt {
  float: left;
}
.mapList dd {
  padding-left: 120px;
  border-bottom: 1px solid #102a39;
  margin-bottom: 20px;
  padding-bottom: 20px;
}
.mapList dd:last-child {
  border-bottom: none;
}
.mapImg img {
  border: 2px solid #102a39;
}
@media only screen and (max-width: 640px) {
  .mapList dt {
    float: none;
    margin-bottom: 10px;
  }
  .mapList dd {
    padding-left: 0;
    border-bottom: 1px solid #102a39;
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
  .mapList dd:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
  .mapImg img {
    border: 2px solid #102a39;
  }
}
/* =================================== orderd list */
.orderdList {
  line-height: 1.6;
  margin: 12px 0;
  counter-reset: num;
}
.orderdList li:before {
  counter-increment: num;
  content: "（"counter(num)"）";
  display: block;
  position: absolute;
  left: 0;
}
.orderdList li {
  padding-left: 2.5em;
  position: relative;
}
.orderdList li.nonone:before {
  content:none;
}
.orderdList li.nonone p span.right{
  margin-left: 16em;
}
.orderdList li.nonone p span.sp_br{
  display: none;
}


/* =================================== sitemap list */
.sitemapList {
  float: left;
  width: 49%;
  margin-bottom: 40px;
  margin-right: 2%;
}
.sitemapList:nth-child(2n) {
  margin-right: 0;
}
.sitemapList dt {
  position: relative;
}
.sitemapList dt:after {
  content: "";
  display: block;
  height: 100%;
  width: 30px;
  position: absolute;
  right: 0;
  top: 0;
  background: url(../img/sitemap/icon_arrow_ttl.png) no-repeat right center;
}
.sitemapList dd {
  padding-left: 15px;
}
.sitemapList a {
  padding-left: 20px;
  display: inline-block;
  background: url(../img/sitemap/icon_arrow_dd.png) left center no-repeat;
  margin-bottom: 7px;
}
.sitemapList a.hover {
  text-decoration: underline;
}
@media only screen and (max-width: 640px) {
  .sitemapList {
    float: none;
    width: auto;
    margin-bottom: 20px;
    margin-right: 0;
  }
  .sitemapList a {
    padding-left: 20px;
    display: inline-block;
    background: url(../img/sitemap/icon_arrow_dd.png) left center no-repeat;
    margin-bottom: 7px;
  }
}
/* =================================== recruit concept */
.headingText {
  font-weight: bold;
  font-size: 26px;
  margin: 25px auto 0;
}
.bgConcept{
  background: url(../img/recruitconcept/bg_recruit.jpg) right bottom no-repeat #fff;
  background-size: contain;
}
.innerBg {
  padding: 60px 22px 30px;
}
@media only screen and (max-width: 860px) {
  .innerBg {
    background-size: cover;
  }
}
@media only screen and (max-width: 640px) {
  .headingText {
    margin: 10px auto;
    font-size: 16px;
  }
  .headingImgConcept {
    max-width: 50%;
    margin: 5% auto;
    position: relative;
    left: -1em;
  }
  .innerBg {
    padding: 15px 15px 34px;
    margin: 0 -15px -20px;
    background-size: cover;
  }
}
/* =================================== full width */
@media only screen and (min-width: 861px) {
  .juristerra_c_juristerra_c#asideNav .inner > div ,
  .juristerra_juristerra#asideNav .inner > div ,
  .lp #asideNav .inner > div ,
  .form #asideNav .inner > div ,
  .case #asideNav .inner > div {
    display: none;
  }
  .juristerra_c_juristerra_c#asideNav .inner ,
  .juristerra_juristerra#asideNav .inner ,
  .lp #asideNav .inner ,
  .form #asideNav .inner ,
  .case #asideNav .inner {
    background: transparent;
    height:100px !important;
  }
  .juristerra_c_juristerra_c#asideNav li ,
  .juristerra_juristerra#asideNav li ,
  .lp #asideNav li ,
  .form #asideNav li ,
  .case #asideNav li {
    display: none;
  }
  .juristerra_c_juristerra_c#asideNav li.gnav00 ,
  .juristerra_juristerra#asideNav li.gnav00 ,
  .lp #asideNav li.gnav00 ,
  .form #asideNav li.gnav00 ,
  .case #asideNav li.gnav00 {
    display: block;
  }
  .juristerra_c_juristerra_c#asideNav li.gnav00 a ,
  .juristerra_juristerra#asideNav li.gnav00 a ,
  .lp #asideNav li.gnav00 a ,
  .form #asideNav li.gnav00 a ,
  .case #asideNav li.gnav00 a {
    height: 100px;
  }
}
/*=================================== secondaryNav  */
@media only screen and (min-width: 861px) {
  body {
    position: relative;
  }
  #asideNav .inner {
    position: fixed;
    z-index: 10;
  }
  #asideNav .inner:after {
    content: "";
    display: block;
    height: 100%;
    width: 100%;
    background: #102a39;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  .case #asideNav .inner:after {
    display: none;
  }
  #asideNav #gnav li.hover > a {
    background-color: #c33;
  }
  .secondaryNav {
    position: absolute;
    top: 0;
    left: 0;
    width: 240px;
    height: 100%;
    background: #1f4d65;
    padding: 0;
    transition: left ease 0.3s;
    z-index: -1;
  }
  #asideNav #gnav .secondaryNav li a {
    background: transparent url(../img/common/icon_arrow_on.png) 10px center no-repeat;
    border: none;
    padding: 9px 0 9px 24px;
    font-size: 14px;
  }
  #asideNav #gnav .secondaryNav li a.hover {
    text-decoration: underline;
  }
  #asideNav li.hover .secondaryNav {
    display: block;
    left: 240px;
  }
  .secondaryNavHeading {
    color: #fff;
    border-bottom: 4px solid #548497;
    margin: 72px 10px 10px;
    padding-bottom: 8px;
  }
  .secondaryNavClose {
    display: none !important;
  }
}
@media all and (-ms-high-contrast:none){
    .secondaryNav {
      transition: none;
    }
  }
@media only screen and (max-width: 860px) {
  .secondaryNavClose {
    display: block !important;
  }
}
@media only screen and (max-width: 860px) {
  .shown {
    display: block;
  }
  .secondaryNav {
    position: absolute;
    top: 0;
    left: -100%;
    transition: all .3s;
    background: #1f4d65;
    height: 100%;
    z-index: 2;
    width: 100%;
  }
  .secondaryNav.shown {
    left: 0px;
  }
  #asideNav #gnav .secondaryNav li a {
    background: transparent url(../img/common/icon_arrow_on.png) 10px center no-repeat;
    padding: 9px 0 9px 24px;
    border: none;
    font-size: 14px;
  }
  #asideNav #gnav .secondaryNavClose {
    display: block;
    background: none;
    border: none;
    position: relative;
    margin: 20px auto 0;
    padding: 10px;
    border: 1px solid #fff;
    box-sizing: border-box;
    width: 80%;
    text-align: center;
  }
  .secondaryNavClose:before ,
  .secondaryNavClose:after {
    content: "";
    display: block;
    border-top: 1px solid #fff;
    width: 20px;
    position: absolute;
    left: 10px;
    top: 50%;
  }
  .secondaryNavClose:after {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .secondaryNavClose:before {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .secondaryNavHeading {
    color: #fff;
    padding: 20px 10px;
    font-size: 16px;
    border-bottom: 4px solid #548497;
    margin-bottom: 15px;
  }
}

@media only screen and (max-width: 640px) {
  .secondaryNav {
    display: none;
  }
}


/* =================================== navList */
.navList {
  margin: 0 0 0 2px;
  padding-top: 20px;
}
.pl75px { padding-left:75px; }
.navList li {
  float: left;
  margin-right: 8px;
}
.navList li:last-child {
  margin-right: 0;
}
.navList li img {
  width: 141px;
  height: auto;
}
@media only screen and (max-width: 860px) {
  .navList li {
    float: left;
    margin-right: 0;
    text-align: center;
    width: 20%;
  }
}
@media only screen and (max-width: 640px) {
  .navList {
    margin-bottom: 10px;
  }
  .navList li {
    width: 50%;
    margin-bottom: 6px;
  }
  .navList li img {
    width: 90%;
  }
}
/* =================================== navList2 */
.navList2 {
  margin: 0 0 20px 2px;
}
.navList2 li {
  float: left;
  margin-right: 4px;
}
.navList2 li:last-child {
  margin-right: 0;
}
@media only screen and (max-width: 860px) {
  .navList2 li {
    width: 33%;
    margin-right: 0;
  }
}
@media only screen and (max-width: 640px) {
  .navList2 li {
    width: 33%;
    margin-right: 0;
  }
}
/* =================================== bgBorder */
.borderList {
  background: url(../img/saiyoukigyou/bg_border.png) center top repeat-x;
  margin: 14px 0 30px;
  padding-bottom: 6px;
  padding-top: 3px;
}
.borderList li {
  padding: 0 0 0 27px;
  margin: 0;
  line-height: 2.31;
  background: url(../img/saiyoukigyou/icon_check.png) left 7px no-repeat;
}
@media only screen and (max-width: 640px) {
  .borderList {
    background: none;
    margin: 0 0 15px;
    padding-top: 0;
  }
  .borderList li {
    line-height: 1.4;
    background-size: 10px 11px;
    background-position: left 3px;
    margin-bottom: 7px;
    padding-left: 20px;
  }
}
/* =================================== radiusBox */
.radiusBox {
  border-radius: 5px;
  padding: 12px 50px;
  background: #efefef;
  margin: 15px 40px;
}
.radiusBox li {
  list-style: disc;
  margin: 8px 0;
}
.afterArrow {
  position: relative;
  margin-bottom: 60px;
}
.afterArrow:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -45px;
  height: 60px;
  width: 100%;
  background: url(../img/saiyoukigyou/icon_arrow.png) center bottom no-repeat;
}
@media only screen and (max-width: 640px) {
  .radiusBox {
    border-radius: 5px;
    padding: 12px;
    background: #efefef;
    margin: 15px 0 30px;
  }
  .radiusBox li {
    list-style-position: inside;
  }
  .afterArrow:after {
    background-size: 18px 28px;
    bottom: -20px;
  }
}
/* =================================== contentsBoxBg */
.contentsBoxBg1 {
  background: #f7f7f7 url(../img/saiyoukigyou/bg_01.jpg) center bottom no-repeat;
  background-size: 100% auto;
  box-shadow: 1px 1px 2px rgba(16,16,16,.2);
}
.contentsBoxBg2 {
  background: #f7f7f7 url(../img/saiyoukigyou/bg_02.jpg) center bottom no-repeat;
  background-size: 100% auto;
  box-shadow: 1px 1px 2px rgba(16,16,16,.2);
  margin-bottom: 10px !important;
}
.contentsBoxBg3 {
  background: #fff url(../img/saiyoukigyou/bg_04.jpg) center bottom no-repeat;
  background-size: 100% auto;
  box-shadow: 1px 1px 2px rgba(16,16,16,.2);
}
.contentsBoxBg1 li,
.contentsBoxBg2 li {
  line-height: 1.6;
}
@media only screen and (max-width: 640px) {
  .contentsBoxBg1 {
    margin-top: 10px;
  }
  .contentsBoxBg1 ,
  .contentsBoxBg2 ,
  .contentsBoxBg3 {
    background-size: contain;
  }
}
/* =================================== title in contentsBoxBg */
.ttlContentsBox {
  font-size: 20px;
  background-position: left center;
  background-repeat: no-repeat;
  padding: 20px 0 20px 50px;
  margin: -20px 0 18px;
  border-bottom: 2px solid #102a39;
}
.ttlTenbin {
  background-image: url(../img/saiyoukigyou/icon_tenbin.png);
}
.ttlCompany {
  background-image: url(../img/saiyoukigyou/icon_company.png);
}
@media only screen and (max-width: 640px) {
  .ttlContentsBox {
    font-size: 18px;
    padding: 18px 0 7px 30px;
    margin: -17px 0 10px;
    background-position: left 18px;
  }
  .ttlTenbin {
    background-size: 20px;
  }
  .ttlCompany {
    background-size: 18px;
  }
}
/* =================================== dataList */
.dataList {
  padding: 40px 20px;
}
.dataList li {
  float: left;
  text-align: center;
  width: 33.3%;
}
.dataList li img {
  max-width: 100%;
}
.dataList h4 {
  display: inline-block;
  border-bottom: 2px solid #102a39;
  padding-bottom: 2px;
  margin-bottom: 10px;
}
@media only screen and (max-width: 640px) {
  .dataList {
    padding: 10px;
  }
  .dataList li {
    float: none;
    width: auto;
    margin-bottom: 10px;
  }
}
/* =================================== dataTable */
.dataTable {
  width: 100%;
  border: 2px solid #333;
  text-align: center;
  font-size: 14px;
  margin-bottom: 30px;
}
.dataTable td ,
.dataTable th {
  vertical-align: middle;
  padding: 10px 7px;
  border: 1px solid #a8a8a8;
}
.dataTable th {
  background: #efefef;
  font-weight: normal;
}
.dataTable td {
  border-bottom: 1px solid #333;
}
@media only screen and (max-width: 640px) {
  .dataTable {
    overflow-x: scroll;
    max-width: 100%;
    width: 100%;
    display: block;
  }
  .dataTable tbody {
    white-space: nowrap;
    width: auto;
  }
}
.dataTableHidden {
  position: relative;
}
.dataTableHidden:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: url(../img/saiyoukigyou/bg_03.png);
}
/* =================================== whiteBase */
.whiteBase {
  background-color: rgba(255,255,255,.8);
  padding-bottom: 30px;
}
/* =================================== groupOutlineText */
.groupOutlineText {
  padding-left: 20px;
}
@media only screen and (max-width: 640px) {
  .groupOutlineText {
    padding-left: 0;
  }
}
/* =================================== contactBottom */
.contactBottom {
  padding: 20px 48px 0;
  font-size: 18px;
  text-align: center;
}
.contactBottom > p {
  font-weight: bold;
  border-bottom: 1px dotted #102a39;
  padding-bottom: 8px;
  margin-bottom: 25px;
}
.contactBottom > p:nth-of-type(2) {
  font-size: 20px;
}
.contactBottom ul {
  padding: 0 16px;
}
.contactBottom li {
  float: left;
  line-height: 1;
  margin-right: 30px;
}
.contactBottom li:last-child {

  margin-right: 0;
}
.contactBottom small {
  font-size: 12px;
  padding-left: 40px;
}
.contactBottom .tel {
  padding: 5px;
}
.contactBottom .btnAccess {
  float: right;
  border: none;
  margin-bottom: 0;
}
.contactBottom .btn {
  font-size: 14px;
  padding-right: 20px;
  padding-left: 20px;
}
.iconMail {
  display: block;
  background: url(../img/saiyoukigyou/icon_mail.png) left center no-repeat;
  padding: 10px 10px 10px 33px;
  text-decoration: none !important;
  font-size: 18px;
  font-weight: bold;
}

tr.juri th {background-color:#C1D2DA;}
tr.juri td {background-color:#DBE6EC;}

@media only screen and (max-width: 860px) {
  .contactBottom {
    min-width: 700px;
  }
}
@media only screen and (max-width: 640px) {
  .contactBottom {
    padding: 20px 5px 0;
    font-size: 14px;
    min-width: inherit;
  }
  .contactBottom > p {
    margin-bottom: 12px;
  }
  .contactBottom > p:nth-of-type(2) {
    font-size: 16px;
  }
  .contactBottom ul {
    margin: 20px auto;
    padding: 10px 0;
  }
  .contactBottom li {
    float: none;
    margin-right: 0;
    margin-bottom: 10px;
    text-align: left;
  }
  .contactBottom small {
    padding-left: 0;
    display: block;
    padding: 0 0 0 40px;
  }
  .contactBottom .tel {
    padding: 0;
  }
  .contactBottom .tel img {
    width: 250px;
    max-width: inherit;
  }
  .contactBottom .btnAccess {
    float: none;
    border: none;
    margin-bottom: 0;
  }
  .contactBottom .btn {
    font-size: 14px;
    padding-right: 20px;
    padding-left: 20px;
  }
  .iconMail {
    background: url(../img/saiyoukigyou/icon_mail_sp.png) left center no-repeat;
    background-size: 27px;
    padding: 10px 10px 10px 40px;
    font-size: 13px;
    text-align: left;
  }
}
/* =================================== saiyoukigyou page */
.onlyTopBtn {
  padding-top: 90px;
}
.backToNav {
  padding: 20px 0 0;
  text-align: right;
}
@media only screen and (max-width: 640px) {
  .anchor8inner {
    padding-top: 10px;
  }
}


/* =================================== 404 */
.error404{
  text-align: center;
  margin:40px auto 20px;
}


/* =================================== column02 */
.column02{
  display: table;
}
.column02 li{
  display: table-cell;
  vertical-align: middle;
}
.column02 li.captionVol{
  padding-left: 20px;
  font-size: 28px;
  color: #c33;
}
@media only screen and (max-width: 640px) {
  .column02 li.captionVol{
    font-size: 20px;
  }
}
/* =================================== news detail */

.categoryNews {
  display: inline-block;
  font-size: 11px;
  font-weight: bold;
  width: 144px;
  padding: 5px;
  color: #fff;
  text-align: center;
  margin: 20px 16px;
  position: relative;
  top: -3px;
}
.categoryNews.attorneys{
  background: #accecc;
}
.categoryNews.event{
  background: #f4aebf;
}
.categoryNews.seminar{
  background: #fbda69;
}
.categoryNews.recruit{
  background: #c6d1e0;
}
.categoryNews.new{
  background: #cc3333;
}

/* =================================== newsSentence */

.newsSentence{padding-right: 15px}

.newsSentence p a {
  color: #00a0e9;
  text-decoration: underline;
  display: inline-block;
  width: calc(100% - 1em);
}
.newsSentence p .disc {
	float: left;
	width: auto;
	color:#333;
	text-decoration:none;
}
.newsSentence p a.hover {
  text-decoration: none;
}
.backToNews {
  font-size: 14px;
  text-decoration: underline;
  display: inline-block;
  background: url(../img/news/icon_prev.png) left center no-repeat;
  padding: 10px 10px 10px 23px;
}
.backToNews.hover {
  text-decoration: none;
}
/* ======================================================================== form */
@media only screen and (min-width: 861px) {
  .form ul.pc {
    display: none !important;
  }
  .form #menuToggle {
    display: none !important;
  }
  .lp #header ,
  .form #header {
    background: #fff;
  }
}



.formHeader {
  background: url(../img/form/bg_heading.jpg) center center no-repeat;
  border: 4px solid #dcdcdc;
  padding: 18px 0 18px 230px;
  position: relative;
  margin: 20px -20px 20px;
}
.formHeader:after {
  content: "";
  display: block;
  background: url(../img/form/img_heading_02.png) center center no-repeat;
  width: 206px;
  height: 258px;
  position: absolute;
  left: 30px;
  bottom: 0;
}
.attorneys_impressions_form_header {
  background-image: none;
  background-color: white;
}
.attorneys_impressions_form_header:after {
  background-position-y: top;
  width: 206px;
  height: 176px;
  left: 10px;
}
.contentsInner.type02 {
  padding: 16px 0;
}
.formHeader.type02 {
  background: none;
  border: 0;
  padding: 0;
  position: relative;
  margin: 20px 0;
  text-align: center;

}
.formHeader.type02:after {
  display: none;
}
.formHeader h1 {
  font-size: 32px;
  margin-bottom: 4px;
}
.formHeader ul {
  clear: both;
}
.appealList{
  width: 700px;
}
.formHeader li {
  float: left;
  border: 1px solid #15364a;
  background: #fff;
  box-shadow: 1px 1px 2px rgba(0,0,0,.3);
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  position: relative;
  padding: 12px 0;
  letter-spacing: -0.1em;
  width: 220px;
  margin-right: 16px;
  box-sizing: border-box;
  line-height: 1.5;
}
.formHeader li:last-child {
  margin-right: 0;
}
.formHeader li strong {
  color: #c33;
  font-size: 19px;
}
.formHeader li span {
  position: absolute;
  display: block;
  color: #fff;
  font-size: 13px;
  background: #15364a;
  font-weight: normal;
  text-align: center;
  padding: 3px 8px;
  left: 0;
  top: 0;
}
.formHeader .strong {
  color: #c33;
}
.steps {
  background: #efefef;
  text-align: center;
  padding: 10px;
  position: relative;
  margin-bottom: 20px;
}
.steps img {
  vertical-align: bottom;
}
.formBox {
  background: #fff;
  width: 1000px;
  margin: auto;
  padding: 20px 0;
}
.formBox.mvNone {
  padding-top: 60px;
}
.formBox.padBotNone {
  padding-bottom: 0;
}
.formInner {
  width: 760px;
  margin: auto;
}
.stepImg {
  position: absolute;
  top: -35px;
  left: 40px
}
.stepImg img {
  width: 195px;
  height: auto;
}
.formTable {
  border: 2px solid #efefef;
  width: 100%;
  font-size: 14px;
}
.formTable th,
.formTable td {
  border: 2px solid #efefef;
  padding: 10px 20px;
  vertical-align: middle;
  text-align: left;
}
.attorneys_impressions_form_table td {
  width: 520px;
  max-width: 520px;
}
.formTable th {
  background: #f8f8f8;
}
.required:after {
  content: "必須";
  color: #fff;
  background: #c33;
  font-size: 12px;
  display: inline-block;
  padding: 1px 2px;
  float: right;
}
.option:after {
  content: "任意";
  color: #fff;
  background: #696969;
  font-size: 12px;
  display: inline-block;
  padding: 1px 2px;
  float: right;
}
.formTable td {
  max-width: 460px;
  width: 460px;
}
input,input:focus,textarea,textarea:focus{
  outline: 0;
  transition:background,border 0.3s ease;
}
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset;
}
input[type="text"],
textarea {
  background: #fafafa;
  border: 1px solid #d9d9d9;
  border-radius: 5px;
  padding: 10px;
  margin: 10px 0;
  position: relative;
  top: -2px;
  vertical-align: middle;
  font-size: 12px;
}
@media only screen and (max-width: 640px) {
  input[type="text"],
  textarea {
    font-size: 16px;
  }
}
input.short {
  width: 100px;
}
@media all and (-ms-high-contrast:none){
  input.english {
    margin-left: 10px;
  }
}

.formTable span.left{position:relative; left:-0.5em;}

textarea {
  max-width: 100%;
  min-height: 10em;
  width: 100%;
}
select{
  font-size: 17px;
  position: relative;
  top:-2px;
}
input[type="radio"] {
  opacity: 0;
  display: inline-block;
  width: 20px;
  height: 20px;
  padding: 0;
  margin: 0;
  vertical-align: middle;
  cursor: pointer;
}
input[type="radio"] + .radio {
  display: inline-block;
  height: 20px;
  width: 20px;
  background: url(../img/form/icon_radio.png) center center no-repeat;
  margin: 0;
  padding: 0;
  margin-left: -20px;
  margin-right: 6px;
  vertical-align: middle;
  cursor: pointer;
}
input[type="radio"]:checked + .radio {
  background-image: url(../img/form/icon_radio_checked.png);
}
input[type="checkbox"] {
  opacity: 0;
  display: inline-block;
  width: 20px;
  height: 20px;
  padding: 0;
  margin: 0;
  vertical-align: middle;
  cursor: pointer;
}
input[type="checkbox"] + .checkbox {
  display: inline-block;
  height: 20px;
  width: 20px;
  background: url(../img/form/icon_checkbox.png) center center no-repeat;
  margin: 0;
  padding: 0;
  margin-left: -20px;
  vertical-align: middle;
  cursor: pointer;
  margin-right: 10px;
  position: relative;
  top: -2px;
}
input[type="checkbox"]:checked + .checkbox {
  background-image: url(../img/form/icon_checkbox_checked.png);
}
.midInput {
  width: 90px;
}
.maxInput {
  width: 100%;
  box-sizing: border-box;
}
label {
  margin-right: 16px;
  cursor: pointer;
  display: inline-block;
}
.blockLabel {
  display: block;
  float: left;
}
label.type02 {
  padding-left: 28px;
}
label.type02 input[type="radio"],
label.type02 input[type="radio"] + .radio,
label.type02 input[type="radio"]:checked + .radio{
  margin-left: -24px;
}

input:focus,
textarea:focus{
  background: #fff;
  border: 1px solid #548497;
}
select ,
option {
  font-size: 12px;
}
.sample {
  display: block;
  font-weight: bold;
  font-size: 12px;
}
.sampleNobreak {
  display: inline;
}
.attention {
  background: #e5e5e5 url(../img/form/icon_attention.png) 10px 10px no-repeat;
  font-size: 12px;
  padding: 15px 20px 15px 46px;
  margin-top: 15px;
}
.pt0{
  padding-top:0;
}
.mt0 {
  margin-top: 0px;
}
.mt10 {
  margin-top: 10px;
}
.mt20 {
  margin-top: 20px;
}
.mt30 {
  margin-top: 30px;
}
.mb0 {
  margin-bottom: 0 !important;
}
.inputList li {
  margin-bottom: 10px;
}
.inputList li label{
  margin-right: 0;
}
.secondTableTop {
  font-weight: bold;
  font-size: 24px;
  margin-top: 50px;
}
.secondTableTop ,
.secondTableTop + p {
  line-height: 1.7;
}
.secondTable {
  border: 6px solid #b8ced9;
  margin: 10px 0 0;
}
.innerInput {
  margin: 8px 0 0 29px;
}
.narrowText {
  letter-spacing: -0.1em;
}
input[type="text"].captionParents, textarea.captionParents {
  margin-bottom: 0;
}
.caption {
  margin-bottom: 15px;
}
.caption.mini{
  font-size: 14px;
  line-height: 1.5;
  margin-top: 1em;
  margin-bottom: 25px;
}
.strong{
  margin-bottom: 1em;
}
.thAttention {
  color: #c33;
  font-size: 12px;
}
.thSample {
  font-size: 12px;
}
#closeSecondTable,#openSecondTable {
  font-size: 20px;
  color: #fff;
  display: block;
  text-align: center;
  background: #b8ced9 url(../img/form/icon_arrow_close.png) 64% center no-repeat;
  padding: 20px 0 16px;
  text-indent: -40px;
  cursor: pointer;
}
#closeSecondTable.hover,#openSecondTable.hover {
  color: #fff;
}
#openSecondTable {
  background: #b8ced9 url(../img/form/icon_arrow_open.png) 64% center no-repeat;
  padding: 16px 0 20px;
  display: none;
}
.active #openSecondTable {
  display: block;
}
.active #closeSecondTable {
  display: none;
}
.tableBottomBox {
  border: 1px solid #102a39;
  padding: 15px;
  margin: 40px 0 0;
  line-height: 1.5;
}
.tableBottomBox h2 {
  color: #c33;
  margin-bottom: 5px;
}
.tableBottomBox p {
  font-size: 13px;
}
.tableBottomBox a {
  color: #00a0e9;
  text-decoration: underline;
}
.tableBottomBox a.hover {
  text-decoration: none;
}
.agree {
  text-align: center;
  margin: 20px 0 10px;
}
.nextBtn {
  text-align: center;
  padding-bottom: 70px;
  margin-top: 20px;
}
.nextBtn button {
  cursor: pointer;
}
.formBtnWrap{
  width: 530px;
  display: table;
  margin-bottom: 30px;
}
.formBtnWrap.type02{
  margin-top: 30px;
}
.formBtnWrap div{
  display: table-cell;
  vertical-align: bottom;
}
.formBtnWrap div.sent{
  padding-left: 60px;
}
.preAlert{
  color:#c33;
  font-size: 24px;
  margin:30px 0 10px;
  font-weight: bold;
}
.finishInfo{
  margin-top: 70px;
  text-align: center;
}
.finishInfo p{
  margin-top: 15px;
}
.finishInfo p.finishBtn{
  margin: 50px auto;
  text-align: center;
}

.finishMessage{
  padding:70px 30px 0;
  height: 312px;
  background: url(../img/form/bg_message_pc.png) bottom right no-repeat;
  box-sizing: border-box;
}
.finishMessage p{
  font-size: 15px;
  width: 75%;
  line-height: 1.5;
}
.finishMessage ul{
  margin-top: 20px;
}
.finishMessage li{
  font-size: 22px;
  font-weight: bold;
  line-height: 1.5;
}
.finishMessage li span{
  font-weight: normal;
  font-size: 14px;
  margin-left: 1em;
}
.finishMessage li:before{
  content: "";
  display: inline-block;
  background: url(../img/form/icon_call.png) center no-repeat;
  background-size: 100% auto;
  width: 1em;
  height: 1em;
  margin-right: 0.5em;
  position: relative;
  top:2px;
}
.finishMessage li.mail:before{
  background: url(../img/form/icon_mail.png) center no-repeat;
  background-size: 100% auto;
  position: relative;
  top:3px;
}

@media only screen and (max-width: 860px) and (min-width: 641px) {
  .formBox{
    width: 800px;
  }
  .spTable{
    display: block;
    margin:0 auto;
    width: 80%;
  }
  .floatL {
    float: left;
  }
  .appealList{
    display: block;
    margin:0 auto 25px;
  }
  .formHeader {
    border: 4px solid #DCDCDC;
    padding: 20px;
    box-sizing: border-box;
    width: 100%;
    margin: 0 auto;
  }
  .formHeader:after {
    background: none;
  }
}
@media only screen and (max-width: 640px) {
  .formHeader:after {
    content: "";
    display: table;
    background: none;
    width: 0;
    height: 0;
    position: static;
    clear: both;
  }
  .formHeader {
    border: 0;
    padding: 5% 3%;
    margin: 0;
  }
  .formHeader h1 {
    font-size: 20px;
    line-height: 1.2;
  }
  .spTable{
    display: table;
    width: 100%;
  }
  .spTable .floatL{
    display: table-cell;
    width: 25%;
    vertical-align: middle;
  }
  .spTable-cell{
    display: table-cell;
    width: 75%;
    padding:0 5%;
    vertical-align: middle;
  }
  .appealList {
    width: 100%;
  }
  .formHeader li,
  .formHeader li:last-child {
    width: 90%;
    margin:2% auto;
    float:none;
    font-size: 14px;
  }
  .formHeader li strong {
    font-size: 15px;
  }
  .formHeader.type02 {
    margin:0;
  }
  .formHeader.type02 img{
    height: auto;
  }
  .contentsInner.type02 {
    padding: 3% 0 0 0;
  }

  .formBox{
    width: 100%;
    padding:15% 3% 5%;
  }
  .formBox.type02{
    padding:5% 3% 5%;
  }
  .formInner {
    width: 100%;
    margin: auto;
  }
  .formTable th, .formTable td{
    display: block;
    width: 100%;
    max-width: 100%;
    padding:3%;
    font-size: 12px;
  }
  .stepImg {
    position: absolute;
    top: -35px;
    left: 0;
    right: 0;
  }
  label {
    width: 100%;
    margin: 5px;
    display: block;
    box-sizing: border-box;
  }
  label.cloumn02{
    width: 45%;
    display: inline-block;
  }
  input{
    width: 80%;
    box-sizing: border-box;
    display: inline-block;
  }
  .blockLabel input {
    width: 80%;
  }
  .midInput {
    width: 29%;
  }
  label.type02b {
    padding-left: 28px;
  }
  label.type02b input[type="radio"],
  label.type02b input[type="radio"] + .radio,
  label.type02b input[type="radio"]:checked + .radio,
  label.type02b input[type="checkbox"],
  label.type02b input[type="checkbox"] + .checkbox,
  label.type02b input[type="checkbox"]:checked + .checkbox
  {
    margin-left: -24px;
  }
  label.type02c input[type="checkbox"],
  label.type02c input[type="checkbox"] + .checkbox,
  label.type02c input[type="checkbox"]:checked + .checkbox
  {
    margin-left: -25px;
  }
  label.mt10 {
    margin-top: 0;
  }
  .spWidth100{
    width: 100%;
  }
  .optionSp:after {
    content: "任意";
    color: #fff;
    background: #696969;
    font-size: 12px;
    display: inline-block;
    padding: 1px 2px;
    float: right;
  }
  .innerInput{
    margin:3% 2% 10%;
  }
  #closeSecondTable,#openSecondTable {
    background-position: 90% center ;
  }
  .nextBtn {
    padding-bottom: 0;
  }
  .formBtnWrap, .formBtnWrap div{
    width: 100%;
    display: block;
    text-align: center;
    margin:5% auto;
  }
  .formBtnWrap div.sent {
    padding-left: 0;
  }
  .formBtnWrap, .formBtnWrap div img{
    max-width: 100%;
    height: auto;
  }
  .preAlert,.secondTableTop {
    font-size: 16px;
    margin: 5% 0 2%;
  }
  .secondTableTop {
    margin: 10% 0 0;
  }
  #pagetopWrap .contentsInner.formEnd {
    margin-top: 0;
  }
  .finishInfo{
    margin-top: 5%;
    padding: 0 5%;
    text-align: left;
  }
  .finishInfo p{
    margin-top: 0.5em;
  }
  .finishInfo p.finishBtn{
    margin: 5% auto;
  }

  .finishMessage{
    padding:5% 5% 0;
    height: auto;
    background: url(../img/form/bg_message_sp.png) bottom right no-repeat #f8f8f8;
    box-sizing: border-box;
    background-size: 30% auto;
  }
  .finishMessage p{
    width: 100%;
    line-height: 1.5;
    font-size: 12px;
  }
  .finishMessage ul{
    margin-top: 5%;
  }
  .finishMessage li{
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
  }
  .finishMessage li span{
    display: block;
    font-size: 11px;
    margin: 0 0 0.5em 0;
  }
  .finishMessage li.mail{
    padding-bottom: 5%;
  }
  .formBox.padBotNone {
    padding: 20px 0 0;
  }
}

/* =================================== dotList */
.dotList{
  margin:50px auto;
}
@media only screen and (max-width: 640px) {
  .dotList{
    margin:5% auto;
  }
}
.dotList li{
  padding-left: 35px;
  line-height: 1.8;
}
.dotList li:before{
  content: "・";
  display: inline-block;
  margin-right: 5px;
  margin-left: -18px;
}
.dotList li:before{
  content: "・";
  display: inline-block;
  margin-right: 5px;
}
.head4{
  margin:30px auto 10px;
}


/* =========================================================== lp */
.lp {
  background-color: #fff;
}
.checkboard {
  background: url(../img/lp/bg_checkboard.jpg) center center no-repeat;
  width: 890px;
  height: 558px;
  padding: 78px 63px;
  margin: 50px auto 0;
  font-size: 26px;
  position: relative;
}
.checkboard ul {
  border-top: 1px solid #eee;
  margin: 30px 0 0;
}
.checkboard li {
  background: url(../img/lp/icon_check_onboard.png) 20px 30% no-repeat;
  border-bottom: 1px solid #eee;
  padding: 12px 0 12px 68px;
  font-size: 20px;
}
.checkboard > p:last-child {
  position: absolute;
  bottom: 3px;
  left: 170px;
}
.lp01 {
  background: url(../img/lp/visual_01.jpg) center 70% no-repeat,url(../img/lp/visual_01_repeat.png) center 70% repeat-x;
  text-align: center;
  height: 750px;
  margin: 60px 0 30px;
}
.lp01 p:first-child {
  margin-bottom: 530px;
}
.btnWrapLp .btnWrap {
  width: 745px;
  margin:  16px auto 4px;
}
.btnWrapLp {
  background: url(../img/lp/bg_btn_wrap.png) center top no-repeat,url(../img/lp/bg_pattern.png) center bottom repeat;
  font-size: 25px;
  text-align: center;
  padding: 10px 0 0;
}
.btnWrapLp .telArea {
  padding-bottom: 0px;
}
.textLp {
  background: url(../img/lp/bg_pattern_01.png) center center repeat;
  color: #fff;
  font-size: 26px;
  text-align: center;
  padding: 10px 0;
  margin-bottom: 30px;
}
.textLp span {
  font-size: 46px;
}
.textLp01 {
  background-color: #102a39;
  color: #fff;
  text-align: center;
  font-size: 22px;
  padding: 5px 0 4px;
  margin: 50px 0 33px;
}
.lpHeading {
  text-align: center;
  margin-bottom: 35px;
}
.lpSection {
  background-position: center top;
  background-repeat: no-repeat,repeat-x;
  padding-top: 150px;
}
.lpSection h3 {
  width: 1000px;
  margin: 0 auto 20px;
}
.lpSection p {
  width: 1000px;
  padding-right: 500px;
  margin: auto;
  line-height: 1.8;
}
.lpSection em {
  color: #c00;
  font-style: normal;
}
.lpSection1 {
  background-image: url(../img/lp/bg_section_01.jpg),url(../img/lp/bg_section_01_repeat.png);
  min-height: 578px;
}
.lpSection2 {
  background-image: url(../img/lp/bg_section_02.jpg),url(../img/lp/bg_section_02_repeat.png);
  min-height: 727px;
}
.lpSection3 {
  background-image: url(../img/lp/bg_section_03.jpg),url(../img/lp/bg_section_03_repeat.png);
  min-height: 540px;
}
.lpMore {
  background: url(../img/lp/bg_section_04_body.jpg) center bottom no-repeat;
  width: 1000px;
  margin: 0 auto 100px;
  height: 632px;
}
.lpMore img {
  vertical-align: bottom;
}
.lpMore p {
  margin: 180px 0 0;
  width: 1000px;
  padding: 0 410px 0 62px;
  line-height: 1.7;
  font-size: 16px;
}
.lpFooter {
  background: #e1e3e2 url(../img/lp/bg_footer.jpg) center center no-repeat;
  height: 250px;
}
.lpFooter h4 {
  width: 1000px;
  margin: 0 auto 20px;
  padding-top: 50px;
}
.lpFooter p {
  line-height: 1.7;
  width: 1000px;
  margin: auto;
}
#pagetopWrap.btnWrapLp {
  padding-top: 0;
}
#pagetopWrap.btnWrapLp .btnWrap {
  margin-top: 0;
}
#pagetopWrap.btnWrapLp .telArea {
  padding-bottom: 60px;
}
.lp #header {
  height: auto;
  border: none;
}
.lp #header .inner {
  margin: 10px auto;
  padding: 0;
}
.lp #header .logo {
  float: left;
}
.lp #footer .copyRight {
  border: none;
  padding-top: 17px;
}

/* =========================================================== pagination */
.pagination {
  margin:30px auto 0;
  text-align:center;
}
.pagination a,.pagination strong{
  padding: 7px 10px;
  border: solid #ccc 1px;
  color: #00a0e9;
  display: inline-block;
  width: 35px;
  height: 35px;
  box-sizing: border-box;
  margin:0 3px;
}
.pagination strong,.pagination a.hover{
  color: #fff;
  background: #ccc;
}
.pagination .pgnav{
  background: #102a39;
  text-indent: -9999px;
  color: #102a39;
  width: 70px;
  position: relative;
}
.pagination .pgnav.hover{
  background: #c33;
}
.pagination .pgnav:after {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background: url(../img/common/icon_navi_arrow_03.png) no-repeat center;
  background-size: 50% auto;
  position: absolute;
  top: 9px;
  left: 27px;
}
.pagination .pgnav.prev:after {
  background: url(../img/common/icon_navi_arrow_03b.png) no-repeat center;
  background-size: 50% auto;
}
@media only screen and (max-width: 640px) {
  .pagination a,.pagination strong{
    padding-top: 9px ;
    width: 30px;
  }
  .pagination .pgnav{
    width: 30px;
  }
  .pagination .pgnav:after {
    left: 8px;
    top: 11px;
  }
}

.guideDl dt{
  margin:20px 0 5px;
  font-weight: bold;
}
.guideDl dd{
  padding-left: 5px;
}
.guideDl dd:before{
  content: "・";
  margin-right: 5px;
  display: inline-block;
  line-height: 1.5;
}
.disc li{
  list-style: disc;
  margin-left: 25px;
}

/* =========================================================== philosophy */

#philosophy .sectionInner p {
  line-height: 1.6;
  color: #333;
}
#philosophy .sectionInner ul {
  width: 78%;
  display: block;
  margin: 5% auto;
  border-top: 1px #cc3333 dotted;
}
#philosophy .sectionInner ul li{
  background-repeat:no-repeat;
  background-position:left 1% center ;
  background-size: 5%;
  padding: 2% 8%;
  border-bottom: 1px #cc3333 dotted;
  font-size: 20px;
  font-weight: bold;
}
#philosophy .sectionInner ul li.first{
  background-image:url(../img/whatslegal/icon01.png);
}
#philosophy .sectionInner ul li.even{
  background-image:url(../img/whatslegal/icon02.png);
}
#philosophy .sectionInner ul li.last{
  background-image:url(../img/whatslegal/icon03.png);
}
#philosophy .imgMission{
  position: relative;
  top:-50px;
  width: 348px;
}

@media only screen and (max-width: 640px) {
  #philosophy .sectionInner ul li{
    font-size: 14px;
    background-size: 10%;
    padding: 2% 2% 2% 15%;
  }
  #philosophy .imgMission{
    position: static;
    margin: 10px 0 40px;
    width: auto;
  }
}

#philosophy section.group{
	overflow:hidden;
}
#philosophy section.group h2{
	margin-bottom: 25px;
}
#philosophy section.group:after{
	content:"";
	display:block;
	height:0;
	clear:both;
}

#philosophy section.group ul{
	width: 720px;
	    max-width: 100%;
}

#philosophy section.group ul li{
	float:left;
	font-size: 13px;
	width:23%;
	margin-bottom:20px;
}


#philosophy section.group ul li+li{margin-left:2.5%;}
#philosophy section.group ul li.ml0{margin-left: 0;}

#philosophy section.group ul li img{
	margin-bottom:5px;
	width: 100%;
}
#philosophy section.group ul li a:hover {
	opacity:0.7;
}

#philosophy section.group ul li span.group_name:before {
    content: "";
    display: inline-block;
    background: #cc3333 url("../img/common/icon_arrow_on.png") no-repeat scroll center center;
    width: 13px;
    height: 13px;
    border-radius: 20px;
    position: relative;
    top: 1px;
	margin-right: 3px;
    transition: #000 0.3s ease 0s;
	margin-bottom:10px;
	float:left;
}

@media only screen and (max-width: 640px) {
	#philosophy section.group ul li{width: 47%;}
	#philosophy section.group ul li+li{margin-left:5%;}
	#philosophy section.group ul li.odd{margin-left: 0;}
	#philosophy section.group ul li span.group_name{font-size: 10px; font-size: 3vw;}
}

.contentsBox.recruit dt, .contentsBox.recruit dd{font-size: 86%;}
.contentsBox.recruit dd{line-height:1.6;}
.contentsBox.recruit dd span{position:relative; left:-0.5em;}
.contentsBox.recruit a {text-decoration:none; color:#00A0E9;}
.contentsBox.recruit a:hover {text-decoration:underline;}

table.attorneys {width: 100%;}
table.attorneys td:first-child{padding-left: 0; width: 12%;}
table.attorneys td:nth-child(2), table.attorneys td:nth-child(3){ text-align: right; width: 7%;}
table.attorneys td:last-child{ padding-left: 1em;}

table.attorneys.col3 td:nth-child(3){ width: auto; text-align: left;}


@media only screen and (max-width: 640px) {
	table.attorneys td:first-child{width: 4em;}
	table.attorneys td:nth-child(2), table.attorneys td:nth-child(3){ width: 2.5em;}
}


.complete_teiki{display: none;}
.complete_teiki.complete_teiki2{display: block;}
.complete_teiki li{float: left;}
.complete_teiki li+li{margin-left: 28px;}
.complete_teiki:after{content:""; clear: both; display: block;}

@media only screen and (max-width: 640px) {
	.complete_teiki{display:block; margin-bottom:10px;}
	.complete_teiki li+li{margin-left:0; margin-top: 1%;}
}

.orderdList {
    line-height: 1.6;
    margin: 12px 0;
    counter-reset: num;
}
