nav ul li.current a,
nav ul li.current a span {
    color: #b71c24;
}

article {
    margin: 25px 30px 0;
    line-height: 2;
    overflow: hidden;
}

section {
    margin: 60px 30px 0;
}

@media screen and (max-width: 767px) {
    article {
        margin: 1em 0 0;
    }
    section {
        margin: 2.3em 0 0;
    }
}

h1 {
    background-color: #000063;
    color: #ffffff;
    display: table;
    font-size: 3.2rem;
    /* 32px */
    font-weight: bold;
    height: 122px;
    width: 100%;
}

h1 div {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}

h1 div small {
    display: block;
    font-size: 1.8rem;
    font-weight: normal;
    margin-top: 1em;
}

h2 {
    border: 1px solid #cccccc;
    font-size: 2.4rem;
    font-weight: normal;
    line-height: 1;
    padding: 1em 0;
}

h2::before {
    content: "";
    border-left: 8px solid #000063;
    padding-right: 1em;
}

h3 {
    border-bottom: 3px solid #cccccc;
    color: #000063;
    display: table;
    font-size: 2.4rem;
    padding: 10px 0;
    vertical-align: middle;
    width: 100%;
}

h3 span {
    background-color: #000063;
    color: #ffffff;
    display: table-cell;
    height: 46px;
    padding: 11px 0;
    text-align: center;
    vertical-align: middle;
    width: 46px;
}

h3 b {
    display: table-cell;
    padding-left: 1em;
    vertical-align: middle;
}

h4 {
    border-bottom: 3px solid #cccccc;
    color: #000063;
    font-size: 2.4rem;
    padding: 0.8em 0;
}

h5 {
    margin-bottom: 1em;
    padding-left: 1.5em;
    line-height: 2;
}

h5::before {
    background-color: #000063;
    content: "";
    display: inline-block;
    height: 0.9em;
    margin-left: -1em;
    margin-right: 0.5em;
    vertical-align: middle;
    width: 0.9em;
}

p {
    line-height: 2;
}

em {
    background-color: #eeeeee;
    display: block;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.8;
    padding: 10px 1em;
    margin: 25px 0 15px;
}

u {
    color: #555555;
    line-height: 2;
    text-decoration: none;
}

@media screen and (max-width: 767px) {
    body {
        font-size: 3.39vw;
        /* 26px */
    }
    h1 {
        font-size: 5.475vw;
        /* 42px */
        height: 3.8em;
    }
    h1 div small {
        font-size: 3.911vw;
        /* 30px */
    }
    h2 {
        border: 2px solid #cccccc;
        font-size: 4.172vw;
        /* 32px */
    }
    h2::before {
        border-left: 12px solid #000063;
    }
    h3 {
        border-bottom: 6px solid #cccccc;
        font-size: 3.911vw;
        /* 30px */
        padding: 0.5em 0;
        width: 100%;
    }
    h3 span {
        height: 2.2em;
        padding: 0;
        width: 2.2em;
    }
    h3 b {
        display: table-cell;
        line-height: 1.3;
        padding-left: 1em;
        vertical-align: middle;
    }
    h4 {
        border-bottom: 6px solid #cccccc;
        font-size: 3.911vw;
        /* 30px */
    }
    h5 {
        margin-bottom: 0.3em;
        padding-left: 1em;
    }
    p {
        line-height: 1.8;
    }
    em {
        font-size: 3.65vw;
        /* 28px */
        line-height: 1.3;
        padding: 1em;
        margin: 25px 0 15px;
    }
}


/*
  COMMON CLASS
*/

div.box {
    width: 424px;
}

div.box.left {
    clear: both;
    float: left;
}

div.box.right {
    float: right;
}

@media screen and (max-width: 767px) {
    div.box {
        width: 100%;
        box-sizing: border-box;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
    }
    div.box.left,
    div.box.right {
        float: none;
    }
}

ul.link_list li {
    padding: 0.5em 0 0.5em 25px;
    background: url(../img/icon_circleArrowRight.png) no-repeat 0 50%/18px auto;
    line-height: 2;
}

@media screen and (max-width: 767px) {
    ul.link_list li {
        padding: 0.5em 0 0.5em 1.8em;
        background: url(../img/icon_circleArrowRight_sp.png) no-repeat 0 50%/1em auto;
        background-size: 5% auto;
        line-height: 2;
    }
}

.link_pdf::after {
    content: "";
    background: url(../img/icon_pdf.png) no-repeat 0 50%/18px auto;
    padding-left: 10px;
    padding-right: 10px;
}

.link_doc::after {
    content: "";
    background: url(../img/icon_word.png) no-repeat 0 50%/18px auto;
    padding-left: 10px;
    padding-right: 10px;
}

.link_xls::after {
    content: "";
    background: url(../img/icon_xls.png) no-repeat 0 50%/18px auto;
    padding-left: 10px;
    padding-right: 10px;
}

.link_file::after {
    content: "";
    background: url(../img/icon_file.png) no-repeat 0 50%/16px auto;
    padding-left: 10px;
    padding-right: 10px;
}

.step h4 {
    margin-bottom: 25px;
}

.step h5 {
    margin-top: 1em;
    margin-bottom: 0;
}

.step em {
    margin-top: 0;
    margin-bottom: 0;
}

.step em span {
    color: #000063;
    display: inline-block;
    padding-right: 1em;
}

.step>div>div {
    border-left: 10px solid #000063;
    padding: 0.5em 2em 1.5em 40px;
    margin-left: 40px;
}

.step>div.last>div {
    border-left: 10px solid transparent;
    padding-bottom: 0;
}

.step>div::after {
    content: "";
    position: relative;
    left: 35px;
    bottom: -14px;
    border-top: 12px solid #000063;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
}

.step>div.last::after {
    border: none;
}

.step div p {
    padding-left: 1em;
}

@media screen and (max-width: 767px) {
    .step>div>div {
        border-left: 0.7em solid #000063;
        padding: 1.5em 2em 1.5em 2.3em;
        margin-left: 2.3em;
    }
    .step>div::after {
        left: 1.85em;
        bottom: -1em;
        border-top: 1em solid #000063;
        border-left: 0.8em solid transparent;
        border-right: 0.8em solid transparent;
    }
}

.btn {
    display: block;
    width: 280px;
    margin: 40px 0 0;
    text-align: center;
    border-radius: 5px;
    background: #000063;
    position: relative;
    color: #fff;
    border-color: #000063;
    border-style: solid;
    border-width: 2px;
    height: 40px;
    line-height: 36px;
}

.btn::before,
.btn::after {
    position: absolute;
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    top: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(-45deg);
}

.btn::before {
    background: #fff;
    right: 10px;
}

.btn::after {
    background: #000063;
    right: 12px;
}

.btn:hover {
    background: #fff;
    color: #000063;
    text-decoration: none;
}

.btn:hover::before {
    background: #000063;
}

.btn:hover::after {
    background: #fff;
}

ul.list>li {
    padding-left: 1em;
}

ul.list>li::before {
    content: "繝ｻ";
    margin-left: -1em;
}

ol.list>li {
    padding-left: 1em;
}

ol.list>li:first-child::before {
    content: "\002460";
    margin-left: -1em;
}

ol.list>li:nth-child(2)::before {
    content: "\002461";
    margin-left: -1em;
}

ol.list>li:nth-child(3)::before {
    content: "\002462";
    margin-left: -1em;
}

ol.list>li:nth-child(4)::before {
    content: "\002463";
    margin-left: -1em;
}

ol.list>li:nth-child(5)::before {
    content: "\002464";
    margin-left: -1em;
}

/*
COURSE
*/

#course #sec01 table {
    width: 100%;
}

#course #sec01 table._pc {
    display: table;
    margin: 30px auto 0;
    width: 94%;
}

#course #sec01 table th {
    border: 1px solid #000063;
    border-right: 1px solid #ffffff;
    background-color: #000063;
    color: #ffffff;
    font-weight: bold;
    padding: 1em 0;
    text-align: center;
}

#course #sec01 table td {
    border: 1px solid #cccccc;
    font-weight: bold;
    padding: 1em 0;
    line-height: 2;
    text-align: center;
    vertical-align: middle;
}

#course #sec01 table td.text-top {
    vertical-align: text-top;
}

#course #sec03 ul {
    border-top: 1px solid #cccccc;
}

#course #sec03 ul li {
    display: table;
    width: 100%;
}

#course #sec03 ul li b {
    background-color: #f6f6f6;
    border-bottom: 1px solid #cccccc;
    display: table-cell;
    font-weight: bold;
    line-height: 2;
    padding: 20px 15px;
    width: 12em;
}

#course #sec03 ul li p {
    border-bottom: 1px solid #cccccc;
    display: table-cell;
    font-weight: normal;
    line-height: 2;
    padding: 20px 15px;
}

#course #sec11 ul {
    border-top: 1px solid #cccccc;
}

#course #sec11 ul li {
    display: table;
    width: 100%;
}

#course #sec11 ul li b {
    background-color: #f6f6f6;
    border-bottom: 1px solid #cccccc;
    display: table-cell;
    font-weight: bold;
    line-height: 2;
    padding: 20px 15px;
    width: 12em;
}

#course #sec11 ul li p {
    border-bottom: 1px solid #cccccc;
    display: table-cell;
    font-weight: normal;
    line-height: 2;
    padding: 20px 15px;
}

#course #sec12 table._pc {
    display: table;
    margin: 30px auto 0;
    width: 94%;
}

#course #sec12 table th {
    border: 1px solid #000063;
    border-right: 1px solid #ffffff;
    background-color: #000063;
    color: #ffffff;
    font-weight: bold;
    padding: 1em 0;
    text-align: center;
}

#course #sec12 table td {
    border: 1px solid #cccccc;
    font-weight: bold;
    padding: 1em 0;
    line-height: 2;
    text-align: center;
    vertical-align: middle;
}

#course #sec12 table td.text-top {
    vertical-align: text-top;
}

#course #sec12 div.box {
    border: 1px solid #cccccc;
    padding: 20px;
    margin-bottom: 25px;
}

#course #sec12 div.box.top p {
    min-height: 18em;
}

#course #sec12 div.box.bottom p {
    min-height: 12em;
}

#course #sec12 div.box.bottom {
    margin-bottom: 0;
}

@media screen and (max-width: 767px) {
    #course #sec01 table._pc {
        display: none;
    }
    #course #sec01 table._sp {
        border: 2px solid #cccccc;
        display: table;
        margin-top: 1.5em;
        width: 100%;
    }
    #course #sec01 table tr {
        border-bottom: 2px solid #cccccc;
    }
    #course #sec01 table th {
        border: none;
        background-color: #eeeeee;
        color: #000063;
        padding: 1em;
        text-align: center;
        width: 10em;
        vertical-align: middle;
    }
    #course #sec01 table td {
        border: none;
        line-height: 1.6;
        padding: 1em;
        text-align: left;
    }
    #course #sec03 ul {
        border-top: 2px solid #cccccc;
    }
    #course #sec03 ul li {
        display: block;
        width: 100%;
    }
    #course #sec03 ul li b {
        border-bottom: 2px solid #cccccc;
        display: block;
        padding: 0.7em 1.2em;
        width: 100%;
    }
    #course #sec03 ul li p {
        display: block;
        border-bottom: 2px solid #cccccc;
        padding: 0.7em 1.2em;
    }
    #course #sec11 ul {
        border-top: 2px solid #cccccc;
    }
    #course #sec11 ul li {
        display: block;
        width: 100%;
    }
    #course #sec11 ul li b {
        border-bottom: 2px solid #cccccc;
        display: block;
        padding: 0.7em 1.2em;
        width: 100%;
    }
    #course #sec11 ul li p {
        display: block;
        border-bottom: 2px solid #cccccc;
        padding: 0.7em 1.2em;
    }
    #course #sec12 table._pc {
        display: none;
    }
    #course #sec12 table._sp {
        border: 2px solid #cccccc;
        display: table;
        margin-top: 1.5em;
        width: 100%;
    }
    #course #sec12 table tr {
        border-bottom: 2px solid #cccccc;
    }
    #course #sec12 table th {
        border: none;
        background-color: #ffffff;
        color: #000063;
        padding: 1em;
        text-align: left;
        width: 10em;
        vertical-align: middle;
    }
    #course #sec12 table td {
        border: none;
        line-height: 1.6;
        padding: 1em;
        text-align: right;
    }
    #course #sec12 div.box,
    #course #sec12 div.box.bottom.left {
        border: 2px solid #cccccc;
        padding: 1.2em 1em;
        margin-bottom: 1em;
    }
    #course #sec12 div.box.top p {
        min-height: auto;
    }
    #course #sec12 div.box.bottom p {
        min-height: auto;
    }
}

div.box.center {
  width:80%;
  margin-left:auto;margin-right:auto;
}
