@charset "UTF-8"; /* 機能に依存しないタグ毎の見栄えを定義する */
html {
    -webkit-text-size-adjust: 100%;
}

/* スマホ時のスマホの見た目にする */
html:not(.disable-sp) {
    --style: enable-sp;
}
html.disable-sp {
    --style: enable-pc;
}

/* PT共通設定 */
html {
    --apply-js: common-pains;
    --uv_smartphone_width_border: 600px; /* common.js で利用 */
}

/* フッター定義 */
html.ua-desktop .uv_move_top, html.ua-desktop .uv_move_bottom {
    display: none;
}

html.ua-desktop .uv_footer {
    display: none;
}

/* ロゴ*/
html.ua-desktop div#header #layout #logo2 {
    display: none;
}

html:not(.ua-desktop) .uv_move_top, html:not(.ua-desktop) .uv_move_bottom {
    position: fixed;
    right: 20px;
    margin: 5px auto;
    margin-right: -10px;
    height: 50px;
    width: 50px;
    cursor: pointer;
    vertical-align: middle;
    z-index: 1000;
}

html:not(.ua-desktop) .uv_move_top {
    bottom: 110px;
    background-image: url("../image/mdImages/page_top.png");
    background-repeat: no-repeat;
}

html:not(.ua-desktop) .uv_move_bottom {
    bottom: 50px;
    background-image: url("../image/mdImages/page_bottom.png");
    background-repeat: no-repeat;
}

html:not(.ua-desktop) .uv_footer .inner {
    position: relative;
    background-color: #19448e ;
    text-align: left;
}

html:not(.ua-desktop) .uv_footer .inner .subnavi {
    display: inline-block;
    padding: 15px 10px 5px 10px;
    margin-bottom: 0px;
    vertical-align: top;
    width: auto;
    height: auto;
    min-height: 17px;
    float: none;
}

/* 後に display: unset されているのでコメントアウト */
/*
html:not(.ua-desktop) .uv_footer .inner .subnavi a, html:not(.ua-desktop) .uv_footer .inner .subnavi span {
    display: none;
}
*/

html:not(.ua-desktop) .uv_footer .inner .page_top {
    position: absolute;
    top: 0px;
    right: 0px;
    padding: 10px 10px 10px 60px;
    background: url("../image/mdImages/ico_close.gif") no-repeat center;
    background-size: 10px 10px;
    /* min-width:60px; */
    text-align: center;
    cursor: pointer;
}

html:not(.ua-desktop) #footer .uv_footer p.copyright {
    margin-top: -1px;
}

html:not(.ua-desktop) .uv_footer .copyright {
    background-color: #19448e;
    padding: 10px;
    font-size: 9px;
    text-align: center;
}

/* ロゴ*/
html:not(.ua-desktop) div#header #layout #logo2 {
    display: none;
}

/* タブ */
html:not(.ua-desktop) .uv_tab .uv_tab_button div {
    min-width: 15%;
}

html:not(.ua-desktop) .uv_tab .show_uv_tab_button {
    padding-top: 0;
    margin-bottom: -1px;
    height: 61px;
}

html:not(.ua-desktop) .uv_tab .show_uv_tab_button span {
    border: solid 1px #aaa;
    border-bottom-color: rgb(170, 170, 170);
    border-bottom-style: solid;
    border-bottom-width: 1px;
    background-color: #fff;
    border-bottom: none;
    color: #000000;
    padding: 20px 8px;
    z-index: 10;
    font-weight: 700;
}

html:not(.ua-desktop) .uv_tab .hide_uv_tab_button {
    padding-top: 11px;
    height: 70px;
    cursor: pointer;
}

html:not(.ua-desktop) .uv_tab .hide_uv_tab_button span {
    background-color: #084396;
    color: #fff;
    padding: 20px 8px;
}

html:not(.ua-desktop) .uv_tab .uv_tab_button_body {
    display: inline-block;
    margin-right: 1px;
}

html:not(.ua-desktop) .uv_tab .uv_tab_button_body span {
    border-top-right-radius: 9px;
    display: block;
    min-height: 20px;
    height: 100%;
    text-align: center;
    font-size: 11px;
}

/* アコーディオン */
html:not(.ua-desktop) .accordion_inner_opened, html:not(.ua-desktop) .accordion_inner_closed {
    display: block;
}

html:not(.ua-desktop) tbody.accordion_inner_opened, html:not(.ua-desktop) tbody.accordion_inner_closed {
    display: table-row-group;
}

html:not(.ua-desktop) table.accordion_inner_opened, html:not(.ua-desktop) table.accordion_inner_closed {
    display: table;
}

/* 2025/7/16 */
/* ヘッダーのユーザ種別はPCで非表示 */
body #header .user_type {
    display: none;
}

/* 質問／相談 PCで「質問はありません」メッセージを非表示 */
/* 教員トップ質問BOXのメッセージ改行を非表示 */
.mode_sp {
    display: none;
}
div.pc_only {
    display: block;
}
span.pc_only {
    display: inline;
}

/* Myプロフィール（部品）(教員) ペイン(部品)のPCスタイル定義 (ペインのPC/スマホ判定はjsで付与される.mode_spで判定) */
@container style(--style: enable-pc) {
html:not(.ua-desktop) body#PT0003 {
    .pmenu {
        all: unset;
        display:block;
    }
    .profile {
        all: unset;
        display:block;
    }
    #body {
        margin: 0;
    }
    .profile {
        background-color: #F2F2F2;
        width: 188px;
        padding: 25px 0px 2px 0px;
        background-image: url(../image/myprofile.gif);
        background-repeat: no-repeat;
        background-position: top;
        text-align: center;
    }
    .pmenu {
        padding: 0px;
        background-color: #FFFFFF;
        margin: 0px auto;
        border: 1px solid;
        border-color: #CCCCCC #999999 #999999 #CCCCCC;
        text-align: left;
        height: auto;
        width: 170px;
    }
}
}
/* Myプロフィール（部品）(教員) ペイン(部品)のスマホスタイル定義 (ペインのPC/スマホ判定はjsで付与される.mode_spで判定) */
@container style(--style: enable-sp) {
html:not(.ua-desktop) body#PT0003 {
    /* 学生メニュー用の設定をキャンセル */
    /* マルチのbodyマージン15pxに合わせる */
    div#body {
        margin: 0;
    }
    .pmenu {
        /* マルチでは教員アイコンは非表示 */
        background-image: unset;
        div {
            line-height: 20px;
        }
    }
}
}

/* PCのみに適用したいスタイル記述 */
/* 職員はPCのみなので、全てのセレクタに html:not(.ua-desktop) を付加する事 */
@media not screen and (max-width: 600px) {
    html:not(.ua-desktop) body div#body {
        margin: 0 auto;
        padding: 0;
        width: 1000px;
    }

    html:not(.ua-desktop) .uv_move_top, html:not(.ua-desktop) .uv_move_bottom {
        display: none;
    }

    html:not(.ua-desktop) .uv_footer {
        display: none;
    }

    /* PCのみに適用 これより上部に記述する事 */
}

/* スマートフォンのみに適用したいスタイル記述 */
/* 職員はPCのみなので、全てのセレクタに html:not(.ua-desktop) を付加する事 */
@media only screen and (max-width: 600px) {
    html:not(.ua-desktop) body {
        background-color: #f5f5f8;
        font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
    }

    html:not(.ua-desktop) body div#body {
        margin: auto 7px;
    }

    /* iOS独自のスタイルを解除するために定義 */
    html:not(.ua-desktop) input.button {
        -webkit-appearance: none;
    }

    /* IE10以上の矢印に対応 */
    html:not(.ua-desktop) select::-ms-expand {
        display: none;
    }

    /* ヘッダー */
    html:not(.ua-desktop) body #title {
        min-width: auto;
        background-image: none;
        margin-bottom: 5px;
    }

    html:not(.ua-desktop) .data_not_found {
        margin: 4em auto 4em auto;
        text-align: center;
    }

    html:not(.ua-desktop) body #title h1 {
        font-size: 16px;
        font-weight: 700;
        color: #fff;
        padding-right: 7px;
        padding-left: 7px;
        background-image: none;
        text-align: left;
    }

    html:not(.ua-desktop) body #title h1 #titlebar {
        padding-top: 3px;
        background-size: 24px 3px;
    }

    html:not(.ua-desktop) body #title h1 span {
        display: block;
        border-left: solid 5px #084396;
        background-repeat: no-repeat;
        background-position-y: bottom;
        background-position-x: right;
        background-color: #084396;
        background-size: 29px 120px;
        padding: 8px;
    }

    /* ヘルプボタン */
    html:not(.ua-desktop) .help {
        display: none;
    }

    /* フッター定義 */
    html:not(.ua-desktop) .uv_move_top {
        display: inline-block;
    }

    /* カレンダー */
    html:not(.ua-desktop) .cal-select-year {
        width: 65px;
    }

    html:not(.ua-desktop) div.cal-container {
        left: 0px !important;
        width: 100%;
    }

    html:not(.ua-desktop) td.cal-day-cell {
        height: 28px;
    }

    html:not(.ua-desktop) .cal-select-month {
        width: 45px;
    }

    html:not(.ua-desktop) address.copyright {
        display: none;
    }

    html:not(.ua-desktop) .uv_footer {
        color: #fff;
        display: block;
    }

    /* マルチデバイスで表示しない項目 */
    html:not(.ua-desktop) .md_display_none {
        display: none !important;
    }

    html:not(.ua-desktop) .md_display_inline {
        display: inline !important;
    }

    /* テーブルの横セル表示を縦表示へ切り替える */
    html:not(.ua-desktop) table.detail tr, html:not(.ua-desktop) table.list tr {
        width: auto;
    }

    html:not(.ua-desktop) table.detail th, html:not(.ua-desktop) table.detail td, html:not(.ua-desktop) table.list td {
        display: block;
        width: auto;
    }

    /* テーブル */
    html:not(.ua-desktop) table.condition caption {
        background: #d0d0d0;
    }

    html:not(.ua-desktop) table.condition caption strong {
        border-bottom: 0px;
    }

    html:not(.ua-desktop) table.detail caption strong , html:not(.ua-desktop) table.list caption strong , html:not(.ua-desktop) table.condition caption strong {
        background-image: none;
        padding: 0px 0px;
    }

    html:not(.ua-desktop) table.detail caption strong, html:not(.ua-desktop) table.list caption strong {
        border-bottom: solid 1px #202020;
    }

    html:not(.ua-desktop) table.detail, html:not(.ua-desktop) table.list, html:not(.ua-desktop) table.condition {
        width: 100%;
        font-size: 14px;
    }

    html:not(.ua-desktop) table.list {
        border-spacing: 0px 2px;
        background-color: #084396;
    }

    html:not(.ua-desktop) table.detail {
        border-collapse: collapse;
    }

    html:not(.ua-desktop) table.detail caption {
        display: none;
    }

    html:not(.ua-desktop) table.detail tr, html:not(.ua-desktop) table.list tr {
        border-top: solid 2px #d9d1b8;
        padding: 20px 10px;
    }

    html:not(.ua-desktop) table.detail tr td {
        min-height: 16px;
    }

    html:not(.ua-desktop) table.detail tr th, html:not(.ua-desktop) table.detail tr td {
        border: 0px;
        vertical-align: middle;
        padding: 2px 0px;
    }

    html:not(.ua-desktop) table.list tr td {
        border: 0px;
        vertical-align: middle;
        padding: 2px 0px;
    }

    html:not(.ua-desktop) table.detail tr th {
        background: #d6d6d8;
        color: #000000;
        font-weight: bold;
    }

    html:not(.ua-desktop) table.detail tr td {
        background: #e5e5e7;
        color: #000000;
    }

    html:not(.ua-desktop) table.list tr th {
        display: none;
    }

    html:not(.ua-desktop) table.list tr td span.list_detail_label {
        display: inline;
    }

    html:not(.ua-desktop) table.list tr, html:not(.ua-desktop) table.list tr td {
        text-align: left;
        background: #FFF;
        color: #555;
        padding: 4px 3px;
    }

    html:not(.ua-desktop) table.detail caption strong, html:not(.ua-desktop) table.list caption strong {
        height: auto;
    }

    /*
html:not(.ua-desktop) table.uv_box_table_2 {
  position:relative;
  padding:10px;
  border-collapse:separate;
  border:1px solid #000;
  background-color:#fff;
  width:100%
}

html:not(.ua-desktop) table.uv_box_table_2 > tbody > tr > td,
html:not(.ua-desktop) table.uv_box_table_2 > tbody > tr > th,
html:not(.ua-desktop) table.uv_box_table_2> tr > td ,
html:not(.ua-desktop) table.uv_box_table_2> tr > th {
  padding:3px 5px;
  display:block;
  background-color:#fff;
}

html:not(.ua-desktop) table.uv_box_table_2 > tbody > tr > th,
html:not(.ua-desktop) table.uv_box_table_2> tr > th {
  width:7em;
  font-weight:400;
  float:left
}

html:not(.ua-desktop) table.uv_box_table_2 > tbody > tr > td,
html:not(.ua-desktop) table.uv_box_table_2 > tr > td {
  border-bottom:solid 1px #AAA;
  padding-left:100px;
  min-height:2em
}
*/
    /* ナビ */
    html:not(.ua-desktop) ul.navi {
        width: auto;
        height: auto;
        overflow: hidden;
        padding: 0px;
        margin: 0px;
        border-top: solid 1px #d9d1b8;
        border-bottom: solid 1px #d9d1b8;
        background-color: #d9d1b8;
    }

    html:not(.ua-desktop) .navi .navi_number {
        width: 100%;
        height: auto;
        text-align: center;
        padding: 10px;
        border-bottom: solid 1px #d9d1b8;
        margin-bottom: 0;
    }

    html:not(.ua-desktop) .navi .navi_page {
        display: block;
        width: auto;
        float: none;
        text-align: center;
        padding: 15px 0px;
        background-color: #fff;
    }

    html:not(.ua-desktop) .navi .navi_page > font, html:not(.ua-desktop) .navi .navi_page > a {
        padding: 6px 12px;
        display: inline-block;
    }

    html:not(.ua-desktop) .navi .navi_page > font:first-child, html:not(.ua-desktop) .navi .navi_page > a:first-child {
        background: url("../image/mdImages/ico_arrow_prev.gif") no-repeat left center;
        background-size: 8px 12px;
        padding-left: 20px;
    }

    html:not(.ua-desktop) .navi .navi_page > font:last-child, html:not(.ua-desktop) .navi .navi_page > a:last-child {
        background: url("../image/mdImages/ico_arrow_next.gif") no-repeat right center;
        background-size: 8px 12px;
        padding-right: 20px;
    }

    /* radio checkbox */
    html:not(.ua-desktop) div.checkbox, html:not(.ua-desktop) span.checkbox, html:not(.ua-desktop) div.radio {
        display: block !important;
        float: none;
    }

    html:not(.ua-desktop) div.radio, html:not(.ua-desktop) span.checkbox, html:not(.ua-desktop) div.checkbox {
        position: relative;
        height: 100%;
        font-size: 0px;
    }

    html:not(.ua-desktop) div.radio input[type=radio], html:not(.ua-desktop) span.checkbox input[type=checkbox], html:not(.ua-desktop) div.checkbox input[type=checkbox] {
        padding: 0;
        position: absolute;
        top: 10px;
        left: 14px;
        opacity: 0;
        width: 95%;
    }

    html:not(.ua-desktop) div.radio input[type=radio] + label {
        background-image: URL("../image/mdImages/bg_radio.png");
    }

    html:not(.ua-desktop) span.checkbox input[type=checkbox] + label, html:not(.ua-desktop) div.checkbox input[type=checkbox] + label {
        background-image: URL("../image/mdImages/bg_check.png");
    }

    html:not(.ua-desktop) div.radio input[type=radio] + label, html:not(.ua-desktop) span.checkbox input[type=checkbox] + label, html:not(.ua-desktop) div.checkbox input[type=checkbox] + label {
        display: block;
        padding: 10px 10px 10px 40px;
        background-repeat: no-repeat;
        background-position: 10px center;
        background-size: 20px 20px;
        background-color: #FFF;
        border: solid 2px #CCC;
        margin: 0 0 0px;
        font-size: 14px;
        white-space: normal;
    }

    html:not(.ua-desktop) div.radio input[type=radio]:checked + label {
        background-image: URL("../image/mdImages/bg_radio_ac.png");
        background-color: #FAEAD4;
    }

    html:not(.ua-desktop) span.checkbox input[type=checkbox]:checked + label, html:not(.ua-desktop) div.checkbox input[type=checkbox]:checked + label {
        background-image: URL("../image/mdImages/bg_check_ac.png");
        background-color: #FAEAD4;
    }

    /* ボタン定義 */
    html:not(.ua-desktop) input.button {
        background-image: none;
        background-color: #c2ac42;
        border-top: solid 3px #c2ac42;
        border-bottom: solid 3px #6e6125;
        border-radius: 0;
        padding: 10px 10px;
        text-align: center;
        color: #fff;
        margin-bottom: 10px;
        cursor: pointer;
        width: 100% !important;
        height: 100%;
        min-height: 35px;
        white-space: pre-wrap;
        border-left: hidden;
        border-right: hidden;
        font-size: 14px;
    }

    html:not(.ua-desktop) input:disabled.button {
        color: #444;
        border: 1px solid silver;
        background-image: none;
        background-color: #e6e6e6
    }

    html:not(.ua-desktop) .btn_entry {
        background: url(../image/mdImages/ico_arrow_right_wh.png) no-repeat left center;
        background-size: 10px 10px;
        display: inline-block;
        padding-left: 20px;
    }

    html:not(.ua-desktop) .btn_cancel {
        background: url(../image/mdImages/ico_close_wh.png) no-repeat left center;
        background-size: 8px 9px;
        display: inline-block;
        padding-left: 20px;
    }

    html:not(.ua-desktop) .fix_button {
        background-image: url(../image/mdImages/sch-0000/u5.png);
        width: 320px;
        height: 60px;
        z-index: 1003;
        position: fixed;
        left: 50%;
        margin-left: -160px;
        bottom: 0;
    }

    /* 入力 */
    html:not(.ua-desktop) button, html:not(.ua-desktop) input, html:not(.ua-desktop) select, html:not(.ua-desktop) textarea {
        font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
        font-size: inherit;
        line-height: inherit;
    }

    html:not(.ua-desktop) input[type="text"] {
        border: 2px solid #ccc;
        background-color: #fff;
        color: #000;
        padding: 7px 4px;
        max-width: 100%;
    }

    html:not(.ua-desktop) input[type="text"]:focus {
        background-color: #faead4;
    }

    html:not(.ua-desktop) #body select {
        -webkit-appearance: none;
        -moz-appearance: none!important;
        appearance: none;
        padding: 10px 40px 10px 10px;
        background-color: #FFF;
        -o-transition: none;
        background-image: url(../image/mdImages/ico_arrow_select.gif);
        background-position: right 50%;
        background-repeat: no-repeat;
        background-size: 30px auto;
        border: 2px solid #CCC;
        color: #333;
        width: 100%;
    }

    html:not(.ua-desktop) #body select:focus {
        background-color: #faead4;
    }

    html:not(.ua-desktop) .support input.support_name {
        background-color: transparent;
        color: #666666;
        border: 0px;
        margin: 0px 0px 0px 4px;
        width: 98%;
    }

    /* タブ */
    html:not(.ua-desktop) div.uv_tab {
        display: block !important;
    }

    html:not(.ua-desktop) .uv_table_base .hide_uv_body {
        display: none;
    }

    html:not(.ua-desktop) .uv_table_base .show_uv_body {
        display: block;
    }

    html:not(.ua-desktop) .uv_tab * {
        box-sizing: border-box;
    }

    html:not(.ua-desktop) .uv_table_base {
        display: table;
        width: 100%;
        margin: 0 auto;
        border-collapse: collapse;
    }

    html:not(.ua-desktop) .uv_table_base > div {
        font-size: 16px;
        color: #222;
        background: url(../bower_components/univision/images/bg_h2.gif) repeat-x bottom left;
        background-size: auto;
        background-size: 1px 5px;
        padding-bottom: 5px;
        margin-bottom: 15px;
    }

    html:not(.ua-desktop) .uv_table_base .uv_table_caption {
        display: table-caption;
        padding-top: 1.5em;
    }

    html:not(.ua-desktop) .uv_tab_body {
        border: solid 1px #aaa;
        background-color: #fff;
        padding: 10px;
        margin-bottom: 20px;
    }

    html:not(.ua-desktop) .warns {
        width: 85%;
    }

    /* uvタブ機能 */
    html:not(.ua-desktop) .tabs {
        border: transparent 2px solid;
        box-sizing: border-box;
        width: 100%;
    }

    html:not(.ua-desktop) .tabs .sidebar {
        display: none;
    }

    html:not(.ua-desktop) .tabs a {
        border-top-right-radius: 9px;
    }

    html:not(.ua-desktop) .tabs a.tab_active {
        background: none;
        border: solid 1px #aaa;
        border-bottom-color: rgb(170, 170, 170);
        border-bottom-style: solid;
        background-color: #fff;
        border-bottom: none;
        color: #000000;
        padding: 20px 2px;
        z-index: 10;
        min-width: inherit;
        min-height: 20px;
        height: 100%;
        font-size: 11px;
    }

    html:not(.ua-desktop) .tabs a.tab_inactive {
        background: none;
        border-bottom: none;
        background-color: #084396;
        color: #fff;
        padding: 20px 2px;
        z-index: 10;
        min-width: inherit;
        min-height: 20px;
        height: 100%;
        font-size: 11px;
    }

    html:not(.ua-desktop) .tabs td {
        white-space: nowrap;
    }

    html:not(.ua-desktop) .tab_area_close_button {
        display: none;
    }

    html:not(.ua-desktop) .selected_tab {
        display: none;
    }

    /* タブ 領域 */
    html:not(.ua-desktop) .tab_area {
        margin: 1em 0px 0px 0px;
    }

    html:not(.ua-desktop) .tab_body {
        border: solid 1px #aaa;
        background-color: #fff;
        margin-bottom: 20px;
        margin: -6px;
    }

    /* エラーメッセージ */
    html:not(.ua-desktop) .errors {
        max-width: 95%;
        width: auto;
    }

    html:not(.ua-desktop) .warns_no_image {
        max-width: 95%;
        width: auto;
    }

    /* 候補検索 */
    html:not(.ua-desktop) .candidate {
        padding: 0px 5px 0px 5px;
    }

    html:not(.ua-desktop) .candidate .result {
        height: auto;
    }

    html:not(.ua-desktop) .candidate .condition table th, html:not(.ua-desktop) .candidate .condition table td {
        display: block;
    }

    html:not(.ua-desktop) .candidate .result table td.body_radio, html:not(.ua-desktop) .candidate .result table td.body_code {
        width: 100%;
        border-right: inherit;
    }

    html:not(.ua-desktop) .candidate .condition input.button {
        width: auto;
        margin: 0px;
    }

    html:not(.ua-desktop) .candidate .result table td.body_radio {
        text-align: left;
    }

    /* 区切りのイメージ */
    html:not(.ua-desktop) .clear {
        background: none;
        width: 0px;
    }

    /* 虫眼鏡 */
    html:not(.ua-desktop) .support input.search {
        background: url("../image/magnifier.png") no-repeat center center;
        background-size: 30px 30px;
        height: 30px;
        width: 30px;
    }

    /* アコーディオン */
    html:not(.ua-desktop) .accordion_header {
        position: relative;
        background-color: #084396;
        color: #fff;
    }

    html:not(.ua-desktop) table caption.accordion_header {
        border: solid 2px;
        padding-top: 1em;
    }

    html:not(.ua-desktop) table caption.accordion_header strong {
        display: inline-block;
        border: 0;
        margin: 0;
        color: #fff;
    }

    html:not(.ua-desktop) .accordion_child_header {
        position: relative;
        background-color: #084396;
        color: #fff;
    }

    html:not(.ua-desktop) .accordion_header_opened::before {
        content: "－";
        position: -webkit-sticky;
        position: sticky;
        left: 5px;
    }

    html:not(.ua-desktop) .accordion_header_closed::before {
        content: "＋";
        left: 10px;
    }

    html:not(.ua-desktop) .accordion_inner_closed, html:not(.ua-desktop) tbody.accordion_inner_closed, html:not(.ua-desktop) table.accordion_inner_closed {
        display: none;
    }

    /* リンクに下線や色をつけない */
    html:not(.ua-desktop) .md_display_text_decoration_none a:link {
        text-decoration: none;
        color: #000;
    }

    /* add 2025/5/20 */
    /* 学生メニュー */
    /* メニューグループ内の文字部分の表示調整 */
    html:not(.ua-desktop) .manualtitle-center {
        background: #997500;
        padding: 0px;
        margin: 0px;
        font-size: 14px;
        max-width: unset;
        width: unset;
        /* 2025/7/30 質問・相談画面でheight, line-heightを設定しないとずれていた。
	   恐らく全画面に必要だと思うので、一律適用する */
        /* TODO: 作成済みの画面の表示を確認する */
        height: 21px;
        line-height: 21px;
    }

    /* メニューボタン表示 */
    span.listimgs {
        padding: 15px 15px 15px 25px;
        border: 2px;
        border-top: 0px;
        width: 50%;
    }

    /* サイトマップ：メニューボタン表示 */
    span.listimg {
        padding: 15px 15px 15px 25px;
        border: 2px;
        border-top: 0px;
        width: 50%;
    }

    /* メニュー表示(flex) 注意: マルチと異なるレイアウト */
    div#linkmenu {
        display: flex;
        flex-wrap: wrap;
    }

    /* サイトマップ */
    div#cmenu {
        display: flex;
        flex-wrap: wrap;
    }

    /* メニューグループ行の表示調整 */
    div:has(> div.manualtitle-center) {
        background: #997500;
        padding: 15px;
        margin: unset;
        font-size: 14px;
    }

    /* メニュー余白の色調整 */
    #linkmenu {
        padding: unset;
        margin: unset;
        width: unset;
        border: 0px;
        background-color: #CDC8B1
    }

    /* サイトマップ：メニュー余白の色調整 */
    #cmenu {
        padding: unset;
        margin: unset;
        width: unset;
        border: 0px;
        background-color: #CDC8B1
    }

    /* メニューボタンの枠線 */
    span.listimgs {
        border: solid 2px #CDC8B1;
        border-top: 0px;
        background-color: white;
        padding: 17px;
        padding-left: 25px;
        background: url(../image/mdImages/ico_arrow_right.gif) no-repeat left center !important;
        background-size: 10px 10px !important;
        background-position: 10px !important;
        background-color: #fff !important;
        cursor: pointer;
    }

    /* サイトマップ：メニューボタンの枠線 */
    span.listimg {
        border: solid 2px #CDC8B1;
        border-top: 0px;
        background-color: white;
        padding: 17px;
        padding-left: 25px;
        background: url(../image/mdImages/ico_arrow_right.gif) no-repeat left center !important;
        background-size: 10px 10px !important;
        background-position: 10px !important;
        background-color: #fff !important;
        cursor: pointer;
    }

    /* 「メニュー」を表示 */
    /* マルチから移植 */
    html:not(.ua-desktop) div.titleLogoChild {
        display: block;
        border-left: solid 5px #997500;
        background: url(../image/mdImages/bg_h1_bottom.gif) no-repeat bottom right #cc9c00;
        background-size: 29px 120px;
        /* 2025/7/30 質問・相談画面でhtmlのline-height: 20pxにしたら 12pxから10pxにしないと合わなくなった */
        /* 2025/8/20 10pxだと授業情報画面が合わなかったので12pxに戻す */
        padding: 12px;
        margin-bottom: 20px;
        margin: 0px 0px 20px 0px !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        color: white !important;
        font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, sans-serif !important;
    }

    /* メニュー文字を抑止 */
    div#section > div:nth-child(1) > div:nth-child(1) {
        display: none;
    }

    /* メニュータイトルとメニュー本体の間のhrを抑止 */
    div#section > div:nth-child(1) hr {
        display: none;
    }

    /* メニュータイトルとメニュー本体の間の余白を抑止 */
    div#section > div:nth-child(2) {
        /* display: none;  保証人への個別お知らせの既読一覧、詳細画面の件名・内容・詳細が表示されないのでコメントアウト */
    }

    /* ヘッダ色の白を抑止 */
    #header {
        background-color: unset;
    }

    /* body背景色をクリーム色 */
    html:not(.ua-desktop) body {
        background-color: #f7f1df;
    }

    /* タイトルロゴ非表示を抑止 */
    html:not(.ua-desktop) div#header #layout #logo {
        display: unset;
    }

    /* スマホ用ヘッダ画像 マルチから移植 */
    #layout #logo {
        background: url(../image/mdImages/img_logo.gif) repeat-x bottom left;
        background-size: 170px 20px;
        width: 170px;
        height: 20px;
        float: left;
    }

    /* スマホ用ヘッダのリンク */
    #layout #logo a {
        width: 170px;
        height: 20px;
        display: block;
    }

    /* ヘッダ画像(大学ポータルサイト)を非表示 */
    #layout #logo a img {
        display: none;
    }

    /* タイトル下のhr */
    #layout {
        padding: 13px 0 18px 10px;
        margin-right: 70px;
        background: url(../image/mdImages/header_bg_line01.gif) repeat-x bottom left;
    }

    /* 既存のwidth: 100% をunset */
    #layout {
        width: unset !important;
    }

    /* ログアウトボタンのalt文面非表示 */
    html:not(.ua-desktop) #submenu span.alt {
        display: none;
    }

    /* ヘッダと画面タイトルの間の高さ調整 */
    html:not(.ua-desktop) body div#body > div {
        margin-bottom: 0px;
    }

    /* ヘッダと画面タイトルの間のメッセージボックスの高さ調整 */
    #message {
        margin-top: unset;
    }

    /* pkg-in設定のキャンセル */
    #layout {
        width: unset;
        height: unset;
    }

    /* なぜか高さを明示指定しないと0pxになるので20px明示指定 */
    /* after/beforeですべてのタグに、box-sizing: border-boxにしている。ここだけcontent-boxに指定 */
    #layout {
        height: 20px;
        box-sizing: content-box;
    }

    /* ログアウトボタンの位置調整 */
    #submenu {
        float: right;
        margin-top: -13px !important;
        margin-right: -123px !important;
    }

    /* マルチは3pxだったので調整 => タイトルのpaddingが3px(角をつけるため)なので0pxにする */
    #section {
        padding: 0px;
    }

    /* タイトルの角 */
    div#section > div:nth-child(1) {
        background: url(../image/mdImages/bg_h1_top.gif) no-repeat top right;
        padding-top: 3px;
    }

    /* マルチのbodyマージン15pxに合わせる */
    html:not(.ua-desktop) body div#body {
        margin: auto 15px;
    }

    /* 2025/5/22 */
    /* フッター */
    html:not(.ua-desktop) #footer .uv_footer p.copyright {
        background-color: #555;
        padding: 10px;
        font-size: 10px;
        text-align: center;
    }

    /* このサイトについて、など */
    html:not(.ua-desktop) .uv_footer .inner .subnavi a {
        display: unset;
        color: #fff;
        &:hover {
            text-decoration:underline;
        }
    }

    html:not(.ua-desktop) .uv_footer .inner .subnavi span {
        display: unset;
        color: #fff;
    }

    /* マニュアル、の表記を無理矢理消す */
    html:not(.ua-desktop) .uv_footer .inner p.subnavi *:nth-child(4) {
        display: none;
    }

    /* マニュアル、の表記を無理矢理消す */
    html:not(.ua-desktop) .uv_footer .inner p.subnavi *:nth-child(5) {
        display: none;
    }

    /* このサイトについて、の右側の「トップ」リンクを表示 */
    html:not(.ua-desktop) .uv_footer .inner .page_top {
        display: unset;
    }

    html:not(.ua-desktop) .uv_footer .inner {
        position: relative;
        background-color: #333;
        font-size: 12px;
    }

    html:not(.ua-desktop) .uv_footer .inner .subnavi {
        padding: 15px 10px;
    }

    /* 「トップ」の左側のボーダーを消す */
    html:not(.ua-desktop) .uv_footer .inner .page_top {
        border-left: unset;
    }

    /* 「トップ」の上矢印を出す */
    html:not(.ua-desktop) .uv_footer .inner .page_top {
        padding: 23px 0 6px;
        background: url(../image/mdImages/ico_arrow_up_wh.png) no-repeat center 7px;
        background-size: 10px;
        width: 45px;
        cursor: pointer;
    }

    /* メニューとフッターの間の間隔調整 */
    #centercontent_0 {
        margin-bottom: 20px !important;
    }

    /* pkg-in cssを上書き */
    #footer {
        padding: 0px;
    }

    /* ヘッダ右側の「学生用」*/
    html:not(.ua-desktop) body #header .user_type {
        display: inline-block;
        float: right;
        padding: 3px 5px;
        margin-right: 5px;
        color: #fff;
        font-size: 12px;
        background-color: #333;
        /* マルチと見た目を合わせる */
        line-height: 17px;
    }

    /* 隣接セルのborderが重なって太くなるので偶数個目のセルの左ボーダーは非表示 */
    html:not(.ua-desktop) #linkmenu span:nth-of-type(2n) {
        border-left: none;
    }

    /* サイトマップ：隣接セルのborderが重なって太くなるので偶数個目のセルの左ボーダーは非表示 */
    html:not(.ua-desktop) #cmenu span:nth-of-type(2n) {
        border-left: none;
    }

    /* グループ内にボタンが１つだけの場合画面幅いっぱいに表示 */
    html:not(.ua-desktop) div#linkmenu > span:nth-of-type(1):nth-last-of-type(1) {
        width: 100%;
    }

    /* サイトマップ：グループ内にボタンが１つだけの場合画面幅いっぱいに表示 */
    /* マルチのサイトマップは、グループ内にボタンが１つだけでも幅50%。マルチに合わせるためコメントアウト */
    /*
    html:not(.ua-desktop) div#cmenu > span:nth-of-type(1):nth-last-of-type(1) {
        width: 100%;
    }
    */

    /* Myプロフィールと次のコンテンツの間に空白を入れる */
    html:not(.ua-desktop) #rightsidecontent_1 {
        margin-top: 10px;
    }

    /* 2025/7/16 */
    /* MYプロフィール */
    html:not(.ua-desktop) body#PT0901 {
        /* この画面はペインなし 暫定で非表示で修正 */
        /* TODO: cm_content定義修正 */
        div#rightside {
            /* cm_content修正により不要となった */ /* display:none; */ }

        div#section {
            & {
                font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, sans-serif;
                color: #333;
                /* cgu-pt body letter-spacingキャンセル */
                letter-spacing: normal;
            }

            table.student_detail {
                tr {
                    display: block;
                    padding: 20px 10px;
                    background-color: white;
                    border-top: solid 2px #d9d1b8;
                    line-height: 1.5;
                }

                th, td {
                    display: block;
                    padding: 0px;
                    font-size: 14px;
                }
            }

            /* 属性表と住所表の間の区切り */
            table.student_detail:nth-of-type(2) {
                display: none;
            }

            /* 再確認したところ、タイトルの高さが20pxだった。
		   とりあえず本画面だけ21pxにする(他画面も同様だと思う) */
            .manualtitle-center {
                height: 21px;
                line-height: 21px;
            }

            /* 再確認したところ、タイトルの高さが40.8pxで、0.8px高くなっていた。
		   とりあえず本画面だけ修正した(他画面も同様だと思う) */
            div.titleLogoChild {
                line-height: 1.5;
                padding: 8px;
            }

            /* おことわり 注意文 */
            div.style2 {
                & {
                    border: solid 1px black;
                    line-height: 1.5;
                }

                br {
                    line-height: 120%;
                }

                p {
                    margin-bottom: 10px;
                }
            }

            img[src*="spacer"] {
                display: none;
            }

            table:has(.style2) {
                border:0px;
            }

            td:has(.style2) {
                border:0px;
                padding: 5px;
            }

            /* pkg-ptで薄い色で定義されている。見づらいのでマルチに合わせる */
            .titleCircleStyle2 {
                color: #333;
            }
        }

        /* ここからペイン */

		/* 全画面共通にしたいのでコメントアウト
        #rightside {
            background-color: transparent;
            margin-bottom: 20px;
        }
        */
    }

    /* 資料・申請書 一覧・詳細共通 */
    html:not(.ua-desktop) body#PT0213 {
        /* cgu-pt の body letter-spacingをキャンセル */
        & {
            letter-spacing: normal;
        }

        /* この画面のタイトルの表示方法は標準と異なるので標準の方法をキャンセル */
        div#section > div:nth-child(1) {
            background: unset;
            padding: unset;
        }

        /* 画面タイトルの「角」*/
        div#section {
            background: url(../image/mdImages/bg_h1_top.gif) no-repeat top right;
            padding-top: 3px;
        }

        /* 画面タイトル */
        div#section:before {
            content: "資料・申請書";
            display: block;
            text-align: left;
            border-left: solid 5px #997500;
            background: url(../image/mdImages/bg_h1_bottom.gif) no-repeat bottom right #cc9c00;
            background-size: 29px 120px;
            padding: 8px;
            line-height: 24px;
            margin-bottom: 20px;
            margin: 0px 0px 20px 0px !important;
            font-size: 16px !important;
            font-weight: 700 !important;
            color: white !important;
            font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, sans-serif !important;
        }

        /* pkg-pt の設定をキャンセル */
        .manualtitle-center {
            height: unset;
        }

        .manualtitle-center {
            background: transparent url(../image/mdImages/ico_news.gif) no-repeat scroll left center / 31px 18px;
            background-color: #FFF;
            color: #000;
            font-weight: 700;
            width: 100%;
            padding: 15px;
            padding-left: 40px;
            /* マルチは複数タグで構成されている(div + div + span)ので他のタグの設定を移植 */
            line-height: 21px;
            border: solid 1px #d3d3d3;
            border-bottom: unset;
        }

        /* 暫定で右ペインを非表示 (最終的にはcm_contentで非表示) */
        #rightside {
            /* cm_content編集により不要となった */
            /* display:none; */
        }

        form {
            background-color: #fff;
            border: solid 1px #d3d3d3;
            border-top: unset;
        }
    }

    /* リンク */
    html:not(.ua-desktop) body#PT1101 {
        & {
            font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, sans-serif;
            /* cgu-pt body letter-spacingキャンセル */
            letter-spacing: normal;
        }

        #section .caption {
            margin-bottom: 10px;
        }

        /* pkg-pt height=20px より高いline-heightを設定 */
        .manualtitle-center {
            height: 21px;
            line-height: 21px;
        }

        #centercontent_0 {
            margin-bottom: 15px !important;
        }

        /* ここからペイン */

		/* 全画面共通にしたいのでコメントアウト
        #rightside {
            background-color: transparent;
            margin-bottom: 20px;
        }
        */
    }

    /* フッター(このサイトについて、サイトマップの上にスペースを空ける */
    html:not(.ua-desktop) #rightside {
        background-color: transparent;
        margin-bottom: 10px;
    }

    /* トップページ(保証人) */
    html:not(.ua-desktop) body#PT0101 { /* 保証人しかログインしないので条件を削除 */
    /* html:not(.ua-desktop):has(style[data-usertype="student"]) body#PT0101 { */

        --apply-js: pt0101-top;

        & {
            font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, sans-serif;
            /* cgu-pt body letter-spacingキャンセル */
            letter-spacing: normal;
            line-height: 20px;
        }

        .mode_sp {
            display: block;
            a span {
                background: unset;
                padding: 0;
            }
        }
        .pc_only {
            display: none;
        }

        tr:has(>td > img[src*="yournews"]) {
            display: block;
            border: solid 1px #d3d3d3;
            background-color: white;
        }

        /* タイトル */
        td:has(>img[src*="yournews"]) {
            & {
                display:block;
                width: unset !important;
                text-align: left !important;
                line-height: 26px;
                background: #fff url(../image/mdImages/bg_notebook_dot.gif) repeat-x scroll left top / 10px 4px;
                padding-top: 8px;
                border-bottom: 5px solid #f2d25e;
                margin-bottom: 6px;
            }

            img {
                display: none;
            }

            &:after {
                content: "あなたへの連絡";
                font-size: 16px;
                font-weight: 700;
                background: #fff url(../image/mdImages/ico_mail.gif) no-repeat scroll left 5px / 20px 13px;
                padding-left: 25px;
                color: #222;
                font-size: 16px;
                font-weight: 700;
                padding-bottom: 1px;
            }
        }

        /* 本文 */
        tr:has(>td > img[src*="yournews"]) td:nth-of-type(2) {
            & {
                padding: 3px 0px 3px 0px;
                display: block;
            }

            table {
                tr {
                    display: block;
                }

                td {
                    display: block;
                    background: transparent url(../image/mdImages/ico_arrow_right.gif) no-repeat scroll left center / 10px 10px;
                    /* マルチではなぜか矢印が上部に出ている。しかたないので手動で調整 */
                    background-position-y: 8px;
                    padding-left: 18px;
                    width: 100% !important;
                    font-size: 14px;
                    /* 目視で設定しただけ */
                    height: 27px;
                    padding: 3px 0px 3px 18px;
                    line-height: 21px;
                }

                img {
                    display: none;
                }

                /* 未読・既読 */
                tr:nth-of-type(1) td:nth-of-type(2) {
                    & {
                        font-size: 0;
                        letter-spacing: 0;
                        /* マルチでのnews表示エリア. 本文は非表示だが6pxだけ余白が表示されている */
                        margin-top: 6px;
                    }

                    /* 未読 */
                    a:nth-of-type(1) {
                        display:none;
                    }

                    a:nth-of-type(2) {
                    }

                    /* 既読のお知らせ一覧 */
                    a:nth-of-type(2):after {
                        font-size: 14px;
                        content: "・既読のお知らせ一覧";
                    }
                }

                /* 授業情報 */
                tr:nth-of-type(2) td:nth-of-type(2) {
                    font-size: 0;
                    a {
                        font-size: 14px;
                    }
                }

                /* アンケート */
                tr:nth-of-type(3) td {
                    height: unset;
                    padding: 0px 0px 0px 18px;
                    /* アンケート行は上下paddingがないので矢印が下にずれてしまうので手動調整 */
                    background-position-y: 5px;
                }
            }
        }

        /* 学生メニュー設定をキャンセル */
        div#section > div:nth-child(2) {
            display: block;
        }

        /* メニューグループ行の表示調整 */
        div:has(> div.manualtitle-center) {
            background: unset;
            padding-left: 0px;
        }

        /* あなたへの連絡ペインと中央コンテンツの間の余白 */
        #centercontent_0 {
            margin-bottom: unset !important;
        }

        /* バックナンバーボタン・順序プルダウンペイン */
        form div#section {
            /* バックナンバーボタン */ tr:nth-of-type(1) {
                & {
                    line-height:21px;
                }

                .hilight_back_number_btn_ja {
                    color: red;
                }

                .back_number_btn_ja {
                    color: #00f;
                }

                /* バックナンバーのリンクはonmouseoverでclassが変わってしまう
			   このためclassに依存せず特定する */
                td div div {
                    background: unset;
                    width: unset;
                    height: unset;
                    font-size: 14px;
                }

                /* マルチはアンカー外でもリンクが有効になってしまっている.
			   バグ移植は不毛なので移植はしない。
			   リンク有効範囲を狭めるため対象の<div>をインライン要素に変更し<a>タグ内に収める */
                td div div {
                    display: inline;
                }

                td div div:after {
                    content:"バックナンバー";
                    background: transparent url(../image/mdImages/ico_arrow_right.gif) no-repeat scroll left .15em / 10px 10px;
                    padding-left: 18px;
                }
            }

            /* 順序プルダウン */
            tr:nth-of-type(2) {
                td {
                    padding-top:0px !important;
                }

                select {
                    width: unset;
                    font-size: 14px !important;
                    /* uv_md上部で設定されているfont-familyをキャンセル */
                    font-family: unset;
                }
            }
        }

        /* uv_smartphone.css でrightcontent_1 を非表示にしているのをキャンセル */
        #rightside div[id^="rightsidecontent_"] {
            display: block;
        }

        /* 中央コンテンツ下に20pxのマージン */
        div#centercontent_1 {
            margin-bottom: 20px;
        }

        /* ペイン下の20pxのマージン 不要なのでコメントアウト*/
        /*
        div#rightside {
            margin-bottom: 20px;
        }
		*/

        /* お知らせがない場合の余白調整 */
        div#centercontent_1 div#section {
            & {
                text-align: left;
            }

            /* お知らせがない場合の余白調整 */
            span.nomessage {
                padding-left: 45px;
                /* マルチはこのspanを囲うdivがline-height:21px
			    divで囲う必要はないためこのspanのline-heightを設定 */
                line-height: 21px;
            }

            div.news {
                margin-bottom: 0;
                margin-top: 0;
                height: 60px;
                background-color: white;
            }
        }

        .news {
            & {
                display: grid;
                grid-template-areas: "announcement_day       announcement_dept" "announcement_substance announcement_substance";
                grid-template-columns: min-content auto;
                grid-auto-rows: min-content;
                border-bottom: dotted 2px gray;
                background-color: #fff;
                margin-bottom: 3px;
                /* トップ画面のお知らせに必要だった */
                padding: 0px 3px;
                width: 100%;
            }

            div {
                display: inline-block;
                width: unset;
                font-size: 14px;
                padding: 0px;
            }

            div.day {
                & {
                    grid-area: announcement_day;
                    text-wrap-mode: nowrap;
                }

                /* 日付 */
                span.time {
                    padding-left: 5px;
                }

                /* 日付前の余白を非表示 */
                span.time img {
                    display: none;
                }
            }

            span.small {
                grid-area: announcement_dept;
                span.org_label {
                    background-color: #777;
                    color: #fff;
                    font-size: 10.5px;
                    font-weight: 700;
                    border-radius: .25em;
                }
            }

            div.substance {
                grid-area: announcement_substance;
                font-size: 14px;
                /* 一覧に本文は非表示 */
                p {
                    display: none;
                }

                a {
                    font-size: 14px;
                    text-decoration: none;
                    color: #00F;
                    /* トップ画面のお知らせにはなぜか矢印がある */
                    background: transparent url(../image/mdImages/ico_arrow_right.gif) no-repeat scroll left .15em / 10px 10px;
                    padding-left: 18px;
                }

                a:hover {
                    color: white;
                    background-color: #336BB4;
                }
            }

            /* マルチはdivをinline-block表示のdivがあり間隔が空いている。目視で同様の間隔に調整した */
            div.substance {
                margin-top: 7px;
            }
        }

        /* 2025/8/18 テスト的に「もっと見る」を強制的に無効化
	　一応動いたようだがロジックを精査して正式修正にする
	  なおPC→スマホでも問題なかった(トグルON/OFFともに強制表示された) */
        /* 「もっと見る」対象のお知らせ行のclass */
        .uspt010111 {
            display: block !important;
        }

        /* 「もっと見る」リンク本体 */
        #section font:has(>a) {
            display:none;
        }
    }

    /* お知らせ詳細画面の右フレームのお知らせ一覧の罫線を幅いっぱいに伸ばす */
    html:not(.ua-desktop) #PT0205 .infoline {
        width: unset;
        background: url(../image/line176.gif);
    }

    /*
     * 保証人個別のお知らせ一覧（未読一覧）
     * 保証人個別のお知らせ一覧（既読一覧）
     */
    html:not(.ua-desktop):has(style[data-tilesjsppath*="Uspt020813.jsp"]) body#PT0208 {
        & {
            font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, sans-serif;
            /* cgu-pt body letter-spacingキャンセル */
            letter-spacing: normal;
            line-height: 20px;
        }

        /* タイトルとメッセージ表示部の間の余白 */
        div#section > div:nth-child(1) {
            padding-top: 15px;
        }

        /* メニューグループ行の表示調整 */
        div:has(> div.manualtitle-center) {
            background: unset;
            padding-left: 0px;
        }

        /* メッセージ表示部: pkg-ptは20px + マージン1pxで22px。マルチと同じ21pxにする */
        .caption {
            margin: 0px;
            line-height: 21px;
        }

        /* メッセージ下部の余白: pkg-pt の .clear { height: 10px; } を無効にして非表示にする */
        .clear {
            display: none;
        }

        /* 右ペイン全体の背景色が白なので各ペイン間のマージンも白になってしまう
	　 背景色の設定は各ペインにする */
        #rightside {
            background-color: unset;
        }

        /* アコーディオン閉じたときの対応 (リンク画面では不要だったのだがトップ画面とこの画面では必要のよう) */

        /* ペイン内の詳細区分は非表示 */
        .level2nd {
            display: none;
        }

        /* 未読と既読の間の区切り線を幅いっぱいに表示 */
        .infoline {
            width: 100%;
            background: transparent url(../image/line176.gif) repeat scroll 0 0;
        }

        /* PC用の区切り線は幅が足りないので非表示にして親のbackgroundで表示 */
        .infoline img {
            display: none;
        }

        /* pkg-ptのimage設定をキャンセル、センタリング(ただしpkg-ptのマージンが効いている) */
        .level ul {
            list-style-image: unset;
            text-align: center;
        }

        /* メッセージ区分名: マルチはspanが高さ21pxなので合わせる */
        .level ul li a {
            line-height: 21px;
        }

        /* メッセージは必ず表示にする */
        /* 最初のメッセージがnth-child(2)になり学生メニュー用cssでnoneになる。表示に戻す */
        div#section > div.news {
            display: block;
        }

        /* 日付と組織名の間の改行を無効化 */
        div#section > div.news > div.day div:has(> span.time) {
            display: inline;
        }

        /* お知らせ一覧用のpkg-ptのfloat:leftが影響してdiv#section全体が崩れるので解除 */
        div#section > div.news {
            div.day {
                float: unset;
            }

            div.substance {
                float: unset;
            }
        }

        div#section > div.news > div.day {
            font-size: 0;
        }

        div#section > div.news > div.day > * {
            font-size: 14px;
        }

        /* uv_smartphone-styleの.org_labelのimportantに勝つため詳細タグで設定 */
        div#section > div.news > div.substance a {
            font-size: 14px;
            text-decoration: none;
            color: #00F;
            background: transparent url(../image/mdImages/ico_arrow_right.gif) no-repeat scroll left .15em / 10px 10px;
            padding-left: 18px;
            &:hover {
                color: red;
            }
        }

        /* uv_smartphone-styleの.org_labelのimportantに勝つため詳細タグで設定 */
        div#section > div.news > div.day > span.org_label {
            background-color: #777;
            color: #fff;
            font-size: 10.5px !important;
            font-weight: 700;
            border-radius: .25em;
        }

        /* pkg-ptのマージン設定をキャンセル */
        .news {
            margin: 0;
        }

        div#section > div.news {
            & {
                margin-bottom: 3px;
            }

            /* マルチはdisplay:inline-block + 子要素のtable-cellで表示している。
			同じ方法は難しいので目視で調整した */
            > div.day {
                height: 29px;
            }

            > div.substance {
                height: 21px;
            }
        }

        /* 右ペイン全体下の20pxのマージン */
        div#rightside {
            margin-bottom: 20px;
        }
    }

    /*
     * 保証人個別のお知らせ詳細
     * 保証人個別のお知らせ詳細（既読処理）
	 */
    html:not(.ua-desktop):has(style[data-tilesjsppath*="Uspt020823.jsp"]) body#PT0208 {
        /* 読みましたボタンのラベルを表示 */
        --apply-js: pt0208-shosai;

        & {
            font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, sans-serif;
            /* cgu-pt body letter-spacingキャンセル */
            letter-spacing: normal;
            line-height: 20px;
        }

        /* タイトルとメッセージ表示部の間の余白 */
        div#section > div:nth-child(1) {
            padding-top: 15px;
        }

        /* 学生メニューで非表示になっているので表示上書き */
        div#section > div:nth-child(2) {
            display: block;
        }

        /* メニューグループ行の表示調整 */
        div:has(> div.manualtitle-center) {
            background: unset;
            padding-left: 0px;
        }

        /* メッセージ表示部: pkg-ptは20px + マージン1pxで22px。マルチと同じ21pxにする */
        .caption {
            margin: 0px;
            line-height: 21px;
        }

        /* メッセージ下部の余白: pkg-pt の .clear { height: 10px; } を無効にして非表示にする */
        .clear {
            display: none;
        }

        /* 右ペイン全体の背景色が白なので各ペイン間のマージンも白になってしまう
	　     背景色の設定は各ペインにする */
        #rightside {
            background-color: unset;
        }


        /* ペイン内の詳細区分は非表示 */
        .level2nd {
            display: none;
        }

        /* 未読と既読の間の区切り線を幅いっぱいに表示 */
        .infoline {
            width: 100%;
            background: transparent url(../image/line176.gif) repeat scroll 0 0;
        }

        /* PC用の区切り線は幅が足りないので非表示にして親のbackgroundで表示 */
        .infoline img {
            display: none;
        }

        /* pkg-ptのimage設定をキャンセル、センタリング(ただしpkg-ptのマージンが効いている) */
        .level ul {
            list-style-image: unset;
            text-align: center;
        }

        /* メッセージ区分名: マルチはspanが高さ21pxなので合わせる */
        .level ul li a {
            line-height: 21px;
        }

        /* メッセージは必ず表示にする */
        /* 最初のメッセージがnth-child(2)になり学生メニュー用cssでnoneになる。表示に戻す */
        div#section > div.news {
            display: block;
            }

        /* 資料・申請書より */
        /* pkg-ptのwidthを解除 */
        .caption {
                width: unset;
            }

        /* 記事を枠で囲う(これは枠上部)) */
        .caption {
            margin: 0px 10px;
            padding: 0px 5px;
            border: solid 1px #d3d3d3;
            border-bottom: unset;
            line-height: 20px;
                }

        /* 記事を枠で囲う(これは枠下部)) */
        .attachment {
            margin: 0px 10px;
            margin-bottom: 10px;
            padding-bottom: 10px;
            border: solid 1px #d3d3d3;
            border-top: unset;
                }

        /* 日付行と組織行の間に間隔をあける */
        .caption > div {
            padding-top: 3px;
                }

        /* pkg-ptで非表示にしているのをキャンセル */
        .org_label {
                    display: inline;
            line-height: unset;
            margin: unset;
            }

        /* 組織名 */
        .org_label {
                background-color: #777;
                color: #fff;
            margin: 0;
            padding: 1px;
            word-wrap: break-word;
            white-space: normal;
            font-size: 75%;
                font-weight: 700;
                border-radius: .25em;
            }

        /* 記事タイトルのフォント */
        .caption > h2 {
                font-size: 14px;
        }

        /* タイトルと記事枠の間のスペースを非表示 */
        #section > p {
                    display: none;
                }

        .attachment {
            /* 添付ファイルリンクのulの影響で間隔が空いてしまうため0pxにする */
            ul {
                margin: 0px;
                }

            /* 添付ファイルリンクの色を設定 */
            a > span {
                color: #428bca;
                text-decoration: none;
            }

            /* 添付ファイルリンクの色を設定 */
            a:focus > span, a:hover > span {
                color: #2a6496;
                text-decoration: underline;
            }
        }

        /* 資料・申請書より */
        /* 資料・申請書と構造が異なるようで、追加の対応が必要 */
        .caption {
            & {
                background-color: white;
                margin: 0;
                padding-top: 1px;
            }

            .org_label {
                font-size: 10.5px !important;
            }

            p:nth-of-type(2) {
                display:none;
            }

            p:nth-of-type(4) {
                display:none;
            }
        }

        .attachment {
            margin: 0px 0px 20px 0px;
            background-color: white;
        }

        /* 「既読」画像がある場合、枠下部の枠線は「既読」画像に引くので、添付には枠線を引かない */
        div#section:has(.readed_btn_style) .attachment {
            margin:0;
            border-bottom: unset;
        }

        /* 「読みました」ボタン */
        .read_btn_style {
            background: url("../image/mdImages/ico_arrow_right_wh.png") no-repeat #d97e00;
            background-size: 10px 10px;
            /* マルチと合わせるため手修正 */
            background-position-x: calc(50% - 40px);
            background-position-y: calc(50% - 1px);
            border-top: 0px;
            height: 54px;
            width: 100%;
            border-bottom: solid 3px #b36c09;
            margin-bottom: 20px;
            /* pkg-ptにtext-indent:-9999pxがあり文字が出ない。キャンセルする */
            text-indent: unset;
                    color: white;
            / text-align: center;
            line-height: 21px;
            padding-left: calc(50% - 25px);
            }

        /* inputタブの文言入れ替えは難しいのでペンディング。
	        最終的にはjsかjspでやるしかないかも。 */
        /* 戻るボタンを左寄せ */
        div#section {
            text-align: left;
            }

        /* 戻るボタン */
        input.button {
            color: #333;
            display: inline-block;
            border: solid 1px #aaa;
            padding: 10px 10px 10px 30px;
            background: url(../image/mdImages/ico_arrow_left.gif) no-repeat 10px center #fff;
            background-size: 10px 10px;
            min-width: 60px;
            line-height: 21px;
            width: unset !important;
            margin-bottom: 20px;
        }

        /* 資料・申請書と構造が異なるようで、追加の対応が必要 */
        /* 「既読」画像 */
        .readed_btn_style {
            border: solid 1px #d3d3d3;
            border-top: unset;
            padding-bottom: 60px;
            background-color: white;
            width: 100%;
            margin-bottom: 20px;
            /* 「既読」を上寄せで表示 */
            background-position-y: top;
        }

        /* 戻るボタン */
        .readed_btn_style + p + a {
            & {
                display: inline-block;
                border: solid 1px #aaa;
                padding: 10px 10px 10px 30px;
                background: url(../image/mdImages/ico_arrow_left.gif) no-repeat 10px 15px #fff;
                background-size: 10px 10px;
                line-height: 21px;
                width: unset !important;
                margin-bottom: 20px;
                color: black;
                /* 表示文言を入れ替え (>> 戻る、を、戻るにする) */
                font-size: 0;
            }

            &:after {
                font-size: 14px;
                vertical-align: top;
                content: "戻る";
            }
        }

        /* 右ペイン全体下の20pxのマージン */
        div#rightside {
            margin-bottom: 20px;
        }
    }

    /* お知らせ */
    html:not(.ua-desktop) body#PT0205 {
        & {
            font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, sans-serif;
            /* cgu-pt body letter-spacingキャンセル */
            letter-spacing: normal;
            line-height: 20px;
        }

        /* ヘッダと画面タイトル間の余白 */
        div#section > div:nth-child(1) {
            padding-top: 15px;
            /* 画面タイトル右上の「角：を消す */
            background: unset;
        }

        /* 画面タイトル */
        div:has(> div.manualtitle-center) {
            padding-left: 0px;
        }

        /* 画面タイトル */
        .manualtitle-center {
            background: transparent url(../image/mdImages/ico_news.gif) no-repeat scroll left center / 31px 18px;
            color: #000;
            font-weight: 700;
            padding-left: 40px;
        }

        /* 画面タイトルとお知らせ本体間の余白 */
        div:has(> .manualtitle-center) {
            margin-bottom: 14px;
        }

        /* 戻るボタンを左寄せ */
        div#section {
            text-align: left;
        }

        /* 戻るボタン */
        input.button {
            color: #333;
            display: inline-block;
            border: solid 1px #aaa;
            padding: 10px 10px 10px 30px;
            background: url(../image/mdImages/ico_arrow_left.gif) no-repeat 10px center #fff;
            background-size: 10px 10px;
            min-width: 60px;
            line-height: 21px;
            width: unset !important;
            margin-bottom: 20px;
        }

        /* お知らせ表示部内の余白調整用のpを非表示 */
        /* 既読メッセージ／保証人個人へのお知らせ一覧が表示されないのでコメントアウト
        #section > p {
            display: none;
        }
        */

        /* お知らせを枠で囲う(これは枠上部)) */
        .caption {
            & {
                border: solid 1px #d3d3d3;
                background: white;
                margin: 0;
                padding-left: 5px;
                border-bottom: unset;
                width: unset;
                line-height: 20px;
            }

            /* お知らせタイトルのみline-height:21px */
            p:nth-of-type(1) {
                line-height:21px;
            }

            /* &nbsp;のpを非表示 */
            p:nth-of-type(3) {
                display:none;
            }
        }

        /* お知らせを枠で囲う(これは枠中部その1)) 追加 */
        div#section > p:nth-child(4) {
            border: solid 1px #d3d3d3;
            border-top: unset;
            border-bottom: unset;
            background: white;
            padding: 0;
        }

        /* お知らせを枠で囲う(これは枠中部その2)) 追加 */
        .captionsmall {
            display: none;
        }

        /* お知らせを枠で囲う(これは枠下部)) */
        .attachment {
            & {
                border: solid 1px #d3d3d3;
                border-top: unset;
                background: white;
                padding-top: 14px;
                padding-bottom: 10px;
            }

            ul {
                margin: 0;
            }

            /* お知らせの添付の高さ調整 */
            ul:has(> li a) {
                padding-top: 1px;
            }

            a span {
                color: unset;
                /* uv_smartphone_styleでdisplay:inline-block. この場合hover時に下線が引かれない */
                display: inline;
            }

            a {
                &:hover {
                    text-decoration: underline;
                    color: #428bca;
                }

                &:focus-visible {
                    color: unset;
                }
            }
        }

        /* ペイン部の背景色 (ペイン間のマージン色に使用される) */
        #rightside {
            background-color: transparent;
        }

        /* 右ペイン全体下の20pxのマージン */
        /* Myプロフィールの下が開きすぎるので、削除
        div#rightside {
            margin-bottom: 20px;
        }
        */
    }

    div[id^="rightsidecontent_"] {
        /* デバッグ表示 */
        &:before {
            width: 200px;
            position: absolute;
            z-index: 99;
            background-color: black;
            color: white;
            display:block;
        }

        /* ツール/リンク */
        &:has(> .tool) {
            &:before {
                content: "ツール/リンク";
            }

            background-color: white;
            margin-bottom: 5px;
            padding:2px;
            border: groove 1px #d3d3d3;
            .infoline {
                display:none;
            }
            .tool {
                display: block;
                background: unset;
                width:100%;
                height:unset;
                line-height:21px;
                span.alt {
                    display:inline;
                }
            }
            .level {
                width:100%;
            }
            ul {
                list-style-position: inside;
                padding:0;
                margin:0 5px;
                line-height:21px;
            }
            li {
                text-align: center;
                padding:10px;
            }
            a {
                color: #428bca;
                &:hover {
                    text-decoration: underline;
                    color:#336BB4;
                }
                &:focus-visible {
                    color:#336BB4;
                }
            }
        }
        /* プロフィール */
        &:has(> .profile) {
            /* 「プロフィール」と表示されるのを回避
            &:before {
                content: "プロフィール";
            }
            */

             display: block !important;
            .check {
                background-color: #f7f1df;
                height:21px;
            }
            .profilecheck {
                padding:0;
            }

            /* アンカー文字列を入れ替え(チェック→プロフィール) */
            a {
                font-size: 0;
                &:after {
                    font-size: 14px;
                    content: "プロフィール";
                }
            }
        }
        /* サブメニュー */
        &:has(> .submenu) {
            &:before {
                content: "サブメニュー";
            }

            .submenu {
                /* pkg-pt分を上書き */
                margin: 0 0 5px 0;
                width: 100%;
                background-color: white;
                border: groove 1px #d3d3d3;
                ul {
                    margin: 0;
                    li {
                        padding: 0;
                        background: unset;
                        text-align: center;
                        border-bottom: 1px dotted #666;
                        line-height: 21px;
                        a {
                            padding: 0;
                        }
                    }
                    /* 最後のliは枠線が引かれていない */
                    li:last-child {
                        border-style: none;
                    }
                }
            }
        }
        /* ヘッドライン */
        &:has(> .headline) {
            /* 「ヘッダライン」と表示されるのを回避
            &:before {
                content: "ヘッドライン";
            }
            */
            border: groove 1px #d3d3d3;
            background-color: white;
            margin-bottom: 5px;
            div.information {
                width: 100%;
            }
            /* 日付とタイトル間の開業を非表示 */
            br {
                display: none;
            }
            /* お知らせ行の左余白 */
            ul li {
                padding-left: 5px;
                line-height: 21px;
            }
        }
        /* カレンダー(教員/学生共通) */
        &:has(> .mydata) {
            &:before {
                content: "カレンダー";
            }

            .mydata {
                margin: 0;
                padding: 0;
                border: unset;
            }
            .class {
                padding:0;
                margin:0;
                width:100%;
            }
            .diary {
                float:unset;
                width:100%;
                text-align: center;
                color: white;
                background-color: #d9830b;
                font-size: 16px;
                font-weight: 700;
                padding: 10px;
                /* 月名(英語)を非表示 */
                span:nth-of-type(2) {
                    display:none;
                }
                /* font-size 16pxでのマルチでのpx値を手動設定 */
                line-height:22.86px;
            }
            .calender {
                table {
                    margin:0;
                    line-height:21px;
                    border:unset;
                    width: 100%;
                    /* 曜日行 */
                    th {
                        border:unset;
                        font-weight:700;
                        font-family:inherit;
                        font-size: 14px;
                        background-color:white;
                        color: #d9830b;
                        padding: 8px 10px;
                    }
                    td {
                        border:unset;
                        font-weight:400;
                        font-family:inherit;
                        font-size: 14px;
                        background-color:white;
                        padding: 8px 10px;
                    }
                    .caltoday {
                        color: #fff;
                        background-color: #d9830b;
                    }
                }
            }
            .next {
                background-color: #d9830b;
                height: 71px;
                .tscadule_ja {
                    width: 100%;
                    text-align: right;
                }
                .lastmonth {
                    margin: 15px 10px;
                    background: url(../image/mdImages/ico_arrow_left_wh.png) no-repeat left center / 10px 10px;
                    a {
                        background-color: transparent;
                        color: white;
                        font-weight:700;
                    }
                }
                .nextmonth {
                    margin: 15px 10px;
                    background: url(../image/mdImages/ico_arrow_right_wh.png) no-repeat right center / 10px 10px;
                    a {
                        background-color: transparent;
                        color: white;
                        font-weight:700;
                    }
                }
                .today {
                    width:100%;
                    background-color: #f7f1df;
                    div.teacherscadule_ja {
                        text-align: right;
                        width: 100%;
                        margin: 0;
                    }
                    a {
                        width: 100%;
                        background: unset;
                    }
                }
            }
        }
        /* 授業情報 */
        &:has(> .menu3200) {
            &:before {
                content: "授業情報";
            }

            .menu3200 {
                display:none;
            }
            ul {
                list-style-image: unset;
                margin: 0;
                padding:0;
            }

            .level {
                text-align: center;
                border: groove 1px #d3d3d3;
                background-color: white;
                line-height: 21px;
                margin-bottom: 20px;
            }
        }
        /* 担当授業 */
        &:has(> .chargelecture) {
            &:before {
                content: "担当授業";
            }

            margin-bottom: 20px;

            .chargelecture {
                display: none;
            }

            ul {
                list-style-image: unset;
                margin: 0;
            }

            .level {
                text-align: center;
                border: groove 1px #d3d3d3;
                border-bottom: unset;
                background-color: white;
                line-height: 21px;
            }

            .level2nd {
                text-align: center;
                margin-bottom: 5px;
                border: groove 1px #d3d3d3;
                border-top: unset;
                background-color: white;
                line-height: 21px;
                ul {
                    padding: 0;
                }
            }
        }
        /* IFRAME */
        &:has(> iframe) {
            &:before {
                content: "IFRAME";
            }

            overflow: hidden;
        }
    }

    /* スマートフォンのみに適用 これより上部に記述する事 */
}

/* 2026/1/9 */
/* 出席状況一覧用 */
/* uv.sss から移植 */
/* おそらく他画面に影響があるのであとで画面特定形式にしないといけない */
/* 2026/1/30 出席状況一覧は、pt新規作成ではなくuv職員用を転用したので以下cssは不要になった */

/* ブロック全体を未使用にする */
unused {

#title {
    display: block;
}
#title h1 {
    display: block;
}
body {
    background-color: unset;
}
#section {
    border: unset;
    padding: 0;
}
table.list {
    border: unset;
}
/******************************************************************************
   タイトルのスタイル設定
 ******************************************************************************/
#title h1 {
  text-align: center;
  vertical-align: middle;
  background: url("../image/title.gif") no-repeat left center;
  font-size: 16px;
  font-weight:bold;
  padding: 8px 45px 8px 40px;
  margin: 5px 5px;
}

/******************************************************************************
   各情報の詳細テーブルのスタイル設定
 ******************************************************************************/
table.detail {
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 2px;
	empty-cells: show;
	margin: 0 auto;
	width:97%;
}

table.detail th {
	text-align: left;
	vertical-align: middle;
	width: 190px;
	min-width: 190px;
	padding:3px 5px;

	background:#fffbe7;
	color: #555555;
	font-weight: normal;

	border-top:solid 0px #fff;
	border-right:solid 1px #ccc;
	border-bottom:solid 1px #ccc;
	border-left:solid 10px #FE9929;
}

table.detail td {
	text-align: left;
	vertical-align: middle;
	padding: 3px 5px;

	background: #EEEECC;
	color: #555555;
	font-weight: normal;

	border-top:solid 0px #fff;
	border-right:solid 1px #ccc;
	border-bottom:solid 1px #ccc;
	border-left:solid 0px #fff;
}

/******************************************************************************
   一覧表のスタイル設定
 ******************************************************************************/
table.list {
	border-collapse: separate;
	border-spacing: 2px;
	empty-cells: show;
	margin: 0px auto;
	width:97%;
}

/* 項目行のスタイル */
table.list th {
	font-weight:bold;
	color: #FFFFFF;
	text-align: center;
	padding: 3px 3px 3px 3px;
	margin: 0px;
	background: #FFD9BC;
	color: #663333;
	border-top:0px;
	border-right:solid 1px #ccc;
	border-bottom:solid 1px #ccc;
	border-left:0px;
}

table.list td {
    text-align: center;
}

/* データ行(奇数行)の背景色 */
table.list .body_odd {
	background:#FFE;
}

/* データ行(偶数行)の背景色 */
table.list .body_even {
	background:#EEE;
}

input.button {
    width: 100px;
    text-align: center;
    padding: 2px;
    border: 1px solid #ff0000;
    color: #444444;
    background: #ffffff url(../image/button.png);
}

} /* unused */



