@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 400;
  src: url("../font/NotoSansCJKjp-Regular.eot");
  src: url("../font/NotoSansCJKjp-Regular.eot?#iefix") format("embedded-opentype"), url("../font/NotoSansCJKjp-Regular.woff") format("woff"), url("../font/NotoSansCJKjp-Regular.ttf") format("truetype"); }

@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 500;
  src: url("../font/NotoSansCJKjp-Medium.eot");
  src: url("../font/NotoSansCJKjp-Medium.eot?#iefix") format("embedded-opentype"), url("../font/NotoSansCJKjp-Medium.woff") format("woff"), url("../font/NotoSansCJKjp-Medium.ttf") format("truetype"); }

@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 700;
  src: url("../font/NotoSansCJKjp-Bold.eot");
  src: url("../font/NotoSansCJKjp-Bold.eot?#iefix") format("embedded-opentype"), url("../font/NotoSansCJKjp-Bold.woff") format("woff"), url("../font/NotoSansCJKjp-Bold.ttf") format("truetype"); }

@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 400;
  src: url("../font/NotoSerifCJKjp-Regular_subset.eot");
  src: url("../font/NotoSerifCJKjp-Regular_subset.eot?#iefix") format("embedded-opentype"), url("../font/NotoSerifCJKjp-Regular_subset.woff") format("woff"), url("../font/NotoSerifCJKjp-Regular_subset.ttf") format("truetype"); }

@media all and (min-width: 769px) {
  header {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 90px;
    background: #fff;
    z-index: 100; }
    header .wrap {
      min-width: 1156px;
      padding: 0 60px; }
      header .wrap .logo {
        float: left;
        width: 260px;
        padding-top: 20px; }
        header .wrap .logo img {
          -webkit-transform: translatez(0); }
      header .wrap .navi {
        float: right;
        padding-top: 30px;
        font-size: 17px;
        text-align: right; }
        header .wrap .navi > li {
          position: relative;
          display: inline-block;
          margin-left: 40px; }
          header .wrap .navi > li:nth-child(1) {
            margin-left: 0; }
          header .wrap .navi > li a {
            display: inline-block;
            height: 28px;
            font-family: 'Barlow Condensed', sans-serif;
            font-weight: 500;
            color: #3b5ca9; }
          header .wrap .navi > li:last-child {
            font-size: 14px; }
            header .wrap .navi > li:last-child > a {
              padding-left: 22px;
              background: url(/assets/images/header/icon-language.svg) left 3px no-repeat;
              background-size: 16px auto; }
          header .wrap .navi > li.current a {
            border-bottom: 2px solid #497ad2; }
          header .wrap .navi > li:hover .pulldown {
            display: block; }
      header .wrap .pulldown {
        position: absolute;
        top: 28px;
        left: -30px;
        display: none;
        width: 158px;
        text-align: left;
        z-index: 200;
        padding: 35px 30px 1px 30px;
        background-color: #fff; }
        header .wrap .pulldown.language {
          left: -20px; }
        header .wrap .pulldown li {
          margin-bottom: 10px; }
          header .wrap .pulldown li a {
            display: block; }
  .philosophyPage header .wrap .navi > li:nth-child(1) > a,
  .greetingPage header .wrap .navi > li:nth-child(1) > a,
  .patentattorneyPage header .wrap .navi > li:nth-child(2) > a,
  .worksPage header .wrap .navi > li:nth-child(1) > a,
  .aboutPage header .wrap .navi > li:nth-child(1) > a,
  .accessPage header .wrap .navi > li:nth-child(1) > a,
  .contactPage header .wrap .navi > li:nth-child(4) > a {
    border-bottom: 2px solid #497ad2; }
  footer {
    width: 100%;
    padding: 60px 60px;
    background-color: #3b5ca9; }
    footer .top {
      border-bottom: 1px solid #75a0ec;
      padding-bottom: 57px;
      margin-bottom: 60px; }
      footer .top ul {
        text-align: center; }
        footer .top ul li {
          display: inline-block;
          margin: 0 18px; }
          footer .top ul li a {
            font-size: 14px;
            color: #fff; }
    footer .bottom {
      overflow: hidden; }
      footer .bottom .left {
        float: left;
        width: 50%; }
        footer .bottom .left .logo {
          width: 260px;
          margin-bottom: 48px; }
        footer .bottom .left .address,
        footer .bottom .left .tel {
          font-size: 12px;
          color: #aec8f5;
          margin-bottom: 14px; }
          footer .bottom .left .address a,
          footer .bottom .left .tel a {
            color: #aec8f5;
            display: inline-block;
            padding-right: 14px;
            background: url(/assets/images/footer/icon-map.svg) right center no-repeat;
            background-size: 8px auto; }
      footer .bottom .right {
        float: right;
        width: 50%;
        padding-top: 83px; }
        footer .bottom .right .link {
          margin-bottom: 9px; }
          footer .bottom .right .link ul {
            text-align: right; }
            footer .bottom .right .link ul li {
              display: inline-block;
              margin-left: 25px; }
              footer .bottom .right .link ul li a {
                font-size: 12px;
                line-height: 1.2;
                color: #fff; }
        footer .bottom .right .copyright {
          text-align: right;
          font-size: 12px;
          color: #aec8f5;
          font-family: 'Barlow Condensed', sans-serif;
          font-weight: 500; } }

@media all and (max-width: 768px) {
  header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background: #fff;
    z-index: 100; }
    header .wrap {
      position: relative;
      width: 100%;
      height: 60px; }
      header .wrap .logo {
        position: absolute;
        top: 17px;
        left: 25px; }
        header .wrap .logo img {
          width: 150px;
          -webkit-transform: translatez(0); }
      header .wrap .languages {
        position: absolute;
        top: 0;
        right: 70px;
        width: 60px;
        height: 60px;
        background: url(/assets/images/header/icon-language.svg) center 16px no-repeat;
        background-size: 20px auto; }
        header .wrap .languages span {
          display: block;
          height: 60px;
          text-align: center;
          font-size: 1rem;
          line-height: 1.1;
          font-family: 'Barlow Condensed', sans-serif;
          color: #3b5ca9;
          font-weight: 500;
          padding-top: 40px; }
        header .wrap .languages.open {
          background: #f4f5f9 url(/assets/images/header/btn-close.svg) center 19px no-repeat;
          background-size: 16px auto; }
      header .wrap .menu {
        position: absolute;
        top: 0;
        right: 0;
        width: 60px;
        height: 60px;
        background: url(/assets/images/header/btn-menu.svg) center 19px no-repeat;
        background-size: 16px auto; }
        header .wrap .menu span {
          display: block;
          height: 60px;
          text-align: center;
          font-size: 1rem;
          line-height: 1.1;
          font-family: 'Barlow Condensed', sans-serif;
          color: #3b5ca9;
          font-weight: 500;
          padding-top: 40px; }
        header .wrap .menu.open {
          background: #f4f5f9 url(/assets/images/header/btn-close.svg) center 19px no-repeat;
          background-size: 16px auto; }
      header .wrap .navi {
        display: none; }
  footer {
    width: 100%;
    padding: 30px 25px 64px;
    background-color: #3b5ca9; }
    footer .top {
      display: none; }
    footer .bottom {
      overflow: hidden; }
      footer .bottom .left .logo {
        width: 150px;
        margin-bottom: 10px; }
      footer .bottom .left .address,
      footer .bottom .left .tel {
        font-size: 1rem;
        line-height: 1.8;
        color: #aec8f5; }
        footer .bottom .left .address a,
        footer .bottom .left .tel a {
          color: #aec8f5;
          display: inline-block;
          padding-right: 14px;
          background: url(/assets/images/footer/icon-map.svg) right bottom 3px no-repeat;
          background-size: 8px auto; }
      footer .bottom .right {
        padding-top: 10px; }
        footer .bottom .right .link {
          margin-bottom: 23px; }
          footer .bottom .right .link ul li {
            display: inline-block;
            margin-right: 20px; }
            footer .bottom .right .link ul li a {
              font-size: 1rem;
              line-height: 1.2;
              color: #fff; }
        footer .bottom .right .copyright {
          font-size: 0.9rem;
          color: #aec8f5;
          font-family: 'Barlow Condensed', sans-serif;
          font-weight: 500; }
  .spNavi {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-top: 60px;
    z-index: 99;
    box-sizing: border-box; }
    .spNavi .wrap {
      width: 100%;
      height: 100%;
      padding-top: 24px;
      background-color: #f4f5f9; }
      .spNavi .wrap ul {
        width: 88.6%;
        margin: 0 auto; }
        .spNavi .wrap ul li {
          margin-bottom: 1px; }
          .spNavi .wrap ul li a, .spNavi .wrap ul li span {
            color: #3b5ca9;
            font-size: 1.6rem;
            font-weight: 500;
            line-height: 1.1; }
        .spNavi .wrap ul.top {
          padding-left: 90px;
          background: url(/assets/images/header/bg-menu-top.svg) 32px 2px no-repeat;
          background-size: 42px auto;
          margin-bottom: 2px; }
        .spNavi .wrap ul.bottom {
          padding-left: 90px;
          background: url(/assets/images/header/bg-menu-bottom.svg) 32px 2px no-repeat;
          background-size: 42px auto; } }

.philosophyPage p{
	text-align:justify;
}
.philosophyPage p strong{
	text-align:left;
}
/* -------------------------------------------
	ȉ͈p
------------------------------------------- */
@media print {
  html,body{
    height: auto;
  }
  body { 
    margin:0 !important;
    padding:0 !important;
    line-height: 1.45; 
    background: none; 
    font-size: 14pt; 
    color: #3b5ca9 !important;
  }
  .navi,
  .languages.SPpart,
  .menu.SPpart,
  .breadcrumb,
  .indexBtn,
  footer .top,
  footer .left,
  footer .right .link,
  .eachLink{
    display:none;
  }
  header{
    position:static;
  }
  header .wrap{
  	padding:0;
  }
  header .wrap .logo{
  	width: 250px !important;
  	padding-left:0 !important;
  }
  footer{
    padding:0;
  }
  footer .bottom .right{
    width:100%;
    float:none;
    padding:0;
  }
  footer .bottom .right .copyright{
    text-align:center;
    font-size:16px;
  }
.patentattorneyPage .detailtitle {
	position: relative;
	z-index: 50;
	overflow: hidden;
	width: 640px;
	margin-bottom: 70px
}

.patentattorneyPage .detailtitle .pct {
	float: right;
	width: 42%;
}
.patentattorneyPage .detailtitle .pct img {
	width: 100%;
	max-width: 700px
}
.patentattorneyPage .detailtitle .info {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.patentattorneyPage .detailtitle .info .wrap {
	position: relative;
	width: 980px;
	margin: 0 auto;
	top: 50%;
	padding-left: 20px;
	-webkit-transform: translateY(-50%) translateX(0%);
	transform: translateY(-50%) translateX(0%);
}
.patentattorneyPage .detailtitle .info .wrap .title {
	font-size: 14px;
	letter-spacing: 0.1em;
	line-height: 1.2;
	margin-bottom: 10px;
}
.patentattorneyPage .detailtitle .info .wrap .name {
	margin-bottom: 27px;
}
.patentattorneyPage .detailtitle .info .wrap .name .ja {
	font-family: 'Noto Serif Japanese', serif;
	font-size: 33px;
	letter-spacing: 0.1em;
	line-height: 1.2;
	margin-right: 28px;
	display: block;
	margin-bottom: 10px;
}
.patentattorneyPage .detailtitle .info .wrap .name .en {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 33px;
	font-weight: 500;
	line-height: 1.2;
}
.patentattorneyPage .detailtitle .info .wrap p {
	font-size: 12px;
	line-height: 2.75;
	letter-spacing: 0.15em;
}
.patentattorneyPage .detail {
	width: 640px;
	margin: 0 auto;
	padding-bottom: 70px
}
.patentattorneyPage .detail .comment {
	border-bottom: 1px solid #ccc;
	font-size: 14px;
	line-height: 28px;
	padding-bottom: 40px;
	padding-left: 20px;
	padding-right: 20px;
}
.patentattorneyPage .detail .box {
	border-bottom: 1px solid #ccc;
	padding-bottom: 40px;
	padding-left: 20px;
	padding-right: 20px;
	margin-bottom: 40px;
}
.patentattorneyPage .detail .box .md {
	font-size: 30px;
	font-weight: 500;
	line-height: 1.2;
	margin-bottom: 10px;
}
.patentattorneyPage .detail .box p {
	font-size: 14px;
	line-height: 28px;
}
.accessPage .maintitle .wrap{
	height:auto;
}
.accessPage .maintitle .wrap .title{
	padding-top: 0;
}
.accessPage .detail .osakaBlock,
.accessPage .detail .tokyoBlock {
	margin-bottom: 50px;
}
.accessPage .detail .osakaBlock .blockTitle,
.accessPage .detail .tokyoBlock .blockTitle{
	margin-bottom: 15px;
}
.accessPage .maintitle:after{
	display:none;
}
.accessPage .detail .osakaBlock .infoBox,
.accessPage .detail .tokyoBlock .infoBox,
.accessPage .detail .osakaBlock .accessBox ul,
.accessPage .detail .tokyoBlock .accessBox ul {
	margin-right:0;
	margin-left:0;
	padding-right:0;
	padding-left:0;
	width:100%;
}

.accessPage .detail .osakaBlock .accessBox ul li.col {
	width: 400px;
}
.accessPage .detail .osakaBlock .accessBox ul li p.info.SPpart,
.accessPage .btn {
	display:none;
}
.accessPage .detail .osakaBlock .accessBox ul li p.info.PCpart {
	display:block !important;
}

.accessPage .detail .osakaBlock .accessBox ul li{
	display:inline-block;
	width:180px;
	margin:10px;
}
.accessPage .detail .osakaBlock .infoBox .left,
.accessPage .detail .osakaBlock .infoBox .right,
.accessPage .detail .tokyoBlock .infoBox .left,
.accessPage .detail .tokyoBlock .infoBox .right{
	float:none;
}
.accessPage .detail .tokyoBlock{
	page-break-before:always;
}
}