abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    font-style: normal;
    vertical-align: baseline;
    background: transparent
}

body {
    line-height: 1
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block
}

nav ul {
    list-style: none
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

body {
    font: 15px/1.6 'Hiragino Kaku Gothic ProN', 'a?’a?ca?Ra??e§’a?´ ProN W3', Meiryo, 'a?!a??a?aa?a', Roboto, sans-serif;
    color: #262626;
    letter-spacing: .01em;
    -webkit-text-size-adjust: 100%;
    -webkit-touch-callout: none
}

header, section, #slidemenu {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

a {
    text-decoration: none;
    color: #262626
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle
}

header {
    position: relative
}

header h1 {
    height: 28px;
    padding: 5px;
    border-bottom: 6px solid #542e1f
}

.roundBox ul, .roundBox ol {
    margin: .5em 0 .5em 24px
}

.roundBox dl {
    margin: .5em 0
}

.roundBox.sentence p:not([class="big"]) {
    margin-bottom: 1em
}

section h2 {
    height: 1.6em;
    padding: 3px 8px;
    overflow: hidden;
    color: #F6F6F6;
    text-shadow: 1px 1px rgba(0, 0, 0, .2);
    background: -webkit-gradient(linear, left top, left bottom, from(#dc4e00), to(#ab330f));
    background: linear-gradient(#dc4e00, #ab330f);
    border-top: 1px solid rgba(16, 16, 16, .1)
}

section h3 {
    height: 1.6em;
    padding: 3px 8px;
    overflow: hidden;
    background: #f1e6c6;
    border-bottom: 1px solid rgba(0, 0, 0, .1);
    position: relative
}

.menu>li {
    list-style: none;
    border-bottom: 1px solid rgba(0, 0, 0, .15);
    padding-left: 10px;
    background: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(#FbFbFb));
    background: linear-gradient(#FFF, #FbFbFb)
}
.top_li {
    margin-top: 10px;
    border-top: 1px solid rgba(0, 0, 0, .15);
}

.menu>li>a, .menu>li>label {
    display: block;
    color: inherit;
    padding: 13px 0 13px 10px;
    margin-left: -12px;
    position: relative;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    background-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(50%, transparent), color-stop(50%, rgba(128, 128, 128, .1)), color-stop(95%, rgba(128, 128, 128, .1)), to(rgba(128, 128, 128, 0)));
    background-image: linear-gradient(to right, transparent, transparent 50%, rgba(128, 128, 128, .1) 0, rgba(128, 128, 128, .1) 95%, rgba(128, 128, 128, 0));
    background-position: 0 0;
    -webkit-background-size: 200% auto;
    background-size: 200% auto;
    transition: background-position .1s linear
}

.menu>li>a:active, .menu>li>label:active {
    background-position: -100% 0
}

.menu>li>a::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 15px;
    left: auto;
    width: 7px;
    height: 7px;
    margin-top: -6px;
    border: 2px solid #9c8984;
    border-width: 2px 2px 0 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.col1, .col2, .col3 {
    display: table;
    width: 100%
}

.col1>li, .col2>li, .col3>li {
    float: left;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.col2>li:nth-child(2n+3) {
    clear: both
}

.col1>li {
    width: 100%
}

.col2>li {
    width: 50%
}

.col3>li {
    width: 33.3%
}

.menu.col2>:nth-child(2n+1) {
    border-right: 1px solid rgba(0, 0, 0, .15)
}

p.cate {
    position: absolute;
    right: 30px;
    font-size: 10px;
    color: rgba(128, 128, 128, .8);
    bottom: -1px
}

footer {
    background: #dce1e1;
    text-align: center;
    padding-top: 40px;
    border-top: 1px solid rgba(0, 0, 0, .15);
    font-size: .8em;
    color: #777;
    line-height: 30px
}

footer a {
    color: #777
}

hr {
    height: 1px;
    margin: .5em 0;
    border-top: 1px solid rgba(0, 0, 0, .15)
}

.copyright {
    background: #231000;
    color: #F0F0F0;
    font-size: .85em;
    margin-top: 1em
}

.pan {
    list-style: none;
    overflow: hidden;
    background: #bba999;
    font-size: .8em
}

.pan>li {
    float: left
}

.pan>li>a {
    display: block;
    padding: 5px 0 5px 28px;
    background: #ffe4c2;
    position: relative
}

.pan>li>a::after, .pan>li>a::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border: 25px solid transparent;
    position: absolute;
    left: 100%;
    top: 50%;
    margin-top: -25px
}

.pan>li>a::after {
    border-left: 18px solid #ffe4c2;
    z-index: 2
}

.pan>li>a::before {
    border-left: 18px solid #715246;
    margin-left: 1px;
    z-index: 1
}

.pan>li:first-child a {
    padding-left: 8px
}

.ad1, .ad2, .ad3 {
    margin: 10px 0 7px 0;
    text-align: center;
    line-height: 1
}

.ad2 {
    margin: 40px 0
}

.sponsoredLinks {
    color: #666;
    font-size: 13px
}

#aPage, .aPage {
    display: none
}

.roundBox, .selectBtn {
    background: #FFF;
    margin: 8px 4px;
    border-radius: 4px;
    border: 1px solid rgba(0, 0, 0, .2);
    padding: 7px
}

.roundBox:not(.main) {
    overflow-x: hidden
}

#main_contents .roundBox {
    font-family: Helvetica, Arial, 'Hiragino Kaku Gothic ProN', 'a?’a?ca?Ra??e§’a?´ ProN W3', Meiryo, 'a?!a??a?aa?a', Roboto, sans-serif
}

.big {
    font-size: 18px;
    padding: 3px 0 7px 0;
    font-weight: bold;
    color: #44a127;
    position: relative
}

.big .arrowBtn {
    right: 0;
    top: 0
}

.selectBtn {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    list-style: none;
    padding: 0;
    margin-bottom: 40px
}

.selectBtn>li {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    flex: 1;
    text-align: center;
    border-left: inherit
}

.selectBtn>li:first-child {
    border-left: none
}

.selectBtn>li>a {
    display: block;
    font-size: 16px;
    padding: 15px 0;
    color: inherit
}

.qLink {
    height: 34px;
    position: relative;
    margin-top: 40px
}

/* 画面上部の「前の問題」「次の問題」 */
.qLink_top {
    height: 34px;
    position: relative;
    margin-top: 20px;
}
.qLink_top .arrowBtn.arrowBtn.right {
    right: 0px;
}
.qLink_top .arrowBtn.arrowBtn.arrowBtn.left {
    left: 0px;
}
.qLink~h3 {
    margin-top: 10px
}

.sentence {
    word-break: break-all;
    line-height: 1.7
}

.sentence strong, .sentence b {
    color: #071531
}

.sentence a:not([href$="gif"]):not([href$="jpg"]):not([href$="png"]) {
    padding: 0 2px;
    color: #461a13;
    background: linear-gradient(transparent 85%, rgba(230, 195, 131, .8) 85%);
    background-position-y: -1px
}

.sentence a:not([href$="gif"]):not([href$="jpg"]):not([href$="png"]):active {
    color: #c73310;
    background-image: linear-gradient(transparent 85%, rgba(255, 158, 113, .8) 85%)
}

.selectList>li {
    list-style: upper-alpha;
    margin-bottom: 7px;
    /*margin-left: 7px;*/
}

.arrowBtn {
    background: #fff2be;
    border: 1px solid #dad0c6;
    position: absolute;
    display: block;
    font-size: 12px;
    border-radius: 3px;
    padding: 6px 12px;
    font-weight: normal;
    text-shadow: none
}

.arrowBtn.left {
    left: 5px
}

.arrowBtn.right {
    right: 5px
}

.arrowBtn.left::before, .arrowBtn.right::before {
    position: absolute;
    display: block;
    top: 1px;
    font-size: 18px
}

#tabs>ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    background: #FFF
}

#tabs>div:not(#tab1) {
    display: none
}

#tabs>ul>li {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    flex: 1
}

#tabs>ul>li:nth-child(n+2) {
    border-left: 1px solid rgba(0, 0, 0, .1)
}

#tabs>ul>li>a {
    display: block;
    text-align: center;
    padding: 8px 0;
    color: rgba(128, 128, 128, .7);
    font-size: 14px;
    border-bottom: 4px solid rgba(128, 128, 128, .25);
    transition: border-color .3s
}

#tabs>ul>li.active>a {
    color: inherit;
    border-bottom-color: #e27800
}

#main_contents::before {
    content: "";
    position: fixed;
    z-index: -1;
    background: #000;
    opacity: 0;
    transition: opacity .3s ease-out
}

#target_ans_correct_msg{
    background: #f1fbfa;
    border-color: #34a7b7;
    color: #34a7b7;
    font-weight: 700;
}
#target_ans_incorrect_msg{
    background: #fef2f7;
    border-color: #de30ca;
    color: #de30ca;
    font-weight: 700;
}
#loginForm [type="submit"] {
    margin-top: 20px;
    width: 100%;
    font-weight: bold;
    text-align: center;
    color: #FFF;
    font-size: 16px;
    padding: 10px 0;
    text-shadow: 1px 1px rgba(0,0,0,.3);
    border-radius: 3px;
    border: 1px solid #f39a66;
    background: -webkit-gradient(linear,left top,left bottom,from(#fba746),to(#e68f30));
    background: linear-gradient(#fba746,#e68f30)
}
