﻿@charset "utf-8";

html, body {
    height: 100%;
}

body {
    background-color: #FFF;
    line-height: 150%;
}

body, td, th {
    font-family: Arial, Helvetica, "sans-serif","Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo;
    font-size: 14px;
    color: #333;
}

h1 {
    margin-left: 110px;
    font-size: 14px;
    font-weight: normal;
    display: inline-block;
    vertical-align: top;
}

h2 {
    margin-bottom: 15px;
    font-size: 20px;
    font-weight: normal;
    color: #258DC5;
}
/*　ヘッダー　*/
header.ez-head {
    color: #333;
    background: #fff;
    height: 40px;
    border-bottom: 1px solid #ccc;
    display: flex;
    justify-content: space-between;
}

    header.ez-head .header-left {
        margin: 5px 0 0 5px;
        font-size: 16px;
        white-space: nowrap;
    }

        header.ez-head .header-left .logo {
            height: 30px;
        }

    header.ez-head .header-right {
        margin: 7px 10px 0 0;
        width: 400px;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        vertical-align: middle;
    }

        header.ez-head .header-right .account {
            display: block;
            float: right;
        }

        header.ez-head .header-right .user {
            padding-right: 15px;
            width: 40px;
            height: 30px;
        }

        header.ez-head .header-right .name {
            line-height: 30px;
            float: right;
            margin-right: 32px;
        }
            header.ez-head .header-right .name::after {
                content: "\f0d7";
                font-weight: 800;
                font-family: 'Font Awesome 5 Free';
                position: absolute;
                top: 0;
                border: none;
                color: #aaa;
                padding: 0.25rem 0 0 0.5rem;
                font-size: 110%;
            }

            header.ez-head .header-right .name:hover::after {
                color: #333;
            }

        header.ez-head .header-right a {
            color: #333;
            text-decoration: none;
        }

/* loading
-------------------------------------------------- */

#loading {
    width: 100vw;
    height: 100vh;
    transition: all 0.7s;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    opacity: 0.8;
}

.loader,
.loader:after {
    border-radius: 50%;
    width: 10em;
    height: 10em;
    opacity: 1;
}

.loader {
    margin: 18rem auto;
    font-size: 0.4rem;
    position: relative;
    text-indent: -9999em;
    border-top: 1.1em solid rgba(50,50,50, 0.6);
    border-right: 1.1em solid rgba(50,50,50, 0.6);
    border-bottom: 1.1em solid rgba(50,50,50, 0.6);
    border-left: 1.1em solid #d4d4d4;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation: load8 1.1s infinite linear;
    animation: load8 1.1s infinite linear;
}

@-webkit-keyframes load8 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes load8 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

/* サイドバー */
aside {
    min-height: calc(100vh - 41px);
    flex-basis: 200px;
    background-color: #258DC5;
    color: #fff;
    box-sizing: border-box;
    flex-basis: auto;
    align-self: auto;
}

    aside .toggle {
        background-color: transparent;
        border: none;
        cursor: pointer;
        outline: none;
        margin: 10px 10px 0 10px;
        padding: 0;
    }

    aside nav ul ul {
        padding: 0 0 0 5px;
    }

    aside nav ul li.onpre, aside nav ul li.basic, aside nav ul li.cloud {
        border-bottom: 1px solid #359FD9;
    }

    aside nav p {
        white-space: nowrap;
        cursor: pointer;
    }

        aside nav p span {
            width: 100%;
            padding: 10px 0 10px 47px;
            background-image: url(../image/icon-arrow-down.svg);
            background-repeat: no-repeat;
            background-position: left 176px center;
            cursor: pointer;
            box-sizing: border-box;
            display: block;
        }

    aside nav .onpre .menu {
        background-image: url(../image/icon-onpre.svg);
        background-repeat: no-repeat;
        background-position: 10px center;
    }

    aside nav .onpre .menu1 {
        background-image: url(../image/icon-onpre-service.svg);
        background-repeat: no-repeat;
        background-position: 5px center;
    }

        aside nav .onpre .menu1 a.on {
            background-image: url(../image/icon-onpre-service-on.svg);
            background-repeat: no-repeat;
            background-position: 5px center;
        }

    aside nav .onpre .menu2 {
        background-image: url(../image/icon-onpre1.svg);
        background-repeat: no-repeat;
        background-position: 5px center;
    }

        aside nav .onpre .menu2 a.on {
            background-image: url(../image/icon-onpre1-on.svg);
            background-repeat: no-repeat;
            background-position: 5px center;
        }

    aside nav .onpre .menu3 {
        background-image: url(../image/icon-document.svg);
        background-repeat: no-repeat;
        background-position: 5px center;
    }

        aside nav .onpre .menu3 a.on {
            background-image: url(../image/icon-document-on.svg);
            background-repeat: no-repeat;
            background-position: 5px center;
        }

    aside nav .cloud .menu {
        background-image: url(../image/icon-cloud.svg);
        background-repeat: no-repeat;
        background-position: 10px center;
    }

    aside nav .cloud .menu1 {
        background-image: url(../image/icon-cloud-service.svg);
        background-repeat: no-repeat;
        background-position: 5px center;
    }

        aside nav .cloud .menu1 a.on {
            background-image: url(../image/icon-cloud-service-on.svg);
            background-repeat: no-repeat;
            background-position: 5px center;
        }

    aside nav .cloud .menu2 {
        background-image: url(../image/icon-cloud-ip.svg);
        background-repeat: no-repeat;
        background-position: 5px center;
    }

        aside nav .cloud .menu2 a.on {
            background-image: url(../image/icon-cloud-ip-on.svg);
            background-repeat: no-repeat;
            background-position: 5px center;
        }

    aside nav .basic .menu {
        background-image: url(../image/icon-basic.svg);
        background-repeat: no-repeat;
        background-position: 10px center;
    }

    aside nav .basic .menu1 {
        background-image: url(../image/icon-basic1.svg);
        background-repeat: no-repeat;
        background-position: 5px center;
    }

        aside nav .basic .menu1 a.on {
            background-image: url(../image/icon-basic1-on.svg);
            background-repeat: no-repeat;
            background-position: 5px center;
        }

    aside nav .basic .menu2 {
        background-image: url(../image/icon-basic2.svg);
        background-repeat: no-repeat;
        background-position: 5px center;
    }

        aside nav .basic .menu2 a.on {
            background-image: url(../image/icon-basic2-on.svg);
            background-repeat: no-repeat;
            background-position: 5px center;
        }

    aside nav a.on, aside nav a.on:hover {
        color: #258DC5;
        background-color: #fff;
        border-radius: 4px 0 0 4px;
    }

    aside nav ul li a {
        padding: 10px 0 10px 45px;
        color: #fff;
        text-decoration: none;
        white-space: nowrap;
        display: block;
    }

        aside nav ul li a:hover {
            background-color: rgba(255,255,255,0.1);
            border-radius: 4px 0 0 4px;
            color: #fff;
            text-decoration: none;
        }

    aside nav .accordion .inner {
        display: none;
    }

        aside nav .accordion .inner.open {
            padding-bottom: 10px;
            display: block;
        }

article {
    padding: 30px;
    width: calc(100% - 200px);
    box-sizing: border-box;
}

    article button {
        margin: auto;
        color: #FFF;
        border: 0;
        text-decoration: none;
        display: block;
        outline: 0;
    }

#account section, #ipaddr section {
    padding: 0;
    border-top: 1px solid #CCC;
}

.pass_setting {
    border-top: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
}

#account section#sei_setting,
#account section#cc_setting,
#account section#bank_setting {
    padding: 30px 0 20px 0;
}

#account .bankcode {
    width: 6rem;
}

/*　checkbox　*/
.mt-ios input {
    opacity: 0;
}

.mt-sm {
    font-size: 0.4rem;
    height: 1.3rem;
}

.forcheckbox {
    padding-left: 1rem;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}

/* コンテンツ */
.content {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}

.button-wrapper {
    padding-top: 1.5rem;
}

.btn-large {
    padding: 10px;
    width: 200px;
    font-size: 16px;
}

.setting-btn {
    text-align: center;
    margin-top: 0.5rem;
}

.page-info {
    font-size: 15px;
    padding: 0 0 30px 20px;
    color: #8f8e8e;
}

    .page-info p {
        display: inline-block;
    }

    .page-info .link {
        float: right;
    }

        .page-info .link a {
            color: #337ab7;
            text-decoration: none;
        }

    .page-help .term {
        color: #336289;
        text-decoration: none;
    }

#page_help {
    width: 30px;
    height: 30px;
    position: fixed;
    right: 40px;
    top: 80px;
    opacity: 0.7;
}

    #page_help a {
        position: relative;
    }

        #page_help img {
            width: 30px;
            height: 30px;
        }

.input-valid {
    color: #bf2525;
    text-align: left;
    padding-top: 0.2rem;
    font-size: 90%;
}

/*　入力フォーム　*/
.form {
    /* margin-bottom: 30px; */
    width: 100%;
    /* border-bottom: 1px solid #CCC; */
}

    .form tr:first-child {
        border-top: 0;
        /* border-top: 1px solid #CCC; */
    }

    .form tr:last-child {
        border-bottom: 0;
        /* border-top: 1px solid #CCC; */
    }

    .form tr {
        border-top: 1px dotted #CCC;
    }

    .form th {
        width: 120px;
        padding: 20px;
        font-weight: normal;
        white-space: nowrap;
        text-align: left;
    }

    .form td {
        padding: 16px 20px;
        text-align: left;
    }

    .form .bundle {
        border: none;
    }

    .form .bundle-top {
        border-top: 1px dotted #CCC;
    }

    .form .bundle-bottom {
        border-bottom: 1px dotted #CCC;
    }

    .form .bundle th,
    .form .bundle td,
    .form .bundle th,
    .form .bundle td {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .form .bundle-top th,
    .form .bundle-top td {
        padding-top: 20px;
        padding-bottom: 10px;
    }

    .form .bundle-bottom th,
    .form .bundle-bottom td {
        padding-top: 10px;
        padding-bottom: 20px;
    }

input {
    padding: 0 10px;
    height: 30px;
    border: 1px solid #CCC;
    border-radius: 3px;
    box-sizing: border-box;
}

    input:focus {
        background-color: #F4FDFF;
        border: 1px solid #89C8E9;
        outline: none;
    }

::placeholder {
    color: #b3b1b1;
}

.hissu {
    vertical-align: top;
    margin-left: 5px;
    color: #fff;
    font-size: 8px;
    padding: 1px 4px;
    border-radius: 3px;
    background: #f1a32f;
}

/*　スクロールを非表示　*/
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance: textfield;
}

/*　エラー表示　*/
.error input {
    background: #FFEBE3;
    border: 1px solid #FF926C;
}

.error .alert {
    color: #FF5D26;
    display: inline-block;
}

    .error .alert img {
        margin: 0 2px 0 5px
    }

.passerror {
    color: #FF5D26;
    font-size: 1.1rem;
}

/* 更新成功表示 */
.updateSucceed {
    color: #FF715A;
    /* color: #727272; */
    font-weight: bold;
    font-size: 1.1rem;
    margin-bottom: 10px;
}

.passUpdate {
    color: #04d10e;
    font-size: 1.1rem;
}

/*　表組　*/
.list {
    margin-bottom: 30px;
}
    /* .list thead,
.list tbody {
    display: block;
}
.list tbody {
	overflow-y: scroll;
    height: 150px;
} */
    /* .list {
	display: block;
	overflow-y: scroll;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
  }
.list tbody {
	width: 100%;
	height: calc(100vh - 41px);
	display:table;
  } */
    .list tr {
        border-bottom: 1px dotted #CCC;
    }

        .list tr:last-child {
            border-bottom: 1px solid #CCC;
        }

    .list th {
        padding: 5px;
        font-size: 12px;
        font-weight: normal;
        background-color: #EEE;
        white-space: nowrap;
        border-top: 1px solid #CCC;
        border-bottom: 1px solid #CCC;
        text-align: center;
    }

    .list td {
        padding: 5px;
        font-size: 12px;
        text-align: center;
        vertical-align: middle;
    }

        .list td a:hover {
            opacity: 0.7;
        }

    .list tr:hover {
        background-color: #eefbff;
    }

    .list .icon-wrapper {
        height: 20px;
    }


table .col-tokuname {
    width: 300px;
}

.postal-code {
    margin-left: 5px;
    width: 131px;
}
.pref {
    width: 150px;
}

table .col-name {
    max-width: 15rem;
}

table .col-iprule {
    white-space: nowrap;
}

.destination, .address1, .address2, .address3, .address4, .email,
.company, .busho, .position, .yaku, .tel, .furigana {
    width: 400px;
}

input.ipname {
    width: 400px;
}

input.ipaddr {
    width: 250px;
}

.password {
    width: 250px;
}

.btn.btn-light {
    border: 1px solid #cecece;
}

.btn-list {
    margin: auto;
    border: 0;
    border-radius: 3px;
    text-align: center;
    text-decoration: none;
    display: block;
    outline: 0;
}

.btn-small {
    padding: 2px 8px;
    white-space: nowrap;
    font-size: 11px;
}

button.ez-icon {
    background-color: transparent;
    border: none;
}

.btn-medium {
    padding: 5px 0;
    width: 100px;
    font-size: 13px;
}

.sei_check {
    padding: 15px;
    display: block;
}

    .sei_check button {
        display: inline-block;
        padding: 5px 25px;
        margin-right: auto;
        color: #FFF;
        border: 0;
        border-radius: 3px;
        background-color: #7eadc7;
        text-align: center;
        text-decoration: none;
        outline: 0;
    }

        .sei_check button:hover {
            background-color: #66a2c2;
        }

/* 条件検索エリア */
.tab {
    border-bottom: 1px solid #CCC;
}

.tab1 {
    margin-bottom: -1px;
    padding: 10px;
    width: 120px;
    display: inline-block;
    border: 1px solid #CCC;
    border-radius: 3px 3px 0 0;
    border-bottom: 1px solid #FFF;
    text-align: center;
}

.search {
    margin-bottom: 30px;
    padding: 20px 20px 0 20px;
    border: 1px solid #CCC;
    border-radius: 3px;
    display: flex;
}

    .search .condition-search {
        display: flex;
        flex-wrap: wrap;
        width: calc(100% - 100px);
    }

        .search .condition-search span {
            margin-bottom: 5px;
            display: block;
        }

.condition1, .condition2, .condition3, .condition4, .condition5 {
    margin: 0 20px 10px 0;
    display: inline-block;
}

.condition1 {
    width: 200px;
}

    .condition1 select {
        width: 60%;
    }

.btn-search-area {
    margin-bottom: 20px;
    width: 100px;
    align-self: flex-end;
    text-align: right;
    display: inline-block;
}

a.point {
    cursor: pointer;
}


/* Myid登録ページ */

.MyidRegistration .MyidForm,
.MyidRegistration .ConfirmMyid {
    padding-bottom: 70px;
    max-width: 800px;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    box-sizing: border-box;
}

.MyidRegistration .page-title {
    padding-bottom: 20px;
}

.MyidRegistration .title-box {
    background-color: #258DC5;
    border-radius: 2px;
    line-height: 60px;
    padding-left: 20px;
    vertical-align: middle;
    margin-bottom: 30px;
}
    .MyidRegistration .title-box .title {
        font-size: 27px;
        font-weight: bold;
        color: #fff;
    }

.MyidRegistration section {
    border-bottom: solid 1px #ccc;
}

    .MyidRegistration section.info-category {
        padding: 40px 20px 50px 20px;
    }

.MyidRegistration .ConfirmMyid table {
    width: 700px;
}

.MyidRegistration table tr:first-child {
    border-top: 1px dotted #CCC;
}

.MyidRegistration .ConfirmMyid .complete-div {
    text-align: center;
    margin-top: 100px;
    font-size: 1.1rem;
    line-height: 2.5;
}

.MyidRegistration .ConfirmMyid .complete-msg {
    color: #FF715A;
    font-weight: bold;
    font-size: 1.3rem;
    margin-bottom: 30px;
}
    .MyidRegistration .ConfirmMyid table {
    width: 700px;
    }

.MyidRegistration .ConfirmMyid tr {
   padding: 2px 0;
}

.MyidRegistration .ConfirmMyid th {
    width: 38%;
    line-height: 2;
    vertical-align: middle;
}

.MyidRegistration .ConfirmMyid td {
    line-height: 2;
    vertical-align: middle;
}
    .MyidRegistration .ConfirmMyid th .line {
        display: block;
        height: 100%;
        padding-right: 10px;
        border-right: solid 1px #c1c1c2;
    }
       
    .MyidRegistration .notice {
        font-size: 90%;
        padding-top: 10px;
    }

.MyidRegistration .terms .privacyTitle {
    text-align: left;
    margin: 30px 0 0;
    font-size: 14px;
}

    .MyidRegistration .terms .privacy {
        width: 100%;
        height: 300px;
        margin: 10px auto 20px;
        padding: 10px 0 10px 10px;
        border: solid 1px #8c8c8c;
        text-align: left;
    }

    .MyidRegistration .terms .privacy .scroll {
        overflow: auto;
        height: 280px;
        padding-right: 10px;
        background-color: #fff;
    }

    .MyidRegistration .terms .privacy .title {
        text-align: center;
    }

    .MyidRegistration .terms .privacy .lead {
        margin-top: 2em;
    }

    .MyidRegistration .terms .privacy .subTitle {
        margin: 1em 0 0 1em;
    }

    .MyidRegistration .terms .privacy ol {
        /*margin: 2em 0 0 1em;*/
        padding: 2em;
    }

    .MyidRegistration .terms .privacy li {
        margin-bottom: 2em;
    }

    .MyidRegistration .terms .privacy .wrap {
        margin-left: 1em;
    }

        .MyidRegistration .terms .privacy .wrap ul {
            margin-left: 1em;
        }

        .MyidRegistration .terms .privacy .wrap li {
            text-indent: -1.5em;
            padding-left: 1.5em;
            margin-bottom: 0;
        }

.MyidRegistration .terms .privacy a {
    text-decoration: underline;
}

    .MyidRegistration .terms .privacy a:hover {
        text-decoration: none;
    }

.MyidRegistration .terms .checkbox {
    margin-top: 20px;
    text-align: center;
}

.MyidRegistration .terms label {
    margin-left: 5px;
}
/* ログイン画面 */
.login .logo {
    width: 240px;
}

.login {
    text-align: center;
}

    .login h2 {
        margin: 20px auto;
        font-weight: normal;
        font-size: 23px;
    }

    .login dt {
        text-align: left;
        font-weight: normal;
    }

    .login dd {
        margin-bottom: 15px;
    }

    .login section {
        margin: 0 auto;
        padding: 45px 45px 25px;
        width: 400px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background: #F7F7F7;
        box-sizing: border-box;
    }

    .login input {
        width: 100%;
        height: 40px;
        border: 1px solid #ccc;
        border-radius: 3px;
    }

        .login input:focus {
            background-color: #F4FDFF;
            border: 1px solid #89C8E9;
            outline: none;
        }

    .login a {
        font-size: 0.9rem;
        color: #258DC5;
        text-decoration: none;
    }

.passlink {
    padding: 20px 0 0;
}

.op-0 {
    opacity: 0 !important;
}

.pointer-none {
    pointer-events: none !important;
}

.noselect {
    opacity: 0;
    pointer-events: none;
}

/* PW再設定画面 */
.reset-pw {
    text-align: center;
    /* width: calc(100% - 200px); */
    box-sizing: border-box;
}

    .reset-pw h2 {
        margin: 10px auto 30px;
        font-weight: normal;
        font-size: 20px;
    }

    .reset-pw p {
        margin: 10px auto 30px;
        font-size: 15px;
        text-align: left;
    }

    .reset-pw dt {
        text-align: left;
        font-weight: normal;
    }

    .reset-pw dd {
        margin-bottom: 15px;
    }

    .reset-pw section {
        margin: 0 auto;
        padding: 45px;
        width: 560px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background: #F7F7F7;
        box-sizing: border-box;
    }

    .reset-pw input {
        width: 100%;
        height: 40px;
        border: 1px solid #ccc;
        border-radius: 3px;
    }

        .reset-pw input:focus {
            background-color: #F4FDFF;
            border: 1px solid #89C8E9;
            outline: none;
        }

    .reset-pw button {
        margin: auto;
        color: #FFF;
        border: 0;
        border-radius: 3px;
        background-color: #258DC5;
        text-align: center;
        text-decoration: none;
        display: block;
        outline: 0;
    }

        .reset-pw button:hover {
            background-color: #309DD8;
        }

    .reset-pw a {
        font-size: 0.9rem;
        color: #258DC5;
        text-decoration: none;
    }

.reset-box,
.reset-div {
    margin: 40px 0;
}

.field-icon {
    color: #9DA5A2;
    float: right;
    margin-right: 15px;
    margin-top: -30px;
    position: relative;
    z-index: 2;
    cursor: pointer;
}

.pass-icon i {
    color: #9DA5A2;
    margin-left: -30px
}

.product-action {
    width: 13.8rem;
}

.fs-100 {
    font-size: 100% !important;
}

.comment {
    color: #aaa;
}

.msg-error {
    color: #FF5D26;
}

.msg-success {
    color: #0ec400;
}

/* bootstrap custom */

.badge-secondary {
    background-color: #9aa6b1;
}

.badge-success {
    background-color: #13bf11;
}

.btn.btn-primary {
    color: #FFF;
    background-color: #258DC5;
    border-color: #258DC5;
}

    .btn.btn-primary:hover {
        color: #fff;
        background-color: #309DD8;
        border-color: #309DD8;
    }