@charset "UTF-8";
/*
Theme Name: RID2840 17-18年度+Web申請
Theme URI: http://rid2840.org/
Description: RID2840
Version: 1.0
Author: 株式会社ビーエスシー
Author URI: http://bsc-ltd.com/
*/

#cover {
    position: fixed;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 999999;
    background: #fff;
    color: #fff;
}

/* ===========================================================================
【共通】
============================================================================= */
h1 {
    font-size: 1.4em;
}

h2 {
    font-size: 1.2em;
}

h3 {
    font-size: 1.1em;
}

h4 {
    font-size: 1em;
}

.text21 {
    font-size: 2.1rem;
}

.text22 {
    font-size: 2.2rem;
}

.text23 {
    font-size: 2.3rem;
}

.text24 {
    font-size: 2.4rem;
}

.text25 {
    font-size: 2.5rem;
}

.text26 {
    font-size: 2.6rem;
}

.width2em {
    width: 2em !important;
}

.width5em {
    width: 5em !important;
}

.width6em {
    width: 6em !important;
}

.width7em {
    width: 7em !important;
}

.width8em {
    width: 8em !important;
}

.width9em {
    width: 9em !important;
}

.width10em {
    width: 10em !important;
}

h1,
h2,
h3,
h4,
h5,
.bold,
#wrapper dl dt {
    font-weight: bold;
}

.space_null {
    min-height: 1em;
}

/* =============================================================================
【共通】リスト装飾
============================================================================= */
ol {
    margin: 1em auto;
    padding-left: 2em;
}

ol > li + li {
    margin-top: 0.5em;
}

ol > li + li {
    margin-top: 0.5em;
}

ul.disc li,
dl.disc dt,
#edit #wrapper ul li {
    margin-left: 1.5rem !important;
    display: list-item;
    list-style-type: disc !important;
    list-style-position: outside;
}

ol.lower-latin {
    list-style-type: lower-latin;
}

ol.upper-latin {
    list-style-type: upper-latin;
}

ol.lower-alpha {
    list-style-type: lower-alpha;
}

ol.upper-alpha {
    list-style-type: upper-alpha;
}

ul {
    list-style-type: none;
}

/* ===========================================================================
【共通】ディスプレイ
============================================================================= */
/* inline-block */
.disp-ib {
    font-size: 0 !important;
    letter-spacing: -1em !important;
    word-spacing: -1em !important;
}

:root .disp-ib {
    font-size: 0.1px;
    letter-spacing: -1px;
    word-spacing: -1px;
}

.disp-ib > * {
    display: inline-block !important;
    font-size: 1rem;
    letter-spacing: normal;
    word-spacing: normal;
    *display: inline;
    *zoom: 1;
    vertical-align: top;
}

.disp-flex {
    display: -webkit-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -moz-flex;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-flex-pack: justify;
    -moz-flex-pack: justify;
    -ms-flex-pack: justify;
    -moz-justify-content: space-between;
    justify-content: space-between;
}

.disp-flex.wrap {
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.disp-flex.column {
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}

.disp-flex.flex-middle li {
    display: -webkit-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -moz-flex;
    display: flex;
    -webkit-box-align: center;
    -moz-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

.disp-flex.flex-middle:not(#header) li {
    -webkit-box-flex: 1;
    -moz-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.align-left {
    text-align: left;
    margin-left: 0;
    margin-right: auto;
}

.align-center {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.align-right {
    text-align: right;
    margin-left: auto;
    margin-right: 0;
}

.ver-top {
    vertical-align: top !important;
}

.ver-middle {
    vertical-align: middle !important;
}

.ver-bottom {
    vertical-align: bottom !important;
}

.table,
.non_res_table {
    display: table;
    border-collapse: collapse !important;
}

.border {
    border: 1px solid #333;
}

.border > .row:nth-child(even) {
    background-color: rgba(255, 255, 255, 0.8) !important;
}

.border > .row:nth-child(odd) {
    background-color: rgba(255, 255, 255, 0.4) !important;
}

.border > .row > .cell {
    padding: 1pt 5pt;
    border-bottom: 1px solid #333;
}

.border > .row > .cell + .cell {
    border-left: 1px solid #000;
}

.border.th > .cell,
.row.th > .cell,
.cell.th,
.disp-flex.th {
    background: #2d2b32;
    color: #fff;
    min-height: 2em;
    vertical-align: middle;
    text-align: center;
}

.disp-flex .th {
    background: #2d2b32;
    color: #fff;
    min-height: 1em;
    vertical-align: middle;
    text-align: center;
    padding: 0.25em;
}

.disp-flex.border > dl + dl {
    border-left: #000 1px solid;
}

/*
*:not(.disp-flex) .border+.border{ border-top: 0; }
*/
.table .row,
.non_res_table .row {
    display: table-row !important;
}

.table.fx,
.non_res_table.fx {
    table-layout: fixed;
}

.cell {
    display: table-cell !important;
    vertical-align: top;
}

.row.th > div,
.row.th > div > div {
    font-weight: bold !important;
    text-align: center;
    vertical-align: middle !important;
}

h3 + .pad {
    padding: 5pt;
}

.pad,
.table.pad .row > .cell,
.non_res_table.pad .row > .cell,
.pad .cell,
ul.pad > li,
dl.pad > dt,
dl.pad > dd {
    padding: 0.25rem;
}

.radius {
    border-collapse: separate !important;
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
}

.bg-white {
    background-color: rgba(255, 255, 255, 0.6);
}

/* =============================================================================
推奨環境
============================================================================= */
.option {
    padding: 0.5em;
    background: #2f528f;
}

.option > div {
    display: block;
    border: dashed 2px #ddd;
    padding: 0.5em;
    color: #fff;
}

/* =============================================================================
【共通】ページネーション
============================================================================= */
.pagenation {
    display: block;
    margin: 1em 0;
    text-align: center;
}

.pagenation .active {
    background-color: #000;
    color: #ffffff;
}

.pagenation li + li {
    margin-left: 5pt;
}

.pagenation li a {
    background: #fff;
    color: #ffffff;
    text-decoration: none;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
}

.pagenation li a:hover {
    background-color: #999;
    color: #ffffff;
    opacity: 0.8;
    -webkit-transition-duration: 200ms;
    transition-duration: 200ms;
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition-timing-function: ease;
    transition-timing-function: ease;
}

.pagenation li .active,
.pagenation li a {
    display: block;
    padding: 10px 20px;
    height: auto;
    border: 2px solid #000;
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
}

/* =============================================================================
【wp-members】
============================================================================= */
.wp-members_caution {
    color: #f00;
    font-weight: 100;
}

/* ===========================================================================
【共通】デザイン
============================================================================= */
#container {
    width: 100%;
    min-height: 100vh;
    position: relative;
    display: block;
}

#container > header {
    width: 100%;
    background: #000;
    color: #fff;
}

#container > header nav a {
    color: #fff;
    width: 100%;
    height: 100%;
    display: block;
}

#container > header a {
    color: #fff;
}

#container > header a:hover,
#container > header nav a:hover {
    color: #f0e68c;
}

#container > header #header .mypage {
    background: #ea638c;
}

#container > header #header .login,
#container > header #header .logout {
    background: #999;
}

#container > header #header .login,
#container > header #header .mypage,
#container > header #header .logout {
    padding: 0.5em 0.5em 0.5em 3em;
    width: 100%;
    background-repeat: no-repeat;
    background-position: 0.5em center;
    background-size: 2rem auto;
}

#container > #wrapper {
    width: 100%;
    margin-top: 2rem;
    padding-bottom: 8rem;
}

#container > #wrapper a {
    color: #4169e1;
}

#container > #wrapper a:hover {
    color: #ff8c00;
}

#container > #wrapper .space_button {
    margin: 10pt auto 0;
}

#container > #wrapper .table + .table {
    margin-top: 1em;
}

#container > #wrapper section > p {
    margin: 0.5em 0;
}

#container > #wrapper section > p + p,
#container > #wrapper section section + p {
    margin-top: 0.25em;
}

#container > #wrapper section + section {
    margin-top: 2rem;
}

#container > #wrapper section + h5 {
    margin-top: 10pt;
}

#container > #wrapper dl .req:after {
    content: "≪必須≫";
    font-size: 93% !important;
    color: red;
}

#container > footer {
    width: 100%;
    background: #262626;
    color: #fff;
    min-height: 5rem;
    position: absolute;
    bottom: 0;
}

#container > footer a {
    color: #e6e6fa;
}

#container > footer #footer {
    padding-top: 1em;
}

#container > header a:hover,
#container > footer a:hover {
    color: #ffa500;
}

#container a:hover {
    text-decoration: underline;
}

.mypage {
    background-image: url("img/icon_logined.png") !important;
}

.login:not(body) {
    background-image: url("img/icon_login.png") !important;
}

.logout {
    background-image: url("img/icon_logout.png") !important;
}

#wrapper section.bg-white {
    padding: 5pt;
}

#wrapper
    section
    > p:not(.no-indent):not(.align-center):not(.align-right):not(.align-left),
#wrapper p.indent {
    text-indent: 1em;
}

body #wrapper .row > dd > h4:first-child {
    margin-top: -1pt !important;
}

#wrapper #wrapper .button a {
    color: #fff;
}

.bar_mypage ~ .button {
    padding: 0.5em 5pt !important;
}

/* bar_mypage */
.bar_mypage {
    background: #000;
    color: #fff;
    border-bottom: 0;
}

/*
.bar_mypage #login-out { width: 9.5rem; }
article .bar_mypage{ margin-top: -1em; }
.bar_mypage .button .cell{ padding: .25rem 0 .25rem 2.2rem; }

.bar_mypage .button.login,
.bar_mypage .button.mypage,
.bar_mypage .button.logout{
	background-repeat:no-repeat;
	background-position:5pt center;
	-moz-background-size: 2.2rem auto;
	background-size: 2.2rem auto;

}
.bar_mypage .cell a{color: #fff !important;font-weight: bold;}
*/
/* =============================================================================
【共通】デザイン
============================================================================= */
.kome li {
    position: relative;
    left: 1.2em;
}

.kome li::after {
    display: block;
    content: "※";
    position: absolute;
    top: 0;
    left: -1.2em;
    color: red;
}

.checkmark li {
    position: relative;
    left: 1.2rem;
    width: 90%;
}

.checkmark li::after {
    display: block;
    content: "";
    position: absolute;
    top: 0.4rem;
    left: -1rem;
    width: 10px;
    height: 6px;
    border-left: 2px solid #f00;
    border-bottom: 2px solid #f00;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

#edit_admin2 ~ section .bg-white .checkmark {
    margin-bottom: 0.2em;
}

#contents section:not(.section_list) > ul:not(.inline_b):not(.checkmark),
#contents section:not(.section_list) > ol:not(.inline_b),
#contents section:not(.section_list) > dl:not(.inline_b) {
    padding-top: 0.5em;
    padding-bottom: 0.5em;
}

/* =============================================================================
【共通】スマホ
============================================================================= */
@media screen and (max-width: 480px) {
    #header.disp-flex li {
        margin: 0;
        width: 100%;
    }
}

@media screen and (min-width: 481px) and (max-width: 640px) {
    #header.disp-flex li {
        margin: 0;
        width: 100%;
    }
    #header.disp-flex li:nth-child(3),
    #header.disp-flex li:nth-child(4) {
        width: 50%;
    }
    #header.disp-flex li:nth-child(4) {
        border-left: 1px solid #000;
    }
}

@media screen and (max-width: 640px) {
    .checkmark li::after {
        top: 0.4rem;
        left: -1.2rem;
        width: 8px;
        height: 5px;
        border-left: 2px solid #f00;
        border-bottom: 2px solid #f00;
    }
    #header.disp-flex li {
        border-bottom: 1px solid #000;
    }
    #header.disp-flex {
        display: -webkit-box;
        display: -webkit-flexbox;
        display: -moz-flexbox;
        display: -ms-flexbox;
        display: -moz-flex;
        display: flex;
        -webkit-box-lines: multiple;
        -moz-box-lines: multiple;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    #header.disp-flex.flex-middle li:not(:first-child) > * {
        margin-left: 0;
    }
    #container article {
        padding-bottom: 12em;
    }
    #container footer {
        padding-bottom: 4em;
    }
    .margin-left {
        margin-left: 0;
    }
    .margin-right {
        margin-right: 0;
    }
    .padding-left {
        padding-left: 0;
    }
    .padding-right {
        padding-right: 0;
    }
}

/* =============================================================================
【共通】PC
============================================================================= */
@media screen and (min-width: 641px) {
    ul#header.disp-flex.flex-middle li:first-child > * {
        margin-right: 1em;
    }
    ul#header.disp-flex.flex-middle li:not(:first-child) > * {
        margin-left: 1em;
    }
}

@media screen and (max-width: 960px) {
    body article {
        padding-right: 0;
    }
    body .table,
    body .table > .row,
    body .table > .cell,
    body .table > .row > .cell {
        display: block !important;
        width: 100% !important;
    }
    body #wrapper .table > .cell:not(.cell-th),
    body #wrapper .table > .row > .cell:not(.cell-th) {
        margin-bottom: 0.25em;
    }
    body #wrapper .table > .row {
        margin-bottom: 0.5em;
    }
}
