﻿@charset "utf-8";

/*↓全体構成↓------------------------------------------------------------*/
#mainContainer {
    height        :100%;
    max-height    :100%;
    padding       : 0;
    margin        : 0;
    vertical-align: top;
}
#mainContents {
    margin:0;
    padding:0;
}
#mainPageScroll {
    overflow-y:auto;
}
#mainPageInner {
    padding-left :0.7rem;
    padding-right:0.7rem;
    margin       :0rem;
}
#mainBody {
    padding      : 0;
    margin-top   : 0.5rem;
    margin-bottom: 0.5rem;
}

@media (min-width: 768px) {
    #mainRow {
        height:100%;
    }
    #mainPageInner {
        width:98%;
        padding-left :0;
        padding-right:0;
    }
    #mainBody {
        padding:0 1.5rem;
        margin-top:1rem;
    }
}
/*↑全体構成↑------------------------------------------------------------*/

/*↓ヘッダー部↓----------------------------------------------------------*/
#header {
    font-size   : 2rem;
    font-weight : bold;
}
#headerTitle {
    vertical-align:middle;
}

@media (min-width: 768px) {
    #header {
        font-size   : 2.5rem;
        padding-left: 0.5rem;
    }
}
/*↑ヘッダー部↓----------------------------------------------------------*/

/*↓フッター部↓----------------------------------------------------------*/
.ns_footer_line{
    margin:0;
}

#footer {
    padding: 1rem 0;
    text-align: center;
    width:100%;
}
/*↑フッター部↓----------------------------------------------------------*/

/*↓ModelNotExist↓----------------------------------------------------------*/
.ns_result_error {
    font-weight:bold;
}
/*↑ModelNotExist↓----------------------------------------------------------*/

/*↓ユーザーコントロール（振替残）↓-----------------------------------*/
.ns_uc_furikaezan {
    display        : table;
    border-collapse: collapse;
    border-width   : 0.1rem;
    width          : 100%;
}
.ns_uc_furikaezan > div{
    display        : table-row;
}
.ns_uc_furikaezan > div > div{
    display        : table-cell;
}

.ns_uc_furikaezan_title {
    word-break: keep-all;
}

@media (min-width: 768px) {
    .ns_uc_furikaezan {
        width       : auto;
        margin-right: 0;
        margin-left : auto;
    }
}
/*↑ユーザーコントロール（振替残）↑-----------------------------------------*/
/*↓ユーザーコントロール（カレンダー）↓-------------------------------------*/
.ns_uc_calendar {
    border-style: solid;
    border-width: 0.15rem;
    margin:0 auto;
    width:100%;
}
.ns_uc_calendar th,.ns_uc_calendar td {
    border-style: solid;
    border-width: 0.25rem;
    width:14%;
}
.ns_uc_calendar th {
    vertical-align:middle;
    padding      :0.3rem;
}
.ns_uc_calendar td {
    line-height :1.2;
    height:5rem;
    vertical-align:top;
    font-size :0.9rem;
    padding   :0.3rem 0 0.3rem 0;
}

.ns_uc_calendar_day {
    font-weight : bold;
    padding-left: 0.3rem;
}
.ns_uc_calendar div[class*="ns_uc_calendar_panel_"] {
    margin : 0.1rem 0.3rem;
    padding: 0.2rem;
}
.ns_uc_calendar div[class*="cu_calendar_click_panel_"] {
    cursor:pointer;
}
.ns_uc_calendar_pager_links {
    width: calc(100% - 10rem);
}

.ns_uc_calendar_dtl_icon_zyuko {
    word-break: keep-all;
}
.ns_uc_calendar_dtl_icon_cancel {
    max-width:4rem;
    word-break: keep-all;
}

/*↑ユーザーコントロール（カレンダー）↑-------------------------------------*/
/*↓ユーザーコントロール（アイコン一覧）↓-----------------------------------*/
.ns_uc_icon_table {
    border-width : 0.15rem;
    border-style : dashed;
}
.ns_uc_icon_table > div:not(:last-child) {
    border-bottom-width : 0.05rem;
    border-bottom-style : solid;
}
.ns_uc_icon_table .ns_uc_icon_help {
    flex:1;
}
/*↑ユーザーコントロール（アイコン一覧）↑-----------------------------------*/

/*↓ユーザーコントロール（受講内容）↓---------------------------------------*/
.ns_uc_zyuko > div {
    border: solid;
    border-width: 0.1rem;
    border-bottom-width:0;
}
.ns_uc_zyuko > div:not(.row) {
    min-height:3rem;
}
.ns_uc_zyuko > div:last-of-type {
    border-bottom-width:0.1rem;
}
.ns_uc_zyuko > div > * {
    padding:0.5rem 0.5rem 0.5rem 1rem !important;
}
.ns_uc_zyuko > .row > div {
    border-right-style: solid;
    border-right-width: 0.1rem;
}
.ns_uc_zyuko > .row > div:last-of-type {
    border-right-width: 0;
}
/*↑ユーザーコントロール（受講内容）↑---------------------------------------*/


/*↓共通部品↓------------------------------------------------------------*/
/*ボタン*/
.ns_btn {
    width  :98%;
    display:block;
    margin-top   :1rem;
    margin-bottom:1rem;
}
@media (min-width: 768px) {
    .ns_btn {
        width:auto;
        min-width:12rem;
        display:inline-block;
        padding-left :2rem;
        padding-right:2rem;
    }
}

/*文字リスト*/
.ns_wd_lst .ns_wd_lst_title {
    font-size:1.2rem;
    font-weight:bold;
}

.ns_wd_lst .ns_wd_lst_item {
    padding-left: 1.5rem;
}


/*テーブル*/
.ns_table {
    margin-bottom:0;
}
.ns_table thead th,.ns_table thead td,
.ns_table tbody th,.ns_table tbody td,
.ns_table tfoot th,.ns_table tfoot td  {
    padding:0.2rem 0.4rem;
    font-size:0.9rem;
    border-top-width : 1px;
    border-top-style : solid;
    border-bottom: none;
    vertical-align:middle;
    height: 3.0rem;

}

@media (min-width: 768px) {
    .ns_table thead th,.ns_table thead td,
    .ns_table tbody th,.ns_table tbody td,
    .ns_table tfoot th,.ns_table tfoot td
    {
        font-size:1rem;
    }
}

/*ページャー*/
.ns_pager {
    text-align :center;
    line-height:2.5rem;
    font-weight:bold;
    width:100%;
    padding:0;
}
.ns_pager .btn:disabled {
    font-weight: normal !important;
    opacity    : 0.5 !important;
}
.ns_pager .ns_pager_btn_area_prev {
    float:left;
    display:inline-block;
    text-align:center;
    vertical-align:middle;
}
.ns_pager .ns_pager_btn_area_next {
    float:right;
    display:inline-block;
    text-align:center;
    vertical-align:middle;
}

.ns_pager .ns_pager_text_area {
    display:inline-block;
    text-align:center;
    vertical-align:middle;
    min-width:5rem;
}
@media (min-width: 768px) {
    .ns_pager {
        width:auto;
    }
     .ns_pager .ns_pager_btn_area_prev
    ,.ns_pager .ns_pager_btn_area_next
    {
        float:none;
    }
}

/*枠囲いエリア*/
div.ns_border_area{
    border-width :0.1rem;
    border-style :solid;
    padding:0.2rem;
}

div.ns_circle_icon {
    display:inline-block;
    font-weight:bold;
    font-size  :1.2rem;
    line-height:1.4rem;
    text-align:center;
    padding:0;
    height:1.8rem;
    min-width:1.8rem;
    border-width: 0.1rem;
    border-style: solid;
    border-radius: 100%;
}
div.ns_circle_icon * {
    vertical-align:middle;
}