@charset "utf-8";

/*
    スタイルシート
*/

/********** ContentHeader（コンテントヘッダ） **********/
div#ContentHeader {
    background-color: #FFFFFF;
    position: fixed !important;
    /* width: 1024px; */
    width: 100%;
    max-width: 1280px;
    z-index: 5;
}

div#ContentHeader div.line {
    /* background-color: #FFFFFF; */
    border-bottom: 2px solid #FFA500;
    /* border-bottom: 2px solid #c5cae9; */
    /* margin-bottom: 5px; */
    /* margin: 3px 0; */
    padding: 3px 0;
    height: 2em;
    display: flex;
    flex-direction: row;
}

    div#ContentHeader h2 {
        float: left;
        font-size: 1.5em;
        font-weight: bold;
        /* padding: 2px 50px 4px 28px; */
        padding: 2px 50px 0 28px;
    }

    div#ContentHeader div.user h2 {
        background: transparent url(../resources/image/user_b.gif) no-repeat scroll 0 3px;
    }

    div#ContentHeader div.error h2 {
        background: transparent url(../resources/image/error.gif) no-repeat scroll 0 3px;
    }


/********** ContentMainSmall（コンテントメイン上部ボタンなし画面） **********/
div#ContentMainSmall {
    padding: 55px 10px 50px 10px;
    /* padding: 55px 10px 30px 10px; */
}


/********** ContentMain（コンテントメイン上部ボタンあり画面） **********/
div#ContentMain {
    /* padding: 130px 0 25px 0; */
    /* padding: 95px 0 25px 0; */
    /* padding: 95px 0 35px 0; */
    /* padding: 95px 0 40px 0; */
    padding: 120px 10px 100px 10px;
    /* width: 1024px; */
}


/********** ContentMainTop（コンテントメイン上部ボタンあり、下部コンテントメインあり画面） **********/
div#ContentMainTop {
    padding: 95px 0 0 0;
}


/********** ContentMainBottom（コンテントメイン上部あり画面） **********/
div#ContentMainBottom {
    /* padding: 10px 0 40px 0; */
    padding: 10px 10px 50px 0;
}


/********** ContentMainTab（コンテントメインタブあり画面） **********/
div#ContentMainTab {
    /* padding: 140px 0 25px 0; */
    /* padding: 140px 0 35px 0; */
    /* padding: 145px 10px 50px 10px; */
    /* padding: 145px 10px 55px 10px; */
    padding: 160px 10px 55px 10px;
    /* padding: 80px 0 40px 0; */
    /* width: 1024px; */
}


/********** ContentMainReportDetail（コンテントメイン申告書詳細画面） **********/
div#ContentMainReportDetail {
    /* padding: 165px 0 25px 0; */
    /* padding: 120px 0 25px 0; */
    /* padding: 120px 0 35px 0; */
    /* padding: 200px 10px 50px 10px; */
    padding: 200px 10px 55px 10px;
    /* padding: 170px 10px 35px 10px; */
    /* width: 1024px; */
}


/********** ContentMainError（コンテントメインエラー画面用） **********/
div#ContentMainError {
    /* padding: 30px 0 25px 0; */
    /* padding: 30px 0 35px 0; */
    padding: 30px 10px 35px 10px;
    /* width: 1024px; */
}


/********** ContentFooter（コンテントフッター） **********/
div#ContentFooter {
    background-color: #FFFFFF;
    bottom: 25px;
    /* padding-top: 5px; */
    position: fixed !important;
    /* width: 1024px; */
    width: 100%;
    max-width: 1280px;
    display: flex;
    padding: 5px 0 10px 0;
}


/********** breadcrumb_navigation（パンくずリスト） **********/
ol.breadcrumb_navigation {
    /* float: left; */
    display: inline-flex;
    background-color: #FFFFFF;
    font-size: 0.8em;
    line-height: 1em;
    list-style-type: none;  /* リストマーク非表示 */
    /* padding-top: 3px; */
    /* margin-left: 10px; */
    padding: 10px;
}

    /* リスト項目 */
    /* ol.breadcrumb_navigation li { */
        /* color: #696969; */
        /* display: inline-block; */   /* 項目の横並び */
    /* } */
        ol.breadcrumb_navigation li {
            /* padding: 10px 2px 2px 25px; */
            position: relative;
            padding: 1px 0 1px 25px;
        }
        /* リスト項目（最初の項目） */
        /* ol.breadcrumb_navigation li.first {
            background: url(../resources/image/object.gif) no-repeat left;  ホーム記号
        } */
        ol.breadcrumb_navigation li.first::before {
            position: absolute;
            content: '';
            top: 0;
            left: 0;
            border-left: 0.6em solid transparent;
            border-right: 0.6em solid transparent;
            border-bottom: 0.6em solid #FFA500;
        }

        ol.breadcrumb_navigation li.first::after {
            content: '';
            position: absolute;
            top: 0.5em;
            left: 0.25em;
            width: 0.7em;
            height: 0.5em;
            background-color: #FFA500;
        }

        /* リスト項目（2つ目以降） */
        /* ol.breadcrumb_navigation li.arrow {
            background: url(../resources/image/arrow001_02.gif) no-repeat left;    矢印記号
        } */
        ol.breadcrumb_navigation li.arrow::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0.5em;
            border-top: 0.5em solid transparent;
            border-left: 0.5em solid #FFA500;
            border-bottom: 0.5em solid transparent;
        }

        /* リンク色 */
        ol.breadcrumb_navigation li a {
            color: #4682B4;
        }

            /* リンク色（マウスオーバー） */
            ol.breadcrumb_navigation li a:hover {
                color: #79A7CC;
            }


/********** Tab（タブ） **********/
div#Tab {
    /* background: #F9F7F3; */
    background-color: #F9F7F3;
    border-bottom: 1px solid #C2BDAE;
    float: left;
    font-size: 0.9em;
    margin-bottom: 10px;
    width: 100%;
}

    div#Tab ul {
        padding: 10px 0 0 20px;
    }

    div#Tab a {
        background: url("../resources/image/tableft11.gif") no-repeat left top;
        float: left;
        padding-left: 4px;
    }

        div#Tab a span {
            background: url("../resources/image/tabright11.gif") no-repeat right top;
            color: #333333;
            float: left;
            padding: 5px 15px 4px 6px;
        }

    div#Tab a:hover {
        background-position: 0 -42px;
    }

        div#Tab a:hover span {
            background-position: 100% -42px;
            color: #FFFFFF;
        }

    div#Tab div#Current a {
        background-position: 0 -42px;
        color: #FFFFFF;
        font-weight: bold;
    }

        div#Tab div#Current a span {
            background-position: 100% -42px;
            color: #FFFFFF;
            font-weight: bold;
        }

ul#Tab {
    display: inline-flex;
    flex-wrap: wrap;
    margin: 0.5em 1em;

    /* border-bottom: 2px dashed #FFA500; */
    /* padding: 5px 0; */
}

    ul#Tab li {
        /* background-color: #ffffff; */
        background-color: #F9F7F3;
        /* border-left: 1px solid #b388ff;
        border-right: 1px solid #b388ff; */
        border-bottom: 1px solid #3d5afe;
        outline: none;
        padding: 0.5em 0.5em;
        cursor: pointer;
    }

    ul#Tab li.active {
        /* border-bottom: 3px solid #9499b7; */
        background-color: rgba(255,165,0,0.5);
        border-bottom: 2px solid #FFA500;

    }

    ul#Tab li:hover {
        opacity: 80%;
    }

    ul#Tab li:focus {
        /* background-color: #cfd8dc; */
        /* background-color: rgba(255,165,0,0.2); */
        background-color: #dff7ff;
        border-radius: 2px;
    }

/********** （横幅指定：%） **********/
.full {
    width: 100%;
}

.xx_large_plus {
    width: 95%;
}

.xx_large {
    width: 90%;
}

.x_large_plus {
    width: 85%;
}

.x_large {
    width: 80%;
}

.large {
    width: 70%;
}

.x_medium {
    width: 65%;
}

.medium_plus {
    width: 63%;
}

.medium {
    width: 60%;
}

.small {
    width: 50%;
}

.x_small {
    width: 40%;
}

.xx_small_plus {
    width: 36%;
}

.xx_small {
    width: 30%;
}

.xxx_small {
    width: 25%;
}

.tiny {
    width: 20%;
}

.x_tiny_plus {
    width: 16%;
}
.x_tiny {
    width: 10%;
}


/********** （縦幅指定：px） **********/
/* .display_small {
    height: 400px;
} */


/********** （横幅指定：px） **********/
.size_small {
    width: 300px;
}

.size_tiny {
    width: 15px;
}

/* 人数 */
.size_person {
    width: 20px;
}

/* 数 */
.size_number {
    width: 20px;
}

/* 区分 */
.size_division {
    width: 20px;
}

/* 面積又は数量 */
.size_area_quantity {
    width: 30px;
}

/* 続柄 */
.size_family_relationship {
    width: 80px;
}

/* 年齢 */
.size_age {
    width: 30px;
}

/* 数値詳細画面出力用（金額） */
.size_numeric_output {
    width: 151px;
}

/* 数値2倍（金額） */
.size_numeric_double {
    width: 280px;
}

/* 数値1.5倍（金額） */
.size_numeric_plus {
    width: 210px;
}

/* 数値（金額） */
.size_numeric {
    /* width: 153px; */
    width: 140px;
}

/* 数値中（金額） */
.size_numeric_middle {
    width: 120px;
}

/* 数値小中（金額）（減価償却費詳細画面、人的控除詳細画面配偶者所得金額欄用） */
.size_numeric_small_plus {
    width: 85px;
}

/* 数値小（金額）（公的年金支払報告書画面 社会保険料の額欄用） */
.size_numeric_small {
    width: 70px;
}

/* 申告番号 */
.size_report_number {
    width: 85px;
}

/* 履歴番号 */
.size_history_number {
    width: 50px;
}

/* 宛名番号 */
.size_personal_number {
    width: 180px;
}

/* 資料番号 */
.size_document_number {
    width: 120px;
}

/* 日付 */
.size_date {
    width: 200px;
}

/* 年 */
.size_year {
    width: 40px;
}

/* 月日 */
.size_month_day {
    width: 20px;
}

/* 従事月数、日数（最大3桁） */
.size_month {
    width: 30px;
}

/* 償却方法 */
.size_depreciation_method {
    width: 80px;
}

/* 耐用年数 */
.size_service_life {
    width: 20px;
}

/* 率、割合 */
.size_rate {
    width: 30px;
}

/* 貸家、貸地等の別、用途（住宅用、住宅用以外等の別） */
.size_rent_house_name {
    width: 80px;
}

/* 市町村受付 */
.size_city_reception {
    width: 20px;
}

/* 等級 */
.size_grade {
    width: 20px;
}

/* 住所 */
.size_address {
    width: 150px;
}

/* 氏名 */
.size_name {
    width: 100px;
}

/* 氏名（給与支払報告書画面用） */
.size_name_salary {
    width: 150px;
}

/* 学校名 */
.size_school_name {
    width: 150px;
}

/* 減価償却資産の名称等 */
.size_depreciation_assets_name{
    width: 100px;
}

/* 治療内容・医療品名など */
.size_treatment_detail {
    width: 120px;
}

/********** （文字位置） **********/
.top_text {
    vertical-align: top !important;
}

.middle_text, table.middle_label th, table.middle_text td {
    vertical-align: middle;
}

.center_text, table.center_label th, table.center_text td {
    text-align: center;
}

.right_text, table.right_label th, table.right_text td {
    text-align: right;
}

table.middle th, table.middle td {
    vertical-align: middle;
    text-align: center;
}


/********** （非表示） **********/
.non_display {
    display: none;
    /* visibility: hidden; */
}


/********** （位置） **********/
/* 中央寄せボタン、右寄せボタンを同一行に表示する場合 */
div.center_position {
    position: relative;
}

div.right_position {
    padding-top: 5px;
    position: absolute;
    right: 0;
    top: 0;
}

/* ヘルプ画面のid位置ずれ修正 */
div.help_link_position {
    margin-top: -100px;
    padding-top: 100px;
}

/********** （ボタン） **********/
/* ボタン位置 */
div.center_button_box {
    text-align: center;
    margin: 0 auto;
    padding: 0 10px;
}

div.left_button_box {
    padding: 0 10px;
}

div.right_button_box {
    margin-left: auto;
    padding: 0 10px;
}

div.clear_button_box {
    text-align: right;
    margin-right: 10px;
}

div.clear_button_box.button:not(:first-child) {
    margin-left: 1em;
}

div.equal_button_box {
    width: 100%;
    display: inline-flex;
    /* flex-direction: row-reverse; */
    justify-content: space-between;
    align-items: center;
    margin: 0 10px 10px 10px;
}

/* ボタンデザイン */
.submit {
    /* background: #F4F4F4 none repeat scroll 0 0; */
    background: #ffccd4;
    /* background: #f48fb1; */
    /* border: 1px solid #B2B2B2; */
    border: none;
    border-radius: 2px;
    color: #000000;
    /* font-size: 16px; */
    font-size: 100%;
    font-weight: bold;
    margin: 2px 5px 2px 0;
    overflow: visible;
    /* padding: 3px; */
    padding: 0.5em 2em;
    vertical-align: bottom;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

    .submit:hover {
        /* background-color: #FFA500; */
        /* color: #FFFFFF; */
        opacity: 80%;
    }

    .submit:focus {
        /* outline: 2px solid #bf5f82; */
        outline: 2px solid #FFA500;
    }

.button {
    background: #ffccd4;
    border: none;
    border-radius: 2px;
    color: #000000;
    font-size: 100%;
    font-weight: bold;
    margin: 2px 5px 2px 0;
    overflow: visible;
    padding: 0.5em 2em;
    vertical-align: bottom;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

    .button:hover {
        opacity: 80%;
    }

    .button:focus {
        outline: 2px solid #FFA500;
    }

    .button.file {
        background: rgba(128,128,255,0.4);
    }

    .button.download {
        background: #80ffff;
    }

/********** 2列のオプションボタン **********/
.opt2col tr {
    display: flex;
    flex-wrap: wrap;
    /*width: 100%;*/
    width: 130px;
    /*justify-content: space-between;*/
    margin-top: -5px;
    /*margin-left: -7px;*/
}
.opt2col td {
    width: 31%;
}

/* 検索ボタン */
input.search_button {
    background: transparent url(../resources/image/find.gif) no-repeat scroll 1px 1px;
    /* background-color: #F4F4F4; */
    /* padding-left: 20px; */
    padding: 0.5em 2em;
    background-color: #ffccd4;
    border: none;
    border-radius: 2px;
    color: #000000;
    font-size: 100%;
    font-weight: bold;
    margin: 2px;
    overflow: visible;
    vertical-align: bottom;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

    .search_button:hover {
        opacity: 80%;
    }

    .search_button:focus {
        outline: 2px solid #FFA500;
    }

/* メモボタン */
input.memo_button {
    background-color: #FF3333;
}

/* 使用不可ボタン設定 */
input[type="submit"]:disabled {
    background-color: #808080;
    /* color: #000000; */
    color: #ffffff;
}

input[type="button"]:disabled {
    background-color: #808080;
    color: #ffffff;
}

/********** search_number（検索件数表示） **********/
div.search_number {
    font-size: 87.5%;
    margin: 10px auto 0;
    width: 90%;
}

/********** manual（マニュアル） **********/
div.manual_position {
    font-size: 120%;
    text-align: center;
    padding: 0 2px;
}

/********** important（必須項目） **********/
span.important {
    /* color: red; */
    /* color: #eb004e; */
    color: #d50000;
}

span.required {
    font-size: 0.7em;
    color: #ffffff;
    background-color: #d81b60;
    padding: 0 2px;
    border-radius: 2px;
}

li.important{
    color: #d50000;
}

/********** no_newline（改行しない） **********/
.no_newline {
    display: inline;
}

/* Chromeのみ */
@media screen and (-webkit-min-device-pixel-ratio:0) {
    .no_newline {
        display: inline-block;
    }
}


/********** select_era（時代コンボボックス） **********/
select.select_era {
    margin-right: 3px;
}


/********** select（コンボボックス・チェックボックス） **********/
select.select {
    margin-right: 3px;
}


/********** name（名称） **********/
label.name {
    margin-right: 8px;
}


/********** unit（単位） **********/
span.unit {
    color: black;
    margin-left: 3px;
}


/********** date_unit（日付単位） **********/
span.date_unit {
    margin-right: 5px;
}


/********** payment_report_link（支払報告書リンク） **********/
a.payment_report_link {
    color: #696969;
    font-size: 100%;
    margin-left: 20px;
}

a.payment_report_link:hover {
    /* background-color: #FFA500; */
    background-color: rgba(255,165,0,0.2);
    /* color: #FFFFFF; */
    color: #000000;
}


/********** report_detail_position（申告書詳細位置） **********/
div.report_detail_position {
    /* margin: 0 0 10px 100px; */
    /* margin: 0 0 10px 50px; */
    margin: 0 0 10px 10px;
}

    div.report_detail_position a {
        color: #696969;
    }

    div.report_detail_position a:hover {
        background-color: #FFA500;
        color: #FFFFFF;
    }


/********** deduction_detail_position（控除詳細位置） **********/
div.deduction_detail_position {
    /* margin: 0 0 10px 100px; */
    margin: 0 0 10px 10px;
}

    div.deduction_detail_position a {
        color: #696969;
    }

    div.deduction_detail_position a:hover {
        background-color: #FFA500;
        color: #FFFFFF;
    }


/********** information（情報） **********/
ul.information {
    position: relative;
    margin-bottom: 1em;
}
    ul.information li {
        position: relative;
        margin-left: 1em;
    }

    ul.information li::before {
        position: absolute;
        content: '';
        top: 0.3em;
        left: -1em;
        width: 0;
        height: 0;
        /* border-top: 5px solid transparent;
        border-bottom: 5px solid transparent;
        border-left: 5px solid; */
    }

    ul.information.info_x_large {
        /* text-align: center; */
        width: 80%;
        margin: 0 auto;
    }

span.information {
    /* color: #696969; */
    color: #000000;
}

/********** display_position（表示・非表示位置） **********/
div.display_position {
    /* margin: 0 0 10px 0; */
    position: relative;
    /* background-color: #c5cae9; */
    /* background-color: rgba(255,165,0,0.2); */
    background-color: #ffffff;
    border-bottom: 0.1em solid #FFA500;
    padding: 1em 3em;
    cursor: pointer;
}
div.display_position::before {
        position: absolute;
        content: '';
        top: 1.2em;
        left: 1em;
        border-top: 0.7em solid #FFA500;
        border-left: 0.7em solid transparent;
        border-right: 0.7em solid transparent;
        transition: 0.7s;
    }

    div.display_position.active::before {
        top: 1.4em;
        transform:rotate(180deg);
        transition: 0.7s;
    }

    div.display_position:hover {
        opacity: 80%;
    }

    div.display_position:focus {
        /* outline: 2px solid #9499b7; */
        outline: 2px solid #FFA500;
        outline-offset: -2px;
    }

    div.display_position a {
        color: #696969;
    }

    div.display_position a:hover {
        background-color: #FFA500;
        color: #FFFFFF;
    }


/********** deduction_detail_list（控除詳細一覧） **********/
div.deduction_detail_list {
    margin: 0 0 10px 100px;
}


/********** bottom_space（下スペース） **********/
div.bottom_space {
    margin-bottom: 10px;
}

div.bottom_space2 {
    margin-bottom: 40px;
}


/********** bottom_space_medium（下スペース中） **********/
div.bottom_space_medium {
    margin-bottom: 40px !important;
}


/********** bottom_space_large（下スペース大） **********/
div.bottom_space_large {
    margin-bottom: 80px !important;
}


/********** error_detail（エラー詳細） **********/
div.error_detail {
    margin: 10px 0 0 15px;
}


/********** position_split（位置） **********/
div.position_split {
    float: left;
    margin-right: 5px;
    width: 49%;
}

div.position_split2 {
    float: left;
    margin-right: 3px;
    width: 65%;
}

div.position_split3 {
    float: left;
    width: 30%;
}


/********** （テキストエリア） **********/
/* textarea { */
    /* 自動的な折り返しを入れる + 送信内容に未反映 */
    /* wrap: soft; */
    /* 自動的な折り返しを入れる + 送信内容に反映 */
    /* wrap: hard; */
    /* 自動的な折り返しを入れない */
    /* wrap: off; */
/* } */


/********** message_frame（メッセージフレーム） **********/
div.message_frame {
    margin: 0 auto 10px auto;
    width: 90%;
}

    div.message_frame textarea.message {
        background-color: white;
        border: 4px double red;
        color: black;
        height: 85px;
        overflow: auto;
        padding: 3px;
        resize: none;
        white-space: pre-line;
        width: 100%;
    }


/********** information_frame（情報フレーム） **********/
div.information_frame {
    margin: 0 auto 10px auto;
    width: 85%;
}

    div.information_frame p.title {
        float: left;
        font-size: 130%;
        font-weight: bold;
        padding: 2px 0 2px 5px;
    }

    div.information_frame div.frame {
        background-color: white;
        border: 1px solid blue;
        color: black;
        margin-bottom: 10px;
        overflow: auto;
        width: 100%;
    }

        /* div.information_frame div.message { */
        div.information_frame ul.message {
            /* margin-left: -110px; */
            margin: 10px 15px;
            position: relative;
            /* white-space: pre-wrap; */
            /* white-space: pre-line; */
        }

/********** reference_frame（問い合わせフレーム） **********/
div.reference_frame {
    background-color: white;
    /* border: 2px dashed gray; */
    border: 2px dashed #696969;
    /* color: gray; */
    color: #696969;
    margin: 10px auto 10px auto;
    overflow: auto;
    text-align: center;
    width: 35%;
}


/********** link_list（リンク一覧） **********/
div.link_list {
    margin: 15px 0 15px 150px;
}

    div.link_list li {
        width: 480px;
    }

/********** default_link(デフォルトリンク) **********/
.default_link {
    color: #696969;
    font-size: 100%;
    margin-left: 20px;
    margin-bottom: 7px;
}
.default_link:hover {
    /* background-color: #FFA500; */
    background-color: rgba(255,165,0,0.2);
    /* color: #FFFFFF; */
    color: #000000;
}

.default_link:focus {
    outline: 2px solid #FFA500;
}

/********** manual_link(デフォルトリンク) **********/
.manual_link {
    /* background-color: #dff7ff; */
    background-color: #ffccd4;
    color: #000000;
    font-size: 100%;
    font-weight: bold;
    /* margin-left: 20px; */
    margin-bottom: 15px;
}
.manual_link:hover {
    outline: 2px solid #FFA500;
}

.manual_link:focus {
    outline: 2px solid #FFA500;
}

/********** default_list（デフォルトリスト） **********/
ul.default_list, ul.default_list li {
    margin: 0px;
    padding: 0px;
}

ul.default_list li {
    list-style-image: none !important;
    list-style-type: none !important;
    margin: 5px 0px 5px 0px !important;
}

    ul.default_list li:hover {
        background-color: #FFA500;
        color: #FFFFFF;
    }

        ul.default_list li a {
            color: #696969;
        }


/********** triangle_list（三角形リスト） **********/
ul.triangle_list li {
    padding-left: 20px;
    position: relative;
}

    ul.triangle_list li:before {
        border-bottom: 6px solid transparent;
        border-left: 9px solid #aaa;
        border-right: 7px solid transparent;
        border-top: 6px solid transparent;
        box-shadow: 0 0 2px 2px rgba(255, 255, 255, 0.2) inset;
        content: '';
        display: block;
        height: 0;
        left: 2px;
        position: absolute;
        top: 3px;
        width: 0;
    }


/********** arrow_icon（三角の矢印アイコン） **********/
.arrow_icon {
    position: relative;
    display: inline-block;
    /* padding-left: 40px; */
    /* padding-right: 50px; */
    padding: 0 40px;
}

.arrow_icon:before {
    display: block;
    content: '';
    position: absolute;
    top: 50%;
    left: 25px;
    width: 0;
    height: 0;
    margin-top: -5px;
    border: 5px solid transparent;
    /* border-left: 5px solid #aaa; */
    /* border-left: 5px solid #FF69B4; */
    border-left: 5px solid #FFA500;
}

.manual_arrow_icon {
    position: relative;
    display: inline-block;
    padding: 0 40px;
}

.manual_arrow_icon:before {
    display: block;
    content: '';
    position: absolute;
    top: 50%;
    left: 25px;
    width: 0;
    height: 0;
    margin-top: -5px;
    border: 5px solid transparent;
    /* border-left: 5px solid #6a1b9a; */
    border-left: 5px solid #0000ff;

}

/********** remarks（備考） **********/
textarea.remarks {
    background-color: white;
    border: 1px solid #666666;
    color: black;
    height: 60px;
    overflow: auto;
    resize: none;
    width: 100%;
}

    textarea.remarks:hover {
        background-color: #FFA500;
        color: #FFFFFF;
    }

    textarea.remarks:focus {
        /* border: 2px solid #FFA500; */
        border: 1px solid #FFA500;
    }


/********** （テーブル） **********/
/* 中央テーブル */
table.center_table {
    margin: 0 auto;
}

/* 行のカラー */
table.line_color tr:nth-of-type(2n+1) {
    background-color: #E9E4DA;
}

/* table.color_style1 th {
    background-color: #6666cc;
} */

/* table.color_style2 th {
    background-color: #ff6666;
} */

/* thead.scroll_head, tbody.scroll_body {
    display: block;
} */

/* tbody.scroll_body {
    height: 50px;
    overflow-y: scroll;
} */


/********** font_middle（フォント中） **********/
span.font_middle {
    font-size: 90%;
}


/********** font_small（フォント小） **********/
span.font_small {
    font-size: 80%;
}


/********** table_common（テーブル共通） **********/
table.table_common th {
    /* font-size: 95%; */
    /* font-size: 80%; */
    /* font-size: 10pt; */
    font-size: 95%;
    /* padding: 2px 16px; */
    padding: 1px 10px;
    white-space: nowrap;
}

    table.table_common th.left_frame {
        border-left-style: none !important;
    }

    /* ハイライト */
    table.table_common th.highlight {
        /* background-color: #6666CC; */
        background-color: #b3e5fc;
    }

    /* リンク */
    table.table_common th a.link {
        color: #F49D9D;
        display: block;
        height: 100%;
        text-decoration: none;
        width: 100%;
    }

        table.table_common th a.link:hover {
            background-color: #FFA500;
            color: #FFFFFF;
        }

table.table_common td {
    /* font-size: 95%; */
    /* font-size: 80%; */
    /* font-size: 10pt; */
    font-size: 95%;
    padding-left: 5px;
    white-space: nowrap;
}

    /* td span.center_text, td span.right_text {
        display: inline-block;
        padding: 0 8px;
    } */

    table.table_common td.frame {
        border: none;
    }

input[type="text"], input[type="password"] {
/* table.table_common input[type="text"], input[type="password"] { */
    font-size: 95%;
    /* padding: 0 5px; */
    padding: 1px 5px;
    margin: 2px;
    border: 1px solid #aaa;
    border-radius: 2px;
}

input[type="text"]:hover, textarea:hover {
/* table.table_common input[type="text"]:hover, table.table_common textarea:hover { */
    /* background-color: #FFA500; */
    background-color: #dff7ff;
    /* border: 1px solid #FFA500; */
    /* color: #FFFFFF; */
}

/* IE10以降のみ */
/* @media all and (-ms-high-contrast:none) {
    input[type="text"]:hover, textarea:hover {
        background-color: #FFA500;
        border: 1px solid #FFA500;
        color: #FFFFFF;
    }
} */

/* Chromeのみ */
/* @media screen and (-webkit-min-device-pixel-ratio:0) { */
    /* input[type="text"]:hover, textarea:hover { */
        /* background-color: #FFA500; */
        /* border: 2px solid #FFA500; */
        /* color: #FFFFFF; */
    /* } */
/* } */

input[type="text"]:focus, textarea:focus {
/* table.table_common input[type="text"]:focus, table.table_common textarea:focus { */
    /* border: 1px solid #FFA500; */
    outline: 2px solid rgba(104, 187, 255, 0.8);
}

input[type="checkbox"]:focus {
    outline: 2px solid rgba(104, 187, 255, 0.8);
    outline-offset: 0;
}

/* ドロップダウン */
select {
    font-size: 0.95em;
    padding: 0 5px;
    margin: 2px;
    border: 1px solid #aaa;
    border-radius: 2px;
}
    select option:checked {
        background-color: rgb(0, 96, 175);
        color: #FFF
    }
    select:focus {
        outline: 2px solid rgba(104, 187, 255, 0.8);
    }

    select:hover {
        background-color: #dff7ff;
    }

/* Chromeのみ */
/* @media screen and (-webkit-min-device-pixel-ratio:0) { */
    /* input[type="text"]:focus, textarea:focus { */
    /* table.table_common input[type="text"]:focus, table.table_common textarea:focus { */
        /* border: 2px solid #FFA500; */
    /* } */
/* } */

/* 使用不可テキストボックス設定 */
input[type="text"]:disabled, textarea:disabled {
/* table.table_common input[type="text"]:disabled, table.table_common textarea:disabled { */
    background-color: #E2E2E2;
    color: #000000;
}

/* ラジオボタンの枠 */
table.table_common table.radio_style {
    border: none !important;
    table-layout: auto;
}

    table.table_common table td {
        border: none !important;
    }


/********** search（検索条件テーブル） **********/
div.search {
    margin: 0 auto 10px;
}

    div.search table {
        background-color: #FFFFFF;
        border: 1px solid #999999;
        border-collapse: separate;
        border-spacing: 2px;
        color: #333333;
        margin: 0 auto;
        table-layout: fixed;
        width: 50%;
    }

    div.search th {
        background-color: #DDDDDD;
        border-bottom: 1px solid #999999;
        border-right: 1px solid #CCCCCC;
        color: #000000;
        font-weight: bold;
    }

    div.search td {
        background-color: #FFFFFF;
    }

        div.search td.frame {
            border-bottom: 1px solid #DEDEDE;
            border-right: 1px dotted #CCCCCC;
        }


/********** search_list（検索結果一覧テーブル） **********/
div.search_list {
    margin: 0 auto 10px;
}

    div.search_list tr:hover {
        background-color: #CCCCCC;
    }


/********** table_list（基本テーブル） **********/
div.table_list {
    /* margin-bottom: 10px; */
    margin: 10px auto;
}

div.table_list.hidden {
    display: none;
}

div.table_list tr {
    height: 40px;
}

div.table_list th, div.table_list td {
    vertical-align: middle;
}


/********** （検索結果一覧テーブル & 基本テーブル共通） **********/
div.search_list, div.table_list {
    overflow-x: auto;
    overflow-y: auto;
}

    div.search_list table th, div.table_list table th {
        /* background-color: #666666; */
        background-color: #ccff90;
        /* background-color: #6495ED; */
        border: 1px solid #CCCCCC;
        /* border: 1px solid white; */
        /* color: #FFFFFF; */
        color: #000000;
    }

    div.search_list table td, div.table_list table td {
        border: 1px solid #CCCCCC;
        /* border: 1px solid #BAD3FF; */
        /* border: 1px solid #D9E5FF; */
        /* padding: 2px 16px; */
        padding: 1px 10px;
    }


/********** table_list_sub（基本テーブルサブ） **********/
table.table_list_sub th {
    background-color: #FFFFFF !important;
    border: none !important;
    color: #000000 !important;
}

table.table_list_sub td {
    border: none !important;
}


/********** （税額試算結果テーブル & 基本テーブルサブ共通） **********/
table.result_table td, table.table_list_sub th, table.table_list_sub td {
    font-size: 95%;
}


/********** PrimeFaces（基本テーブル） **********/
 .ui-button.submit, .ui-commandlink.submit {
    /* background: #f48fb1; */
    background: #cfd8dc;
    border: none;
    border-radius: 2px;
    color: #000000;
    font-size: 100%;
    font-weight: bold;
    margin: 2px;
    overflow: visible;
    padding: 0.5em 2em;
    vertical-align: bottom;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

    .ui-commandlink.commandbutton {
        background: #ffccd4;
        border: none;
        border-radius: 2px;
        text-decoration: none;
        text-align: center;
        color: #000000;
        font-size: 100%;
        font-weight: bold;
        margin: 2px 5px 2px 0;
        overflow: visible;
        /* padding: 0.35em 2em; */
        padding: 0.5em 2em;
        vertical-align: bottom;
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
    }

    .ui-commandlink :hover {
        opacity: 80%;
    }

    .ui-commandlink:focus {
        /* outline: 2px solid #bf5f82; */
        outline: 2px solid #FFA500;
        outline-offset: -2px;
    }


/********** table_list（IME制御（IEのみ）） **********/
/* 自動 */
input[type="text"].ime_auto {
    ime-mode: auto;
}

/* IMEオン（日本語入力モード） */
input[type="text"].ime_active, textarea.ime_active {
    ime-mode: active;
}

/* IMEオフ（英数字入力モード） */
input[type="text"].ime_inactive {
    ime-mode: inactive;
}

/* IME使用不可（英数字入力モード） */
input[type="text"].ime_disabled {
    ime-mode: disabled;
}


/********** FadeLayer（入力不可状態） **********/
#FadeLayer {
    background: rgba(0, 0, 0, 0.1);
    background-color: #FFFFFF;
    left: 0px;
    position: absolute;
    top: 0px;
    width: 100%;
    z-index: 1;
}


/********** Loading（ロード中状態） **********/
#Loading {
    height: 100%;
    left: 50%;
    padding: 15px;
    position: fixed;
    top: 40%;
    width: 100%;
    z-index: 20;

    /* background-color: #FFFFFF; */
    /* border: 1px solid #999999; */
    /* display: table-cell; */
    /* height: 100%; */
    /* height: 50%; */
    /* left: 50%; */
    /* padding: 15px; */
    /* position: fixed; */
    /* text-align: center; */
    /* top: 40%; */
    /* vertical-align: middle; */
    /* width: 50%; */
    /* z-index: 20; */
}


/********** loading_image **********/
img.loading_image {
    height: 40px;
    width: 40px;
}


/********** help（ヘルプ） **********/
img.help_image {
    /* background: transparent url(../../resources/image/help.png) no-repeat scroll 0 3px; */
    height: 20px;
    width: 20px;
}

/* ヘルプ画面へのリンク */
a.help {
    text-decoration: none;
}

div.help_name {
    font-weight: bold;
}

pre.help_detail {
    overflow: auto;
    white-space: pre-wrap;
    width: 1020px;
    word-wrap: break-word;
}


/********** split_line（分割ライン） **********/
div.split_line {
    border-top: 2px dashed gray;
    /* border-top: 2px dashed #FFA500; */
    padding-top: 10px;
}

/********** required_input（必須入力） **********/
div.required_input {
    border: 2px dashed #6495ED;
    margin: 0 auto;
    padding: 10px 0 10px 10px;
    max-width: 830px;
}

    div.required_input p.name {
        color: #696969;
        font-weight: bold;
    }

    div.required_input p.message {
        margin: 1px 0 0 25px;
    }

    div.required_input div.input {
        margin: 3px 0 3px 30px;
    }

/********** menu_list（メニュー一覧） **********/
div.menu_list {
    margin: 15px auto;
    max-width: 830px;
}

    div.menu_list a {
        /* width: 350px; */
        max-width: 350px;
    }

    div.menu_list div.message {
        color: #696969;
        /* margin: 5px 0 5px 30px; */
        margin: 5px 30px 5px 30px;
    }

/********** a（各メニュー名） **********/
div.menu_list a {
    /* background-color: #6495ED; */
    /* background-color: #9499b7;
    color: #ffffff; */
    background-color: rgba(255,165,0,0.4);
    color: #000000;
    display: block;
    font-size: 1.3em;
    font-weight: bold;
    /* margin: 3px 3px 0 3px; */
    padding: 0.5em 3em;
    text-decoration: none;
}

div.menu_list a:hover {
    /* background-color: #FF9900; */
    opacity: 80%;
}

div.menu_list a:focus {
    /* outline: 2px solid #9ea7aa; */
    outline: 2px solid #FFA500;

}

.uploadfile input[type="file"] {
    display: none;
}

.uploadfile {
    width: auto;
}

@media screen and (max-width: 1024px) { /*ウィンドウ幅が最大1024pxまでの場合に適用*/
    div#ContentMainReportDetail {
        padding: 250px 10px 50px 10px;
    }
}

@media screen and (max-width: 768px) { /*ウィンドウ幅が最大768pxまでの場合に適用*/
    div#ContentMainTab {
        padding: 170px 10px 50px 10px;
    }

    div#ContentMainSmall {
        padding: 80px 10px 150px 10px;
    }

    div#ContentHeader div.line {
        flex-direction: column;
    }

    div.reference_frame {
        width: 80%;
    }
}

@media screen and (max-width: 640px) {  /*ウィンドウ幅が最大640pxまでの場合に適用*/
    div#ContentMainTab {
        padding: 170px 10px 150px 10px;
    }

    div#ContentMainReportDetail {
        padding: 250px 10px 150px 10px;
    }

    div#ContentMainSmall {
        padding: 100px 10px 150px 10px;
    }

    div#ContentFooter {
        flex-direction: column;
    }

    div.equal_button_box {
        flex-direction: column;
        align-items: start;
        margin: auto;
    }

    .uploadfile {
        width: 100%;
    }

    div.left_button_box, div.center_button_box, div.right_button_box {
        margin: 0;
        padding: 0 10px;
    }

    ul#Tab {
        padding: 5px 0;
        font-size: 0.8em;
    }

    ol.breadcrumb_navigation {
        flex-direction: column;
    }

    /* ol.breadcrumb_navigation li {
        padding: 4px 2px 2px 25px;
    } */

    div.left_button_box .submit, div.center_button_box .submit, div.right_button_box .submit {
        width: 100%;
    }

    div.left_button_box .button, div.center_button_box .button, div.right_button_box .button {
        width: 100%;
    }
}

@media screen and (max-width: 480px) {  /*ウィンドウ幅が最大480pxまでの場合に適用*/
    div#ContentMainTab {
        padding: 200px 10px 150px 10px;
    }

    div#ContentMainReportDetail {
        padding: 280px 10px 150px 10px;
    }

    /********** ContentMainSmall（コンテントメイン上部ボタンなし画面） **********/
    div#ContentMainSmall {
        padding: 100px 10px 150px 10px;
    }

    div.link_list {
        margin: 15px 20px;
    }

    div.clear_button_box {
        margin-top: 3em;
    }
}
