/*コンテンツ*/
.l-container { margin-bottom: 100px; }
 @media screen and (max-width: 960px) {
.l-container { margin-bottom: 60px; }
}
.l-content__body--02 { width: 100%; max-width: 1126px; padding-bottom: 0; padding: 0 20px; overflow: hidden; margin-left: auto; margin-right: auto; }
body { margin: 0; }
 @media screen and (max-width: 960px) {
body { padding-top: 52px; }
}
.c-breadcrumb>li { margin:0; }
/* ===========================================================
  main
=========================================================== */
.contentsBlock { display: none; }
.activeContents { display: block; }
/* text, heading */
h1 { color: #fff; line-height: 1.3; font-weight: normal; text-align: center; margin: 10px 0; padding: 15px 15px 11px 15px; background-color: #00a08e; }
h2 { color: #333; line-height: 1.2; font-weight: bold; position: relative; margin: 0 0 15px 0; padding: 0 0 8px 0; }
h2 { margin-top: 45px; }
h2:before { content: ""; display: block; width: 100%; height: 2px; background-color: #00a08e; position: absolute; bottom: 0; }
h2:after { content: ""; display: block; width: 63px; height: 2px; background-color: #fabf00; position: absolute; bottom: 0; }
@media only screen and (max-width: 960px) {
h1 { font-size: 24px; line-height: 1.3; }
h2 { font-size: 20px; }
}
::selection { color: #fff; background: #00a08e; text-shadow: none; }
strong { color: #00a08e; font-weight: bold; }
em { font-weight: bold; }
/* ul, ol, dl */
ul,
ol { margin: 0 0 20px 0; padding-left: .5em; }
ol ol,
ul ul,
ol ul,
ul ol { padding-left: 0; padding-top: .5em; margin: 0; }
li { position: relative; margin: 0 0 .3em 1.5em; }
/* table */
table { margin: 0 auto 30px auto; background-color: #fff; border-collapse: collapse; word-break: break-all; word-wrap: break-word; line-height: 1.5; width: 100%; }
th { font-weight: normal; padding: 6px; vertical-align: middle; }
thead th { color: #fff; text-align: center; border: 1px solid #ccc; background: #00a08e; }
tbody th,
tbody td { border: 1px solid #ccc; }
tbody th { background: #edeae4; }
td { padding: 6px; vertical-align: middle; }
/* link */
a { color: #0682be; -webkit-transition: opacity 0.3s; transition: opacity 0.3s; }
a:link { text-decoration: none; text-decoration: underline; }
a[href^='tel:']{color:inherit; text-decoration: none;}
@media only screen and (min-width: 961px) {
  a[href^='tel:']{pointer-events:none;}
}
a:visited { color: #0682be; text-decoration: none; }
a:hover,
a:focus,
a:active { opacity: .7; text-decoration: none; }
/* リンクアイコン設定 */
.link-pdf,
.link-ppt,
.link-word,
.link-excel { position: relative; display: inline-block; padding-left: 18px; margin-left: 16px; font-size: 14px; font-weight: normal; line-height: 2; color: #2e2e2e; }
.link-pdf::before,
.link-ppt::before,
.link-word::before,
.link-excel::before { content: ''; display: block; width: 12px; height: 17px; position: absolute; top: 50%; left: -3px; -webkit-transform: translate(0, -50%); transform: translate(0, -50%); }
.link-pdf::before { background: url(/assets/img/icon/pdf_icon.svg) top/100% 100% no-repeat; }
.link-ppt::before { background: url(/corporation/gp_subcontract/common/image/icon/powerpoint_icon.svg) top/100% 100% no-repeat; }
.link-word::before { background: url(/corporation/gp_subcontract/common/image/icon/word_icon.svg) top/100% 100% no-repeat; }
.link-excel::before { background: url(/corporation/gp_subcontract/common/image/icon/excel_icon.svg) top/100% 100% no-repeat; }

/* ボタン設定
----------------------------------------------------------- */
.btn { color: #fff; font-size: 18px; text-align: center; line-height: 1.4; text-shadow: 0 0 4px rgba(0,0,0,.3); display: inline-block; padding: 1em; border: none; border-radius: 3px; box-shadow: 0 0 5px rgba(0,0,0,.5); }
a.btn { text-decoration: none; }
a:visited.btn { color: #fff; }
.btn:after,
a.btn:after { content: none; }
.btn:hover { cursor: pointer; }
.btn-small { font-size: 13px; padding: 7px 12px; width: 140px; vertical-align: top; }
.btn+.btn { margin-left: 30px; }

.downloadBtn { background: -webkit-gradient(linear, left bottom, left top, color-stop(1, #1269bf), color-stop(0, #0d4e99)); background: -ms-linear-gradient(top, #1269bf, #0d4e99); position:relative; }
.movieBtn,
.movieBtn2 { background:-webkit-gradient(linear, left bottom, left top, color-stop(1, #ea9422), color-stop(0, #a56c17)); background: -ms-linear-gradient(top, #ea9422, #a56c17); position:relative; }
.downloadBtn::before,
.movieBtn::before { content:""; display:inline-block; width:18px; height:18px; vertical-align:middle; margin-right:5px; }
.downloadBtn::before { background:url(/corporation/gp_subcontract/common/image/icon/btn_download.svg) no-repeat center center; }
.movieBtn::before { background:url(/corporation/gp_subcontract/common/image/icon/btn_movie.svg) no-repeat center center; }


.movieBtn2::before { content:""; display:inline-block; width:18px; height:18px; vertical-align:middle; margin-right:5px; }
.movieBtn2::before { background:url(/corporation/gp_subcontract/common/image/icon/btn_movie2.svg) no-repeat center center; }

a.btn.linkBtn { color: #333; text-shadow: none; font-size: 125%; min-height: 120px; background-color: #fff; box-shadow: none; border: 3px solid #00a08e; margin-bottom: 15px; position: relative; padding-right: 35px; }
a.btn.linkBtn:after { content: ""; position: absolute; top: 50%; width: 8px; height: 8px; border-top: 2px solid #0E8072; border-right: 2px solid #0E8072; right: 30px; -webkit-transform: translateY(-50%) rotate(45deg); transform: translateY(-50%) rotate(45deg); -webkit-transition: 0.3s; transition: 0.3s; }
a.btn.linkBtn:hover:after { right: 25px; }


a.btn.linkBtn2 { color: #fff; text-shadow: none; font-size: 140%; min-height: 120px; background: -webkit-gradient(linear, left bottom, left top, color-stop(1, #1269bf), color-stop(0, #0d4e99)); background: -ms-linear-gradient(top, #1269bf, #0d4e99); margin-bottom: 15px; position: relative; padding-right: 35px; }
a.btn.linkBtn2:after { content: ""; position: absolute; top: 50%; width: 8px; height: 8px; border-top: 2px solid #fff; border-right: 2px solid #fff; right: 30px; -webkit-transform: translateY(-50%) rotate(45deg); transform: translateY(-50%) rotate(45deg); -webkit-transition: 0.3s; transition: 0.3s; }
a.btn.linkBtn2:hover:after { right: 25px; }

.linkBlankBtn { background: -webkit-gradient(linear, left bottom, left top, color-stop(1, #1269bf), color-stop(0, #0d4e99)); background: -ms-linear-gradient(top, #1269bf, #0d4e99); margin-bottom: 0; position:relative; }
.linkBlankBtn:before { content:""; position:absolute; width:14px; height:14px; display:block; background:url(/corporation/gp_subcontract/common/image/_blank_icon_white.svg) top/100% 100% no-repeat; right:15px; -webkit-transition: 0.3s; transition: 0.3s; }
.linkBlankBtn:hover:before { width:12px; height:12px; right:16px; }
@media only screen and (max-width: 640px) {
.linkBlankBtn  {  margin-bottom: 15px; }
}
@media only screen and (max-width: 960px) {
.btn { padding: .7em; }
.linkBlankBtn  { width: 100%; }
}
.icn_blank:after { content:""; width:14px; height:14px; display:inline-block; background:url(/corporation/gp_subcontract/common/image/icon/_blank_icon.svg) top/100% 100% no-repeat; right:15px; -webkit-transition: 0.3s; transition: 0.3s; margin-left:5px;}
.icn_blank:hover:after { width:12px; height:12px; right:16px; }

/* 汎用クラス
----------------------------------------------------------- */
.pcDisplayNone { display: none; }
@media only screen and (max-width: 960px) {
.pcDisplayNone { display: block; }
.spDisplayNone { display: none; }
.spFntSmall { font-size: 85%; }
}
.small { font-size: 85%; }
.bold { font-weight: bold; }
.left { text-align: left; }
.center { text-align: center; }
.right { text-align: right; }
.nobr { display: inline-block; }
.nowrap { white-space: nowrap; }
/* インデント */
.indent1em_base { text-indent: -1em; padding-left: 1em; }
.indent1em { text-indent: -1.5em; padding-left: 1.5em; }
.indent2em { text-indent: -2.5em; padding-left: 2.5em; }
.indent3em { text-indent: -3.5em; padding-left: 3.5em; }
.indent4em { text-indent: -4.5em; padding-left: 4.5em; }
.indentHead { margin-right: .5em; height: 1em;  }
.indent1em .indentHead { display: inline-block; float: left; width: 1em; }
.indent2em .indentHead { display: inline-block; float: left; width: 2em; }
.indent3em .indentHead { display: inline-block; float: left; width: 3em; }
.indent4em .indentHead { display: inline-block; float: left; width: 4em; }
/* カテゴリータブ
----------------------------------------------------------- */
.categoryTabBlock { margin: 30px 0 0 0; border-bottom: 3px solid #00a08e; }
.categoryTabUL { list-style: none; display: flex; flex-wrap: wrap; margin: 0; padding: 0; }
.categoryTabUL li { color: #000; text-align: center; line-height: 1.3; display: flex; align-items: center; padding: 8px 12px; margin: 5px 0 0 0; border-radius: 5px 5px 0 0; background-color: #eee; -webkit-transition: opacity 0.3s; transition: opacity 0.3s; }
.categoryTabUL li:not(:last-child) { margin-right: 5px; }
.categoryTabUL li.activeTab { color: #fff; background-color: #00a08e; }
.categoryTabUL li:hover { cursor: pointer; opacity: .7; }
@media screen and (max-width: 960px) {
.categoryTabUL { justify-content: space-between; }
.categoryTabUL li { font-size: 14px; text-align: center; flex-grow: 1; display: inline-block; margin: 0 10px 10px 0; padding: 6px 8px; border-radius: 5px; }
.categoryTabUL li:not(:last-child) { margin-right: 10px; }
}
/* 各コンテンツ共通クラス
----------------------------------------------------------- */
.noteBlock { margin-bottom: 45px; }
.noteBlock>*:last-child { margin-bottom: 0; }
.subTitle { color: #fff; display: inline-block; padding: 8px 12px; margin: 16px 0; background-color: #00a08e; }
.newsUL { display: table; width: 100%; margin-bottom: 60px; padding: 0; }
.newsUL_nm { margin-bottom: 1em; }
.newsUL li { display: table-row; }
.list-title { display: table-cell; vertical-align: middle; padding: 12px 0; border-bottom: 1px dotted #000; }
.list-btn { display: table-cell; text-align: right; vertical-align: middle; width: 150px; padding: 12px 0; border-bottom: 1px dotted #000; }
.list-note { display: table-cell; text-align: right; vertical-align: middle; padding: 12px 0; border-bottom: 1px dotted #000; }
@media screen and (max-width: 960px) {
.subTitle { display:block; }
.list-title { display:block; border-bottom:none; }
.list-btn,
.list-note { display:block; width:auto; text-align:center; padding-top:0; }
}
/* 選択ページ
----------------------------------------------------------- */
.selectUL { list-style: none; display: flex; justify-content: space-between; margin: 45px 0 0 0; padding: 0; }
.selectUL li { width: 100%; margin: 10px 5px; }
.selectUL li .btn { display: flex; align-items: center; width: 100%; height:120px; }
.selectBtn { width: 100%; }
@media screen and (max-width: 640px) {
.selectUL { flex-wrap: wrap; }
.selectUL li { min-height: auto; margin-bottom: 45px; }
}


/* WEBサービス
----------------------------------------------------------- */
.webServiceUL { list-style: none; display: flex; justify-content: space-between; margin: 45px 0 0 0; padding: 0; }
.webServiceUL  { width: 100%; margin: 10px 5px; }
.webServiceUL  .btn { display: flex; align-items: center; width: 50%; padding:1em 30px; }
.webServiceBtn { width: 100%; font-size: 130%; }
.serviceTimeBlock { text-align: center; padding: 15px; background-color: #eee; width: 50%; margin-left: 24px;}
@media screen and (max-width: 640px) {
.webServiceUL  .btn { width: 100%; }
.serviceTimeBlock { width: 100%; margin-left: 0;}
}
@media screen and (max-width: 640px) {
.webServiceUL { flex-wrap: wrap; }
.webServiceUL li { margin-bottom: 45px; }
}
/* 説明資料
----------------------------------------------------------- */
.largeLinkTxt { font-size: 22px; font-weight: bold; }
/* 解説動画
----------------------------------------------------------- */
/* /assets/css/style.css から抜粋 */
.c-video { display: none; position: fixed; top: 0; left: 0; height: 100vh; width: 100%; z-index: 2000; }
.c-video-bg { position: absolute; height: 100vh; width: 100%; background: rgba(0,0,0,0.8); }
.c-video-content { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); padding: 40px; width: 640px; }
.c-video-content video { width: 100%; height: auto; }
.c-video__close { position: absolute; top: 0; right: 40px; }
.c-video__close::before,
.c-video__close::after { content: ''; display: block; width: 30px; height: 3px; background: #fff; position: absolute; top: 0; }
.c-video__close::before { -webkit-transform: rotate( 45deg ); transform: rotate( 45deg ); }
.c-video__close::after { -webkit-transform: rotate( -45deg ); transform: rotate( -45deg ); }
@media screen and (max-width: 560px) {
.c-video-content { width: 100%; padding: 0; }
.c-video__close { top: -20px; }
}
/* デモツール
----------------------------------------------------------- */
.bg1stColor { background-color:#d6dce5; }
.bg2ndColor { background-color: #dae3f3; }
.bg3rdColor { background-color: #deebf7; }
.demoToolTable td:last-child { text-align: center; width: 150px; }
@media screen and (max-width: 960px) {
.demoToolTable { font-size: 85%; }
.demoToolTable thead { font-size: 85%; }
.demoToolTable td:last-child { width: 110px; }
.demoToolTable { font-size: 85%; }
.demoToolTable .btn-small { font-size: 12px; width:120px; }
}
/* WEBサービス
----------------------------------------------------------- */
.webServiceUL { list-style: none; display: flex; justify-content: space-between; margin: 45px 0 0 0; padding: 0; }
.webServiceUL li { width: 100%; margin: 10px 5px; display:flex; }
.webServiceUL li .btn { display: flex; align-items: center; width: 100%; padding:1em 30px; flex-grow:1;}
.webServiceUL li .list-linkBtn { display: flex; flex-direction:column; flex-grow:1; }
.webServiceBtn { width: 100%; }
.serviceTimeBlock { text-align: center; padding: 15px; background-color: #eee; }
@media screen and (max-width: 640px) {
.webServiceUL { flex-wrap: wrap; }
.webServiceUL li { margin-bottom: 45px; }
}

.webService-contactbox{ display:flex; flex-wrap: wrap; align-items:center; width:100%;}
.webService-contactbox dt{ margin-bottom:5px;text-indent:1em;}
.webService-contactbox dd{ margin:0;}
.webService-contactbox .txtcontact{ text-indent: -5em; padding-left: 6em;}
@media screen and (min-width: 961px) {
.webService-contactbox dt{ width:45%;}
.webService-contactbox dd{ width:calc(55% - 20px);}
.webService-contactbox .txtcontact{ width:auto;}
}
@media screen and (max-width: 960px) {
.webService-contactbox{justify-content:center;}
.webService-contactbox dt, .webServiceDl dd{ width:100%;}
.webService-contactbox dd{ font-size:22px; margin-bottom:10px;}
}
.webService-box{ border:1px solid #ccc; padding:0 0 20px 10px;}
.webService-box2{ border:1px solid #ccc; padding:0 10px 0 10px;}
.webService-box2_mb{ margin-bottom: 60px; }
.marigin-off { margin: 0; }
.marigin-off-top { margin-top: 0; }
.marigin-off-bottom { margin-bottom: 0; }
