@charset "UTF-8";
html,
button,
input,
select,
textarea {
  color: #222;
}

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

img {
  vertical-align: middle;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

textarea {
  resize: vertical;
}

/*ul {
  margin: 0;
  padding: 0;
  list-style: none;
}*/
/*h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
  font-weight: normal;
}

table {
  border-collapse: collapse;
}*/
html {
  font-size: 75%;
  -webkit-font-smoothing: antialiased;
}

body {
  font-size: 12px;
  font-size: 1rem;
  line-height: 1.6;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Segoe UI", "メイリオ", Meiryo, "Lucida Grande", "Lucida Sans Unicode", "ＭＳ Ｐゴシック", Helvetica, Arial, Verdana, sans-serif;
  color: #333333;
}

a {
  color: #333333;
}

/* ======================================================
	common style
*/
.sp-btns a, .spimg {
  display: block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background-repeat: no-repeat;
}

html, body {
  min-height: 100%;
}

ul, ol {
  padding: 0;
  margin: 0;
}

/* ===================
    ALL: Default Theme
   =================== */
#wrap {
  position: relative;
}

/*
==========================================================================
   Author's custom styles
==========================================================================
*/
.sidenav {
  width: 300px;
  height: 100%;
  padding-right: 10px;
  background-color: #FAFAFA;
  background-image: url("../img/gnav-bg-img.png");
  background-position: top right;
  background-repeat: repeat-y;
  position: absolute;
  left: 0;
  top: 0;
  -moz-transition-property: width;
  -o-transition-property: width;
  -webkit-transition-property: width;
  transition-property: width;
  -moz-transition-duration: 0.8s;
  -o-transition-duration: 0.8s;
  -webkit-transition-duration: 0.8s;
  transition-duration: 0.8s;
  -moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  -o-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}
.sidenav .logo {
  margin: 0;
  padding-top: 130px;
  background-image: url("../img/sidenav/img.png");
  background-repeat: repeat-x;
  background-color: #fefefe;
  position: relative;
  overflow: hidden;
}
.sidenav .logo a {
  display: block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background-repeat: no-repeat;
  background-image: url("../img/sidenav/logo.png");
  background-position: center center;
  width: 300px;
  height: 275px;
}
.sidenav .logo span {
  display: block;
  margin-top: 112px;
  position: absolute;
  left: 300px;
  top: 130px;
}
.sidenav .to-top {
  margin: -25px 0 0 0;
  background-color: #fefefe;
  position: relative;
  display: none;
}
.sidenav .info {
  padding: 2em;
  font-style: normal;
  color: #535353;
}
.sidenav .info address {
  font-style: inherit;
}

.main-container {
  -moz-transition-property: opacity;
  -o-transition-property: opacity;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -moz-transition-duration: 0.5s;
  -o-transition-duration: 0.5s;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -moz-transition-timing-function: ease-in-out;
  -o-transition-timing-function: ease-in-out;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
  opacity: 1.0;
}
.main-container.close {
  opacity: 0;
}

.gnav {
  position: relative;
  overflow: hidden;
  margin-right: -10px;
}
.gnav ul {
  list-style-type: none;
  border-bottom: 1px solid #fff;
  margin-right: 10px;
}
.gnav ul li {
  border-top: 1px solid #fff;
  box-shadow: 0px -1px 0px #eee;
}
.gnav ul li a {
  height: 70px;
  width: 100%;
  display: block;
  overflow: hidden;
  padding-right: 10px;
}
.gnav ul li a span {
  display: block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background-repeat: no-repeat;
  background-image: url("../img/gnav.png");
  height: 35px;
  margin: 25px 0 0 auto;
  width: 110px;
}
.gnav ul li.access {
  border-bottom: 1px solid #eee;
}
.gnav ul li.active a {
  background-image: url("../img/gnav-active-img.png");
  background-position: center right;
  background-repeat: no-repeat;
}
.gnav .message span {
  background-position: 0px 0px;
}
.gnav .message a:hover span {
  background-position: 0px 0px;
}
.gnav .practice span {
  background-position: 0px -70px;
}
.gnav .practice a:hover span {
  background-position: 0px -70px;
}
.gnav .lawyer span {
  background-position: 0px -140px;
}
.gnav .lawyer a:hover span {
  background-position: 0px -140px;
}
.gnav .recruit span {
  background-position: 0px -210px;
}
.gnav .recruit a:hover span {
  background-position: 0px -210px;
}
.gnav .access span {
  background-position: 0px -280px;
}
.gnav .access a:hover span {
  background-position: 0px -280px;
}

#activebar {
  position: absolute;
  top: -80px;
  right: 0px;
  background-image: url("../img/gnav-active-img.png");
  background-position: center right;
  background-repeat: no-repeat;
  height: 71px;
  width: 10px;
  -moz-transition-property: top;
  -o-transition-property: top;
  -webkit-transition-property: top;
  transition-property: top;
  -moz-transition-duration: 0.6s;
  -o-transition-duration: 0.6s;
  -webkit-transition-duration: 0.6s;
  transition-duration: 0.6s;
  -moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  -o-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}
#activebar.message {
  top: 0px;
}
#activebar.practice {
  top: 71px;
}
#activebar.lawyer {
  top: 142px;
}
#activebar.recruit {
  top: 213px;
}
#activebar.access {
  top: 284px;
}

.offset {
  margin-left: 310px;
}
.offset.wide {
  margin-left: 600px;
}

.index .gnav ul li a span {
  margin: 25px 0 0 480px;
}
.index .sidenav {
  padding-right: 0px;
  width: 600px;
  background-image: none;
}
.index .mainimgs {
  list-style-type: none;
  position: relative;
  overflow: hidden;
  background: url("../img/top-mainimg-bg.png");
}
.index .mainimgs img {
  position: absolute;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
}

/*
==========================================================================
   .LOCAL-HEADER
==========================================================================
*/
.local-header-container {
  display: none;
}

.local-header {
  height: 100px;
  text-align: right;
  width: 810px;
  margin: 0 auto;
}

/*
==========================================================================
   .MAIN
==========================================================================
*/
.main {
  position: relative;
  top: 0;
  left: 0;
}
.main .content {
  margin: 0 auto;
  margin-top: 125px;
  position: relative;
  padding-bottom: 3em;
  width: 810px;
}
.main .left-column {
  width: 320px;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999;
}
.main .left-column .title {
  margin: 8px 0 0 0;
}
.main .right-column {
  position: relative;
  top: 0;
  left: 0;
  margin-left: 320px;
}

/*
==========================================================================
   .PICTURE
==========================================================================
*/
.picture {
  height: 450px;
  -moz-background-size: cover;
  -o-background-size: cover;
  -webkit-background-size: cover;
  background-size: cover;
  background-position: center center;
}
.picture.message {
  background-image: url("../img/message-bgimg.jpg");
}
.picture.lawyer {
  background-image: url("../img/lawyer-bgimg.jpg");
}
.picture.practice {
  background-image: url("../img/practice-bgimg.jpg");
}
.picture.recruit {
  background-image: url("../img/recruit-bgimg.jpg");
}
.picture.access {
  background-image: url("../img/access-bgimg.jpg");
}

/*
==========================================================================
    .MESSAGE
==========================================================================
*/
.message .right-column p {
  line-height: 2;
  margin-bottom: 2em;
}

/*
==========================================================================
   .LAWYER
==========================================================================
*/
.lawyer .name h2 {
  font-size: 24px;
  font-size: 2rem;
  position: relative;
  padding-left: 60px;
  margin-bottom: 0;
}
.lawyer .name .small {
  font-size: 14px;
  font-size: 1.16667rem;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -10px;
}
.lawyer .name .en {
  margin-top: 0;
  color: #043459;
}
.lawyer .name_block{
	margin-top:4em;
}
.lawyer .org {
  margin: 2.167em 0;
}
.lawyer .org strong {
  font-size: 14px;
  font-size: 1.16667rem;
}
.lawyer ul {
  list-style-type: none;
  margin-bottom: 2em;
}
.lawyer ul li {
  line-height: 2.333;
}
.lawyer h3 {
  color: #043459;
  font-size: 12px;
  font-size: 1rem;
  margin: 0;
}
.lawyer p.item {
	margin-bottom:4em;
}
/*
==========================================================================
   .PRACTICE
==========================================================================
*/
.practice h3 {
  border-top: 7px solid #043459;
  border-bottom: 1px solid #e5e5e5;
  background: #F6F6F6;
  color: #043459;
  margin: 0;
  padding: 10px 16px;
}
.practice ul {
  padding: 30px 10px 40px 30px;
  margin-left: 1em;
}
.practice ul li {
  line-height: 2;
}
.practice .btn-management {
  margin-top: 50px;
}
.practice .btn-management button {
  cursor: pointer;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  font-size: 14px;
  padding: 14px 14px 12px 14px;
  background-image: -moz-linear-gradient(top, #ffffff, #eeeeee);
  background-image: -o-linear-gradient(top, #ffffff, #eeeeee);
  background-image: -webkit-linear-gradient(top, #ffffff, #eeeeee);
  background-image: linear-gradient(to bottom, #ffffff, #eeeeee);
  border: 1px solid #e0e0e0;
  -moz-box-shadow: #e9e9e9 1px 2px 2px 0px;
  -webkit-box-shadow: #e9e9e9 1px 2px 2px 0px;
  box-shadow: #e9e9e9 1px 2px 2px 0px;
  color: #043459;
  font-weight: bold;
  outline: none;
}
.practice .btn-management button:hover {
  background-image: -moz-linear-gradient(top, #ffffff, #e7e7e7);
  background-image: -o-linear-gradient(top, #ffffff, #e7e7e7);
  background-image: -webkit-linear-gradient(top, #ffffff, #e7e7e7);
  background-image: linear-gradient(to bottom, #ffffff, #e7e7e7);
}
.practice .btn-management button:active {
  background-image: -moz-linear-gradient(top, #fbfbfb, #e1e1e1);
  background-image: -o-linear-gradient(top, #fbfbfb, #e1e1e1);
  background-image: -webkit-linear-gradient(top, #fbfbfb, #e1e1e1);
  background-image: linear-gradient(to bottom, #fbfbfb, #e1e1e1);
}
.practice .modal {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #FFF;
  display: none;
}
.practice .modal h2 {
  color: #043459;
  margin-top: 6px;
  font-size: 24px;
  font-size: 2rem;
  border-bottom: 2px solid #ececec;
  padding-bottom: 14px;
}
.practice .modal p {
  line-height: 2;
}
.practice .modal .close {
  position: absolute;
  right: 0;
  top: 0;
}

/*
==========================================================================
   .RECRUIT
==========================================================================
*/
.recruit .occupation {
  border: 1px solid #e5e5e5;
  margin-bottom: 60px;
  line-height: 2;
}
.recruit h3 {
  border-top: 7px solid #043459;
  border-bottom: 1px solid #e5e5e5;
  font-size: 18px;
  font-size: 1.5rem;
  color: #043459;
  margin: 0;
  padding: 10px 16px;
}
.recruit h4 {
  font-size: 14px;
  font-size: 1.16667rem;
  margin: 3em 0 2em 0;
  color: #043459;
}
.recruit .occu-content {
  padding: 30px;
}
.recruit dt {
  float: left;
  clear: left;
}
.recruit dd {
  padding-left: 3em;
}
.recruit ul {
  list-style-type: none;
}

/*
==========================================================================
   .ACCESS
==========================================================================
*/
.access .inner {
  padding-left: 50px;
}
.access .panel {
  padding: 10px;
  border: 1px solid #ececec;
  margin: 0;
  line-height: 1;
  width: 530px;
}
.access .map {
  margin-bottom: 50px;
}
.access .map p {
  margin: 0;
}
.access .route {
  padding-bottom: 30px;
}
.access .route h3 {
  margin-bottom: 0;
}
.access .route p {
  margin-top: 4px;
}
.access .route ul {
  list-style-type: none;
}
.access .route li {
  margin-bottom: 30px;
  padding-left: 60px;
  background-repeat: no-repeat;
  background-position: left center;
}
.access .route li.public {
  background-image: url("../img/access-route-public.png");
}
.access .route li.car {
  background-image: url("../img/access-route-car.png");
}
.access .parking strong {
  color: #a40001;
}
.access .parking p {
  margin-top: 0;
}
.access .parking .thumbimg {
  list-style-type: none;
  margin-left: -10px;
  margin-top: 30px;
}
.access .parking li {
  float: left;
  margin: 0 10px 10px 10px;
  width: 120px;
}
.access .parking li img {
  padding: 9px;
  border: 1px solid #ececec;
}
.access .parking li span {
  display: inline-block;
  margin: 1em 0;
  line-height: 1.4;
}
.access .title {
  padding-top: 14px;
  margin: 0 0 70px 45px;
}
.access h3 {
  font-size: 18px;
  font-size: 1.5rem;
  margin: 0;
  font-weight: normal;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */
.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

.clearfix {
  *zoom: 1;
}

/* ==========================================================================
   Print styles
   ========================================================================== */
@media print {
  * {
    background: transparent !important;
    color: #000 !important;
    /* Black prints faster: h5bp.com/s */
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]:after {
    content: " (" attr(href) ")";
  }

  abbr[title]:after {
    content: " (" attr(title) ")";
  }

  /*
   * Don't show links for images, or javascript/internal links
   */
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
    /* h5bp.com/t */
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  @page {
    margin: 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}
