@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic);
/*! normalize.css v3.0.0 | MIT License | git.io/normalize */
html {
  font-family: sans-serif;
  font-size: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
  margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}

a {
  background: transparent;
}

a:active,
a:hover {
  outline: 0;
}

p, ul, ol {
  margin: 0;
  padding: 0;
}

li {
  list-style: none;
  text-indent: 0;
}

b {
  font-weight: normal;
}

strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

h1 {
  margin: 0;
  padding: 0;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 0;
}

hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

* {
  box-sizing: border-box;
}

*:before,
*:after {
  box-sizing: border-box;
}

img {
  vertical-align: middle;
  max-width: 100%;
  height: auto;
}

dl {
  margin: 0;
  padding: 0;
}

dt,
dd {
  margin: 0;
  padding: 0;
}

input:focus::-webkit-input-placeholder {
  color: transparent;
}

input:focus:-moz-placeholder {
  color: transparent;
}

input:focus::-moz-placeholder {
  color: transparent;
}

@font-face {
  font-family: "icon";
  src: url("../fonts/icon.eot");
  src: url("../fonts/icon.eot?#iefix") format("embedded-opentype"), url("../fonts/icon.woff") format("woff"), url("../fonts/icon.ttf") format("truetype"), url("../fonts/icon.svg#icon") format("svg");
}

.gi {
  position: relative;
  top: 0;
  display: inline-block;
  vertical-align: middle;
  font-family: "icon";
  font-style: normal;
  font-weight: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.gi-arrow-d:before {
  content: "\e900";
}

.gi-arrow-l:before {
  content: "\e901";
}

.gi-arrow-r:before {
  content: "\e902";
}

.gi-arrow-u:before {
  content: "\e903";
}

.gi-dot-circle-s:before {
  content: "\e904";
}

.gi-icon-close:before {
  content: "\e905";
}

.gi-file-text:before {
  content: "\e927";
}

body {
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  line-height: 1.7;
  color: black;
}
body.lang-en {
  font-family: Arial, Helvetica, sans-serif;
}

.text-mute {
  color: #666666;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-weight: normal;
  margin: 0;
  padding: 0;
}
h1 small,
h1 .small, h2 small,
h2 .small, h3 small,
h3 .small, h4 small,
h4 .small, h5 small,
h5 .small, h6 small,
h6 .small,
.h1 small,
.h1 .small, .h2 small,
.h2 .small, .h3 small,
.h3 .small, .h4 small,
.h4 .small, .h5 small,
.h5 .small, .h6 small,
.h6 .small {
  font-weight: normal;
  line-height: 1;
  margin-left: 0.2em;
  display: inline-block;
}
h1 + p, h2 + p, h3 + p, h4 + p, h5 + p, h6 + p,
.h1 + p, .h2 + p, .h3 + p, .h4 + p, .h5 + p, .h6 + p {
  margin-top: 0;
}

h1, .h1 {
  margin-top: 120px;
  margin-bottom: 24px;
  font-size: 2.52em;
  line-height: 1.5;
  font-weight: bold;
}
h1:first-child, .h1:first-child {
  margin-top: 0;
}

h2, .h2 {
  margin-top: 90px;
  margin-bottom: 24px;
  font-size: 2em;
  line-height: 1.5;
  font-weight: bold;
  color: #495458;
}
h2:first-child, .h2:first-child {
  margin-top: 0;
}

h3, .h3 {
  margin-top: 60px;
  margin-bottom: 24px;
  font-size: 1.38em;
  line-height: 1.5;
  font-weight: bold;
  color: #495458;
}
h3:first-child, .h3:first-child {
  margin-top: 0;
}

h4, .h4 {
  margin-top: 32px;
  margin-bottom: 8px;
  font-size: 1.16em;
  line-height: 1.5;
  font-weight: bold;
  color: #495458;
}
h4:first-child, .h4:first-child {
  margin-top: 0;
}

h5, .h5 {
  margin-top: 20px;
  margin-bottom: 0;
  font-size: 1em;
  line-height: 1.5;
  font-weight: bold;
  color: #495458;
}
h5:first-child, .h5:first-child {
  margin-top: 0;
}

.h-bordered-top {
  border-top: 2px solid #999999;
}

h2.h-bordered-top {
  padding-top: 60px;
}

h3.h-bordered-top {
  padding-top: 40px;
}

h4.h-bordered-top {
  padding-top: 8px;
}

strong {
  font-weight: bold;
  color: #900;
}

small, .small {
  font-size: 0.76em;
}

cite {
  font-style: normal;
}

ul.ul-col-2,
.ul.ul-col-2 {
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  justify-content: space-between;
}
ul.ul-col-2 > li,
.ul.ul-col-2 > li {
  width: calc(50% - 10px );
}

.cue {
  position: relative;
  padding-left: 2.2em;
}
.cue .bullet {
  width: 2.2em;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  font-weight: bold;
}
.cue.cue-lv1 {
  padding-left: 2.2em;
}
.cue.cue-lv2 {
  padding-left: 3em;
}
.cue.cue-lv2 .bullet {
  width: 3em;
  text-align: left;
}

.indent-lv1 {
  position: relative;
  padding-left: 2.2em;
}

.indent-lv2 {
  position: relative;
  padding-left: 3em;
}

address {
  font-style: normal;
}

a {
  text-decoration: underline;
  color: #0000cc;
}
a, a:before, a:after {
  transition: opacity 0.1s linear, color 0.1s linear;
}
a:before, a:after {
  text-decoration: none;
}
a:hover {
  color: #0000cc;
}
a img.filelink {
  position: relative;
  top: -2px;
  width: 16px;
  height: 16px;
  margin: 0 5px;
}
a img.outerlink {
  position: relative;
  top: -3px;
  width: 16px;
  height: 16px;
  margin: 0 5px;
}

a.link {
  position: relative;
  display: inline-block;
  margin: 0;
  color: #0000cc;
  text-decoration: underline;
  padding-left: 36px;
}
a.link:hover {
  color: #800080;
}
a.link:hover:before, a.link:hover:after {
  color: #800080;
}
a.link:visited {
  color: #800080;
}
a.link:before {
  content: "";
  display: inline-block;
  background: url("../img/common/arrow_r.png") no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 0.2em;
  left: 0;
  width: 36px;
  height: 1em;
  text-align: center;
  text-decoration: none;
}

.btn {
  border: 2px solid #0000cc;
  display: inline-block;
  padding: 10px 20px;
  font-weight: bold;
  text-decoration: none;
  background: #FFF;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  position: relative;
  padding-left: 35px;
}
.btn:before {
  font-family: "icon";
  font-weight: normal;
  content: "\e902";
  position: absolute;
  display: inline-block;
  top: 10px;
  left: 12px;
  text-decoration: none;
  font-size: 16px;
}
.btn:hover {
  border: 2px solid #800080;
  color: #800080;
}
.btn:hover:before, .btn:hover:after {
  color: #800080;
}

.breadcrumb > ul {
  list-style: none;
  background: transparent;
  padding: 0px 0px;
}
.breadcrumb > ul > li {
  display: inline-block;
  margin: 0;
  padding: 0 0 0 0;
  font-size: 0.76em;
  line-height: 16px;
  vertical-align: middle;
  list-style-type: none;
}
.breadcrumb > ul > li > a {
  color: #0000cc;
}
.breadcrumb > ul > li > a:hover {
  color: #800080;
}
.breadcrumb > ul > li > a > .gi-home {
  margin-right: 3px;
  color: #ee6c53;
}
.breadcrumb > ul > li:first-child:before {
  display: none;
}
.breadcrumb > ul > li + li:before {
  font-family: "icon";
  font-weight: normal;
  content: "\e902";
  padding: 0 3px;
  background: none;
  position: relative;
  top: 0;
  left: 0;
  color: #999;
  margin: 0;
}

.figure.fl-l {
  float: left;
  padding-right: 20px;
}
.figure.fl-r {
  float: right;
  padding-left: 20px;
}
.figure .image img {
  max-width: 100%;
}
.figure .caption {
  margin-top: 10px;
  font-size: 0.81em;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  -webkit-border-radius: 0;
  border-radius: 0;
  border: none;
  color: black;
  font-size: 14px;
  padding: 8px 10px 8px 30px;
  background: url("../img/common/icon_arrow_d.png") white no-repeat 11px 14px;
  -webkit-background-size: 12px;
  -o-background-size: 12px;
  background-size: 12px;
}
select:focus {
  outline: 0;
}

.select {
  border: 1px solid #e2e2e2;
  overflow: hidden;
}
.select select {
  width: 120%;
  width: calc(100% + 50px);
}

input[type="text"],
textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border: 0 solid black;
  padding: 10px 15px;
  border-radius: 5px;
}
input[type="text"]:focus,
textarea:focus {
  outline: 0;
}

input::-webkit-input-placeholder {
  color: #333;
}

input:-ms-input-placeholder {
  color: #333;
}

input::-moz-placeholder {
  color: #333;
}

textarea::-webkit-input-placeholder {
  color: #333;
}

textarea:-ms-input-placeholder {
  color: #333;
}

textarea::-moz-placeholder {
  color: #333;
}

.row {
  margin-left: -15px;
  margin-right: -15px;
}
.row:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.row:before, .row:after {
  content: " ";
  display: table;
}
.row:after {
  clear: both;
}
.row.row-gutter-lg {
  margin-left: -15px;
  margin-right: -15px;
}
.row.row-gutter-lg:before, .row.row-gutter-lg:after {
  content: " ";
  display: table;
}
.row.row-gutter-lg:after {
  clear: both;
}

.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}

/* カラムレイアウト*/
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left;
}

.col-xs-1 {
  width: 8.33333%;
}

.col-xs-2 {
  width: 16.66667%;
}

.col-xs-3 {
  width: 25%;
}

.col-xs-4 {
  width: 33.33333%;
}

.col-xs-5 {
  width: 41.66667%;
}

.col-xs-6 {
  width: 50%;
}

.col-xs-7 {
  width: 58.33333%;
}

.col-xs-8 {
  width: 66.66667%;
}

.col-xs-9 {
  width: 75%;
}

.col-xs-10 {
  width: 83.33333%;
}

.col-xs-11 {
  width: 91.66667%;
}

.col-xs-12 {
  width: 100%;
}

.col-xs-pull-0 {
  right: auto;
}

.col-xs-pull-1 {
  right: 8.33333%;
}

.col-xs-pull-2 {
  right: 16.66667%;
}

.col-xs-pull-3 {
  right: 25%;
}

.col-xs-pull-4 {
  right: 33.33333%;
}

.col-xs-pull-5 {
  right: 41.66667%;
}

.col-xs-pull-6 {
  right: 50%;
}

.col-xs-pull-7 {
  right: 58.33333%;
}

.col-xs-pull-8 {
  right: 66.66667%;
}

.col-xs-pull-9 {
  right: 75%;
}

.col-xs-pull-10 {
  right: 83.33333%;
}

.col-xs-pull-11 {
  right: 91.66667%;
}

.col-xs-pull-12 {
  right: 100%;
}

.col-xs-push-0 {
  left: auto;
}

.col-xs-push-1 {
  left: 8.33333%;
}

.col-xs-push-2 {
  left: 16.66667%;
}

.col-xs-push-3 {
  left: 25%;
}

.col-xs-push-4 {
  left: 33.33333%;
}

.col-xs-push-5 {
  left: 41.66667%;
}

.col-xs-push-6 {
  left: 50%;
}

.col-xs-push-7 {
  left: 58.33333%;
}

.col-xs-push-8 {
  left: 66.66667%;
}

.col-xs-push-9 {
  left: 75%;
}

.col-xs-push-10 {
  left: 83.33333%;
}

.col-xs-push-11 {
  left: 91.66667%;
}

.col-xs-push-12 {
  left: 100%;
}

.col-xs-offset-0 {
  margin-left: 0%;
}

.col-xs-offset-1 {
  margin-left: 8.33333%;
}

.col-xs-offset-2 {
  margin-left: 16.66667%;
}

.col-xs-offset-3 {
  margin-left: 25%;
}

.col-xs-offset-4 {
  margin-left: 33.33333%;
}

.col-xs-offset-5 {
  margin-left: 41.66667%;
}

.col-xs-offset-6 {
  margin-left: 50%;
}

.col-xs-offset-7 {
  margin-left: 58.33333%;
}

.col-xs-offset-8 {
  margin-left: 66.66667%;
}

.col-xs-offset-9 {
  margin-left: 75%;
}

.col-xs-offset-10 {
  margin-left: 83.33333%;
}

.col-xs-offset-11 {
  margin-left: 91.66667%;
}

.col-xs-offset-12 {
  margin-left: 100%;
}

[class*=col-lg] + [class*=col-lg] {
  margin-top: 15px;
}

[class*=col-md] + [class*=col-md] {
  margin-top: 15px;
}

[class*=col-sm] + [class*=col-sm] {
  margin-top: 15px;
}

[class*=col-xs] + [class*=col-xs] {
  margin-top: 0;
}

.row.row-gutter-lg {
  margin-left: -20px;
  margin-right: -20px;
}
.row.row-gutter-lg:before, .row.row-gutter-lg:after {
  content: " ";
  display: table;
}
.row.row-gutter-lg:after {
  clear: both;
}
.row.row-gutter-lg [class*="col-lg"] {
  padding-left: 20px;
  padding-right: 20px;
}

.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}

.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
  float: left;
}

.col-lg-1 {
  width: 8.33333%;
}

.col-lg-2 {
  width: 16.66667%;
}

.col-lg-3 {
  width: 25%;
}

.col-lg-4 {
  width: 33.33333%;
}

.col-lg-5 {
  width: 41.66667%;
}

.col-lg-6 {
  width: 50%;
}

.col-lg-7 {
  width: 58.33333%;
}

.col-lg-8 {
  width: 66.66667%;
}

.col-lg-9 {
  width: 75%;
}

.col-lg-10 {
  width: 83.33333%;
}

.col-lg-11 {
  width: 91.66667%;
}

.col-lg-12 {
  width: 100%;
}

.col-lg-pull-0 {
  right: auto;
}

.col-lg-pull-1 {
  right: 8.33333%;
}

.col-lg-pull-2 {
  right: 16.66667%;
}

.col-lg-pull-3 {
  right: 25%;
}

.col-lg-pull-4 {
  right: 33.33333%;
}

.col-lg-pull-5 {
  right: 41.66667%;
}

.col-lg-pull-6 {
  right: 50%;
}

.col-lg-pull-7 {
  right: 58.33333%;
}

.col-lg-pull-8 {
  right: 66.66667%;
}

.col-lg-pull-9 {
  right: 75%;
}

.col-lg-pull-10 {
  right: 83.33333%;
}

.col-lg-pull-11 {
  right: 91.66667%;
}

.col-lg-pull-12 {
  right: 100%;
}

.col-lg-push-0 {
  left: auto;
}

.col-lg-push-1 {
  left: 8.33333%;
}

.col-lg-push-2 {
  left: 16.66667%;
}

.col-lg-push-3 {
  left: 25%;
}

.col-lg-push-4 {
  left: 33.33333%;
}

.col-lg-push-5 {
  left: 41.66667%;
}

.col-lg-push-6 {
  left: 50%;
}

.col-lg-push-7 {
  left: 58.33333%;
}

.col-lg-push-8 {
  left: 66.66667%;
}

.col-lg-push-9 {
  left: 75%;
}

.col-lg-push-10 {
  left: 83.33333%;
}

.col-lg-push-11 {
  left: 91.66667%;
}

.col-lg-push-12 {
  left: 100%;
}

.col-lg-offset-0 {
  margin-left: 0%;
}

.col-lg-offset-1 {
  margin-left: 8.33333%;
}

.col-lg-offset-2 {
  margin-left: 16.66667%;
}

.col-lg-offset-3 {
  margin-left: 25%;
}

.col-lg-offset-4 {
  margin-left: 33.33333%;
}

.col-lg-offset-5 {
  margin-left: 41.66667%;
}

.col-lg-offset-6 {
  margin-left: 50%;
}

.col-lg-offset-7 {
  margin-left: 58.33333%;
}

.col-lg-offset-8 {
  margin-left: 66.66667%;
}

.col-lg-offset-9 {
  margin-left: 75%;
}

.col-lg-offset-10 {
  margin-left: 83.33333%;
}

.col-lg-offset-11 {
  margin-left: 91.66667%;
}

.col-lg-offset-12 {
  margin-left: 100%;
}

[class*=col-lg] + [class*=col-lg] {
  margin-top: 0;
}

[class*=col-md] + [class*=col-md] {
  margin-top: 0;
}

[class*=col-sm] + [class*=col-sm] {
  margin-top: 0;
}

[class*=col-xs] + [class*=col-xs] {
  margin-top: 0;
}

table {
  max-width: 100%;
  background-color: white;
}

table,
.table {
  width: 100%;
  margin-top: 24px;
}
table:first-child,
.table:first-child {
  margin-top: 0;
}
table > thead > tr > th, table > thead > tr > .th,
table > thead > tr > td, table > thead > tr > .td,
table > tbody > tr > th,
table > tbody > tr > .th,
table > tbody > tr > td,
table > tbody > tr > .td,
table > tfoot > tr > th,
table > tfoot > tr > .th,
table > tfoot > tr > td,
table > tfoot > tr > .td,
.table > thead > tr > th,
.table > thead > tr > .th,
.table > thead > tr > td,
.table > thead > tr > .td,
.table > tbody > tr > th,
.table > tbody > tr > .th,
.table > tbody > tr > td,
.table > tbody > tr > .td,
.table > tfoot > tr > th,
.table > tfoot > tr > .th,
.table > tfoot > tr > td,
.table > tfoot > tr > .td {
  padding: 15px 30px;
  vertical-align: top;
  border: 2px solid #999999;
}
table > thead > tr > th, table > thead > tr > .th,
table > tbody > tr > th,
table > tbody > tr > .th,
table > tfoot > tr > th,
table > tfoot > tr > .th,
.table > thead > tr > th,
.table > thead > tr > .th,
.table > tbody > tr > th,
.table > tbody > tr > .th,
.table > tfoot > tr > th,
.table > tfoot > tr > .th {
  text-align: left;
  background-color: #f0f1f2;
  color: black;
  font-weight: bold;
  white-space: nowrap;
}
table > thead > tr > td.bg-extra, table > thead > tr > .td.bg-extra,
table > tbody > tr > td.bg-extra,
table > tbody > tr > .td.bg-extra,
table > tfoot > tr > td.bg-extra,
table > tfoot > tr > .td.bg-extra,
.table > thead > tr > td.bg-extra,
.table > thead > tr > .td.bg-extra,
.table > tbody > tr > td.bg-extra,
.table > tbody > tr > .td.bg-extra,
.table > tfoot > tr > td.bg-extra,
.table > tfoot > tr > .td.bg-extra {
  background-color: white;
}
table.table-bordered > thead > tr > th, table.table-bordered > thead > tr > .th,
table.table-bordered > thead > tr > td, table.table-bordered > thead > tr > .td,
table.table-bordered > tbody > tr > th,
table.table-bordered > tbody > tr > .th,
table.table-bordered > tbody > tr > td,
table.table-bordered > tbody > tr > .td,
table.table-bordered > tfoot > tr > th,
table.table-bordered > tfoot > tr > .th,
table.table-bordered > tfoot > tr > td,
table.table-bordered > tfoot > tr > .td,
.table.table-bordered > thead > tr > th,
.table.table-bordered > thead > tr > .th,
.table.table-bordered > thead > tr > td,
.table.table-bordered > thead > tr > .td,
.table.table-bordered > tbody > tr > th,
.table.table-bordered > tbody > tr > .th,
.table.table-bordered > tbody > tr > td,
.table.table-bordered > tbody > tr > .td,
.table.table-bordered > tfoot > tr > th,
.table.table-bordered > tfoot > tr > .th,
.table.table-bordered > tfoot > tr > td,
.table.table-bordered > tfoot > tr > .td {
  border: none;
  border-top: 2px solid #999999;
  border-bottom: 2px solid #999999;
}
table.table-bordered > thead > tr > th, table.table-bordered > thead > tr > .th,
table.table-bordered > tbody > tr > th,
table.table-bordered > tbody > tr > .th,
table.table-bordered > tfoot > tr > th,
table.table-bordered > tfoot > tr > .th,
.table.table-bordered > thead > tr > th,
.table.table-bordered > thead > tr > .th,
.table.table-bordered > tbody > tr > th,
.table.table-bordered > tbody > tr > .th,
.table.table-bordered > tfoot > tr > th,
.table.table-bordered > tfoot > tr > .th {
  text-align: left;
  background-color: white;
  font-weight: bold;
  white-space: nowrap;
}
table.table-bordered > thead > tr > td.bg-extra, table.table-bordered > thead > tr > .td.bg-extra,
table.table-bordered > tbody > tr > td.bg-extra,
table.table-bordered > tbody > tr > .td.bg-extra,
table.table-bordered > tfoot > tr > td.bg-extra,
table.table-bordered > tfoot > tr > .td.bg-extra,
.table.table-bordered > thead > tr > td.bg-extra,
.table.table-bordered > thead > tr > .td.bg-extra,
.table.table-bordered > tbody > tr > td.bg-extra,
.table.table-bordered > tbody > tr > .td.bg-extra,
.table.table-bordered > tfoot > tr > td.bg-extra,
.table.table-bordered > tfoot > tr > .td.bg-extra {
  background-color: white;
}

.box {
  overflow: hidden;
  border: 1px solid #F0F1F2;
  background: #F0F1F2;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  margin-top: 20px;
  padding: 30px 30px;
}
.box h2, .box h3 {
  margin-bottom: 20px;
  font-size: 22px;
}
.box h2 > a, .box h3 > a {
  display: inline-block;
  position: relative;
  padding-left: 25px;
}
.box h2 > a:before, .box h3 > a:before {
  font-family: "icon";
  font-weight: normal;
  content: "\e902";
  position: absolute;
  display: inline-block;
  top: 5px;
  left: 0;
  text-decoration: none;
  font-size: 16px;
}
.box .title {
  overflow: hidden;
}
.box .col {
  float: left;
  width: calc(70% - 30px );
}
.box .col.col-image {
  float: right;
  width: 30%;
}
.box .col.col-image img {
  max-width: 100%;
}

.index .item {
  overflow: hidden;
  border: 1px solid #F0F1F2;
  background: #F0F1F2;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  margin-top: 20px;
  padding: 30px 30px;
}
.index .item h2 > a, .index .item h3 > a {
  display: inline-block;
  position: relative;
  padding-left: 25px;
}
.index .item h2 > a:before, .index .item h3 > a:before {
  content: "";
  display: inline-block;
  background: url("../img/common/arrow_r.png") no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 0.2em;
  left: 0;
  width: 25px;
  height: 1em;
  text-align: center;
  text-decoration: none;
}
.index .item .title {
  overflow: hidden;
}
.index .item .title h2, .index .item .title h3, .index .item .title p {
  margin-bottom: 0;
  font-size: 22px;
  font-weight: bold;
}
.index .item .title h2 > a, .index .item .title h3 > a, .index .item .title p > a {
  display: inline-block;
  position: relative;
  padding-left: 25px;
}
.index .item .title h2 > a:before, .index .item .title h3 > a:before, .index .item .title p > a:before {
  content: "";
  display: inline-block;
  background: url("../img/common/arrow_r.png") no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 0.2em;
  left: 0;
  width: 25px;
  height: 1em;
  text-align: center;
  text-decoration: none;
}
.index .item .body {
  margin-top: 20px;
}

.index .item .body:first-child {
  margin-top: 0;
}
.index .item .col {
  float: left;
  width: calc(70% - 30px );
}
.index .item .col.col-image {
  float: right;
  width: 30%;
}
.index .item .col.col-image img {
  max-width: 100%;
}
.index:first-child {
  margin-top: 0;
}
.index.index-col-2 {
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  justify-content: space-between;
}
.index.index-col-2 > .item {
  width: calc(50% - 10px );
}
.index.index-col-2 .item {
  padding: 30px 20px;
  font-size: 15px;
}
.index.index-col-2 .item .col {
  float: left;
  width: calc(65% - 20px );
}
.index.index-col-2 .item .col.col-image {
  float: right;
  width: 35%;
}
.index.index-col-2 .item .col.col-image img {
  max-width: 100%;
}

.scrollbar-measure {
  position: absolute;
  width: 50px;
  height: 50px;
  overflow: scroll;
}

/* モジュール関連 */

.clear {
  clear: both;
}
.clear:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}

.color-main {
  color: #ee6c53;
}

.color-sub {
  color: #5dad3e;
}

.color-accent {
  color: #3c2519;
}

.color-red {
  color: #F00;
}

.color-white {
  color: #FFF;
}

.color-black {
  color: #000;
}

.lh-ss {
  line-height: 1.2;
}

.lh-sm {
  line-height: 1.4;
}

/* font */

.fz-6l {
  font-size: 5.3em !important;
}

.fz-5l {
  font-size: 4em !important;
}

.fz-4l {
  font-size: 2.2em !important;
}

.fz-3l {
  font-size: 1.8em !important;
}

.fz-ll {
  font-size: 1.5em !important;
}

.fz-lg {
  font-size: 1.2em !important;
}

.fz-md {
  font-size: 1.00em !important;
}

.fz-sm {
  font-size: 0.9em !important;
}

.fz-ss {
  font-size: 0.8em !important;
}

.fz-3s {
  font-size: 0.6em !important;
}

.fz-4s {
  font-size: 0.4em !important;
}

.fz-5s {
  font-size: 0.2em !important;
}

.fw-n {
  font-weight: normal !important;
}

.fw-b {
  font-weight: bold !important;
}

.fl-l {
  float: left;
}

.fl-r {
  float: right;
}

.fl-n {
  float: none;
}

.ta-l {
  text-align: left !important;
}

.ta-r {
  text-align: right !important;
}

.ta-c {
  text-align: center !important;
}

.w-12 {
  width: 100%;
}

.w-11 {
  width: 91.66666666666666%;
}

.w-10 {
  width: 83.33333333333334%;
}

.w-9 {
  width: 75%;
}

.w-8 {
  width: 66.66666666666666%;
}

.w-7 {
  width: 58.333333333333336%;
}

.w-6 {
  width: 50%;
}

.w-5 {
  width: 41.66666666666667%;
}

.w-4 {
  width: 33.33333333333333%;
}

.w-3 {
  width: 25%;
}

.w-2 {
  width: 16.666666666666664%;
}

.w-1 {
  width: 8.333333333333332%;
}

.mt-lv6 {
  margin-top: 120px !important;
}

.mt-lv5 {
  margin-top: 90px !important;
}

.mt-lv4 {
  margin-top: 60px !important;
}

.mt-lv3 {
  margin-top: 40px !important;
}

.mt-lv2 {
  margin-top: 24px !important;
}

.mt-lv1 {
  margin-top: 8px !important;
}

.mt-lv0 {
  margin-top: 0 !important;
}

.mb-lv6 {
  margin-bottom: 120px !important;
}

.mb-lv5 {
  margin-bottom: 90px !important;
}

.mb-lv4 {
  margin-bottom: 60px !important;
}

.mb-lv3 {
  margin-bottom: 40px !important;
}

.mb-lv2 {
  margin-bottom: 24px !important;
}

.mb-lv1 {
  margin-bottom: 8px !important;
}

.mb-lv0 {
  margin-bottom: 0 !important;
}

.va-t {
  vertical-align: top !important;
}
.pb-lv0 {
	padding-bottom:0 !important;
}
.pb-lv1 {
	padding-bottom:8px !important;
}
.pb-lv2 {
	padding-bottom:24px !important;
}
.pb-lv3 {
	padding-bottom:40px !important;
}

.va-m {
  vertical-align: middle !important;
}

.va-b {
  vertical-align: bottom !important;
}

.h-auto {
  height: auto !important;
}

.display-none {
  display: none;
}

body {
  text-align: center;
}
body.home {
  background: white;
}

#wrapper {
  background: transparent;
  width: 100%;
  margin: 0 auto;
}
#wrapper > .inner {
  width: 100%;
  margin: 0 auto;
}

#contents {
  background: transparent;
  width: auto;
  margin: 0 auto;
}
#contents > .inner {
  width: auto;
  margin: 0 auto;
}

#contents-header {
  background: transparent;
  width: 100%;
  margin: 0 auto;
}
#contents-header > .inner {
  width: auto;
  margin: 0 auto;
}

#contents-body {
  background: transparent;
  width: 100%;
  margin: 0 auto;
}
#contents-body > .inner {
  width: auto;
  margin: 0 auto;
}

#contents-footer {
  background: transparent;
  width: 100%;
  margin: 0 auto;
}
#contents-footer > .inner {
  width: auto;
  margin: 0 auto;
}

#header {
  width: auto;
}

#header-main {
  padding-top: 20px;
  background: #F0F1F2;
  position: relative;
}
#header-main:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
  width: 100%;
  background: #DDD;
}
#header-main > .inner {
  width: 960px;
  margin: 0 auto;
  position: relative;
}
#header-main #mainvisual {
  position: relative;
  width: 960px;
  height: 380px;
  overflow: hidden;
}
#header-main #mainvisual #slides {
  overflow: hidden;
  padding: 1px;
}
#header-main #mainvisual #slides > .slide {
  float: left;
  width: 960px;
  height: 380px;
  padding: 2px;
}

#console {
  display: block;
  position: absolute;
  bottom: 10px;
  right: 20px;
  margin: 0;
  height: 32px;
  cursor: pointer;
  line-height: 1;
}
#console li {
  display: inline-block;
}
#console a img {
  border-radius: 50%;
}
#console a:hover {
  opacity: 1;
}
#console a:focus img {
  box-shadow: 0px 0px 4px 4px #FFF;
}
#play {
  display: none;
}

#header-sub {
  border-bottom: 2px solid #7176a4;
  height: 50px;
}
#header-sub > .inner {
  width: 960px;
  margin: 0 auto;
  position: relative;
}
#header-sub a {
  color: #000;
}
#header-sub a:hover {
  color: #800080;
}
#header-sub ul {
  margin: 0;
}
#header-sub .menu-body {
  float: left;
  margin-top: 20px;
  margin-right: 20px;
  font-size: 0.81em;
}
#header-sub .menu-group a {
  display: inline-block;
}
#header-sub .menu-group.format-join-pipe {
  float: left;
  margin-top: 20px;
  line-height: 1.2;
}
#header-sub .menu-group.format-join-pipe li {
  display: inline-block;
  font-size: 0.81em;
  margin-top: 0;
  margin-right: 10px;
  line-height: 1;
}
#header-sub .menu-group.format-lang {
  position: absolute;
  right: 185px;
  top: 12px;
}
#header-sub .menu-group.format-lang li {
  display: inline-block;
  font-size: 0.81em;
  margin-top: 10px;
}
#header-sub #nav-search {
  float: left;
  margin-top: 8px;
  margin-right: 20px;
}
#header-sub #logo-site {
  position: absolute;
  right: 0;
  top: 5px;
}
#header-sub #logo-site h1 {
  margin: 0;
  padding: 0;
  line-height: 1;
}
#header-sub #logo-site h1 img {
  width: 165px;
  height: 40px;
}

#sitename {
  margin-top: 20px;
}
#sitename:first-child {
  margin-top: 0;
}
#sitename h1, #sitename p {
  margin: 0;
  padding: 0;
}

#nav-global {
  position: relative;
  z-index: 10;
  background: #FFF;
}
#nav-global .menu-group {
  display: table;
  border-collapse: separate;
  border-spacing: 5px;
  height: 62px;
  width: 100%;
}
#nav-global .menu-group > li {
  display: table-cell;
  position: relative;
  width: 16.66666%;
  overflow: hidden;
  padding: 1px 1px 0 1px;  
}
#nav-global .menu-group > li a {
  display: block;
  padding: 10px 0 15px;
  height: 100%;
  text-decoration: none;
  color: #000;
  font-weight: bold;
}
#nav-global .menu-group > li a:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 5px;
  width: 100%;
}
#nav-global .menu-group > li a:hover {
  opacity: 0.7;
}
#nav-global .menu-group > li.current a {
  overflow: hidden;
}
#nav-global .menu-group > li.current a:before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 50%;
  bottom: 0;
  height: 9px;
  width: 9px;
  margin-left: -3px;
  background: #000;
  transform: rotate(-45deg);
}
#nav-global .menu-group > li.menu-home a:after {
  background: #7176A4;
}
#nav-global .menu-group > li.menu-home.current a:before {
  background: #7176A4;
}
#nav-global .menu-group > li.menu-about a:after {
  background: #d865aa;
}
#nav-global .menu-group > li.menu-about.current a:before {
  background: #d865aa;
}
#nav-global .menu-group > li.menu-news a:after {
  background: #77b140;
}
#nav-global .menu-group > li.menu-news.current a:before {
  background: #77b140;
}
#nav-global .menu-group > li.menu-program a:after {
  background: #67abf2;
}
#nav-global .menu-group > li.menu-program.current a:before {
  background: #67abf2;
}
#nav-global .menu-group > li.menu-support a:after {
  background: #c55f79;
}
#nav-global .menu-group > li.menu-support.current a:before {
  background: #c55f79;
}
#nav-global .menu-group > li.menu-archive a:after {
  background: #69afaf;
}
#nav-global .menu-group > li.menu-archive.current a:before {
  background: #69afaf;
}

#footer {
  background: #f0f1f2;
  width: 100%;
  margin: 0 auto;
}
#footer > .inner {
  width: 100%;
  margin: 0 auto;
}

#footer-main {
  background: transparent;
  width: 100%;
  padding: 40px 0 0;
  margin: 0 auto;
  color: #000;
}
#footer-main > .inner {
  width: 960px;
  margin: 0 auto;
  position: relative;
}
#footer-main .pagetop {
  display: inline-block;
  position: absolute;
  right: 0;
  top: -80px;
  height: 40px;
  padding: 5px 10px 10px 15px;
  background: #F0F1F2;
  border-radius: 3px 3px 0 0;
}
#footer-main .pagetop a {
  display: inline-block;
  position: relative;
  padding-right: 1.5em;
  font-size: 0.86em;
  line-height: 1;
  color: #000;
  text-decoration: none;
}
#footer-main .pagetop a:after {
  position: absolute;
  top: 0;
  right: 0;
  font-family: "icon";
  font-weight: normal;
  content: "\e903";
  text-decoration: none;
  color: #0000cc;
}
#footer-main .pagetop a:hover {
  color: #800080;
}
#footer-main .pagetop a:hover:after {
  color: #800080;
}
#footer-main .section {
  margin-top: 0;
}
#footer-main .section .address a.title {
  display: block;
}
#footer-main .section .address a.title:hover {
  color: #800080;
  border: 1px solid #800080;
}
#footer-main .section .address a.title:hover:after {
  color: #800080;
}
#footer-main .section .title {
  border: 1px solid #7176a4;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  padding: 10px;
  font-size: 1em;
  background: #FFF;
  color: #000;
}
#footer-main .section .title .label {
  display: inline-block;
}
#footer-main .section .title:after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url("../img/common/arrow_r.png") no-repeat center center;
  background-size: contain;
  margin-top: 5px;
  text-align: center;
  text-decoration: none;
  float: right;
}
#footer-main .section .name {
  font-size: 0.86em;
  margin-top: 10px;
  font-weight: bold;
}
#footer-main .section .place {
  font-size: 0.86em;
}
#footer-main .section .tel {
  font-size: 0.86em;
}

#footer-sub {
  background: transparent;
  width: 100%;
  margin: 0 auto;
  color: #FFF;
}
#footer-sub > .inner {
  width: 960px;
  margin: 0 auto;
}

.copyright {
  display: block;
  padding: 30px 0;
  margin: 0;
  text-align: left;
  font-size: 0.7em;
  color: #000;
}

#contents {
  position: relative;
  padding: 0;
}
#contents > .inner {
  text-align: left;
}

#contents-header > .inner {
  width: 960px;
  margin: auto;
  padding: 5px 5px;
}

#contents-body > .inner {
  width: auto;
  padding-bottom: 180px;
}

body.home #contents-body > .inner {
  padding-bottom: 0;
}

.page-header > .title {
  width: 960px;
  margin: auto;
  padding: 40px 0 10px;
  margin-bottom: 60px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  border-bottom: 3px solid #DDD;
}
.page-header > .title h1 {
  font-size: 2.52em;
  margin: 0;
  color: #495458;
}
.page-header > .title p {
  font-size: 1.28em;
  color: #495458;
  font-weight: bold;
}

li,
dt,
dd {
  margin-top: 8px;
}

li:first-child,
dt:first-child,
dd:first-child {
  margin-top: 0;
}

li p,
dt p,
dd p {
  margin-top: 8px;
}
li .figure,
dt .figure,
dd .figure {
  margin-top: 8px;
}

p,
ul,
ol,
dl {
  margin-top: 24px;
}

p:first-child,
ul:first-child,
ol:first-child,
dl:first-child {
  margin-top: 0;
}

article,
aside,
figure,
blockquote,
.figure,
.row,
.panel {
  margin-top: 24px;
}

article:first-child,
aside:first-child,
figure:first-child,
blockquote:first-child,
.figure:first-child,
.row:first-child,
.panel:first-child {
  margin-top: 0;
}

section,
.section,
article,
.article,
aside,
.aside {
  margin-top: 120px;
}
section:first-child,
.section:first-child,
article:first-child,
.article:first-child,
aside:first-child,
.aside:first-child {
  margin-top: 0;
}
section section,
section .section,
section article,
section .article,
section aside,
section .aside,
.section section,
.section .section,
.section article,
.section .article,
.section aside,
.section .aside,
article section,
article .section,
article article,
article .article,
article aside,
article .aside,
.article section,
.article .section,
.article article,
.article .article,
.article aside,
.article .aside,
aside section,
aside .section,
aside article,
aside .article,
aside aside,
aside .aside,
.aside section,
.aside .section,
.aside article,
.aside .article,
.aside aside,
.aside .aside {
  margin-top: 90px;
}
section section:first-child,
section .section:first-child,
section article:first-child,
section .article:first-child,
section aside:first-child,
section .aside:first-child,
.section section:first-child,
.section .section:first-child,
.section article:first-child,
.section .article:first-child,
.section aside:first-child,
.section .aside:first-child,
article section:first-child,
article .section:first-child,
article article:first-child,
article .article:first-child,
article aside:first-child,
article .aside:first-child,
.article section:first-child,
.article .section:first-child,
.article article:first-child,
.article .article:first-child,
.article aside:first-child,
.article .aside:first-child,
aside section:first-child,
aside .section:first-child,
aside article:first-child,
aside .article:first-child,
aside aside:first-child,
aside .aside:first-child,
.aside section:first-child,
.aside .section:first-child,
.aside article:first-child,
.aside .article:first-child,
.aside aside:first-child,
.aside .aside:first-child {
  margin-top: 0;
}
section section section,
section section .section,
section section article,
section section .article,
section section aside,
section section .aside,
section .section section,
section .section .section,
section .section article,
section .section .article,
section .section aside,
section .section .aside,
section article section,
section article .section,
section article article,
section article .article,
section article aside,
section article .aside,
section .article section,
section .article .section,
section .article article,
section .article .article,
section .article aside,
section .article .aside,
section aside section,
section aside .section,
section aside article,
section aside .article,
section aside aside,
section aside .aside,
section .aside section,
section .aside .section,
section .aside article,
section .aside .article,
section .aside aside,
section .aside .aside,
.section section section,
.section section .section,
.section section article,
.section section .article,
.section section aside,
.section section .aside,
.section .section section,
.section .section .section,
.section .section article,
.section .section .article,
.section .section aside,
.section .section .aside,
.section article section,
.section article .section,
.section article article,
.section article .article,
.section article aside,
.section article .aside,
.section .article section,
.section .article .section,
.section .article article,
.section .article .article,
.section .article aside,
.section .article .aside,
.section aside section,
.section aside .section,
.section aside article,
.section aside .article,
.section aside aside,
.section aside .aside,
.section .aside section,
.section .aside .section,
.section .aside article,
.section .aside .article,
.section .aside aside,
.section .aside .aside,
article section section,
article section .section,
article section article,
article section .article,
article section aside,
article section .aside,
article .section section,
article .section .section,
article .section article,
article .section .article,
article .section aside,
article .section .aside,
article article section,
article article .section,
article article article,
article article .article,
article article aside,
article article .aside,
article .article section,
article .article .section,
article .article article,
article .article .article,
article .article aside,
article .article .aside,
article aside section,
article aside .section,
article aside article,
article aside .article,
article aside aside,
article aside .aside,
article .aside section,
article .aside .section,
article .aside article,
article .aside .article,
article .aside aside,
article .aside .aside,
.article section section,
.article section .section,
.article section article,
.article section .article,
.article section aside,
.article section .aside,
.article .section section,
.article .section .section,
.article .section article,
.article .section .article,
.article .section aside,
.article .section .aside,
.article article section,
.article article .section,
.article article article,
.article article .article,
.article article aside,
.article article .aside,
.article .article section,
.article .article .section,
.article .article article,
.article .article .article,
.article .article aside,
.article .article .aside,
.article aside section,
.article aside .section,
.article aside article,
.article aside .article,
.article aside aside,
.article aside .aside,
.article .aside section,
.article .aside .section,
.article .aside article,
.article .aside .article,
.article .aside aside,
.article .aside .aside,
aside section section,
aside section .section,
aside section article,
aside section .article,
aside section aside,
aside section .aside,
aside .section section,
aside .section .section,
aside .section article,
aside .section .article,
aside .section aside,
aside .section .aside,
aside article section,
aside article .section,
aside article article,
aside article .article,
aside article aside,
aside article .aside,
aside .article section,
aside .article .section,
aside .article article,
aside .article .article,
aside .article aside,
aside .article .aside,
aside aside section,
aside aside .section,
aside aside article,
aside aside .article,
aside aside aside,
aside aside .aside,
aside .aside section,
aside .aside .section,
aside .aside article,
aside .aside .article,
aside .aside aside,
aside .aside .aside,
.aside section section,
.aside section .section,
.aside section article,
.aside section .article,
.aside section aside,
.aside section .aside,
.aside .section section,
.aside .section .section,
.aside .section article,
.aside .section .article,
.aside .section aside,
.aside .section .aside,
.aside article section,
.aside article .section,
.aside article article,
.aside article .article,
.aside article aside,
.aside article .aside,
.aside .article section,
.aside .article .section,
.aside .article article,
.aside .article .article,
.aside .article aside,
.aside .article .aside,
.aside aside section,
.aside aside .section,
.aside aside article,
.aside aside .article,
.aside aside aside,
.aside aside .aside,
.aside .aside section,
.aside .aside .section,
.aside .aside article,
.aside .aside .article,
.aside .aside aside,
.aside .aside .aside {
  margin-top: 60px;
}
section section section:first-child,
section section .section:first-child,
section section article:first-child,
section section .article:first-child,
section section aside:first-child,
section section .aside:first-child,
section .section section:first-child,
section .section .section:first-child,
section .section article:first-child,
section .section .article:first-child,
section .section aside:first-child,
section .section .aside:first-child,
section article section:first-child,
section article .section:first-child,
section article article:first-child,
section article .article:first-child,
section article aside:first-child,
section article .aside:first-child,
section .article section:first-child,
section .article .section:first-child,
section .article article:first-child,
section .article .article:first-child,
section .article aside:first-child,
section .article .aside:first-child,
section aside section:first-child,
section aside .section:first-child,
section aside article:first-child,
section aside .article:first-child,
section aside aside:first-child,
section aside .aside:first-child,
section .aside section:first-child,
section .aside .section:first-child,
section .aside article:first-child,
section .aside .article:first-child,
section .aside aside:first-child,
section .aside .aside:first-child,
.section section section:first-child,
.section section .section:first-child,
.section section article:first-child,
.section section .article:first-child,
.section section aside:first-child,
.section section .aside:first-child,
.section .section section:first-child,
.section .section .section:first-child,
.section .section article:first-child,
.section .section .article:first-child,
.section .section aside:first-child,
.section .section .aside:first-child,
.section article section:first-child,
.section article .section:first-child,
.section article article:first-child,
.section article .article:first-child,
.section article aside:first-child,
.section article .aside:first-child,
.section .article section:first-child,
.section .article .section:first-child,
.section .article article:first-child,
.section .article .article:first-child,
.section .article aside:first-child,
.section .article .aside:first-child,
.section aside section:first-child,
.section aside .section:first-child,
.section aside article:first-child,
.section aside .article:first-child,
.section aside aside:first-child,
.section aside .aside:first-child,
.section .aside section:first-child,
.section .aside .section:first-child,
.section .aside article:first-child,
.section .aside .article:first-child,
.section .aside aside:first-child,
.section .aside .aside:first-child,
article section section:first-child,
article section .section:first-child,
article section article:first-child,
article section .article:first-child,
article section aside:first-child,
article section .aside:first-child,
article .section section:first-child,
article .section .section:first-child,
article .section article:first-child,
article .section .article:first-child,
article .section aside:first-child,
article .section .aside:first-child,
article article section:first-child,
article article .section:first-child,
article article article:first-child,
article article .article:first-child,
article article aside:first-child,
article article .aside:first-child,
article .article section:first-child,
article .article .section:first-child,
article .article article:first-child,
article .article .article:first-child,
article .article aside:first-child,
article .article .aside:first-child,
article aside section:first-child,
article aside .section:first-child,
article aside article:first-child,
article aside .article:first-child,
article aside aside:first-child,
article aside .aside:first-child,
article .aside section:first-child,
article .aside .section:first-child,
article .aside article:first-child,
article .aside .article:first-child,
article .aside aside:first-child,
article .aside .aside:first-child,
.article section section:first-child,
.article section .section:first-child,
.article section article:first-child,
.article section .article:first-child,
.article section aside:first-child,
.article section .aside:first-child,
.article .section section:first-child,
.article .section .section:first-child,
.article .section article:first-child,
.article .section .article:first-child,
.article .section aside:first-child,
.article .section .aside:first-child,
.article article section:first-child,
.article article .section:first-child,
.article article article:first-child,
.article article .article:first-child,
.article article aside:first-child,
.article article .aside:first-child,
.article .article section:first-child,
.article .article .section:first-child,
.article .article article:first-child,
.article .article .article:first-child,
.article .article aside:first-child,
.article .article .aside:first-child,
.article aside section:first-child,
.article aside .section:first-child,
.article aside article:first-child,
.article aside .article:first-child,
.article aside aside:first-child,
.article aside .aside:first-child,
.article .aside section:first-child,
.article .aside .section:first-child,
.article .aside article:first-child,
.article .aside .article:first-child,
.article .aside aside:first-child,
.article .aside .aside:first-child,
aside section section:first-child,
aside section .section:first-child,
aside section article:first-child,
aside section .article:first-child,
aside section aside:first-child,
aside section .aside:first-child,
aside .section section:first-child,
aside .section .section:first-child,
aside .section article:first-child,
aside .section .article:first-child,
aside .section aside:first-child,
aside .section .aside:first-child,
aside article section:first-child,
aside article .section:first-child,
aside article article:first-child,
aside article .article:first-child,
aside article aside:first-child,
aside article .aside:first-child,
aside .article section:first-child,
aside .article .section:first-child,
aside .article article:first-child,
aside .article .article:first-child,
aside .article aside:first-child,
aside .article .aside:first-child,
aside aside section:first-child,
aside aside .section:first-child,
aside aside article:first-child,
aside aside .article:first-child,
aside aside aside:first-child,
aside aside .aside:first-child,
aside .aside section:first-child,
aside .aside .section:first-child,
aside .aside article:first-child,
aside .aside .article:first-child,
aside .aside aside:first-child,
aside .aside .aside:first-child,
.aside section section:first-child,
.aside section .section:first-child,
.aside section article:first-child,
.aside section .article:first-child,
.aside section aside:first-child,
.aside section .aside:first-child,
.aside .section section:first-child,
.aside .section .section:first-child,
.aside .section article:first-child,
.aside .section .article:first-child,
.aside .section aside:first-child,
.aside .section .aside:first-child,
.aside article section:first-child,
.aside article .section:first-child,
.aside article article:first-child,
.aside article .article:first-child,
.aside article aside:first-child,
.aside article .aside:first-child,
.aside .article section:first-child,
.aside .article .section:first-child,
.aside .article article:first-child,
.aside .article .article:first-child,
.aside .article aside:first-child,
.aside .article .aside:first-child,
.aside aside section:first-child,
.aside aside .section:first-child,
.aside aside article:first-child,
.aside aside .article:first-child,
.aside aside aside:first-child,
.aside aside .aside:first-child,
.aside .aside section:first-child,
.aside .aside .section:first-child,
.aside .aside article:first-child,
.aside .aside .article:first-child,
.aside .aside aside:first-child,
.aside .aside .aside:first-child {
  margin-top: 0;
}

section,
.section,
article,
.article,
aside,
.aside,
header,
.header,
.layout {
  width: 960px;
  margin-right: auto;
  margin-left: auto;
}
section section,
section .section,
section article,
section .article,
section aside,
section .aside,
section header,
section .header,
.section section,
.section .section,
.section article,
.section .article,
.section aside,
.section .aside,
.section header,
.section .header,
article section,
article .section,
article article,
article .article,
article aside,
article .aside,
article header,
article .header,
.article section,
.article .section,
.article article,
.article .article,
.article aside,
.article .aside,
.article header,
.article .header,
aside section,
aside .section,
aside article,
aside .article,
aside aside,
aside .aside,
aside header,
aside .header,
.aside section,
.aside .section,
.aside article,
.aside .article,
.aside aside,
.aside .aside,
.aside header,
.aside .header,
header section,
header .section,
header article,
header .article,
header aside,
header .aside,
header header,
header .header,
.header section,
.header .section,
.header article,
.header .article,
.header aside,
.header .aside,
.header header,
.header .header,
.layout section,
.layout .section,
.layout article,
.layout .article,
.layout aside,
.layout .aside,
.layout header,
.layout .header {
  width: auto;
}
section.format-wider,
.section.format-wider,
article.format-wider,
.article.format-wider,
aside.format-wider,
.aside.format-wider,
header.format-wider,
.header.format-wider,
.layout.format-wider {
  width: 100%;
  padding-top: 0;
  padding-bottom: 60px;
}
section.format-wider > .inner,
.section.format-wider > .inner,
article.format-wider > .inner,
.article.format-wider > .inner,
aside.format-wider > .inner,
.aside.format-wider > .inner,
header.format-wider > .inner,
.header.format-wider > .inner,
.layout.format-wider > .inner {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}
section.format-wide,
.section.format-wide,
article.format-wide,
.article.format-wide,
aside.format-wide,
.aside.format-wide,
header.format-wide,
.header.format-wide,
.layout.format-wide {
  width: auto;
  max-width: 960px;
}
section.format-default,
.section.format-default,
article.format-default,
.article.format-default,
aside.format-default,
.aside.format-default,
header.format-default,
.header.format-default,
.layout.format-default {
  width: auto;
  max-width: 720px;
}
section.format-narrow,
.section.format-narrow,
article.format-narrow,
.article.format-narrow,
aside.format-narrow,
.aside.format-narrow,
header.format-narrow,
.header.format-narrow,
.layout.format-narrow {
  width: auto;
  max-width: 480px;
}
section > .inner.format-wide,
.section > .inner.format-wide,
article > .inner.format-wide,
.article > .inner.format-wide,
aside > .inner.format-wide,
.aside > .inner.format-wide,
header > .inner.format-wide,
.header > .inner.format-wide,
.layout > .inner.format-wide {
  width: auto;
  margin: auto;
  max-width: 960px;
}
section > .inner.format-default,
.section > .inner.format-default,
article > .inner.format-default,
.article > .inner.format-default,
aside > .inner.format-default,
.aside > .inner.format-default,
header > .inner.format-default,
.header > .inner.format-default,
.layout > .inner.format-default {
  width: auto;
  margin: auto;
  max-width: 720px;
}
section > .inner.format-narrow,
.section > .inner.format-narrow,
article > .inner.format-narrow,
.article > .inner.format-narrow,
aside > .inner.format-narrow,
.aside > .inner.format-narrow,
header > .inner.format-narrow,
.header > .inner.format-narrow,
.layout > .inner.format-narrow {
  width: auto;
  margin: auto;
  max-width: 480px;
}

.panel {
  overflow: hidden;
  border: 1px solid #F0F1F2;
  background: #F0F1F2;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  margin-top: 24px;
  padding: 30px 30px;
}
.panel:first-child {
  margin-top: 0;
}
.panel.bg-main {
  background: #454A7B;
  color: #FFF;
}

.panel-group.panel-col-2 {
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  justify-content: space-between;
}
.panel-group.panel-col-2 > .panel {
  margin-top: 24px;
  width: calc(50% - 10px );
}

.section {
  text-align: left;
}
.section.sc-news {
  margin: 30px 0 0;
  width: 100%;
  background: #FFF;
}
.section.sc-news > .inner {
  width: 960px;
  margin: auto;
}
.section.sc-news > .inner > .header h2 {
  margin: 0;
  font-size: 1.28em;
  padding: 15px 0;
  font-weight: bold;
  letter-spacing: 2px;
  border-radius: 3px 3px 0 0;
}
.section.sc-program {
  margin: 60px 0 0;
  width: 100%;
  padding: 60px 0 100px;
/*  background: #7176a4; */
	background: #7172a0;
}
.section.sc-program > .inner {
  width: 960px;
  margin: auto;
}
.section.sc-program > .inner > .header h2 {
  color: #FFF;
}

.aside.ac-calcon {
  margin-top: 0;
}
.aside.ac-calcon .banner-group {
  padding: 40px 0;
}
.aside.ac-calcon .banner-group .banner {
  text-align: center;
}
.aside.ac-calcon .banner-group .banner img {
  width: 600px;
  height: 80px;
  border: 1px solid transparent;
}
.aside.ac-calcon .banner-group .banner a:hover img {
  opacity: 1;
  border: 1px solid #800080;
}

.item-group {
  width: auto;
  margin-left: -10px;
  margin-right: -10px;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}
.item-group .item {
  width: 33.33333%;
  padding: 10px;
}
.item-group .item > .inner {
  border: 1px solid #FFF;
  border-radius: 3px;
  overflow: hidden;
  color: black;
  text-decoration: none;
  display: block;
  position: relative;
  background: #FFF;
  height: 100%;
  position: relative;
}
.item-group .item > .inner:after {
  position: absolute;
  bottom: 3px;
  right: 3px;
  font-family: "icon";
  font-weight: normal;
  content: "\e902";
  color: #00C;
}
.item-group .item > .inner:hover {
  color: #800080;
  opacity: 0.8;
}
.item-group .item > .inner:hover:before, .item-group .item > .inner:hover:after {
  color: #800080;
}
.item-group .item .thumb img {
  height: 220px;
}
.item-group .item .body {
  padding: 15px 20px 30px;
}

.search {
  overflow: hidden;
  background: #FFF;
  border: 1px solid #7176a4;
  border-radius: 5px;
}
.search .search-field {
  border: 0 none !important;
  outline: none;
  border-radius: 3px 0 0 3px;
  width: 200px;
  height: 30px;
  float: left;
}
.search .search-button {
  float: right;
  background: url("../img/common/icon_g_search.png") #7176a4 no-repeat center center;
  background-size: 20px;
  width: 30px;
  height: 30px;
  border: none;
}

.list.list-archive > li {
  border-bottom: 1px dotted #ccc;
  margin: 0;
}
.list.list-archive > li:first-child {
  border-top: 1px dotted #ccc;
}
.list.list-archive > li > .inner {
  display: table;
  text-decoration: none;
  padding: 15px 0;
}
.list.list-archive > li > .inner > .header {
  display: table-cell;
  width: 160px;
}
.list.list-archive > li > .inner > .header .date {
  color: #000;
}
.list.list-archive > li > .inner > .body {
  display: table-cell;
}

/* 20190220 add */
.pl1 { padding-left:1em;}
.pl1_5 { padding-left:1.5em;}
.pl2 { padding-left:2em;}
.pl3 { padding-left:3em;}
.pl4 { padding-left:4em;}
.pl4_5 { padding-left:4.5em;}
.pl5 { padding-left:5em;}
.pl6 { padding-left:6em;}

dl.basic dt {
	float: left;
	padding-right: 2em;
}

.mr0_5 {margin-right: 0.5em;}
.mr1 {margin-right: 1em;}
.mr1_5 {margin-right: 1.5em;}
.mr2 {margin-right: 2em;}
.mr3 {margin-right: 3em;}
.mr4 {margin-right: 4em;}
.mr5 {margin-right: 5em;}

.ml0_5 {margin-left: 0.5em;}
.ml1 {margin-left: 1em;}
.ml1_5 {margin-left: 1.5em;}
.ml2 {margin-left: 2em;}
.ml3 {margin-left: 3em;}
.ml4 {margin-left: 4em;}
.ml5 {margin-left: 5em;}
.ml6 {margin-left: 6em;}
.ml7 {margin-left: 7em;}
.ml8 {margin-left: 8em;}
.ml10 {margin-left: 10em;}

.inlineblock {
	display: inline-block;
}

/* 20201105 add */
.summary h3 {
  margin-top: 2em;
  margin-bottom: 0.5em;
}

/* 20201130 add */
.gridline {
  border: 2px solid #cccccc;
  display: inline-block;
  padding: 10px 20px 10px 20px;
  font-weight: normal;
  text-decoration: none;
  background: #FFF;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  position: relative;
  width: 70%;
}
.list-dot li {
	list-style-type: disc;
}

.dot_line {
border-top: dotted 1px #767676;
}

.small1_2 {
	font-size: 1.2em;
}
dl.heading dt {
	font-weight: bold;
}
dl.heading dd {
	margin-bottom: 2em;
}

/* 20210916 add */
dl.column dt {
	float: left;
	width: 5em;
}
dl.column dd {
	margin-left: 5em;
}

/* 20220329 add */
.box_top {
    padding: 0.5em 1em;
    margin: 2em 0;
    border: double 5px #7176A4;
	background: #FFF;
	width: 955px;
    height: 300px;
}
.box_top h1 {
    text-decoration: none;
	margin-top: 50px !important;
    text-align: center !important; 
	line-height:70px;
	font-size: 42px;
	font-weight: bold;
	color: #6a5acd;
}
.box_top a {
    text-decoration: none
}
.fz-32l {
  font-size: 2.0em !important;
}
.slateblue {
	color: #6a5acd;
}