@charset "utf-8";

/* --- 見積もり --- */

.mitumori-waku {
    border: 1px solid #333;
    padding: 10px 30px;
    width: 960px;
    margin: 30px auto;
    background: #fff;
    box-sizing: border-box;
    position: relative;
    overflow-x: scroll;
}
.mitumori-waku .midashi-title {
    text-align: center;
    margin: 30px auto;
    font-size: 32px;
}
.mitumori-waku .flex-layout {
    justify-content: space-between;
}

.mitumori-waku .flex-layout-box {
    flex: 0 0 42%;
    max-width: 600px;
    font-size: 16px;
}
.mitumori-waku .flex-layout-box {
    max-width: 600px;
    font-size: 16px;
}
.mitumori-waku .flex-layout-box:nth-child(1) {
    flex: 0 0 50%;
}
.mitumori-waku .flex-layout-box:nth-child(2) {
    flex: 0 0 38%;
}
.mitumori-waku .mit-info-second .flex-layout-box:nth-child(1) {
    flex: 0 0 50%;
}
.mitumori-waku .mit-info-second .flex-layout-box:nth-child(2) {
    flex: 0 0 45%;
}
.mit-atesaki {
    margin-bottom: 10px;
}
.mit-atesaki .mit-name {
    font-size: 22px;
    font-weight: bold;
    display: block;
}
.mit-address {
    margin: 3px 0px 0px 10px;
    display: block;
    font-size: 16px;
}
.mit-memo {
    display: block;
    font-size:16px;
}
.mit-memo dt,
.mit-memo dd{
display: inline-block;
}
.mit-memo-title {
font-weight: bold;
}
.mit-memo-title:after {
content: '：'
}

dl.mit-info-right dt {
    display: inline-block;
    text-align: left;
    width: 40%;
    position: relative;
}
dl.mit-info-right dt:after {
    content: '：';
    text-align: right;
    position: absolute;
    right: 0px;
}
dl.mit-info-right dd {
    display: inline-block;
    text-align: right;
    width: 60%;
}
.mit-info-right {
    margin-bottom: 30px;
}
.mit-hakkou-company {
    display: block;
    font-size: 18px;
}
.mit-hakkou {
    text-align: right;
}
table.mit-tbl {
border-top:3px solid #333;
border-left:3px solid #333;
width:100%;
box-sizing: border-box;
    margin-bottom: 30px;
}
table.mit-tbl th:last-of-type,
table.mit-tbl td:last-of-type {
border-right:3px solid #333;
}
table.mit-tbl tr:last-of-type {
border-bottom:3px solid #333;
}
table.mit-tbl th,
table.mit-tbl td {
    padding: 5px;
    border-right: 1px solid #888;
    font-size: 16px;
    border-bottom: 1px solid #888;
    min-height: 35px;
    box-sizing: border-box;
}
table.mit-tbl th {
    text-align: center;
}
table.mit-tbl td {
    text-align: right;
}
table.mit-tbl.mit-tesuuryou td:nth-child(1),
table.mit-tbl.mit-tatekaekin td:nth-child(1){
text-align: left;
}

.mit-furikomi {
    border: 3px solid #333;
    padding: 7px;
    font-size: 14px;
    margin-top: 26px;
}
.mit-tbl.mit-tesuuryou th:nth-child(1) {width: 45%;}
.mit-tbl.mit-tesuuryou th:nth-child(2) {width: 8%;}
.mit-tbl.mit-tesuuryou th:nth-child(3) {width: 8%;}
.mit-tbl.mit-tesuuryou th:nth-child(4) {width: 13%;}
.mit-tbl.mit-tesuuryou th:nth-child(5) {width: 13%;}
.mit-tbl.mit-tesuuryou th:nth-child(6) {width: 13%;}

.mit-tbl.mit-tatekaekin th:nth-child(2) {    width: 38.8%;}

.mit-bikou {
    border: 1px solid #333;
    padding: 10px;
    font-size: 14px;
    margin-bottom: 30px;
}
.btn.mit-saihakkou a {
    display: block;
    margin: 0 auto 20px;
    width: 200px;
    border-radius: 5px;
    background: #ddd;
    text-align: center;
    padding: 10px 30px;
    color: #333;
    border: 1px solid #333;
}

/* --- 報告書表示 --- */
.mit-logo {
    display: block;
    position: absolute;
    left: 33px;
    top: 10px;
}
.mit-logo > img {
    width: 140px;
    margin-bottom: 2px;
}
.mit-logo > p > img {
    width: 27px;
    margin-right: 6px;
}
.mit-logo > p {
    font-size: 12px;
}
.flex-layout.report .mit-atesaki {
margin-top: 0px;
}
.mit-number {
    position: absolute;
    right: 30px;
    top: 10px;
    text-align: right;
}
.flex-layout.report {
    margin-top: 50px;
    margin-bottom: 30px;
}
.kakomi1 {
    border: 1px solid #333;
    border-radius: 5px;
    padding: 10px 20px 0px;
    margin-top: 20px;
    background: #f7f7f7;
}
table.base {
    width: 100%;
    box-sizing: border-box;
    border-top: 1px solid #333;
    border-left: 1px solid #333;
    margin-bottom: 16px;
}
table.base th {
    background: #f7f7f7;
}
table.base th,
table.base td {
    padding: 7px 10px;
    border-right: 1px solid #888;
    font-size: 16px;
    border-bottom: 1px solid #888;
    min-height: 35px;
    box-sizing: border-box;
}
table.base th:last-of-type,
table.base td:last-of-type {
border-right:1px solid #333;
}
table.base tr {
    border-bottom: 1px dotted #ccc;
}
table.base tr:last-of-type {
border-bottom:1px solid #333;
}
table.base th {
    text-align: center;
}
table.base td {
    text-align: left;
}
table.base.report th:nth-child(2) {width: 18%;}
table.base.report th:nth-child(3) {width: 25%;}

.hyouka {
    margin-left: 685px;
    font-size: 15px;
}
.kakomi2 {
    border: 1px solid #333;
    border-radius: 5px;
    padding: 10px 20px 0px;
    margin-top: 20px;
    background: #e9f3f9;
}



/* --- 検索 --- */
div#jpp_container {
    margin: 20px auto;
}




/* -----------------------------------------------------------
ログイン画面
----------------------------------------------------------- */
body.login {
}
body.login #outer {
	height: 100% !important;
}
body.login #content {
height: 100%;
}
body.login .content-area {
min-height: 300px;
height: 100%;
}
.flex-layout.login-page {
height: 100%;
}
.login-page .flex-layout-box {
    flex: 0 0 50%;
    max-width: 50%;
    height: 100%;
}
.flex-layout-box.login-form {
    background-color: #24a4ff;
    height: 100%;
    overflow: auto;
}
.login-form-inner {
    max-width: 380px;
    margin: 140px auto 0px;
    background: #fff;
    border: 1px solid #ddd;
    padding: 60px 30px 30px 30px;
    border-radius: 10px;
    box-sizing: border-box;
}
.login-logo {
    margin: 0 auto 40px;
    display: block;
    width: 150px;
}

.flex-layout-box.login-img {
background: #fff;
    height: 100%;
    overflow: auto;
}
.login-sprash {
width: 100%;
}

.about-box {
    padding: 30px 30px 30px 30px;
}
.about-box-midashi {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
    font-family: 'M PLUS Rounded 1c', sans-serif;
}
.about-box p {
}
.login-copyright {
    position: absolute;
    bottom: 0px;
    left: 20px;
    font-size: 12px;
    color: #fff;
    font-weight: normal;
}

/*ログインフォーム*/
.top-login-form {
    border-bottom: 1px solid #bfbfbf;
    max-width:100%;
    padding-bottom: 60px;
}
form#loginform {
    max-width: 420px;
    margin: 30px auto 10px;
}
form#loginform input[type=text],
form#loginform input[type=password] {
    width: 97%;
    background: #fbfbfb;
    font-size: 20px;
    padding: 5px;
    margin: 2px 6px 16px 0;
    border: 1px solid #ddd;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.07);
    color: #32373c;
    outline: 0;
    transition: 50ms border-color ease-in-out;
}
p#nav {
    margin: 30px auto 0px;
    font-size: 15px;
    line-height: 1.8;
    text-align: center;
}
form p {
margin-bottom:0px !important;
    font-size: 14px;
}
/*
input[type=checkbox] {
    border: 1px solid #b4b9be;
    background: #fbfbfb;
    color: #555;
    clear: none;
    cursor: pointer;
    display: inline-block;
    line-height: 0;
    height: 16px;
    margin: -4px 4px 0 0;
    outline: 0;
    padding: 0!important;
    text-align: center;
    vertical-align: middle;
    width: 16px;
    min-width: 16px;
    -webkit-appearance: none;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
    transition: .05s border-color ease-in-out;
}
*/

.button, .button-primary, .button-secondary {
    display: inline-block;
    font-size: 13px;
    margin: 0;
    cursor: pointer;
    border-width: 1px;
    border-style: solid;
    -webkit-appearance: none;
    border-radius: 3px;
    white-space: nowrap;
    box-sizing: border-box;
}
.button-primary {
    background: #0075c2;
    border-color: #3f5aa9;
    box-shadow: 0 1px 0 #006799;
    color: #fff;
    text-decoration: none;
    text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;
}
p .button {
    vertical-align: baseline;
}
.button.button-large {
    padding: 0px 12px 0px;
    margin: 18px auto;
    display: block;
    height: 40px;
    width: 97%;
    border-radius: 20px;
    font-size: 16px;
}

/* -----------------------------------------------------------
ログイン｜新規登録画面
----------------------------------------------------------- */
body.login-entry {
    background-color: #fafafa;
}
body.login-entry .content-inner {
    padding: 0px 0px 0px 0px;
}
.login-entry-logo {
    margin: 24px auto 20px;
    display: block;
    text-align: center;
}
.login-entry-logo img {
width:140px;
}
.login-entry-wrap {
    display: block;
    background-color: #fff;
    padding: 40px;
    position: relative;
    box-sizing: border-box;
    max-width: 700px;
    margin: 0 auto 80px;
    width: 100%;
}
body.login-entry #footer ul {
    margin: 10px 0px 0px 0px;
    text-align: left;
}
body.login-entry #footer .inner {
    padding-bottom: 10px;
}
body.login-entry h2 {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin: 0px 0px 30px 0px;
    font-family: 'M PLUS Rounded 1c', sans-serif;
}



/* -----------------------------------------------------------
案件情報：タブ表示
----------------------------------------------------------- */
/*タブ切り替え全体のスタイル*/
.tabs {
  display: flex;
  margin-top: 30px;
  max-width: 1200px;
}

/*タブのスタイル*/
.tab_item {
    width: calc(100%/6);
    min-height: 47px;
    background-color: #d9d9d9;
    line-height: 50px;
    font-size: 18px;
    text-align: center;
    color: #141414;
    display: block;
    text-align: center;
    font-weight: bold;
    transition: all 0.2s ease;
    border-radius: 10px 10px 0px 0px;
    margin: 0px 1px;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    letter-spacing: 1px;
    line-height: 1.4;
    padding: 10px 1px;
    box-sizing: border-box;
}
.tab_item:hover {
  opacity: 0.75;
}

/*選択されているタブのスタイルを変える*/
body.zenpan .tabs label[for="all"] { background-color: #f67701;color: #fff; }
body.patent .tabs label[for="patent"] { background-color: #00a0e9;color: #fff; }
body.design .tabs label[for="design"] { background-color: #72b92a;color: #fff; }
body.trademark .tabs label[for="trademark"] { background-color: #f7c700;color: #fff; }
body.utility-model .tabs label[for="utility-model"] { background-color: #e70070;color: #fff; }
body.copyright .tabs label[for="copyright"] { background-color: #a673c4;color: #fff; }

.tab_item a {
color:#333;
}

/* -----------------------------------------------------------
ポイント表示：０のときは非表示
----------------------------------------------------------- */
.user-point.no-point { display: none !important; }

/* -----------------------------------------------------------
案件情報
----------------------------------------------------------- */
body.anken h2.midashi-title {
    margin-top: 36px;
    padding: 0px 0px 10px 0px;
}

.mce h2.title-mypage {
font-weight:normal;
}
.mce h2.title-mypage .user-point {
font-size:16px;
margin-left:20px;
}
.item-box {
    width: 100%;
    overflow: auto;
}
.item-box table {
  display: table;
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
  table-layout: auto;
    border-left: 1px solid #d2d2d2;
    width: 100%;
}
.mce table.item-list th {
    border-right: none;
    border-bottom: 1px solid #d2d2d2;
    border-right: 1px solid #d2d2d2;
    background-color: #00a0ea;
    padding: 7px;
    color: #fff;
    text-align: center;
    font-size: 15px;
    line-height: 1.8;
    display: table-cell;
    width: 150px;
    font-weight: bold;
    letter-spacing: 1px;
}
.mce table th.item-meisyo,
.mce table th.item-bikou {
    min-width: 300px;
}
.mce table.item-list td {
    border-right: 1px solid #d2d2d2;
    border-bottom: 1px solid #d2d2d2;
    background-color: #ffffff;
    padding: 12px 10px;
}
.mce table.item-list td.empty {
    background-color: #ececec;
}
.mce table.item-list td.item-bikou.empty {
    background-color: #fff;
}
.mce table.item-list td span {
font-weight:bold;
display:block;
}
.mce table.item-list td.item-bikou span {
font-weight:normal;
}
.mce table.item-list td span.item-file {
    border: 1px solid #eeeeee;
    width: 96%;
    display: block;
    background: #f7f7f7;
    padding: 2px;
    text-align: center;
    margin: 7px auto;
    font-weight: normal;
    font-size: 12px;
    position: relative;
    border-radius: 5px;
    letter-spacing: 0px;
    box-sizing: border-box;
}
body.paid-list .mce table.item-list td span.item-file {
    margin: 0px auto 0px;
}
.mce table.item-list td span.item-file a:before {
    content: '\f15c';
    font-family: "Font Awesome 5 Free";
    font-weight: 800;
    margin-right: 5px;
    color: #004d94;
}
.mce table.item-list td span.item-file.type-invoice a:before {
    content: '';
    display: inline-block;
    width: 15px;
    height: 18px;
    background: url(//ip-direct.jp/wp-content/themes/hp-flat/css/../images/ipconnect/icon-invoice2.png) no-repeat 50% 50%;
    background-size: contain;
    vertical-align: text-top;
}
.mce table.item-list td span.item-file a {
    display: block;
}

.mce table.item-list td span.item-kessai a {
    display: block;
    color: #fff;
    font-size: 13px;
    border: 1px solid #e3e6ed;
    width: 97%;
    border-radius: 5px;
    background: #f67701;
    padding: 2px;
    text-align: center;
    margin: 7px auto;
    font-weight: normal;
    box-sizing: border-box;
}
.mce table.item-list td span.item-sakusei a {
    display: block;
    color: #fff;
    font-size: 13px;
    border: 1px solid #e3e6ed;
    width: 100%;
    border-radius: 5px;
    background: #f67701;
    padding: 2px;
    text-align: center;
    margin: 7px auto;
    font-weight: normal;
}

.mce table.item-list td span.item-date {
text-align:center;
    font-size: 16px;
    font-family: 'Roboto' , sans-serif;
    position:relative;
}
.mce table.item-list td:nth-child(1) span.item-date {
text-align: left;
}
.kigen-box {
 /*   position: absolute;
    left: 0px;
    top: -20px;*/
}
.mce table.item-list td .kigen-box span.kigen {
    position: relative;
    display: block;
    color: #fff;
    font-size: 13px;
    background: #dd1218;
    width: 40px;
    letter-spacing: 3px;
}
.mce table.item-list td .kigen-box span.kigen:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -3px;
  border: 3px solid transparent;
  border-top: 3px solid #dd1218;
}

.mce table.item-list td .kigen-box span.kigen-new {
    position: relative;
    display: block;
    color: #fff;
    font-size: 13px;
    background: #dd1218;
    width: 115px;
    letter-spacing: 3px;
}
.mce table.item-list td .kigen-box span.kigen-new:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -3px;
    border: 3px solid transparent;
    border-top: 3px solid #dd1218;
}

.koumoku-box {
 /*   position: absolute;
    left: -3px;
    top: -20px;*/
}
table.item-list span.koumokumei {
    position: relative;
    display: block;
    color: #141414;
    font-size: 13px;
    background: #f7f7f7;
    width: fit-content;
    letter-spacing: 0px;
    padding: 1px 4px 0px 4px;
    border: 1px solid #141414;
    border-radius: 3px;
    text-align: left;
}
.mce table.item-list td span.item-title {
    font-size: 18px;
    margin: 5px 0px;
}
.mce table.item-list td span.item-title a {
color: #333;
}
.item-list .item-title a:after {
    content: '案件詳細ページへ >>';
    display: block;
    font-size: 12px;
    font-weight: normal;
    border: 1px solid #ddd;
    padding: 1px 7px;
    max-width: 140px;
    text-align: center;
    border-radius: 3px;
    letter-spacing: 0px;
    width: 100%;
}
.item-title-img {
    width: 100%;
    box-sizing: border-box;
    max-width: 100%;
    margin-top: 10px;
    border: 1px solid #ddd;
    padding: 15px;
}

.mce table.item-list.utility-model th {
    background-color: #e6006f;
}
.mce table.item-list.design th {
    background-color: #6fba2a;
}
.mce table.item-list.trademark th {
    background-color: #f8c702;
}
.mce table.item-list.copyright th {
    background-color: #a673c4;
}
.mce .item-text p { 
    font-weight: normal;
}
.mce table.item-list td span.item-kubun {
    text-align: center;
}

.mce table.item-list.paid-list td {
text-align: center;
}
.item-box table.paid-list {
  table-layout: fixed;
}

/* -----------------------------------------------------------
案件詳細
----------------------------------------------------------- */
.anken-detail-wrap {
border:1px solid #ddd;
padding: 10px 20px;
border-radius: 10px;
margin: 0 auto;
    max-width: 480px;
width: 100%;
    box-sizing: border-box;
}
.anken-detail-wrap span {
    font-weight: bold;
    display: block;
}
.anken-detail-wrap .midashi-title3 {
margin-top: 20px;
    font-size: 17px;
}
body.patent .midashi-title3 { background-color: #00a0ea;}
body.utility-model .midashi-title3 { background-color: #e6006f;}
body.design .midashi-title3 { background-color: #6fba2a}
body.trademark .midashi-title3 { background-color: #f8c702;}
body.copyright .midashi-title3 { background-color: #a673c4;}

.anken-detail-wrap .koumokumei {
    position: relative;
    display: block;
    color: #141414;
    font-size: 16px;
    background: #f7f7f7;
    width: fit-content;
    letter-spacing: 0px;
    padding: 1px 4px 0px 4px;
    border: 1px solid #141414;
    border-radius: 3px;
    text-align: left;
    margin-top: 5px;
}
.item-title {
    font-size: 18px;
    margin: 5px 0px 0px 0px;
}
.item-title a {
    color: #333;
}
.anken-detail-wrap .item-title-img {
    width: 100%;
    box-sizing: border-box;
    margin-top: 10px;
    border: 1px solid #ddd;
    padding: 15px;
}
.item-file a {
    display: block;
    color: #004d94;
}
.anken-detail-wrap .item-file {
    border: 1px solid #eeeeee;
    width: 100%;
    display: block;
    background: #f7f7f7;
    padding: 7px;
    text-align: center;
    margin: 7px 0px;
    font-weight: normal;
    font-size: 16px;
    position: relative;
    border-radius: 5px;
    letter-spacing: 0px;
    box-sizing: border-box;
}
.item-file a:before {
    content: '\f15c';
    font-family: "Font Awesome 5 Free";
    font-weight: 800;
    margin-right: 5px;
    color: #004d94;
}
.anken-detail-wrap .item-kessai a {
    display: block;
    color: #fff;
    font-size: 17px;
    border: 1px solid #e3e6ed;
    width: 100%;
    border-radius: 5px;
    background: #f67701;
    padding: 7px;
    text-align: center;
    margin: 7px 0px;
    font-weight: normal;
    box-sizing: border-box;
}
.anken-detail-wrap .item-sakusei a {
    display: block;
    color: #fff;
    font-size: 17px;
    border: 1px solid #e3e6ed;
    width: 100%;
    border-radius: 5px;
    background: #f67701;
    padding: 7px;
    text-align: center;
    margin: 7px 0px;
    font-weight: normal;
    box-sizing: border-box;
}
.kigen-box span.kigen {
    position: relative;
    display: block;
    color: #fff;
    font-size: 16px;
    background: #dd1218;
    width: 60px;
    letter-spacing: 3px;
    padding: 0px 10px;
    text-align: center;
}
.kigen-box span.kigen:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -3px;
    border: 3px solid transparent;
    border-top: 3px solid #dd1218;
}




/* -----------------------------------------------------------
フォーム
----------------------------------------------------------- */

/* --- フォーム｜初期設定 --- */
input, textarea, select {
    font-size: 0.9em;
    line-height: 1.0em;
    padding: 2px;
    margin: 0px 0px 0px 0px;
    font-family: monospace;
    font-family: 'M PLUS Rounded 1c';
}

input[type="file"] {width: 100%;}

.ipform-wrap p {font-size: 1.0em;font-weight: normal;font-style: normal;line-height: 1.4em;}

.ipform-wrap th {white-space: normal;text-align: left;font-weight: normal}

.ipform-wrap button {padding: 3px;}

.ipform-wrap label {cursor: pointer;}



/* --- フォーム｜入力欄 --- */
.ipform-wrap {box-sizing: border-box;position: relative;margin: 8px auto 8px auto;margin-top: 8px;margin-bottom: 8px;max-width: 800px;border: 1px solid #FFFFFF;background-color: #FFFFFF;padding: 4px 4px 0px 4px;}

.ipform-title {text-align: center;max-width: auto;font-size: 16px;line-height: 1.6em;color: #FFFFFF;background-color: #8B8B8B;border: 1px solid #AAAAAA;font-weight: bold;padding: 4px 4px 4px 4px;margin: 8px auto 16px auto;margin-top: 8px;margin-bottom: 16px;}

.ipform-container {
    box-sizing: border-box;
    border-top: 1px solid #CCCCCC;
    border-left: 1px solid #CCCCCC;
    margin-top: 0px;
}

.ipform-row {
    table-layout: fixed;
    display: block;
    width: 100%;
}

.ipform-row .itemTitle {
    display: block;
    width: 100%;
    vertical-align: top;
    padding: 10px 10px 10px 10px;
    font-weight: bold;
    line-height: 1.6;
    font-size: 15px;
    color: #555555;
    background-color: #f7f7f7;
    border: 0;
    border-right: 1px solid #CCCCCC;
    border-bottom: 1px solid #CCCCCC;
    box-sizing: border-box;
}

.ipform-row .itemInput {display: block;width: 100%;vertical-align: text-top;font-size: 15px;line-height: 1.6;color: #555555;background-color: #FFFFFF;padding: 10px 10px 10px 10px;border: 0;border-right: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;box-sizing: border-box;}

.ipform-row .itemInput .text-red {
    color: #d80100;
    font-weight: bold;
    letter-spacing: -1px;
}

.itemInput.itemComment {overflow-wrap: break-word;}

.ipform-row .itemText {
    padding: 8px 0;
    border: none;
    position: relative;
    left: -1px;
    text-align: center;
    padding-top: 20px;
}
.ipform-row .itemInput.itemTable {
padding: 0px;
}
.itemTable table {
    width: 100%;
    box-sizing: border-box;
}
.itemTable table th {
    background: #f7f7f7;
}
.itemTable table th,
.itemTable table td {
    padding: 7px 10px;
    border-right: 1px solid #ccc;
}
.itemTable table th:last-of-type,
.itemTable table td:last-of-type {
    border-right: none;
}
.itemTable table tr {
    border-bottom: 1px dotted #ccc;
}
.itemTable table tr:last-of-type {
    border-bottom: none;
}
.itemInput .btn {
    display: inline-block;
    background: #efefef;
    color: #333;
    border-radius: 5px;
    padding: 3px 20px;
    margin: 0px 10px 10px;
    border: 1px solid #333;
}
.itemInput.itemBtn {
    text-align: center;
    padding-bottom: 0px;
}

.itemInput input[type="text"], .itemInput input[type="email"], .itemInput textarea, .itemInput select {
    font-size: 0.95em;
    font-family: -apple-system, BlinkMacSystemFont, monospace;
    line-height: 1.6;
    padding: 4px 8px 4px 8px;
    margin: 2px 0px;
    color: #555555;
    background-color: #FFFFFF;
    border: 1px solid #BBBBBB;
    box-sizing: border-box;
}

.itemInput select {padding-left: 0px;padding-right: 0px;max-width: 100%;}

.itemInput select option {color: #444;background-color: #fff;}

.itemInput figure {margin: 0;}

.ipform-row .itemHeading {    padding: 8px 0;    border-left: 0;    border-right: 0;    position: relative;    left: -1px;}

.ipform-row:first-child .itemHeading {        top: -1px;    }

.ipform-row .itemHeading .heading-container {    position: relative;    display: block;    margin: 1.6em 0 1.4em 0;    padding: 12px 12px;    width: 100%;    font-size: 1.1em;    color: #555;    background: #fff;    border: solid 2px #aaa;    box-sizing: border-box;}

.ipform-row .itemHeading .heading-container::before {    content: "";    position: absolute;    bottom: -24px;    left: 10%;    margin-left: -15px;    border: 12px solid transparent;    border-top: 12px solid #fff;    z-index: 2;}

.ipform-row .itemHeading .heading-container::after {    content: "";    position: absolute;    bottom: -29px;    left: 10%;    margin-left: -17px;    border: 14px solid transparent;    border-top: 14px solid #aaa;    z-index: 1;}

.itemInput input[type="text"], .itemInput input[type="email"], .itemInput textarea, .itemInput select {box-shadow: 0px 1px 2px 0px #ddd inset;border-radius: 4px;}

.itemInput input[type="text"]:focus, .itemInput input[type="email"]:focus, .itemInput textarea:focus, .itemInput select:focus {box-shadow: 0px 0px 3px #f05050;}

.itemInput label:hover {text-shadow: 0px 0px 2px #dd8080;}

.ipform-row figure img[onclick]:hover {cursor: pointer;}

.annot {
    color: #555555;
    font-size: 0.9em;
    padding: 0px;
    display: inline-block;
    vertical-align: top;
    border: 1px solid #555;
    padding: 10px;
    border-radius: 5px;
    margin: 10px 0px 10px 0px;
    background-image: url(../images/ipconnect/right-point.png);
    background-repeat: no-repeat;
    background-position: 99% 5%;
    background-size: 130px;
    min-height: 100px;
    padding-right: 130px;
    width: 100%;
    box-sizing: border-box;
}
.annot.annai {
    background-image: url(../images/ipconnect/right-annai.png);
    background-position: 99% 5%;
    background-size: 141px;
}

.annot-upper {margin: 10px 0px 10px 0px;}

.annot-lower {margin: 10px 0px 10px 0px;}

.req-mark {
    display: inline-block;
    font-size: 0.8em;
    height: 1.4em;
    color: #FFFFFF;
    background-color: #d80000;
    font-family: meiryo, 'Hiragino Kaku Gothic Pro', sans-serif;
    white-space: nowrap;
    border-radius: 4px;
    position: relative;
    padding: 0.1em 0.2em;
    float: left;
    margin: 0 0.2em 0 0;
}

.checkLabel {margin: 0px 4px;font-size: 0.9em;}

.tkaddress {display: inline-table;}

.tkaddress th {background : 0;border: 0;padding: 0px 2px 0px 0px;text-align: left;}

.tkaddress td {background : 0;border: 0;padding: 0px;}

.tkaddress .search-address-button {padding: 1px 1px 1px 1px;font-size: 0.8em;}

.choice-table {display: inline-table;border-spacing: 0;vertical-align: top;}

.choice-table td {padding: 2px 4px 2px 18px;text-indent: -16px;}

.choice-table td label {margin: 0px 0px 0px 2px;}

.grid-item {display: inline-table;border-spacing: 0;vertical-align: top;}

.grid-item-row {display: table-row;}

.grid-item-colname {display: table-cell;padding: 4px;text-align: center;}

.grid-item-rowname {display: table-cell;padding: 4px 0;}

.grid-item-radio {display: table-cell;padding: 4px;text-align: center;border-radius: 4px;}

.grid-item-radio:hover {background-color: rgba(255, 230, 230, 0.7);}

.scale-table {}

.scale-table td {text-align: center;padding: 0px 4px 0px 4px;}

.blockConnect {display: inline-block;margin: 0px;vertical-align: top;}

.ipform-title, .itemTitle, .itemInput, .itemInput select, .annot, #form-button button, .proc-step {    font-family: 'M PLUS Rounded 1c';}

.form-buttons {text-align: center;margin: 16px 0px 16px 0px;}

.form-buttons button {font-size: 13px;}

.form-buttons .return-top {margin: 0 32px 0 0;}

.form-buttons management {margin: 16px 0px 16px 0px;}

.form-buttons2 {margin: 16px 0px 16px 0px;}

.form-buttons .deco-button-flat-small {
    position: relative;
    color: #FFFFFF;
    font-size: 18px;
    text-align: center;
    letter-spacing: 2px;
    background-color: #f67701;
    width: 25%;
    border: 0;
    border-radius: 10px;
    padding: 20px 50px;
    cursor: pointer;
    box-shadow: 0px 2px 6px 0px rgb(123 123 123 / 70%);
    max-width: 500px;
    margin: 20px auto 10px;
}

.form-buttons .deco-button-flat-small-not {
    position: relative;
    color: #FFFFFF;
    font-size: 18px;
    text-align: center;
    letter-spacing: 2px;
    background-color: #615f5e;
    width: 25%;
    border: 0;
    border-radius: 10px;
    padding: 20px 50px;
    cursor: pointer;
    box-shadow: 0px 2px 6px 0px rgb(123 123 123 / 70%);
    max-width: 500px;
    margin: 20px auto 10px;
}

.form-buttons2 .deco-button-flat-small {
    position: relative;
    color: #FFFFFF;
    font-size: 13px;
    text-align: center;
    letter-spacing: 2px;
    background-color: #f67701;
    border: 0;
    border-radius: 10px;
    padding: 10px 50px;
    cursor: pointer;
    box-shadow: 0px 2px 6px 0px rgb(123 123 123 / 70%);
    width: 70%;
}

.form-buttons2 .deco-button-flat-small-not {
    position: relative;
    color: #FFFFFF;
    font-size: 13px;
    text-align: center;
    letter-spacing: 2px;
    background-color: #615f5e;
    border: 0;
    border-radius: 10px;
    padding: 10px 50px;
    cursor: pointer;
    box-shadow: 0px 2px 6px 0px rgb(123 123 123 / 70%);
    width: 70%;
}

.form-buttons3 .deco-button-flat-small {
    position: relative;
    color: #FFFFFF;
    font-size: 13px;
    text-align: center;
    background-color: #f67701;
    border: 0;
    border-radius: 10px;
    padding: 10px 40px;
    cursor: pointer;
    box-shadow: 0px 2px 6px 0px rgb(123 123 123 / 70%);
}

.form-buttons .deco-button-flat {
    display: block;
    position: relative;
    color: #FFFFFF;
    font-size: 18px;
    text-align: center;
    letter-spacing: 2px;
    background-color: #f67701;
    width: 100%;
    border: 0;
    border-radius: 10px;
    padding: 20px 50px;
    cursor: pointer;
    box-shadow: 0px 2px 6px 0px rgb(123 123 123 / 70%);
    max-width: 500px;
    margin: 20px auto 10px;
}
.form-buttons .deco-button-flat:after {
    content: '\f35a';
    font-family: 'Font Awesome 5 Free';
    font-size: 20px;
    color: #fff;
    display: inline-block;
    vertical-align: middle;
    margin: 2px 0px 0px 8px;
}
.form-buttons .back-button {
    display: block;
    position: relative;
    color: #656565;
    font-size: 18px;
    text-align: center;
    letter-spacing: 2px;
    background-color: #f7f7f7;
    width: 100%;
    border: 0;
    border-radius: 10px;
    padding: 10px 50px;
    cursor: pointer;
    box-shadow: 0px 2px 6px 0px rgb(123 123 123 / 70%);
    max-width: 300px;
    margin: 50px auto 10px;
}
.form-buttons .back-button:before {
    content: '\f0a8';
    font-family: 'Font Awesome 5 Free';
    font-size: 20px;
    color: #656565;
    display: inline-block;
    vertical-align: middle;
    margin: 2px 8px 0px 0px;
    font-weight: 900;
    content: '\f359';
}

.form-buttons .deco-button-flat:active {position: relative;top: 2px;}

#proc-step-container {
    margin: 0px 0px 10px 0px;
    text-align: center;
    white-space: nowrap;
}

.proc-step {
    width: auto;
    height: 50px;
    line-height: 50px;
    font-size: 18px;
    padding: 0px 29px;
    text-align: center;
    display: inline-block;
    margin: 0px 50px 0px 0px;
    position: relative;
    color: #aeaeae;
    background-color: #f7f7f7;
    border-radius: 10px;
    font-family: 'M PLUS Rounded 1c';
}
.proc-step:after {
    content: '\f35a';
    position: absolute;
    right: -41px;
    top: 1px;
    font-family: 'Font Awesome 5 Free';
    color: #f7f7f7;
    font-size: 30px;
}
#proc-step-finish.proc-step:after {
display: none;
}

.proc-step.active {
    background-color: #f67701;
    color: #FFFFFF;
}
.proc-step.active:after {
    color: #f67701;
}


@media print {
#save-load-layer {    display: none;    }
}

/* --- フォーム｜エラー --- */
#error-message {
    color: #551111;
    background-color: #fff5f5;
    margin: 30px auto 0px;
    padding: 16px 16px 0px 16px;
    border: 1px dashed #d80000;
    font-size: 16px;
    border-radius: 5px;
    background: #fff5f5 url(../images/ipconnect/alert-icon.gif) no-repeat 99% 93%;
}
#error-message li {line-height: 1.4em;}
.ipform-wrap .error {
    font-size: 0.95em;
    border: 1px solid #d66;
    margin: 2px 0px 0px 0px;
    padding: 2px 2px 2px 26px;
    color: #551111;
    background: #fff5f5 url(../images/ipconnect/alert-icon.gif) no-repeat 1px 3px;
    border-radius: 3px;
    box-shadow: 0px 1px 2px #aaa;
    cursor: pointer;
    z-index: 1;
    background-size: 21px;
}
.error-input {
background-color:#fff0f0 !important;
color: #dd0000 !important;
}

.ipform-content {
    margin: 40px auto 0px;
}

/* -----------------------------------------------------------
ファイルアップロード
----------------------------------------------------------- */
body.fileupload .ipform-row .itemHeading {
    display: block;
}
body.fileupload .ipform-row {
    table-layout: auto;
    display: table;
}
body.fileupload .ipform-row .itemTitle {
    display: table-cell;
}
body.fileupload .ipform-row .itemInput {
    display: table-cell;
}




/* -----------------------------------------------------------
開閉　よくある質問い
----------------------------------------------------------- */
body.qa dl.qa {
padding-bottom:1px;/* ←点線高分 */
margin-bottom: 20px;
}

body.qa dl.qa dt {
    border: 1px solid #009b63;
    line-height: 1.6;
    margin-top: 20px;
    background: #f3f9f7;
    font-size: 18px;
    padding:2px 15px 0px 15px; 
    position:relative;
}
body.qa dl.qa dt:before {
    content: "Q";
    font-family: "serif";
    font-size: 18px;
    position: absolute;
    left: 13px;
    top: 13px;
    border-radius: 13px;
    background: #55c03e;
    width: 26px;
    height: 26px;
    font-weight: 700;
    color: #fff;
    text-align: center;
    line-height: 26px;
}

body.qa dl.qa dt a {
display:block;
cursor:pointer;
padding: 10px 0 10px 39px;
position:relative;
    color: #1fab02;
    font-weight: bold;
}

body.qa dl.qa dt a:hover,
body.qa dl.qa dt a:active {
    text-decoration: none;
}
body.qa dl.qa dd {
    line-height: 1.6;
    padding: 10px 40px 10px 50px;
    position: relative;
    border: 1px solid #009b63;
    margin-bottom: 20px;
    border-top: none;
    background: #ffffff;
    position: relative;
}
body.qa dl.qa dd:before {
    content: "A";
    font-family: "serif";
    font-size: 18px;
    position: absolute;
    left: 13px;
    top: 13px;
    border-radius: 13px;
    background: #fe912b;
    width: 26px;
    height: 26px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    line-height: 26px;
}




