@charset "UTF-8";

/*!
---- Smart Style Complex Original Stylesheet Template. ----
Thema Name:     model
Description:    model
Version:        1.0.0
Last Update:    2018/12/17
Author:         Takuya Sakamoto
Company URL:    http://ss-complex.com/
License:        GPL
License URL:    http://www.gnu.org/licenses/gpl.html
*/
html {
    font-display: swap;
}

select::-ms-expand {
    display: none;
}

select {
    -moz-appearance: none;
    text-indent: 0.01px;
    text-overflow: '';
}

address {
    margin-bottom: 0;
}

ol,
ul,
dl {
    list-style: none;
    margin-bottom: 0;
    padding-left: 0;
}

dd {
    margin-bottom: 0;
    margin-left: 0;
}

label {
    margin-bottom: 0;
}

img {
    display: block;
    height: auto;
    margin: auto;
    max-width: 100%;
}

*,
*:before,
*:after {
    box-sizing: border-box;
}

html {
    font-family: sans-serif;
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -ms-overflow-style: scrollbar;
    -webkit-tap-highlight-color: rgba(51, 51, 51, 0);
}

@-ms-viewport {
    width: device-width;
}

article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
    display: block;
}

body {
    margin: 0;
    font-family: "Hiragino Kaku Gothic ProN", "Noto Sans JP", Arial, Meiryo, sans-serif;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
    color: #333;
    text-align: left;
}

[tabindex="-1"]:focus {
    outline: 0 !important;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
    margin-bottom: 0;
}

h2 {
    font-size: 28px;
    font-weight: bold;
    line-height: 48px;
}

h3 {
    font-size: 22px;
    font-weight: bold;
    line-height: 37px;
}


p {
    margin-top: 0;
    margin-bottom: 0;
}

abbr[title],
abbr[data-original-title] {
    text-decoration: underline;
    text-decoration: underline dotted;
    cursor: help;
    border-bottom: 0;
}

address {
    margin-bottom: 10px;
    margin-bottom: 1rem;
    font-style: normal;
    line-height: inherit;
}

ol,
ul,
dl {
    margin-top: 0;
}

ol ol,
ul ul,
ol ul,
ul ol {
    margin-bottom: 0;
}

/*
dt {
  font-weight: $dt-font-weight;
}

dd {
  margin-bottom: .5rem;
  margin-left: 0; // Undo browser default
}
*/
blockquote {
    margin: 0 0 10px;
    margin: 0 0 1rem;
}

dfn {
    font-style: italic;
}

b,
strong {
    font-weight: bolder;
}

small {
    font-size: 80%;
}

sub,
sup {
    position: relative;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline;
}

sub {
    bottom: -.25em;
}

sup {
    top: -.5em;
}

a {
    color: #4F17A8;
    text-decoration: underline;
    background-color: transparent;
    -webkit-text-decoration-skip: objects;
}

a:hover {
    color: #4F17A8;
    text-decoration: none;
}

a img:hover {
    opacity: 0.7;
}

a:not([href]):not([tabindex]) {
    color: inherit;
    text-decoration: none;
}
/*
a:not([href]):not([tabindex]):focus,
a:not([href]):not([tabindex]) :hover {
    color: inherit;
    text-decoration: none;
}*/

a:not([href]):not([tabindex]):focus {
    outline: 0;
}

pre,
code,
kbd,
samp {
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 1em;
}

pre {
    margin-top: 0;
    margin-bottom: 10px;
    margin-bottom: 1rem;
    overflow: auto;
    -ms-overflow-style: scrollbar;
}

figure {
    margin: 0 0 10px;
    margin: 0 0 1rem;
}

img {
    vertical-align: middle;
    border-style: none;
}

svg:not(:root) {
    overflow: hidden;
}

table {
    border-collapse: collapse;
}

caption {
    padding-top: 7.5px;
    padding-top: 0.75rem;
    padding-bottom: 7.5px;
    padding-bottom: 0.75rem;
    color: #333;
    text-align: left;
    caption-side: bottom;
}

th {
    text-align: inherit;
}

label {
    display: inline-block;
    margin-bottom: 5px;
    margin-bottom: 0.5rem;
}

button {
    border-radius: 0;
}

button:focus {
    outline: 1px dotted;
    outline: 5px auto -webkit-focus-ring-color;
}

input,
button,
select,
optgroup,
textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

button,
input {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
    background: none;
    border: none;
    color: #fff;
    width: 100%;
    outline: none;
    padding-left: 25px;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    padding: 0;
    border-style: none;
}

input[type="radio"],
input[type="checkbox"] {
    box-sizing: border-box;
    padding: 0;
    width: 22px;
    height: 22px;
    border: 1px solid #4F17A8;
}

input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
    -webkit-appearance: listbox;
}

textarea {
    overflow: auto;
    resize: vertical;
}

fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0;
}

legend {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin-bottom: 5px;
    margin-bottom: .5rem;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: inherit;
    color: inherit;
    white-space: normal;
}

progress {
    vertical-align: baseline;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

[type="search"] {
    outline-offset: -2px;
    -webkit-appearance: none;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button;
}

output {
    display: inline-block;
}

summary {
    display: list-item;
    cursor: pointer;
}

template {
    display: none;
}

[hidden] {
    display: none !important;
}

/*lightbox*/
.fs-lightbox {
    width: 200px;
    height: 200px;
    position: absolute;
    right: 0;
    left: 0;
    z-index: 101;
    background: #fff;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    margin: 0 auto;
    transform: translateZ(0);
}

.fs-lightbox,
.fs-lightbox :not(input):not(textarea) {
    box-sizing: border-box;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
}

.fs-lightbox-fixed {
    position: fixed;
    top: 0;
    bottom: 0;
    margin: auto;
}

.fs-lightbox-animating {
    transition: height .25s ease, width .25s ease, opacity .25s linear, top .25s ease;
}

.fs-lightbox-animating .fs-lightbox-content,
.fs-lightbox-animating .fs-lightbox-control,
.fs-lightbox-animating .fs-lightbox-meta,
.fs-lightbox-animating .fs-lightbox-thumbnails,
.fs-lightbox-animating .fs-lightbox-tools {
    transition: opacity .25s linear .25s, visibility .25s linear .25s;
}

.fs-lightbox-overlay {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 100;
    background: #000;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    transition: opacity .25s linear;
}

.fs-lightbox-open {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.fs-lightbox-overlay.fs-lightbox-open {
    opacity: .75;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
}

.fs-lightbox-close {
    border: none;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 105;
    cursor: pointer;
    display: block;
    overflow: hidden;
    padding: 0;
}

.fs-lightbox-container {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 103;
    background: #fff;
    overflow: hidden;
}

.fs-lightbox-container:after {
    clear: both;
    content: '';
    display: table;
}

.fs-lightbox-content {
    width: 100%;
    background: #fff;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    overflow: hidden;
    padding: 0;
    visibility: visible;
}

.fs-lightbox-content:after {
    clear: both;
    content: '';
    display: table;
}

.fs-lightbox-inline .fs-lightbox-content {
    width: auto;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.fs-lightbox-iframed .fs-lightbox-content {
    width: 100%;
    height: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.fs-lightbox-mobile .fs-lightbox-image_container {
    width: 1px;
    height: 1px;
    position: absolute;
    margin: 0;
    transform: translate3D(0, 0, 0);
}

img.fs-lightbox-image {
    display: block;
    max-width: inherit;
}

.fs-lightbox-mobile .fs-lightbox-image {
    position: relative;
}

.fs-lightbox-video {
    width: 100%;
    height: 100%;
}

.fs-lightbox-iframe {
    width: 100%;
    height: 100%;
    border: none;
    overflow: auto;
}

.fs-lightbox-meta {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    clear: both;
    visibility: visible;
}

.fs-lightbox-control {
    border: none;
    padding: 0;
    position: absolute;
    top: 0;
    z-index: 105;
    cursor: pointer;
    display: block;
    margin-right: auto;
    margin-left: auto;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    visibility: visible;
    white-space: nowrap;
}

.fs-lightbox-control_previous {
    left: 0;
}

.fs-lightbox-control_next {
    right: 0;
}

.fs-lightbox-control_disabled {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    visibility: hidden;
}

.no-touchevents .fs-lightbox .fs-lightbox-control_disabled,
.no-touchevents .fs-lightbox:hover .fs-lightbox-control_disabled {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    visibility: hidden;
}

.fs-lightbox-caption:after {
    clear: both;
    content: '';
    display: table;
}

.fs-lightbox-toggle {
    border: none;
    padding: 0;
    display: none;
}

.fs-lightbox-thumbnails {
    height: 60px;
    clear: both;
    overflow: hidden;
    padding: 0;
}

.fs-lightbox-thumbnail_container {
    height: 80px;
    position: relative;
    overflow-x: scroll;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    padding: 0 0 30px;
    text-align: center;
    white-space: nowrap;
}

.fs-lightbox-thumbnail_item {
    width: 50px;
    height: 50px;
    position: relative;
    background: 0 0;
    border: none;
    display: inline-block;
    margin: 0 10px 0 0;
    opacity: .25;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=25)";
    overflow: hidden;
    padding: 0;
    transition: opacity .25s linear;
}

.fs-lightbox-thumbnail_item:last-child {
    margin: 0;
}

.fs-lightbox-thumbnail_item img {
    width: 100%;
    height: auto;
    position: absolute;
    top: 50%;
    display: block;
    transform: translateY(-50%);
}

.fs-lightbox-thumbnail_item.fs-lightbox-active,
.no-touchevents .fs-lightbox-thumbnail_item:hover {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.fs-lightbox-loading .fs-lightbox-content,
.fs-lightbox-loading .fs-lightbox-control,
.fs-lightbox-loading .fs-lightbox-meta,
.fs-lightbox-loading .fs-lightbox-thumbnails,
.fs-lightbox-loading .fs-lightbox-tools {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    transition: opacity .25s linear, visibility .25s linear;
    visibility: hidden;
}

.fs-lightbox-loading .fs-lightbox-loading_icon,
.fs-lightbox-ready.fs-lightbox-loading .fs-lightbox-thumbnails,
.fs-lightbox-ready.fs-lightbox-loading .fs-lightbox-tools {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    visibility: visible;
}

.fs-lightbox-mobile {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #111;
    border-radius: 0;
}

.fs-lightbox-mobile .fs-lightbox-container {
    position: static;
    background: #111;
}

.fs-lightbox-mobile .fs-lightbox-content {
    height: 100%;
    background-color: #111;
}

.fs-lightbox-mobile .fs-lightbox-tools {
    width: 100%;
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #111;
}

.fs-lightbox-mobile .fs-lightbox-controls {
    text-align: center;
}

.fs-lightbox-mobile .fs-lightbox-control {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    visibility: visible;
}

.no-touchevents .fs-lightbox-mobile .fs-lightbox-control,
.no-touchevents .fs-lightbox-mobile:hover .fs-lightbox-control {
    visibility: visible;
}

.fs-lightbox-mobile .fs-lightbox-control_disabled,
.no-touchevents .fs-lightbox-mobile .fs-lightbox-control_disabled,
.no-touchevents .fs-lightbox-mobile:hover .fs-lightbox-control_disabled {
    cursor: default !important;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    visibility: hidden;
}

.fs-lightbox-mobile .fs-lightbox-position {
    color: #999;
}

.fs-lightbox-mobile .fs-lightbox-caption p {
    color: #eee;
}

.fs-lightbox-mobile .fs-lightbox-image {
    transform: translate(0, 0);
}

.fs-lightbox-mobile.fs-lightbox-iframe .fs-lightbox-content,
.fs-lightbox-mobile.fs-lightbox-inline .fs-lightbox-content {
    height: 100%;
    overflow-x: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}

.fs-lightbox-mobile.fs-lightbox-touch .fs-lightbox-tools {
    width: auto;
    position: static;
    background: 0 0;
}

.fs-lightbox-mobile.fs-lightbox-touch .fs-lightbox-controls {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 105;
    background-color: #111;
}

.fs-lightbox-mobile.fs-lightbox-touch .fs-lightbox-toggle {
    display: inline-block;
    margin: 0 5px;
    display: none;
}

.fs-lightbox-mobile.fs-lightbox-touch .fs-lightbox-meta {
    width: 100%;
    height: 80%;
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 104;
    background: #222;
    transform: translate(0, 100%);
    transition: transform .25s ease, opacity .25s linear .25s, visibility .25s linear .25s;
}

.fs-lightbox-touch.fs-lightbox-caption_open .fs-lightbox-meta {
    transform: translate(0, 0);
}

.fs-lightbox-mobile.fs-lightbox-touch .fs-lightbox-thumbnails {
    width: 100%;
    height: 70px;
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 104;
    background: #111;
    transform: translate(0, 100%);
    transition: transform .25s ease, opacity .25s linear .25s, visibility .25s linear .25s;
}

.fs-lightbox-mobile.fs-lightbox-touch .fs-lightbox-thumbnail_container {
    height: 100px;
}

.fs-lightbox-touch.fs-lightbox-thumbnails_open .fs-lightbox-thumbnails {
    transform: translate(0, 0);
}

.fs-lightbox-lock {
    overflow: hidden !important;
}

.fs-lightbox-mobile.fs-lightbox-touch .fs-lightbox-container,
.fs-lightbox-mobile.fs-lightbox-touch .fs-lightbox-content {
    overflow: visible;
}

.fs-lightbox-mobile.fs-lightbox-touch .fs-lightbox-content {
    position: relative;
}

.fs-lightbox .fs-viewer {
    top: 0;
    bottom: 0;
}

.fs-lightbox .fs-viewer,
.fs-lightbox .fs-viewer .fs-viewer-wrapper {
    height: auto;
    width: auto;
    position: absolute;
    right: 0;
    left: 0;
    background: #111;
}

.fs-lightbox .fs-viewer .fs-viewer-wrapper {
    top: 0;
    bottom: 0;
}

.fs-lightbox .fs-viewer .fs-viewer-loading_icon {
    display: none !important;
}

.fs-lightbox .fs-viewer .fs-viewer-viewport {
    top: 5px;
    right: 15px;
    bottom: 15px;
    left: 15px;
}

.fs-lightbox .fs-viewer .fs-viewer-controls {
    position: absolute;
    bottom: 10px;
}

/* Slider */
.slick-loading .slick-list {
    background: #fff url("../image/icon/ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
    font-family: "slick";
    src: url("fonts/slick.eot");
    src: url("fonts/slick.eot?#iefix") format("embedded-opentype"), url("fonts/slick.woff") format("woff"), url("fonts/slick.ttf") format("truetype"), url("fonts/slick.svg#slick") format("svg");
    font-weight: normal;
    font-style: normal;
}

.bx-wrapper {
    -moz-box-shadow: 0px 0px 0px !important;
    -webkit-box-shadow: 0px 0px 0px !important;
    box-shadow: 0px 0px 0px !important;
    border: 0px !important;
    background: none !important;
    margin: 0 !important;
}

.bx-wrapper .bx-pager {
    display: none;
}

.bx-wrapper .bx-prev {
    display: none;
}

.bx-wrapper .bx-next {
    display: none;
}

.bx-wrapper .bx-pager.bx-default-pager a {
    background: #D9E1E8 !important;
}

.bx-wrapper .bx-pager.bx-default-pager a.bx-pager-link.active {
    background: #1976D2 !important;
}


.icon.icon_home:before {
    background-image: url(../image/icon/icon_home.svg);
    width: 24px;
    height: 24px;
    left: 0;
    right: 0;
    margin: -25px auto 0;
}

.icon.icon_school_info:before {
    background-image: url(../image/icon/icon_school_info.svg);
    width: 24px;
    height: 24px;
    left: 0;
    right: 0;
    margin: -25px auto 0;
}

.icon.icon_school_head:before {
    background-image: url(../image/icon/icon_school_info.svg);
    width: 26px;
    height: 26px;
    left: 0;
    top: 2px;
}

.icon.icon_school_news:before {
    background-image: url(../image/icon/icon_school_news.svg);
    width: 24px;
    height: 24px;
    left: 0;
    right: 0;
    margin: -25px auto 0;
}

.icon.icon_column:before {
    background-image: url(../image/icon/icon_column.svg);
    width: 24px;
    height: 24px;
    left: 0;
    right: 0;
    margin: -25px auto 0;
}

.icon.icon_school_movie:before {
    background-image: url(../image/icon/icon_school_movie.svg);
    width: 24px;
    height: 24px;
    left: 0;
    right: 0;
    margin: -25px auto 0;
}

.icon.icon_exam:before {
    background-image: url(../image/icon/icon_exam.svg);
    width: 24px;
    height: 24px;
    left: 0;
    right: 0;
    margin: -25px auto 0;
}

.icon.icon_search:after {
    background-image: url(../image/icon/icon_mag.svg);
    width: 20px;
    height: 20px;
    margin-left: 10px;
}

.icon.icon_search-fr:before {
    background-image: url(../image/icon/icon_mag.svg);
    width: 20px;
    height: 20px;
    left: 20px;
    top: 20px;
}

.icon.icon_search_again:after {
    background-image: url(../image/icon/icon_mag_blue.svg);
    width: 20px;
    height: 20px;
    margin-left: 10px;
}

.icon.icon_search_btn:before {
    background-image: url(../image/icon/icon_mag.svg);
    width: 20px;
    height: 20px;
    margin-left: -25px;
    margin-top: 3px;
}

.icon.icon_map:before {
    background-image: url(../image/icon/icon_map.svg);
    width: 22px;
    height: 22px;
    left: 0;
    top: 2px;
}

.icon.icon_arrow:after {
    background-image: url(../images/icon/navigate_next_black_24dp.svg);
    width: 24px;
    height: 24px;
    left: -2px;
    top:0px;
}


.icon.icon_backLine:after {
    background: #ccc;
    width: calc(100% - 90px);
    height: 1px;
    z-index: -1;
    right: 0px;
    top: 12px;
}

.icon.icon_link_out:after {
    background-image: url(../image/icon/icon_link_out.svg);
    width: 20px;
    height: 20px;
    right: 15px;
}

.icon.icon_double:after {
    background: #ccc;
    width: 100%;
    height: 1px;
    left: 0;
    top: 0;
    margin-top: 2px;
}

.icon.icon_arrow_blue:before {
    background-image: url(../image/icon/icon_arrow_right_blue.svg);
    width: 24px;
    height: 24px;
    left: 0;
}

.icon.icon_tw:before {
    background-image: url(../image/logo/tw_logo.svg);
    width: 24px;
    height: 24px;
    left: 0;
}

.icon.icon_fb:before {
    background-image: url(../image/logo/fb_logo.svg);
    width: 24px;
    height: 24px;
    left: 0;
}

.icon.icon_insta:before {
    background-image: url(../image/logo/insta_logo.svg);
    width: 24px;
    height: 24px;
    left: 0;
}

.icon.icon_line:before {
    background-image: url(../image/logo/line_logo.svg);
    width: 24px;
    height: 24px;
    left: 0;
}

.icon.icon_yt:before {
    background-image: url(../image/logo/yt_logo.svg);
    width: 24px;
    height: 24px;
    left: 0;
}

.bold {
    font-weight: bold;
}

.medium {
    font-weight: 500;
}

.black {
    color: #333;
}

.white {
    color: #fff;
}

.gray {
    color: #999999;
}

.blue {
    color: #01579B;
}

.blueMid {
    color: #1976D2;
}

.green {
    color: #00695C;
}

.whiteBg {
    background: #ffffff;
}

.grayBg {
    background: #F9F9F9;
}

.lsAV30 {
    letter-spacing: 0.03em;
}

.lsAV100 {
    letter-spacing: 0.1em;
}

.taL {
    text-align: left !important;
}

.taC {
    text-align: center !important;
}

.taR {
    text-align: right !important;
}

.clearText {
    text-indent: 200%;
    white-space: nowrap;
    overflow: hidden;
}

.autoImg {
    width: 100%;
    height: auto;
}

.autoImg.full {
    width: auto;
    max-width: 100%;
    height: auto;
    display: table;
    margin: 0 auto;
}

.autoImg.lg {
    width: 80%;
    margin: 0 auto;
    display: block;
}

.autoImg.md {
    width: 50%;
    margin: 0 auto;
    display: block;
}

.autoImg.sm {
    width: 30%;
    margin: 0 auto;
    display: block;
}

.hAuto {
    height: auto !important;
}

.icon {
    position: relative;
}

.icon:before,
.icon:after {
    background: no-repeat center/contain;
    content: "";
    position: absolute;
}

.logo {
    position: relative;
}

.logo:before,
.logo:after {
    background: no-repeat center/contain;
    content: "";
    position: absolute;
}

.btn a {
    border: 1px solid #01579B;
    border-radius: 4px;
    display: inline-block;
}

html {
    font-size: 62.5%;
}

body {
    font-size: 1.6em;
    position: relative;
}

html.fontL {
    font-size: 70%;
}

.wrapper {
    letter-spacing: 0.05em;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.mAuto {
    margin: auto;
}

/* common */
.fL {
    float: left !important;
}

.fR {
    float: right !important;
}

.fBox {
    margin-left: -4%;
}

.fAll {
    float: left;
    width: 96%;
    margin-left: 4%;
}

.f1of2 {
    float: left;
    width: 46%;
    margin-left: 4%;
}

.f1of3 {
    float: left;
    width: 29.3333%;
    margin-left: 4%;
}

.f2of3 {
    float: left;
    width: 62.6666%;
    margin-left: 4%;
}

.f1of4 {
    float: left;
    width: 21%;
    margin-left: 4%;
}

.f3of4 {
    float: left;
    width: 71%;
    margin-left: 4%;
}

.f1of5 {
    float: left;
    width: 16%;
    margin-left: 4%;
}

.f2of5 {
    float: left;
    width: 36%;
    margin-left: 4%;
}

.f3of5 {
    float: left;
    width: 56%;
    margin-left: 4%;
}

.f4of5 {
    float: left;
    width: 76%;
    margin-left: 4%;
}

.f1of6 {
    float: left;
    width: 12.6666%;
    margin-left: 4%;
}

.f5of6 {
    float: left;
    width: 79.3333%;
    margin-left: 4%;
}

.f1of7 {
    float: left;
    width: 10.2857%;
    margin-left: 4%;
}

.f2of7 {
    float: left;
    width: 24.5714%;
    margin-left: 4%;
}

.f3of7 {
    float: left;
    width: 38.8571%;
    margin-left: 4%;
}

.f4of7 {
    float: left;
    width: 53.1428%;
    margin-left: 4%;
}

.f5of7 {
    float: left;
    width: 67.4285%;
    margin-left: 4%;
}

.f6of7 {
    float: left;
    width: 81.7142%;
    margin-left: 4%;
}

.f1of8 {
    float: left;
    width: 8.5%;
    margin-left: 4%;
}

.f3of8 {
    float: left;
    width: 33.5%;
    margin-left: 4%;
}

.cf:after {
    clear: both;
    content: "";
    display: block;
}
/* wp-member cssカスタマイズ */
#wpmem_login input[type=password], #wpmem_login input[type=text], #wpmem_reg input[type=date], #wpmem_reg input[type=email], #wpmem_reg input[type=number], #wpmem_reg input[type=password], #wpmem_reg input[type=text], #wpmem_reg input[type=url], #wpmem_reg textarea,
#wpmem_login button, #wpmem_login input, #wpmem_reg button, #wpmem_reg input, #wpmem_reg select, #wpmem_reg textarea {
    border: 1px solid rgba(79,23,168,.9) !important;
}
#wpmem_login label, #wpmem_reg label {
    display: block !important;
    padding-top: 16px !important;
}
#wpmem_msg, .wpmem_msg {
    background-color:#e73858 !important;
    color:#fff !important;
    font-weight: bold;
}
#wpmem_login input[type=checkbox]#rememberme,
#wpmem_login .button_div label  {
    display:none !important;
}
p.login_status {
    text-align:center;
}
p.login_status a {
    margin-top:8px;
    padding: 8px 16px;
    display: inline-block;
    border: 1px solid #4f17ab;
}
p.login_status a:hover {
    color:#fff;
    background-color:#4f17ab;
}
#wpmem_login input {
    padding:8px 0;
}
#wpmem_login input:hover {
    color:#fff;
    background-color:#4f17ab;
}
/* wp-member cssカスタマイズここまで */

.cmsContents h1 {
    font-size: 32px;
    font-size: 3.2rem;
    font-weight: bold;
    position: relative;
    margin: 32px 0;
}

.cmsContents h1:after {
    content: "";
    display: block;
    bottom: 24px;
    left: 0;
    width: 40px;
    height: 4px;
    background-color: #333333;
}

.cmsContents h2 {
    font-size: 28px;
    font-weight: bold;
    position: relative;
    margin: 32px 0;
    color: #333;
}

.cmsContents h2:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -16px;
    width: 100%;
    height: 3px;
    z-index: 1;
    background-color: #4F17A8;
}

.cmsContents h3 {
    font-size: 24px;
    font-weight: bold;
    position: relative;
    margin: 32px 0 16px 0;
    padding-left: 16px;
}

.cmsContents h3:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 3px;
    height: 100%;
    background-color: #4F17A8;
}

.cmsContents h4 {
    font-size: 20px;
    font-weight: bold;
    margin: 32px 0 16px 0;
}

.cmsContents h5 {
    font-size: 18px;
    font-weight: bold;
    margin: 32px 0 16px 0;
}

.cmsContents h6 {
    font-size: 16px;
    font-weight: bold;
    margin: 32px 0 16px 0;
}

.cmsContents p {
    margin: 8px 0;
    line-height: 2.0;
}

.cmsContents p.emphasis {
    border: 2px solid #CCCCCC;
    padding: 24px;
}


.cmsContents p.doubleArrow {
    position: relative;
    padding-left: 24px;
    display: inline-block;
    font-weight: bold;
}
.cmsContents p.doubleArrow:before {
    background-image: url(../images/icon/doubleArrow.svg);
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    left: 0px;
    top: calc(50% - 12px);
}

.cmsContents a.nobtnDesign {
    position: relative;
    padding-left: 24px;
    display: inline-block;
    font-weight: bold;
}

.cmsContents a.nobtnDesign:before {
    background-image: url(../images/icon/arrow_right-gray.svg);
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    left: 0px;
    top: calc(50% - 12px);
}

.cmsContents a.nobtnDesign[target="_blank"]:after {
    background-image: url(../images/icon/filter_none-gray.svg);
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    display: inline-block;
    right: -36px;
    top: calc(50% - 12px);
}

.cmsContents a.btnDesign {
    position: relative;
    padding: 12px 16px;
    display: inline-block;
    background-color: #4F17A8;
    color: #ffffff;
    text-decoration: none;
    font-weight: bold;
    box-shadow: 0 15px 30px -5px rgba(0, 0, 0, .15), 0 0 5px rgba(0, 0, 0, .1);
    transition: .3s;
}

.cmsContents a.btnDesign[target="_blank"] {
    position: relative;
    padding: 14px 48px 14px 24px;
    display: inline-block;
    background-color: #4F17A8;
    color: #ffffff;
    text-decoration: none;
    font-weight: bold;
    box-shadow: 0 15px 30px -5px rgba(0, 0, 0, .15), 0 0 5px rgba(0, 0, 0, .1);
    transition: .3s;
}

.cmsContents a.btnDesign:hover,
.cmsContents a.btnDesign[target="_blank"]:hover {
    box-shadow: 0 0 3px 0 rgba(0, 0, 0, .12), 0 2px 3px 0 rgba(0, 0, 0, .22);
}

.cmsContents a.btnDesign[target="_blank"]:after {
    background-image: url(../images/icon/filter_none-linkbtn.svg);
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    display: inline-block;
    right: 16px;
    top: calc(50% - 12px);
}
.wp-block-file__button {
    background:#efefef !important;
}
.wp-block-file a.wp-block-file__button:hover {
    color:#4F17A8 !important;
    cursor: pointer !important;
}
.wp-block-file a.wp-block-file__button {
    color:#4F17A8 !important;
}

.cmsContents .cardContents h3 {
    font-size: 22px;
    line-heght:37px;
    font-weight: bold;
    margin: 0;
    padding:0;
}
.cmsContents .cardContents h3:after {
  display:none;
}

.cmsContents strong {
    font-weight: bold;
}

.cmsContents em {
    font-style: italic;
}

.cmsContents dl {
    margin: 32px 0;
}

.cmsContents dl dt {
    font-weight: bold;
}

.cmsContents dl dd {
    position: relative;
    padding: 8px 0 8px 22px;
    margin: 12px 0;
}

.cmsContents dl dd:before {
    content: "";
    position: absolute;
    left: 10px;
    top: 0%;
    display: inline-block;
    width: 2px;
    height: 100%;
    padding: 8px 0;
    background-color: #4F17A8;
}

.cmsContents ul {
    margin: 16px 0 16px 20px;
}

.cmsContents ul li {
    list-style-type: disc;
    margin: 16px 0;
}

.cmsContents ul.kome li {
    list-style-type: none;
    margin: 16px 0;
    position: relative;
}

.cmsContents ul.kome li:before {
    content: "※";
    position: absolute;
    left: -20px;
    top: 0%;
    display: inline-block;
}

.cmsContents ol {
    margin: 16px 0 16px 24px;
}

.cmsContents ol li {
    list-style-type: decimal;
    margin: 16px 0;
}

.cmsContents blockquote {
    margin: 32px 0 32px 0;
    padding: 32px;
    position: relative;
    background-color: #D9E1E8;
}

.cmsContents blockquote:before {
    background-image: url(../images/icon/icon_blockquote.svg);
    content: '';
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 0;
    width: 70px;
    height: 50px;
    display: inline-block;
}

.cmsContents .blockdesign {
    background-color: #ededed;
    padding: 14px 24px;
    margin: 8px 0;
}
.cmsContents .ranking {
    marin:24px 0;
}
.cmsContents .ranking .rankingIcon {
    position:relative;
    padding-left:72px;
    margin:24px 0;
}
.cmsContents .ranking .rankingIcon:before {
    content: '';
    position: absolute;
    top: calc(50% - 24px);
    left: 0px;
    z-index: 0;
    width: 54px;
    height: 48px;
    display: inline-block;
}
.cmsContents .ranking .rankingIcon01:before {
    background-image: url(../images/icon/ranking01.svg);
}
.cmsContents .ranking .rankingIcon02:before {
    background-image: url(../images/icon/ranking02.svg);
}
.cmsContents .ranking .rankingIcon03:before {
    background-image: url(../images/icon/ranking03.svg);
}
.cmsContents .ranking .rankingIcon04:before {
    background-image: url(../images/icon/ranking04.svg);
}
.cmsContents .ranking .rankingIcon05:before {
    background-image: url(../images/icon/ranking05.svg);
}
.cmsContents .ranking span {
    margin-right:32px;
}
.cmsContents table {
    margin: 32px 0 32px 0;
    width: 100%;
    border-top: 1px solid #CCCCCC;
}

.cmsContents table th,
.cmsContents table td {
    padding: 12px 16px;
    font-size:14px;
    border-left: 1px solid #CCCCCC;
    border-bottom: 1px solid #CCCCCC;
}

.cmsContents table th:first-child,
.cmsContents table td:first-child {
    border-left: none;
}

.cmsContents table td > *:first-child {
    margin-top: 0;
}

.cmsContents table td > *:last-child {
    margin-bottom: 0;
}

.cmsContents img {
    margin: 24px auto;
}

.cmsContents hr {
    border-top: 1px #ccc solid;
}

.cmsContents .downloadFile {
    position: relative;
    padding-left: 24px;
    display: inline-block;
}

.cmsContents .downloadFile:before {
    background-image: url(../images/icon/arrow_right-black.svg);
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    left: 0px;
    top: calc(50% - 12px);
}

.post-password-form {
    text-align: center;
}

.post-password-form [type="submit"] {
    background-color: #4F17A8;
    color: #fff;
    display: inline-block;
    width: auto;
    padding: 3px 8px;
}


/* common */
.flexBox {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.btnDesign {
    position: relative;
    padding: 12px 16px;
    display: inline-block;
    background-color: #4F17A8;
    color: #ffffff;
    text-decoration: none;
    font-weight: bold;
    box-shadow: 0 15px 30px -5px rgba(0, 0, 0, .15), 0 0 5px rgba(0, 0, 0, .1);
    transition: .3s;
}

.btnDesign[target="_blank"] {
    position: relative;
    padding: 14px 48px 14px 24px;
    display: inline-block;
    background-color: #4F17A8;
    color: #ffffff;
    text-decoration: none;
    font-weight: bold;
    box-shadow: 0 15px 30px -5px rgba(0, 0, 0, .15), 0 0 5px rgba(0, 0, 0, .1);
    transition: .3s;
}

a.btnDesign:hover,
a.btnDesign[target="_blank"]:hover {
    box-shadow: 0 0 3px 0 rgba(0, 0, 0, .12), 0 2px 3px 0 rgba(0, 0, 0, .22);
}

a.btnDesign[target="_blank"]:after {
    background-image: url(../images/icon/filter_none-linkbtn.svg);
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    display: inline-block;
    right: 16px;
    top: calc(50% - 12px);
}

/*タブ切り替え全体のスタイル*/
.tabs {
    margin-top: 41px;
    padding-bottom: 40px;
    width: 100%;
    margin: 0 auto;
}

/*タブのスタイル*/
.tab_item {
    width: calc(100% / 2);
    height: 41px;
    line-height: 41px;
    font-size: 14px;
    font-size: 1.4rem;
    text-align: center;
    color: #01579B;
    display: block;
    float: left;
    text-align: center;
    font-weight: bold;
    transition: all 0.2s ease;
    border-bottom: 1px solid #ccc;
}

.tab_item:hover {
    opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
    display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
    display: none;
    padding: 0;
    clear: both;
    overflow: hidden;
}


/*選択されているタブのコンテンツのみを表示*/
#all:checked ~ #all_content,
#programming:checked ~ #programming_content {
    display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
    color: #333;
    border-radius: 4px;
    border: 1px solid #ccc;
    border-bottom: 0px;
}


footer {
    border-top: 4px solid #4F17A8;
}

#topBtn {
    width: 100px;
    height: 50px;
    position: absolute;
    text-align: center;
    overflow: hidden;
    z-index: 999;
    right: 20px;
}

.topBtn:before {
    content: '';
    border: 50px solid transparent;
    border-bottom: 45px solid #00695C;
    text-align: center;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
}

.topBtn span {
    position: absolute;
    z-index: 1;
    width: 100px;
    left: 0;
    bottom: 0;
    font-weight: bold;
    font-size: 16px;
    font-size: 1.6rem;
}

.Footer__body {
    background: #F7F9FA;
    color: #333;
}

.Footer__copyYear {
    text-align: center;
    padding: 20px 0;
    border-top: 1px solid #000;
    width: 1200px;
    margin: 0 auto;
}

.ftsmap {
    width: 1200px;
    margin: 0 auto;
    padding: 80px 0 60px;
}

.ftsmap li {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 24px;
}

.ftsmap li ul.sub-menu li {
    font-size: 14px;
    font-weight: normal;
    margin-top: 16px;
    margin-bottom: 0px;
    margin-left: 8px;
}

.ftsmap a {
    color: #333;
    text-decoration: none;
}

.ftsmap a:hover {
    text-decoration: underline;
}

.footerMenuFourth .borderB {
    border-bottom: 1px solid #ccc;
}

.MembersOnlyPage {
    border: 1px solid #CCCCCC;
    box-shadow: 0px 3px 6px -4px rgba(0, 0, 0, 0.6);
    padding: 24px;
    position: relative;
}

.MembersOnlyPage:before {
    background-image: url(../images/icon/lock_icon.svg);
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    display: inline-block;
    left: 16px;
    top: calc(50% - 12px);
}

.MembersOnlyPage span {
    margin-left: 24px;
}

.MembersOnlyPageSide {
    border: 1px solid #4F17A8;;
    box-shadow: 0 15px 30px -5px rgba(0, 0, 0, .15), 0 0 5px rgba(0, 0, 0, .1);
    transition: .3s;
    padding: 18px;
    position: relative;
}

.MembersOnlyPageSide:before {
    background-image: url(../images/icon/lock_green_icon.svg);
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    display: inline-block;
    left: 16px;
    top: calc(50% - 12px);
}

.MembersOnlyPageSide:hover {
    box-shadow: 0 0 3px 0 rgba(0, 0, 0, .12), 0 2px 3px 0 rgba(0, 0, 0, .22);
}

.MembersOnlyPageSide span {
    margin-left: 24px;
}

.catTitle {
    margin-top: 10px;
    font-size: 14px;
    font-size: 1.4rem;
}

.headerTop__brandName {
    font-size: 16px;
    font-size: 1.6rem;
    float: left;
    position: absolute;
}

.headerTop__brandName a {
    background-image: url(../images/logo/logo_2024.png);
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    float:left;
}
.headerTop__brandName a.childSite{
    background:none;
    padding-left:0px;
}

.headerTop__contactBox {
    float: right;
}

.headerTop__contactBox li {
    display: inline-block;
    margin-left: 20px;
}

.headerTop__contactBox li a {
    text-decoration: underline;
    font-weight: bold;
    font-size: 14px;
    font-size: 1.4rem;
    margin-top: 50px;
    display: block;
}

.header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    transition: 0.3s;
    z-index: 100;
    background-color: rgba(255, 255, 255, 0.9);
}

.controlBox {
    margin-top: 5px;
}

.controlBox a {
    position: relative;
    padding: 3px 16px;
    color: #333;
    font-size: 14px;
    text-decoration: none;
}

.controlBox a:hover {
    text-decoration: underline;
}

.controlBox a.bookstore {
    position: relative;
    padding-left: 24px;
}

.controlBox a.login {
    position: relative;
    border: 2px solid #4F17A8;
    border-radius: 4px;
    padding: 12px 24px 12px 40px;
}

.controlBox a.bookstore:before {
    background-image: url(../images/icon/shopping_cart_black_24dp.png);
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    display: inline-block;
    left: 0px;
    top: -4px;
}

.controlBox a.login:before {
    background-image: url(../images/icon/login_black_24dp.png);
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    display: inline-block;
    left: 8px;
    top: 8px;
}


.searchBox {
    border: 1px solid #CCCCCC;
    box-sizing: border-box;
    border-radius: 4px;
    box-shadow: 0px 3px 6px -4px rgba(0, 0, 0, 0.6);
    position: relative;
}

.searchArea {
    width: 240px;
    height: 38px;
    margin: 0 40px 0 0;
    padding: 12px 14px;
    border: none;
    border-radius: 4px 0 0 4px;
}

.searchMenuLink {
    display: inline-block;
    padding:3px;
}
.searchMenuLink a{
    display: inline-block;
    top:10px;
    padding:3px;
}
.searchMenu {
    position: absolute;
    top: 60px;
    left: 926px;
    right: 0;
    z-index: 2;
    margin: auto;
    /* background: #333; */
    width: 280px;
    display: none;
}
.searchBtn {
    background: #4F17A8;
    border: none;
    border-radius: 0px 4px 4px 0px;
    color: #fff;
    width: 40px;
    height: 38px;
    outline: none;
    padding: 0;
    position: absolute;
    right: 0;
    bottom: 0;
}

.searchBtn:before {
    background-image: url(../images/icon/search_icon.svg);
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    display: inline-block;
    right: 8px;
    top: 7px;
}

.searchResultBox {
    background: #EDF1F4;
    padding: 15px 24px;
    border-radius: 4px;
    border-bottom: 3px solid #4F17A8;
}

.searchResultBox p span {
    border-left: 1px solid #333;
    margin-left: 20px;
    padding-left: 20px;
    line-height: 3;
}

.searchResultBox__title {
    font-size: 14px;
    font-size: 1.4rem;
    color: #666;
    font-weight: bold;
}

.searchResultBox__note {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.8;
}

.LINEBtn {
    width: 40px;
    height: 40px;
    margin-left: 24px;
}


.GNav {
    background: #EDF1F4;
    color: #333333;
    border-bottom: 3px solid #4F17A8;
}

.GNav__menuOpenBtn {
    position: absolute;
    z-index: 100;
}

.GNav__menuOpenBtn span {
    background: #fff;
    display: block;
    position: absolute;
    transition: .3s ease-in-out;
}

.GNav__menuBtnMenu {
    color: #fff;
}

.GNav__menuOpenBtn.js_gnavMenu-open span {
    background: #fff;
}

.GNav__menuOpenBtn.js_gnavMenu-open span:nth-child(1) {
    transform: rotate(315deg);
}

.GNav__menuOpenBtn.js_gnavMenu-open span:nth-child(2) {
    left: 50%;
    width: 0;
}

.GNav__menuOpenBtn.js_gnavMenu-open span:nth-child(3) {
    transform: rotate(-315deg);
}

.GNav__menu {
    display: none;
}

.GNav__menu .mainMenu__list ul.sub-menu li.mainMenu__list a .new {
    font-size: 12px;
    margin-left: 6px;
    padding: 4px;
    color: #fff;
    background-color: #ff610f;
    vertical-align: top;
}

.outnow {
    pointer-events: none;
    opacity: 0.4;
}

.outnow a {
    display: inline-block;
}

.detailIcon {
    position: relative;
    padding-right: 32px;
    top: -4px;
}

.detailIcon:after {
    background-image: url(../images/icon/detail_icon.svg);
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    display: inline-block;
    right: 0px;
}

.diB,
.acfword,
.acfexcel,
.acfpdf,
.acfpowerpoint {
    display: inline-block;
    position: relative;
}

.acfword:after {
    content: "Word";
    font-weight: bold;
    font-size: 10px;
    font-size: 1.0rem;
    background-color: #185ABD;
    color: #ffffff;
    position: absolute;
    display: inline-block;
    padding: 3px 4px;
    margin-left: 8px;
    border-radius: 4px;
    top: calc(50% - 11px);
}

.acfexcel:after {
    content: "Excel";
    font-weight: bold;
    font-size: 10px;
    font-size: 1.0rem;
    background-color: #107C41;
    color: #ffffff;
    position: absolute;
    display: inline-block;
    padding: 3px 4px;
    margin-left: 8px;
    border-radius: 4px;
    top: calc(50% - 11px);
}

.acfpdf:after {
    content: "PDF";
    font-weight: bold;
    font-size: 10px;
    font-size: 1.0rem;
    background-color: #B40B00;
    color: #ffffff;
    position: absolute;
    display: inline-block;
    padding: 3px 4px;
    margin-left: 8px;
    border-radius: 4px;
    top: calc(50% - 11px);
}

.acfpowerpoint:after {
    content: "PowerPoint";
    font-weight: bold;
    font-size: 10px;
    font-size: 1.0rem;
    background-color: #C43E1C;
    color: #ffffff;
    position: absolute;
    display: inline-block;
    padding: 3px 4px;
    margin-left: 8px;
    border-radius: 4px;
    top: calc(50% - 11px);
}

.date {
    display: inline-block;
    color: #333333;
    padding: 0px;
    margin: 0px 16px 0px 0px;
}

.category {
    margin-left: 8px;
}

.title {
    display: block;
    padding: 0px;
    margin-top: 16px;
    font-weight: bold;
}

.postList {
    padding: 24px 0 16px 0;
    border-bottom: 1px solid #CCCCCC;
}

.postList .new {
    font-size: 12px;
    margin-left: 6px;
    padding: 4px;
    color: #fff;
    background-color: #ff610f;
}

.postList--seminar {
    display: block;
    padding: 0;
    border-top: 2px solid #4F17A8;
    text-decoration: none;
    position: relative;
}

.postList--seminar a {
    text-decoration: none;
}

.postList--seminar__eventEnd {
    display: inline-block;
    background-color: #ccc;
    color: #fff;
    padding: 12px;
}

.postList--seminar__eventBefore {
    display: inline-block;
    color: #4F17A8;
    padding: 12px;
    border-right: 2px solid #4F17A8;
    border-left: 2px solid #4F17A8;
    border-bottom: 2px solid #4F17A8;
}

.postList--seminar__eventStart {
    display: inline-block;
    background-color: #4F17A8;
    color: #fff;
    padding: 12px;
}

.termList--seminar {
    display: inline-block;
    width: 49%;
    margin: 0 2% 16px 0;
    padding: 12px 12px 12px 40px;
    position: relative;
    border: 2px solid #4F17A8;
}

.termList--seminar:nth-child(even) {
    margin: 0;
}

.termList--seminar:before {
    background-image: url(../images/icon/navigate_next_black_24dp.svg);
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    display: inline-block;
    left: 10px;
    top: calc(50% - 12px);
}

.termList--seminar:after {
    background-image: url(../images/icon/navigate_next_black_24dp.svg);
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    display: inline-block;
    left: 17px;
    top: calc(50% - 12px);
}


.businessContents {
    background-color: #fff;
    width: 100%;
    padding: 64px 0;
}

.businessRead {
    letter-spacing: 0.2em;
    font-size: 32px;
    font-size: 3.2rem;
}

.card {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.cardContents {
    width: 47.5%;
    margin: 0px 5% 24px 0px;
    border: 1px solid #CCCCCC;
}

.cardContents:nth-child(even) {
    margin: 0px 0px 24px 0px;
}

.cardContents--link {
    display: block;
    padding: 40px;
}

.cardContentsImg {
    max-width: 160px;
    height: auto;
    display: block;
    margin: 0 auto !important;
}

.cardContentsTaxonomy {
    background-color: #FAFAFA;
    width: 30%;
    padding: 24px;
    margin: 0px 40px 40px 0px;
    border-radius: 4px;
    box-shadow: 0 15px 30px -5px rgba(0, 0, 0, .15), 0 0 5px rgba(0, 0, 0, .1);
    transition: .3s;
}

.cardContentsTaxonomyChild {
    background-color: #FAFAFA;
    width: 30%;
    float: left;
    height: auto;
    padding: 16px 24px;
    margin: 0px 40px 40px 0px;
    border-radius: 4px;
    box-shadow: 0 15px 30px -5px rgba(0, 0, 0, .15), 0 0 5px rgba(0, 0, 0, .1);
    transition: .3s;
}

.cardContents:hover,
.cardContentsTaxonomy:hover,
.cardContentsTaxonomyChild:hover {
    box-shadow: 0 0 3px 0 rgba(0, 0, 0, .12), 0 2px 3px 0 rgba(0, 0, 0, .22);
}

.cardContents a,
.cardContentsTaxonomy a,
.cardContentsTaxonomyChild a {
    text-decoration: none;
}

.advertisingArea {
    padding: 40px 0px;
    border-top: 1px solid rgba(0, 0, 0, .15);
}

.bannerArea {
    display: block;
    width: 100%;
}

.bannerArea--img {
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    padding-right: 16px;
    padding-bottom: 16px;
}

.bannerArea--img:nth-child(5n) {
    padding-right: 0px;
}

.bannerArea--img__link {
    width: 100%;
    margin: 0px auto;
    display: block;
}
.bannerArea--img__link img {
    width:192px;
    height:55px;
    object-fit:cover;
}


.advertisingSideArea {
    padding: 0px;
}

.sideBannerArea--Img {
    height: 55px;
    /*height:auto;*/
    width:100%;
    margin:0;
}


.homeContents .btn {
    display: inline-block;
    color: #ffffff;
    padding: 12px 48px 12px 16px;
    border-radius: 3px;
    background-color: #01579B;
    position: relative;
}

.homeContents .btn:after {
    background-image: url(../image/icon/icon_all-white.svg);
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    display: inline-block;
    right: 16px;
    top: calc(50% - 12px);
}

.columnInformation {
    padding: 64px 0;
    border-bottom: 1px solid rgba(13, 71, 161, 0.4);
}

.columnInformation .read {
    position: relative;
    padding: 10px 32px;
}

.columnInformation .read:before {
    background-image: url(../image/icon/icon_note-blue.svg);
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    display: inline-block;
    left: 0px;
    top: calc(50% - 12px);
}

.columnInformation .post {
    position: relative;
    background-color: #FFFFFF;
    box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.16);
}

.columnInformation .post a:hover {
    text-decoration: none;
}

.columnInformation .post .category {
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.4);
    color: #fff;
    padding: 8px;
    font-size: 12px;
    font-size: 1.2rem;
}

.columnInformation .post img {
    max-height: 180px;
    object-fit: cover;
}

.columnInformation .post img:hover {
    opacity: 0.7;
}

.columnInformation .date {
    display: block;
    color: #1565C0;
    padding: 0px;
    margin: 16px;
}

.columnInformation .title {
    display: inline-block;
    color: #01579B;
    padding: 0px;
    margin: 0px 16px 24px 16px;
    text-decoration: underline;
}

.columnInformation .title:hover {
    text-decoration: none;
}

.columnInformation .classTitle {
    display: block;
    color: #01579B;
    padding: 0px;
    margin: 16px 16px 16px 16px;
    text-decoration: underline;
}

.columnInformation .classTitle:hover {
    text-decoration: none;
}

.columnInformation .teacher {
    display: block;
    padding: 0 16px;
}

.columnInformation .classroom {
    display: block;
    padding: 0 16px 16px 16px;
}

.columnInformation .subject {
    color: #1565C0;
    display: block;
    padding: 0 16px 24px 16px;
}

.bottomBorder {
    padding: 0 0 10px;
    margin-top: 80px;
    margin-bottom: 32px;
}

.bottomBorder span {
    font-size: 16px;
    font-size: 1.6rem;
}

.linkButton {
    border: 1px solid #01579B;
    border-radius: 3px;
    padding: 10px 16px;
    display: inline-block;
}

.wp-pagenavi {
    text-align: center;
    margin: 40px 0;
}

.wp-pagenavi a,
.wp-pagenavi span {
    font-weight: normal;
    border: 1px solid #4F17A8;
    padding: 3px 10px !important;
    margin: 0 4px;
    display: inline-block;
    text-decoration: none;
}

.wp-pagenavi span.current {
    background-color:#4F17A8;
    color:#fff;
}

.wp-pagenavi a:hover {
    text-decoration: underline;
}

.select__title {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 2;
    font-weight: bold;
    margin: 8px 0px;
}

.select__title--small {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 2;
    font-weight: bold;
    color: #999;
}

.select li label {
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 10px;
}

.select li label span {
    margin-left: 8px;
    position: relative;
    bottom: 5px;
}

.special li label.feas_clevel_01 input,
.special li label.feas_clevel_02 input {
    display: none;
}

.special.select li label.feas_clevel_01 span,
.special.select li label.feas_clevel_02 span {
    margin-left: 0px;
    position: relative;
    bottom: 0px;
}

.special li label.feas_clevel_01 {
    display: block;
    width: 100%;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    margin-right: 0;
    margin-top: 16px;
    margin-bottom: 0px;
    pointer-events: none;
}

.special li label.feas_clevel_02 {
    display: block;
    width: 100%;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 2;
    font-weight: bold;
    color: #666;
    margin-top: 8px;
    margin-bottom: 8px;
    pointer-events: none;
}


#feas-searchform-0 select {
    width: 100%;
    height: 250px;
    border: 1px solid #1976D2;
}

#feas-searchform-0 select .feas_clevel_01 {
    background-color: #efefef;
}

#feas-searchform-0 select .feas_clevel_02 {
    background-color: #F2F5F8;
}

.corporateSponsors ul {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    /* justify-content: space-between; */
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top:0px;
    margin-bottom:0px;
    margin-right:0px;
    margin-left:0 !important;
}
.corporateSponsors li {
    list-style-type:none !important;
    margin-right:4% !important;
    text-align:center;
    position:relative;
    border: 1px solid #DCDCDC;
    overflow: hidden;
    padding:16px;
}
.corporateSponsors li img {
    margin:24px auto !Important;
    max-height:40px;
}
.corporateSponsorsText {
   /*position:absolute;
    left:0%;
    bottom:0%;*/
}
.detailBox table {
    width: 100%;
}

.detailBox table thead tr th.lead {
    width: 35%;
}

.detailBox table thead tr th.equal {
    width: 20%;
}

.detailBox table tbody tr {
    border-top: 1px solid #ccc;
}

.detailBox table tbody tr td {
    padding: 15px 0;
}

.detailBox li {
    display: inline-block;
    margin-right: 8px;
    margin-bottom: 8px;
}

.detailBox ul.sns li {
    display: block;
    margin-bottom: 15px;
}

.detailBox ul.sns li a {
    padding-left: 40px;
    text-decoration: underline;
}

.detailBox .icon_backLine span {
    background: #F2F5F8;
    padding-right: 10px;
    padding-right: 1rem;
}

.detailBox .icon_arrow_blue {
    display: block;
    text-decoration: underline;
    padding-left: 30px;
}

.accordion {
    margin-bottom: 120px;
}

.accordion > ul {
    width: 100%;
    padding: 0;
}

.accordion li {
    position: relative;
    list-style: none;
}

.accordion > ul > li:last-child {
    border-bottom: 1px solid #ccc;
}

.accordion > ul > li > div {
    display: none;
    text-align: left;
    padding: 0 0 20px 0px;
}

.accordion > ul > li {
    display: block;
    text-decoration: none;
    cursor: pointer;
    padding: 12px 0;
    position: relative;
    border-top: 1px solid #ccc;
}

.accordion li .accordion_icon {
    position: absolute;
    width: 30px;
    height: 30px;
    top: 10px;
    margin: auto 0;
    right: 0;
    padding: 10px;
}

.accordion li .accordion_icon,
.accordion li .accordion_icon span {
    display: inline-block;
    transition: all .3s;
    box-sizing: border-box;
}

.accordion li .accordion_icon.active span:nth-of-type(1) {
    display: none;
}

.accordion li .accordion_icon.active span:nth-of-type(2) {
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
}

.accordion li .accordion_icon span:nth-of-type(1) {
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
}

.accordion li .accordion_icon span:nth-of-type(2) {
    transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
}

.accordion li .accordion_icon span {
    position: absolute;
    width: 60%;
    height: 2px;
    background-color: #1976D2;
    top: 15px;
    right: 6px;
}

.accordionBtn {
    display: table;
    margin: 30px auto 0;
    background: #0e48a0;
    color: #fff;
    padding: 20px;
    border-radius: 3px;
    padding-left: 40px;
}

.clearBtn {
    margin: 15px auto 0;
    font-size: 14px;
    font-size: 1.4rem;
    display: table;
    text-decoration: underline;
}

.breadcrumb > div > span {
    display: inline-block;
    height: 40px;
    line-height: 40px;
    padding: 0 16px 0px 0px;
    position: relative;
    font-size: 12px;
    font-size: 1.2rem;
}

.breadcrumb span a span,
.breadcrumb span span {
    font-size: 12px;
}

.breadcrumb span a span {
    color: #333333;
}

.breadcrumb span:first-of-type a {
    text-decoration: none;
}

.breadcrumb span:first-of-type a:hover {
    text-decoration: underline;
}

.breadcrumb span:first-of-type a span {
    color: #333333;
    font-weight: bold;
}

.breadcrumb > div > span + span {
    padding-left: 26px;
}

.breadcrumb > div > span + span:before {
    content: "";
    height: 8px;
    left: 0;
    top: 16px;
    position: absolute;
    width: 8px;
    border: 1px solid;
    border-color: transparent transparent #999 #999;
    transform: rotate(-135deg);
}

.prevLink span {
    border: 2px solid #4F17A8;
    border-radius: 3px;
    font-size: 14px;
    font-size: 1.4rem;
    padding: 10px 15px;
}

.contentBoxSide {
    width: 240px;
    float: right;
    margin-top: 80px;
    margin-bottom: 40px;
    padding: 0 12px;
}

.contentBoxSide section {
    margin-bottom: 24px;
    background-color: #F9F9F9;
    /*padding: 24px;*/
}

.contentBoxSide section ul li a {
    font-weight: bold;
    text-decoration: underline;
}

.contentBoxSide section ul li a:hover {
    text-decoration: none;
}

@media screen and (max-width: 1200px) {
    h2 {
        font-size: 22px;
        font-weight: bold;
        line-height: 37px;
    }

    h3 {
        font-size: 18px;
        font-weight: bold;
        line-height: 31px;
    }

    .mtXS,
    .mtXSSp {
        margin-top: 4px !important;
    }

    .mtS,
    .mtSSp {
        margin-top: 8px !important;
    }

    .mtM,
    .mtMSp {
        margin-top: 16px !important;
    }

    .mtL,
    .mtLSp {
        margin-top: 24px !important;
    }

    .mtXL,
    .mtXLSp {
        margin-top: 32px !important;
    }

    .mtXXL,
    .mtXXLSp {
        margin-top: 40px !important;
    }

    .mbXS,
    .mbXSSp {
        margin-bottom: 4px !important;
    }

    .mbS,
    .mbSSp {
        margin-bottom: 8px !important;
    }

    .mbM,
    .mbMSp {
        margin-bottom: 16px !important;
    }

    .mbL,
    .mbLSp {
        margin-bottom: 24px !important;
    }

    .mbXL,
    .mbXLSp {
        margin-bottom: 32px !important;
    }

    .mbXXL,
    .mbXXLSp {
        margin-bottom: 40px !important;
    }

    .mlXS,
    .mlXSSp {
        margin-left: 4px !important;
    }

    .mlS,
    .mlSSp {
        margin-left: 8px !important;
    }

    .mlM,
    .mlMSp {
        margin-left: 16px !important;
    }

    .mlL,
    .mlLSp {
        margin-left: 24px !important;
    }

    .mlXL,
    .mlXLSp {
        margin-left: 32px !important;
    }

    .mrXS,
    .mrXSSp {
        margin-right: 4px !important;
    }

    .mrS,
    .mrSSp {
        margin-right: 8px !important;
    }

    .mrM,
    .mrMSp {
        margin-right: 16px !important;
    }

    .mrL,
    .mrLSp {
        margin-right: 24px !important;
    }

    .mrXL,
    .mrXLSp {
        margin-right: 32px !important;
    }

    .ptXS,
    .ptXSSp {
        padding-top: 4px !important;
    }

    .ptS,
    .ptSSp {
        padding-top: 8px !important;
    }

    .ptM,
    .ptMSp {
        padding-top: 16px !important;
    }

    .ptL,
    .ptLSp {
        padding-top: 24px !important;
    }

    .ptXL,
    .ptXLSp {
        padding-top: 32px !important;
    }

    .ptXXL,
    .ptXXLSp {
        padding-top: 40px !important;
    }

    .pbXS,
    .pbXSSp {
        padding-bottom: 4px !important;
    }

    .pbS,
    .pbSSp {
        padding-bottom: 8px !important;
    }

    .pbM,
    .pbMSp {
        padding-bottom: 16px !important;
    }

    .pbL,
    .pbLSp {
        padding-bottom: 24px !important;
    }

    .pbXL,
    .pbXLSp {
        padding-bottom: 32px !important;
    }

    .pbXXL,
    .pbXXLSp {
        padding-bottom: 40px !important;
    }

    .pbXXL,
    .pbXXLSp {
        padding-bottom: 40px !important;
    }

    .pbLRM,
    .pbLRMPc {
        padding-right: 16px !important;
        padding-left: 16px !important;
    }

    .icon.icon_home:before {
        width: 20px;
        height: 20px;
        margin: -20px auto 0;
    }

    .icon.icon_school_info:before {
        width: 22px;
        height: 22px;
        margin: -28px auto 0;
    }

    .icon.icon_school_head:before {
        width: 28px;
        height: 28px;
    }

    .icon.icon_school_news:before {
        width: 22px;
        height: 22px;
        margin: -28px auto 0;
    }

    .icon.icon_column:before {
        width: 22px;
        height: 22px;
        margin: -28px auto 0;
    }

    .icon.icon_school_movie:before {
        width: 22px;
        height: 22px;
        margin: -28px auto 0;
    }

    .icon.icon_exam:before {
        width: 22px;
        height: 22px;
        margin: -28px auto 0;
    }

    .icon.icon_search:after {
        width: 22px;
        height: 22px;
    }

    .icon.icon_search-fr:before {
        width: 22px;
        height: 22px;
        margin-left: -15px;
    }

    .icon.icon_search_again:after {
        width: 22px;
        height: 22px;
    }

    .icon.icon_search_btn:before {
        width: 22px;
        height: 22px;
    }

    .icon.icon_map:before {
        width: 22px;
        height: 22px;
    }

    .icon.icon_double:after {
        margin-top: -38px;
    }

    .hideSp {
        display: none !important;
    }

    .textXS,
    .textXSSp {
        font-size: 1rem;
    }

    .textS,
    .textSSp {
        font-size: 1.2rem;
    }

    .textM,
    .textMSp {
        font-size: 1.4rem;
    }

    .textL,
    .textLSp {
        font-size: 1.6rem;
    }

    .textXL,
    .textXLSp {
        font-size: 1.8rem;
    }

    .textXXL,
    .textXXLSp {
        font-size: 2rem;
    }

    .textXXXL,
    .textXXXLSp {
        font-size: 2.4rem;
    }

    .taLSp {
        text-align: left !important;
    }

    .taCSp {
        text-align: center !important;
    }

    .taRSp {
        text-align: right !important;
    }

    .section {
        padding: 60px 0;
    }

    .fLSp {
        float: left;
    }

    .fRSp {
        float: right;
    }

    .w50,
    .w50Sp {
        width: 50%;
    }

    .w25,
    .w25Sp {
        width: 25%;
    }

    .fBoxSp {
        margin-left: -4%;
    }

    .fAllSp {
        float: left;
        width: 96%;
        margin-left: 4%;
    }

    .f1of2Sp {
        float: left;
        width: 46%;
        margin-left: 4%;
    }

    .f1of3Sp {
        float: left;
        width: 29.3333%;
        margin-left: 4%;
    }

    .f2of3Sp {
        float: left;
        width: 62.6666%;
        margin-left: 4%;
    }

    .f1of4Sp {
        float: left;
        width: 21%;
        margin-left: 4%;
    }

    .f3of4Sp {
        float: left;
        width: 71%;
        margin-left: 4%;
    }

    .f1of5Sp {
        float: left;
        width: 16%;
        margin-left: 4%;
    }

    .f2of5Sp {
        float: left;
        width: 36%;
        margin-left: 4%;
    }

    .f3of5Sp {
        float: left;
        width: 56%;
        margin-left: 4%;
    }

    .f4of5Sp {
        float: left;
        width: 76%;
        margin-left: 4%;
    }

    .f1of6Sp {
        float: left;
        width: 12.6666%;
        margin-left: 4%;
    }

    .f5of6Sp {
        float: left;
        width: 79.3333%;
        margin-left: 4%;
    }

    .f1of7Sp {
        float: left;
        width: 10.2857%;
        margin-left: 4%;
    }

    .f2of7Sp {
        float: left;
        width: 24.5714%;
        margin-left: 4%;
    }

    .f3of7Sp {
        float: left;
        width: 38.8571%;
        margin-left: 4%;
    }

    .f4of7Sp {
        float: left;
        width: 53.1428%;
        margin-left: 4%;
    }

    .f5of7Sp {
        float: left;
        width: 67.4285%;
        margin-left: 4%;
    }

    .f6of7Sp {
        float: left;
        width: 81.7142%;
        margin-left: 4%;
    }

    .f1of8Sp {
        float: left;
        width: 8.5%;
        margin-left: 4%;
    }

    .f3of8Sp {
        float: left;
        width: 33.5%;
        margin-left: 4%;
    }

    .flexBoxSp {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .contentBox,
    .contentBoxSp,
    .contentBoxM,
    .contentBoxMSp,
    .contentBoxL,
    .contentBoxLSp {
        margin-left: 5% !important;
        margin-right: 5% !important;
    }

    .postListBussinessTitle {
        display: block;
        padding: 0px 0px 0px 40px;
        position: relative;
        margin: 0;
        max-width: 290px;
    }

    footer {
        border-top: 4px solid #4F17A8;
    }

    .Footer__body {
        padding: 0 5%;
    }

    .Footer__copyYear {
        width: 100%;
        font-size: 1.2rem;
    }

    .ftsmap {
        width: 100%;
        padding: 16px 0 30px;
    }

    .ftsmap .bottomLine {
        border-bottom: 1px solid #fff;
    }

    #header {
        transition: .5s;
        width: 100%;
    }

    .headerTop {
        width: calc(100% - 32px);
        height: 40px;
        margin: 28px 16px;
    }

    #headerAfterPD {
        display: block;
        padding-bottom: 96px;
    }

    .headerTop__brandName a {
        /*width: 133px;
        height: 50px;*/
        width: 140px;
        height: 60px;
    }

    .GNav__menu {
        /*height: 64px;*/
    }

    .GNav__menuOpenBtn {
        background: #4F17A8;
        height: 64px;
        width: 64px;
        right: 16px;
        top: 16px;
        border-radius: 4px;
    }

    .GNav__menuOpenBtn span {
        height: 2px;
        left: calc(50% - 16px);
    }

    .GNav__menuOpenBtn span:nth-child(1) {
        top: 14px;
        width: 32px;
    }

    .GNav__menuOpenBtn span:nth-child(2) {
        top: 22px;
        width: 32px;
    }

    .GNav__menuOpenBtn span:nth-child(3) {
        top: 30px;
        width: 32px;
    }

    .GNav__menuBtnMenu {
        bottom: 6px;
        font-size: 1.2rem;
        position: absolute;
        text-align: center;
        width: 100%;
    }

    .GNav__menuBtnMenu.js_menuBtnMenu-open {
        color: #1976D2;
    }

    .GNav__menuOpenBtn.js_gnavMenu-open span:nth-child(1) {
        top: 21px;
        width: 32px;
        left: 16px;
    }

    .GNav__menuOpenBtn.js_gnavMenu-open span:nth-child(3) {
        top: 21px;
        width: 32px;
        left: 16px;
    }

    .GNav__menuCloseBtn {
        height: 64px;
        right: 0;
        top: 0;
        width: 64px;
        position: absolute;
        z-index: 100;
    }

    .GNav__menu {
        width: 100%;
        background: #4F17A8;
        height: 100vh;
        margin: 0px;
        overflow-y: scroll;
    }

    .GNav__menu .mainMenu {
        display: block;
    }

    .GNav__menu .mainMenu__list {
        width: 100%
    }

    .GNav__menu .mainMenu__list a {
        color: #fff;
        font-size: 16px;
        font-weight: bold;
        display: block;
        padding: 16px 0px 16px 16px;
        text-decoration: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    }

    .GNav__menu .mainMenu__list > .sub-menuWrap {
        display: none;
    }

    .GNav__menu .mainMenuClose {
        position: relative;
        color: #fff;
        font-size: 18px;
        font-size: 1.8rem;
        font-weight: bold;
        display: block;
        padding: 16px 0px 16px 16px;
        text-decoration: none;
        border-top: 1px solid rgba(255, 255, 255, 0.4);
        border-bottom: 1px solid rgba(255, 255, 255, 0.4);
        margin-bottom: 100px;
    }

    .GNav__menu .mainMenuClose:before {
        content: '';
        top: 28px;
        width: 28px;
        right: 16px;
        height: 2px;
        background-color: #fff;
        display: block;
        position: absolute;
        transform: rotate(-315deg);
    }

    .GNav__menu .mainMenuClose:after {
        content: '';
        top: 28px;
        width: 28px;
        right: 16px;
        height: 2px;
        background-color: #fff;
        display: block;
        position: absolute;
        transform: rotate(315deg);
    }

    .GNav__menu .mainMenu .badge {
        position: absolute;
        top: 15px;
        border: none;
    }

    .GNav__menu .mainMenu .badge a {
        text-decoration: none;
        position: relative;
    }

    .GNav__menu .mainMenu .badge a:after {
        width: 12px;
        height: 12px;
        display: block;
        background-image: url(../image/icon/icon_window_white.png);
        margin: auto;
        bottom: 0;
        top: 0;
        right: -25px;
    }

    .GNav__menu .mainMenu__list.js-dropdown {
        cursor: pointer;
        transition: 0.3s;
        position: relative;
    }

    .GNav__menu .mainMenu__list.js-dropdown:after {
        background-image: url(../images/icon/icon-arrow-downsp.svg);
        content: "";
        position: absolute;
        width: 24px;
        height: 14px;
        display: inline-block;
        left: calc(100% - 50px);
        top: 24px;
    }

    .GNav__menu .mainMenu__list.js-dropdown.selected {
        /*background-color:#00695C;*/
    }

    .GNav__menu .mainMenu__list.js-dropdown.selected:after {
        background-image: url(../images/icon/icon-arrow-upsp.svg);
    }

    .GNav__menu .mainMenu__list ul.sub-menu {
        margin: auto;
        background: #fff;
        width: 100%;
        overflow: hidden;
        display: block;
    }

    .GNav__menu .mainMenu__list ul.sub-menu li.mainMenu__list {
        display: inline-block;
        margin: 0;
        width: 100%;
        float: left;
        border-bottom: 1px solid #4F17A8;
        border-right: 0px;
        border-left: 0px;
        text-align: left;
    }

    .GNav__menu .mainMenu__list ul.sub-menu li.mainMenu__list a {
        margin: 0 0 0 16px;
        padding: 0;
        line-height: 48px;
        color: #4F17A8;
        font-weight: bold;
        font-size: 16px;
        font-size: 1.6rem;
    }

    .GNav__menu .mainMenu__list ul.sub-menu li.mainMenu__list ul.sub-menu li.mainMenu__list {
        margin-left: 16px;
        border-bottom: 0px;
    }

    .GNav__menu .mainMenu__list ul.sub-menu li.mainMenu__list ul.sub-menu li.mainMenu__list a {
        line-height: 40px;
        font-size: 14px;
        font-size: 1.4rem;
    }

    .cardContents {
        width: 100%;
        padding: 0;
        margin: 0px 0px 24px 0px;
    }

    .cardContentsTaxonomy {
        width: calc(50% - 8px);
        margin: 0px 16px 16px 0px;
    }

    .cardContentsTaxonomyChild {
        width: calc(50% - 8px);
        margin: 0px 16px 16px 0px;
    }

    .cardContents:nth-child(even),
    .cardContentsTaxonomy:nth-child(even),
    .cardContentsTaxonomyChild:nth-child(even) {
        margin-right: 0px;
    }

    .contentBoxSide section {
        padding: 16px;
    }

    .sideBannerArea li {
        display: inline-block;
        width: 100%;
        text-align: center;
        vertical-align: middle;
        padding-right: 0px;
        padding-bottom: 0px;
        margin-right: 16px;
        margin-bottom: 16px;
    }

    .sideBannerArea li:nth-child(even) {
        margin-right: 0px;
    }

    .footerMenuFirst {
        padding-bottom: 40px;
        border-bottom: 1px solid #333;
    }

    .footerMenuSecond {
        padding: 40px 0px;
        border-bottom: 1px solid #333;
    }

    .footerMenuThird {
        padding: 40px 0px;
        border-bottom: 1px solid #333;
    }

    .footerMenuFourth {
        padding-top: 40px;
    }

    .mainVisual {
        width: 100%;
        height: 300px;
        position: relative;
    }

    .mainVisual--Img {
        position: absolute;
        top: 0;
        /*z-index: -1;*/
    }

    .mainVisual--Img img {
        height: 300px;
        object-fit: cover;
        overflow: hidden;
    }

    .mainVisual--mainBox {
        /*position: relative;:*/
    }
    .mainVisual--slidrBox {
        position: absolute;
        height:300px;
        width:90%;
    }
    .mainVisual--mainArea {
        position: absolute;
        bottom: 0px;
        left: 0;
        width: 100%;
        height: auto;
        background-color: rgba(255, 255, 255, 0.65);
        margin: 0;
        padding: 16px 16px 8px;
        z-index:1;
    }

    .mainVisual--slide {
        padding-bottom: 10px;
    }

    .mainVisual--mainArea span {
        color: #fff;
        background-color: #333333;
        padding: 10px 16px;
        font-size: 12px;
        display: inline-block;
    }

    .mainVisual--mainArea h2 {
        color: #4F17A8;
        font-size: 16px;
        line-height:24px;
        font-weight: bold;
        margin: 8px 0 0px;
    }

    .mainVisual--mainArea p {
        color: #333333;
        font-size: 14px;
        font-weight: bold;
        line-height: 24px;
        margin: 0 0 24px 0;
    }

    .mainVisual--mainArea a {
        color: #4F17A8;
        font-size: 16px;
        font-weight: bold;
        position: relative;
        text-decoration:underline;
        text-underline-offset: 3px;
        text-decoration-color: #4F17A8;
    }

/*
    .mainVisual--mainArea a:before {
        content: "";
        position: absolute;
        width: 100%;
        height: 2px;
        bottom: 2px;
        background-color: #4F17A8;
    }
*/
    .mainVisual--mainArea .bx-wrapper .bx-prev {
        display: block;
        left: -40px;
        width: 40px;
        height: 40px;
        background: #333333;
        z-index: 99;
    }

    .mainVisual--mainArea .bx-wrapper .bx-prev::after {
        content: "";
        top: 15px;
        right: 13px;
        width: 10px;
        height: 10px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        -webkit-transform: rotate(225deg);
        transform: rotate(225deg);
        position: absolute;
    }

    .mainVisual--mainArea .bx-wrapper .bx-next {
        display: block;
        right: -40px;
        width: 40px;
        height: 40px;
        background: #333333;
        z-index: 99;
    }

    .mainVisual--mainArea .bx-wrapper .bx-next::after {
        content: "";
        top: 15px;
        left: 13px;
        width: 10px;
        height: 10px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        position: absolute;
    }

    .mainVisual--sideBox {

    }

    .mainVisual--sideArea {
        width: 100%;
        height: auto;
        padding: 0px;
    }

    .mainVisual--sideArea .sideBannerArea li,
    .bannerArea li {
        display: inline-block;
        width: calc(50% - 8px);
        text-align: center;
        vertical-align: middle;
        padding-right: 0px;
        padding-bottom: 0px;
        margin-right: 8px;
        margin-bottom: 16px;
    }

    .mainVisual--sideArea .sideBannerArea li:nth-child(even),
    .bannerArea li:nth-child(even) {
        margin-right: 0px;
    }

    .advertisingSideArea .sideBannerArea li {
        display: inline-block;
        width: 100%;
        text-align: center;
        vertical-align: middle;
        padding-right: 0px;
        padding-bottom: 0px;
        margin-right: 0px;
        margin-bottom: 16px;
    }


    .searchBox {
        width: 100%;
        margin: 0 0 0 16px;
    }

    .searchArea {
        width: 100%;
        height: 38px;
        margin: 0;
        padding: 12px 14px;
        border: none;
        border-radius: 4px 0 0 4px;
    }

    .searchDate {
        margin: 0;
    }

    .acfword:after,
    .acfexcel:after,
    .acfpdf:after,
    .acfpowerpoint:after {
        position: relative;
        margin-left: 16px;
    }
    .corporateSponsors ul {
        display: block;
    }
    .corporateSponsors li {
        list-style-type:none !important;
        margin-left:0% !important;
        text-align:left;
    }
    .corporateSponsors li img {
        margin:16px 0 !Important;
    }
    .corporateSponsorsText {
        position:static;
    }
    .detailBox dl {
        border-top: 1px solid #ccc;
    }

    .detailBox dl dt {
        padding: 5px 0;
    }

    .detailBox dl dd {
        border-bottom: 1px solid #ccc;
        padding-bottom: 5px;
    }

    .detailBox dl dd.double {
        border-bottom: double 1px #ccc;
    }

    .detailBox dl.course dt {
        float: left;
        padding: 15px 0;
    }

    .detailBox dl.course dd {
        padding: 15px 0 15px 6em;
    }

    .detailBox table {
        display: block;
        overflow-x: scroll;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
    }

    .detailBox table th {
        padding: 15px 30px 15px 0;
    }

    .detailBox table tbody tr td {
        padding: 15px 30px 15px 0;
    }

    .detailBox ul.optional {
        display: block;
    }

    .detailBox ul.optional li {
        border: 1px solid #01579B;
        width: 100%;
        border-radius: 3px;
        padding: 10px 0 10px 10px;
    }

    .detailBox ul.optional li a {
        display: block;
    }

    .accordion {
        margin-bottom: 40px;
    }

    .breadcrumb {
        display: none;
    }

    .cmsContents h1 {
        font-size: 28px;
        font-size: 2.8rem;
    }

    .cmsContents h2 {
        font-size: 24px;
        font-size: 2.4rem;
    }

    .cmsContents h3 {
        font-size: 20px;
        font-size: 2.0rem;
    }

    .cmsContents h4 {
        font-size: 18px;
        font-size: 1.8rem;
    }

    .cmsContents h5 {
        font-size: 16px;
        font-size: 1.6rem;
    }

    .cmsContents h6 {
        font-size: 16px;
        font-size: 1.6rem;
    }

    .cmsContents .wrap_scroll_table {
        width: 320px;
        overflow-x: scroll;
        white-space: nowrap;
    }

    .cmsContents .wrap_scroll_table::-webkit-scrollbar {
        　　
        height: 5px;
    }

    .cmsContents .wrap_scroll_table::-webkit-scrollbar-track {
        background: #333;
    }

    .cmsContents .wrap_scroll_table::-webkit-scrollbar-thumb {
        background: #999;
    }

    .cmsContents table {

    }

    .cmsContents table th,
    .cmsContents table td {
        padding: 12px;
    }

    .contentBoxSide {
        width: 100%;
        margin-bottom: 0px;
        float: none;
        padding:0px;
    }

    .google_map {
        position: relative;
        width: 100%;
        height: 0;
        padding-top: 75%;
    }

    iframe {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: none;
        display: block;
    }
    .searchMenu {
        position: static;
        z-index: 2;
        margin: 16px 0;
        width: 90%;
        display: block;
    }
}

@media screen and (min-width: 1201px) {
    .w50,
    .w50Pc {
        width: 50%;
    }

    .w25,
    .w25Pc {
        width: 25%;
    }

    .mtXS,
    .mtXSPc {
        margin-top: 8px !important;
    }

    .mtS,
    .mtSPc {
        margin-top: 16px !important;
    }

    .mtM,
    .mtMPc {
        margin-top: 24px !important;
    }

    .mtL,
    .mtLPc {
        margin-top: 32px !important;
    }

    .mtXL,
    .mtXLPc {
        margin-top: 40px !important;
    }

    .mtXXL,
    .mtXXLPc {
        margin-top: 64px !important;
    }

    .mbXS,
    .mbXSPc {
        margin-bottom: 8px !important;
    }

    .mbS,
    .mbSPc {
        margin-bottom: 16px !important;
    }

    .mbM,
    .mbMPc {
        margin-bottom: 24px !important;
    }

    .mbL,
    .mbLPc {
        margin-bottom: 32px !important;
    }

    .mbXL,
    .mbXLPc {
        margin-bottom: 40px !important;
    }

    .mbXXL,
    .mbXXLPc {
        margin-bottom: 64px !important;
    }

    .mlXS,
    .mlXSPc {
        margin-left: 8px !important;
    }

    .mlS,
    .mlSPc {
        margin-left: 16px !important;
    }

    .mlM,
    .mlMPc {
        margin-left: 24px !important;
    }

    .mlL,
    .mtlPc {
        margin-left: 32px !important;
    }

    .mlXL,
    .mlXLPc {
        margin-left: 40px !important;
    }

    .mrXS,
    .mrXSSPc {
        margin-right: 8px !important;
    }

    .mrS,
    .mrSPc {
        margin-right: 16px !important;
    }

    .mrM,
    .mrMPc {
        margin-right: 24px !important;
    }

    .mrL,
    .mrLPc {
        margin-right: 32px !important;
    }

    .mrXL,
    .mrXLPc {
        margin-right: 40px !important;
    }

    .ptXS,
    .ptXSPc {
        padding-top: 8px !important;
    }

    .ptS,
    .ptSPc {
        padding-top: 16px !important;
    }

    .ptM,
    .ptMPc {
        padding-top: 24px !important;
    }

    .ptL,
    .ptLPc {
        padding-top: 32px !important;
    }

    .ptXL,
    .ptXLPc {
        padding-top: 40px !important;
    }

    .ptXXL,
    .ptXXLPc {
        padding-top: 64px !important;
    }

    .pbXS,
    .pbXSPc {
        padding-bottom: 8px !important;
    }

    .pbS,
    .pbSPc {
        padding-bottom: 16px !important;
    }

    .pbM,
    .pbMPc {
        padding-bottom: 24px !important;
    }

    .pbL,
    .pbLPc {
        padding-bottom: 32px !important;
    }

    .pbXL,
    .pbXLPc {
        padding-bottom: 40px !important;
    }

    .pbXXL,
    .pbXXLPc {
        padding-bottom: 64px !important;
    }

    .pbLRM,
    .pbLRMPc {
        padding-right: 16px !important;
        padding-left: 16px !important;
    }

    .hidePc {
        display: none !important;
    }

    .textXS,
    .textXSPc {
        font-size: 1.2rem;
    }

    .textS,
    .textSPc {
        font-size: 1.4rem;
    }

    .textM,
    .textMPc {
        font-size: 1.6rem;
    }

    .textL,
    .textLPc {
        font-size: 1.8rem;
    }

    .textXL,
    .textXLPc {
        font-size: 2.4rem;
    }

    .textXXL,
    .textXXLPc {
        font-size: 3.2rem;
    }

    .textXXXL,
    .textXXXLPc {
        font-size: 4.2rem;
    }

    .textTax,
    .textTaxPc {
        font-size: 2.0rem !important;
    }

    .taLPc {
        text-align: left !important;
    }

    .taCPc {
        text-align: center !important;
    }

    .taRPc {
        text-align: right !important;
    }

    .wrapper {
        min-width: 1200px;
    }

    .section {
        padding: 60px 0;
    }

    .fLPc {
        float: left;
    }

    .fRPc {
        float: right !important;
    }

    .fBoxPc {
        margin-left: -4%;
    }

    .fAllPc {
        float: left;
        width: 96%;
        margin-left: 4%;
    }

    .f1of2Pc {
        float: left;
        width: 46%;
        margin-left: 4%;
    }

    .f1of3Pc {
        float: left;
        width: 29.3333%;
        margin-left: 4%;
    }

    .f2of3Pc {
        float: left;
        width: 62.6666%;
        margin-left: 4%;
    }

    .f1of4Pc {
        float: left;
        width: 21%;
        margin-left: 4%;
    }

    .f3of4Pc {
        float: left;
        width: 71%;
        margin-left: 4%;
    }

    .f1of5Pc {
        float: left;
        width: 16%;
        margin-left: 4%;
    }

    .f2of5Pc {
        float: left;
        width: 36%;
        margin-left: 4%;
    }

    .f3of5Pc {
        float: left;
        width: 56%;
        margin-left: 4%;
    }

    .f4of5Pc {
        float: left;
        width: 76%;
        margin-left: 4%;
    }

    .f1of6Pc {
        float: left;
        width: 12.6666%;
        margin-left: 4%;
    }

    .f5of6Pc {
        float: left;
        width: 79.3333%;
        margin-left: 4%;
    }

    .f1of7Pc {
        float: left;
        width: 10.2857%;
        margin-left: 4%;
    }

    .f2of7Pc {
        float: left;
        width: 24.5714%;
        margin-left: 4%;
    }

    .f3of7Pc {
        float: left;
        width: 38.8571%;
        margin-left: 4%;
    }

    .f4of7Pc {
        float: left;
        width: 53.1428%;
        margin-left: 4%;
    }

    .f5of7Pc {
        float: left;
        width: 67.4285%;
        margin-left: 4%;
    }

    .f6of7Pc {
        float: left;
        width: 81.7142%;
        margin-left: 4%;
    }

    .f1of8Pc {
        float: left;
        width: 9.5%;
        margin-left: 4%;
    }

    .f3of8Pc {
        float: left;
        width: 33.5%;
        margin-left: 4%;
    }

    .flexBoxPc {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .contentBox,
    .contentBoxPc {
        width: 1200px;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 0;
    }

    .contentBoxM,
    .contentBoxMPc {
        width: 880px;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 0;
    }

    .contentBoxL,
    .contentBoxLPc {
        width: 1000px;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 0;
    }

    .contentBoxL,
    .contentBoxLPc {
        width: 1000px;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 0;
    }

    #header {
        transition: .5s;
        min-width: 1200px;
    }

    .headerTop {
        width: 1200px;
        margin: 20px auto;
        height: 50px;
    }

    #headerAfterPD {
        display: block;
        padding-bottom: 153px;
    }

    .headerTop__brandName a {
        padding-left: 133px;
        /*width: 133px;
        height: 50px;*/
        /width: 140px;
        height: 65px;
    }

    html.fontL .headerTop__brandName a {
        padding-left: 203px;
        width: 203px;
        height: 40px;
    }

    .GNav__menu {
        height: 60px;
        width: 1200px;
        margin: 0 auto;
        position: relative;
    }

    .GNav__menuOpenBtn {
        display: none;
    }

    .GNav__menu {
        display: block;
    }

    .GNav__menu .mainMenu {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
        /* justify-content: space-between; */
        padding: 0;
    }

    .GNav__menu .mainMenu__list {
        text-align: left;
        padding: 0 12px 0 12px;
    }

    .GNav__menu .mainMenu__list:last-child {
        padding: 0 12px 0 12px;
    }

    .GNav__menu .mainMenu__list a {
        display: block;
        position: relative;
        line-height: 60px;
        cursor: pointer;
        padding: 0px;
        color: #333;
        font-weight: bold;
        text-decoration: none;
        /*user-select: none;
            -moz-user-select: none;
            -webkit-user-select: none;
            -ms-user-select: none;*/
    }

    .GNav__menu .mainMenu__list a:hover {
        opacity: 0.4;
        text-decoration: none;
    }

    .GNav__menu .mainMenu__list.js-dropdown {
        cursor: pointer;
        transition: 0.3s;
    }

    .GNav__menu .mainMenu__list.js-dropdown.selected {
        background-color: #4F17A8;
    }

    .GNav__menu .mainMenu__list.js-dropdown.selected a {
        color: #fff;
    }

    .GNav__menu .mainMenu__list > .sub-menuWrap {
        display: none;
    }

    .GNav__menu .mainMenu__list.selected > .sub-menuWrap {
        width: 100vw;
        height: auto;
        left: 0;
        right: 0;
        z-index: -1;
        margin-right: calc(((100vw - 100%) / 2) * -1);
        margin-left: calc(((100vw - 100%) / 2) * -1);
        position: absolute;
        background: #fff;
        box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .16);
    }

    .GNav__menu .mainMenu__list.selected ul.sub-menu {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: -moz-flex;
        display: flex;
        -webkit-box-lines: multiple;
        -moz-box-lines: multiple;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .GNav__menu .mainMenu__list ul.sub-menu {
        position: relative;
        left: 0;
        right: 0;
        z-index: 2;
        width: 1200px;
        margin: 0 auto;
        padding-bottom: 48px;
        display: none;
    }

    .GNav__menu .mainMenu__list ul.sub-menu li.mainMenu__list ul.sub-menu {
        position: relative;
        top: 0px;
        left: 0;
        right: 0;
        z-index: 2;
        width: 100%;
        margin: 0;
        display: block;
        padding-bottom: 0;
    }

    .GNav__menu .mainMenu__list ul.sub-menu li.mainMenu__list {
        display: inline-block;
        margin: 40px 0 0 0;
        padding: 0 0 0 12px;
        width: 25%;
        border-right: 0px;
        border-left: 0px;
        text-align: left;
        position: relative;
    }

    .GNav__menu .mainMenu__list ul.sub-menu li.mainMenu__list:after {
        background-image: url(../images/icon/navigate_next_black_24dp.svg);
        width: 24px;
        height: 24px;
        top: 1px;
        left: 0px;
        z-index: 1;
        content: "";
        position: absolute;
    }

    .GNav__menu .mainMenu__list ul.sub-menu li.mainMenu__list a {
        margin: 0 0 0 16px;
        line-height: 26px;
        font-weight: bold;
        font-size: 16px;
        font-size: 1.6rem;
        color: #4F17A8;
    }

    .GNav__menu .mainMenu__list ul.sub-menu li.mainMenu__list.firstMenu {
        width: 100%;
        padding: 0;
    }

    .GNav__menu .mainMenu__list ul.sub-menu li.mainMenu__list.firstMenu:after {
        display: none;
    }

    .GNav__menu .mainMenu__list ul.sub-menu li.mainMenu__list.firstMenu a {
        font-size: 28px;
        line-height: 48px;
    }

    .GNav__menu .mainMenu__list ul.sub-menu li.mainMenu__list ul.sub-menu li.mainMenu__list {
        display: block;
        margin: 24px 0 0 0;
        padding: 0 0 0 12px;
        width: 100%;
        text-align: left;
        position: relative;
    }

    .GNav__menu .mainMenu__list ul.sub-menu li.mainMenu__list ul.sub-menu li.mainMenu__list:after {
        display: none;
    }

    .GNav__menu .mainMenu__list ul.sub-menu li.mainMenu__list ul.sub-menu li.mainMenu__list a {
        margin: 0 0 0 16px;
        line-height: 26px;
        font-weight: bold;
        font-size: 14px;
        font-size: 1.4rem;
        color: #333;
    }

    .GNav__menu .mainMenu__list ul.sub-menu li.mainMenu__list.child-menu {
        width: 50%;
    }

    .GNav__menu .mainMenu__list ul.sub-menu li.mainMenu__list.child-menu:nth-child(odd) {
        border-right: 1px solid #fff;
    }

    .GNav__menu .mainMenu__list ul.sub-menu li.mainMenu__list.child-menu:nth-child(even) {
        border-left: 0px;
    }

    .GNav__menu .mainMenu__list ul.sub-menu li.mainMenu__list.child-menu a {
        line-height: 50px;
        font-size: 14px;
        font-size: 1.4rem;
    }

    .mainVisual {
        width: 100%;
        height: 460px;
        margin: 0px auto;
    }

    .mainVisual--Img img {
        height: 460px;
        object-fit: cover;
        overflow: hidden;
    }

    .mainVisual--mainBox {
        /*position: relative;*/
    }
    .mainVisual--slidrBox {
        position: absolute;
        height:460px;
    }
    .mainVisual--mainArea {
        position: absolute;
        bottom: 0px;
        left: 24px;
        width: 880px;
        height: auto;
        background-color: rgba(255, 255, 255, 0.85);
        padding: 8px 24px;
    }

    /*.mainVisual--mainArea .bx-wrapper .bx-pager {*/
    /*    display: block;*/
    /*    bottom: -20px;*/
    /*    padding: 0;*/
    /*}*/
    .mainVisual--mainArea .bx-wrapper .bx-prev {
        display: block;
        left: -60px;
        width: 40px;
        height: 40px;
        background: #333333;
        z-index: 99;
    }

    .mainVisual--mainArea .bx-wrapper .bx-prev::after {
        content: "";
        top: 15px;
        right: 13px;
        width: 10px;
        height: 10px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        -webkit-transform: rotate(225deg);
        transform: rotate(225deg);
        position: absolute;
    }

    .mainVisual--mainArea .bx-wrapper .bx-next {
        display: block;
        right: -60px;
        width: 40px;
        height: 40px;
        background: #333333;
        z-index: 99;
    }

    .mainVisual--mainArea .bx-wrapper .bx-next::after {
        content: "";
        top: 15px;
        left: 13px;
        width: 10px;
        height: 10px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        position: absolute;
    }

    .mainVisual--slide {
        padding-bottom: 0px;
    }

    .mainVisual--mainArea span {
        color: #fff;
        background-color: #333333;
        padding: 2px 16px;
        display: inline-block;
        font-size:14px;
    }

    .mainVisual--mainArea h2 {
        color: #4F17A8;
        /*font-size: 36px;*/
        font-size: 18px;
        font-weight: bold;
        line-height:24px;
        margin: 4px 0 0px;
    }

    .mainVisual--mainArea p {
        color: #333333;
        font-size: 24px;
        font-weight: bold;
        line-height: 36px;
        margin: 0 0 24px 0;
    }

    .mainVisual--mainArea a {
        color: #4F17A8;
        font-size: 16px;
        font-weight: bold;
        text-decoration: none;
        position: relative;
        text-decoration:underline;
        text-underline-offset: 3px;
        text-decoration-color: #4F17A8;
    }
/*
    .mainVisual--mainArea a:before {
        content: "";
        position: absolute;
        width: 100%;
        height: 2px;
        bottom: -8px;
        background-color: #4F17A8;
    }
    */

    .mainVisual--sideBox {
        position: relative;
    }

    .mainVisual--sideArea {
        position: absolute;
        width: 240px;
        height: 460px;
        right: 0;
        top: -460px;
        z-index: 1;
        padding: 0px 12px;
        background-color: rgba(255, 255, 255, 0.85);
    }

    .mainVisual--sideArea .bx-wrapper .bx-viewport {
        min-height: 400px;
    }

    .mainVisual--sideArea .bx-wrapper .bx-prev {
        display: block;
        top: -12px;
        width: 20px;
        height: 20px;
        background: none;
        left: 50%;
        transform: translateX(-10px);
    }

    .mainVisual--sideArea .bx-wrapper .bx-prev::after {
        content: "";
        top: 15px;
        left: 0;
        width: 10px;
        height: 10px;
        border-top: 2px solid #333333;
        border-right: 2px solid #333333;
        -webkit-transform: rotate(315deg) scale(0.75);
        transform: rotate(315deg) scale(0.75);
        position: absolute;
    }

    .mainVisual--sideArea .bx-wrapper .bx-next {
        display: block;
        top: auto;
        bottom: -12px;
        width: 20px;
        height: 20px;
        background: none;
        left: 50%;
        transform: translateX(-10px);
    }

    .mainVisual--sideArea .bx-wrapper .bx-next::after {
        content: "";
        top: 11px;
        left: 0;
        width: 10px;
        height: 10px;
        border-top: 2px solid #333333;
        border-right: 2px solid #333333;
        -webkit-transform: rotate(135deg) scale(0.75);
        transform: rotate(135deg) scale(0.75);
        position: absolute;
    }

    .detailIcon:after {
        top: calc(50% - 8px);
    }

    .detailBox dl {
        border-top: 1px solid #ccc;
    }

    .detailBox dl dt {
        float: left;
        padding: 15px 0;
        width: 10em;
    }

    .detailBox dl dd {
        border-bottom: 1px solid #ccc;
        padding: 15px 0 15px 7em;
    }

    .detailBox dl dd.double {
        border-bottom: double 1px #ccc;
    }

    .detailBox ul.optional {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .detailBox ul.optional li {
        border: 1px solid #01579B;
        width: 30%;
        border-radius: 3px;
        padding: 10px 0 10px 10px;
    }

    .detailBox ul.optional li a {
        display: block;
    }

    .breadcrumb {
        border-bottom: 1px solid #CCCCCC;
    }
}

@media screen and (min-width:768px) and ( max-width:1200px) {
    .hideSp.hideAd {
        display:block !important;
    }
    .hidePc.hideAd {
        display:none !important;
    }
    .headerTop {
        padding:0 16px;
    }
    .sideBannerArea--Img {
        height:auto;
    }
    .contentBox, .contentBoxPc {
        padding:0 16px;
    }
    .bannerArea--img {
        padding-right:4px;
    }
    .mainVisual,
    .mainVisual--slidrBox,
    .mainVisual--Img img {
        height: 460px;
    }
    .ftsmap {
        padding: 80px 16px 60px 16px;
    }
    .sideBannerArea li {
        width: calc(33.3% - 16px);
    }
    .mainVisual--sideArea .sideBannerArea li {
        width: calc(33.3% - 16px);
    }
    .bannerArea li {
        width: calc(20% - 8px);
    }
    .mainVisual--sideArea .sideBannerArea li:nth-child(even), .bannerArea li:nth-child(even) {
        margin-right:8px;
    }
    .contentBoxSide {
    width: 240px;
    float: right;
    margin-top: 80px;
    margin-bottom: 40px;
    padding: 0 12px;
    }
    .contentBoxSide.topSide {
        width: 100%;
        float: nonee;
        margin-top: 40px;
        margin-bottom: 40px;
    }
    .contentBox, .contentBoxPc {
        width:100%;
    }
    .contentBoxM, .contentBoxMPc {
        width:calc(100% - 300px);
    }
    .fLPc {
        float:left;
    }
}
@media screen and (min-width:768px) {
    .hidePc.hideAd {
        display:none !important;
    }
    .hideSp.hideAd {
        display:block !important;
    }
}
@media print {
    #header,
    .advertisingArea,
    .contentBoxSide,
    .hideSp,
    #topBtn,
    #Footer {
        display: none !important;
    }

    .fL,
    .fR {
        float: none !important;
    }
}

/*背景色変更 */

html.backGroundBlack body {
    background-color: #333333;
    color: #fff;
}

html.backGroundBlack .header {
    background-color: #333333 !important;
}

html.backGroundBlack .headerTop__brandName a {
    background-image: url(../images/logo/logo_white.png);
}

html.backGroundBlack a,
html.backGroundBlack .cmsContents h2,
html.backGroundBlack .cmsContents h3,
html.backGroundBlack .cmsContents h6,
html.backGroundBlack .breadcrumb span:first-of-type a span,
html.backGroundBlack .breadcrumb span a span {
    color: #ffffff;
}

html.backGroundBlack .businessContents,
html.backGroundBlack .contentBoxSide section,
html.backGroundBlack .breadcrumb {
    background-color: #1f1f1f;
}

html.backGroundBlack .cmsContents h3:after {
    background-color: #ffffff;
}

html.backGroundBlack .MembersOnlyPageSide,
html.backGroundBlack .wp-pagenavi a,
html.backGroundBlack .wp-pagenavi span {
    border: 1px solid #ffffff !important;
}

html.backGroundBlack .MembersOnlyPageSide:before {
    background-image: url(../images/icon/lock_icon.svg);
}


/* subcommittee-voice */

.postList--subcommittee-voice {
    border-top: 1px solid #CCCCCC;
    margin-top: 40px;
}

.postList--subcommittee-voice:first-child {
    border-top: 0;
}

.postList--subcommittee-voice-thumbnail {
    width: 120px;
}
.postList--subcommittee-voice-box {
    width:calc(100% - 136px);
}
.postList--subcommittee-voice-voice {
    background: #F9F9F9;
    padding: 24px;
    position: relative;
    margin-top: 50px;
}
.postList--subcommittee-voice-voice::before {
    content: '';
    position: absolute;
    top: -31px;
    width: 0;
    height: 0;
    border-left: 18px solid transparent;
    border-right: 18px solid transparent;
    border-bottom: 31px solid #F9F9F9;
}

#wpmem_login button, #wpmem_login input, #wpmem_reg button, #wpmem_reg input, #wpmem_reg select, #wpmem_reg textarea {
    background: initial;
    color: initial;
    border: 1px solid #ccc;
}
.termList--seminar:nth-child(even) {
    margin-right: 0;
    margin-bottom: 16px;
}
.no_slider li {
    margin-bottom: 13px;
}