@charset "utf-8";

/* --- 全体レイアウト --- */
html, body {
	height: 100%;
}

#outer {
    height: auto !important;
	height: 100%;
	min-height: 100%;
	margin: 0 auto;
    overflow: hidden;
}

/* 個別設定 */
#outer {
	width: 100%;
	min-width: 0;
	max-width: none;
}
* html #outer {
	width: 100%;
}
.inner {
    width: 100%;
    min-width: 0;
    max-width: 1200px;
    border-left: none;
    border-right: none;
    margin: 0 auto;
    padding: 0 0px;
}
* html .inner {
    width: 100%;
    min-width: 0;
    max-width: 1200px;
    border-left: none;
    border-right: none;
    margin: 0 auto;
    padding: 0 0px;
}
.content-area {
min-height: 300px;
}
.content-inner {
    width: 100%;
    min-width: 0;
    max-width: 1100px;
    border-left: none;
    border-right: none;
    margin: 0 auto;
    padding: 0px 0px 200px 0px;
}

body.anken .content-inner{
    width: 93%;
    max-width: none;
}


/* --- 共通設定 --- */
html {
font-size: 62.5%;
}

body > div {
    font-size: 18px;/*Chromeでのサイズ変動対応*/
    font-size: 1.8rem;
}

body {
    font-size: 18px; font-size: 1.8rem; 
	-webkit-text-size-adjust: 100%;/*リサイズ時にのサイズ調整固定*/
	font-family:"メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.5;
	color: #333333;
	letter-spacing:0.1em;
}
a {
	text-decoration: none;
    color: #254fd6;
}

a:hover {
text-decoration: none;
opacity:0.7;
}

.sp-none {
display: block;
}
.pc-none {
display: none;
}

/* --- 基本設定：背景色、背景画像など --- */
body {
background-color:#ffffff;
}
#outer {
}


/* --- ボタンのフェード設定 --- */
a,
.fade {
   opacity: 1;
   transition: opacity 0.5s ease-in-out;
   -moz-transition: opacity 0.5s ease-in-out;
   -webkit-transition: opacity 0.5s ease-in-out;
   }

a:hover,
.fade:hover {
      opacity: 0.7;
}

/* --- 横並び表示 --- */
.flex-layout {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-around;
}
.flex-layout-box {
    flex: 0 0 25%;
    max-width: 280px;
}

/* --- ヘッダー --- */
header .header-top {
	max-width:1200px;
	margin:0 auto;
	width :100%;	
}
header .logo {
    margin: 14px 10px 0px 1px;
    display: inline-block;
    vertical-align: bottom;
    width: 127px;
}
.header-right {
    float: right;
    width: 60%;
    display: block;
    text-align: right;
}
ul.header-nav {
    margin-top: 3px;
}
.header-nav li {
    display: inline-block;
    text-align: right;
    font-size: 13px;
    color: #666;
    letter-spacing: 0px;
    font-family: 'M PLUS Rounded 1c', sans-serif;
}
.header-nav .logout:before {
content: "/";
display: inline-block;
    margin: 0 7px 0 5px;
}
.header-nav li a {
    color: #666;
}

.sp-menu-icon {
display: none;
}

/* --- ナビゲーション｜PC --- */
.global-navi {
	max-width:1200px;
	width :100%;
    margin: 0px auto 0px;
}
.global-navi nav {
    display: table;
    margin: 0 auto;
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    text-align: center;
}
.global-navi nav>ul {
    display: table-row;
    position: relative;
}
.global-navi nav>ul>li {
    display: table-cell;
    padding: 7px 0px 7px 0px;
}
.global-navi li {
    font-weight: 700;
    font-size: 16px;
    box-sizing: border-box;
    background-color: #fff;
    transition: background-color 0.5s ease-in-out;
    font-family: 'M PLUS Rounded 1c', sans-serif;
}
.global-navi li:nth-child(1) > a:before {
    position: absolute;
    display: block;
    content: "";
    top: 50%;
    height: 26px;
    margin-top: -14px;
    border-left: 1px solid #cbcbcb;
    left: 0px;
}
.global-navi li > a:after {
    position: absolute;
    display: block;
    content: "";
    top: 50%;
    height: 26px;
    margin-top: -14px;
    border-right: 1px solid #cbcbcb;
    right: 0px;
}
.global-navi li > a {
    display: block;
    letter-spacing: 1px;
    color: #181818;
    transition: color 0.5s ease-in-out;
    -moz-transition: color 0.5s ease-in-out;
    -webkit-transition: color 0.5s ease-in-out;
	position:relative;
}
.global-navi li:hover {
    background-color: #eaeaea;
}
.number-nav {
    display: block;
    width: 20px;
    height: 20px;
    background: #f26161;
    box-sizing: border-box;
    color: #fff;
    border-radius: 10px;
    font-size: 12px;
    letter-spacing: -1px;
    padding: 1px 0px 0px 0px;
    position: absolute;
    right: 55px;
    top: -6px;
}

/* --- ヘッダー｜固定 --- */
#header {
    position: fixed;
    z-index: 9999;
    background: #fff;
    width: 100%;
    border-bottom: 3px solid #f7f8fa;
}
.header-inner {
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}
#content-top {
    padding-top: 131px;
}
body.home #content {
    margin-top: 0px;
}

/* --- サブナビ --- */
.sub-nav-box {
    display: none;
    position: absolute;
    left: 0px;
    bottom: -450px;
    z-index: 9999;
    width: 100%;
    max-width: 1200px;
    height: 450px;
}
.sub-nav-box:after {
    content: '';
    width: 100%;
    height: 100%;
    background: #eaeaea;
    position: absolute;
    left: 0px;
    top: 0px;
    opacity: 0.84;
    z-index: -5;
}
.sub-nav-box .flex-layout {
    justify-content: space-evenly;
    flex-wrap: nowrap;
    padding: 70px 20px 50px;
    box-sizing: border-box;
}
.sub-nav-box .flex-layout-box {
    flex: 0 0 16%;
    max-width: 180px;
    background: #fff;
    border-radius: 5px;
    /* margin-right: 13px; */
    min-height: 64px;
    box-sizing: border-box;
}
.sub-nav-box .flex-layout-box.nav-zenpan {background: #a2a2a2;}
.sub-nav-box .flex-layout-box.nav-patent {background: #00a0ea;}
.sub-nav-box .flex-layout-box.nav-utility-model {background: #e6006f;}
.sub-nav-box .flex-layout-box.nav-design {background: #6fba2a;}
.sub-nav-box .flex-layout-box.nav-trademark {background: #f8c702;}
.sub-nav-box .flex-layout-box.nav-copyright {background: #a673c4;}

img.sub-nav-icon {
    display: block;
    margin: 22px auto 7px;
}
.sub-nav-box a {
    color: #333;
    font-weight: normal;
    line-height: 21px;
    font-size: 16px;
    letter-spacing: 1px;
}
.sub-nav-text {
    line-height: 63px;
    letter-spacing: 2px;
    font-size: 18px;
}
.nav-copyright .sub-nav-text {
    letter-spacing: -1px;
}

.sub-nav-text:after {
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f138";
    margin-left: 6px;
    font-size: 14px;
    vertical-align: middle;
    margin-top: 1px;
}
.btn.close {
    width: 180px;
    height: 30px;
    box-sizing: border-box;
    border-radius: 20px;
    letter-spacing: 1px;
    line-height: 20px;
    font-size: 20px;
}
.btn.close:before {
    content: url(../images/icon-close.png);
    display: inline-block;
    margin-right: 6px;
}


/* --- サブナビ｜div全体をリンクエリアに設定 --- */
.sub-nav-box .flex-layout-box {
    position:relative;
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
    -moz-transition: opacity 0.3s ease-in-out;
    -webkit-transition: opacity 0.3s ease-in-out;
    box-shadow: 0 2px 4px 0px rgb(0 0 0 / 40%);
}
.sub-nav-box .flex-layout-box > p {
    display: none;
}
.sub-nav-box .flex-layout-box:hover{
    opacity: 0.8;
}
.sub-nav-box .flex-layout-box a{
    display: table;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
    color: #fff !important;
    font-size: 20px !important;
}





/* ---------- サブナビゲーション ----------- */
.sub-nav-box {
	display:none;
}

.sub-navi-box .flex-layout-box {
    flex: 0 0 18%;
    max-width: 190px;
}


/* ---------- スマホ用ナビ非表示 ----------- */
#gnav-sp {
display: none;
}




/* ---------- パンくずリスト ----------- */
.breadcrumbs {
    font-size: 14px;
    color: #aeaeae;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    margin-bottom: 15px;
    letter-spacing: 1px;
    margin-top: 91px;
    height: 42px;
    background: #f7f8fa;
    background: #f7f7f7;
    padding: 8px 0px 0px;
    box-sizing: border-box;
}
.breadcrumbs i.fa-home {
    color: #aeaeae;
    font-size: 16px;
}
.breadcrumbs a {
    color: #038dea;
    font-weight: bold;
}
.yaji {
    margin: 0px 7px;
}

body.patent #header {border-color: #00a0ea;}
body.utility-model #header {border-color: #e6006f;}
body.design #header {border-color: #6fba2a;}
body.trademark #header {border-color: #f8c702;}
body.copyright #header {border-color: #a673c4;}

.breadcrumbs .inner:after {
    content: '';
    display: inline-block;
    float: right;
}
body.patent .breadcrumbs .inner:after {content:'特許出願';color:#00a0ea;}
body.utility-model .breadcrumbs .inner:after {content:'実用新案';color:#e6006f;}
body.design .breadcrumbs .inner:after {content:'意匠登録';color:#6fba2a;}
body.trademark .breadcrumbs .inner:after {content:'商標登録';color:#f8c702;}
body.copyright .breadcrumbs .inner:after {content:'著作権・不正競争';color:#a673c4;}



/* --- 　トップ｜背景色 --- */
.orverwidth.bg01 {
    background: #f7f7f7;
    padding: 40px 0px 40px 0px;
    letter-spacing: 0px;
}
#menu-bnr.orverwidth.bg02 {
    padding: 60px 0px 60px 0px;
    background: #f5f5f5;
}

/* --- トップ：お知らせ --- */
#information {
    padding: 40px 0px 40px 0px;
}
h2.midashi-title-top {
     font-size:30px;
     color:#333333;
     font-weight: bold;
     text-align:center;
     margin-bottom:20px;
 }
h4.midashi-title-top {
    font-size:20px;
    color:#333333;
    font-weight: bold;
    text-align:center;
    margin-bottom:20px;
}
.info-list li {
    border-bottom: 1px solid #cfd2d8;
    font-size: 16px;
    padding: 6px 0px;
}
.info-list li .title {
color:#254fd6;
    font-weight: bold;
    margin-left: 20px;
}
.info-list li a {
    color: #181818;
    font-weight: bold;
}

@font-face {
   font-family: Roboto;
   src: url('fonts/Roboto-Medium.ttf') format("truetype");
}
.date {
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    color: #000000;
    font-weight: bold;
    letter-spacing: 0px;
}
.info-list li:before {
    width: 163px;
    height: 25px;
    box-sizing: border-box;
    border-radius: 4px;
    font-size: 12px;
    display: inline-block;
    text-align: center;
    color: #fff;
    letter-spacing: -1px;
    line-height: 25px;
    vertical-align: middle;
    margin-right: 20px;
    font-weight: normal;
}
.info-list li.osirase:before {
    content: 'あなたへのお知らせ';
    background-color: #24a4ff;
}
.info-list li.annai:before {
    content: 'IPコネクトからのご案内';
    background-color: #1a40a7;
}
.info-list li.service:before {
    content: 'サービス情報';
    background-color: #0170e1;
}
.info-list li .title.new:before {
    content: 'NEW';
    background-color: #00db7d;
    width: 32px;
    height: 18px;
    box-sizing: border-box;
    font-size: 11px;
    display: inline-block;
    text-align: center;
    color: #fff;
    letter-spacing: -1px;
    line-height: 18px;
    vertical-align: text-bottom;
    margin-right: 7px;
    font-weight: normal;
}
.btn.info-ichiran {
    background: #028dea;
    border-radius: 20px;
    color: #fff;
    display: block;
    margin: 30px auto;
    width: 180px;
    height: 40px;
    box-sizing: border-box;
    text-align: center;
    line-height: 40px;
    font-size: 16px;
}

/* --- トップ：SNS --- */
#sns .flex-layout-box {
    flex: 0 0 50%;
    max-width: 600px;
    margin-bottom: 20px;
}

/* --- トップ：関連情報 --- */
#kanren-link {
    padding: 0px 0px 60px 0px;
}

#kanren-link .flex-layout {
    justify-content: flex-start;
}
#kanren-link .flex-layout-box {
    flex: 0 0 20%;
    max-width: 224px;
    text-align: center;
    margin-right: 16px;
    margin-bottom: 20px;
}
#kanren-link .flex-layout-box a {
display:block;
}

/* --- ページトップ --- */
#footer a#pageTop {
    position: fixed;
    right: 15px;
    bottom: 15px;
    width: 45px;
    height: 45px;
    margin-top: -28px;
    background: rgba(93, 106, 122, 0.45);
    border-radius: 3px;
    z-index: 1;
    cursor: pointer;   
}
#footer a#pageTop:before {
    font-family: 'Font Awesome 5 Free';
    content: "\f077";
    font-weight: 900;
    color: #fff;
    font-size: 13px;
    width: 45px;
    height: 45px;
    position: absolute;
    top: 13px;
    right: -17px;
}

/* --- フッター --- */
#footer {
padding: 40px 0px 20px 0px;
    background: #e0f4ff url(../images/bg-footer.jpg) no-repeat center bottom;
    border-bottom: 42px solid #038dea;
}
#footer .flex-layout {
    max-width: 910px;
}
#footer .flex-layout-box {
    flex: 0 0 30%;
    max-width: 304px;
}
#footer .inner {
    position: relative;
    padding-bottom: 40px;
}
.foot-shinkumi-img {
position: absolute;
right:0px;
top:0px;
}
#footer h3 {
    font-size: 16px;
    line-height: 1.1em;
    letter-spacing: 0px;
    font-weight: bold;
}
#footer p {
    font-size: 14px;
}
#footer ul {
    margin: 180px 0px 0px 0px;
    text-align: right;
}
#footer ul li {
    font-size: 14px;
    position: relative;
    margin-bottom: 7px;
    letter-spacing: 0px;
    display: inline;
}
#footer ul li:before {
    width: 1px;
    height: 13px;
    border-top: none;
    border-right: 1px solid #000;
    content: "";
    display: inline-block;
    margin-right: 10px;
    vertical-align: middle;
}
#footer ul li:nth-child(1):before {
display: none;
}
#footer ul li.li-indent {
    margin-left: 20px;
}
.footer-bottom {
    font-size: 13px;
    color: #fff;
    position: absolute;
    bottom: -63px;
}
.footer-bottom a {
    color: #fff;
}
#footer ul li a {
color:#333;
    font-size: 13px;
    padding: 0px;
}


/* --- div全体をリンクエリア --- */
.DivLink{
    position:relative;
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
    -moz-transition: opacity 0.3s ease-in-out;
    -webkit-transition: opacity 0.3s ease-in-out;
}
.DivLink > p {
    display: none;
}
.DivLink:hover{
    opacity: 0.6;
}
.DivLink .Link{
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
}


/* --- ハック --- */

/* IE7でpadding指定 */
*:first-child+html body {
padding-left: 1px;
}

/* IE6以下でpadding指定 */
* html body {
padding-left: 10px;
}


/* holly hack */
* html #content,
* html div
 { height: 1%; }
/* holly hack end */

/**{ 
    zoom:1; 
}*/


/* clearfix
-----------------------------------*/
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  font-size: 0;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}

/* --- スマホ用768px未満の設定 --- */
@media screen and (max-width: 768px) {

.spNone {
display:none !important;
}

/* 全体のレイアウト */
body {
  -webkit-text-size-adjust: 100%;
background: #fff;
}
body .inner {
width:100%;
}
body #content .inner {
  padding: 10px 10px;
  width: 100%;
  box-sizing: border-box;
  overflow: auto;
}
body #header-outer {
background:none;
}
body #outer {
background:none;
overflow:hidden;
width: 100%;
}

#gnav .inner ul.menu {
width:100%;
}
body #main-outer {
float: none;
}
body #main-wrapper {
  margin-right: 0px;
  margin-left: 0px;
}
body #main {
margin: 0 auto;
}

/* --- スマホ用ヘッダーの設定 --- */
	
	
/* --- フッター --- */
}



/* --- PC用768px以上の設定 --- */
@media print, screen and (min-width: 769px) {


/* --- PC用ヘッダーの設定 --- */
#sp-header {
display:none;
}
#menubtn {
display:none;
}
#gnav {
display:none !important;
}

.pcNone {
display:none !important;
}


}



/* 2021.01.13 松田追記 */

.sub-nav-box {
    display: block;
    overflow: hidden;
    transform-origin: top center;
    transform: scaleY(0);
    transition: all 0.5s;
    box-shadow: 0 5px 5px 0px rgb(148 148 148 / 30%);
}

.global-navi nav>ul>li.active {
    background-color: #eaeaea;
}

.global-navi nav>ul>li.active > a {
    color: #8f8f8f;
}
.global-navi nav>ul>li.active .sub-nav-box {
    transform: scaleY(1);
}

@media (max-width: 767.98px) {
    #cnt .table-wrap {
        overflow-x: scroll;
    }
    #cnt .table {
        table-layout: auto;
    }
}

.table {
    table-layout: fixed;
    box-shadow: 0.1rem 0.1rem #888888;
}

.table th, .table td {
    border: 1px solid #888888;
    padding: .375rem .5rem;
    white-space: nowrap;
    overflow-x: hidden;
    vertical-align: middle !important;
}

.table th + th, .table th + td, .table td + th, .table td + td {
    border-left: 1px solid #CCCCCC;
}

.table thead {
    text-align: center;
}

.table thead th {
    font-weight: 500;
    background-color: #F0F0F0;
    border-bottom: 2px solid #888888;
}

.table thead th:first-child {
    width: 2.5rem;
}

.table tbody th {
    font-weight: 400;
    text-align: center;
}
