body {
    background-color: #fff;
    overflow: auto;
    font-family: 'SuzukiPRORegular', sans-serif;
    visibility: hidden;
}

.header {
    padding: 0px 0px 20px 0;
    position: relative;
    background-color: #fff;
    width: 980px;
    margin: 0 auto;
}

.main,
.footer {
    padding: 2px 0px;
    position: relative;
    background-color: #fff;
    width: 980px;
    margin: 0 auto;
}

.main {
    padding-bottom: 40px;
}

.main-content {
    width: 920px;
    margin: 0 auto;
}


/* Common Fonts */

@font-face {
    font-family: 'SuzukiPROHeadline';
    src: url("../fonts/suzukiproheadline.eot");
}

@font-face {
    font-family: 'SuzukiPROBold';
    src: url("../fonts/suzukiprobold.eot");
}

@font-face {
    font-family: 'SuzukiPRORegular';
    src: url("../fonts/suzukiproregular.eot");
}

@font-face {
    font-family: 'SuzukiPROHeadline';
    src: url("../fonts/suzukiproheadline.ttf") format('truetype');
}

@font-face {
    font-family: 'SuzukiPROBold';
    src: url("../fonts/suzukiprobold.ttf") format('truetype');
}

@font-face {
    font-family: 'SuzukiPRORegular';
    src: url("../fonts/suzukiproregular.ttf") format('truetype');
}

@font-face {
    font-family: 'SuzukiPROHeadline';
    src: url("../fonts/SuzukiPROHeadline.otf") format("opentype");
}

@font-face {
    font-family: 'SuzukiPROBold';
    src: url("../fonts/SuzukiPROBold.otf") format("opentype");
}

@font-face {
    font-family: 'SuzukiPRORegular';
    src: url('../fonts/SuzukiPRORegular.otf') format("opentype");
}


/* header */

.header-table-top {
    width: 100%;
    table-layout: fixed;
    vertical-align: middle;
}

.header-table-top .logo {
    width: 175px;
    background-color: #fff;
}

.header-logo img {
    border: none;
    vertical-align: middle;
}

.header-table-top .title {
    width: 580px;
    height: 45px;
}

.header-table-top h1 {
    margin: 0;
    padding: 0 20px;
    font-size: 36px;
}

.header-table-top .title a {
    text-decoration: none;
    color: #000;
    padding-left: 100px
}

.header-bottom {
    width: 100%;
    background-color: #f2f2f2;
    text-align: center;
    word-break: normal;
}

.header-bottom td {
    overflow: hidden;
    width: 25%;
    height: 100%;
    border: 1px solid #f2f2f2;
}

.header-bottom a {
    box-sizing: border-box;
    color: #333333;
    padding: 11px;
    text-decoration: none;
    display: block;
    width: 100%;
    height: 100%;
    font-size: 18px;
    font-family: 'SuzukiPROBold', sans-serif;
}

.header-bottom a:hover {
    color: #999999;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
    /* Chrome */
    .header-bottom a {
        line-height: 1.35em;
    }
}

@-moz-document url-prefix () {
    /* firefox */
    .header-bottom a {
        line-height: 1.3em;
    }
    .header-table-top .links {
        height: 100%;
    }
}


/* invert */

.header-bottom .invert a {
    color: #999999;
}


/* pulldown */

.pulldown select {
    font-family: 'SuzukiPRORegular', sans-serif;
    font-size: 16px;
    width: 100%;
}

div.lang-dropdown-select-element {
    margin: auto;
}

.lang-dropdown-select-element .form-item {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

td.switch-menu-sp {
    display: none;
}

#humburger_menu_button {
    display: none;
}


/* footer */

.custom-footer-block {
    display: inline-block;
    width: 100%;
    vertical-align: middle;
}

.custom-footer-block a {
    margin: 0 10px;
    color: #333333;
    font-size: 11px;
    font-family: 'SuzukiPRORegular', sans-serif;
}

.footer-link {
    float: right;
    margin-top: 2px;
}

.footer {
    background-color: #F2F2F2;
    color: #333333;
}

.custom-footer-block p {
    font-size: 11px;
    font-family: 'SuzukiPRORegular', sans-serif;
    float: left;
    margin: 6px 7px;
}


/* provision, /service/provision */

.provTitle {
    border-spacing: 0;
    font-weight: bold;
    color: black;
    margin: 20px 0px;
    cursor: pointer;
    position: relative;
    line-height: 1.5em;
}

.provTitle:before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url(../images/accordion_close_foreign.png) no-repeat 0 0;
    background-size: 100%;
    position: relative;
    top: 3px;
    left: -6px;
}

.provTitle.open:before {
    content: "";
    background: url(../images/accordion_open_foreign.png) no-repeat 0 0;
    background-size: 100% !important;
}

.provText {
    font-size: 14px;
    margin: 5px 0;
}


/* font */

body h1 {
    font-size: 34px;
    font-weight: bold;
    font-family: 'SuzukiPROHeadline', sans-serif;
}

body h2 {
    font-size: 24px;
    font-weight: normal;
    font-family: 'SuzukiPROBold', sans-serif;
}

body h3 {
    color: #333333;
    font-size: 18px;
    font-weight: normal;
    font-family: 'SuzukiPRORegular', sans-serif;
    background-color: #F2F2F2;
    padding: 2px 10px;
}

.text-bold {
    font-weight: bold;
}


/* link */

.link-mark {
    color: #000;
    text-decoration: none;
    margin-left: 10px;
}

.link-mark:hover {
    text-decoration: underline;
}

.link-mark::before {
    display: inline-block;
    content: "";
    width: 7px;
    height: 15px;
    position: relative;
    top: 3px;
    left: -6px;
}

/* button */

.button {
    text-decoration: none;
    border: solid 1px #666666;
    color: #404040;
    background-color: #FFFFFF;
    padding: 10px 80px;
    border-radius: 0px;
    font-family: 'SuzukiPROBold', sans-serif;
}

.button:hover {
    border: solid 1px #949494;
    color: #848484;
}

.button.back {
    padding: 10px 50px;
}

.button:disabled {
    background-color: #F2F2F2;
    background-image: none;
    color: #999999;
}

.button.disabled {
    background-color: #F2F2F2;
    background-image: none;
    color: #999999;
    pointer-events: none;
}


/* table */

.table-scroll {
    overflow-y: scroll;
}


/* center */

.to-center {
    text-align: center;
}


/* border */

.hr-dashed {
    border: none;
    margin: 20px 15px;
}

.information-table td {
    border-bottom: unset;
}


/* サービスの境界線 */

fieldset {
    border-style: none !important;
}


/* サービス説明タイトル */

.servicechoice-servicelist h2,
h3 {
    margin: 10px 0 20px 0;
}


/* ご利用にあたってタイトル */


/* 適合宣言書ページタイトル */


/* 個人情報取り扱いページタイトル */


/* プライバシーポリシーページタイトル */

.terms .pageTitle,
.compliance .pageTitle,
.privacy .pageTitle,
.privacypolicy .pageTitle {
    clear: both;
    font-weight: 400;
    font-size: 2.000em;
    line-height: 1.167em;
    margin-top: 60px;
    padding-top: 10px;
    padding-bottom: 12px;
}


/* progress meter */

.step {
    list-style-type: none;
    display: table;
    width: 100%;
    padding: 0;
    margin: 0;
    overflow: hidden;
    border: 2px solid #001151;
    text-align: center;
    table-layout: fixed;
    height: 80px;
    font-size: 11px;
}

.step li {
    display: table-cell;
    position: relative;
    background: #fff;
    padding: 0.5em 0.5em 0.5em 1.2em !important;
    color: #000;
    vertical-align: middle;
}

.step li:last-child {
    padding-right: 1em;
}

.step li:last-child:before,
.step li:last-child:after {
    display: none;
}

.step li:before,
.step li:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    margin: auto;
}

.step li:before {
    top: -15px;
    right: -1em;
    border-style: solid;
    border-color: transparent transparent transparent #001151;
    border-width: 55px 0px 65px 15px;
    z-index: 10;
}

.step li:after {
    top: -15px;
    right: -.8em;
    border-style: solid;
    border-color: transparent transparent transparent #fff;
    border-width: 55px 0px 65px 15px;
    z-index: 10;
}

.step li.current {
    background: #001151;
    font-weight: bold;
    color: #fff;
}

.step li.current:after {
    border-color: transparent transparent transparent #001151;
}

.step li.hidden {
    display: none;
}


/* error message */

.messages.messages--error {
    background-image: none;
    box-shadow: none;
    margin: 10px 30px;
    padding: 20px;
    border: 1px solid #e62600;
}

.nowInProcess {
    pointer-events: none;
}


/* maintenance */

.maintenance .header-logo {
    width: 144px;
    background-color: #fff;
    vertical-align: middle;
    text-align: left;
}

.maintenance .header-logo img {
    border-bottom: none;
}

nav.humburger {
    display: block;
}


/* PDFテーブル */

.pdf-table {
    width: 100%;
    height: 100%;
    border-collapse: separate;
    border-spacing: 0 1em;
}

.pdf-table tr {
    height: 100%;
}


/* PDFリンク共通 */

.cell_link {
    display: block;
    text-decoration: none;
    color: #000;
    width: 170px;
    height: 100%;
    min-height: 100px;
    margin: 0 auto;
    background-color: #84A9D9;
    text-align: center;
}

.cell_link:hover {
    background-color: #a5cbfd;
}

.dl-pdf-link-area {
    padding: 5px 0;
}


/* アプリDLリンクのアイコン */

.file-icon {
    vertical-align: middle;
}


/* PDFテーブル空白部分 */

.cell_blank {
    display: block;
    width: 170px;
    height: 100%;
    min-height: 100px;
    padding: 5px 0;
}


/* ガイド画像タイトル改行 */

.br::before {
    content: "\A";
    white-space: pre;
}


/* 各種情報エリア */

td.info-area {
    background: url(../../../../themes/custom/szgl/images/supportTop_global.png) no-repeat;
    background-size: cover;
}


/* 各種サービスエリア */

td.service-area {
    background: url(../../../../themes/custom/szgl/images/supportTop_global.png) no-repeat;
    position: relative;
    background-size: cover;
}


/* 各種サービス事前準備 */

.list-premise,
.list-premise-inside {
    margin-top: -1em !important;
}


/* 各種サービス事前準備 1段目リスト */

.list-premise>li:before {
    content: '■';
    width: 0.5em;
    height: 0.5em;
    display: inline-block;
    position: relative;
    left: -1em;
    top: 17px;
}


/* 各種サービス事前準備 2段目リスト */

.list-premise-inside>li:before {
    content: '—';
    width: 0.5em;
    height: 0.5em;
    display: inline-block;
    position: relative;
    left: -1em;
    top: 17px;
}


/* 各種サービス事前準備 2段目リスト（USB） */

.list-premise-usb>li:before {
    content: '—';
    width: 0em;
    display: inline-block;
    position: relative;
    left: -1em;
}

td.width-info {
    width: 25%;
}

td.width-summary {
    width: 25%;
}

td.width-conf {
    width: 32%;
}

td.width-lang {
    width: 18%;
}


/* 各種サービス：ご注意 */

ul.note {
    word-break: normal;
    color: black;
}


/* 約款系の行頭文字 */

ol {
    padding-left: 1.5em;
}


/* 約款系括弧なしOL */

ol.ol-non-bracket {
    padding-left: 1em;
    margin: 0;
}


/* 約款系括弧付きOL */

ol.ol-bracket {
    padding-left: 0;
    margin: 0;
}

ol.ol-bracket>li {
    list-style-type: none;
    counter-increment: cnt;
    padding-left: 1em;
    text-indent: -1.2em;
}

ol.ol-bracket>li:before {
    content: "(" counter(cnt) ")";
}


/* 個人情報取り扱い画面テキスト */

div[class^="privacyText"] {
    padding-left: 0.5em;
}


/* サポートトップ：リンクエリア */

.link-area {
    color: #333333;
}

.link-area .link-button {
    color: #333333;
    border: 1px solid #333333;
    background-color: #f2f2f2;
    font-family: 'SuzukiPROBold', sans-serif;
}

.link-area .link-button:hover {
    color: #999999;
    border: 1px solid #999999;
}


/* その他DL：注意書き */

div.other-note-block p.text-note {
    text-indent: -0.5em;
}


/* 車載機の更新手順：画像説明リスト */

form.process .top-text1-image-desc {
    list-style-type: none;
    display: block;
    width: 90%;
    margin: 0 0 0 4.5em !important;
}

form.process .top-text1-image-desc>li {
    text-indent: -1.4em;
}


/* 車載機の更新手順：手順2 ソフトウェア更新事前説明 */

form.process .top-text2 {
    padding-left: 1.5em;
    text-indent: -0.5em;
}


/* その他の方法でダウンロード：ダウンロードリンク */

.dl-table button {
    text-align: left;
}

/* ダウンロード系画面：ダウンロード手順説明インデント */

form.dl-process-form p.text-indent-1 {
    padding-left: 1em;
    text-indent: -0.5em;
}


.exe-dl-button.nowInProcess{
    border: solid 1px #949494 !important;
    color: #848484 !important;
}

/* その他DL：車種名表示位置 */

ul.carmodel-list {
    margin: 0;
    padding: 0 0 0 2em;
}

ul.carmodel-list2 {
    margin: 5px 0 0 0;
    padding: 0 0 0 2em;
}