@charset "UTF-8";
/* reset ------------------------------------- */
body {
  margin: 0;
  padding: 0;
  color: #555;
  font-size: 14px;
  font-family: "¥Ò¥é¥®¥Î½Ç¥´ Pro W3", "Hiragino Kaku Gothic Pro", "¥á¥¤¥ê¥ª", Meiryo, sans-serif;
  background-color: #fff;
  -webkit-text-size-adjust: 100%;
}
html[lang=en] body {
  font-family: Roboto, Helvetica, Arial, sans-serif;
}

header, footer, main, article, aside, section, nav, figure, figcaption {
  display: block;
  margin: 0;
  padding: 0;
  font-size: 100%;
}

h1, h2, h3, h4, h5, h6, p, th, td, li, dt, dd {
  margin: 0;
  padding: 0;
  font-size: 100%;
  line-height: 1.6em;
  -webkit-text-size-adjust: 100%;
}

h1, h2, h3, h4, h5, h6 {
  color: #546c85;
  font-weight: normal;
}

ul, ol {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

dl, form, fieldset, iframe {
  margin: 0;
  padding: 0;
}

fieldset, iframe {
  border-style: none;
}

input[type=text], textarea {
  font-size: 100%;
  font-family: "¥Ò¥é¥®¥Î½Ç¥´ Pro W3", "Hiragino Kaku Gothic Pro", "¥á¥¤¥ê¥ª", Meiryo, sans-serif;
  -webkit-appearance: none;
  outline: none;
  border-radius: 0;
}

input[type=input], input[type=reset], input[type=button], input[type=submit], button {
  font-size: 100%;
  font-family: "¥Ò¥é¥®¥Î½Ç¥´ Pro W3", "Hiragino Kaku Gothic Pro", "¥á¥¤¥ê¥ª", Meiryo, sans-serif;
  -webkit-appearance: none;
  outline: none;
  border-radius: 0;
  cursor: pointer;
}
input[type=input]:focus, input[type=reset]:focus, input[type=button]:focus, input[type=submit]:focus, button:focus {
  outline: none;
}

select, label {
  font-size: 100%;
  font-family: "¥Ò¥é¥®¥Î½Ç¥´ Pro W3", "Hiragino Kaku Gothic Pro", "¥á¥¤¥ê¥ª", Meiryo, sans-serif;
  cursor: pointer;
}

select {
  font-size: 100%;
  font-family: "¥Ò¥é¥®¥Î½Ç¥´ Pro W3", "Hiragino Kaku Gothic Pro", "¥á¥¤¥ê¥ª", Meiryo, sans-serif;
  outline: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

th {
  font-weight: normal;
  text-align: left;
}

caption {
  width: 100%;
  text-align: left;
}

strong, em, address {
  font-weight: normal;
  font-style: normal;
}

small {
  font-size: 100%;
}

img {
  border-style: none;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic;
}

iframe {
  width: 100%;
}

* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* clearfix  */
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}
h1 + .clearfix {
  margin-top: 40px;
}

/* common ------------------------------------ */
@media only screen and (min-width: 801px) {
  body[data-font-control=fontSizeL] #container,
body[data-font-control=fontSizeL] > main article > *:not(#pageTop) {
    font-size: 1.14em;
  }
}

#fb-root {
  margin-top: 0;
}

a {
  color: #004ea2;
  text-decoration: none;
}
a:hover, a:active {
  color: #004ea2;
}
a:hover {
  text-decoration: underline;
}
a.blank:after, a.pdf:after, a.doc:after, a.xls:after, a.zip:after {
  content: "";
  display: inline-block;
  margin-left: 5px;
  vertical-align: middle;
}
a.blank:after {
  background: url("/common/img/icons-s4871128572.png") -176px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}
a.pdf:after {
  background: url("/common/img/icons-s4871128572.png") -1306px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}
a.doc:after {
  background: url("/common/img/icons-s4871128572.png") -1808px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}
a.xls:after {
  background: url("/common/img/icons-s4871128572.png") -818px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}
a.zip:after {
  background: url("/common/img/icons-s4871128572.png") -1934px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}

.nolink > a[target=_blank]:after, .nolink > a[href*=".pdf"]:after, .nolink > a[href*=".doc"]:after, .nolink > a[href*=".xls"]:after, .nolink > a[href*=".zip"]:after {
  display: none;
}

.nowrap {
  white-space: nowrap;
}

strong {
  color: #e66262;
}

em,
em strong {
  font-weight: bold;
}

sub,
sup {
  font-size: 0.7em;
}

* + p,
* + ul,
* + ol,
* + dl,
* + figure,
* + table,
* + iframe,
* + div {
  margin-top: 20px;
}

script, script:first-child + * {
  margin-top: 0;
}

/* content ----------------------------------- */
/* heading */
h1 {
  font-size: 2.14em;
  font-weight: bold;
  line-height: 1.2em;
  border-bottom: 2px solid #004ea2;
  padding-bottom: 0.5em;
}

h2 a, h3 a, h4 a, h5 a, h6 a {
  display: inline-block;
  color: #555;
}

h2,
.wm-h2 {
  position: relative;
  padding: 0 0 0.5em;
  font-size: 1.43em;
  font-weight: bold;
  line-height: 1.2em;
  border-bottom: 2px solid #ddd;
}
h2:after,
.wm-h2:after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  display: block;
  width: 34%;
  border-bottom: solid 2px #004ea2;
}

h3,
.wm-h3 {
  position: relative;
  padding: 0 0 0.5em 0;
  font-size: 1.14em;
  line-height: 1.2em;
  border-bottom: 1px solid #ddd;
}

h4,
.wm-h4 {
  position: relative;
  padding: 0 0 0 20px;
  font-size: 1.14em;
  line-height: 1.2em;
  border-style: none;
}
h4:before,
.wm-h4:before {
  content: "";
  position: absolute;
  top: 0.1em;
  bottom: 0.2em;
  left: 0;
  display: block;
  border-left: 3px solid #004ea2;
}

h5,
.wm-h5 {
  position: relative;
  padding: 0 0 0 25px;
  font-size: 1em;
  line-height: 1.2em;
  border-style: none;
}
h5:before,
.wm-h5:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 14px;
  height: 2px;
  margin-top: -2px;
  background-color: #004ea2;
}

h6,
.wm-h6 {
  padding: 0;
  font-size: 1em;
  line-height: 1.2em;
  border-style: none;
}

.copytxt {
  color: #06a557;
}

* + h2,
* + h3,
* + h4,
* + h5,
* + h6,
* + .catchCopy {
  margin-top: 60px;
}

h2 + h3,
h3 + h4,
h4 + h5,
h5 + h6 {
  margin-top: 20px;
}

h1 + .clearfix > *:first-child > h2:first-child,
h1 + .clearfix > *:first-child + * > h2:first-child,
h2 + .clearfix > *:first-child > h3:first-child,
h2 + .clearfix > *:first-child + * > h3:first-child,
h3 + .clearfix > *:first-child > h4:first-child,
h3 + .clearfix > *:first-child + * > h4:first-child,
h4 + .clearfix > *:first-child > h5:first-child,
h4 + .clearfix > *:first-child + * > h5:first-child,
h5 + .clearfix > *:first-child > h6:first-child h5 + .clearfix > *:first-child + * > h6:first-child {
  margin-top: 0;
}

* + .clearfix .sideL > h2:first-child,
* + .clearfix .sideL > h3:first-child,
* + .clearfix .sideL > h4:first-child,
* + .clearfix .sideL > h5:first-child,
* + .clearfix .sideL > h6:first-child,
* + .clearfix .sideR > h2:first-child,
* + .clearfix .sideR > h3:first-child,
* + .clearfix .sideR > h4:first-child,
* + .clearfix .sideR > h5:first-child,
* + .clearfix .sideR > h6:first-child {
  margin-top: 40px;
}

/* paragraph -------------------------------- */
p {
  word-wrap: break-word;
}

.alignR {
  text-align: right;
}

.alignC,
.posC {
  text-align: center;
}

span.alignR,
span.alignC {
  display: block;
}

.catchCopy {
  font-size: 1.43em;
  color: #06a557;
}

.wm-border,
.wm-background,
.wm-border-background,
.emFrame {
  padding: 19px;
}
* + .wm-border,
.wm-border + *:not(h2):not(h3):not(h4):not(h5):not(h6),
* + .wm-background,
.wm-background + *:not(h2):not(h3):not(h4):not(h5):not(h6),
* + .wm-border-background,
.wm-border-background + *:not(h2):not(h3):not(h4):not(h5):not(h6),
* + .emFrame,
.emFrame + *:not(h2):not(h3):not(h4):not(h5):not(h6) {
  margin-top: 30px;
}
.wm-border *:first-child,
.wm-background *:first-child,
.wm-border-background *:first-child,
.emFrame *:first-child {
  margin-top: 0;
}
.wm-border .linkFree:first-child,
.wm-background .linkFree:first-child,
.wm-border-background .linkFree:first-child,
.emFrame .linkFree:first-child {
  margin-top: -10px;
}

.wm-border {
  border: 1px solid #bbc4ce;
  background-color: #fff;
}

.wm-background {
  border: 1px solid #06a557;
  background-color: #fff;
}

.wm-border-background {
  border: 1px solid #e66262;
  background-color: #fef7f7;
}

/* table -------------------------------- */
table {
  width: 100%;
}

caption {
  width: 100%;
  padding-bottom: 0.5em;
}

td,
th {
  padding: 1em;
  border: 1px solid #ddd;
}

th {
  background-color: #e6edf6;
}

.headTable thead th {
  background-color: #e6edf6;
}

table.dataTable tbody td.addTd {
  display: none;
}

.cellspan_wrapper {
  max-width: 100%;
  overflow-x: auto;
}
.cellspan_wrapper::-webkit-scrollbar {
  height: 5px;
}
.cellspan_wrapper::-webkit-scrollbar-track {
  border-radius: 5px;
  background: #ddd;
}
.cellspan_wrapper::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background: #999;
}

@media only screen and (max-width: 640px) {
  .cellspan_wrapper {
    display: contents;
  }
  table,
caption,
tbody,
tfoot,
tr,
th,
td {
    display: block;
    width: 100%;
  }
  thead {
    display: none;
  }
  tbody td[data-item-name]:before {
    content: attr(data-item-name) "£º";
  }
  th,
td {
    width: auto !important;
  }
  * + tr > *:first-child {
    margin-top: 20px;
  }
  td {
    margin-top: -1px;
  }
  table.cellspan {
    position: relative;
    overflow-x: auto;
  }
  table.cellspan::-webkit-scrollbar {
    height: 5px;
  }
  table.cellspan::-webkit-scrollbar-track {
    border-radius: 5px;
    background: #ddd;
  }
  table.cellspan::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: #999;
  }
  table.cellspan thead {
    display: block;
    width: 100%;
  }
  table.cellspan tbody {
    display: block;
    width: auto;
    position: relative;
    white-space: nowrap;
  }
  table.cellspan tr {
    display: table-row;
  }
  table.cellspan th,
table.cellspan td {
    display: table-cell;
  }
  table.noblock {
    display: table;
  }
  table.noblock caption {
    display: table-caption;
    vertical-align: middle;
    border-color: inherit;
    white-space: normal;
  }
  table.noblock thead,
table.noblock tbody,
table.noblock tfoot {
    display: table-row-group;
    vertical-align: middle;
    border-color: inherit;
    white-space: normal;
  }
  table.noblock tr {
    display: table-row;
    vertical-align: inherit;
    border-color: inherit;
  }
  table.noblock td, table.noblock th {
    display: table-cell;
    vertical-align: inherit;
    padding: 0.5em;
  }
  table.dataTable.cellspan {
    overflow-x: inherit;
  }
  table.dataTable.cellspan::-webkit-scrollbar {
    display: none;
  }
  table.dataTable.cellspan::-webkit-scrollbar-track {
    display: none;
  }
  table.dataTable.cellspan::-webkit-scrollbar-thumb {
    display: none;
  }
  table.dataTable thead th {
    display: none;
  }
  table.dataTable thead th[colspan]:first-child:last-child {
    display: block;
    margin-bottom: 20px;
  }
  table.dataTable tbody td[data-item-name],
table.dataTable tbody td[data-item-name] * {
    text-align: left;
  }
  table.dataTable tbody td[data-item-name]:before {
    content: attr(data-item-name) "£º";
    vertical-align: top;
  }
  html[lang=en] table.dataTable tbody td[data-item-name]:before {
    content: attr(data-item-name) ": ";
    vertical-align: top;
  }
  table.dataTable tbody th, table.dataTable tbody td {
    display: block;
    width: 100% !important;
    max-height: 100%;
    background-color: #fff !important;
    font-weight: normal;
    box-sizing: border-box;
    white-space: normal;
  }
  table.dataTable tbody td.addTd {
    display: block;
  }
}
/* list -------------------------------- */
li ul,
li ol {
  margin: 0.5em 0 0 1em;
}

.indChr1 > li + li,
.indChr2 > li + li,
.indChr3 > li + li {
  margin-top: 0.5em;
}

ul.wm-list > li {
  position: relative;
  padding-left: 1.6em;
}
ul.wm-list > li + li {
  margin-top: 0.5em;
}
ul.wm-list > li:before {
  content: "?";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 1em;
  text-align: center;
}
ul.wm-list > li.icon {
  padding-left: 0;
}
ul.wm-list > li.icon:before {
  display: none;
}
ul.wm-list > li.blank {
  padding-left: 20px;
}
ul.wm-list > li.blank:before {
  content: "";
  background: url("/common/img/icons-s4871128572.png") -176px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}
ul.wm-list > li.pdf {
  padding-left: 20px;
}
ul.wm-list > li.pdf:before {
  content: "";
  background: url("/common/img/icons-s4871128572.png") -1306px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}

ol.wm-list {
  padding-left: 1.6em;
  list-style-type: decimal;
}
ol.wm-list > li {
  position: relative;
}
ol.wm-list > li + li {
  margin-top: 0.5em;
}

ol[style*=list-style] {
  padding-left: 2em;
}

ul.checkList > li {
  position: relative;
  padding-left: 1.6em;
}
ul.checkList > li + li {
  margin-top: 0.5em;
}
ul.checkList > li:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 1em;
  text-align: center;
  background: url("/common/img/icons-s4871128572.png") -1974px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}

/* links -------------------------------- */
ul.icon > li > a,
.infoList > a,
.icon > a {
  padding-left: 15px;
}
ul.icon > li > a:before,
.infoList > a:before,
.icon > a:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: 0.8em;
  left: 0;
  margin-top: -3px;
  border-style: solid;
  border-color: transparent;
  border-color: rgba(255, 0, 0, 0);
  border-width: 3px 0 3px 5px;
  border-left-color: #06a557;
}

h2 > a {
  position: relative;
  color: #004ea2;
  text-decoration: none;
  padding-left: 0.8em;
}
h2 > a:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: 0.8em;
  left: 0;
  margin-top: -4px;
  border-style: solid;
  border-color: transparent;
  border-color: rgba(255, 0, 0, 0);
  border-width: 4px 0 4px 7px;
  border-left-color: #06a557;
}
h2 > a:before {
  top: 0.5em;
}

p > a:before, th > a:before, td > a:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: 0.8em;
  left: 3px;
  margin-top: -3px;
}

ul.icon > li > a,
p > a, th > a, td > a, h2 > a,
.infoList > a,
.icon > a {
  position: relative;
  display: inline-block;
}
ul.icon > li > a[target=_blank], ul.icon > li > a[href*=".pdf"], ul.icon > li > a[href*=".doc"], ul.icon > li > a[href*=".xls"], ul.icon > li > a[href*=".zip"], ul.icon > li > a[href*=".wmv"], ul.icon > li > a[href*=youtube],
p > a[target=_blank],
p > a[href*=".pdf"],
p > a[href*=".doc"],
p > a[href*=".xls"],
p > a[href*=".zip"],
p > a[href*=".wmv"],
p > a[href*=youtube], th > a[target=_blank], th > a[href*=".pdf"], th > a[href*=".doc"], th > a[href*=".xls"], th > a[href*=".zip"], th > a[href*=".wmv"], th > a[href*=youtube], td > a[target=_blank], td > a[href*=".pdf"], td > a[href*=".doc"], td > a[href*=".xls"], td > a[href*=".zip"], td > a[href*=".wmv"], td > a[href*=youtube], h2 > a[target=_blank], h2 > a[href*=".pdf"], h2 > a[href*=".doc"], h2 > a[href*=".xls"], h2 > a[href*=".zip"], h2 > a[href*=".wmv"], h2 > a[href*=youtube],
.infoList > a[target=_blank],
.infoList > a[href*=".pdf"],
.infoList > a[href*=".doc"],
.infoList > a[href*=".xls"],
.infoList > a[href*=".zip"],
.infoList > a[href*=".wmv"],
.infoList > a[href*=youtube],
.icon > a[target=_blank],
.icon > a[href*=".pdf"],
.icon > a[href*=".doc"],
.icon > a[href*=".xls"],
.icon > a[href*=".zip"],
.icon > a[href*=".wmv"],
.icon > a[href*=youtube] {
  padding-left: 35px;
}
ul.icon > li > a[target=_blank]:before, ul.icon > li > a[href*=".pdf"]:before, ul.icon > li > a[href*=".doc"]:before, ul.icon > li > a[href*=".xls"]:before, ul.icon > li > a[href*=".zip"]:before, ul.icon > li > a[href*=".wmv"]:before, ul.icon > li > a[href*=youtube]:before,
p > a[target=_blank]:before,
p > a[href*=".pdf"]:before,
p > a[href*=".doc"]:before,
p > a[href*=".xls"]:before,
p > a[href*=".zip"]:before,
p > a[href*=".wmv"]:before,
p > a[href*=youtube]:before, th > a[target=_blank]:before, th > a[href*=".pdf"]:before, th > a[href*=".doc"]:before, th > a[href*=".xls"]:before, th > a[href*=".zip"]:before, th > a[href*=".wmv"]:before, th > a[href*=youtube]:before, td > a[target=_blank]:before, td > a[href*=".pdf"]:before, td > a[href*=".doc"]:before, td > a[href*=".xls"]:before, td > a[href*=".zip"]:before, td > a[href*=".wmv"]:before, td > a[href*=youtube]:before, h2 > a[target=_blank]:before, h2 > a[href*=".pdf"]:before, h2 > a[href*=".doc"]:before, h2 > a[href*=".xls"]:before, h2 > a[href*=".zip"]:before, h2 > a[href*=".wmv"]:before, h2 > a[href*=youtube]:before,
.infoList > a[target=_blank]:before,
.infoList > a[href*=".pdf"]:before,
.infoList > a[href*=".doc"]:before,
.infoList > a[href*=".xls"]:before,
.infoList > a[href*=".zip"]:before,
.infoList > a[href*=".wmv"]:before,
.infoList > a[href*=youtube]:before,
.icon > a[target=_blank]:before,
.icon > a[href*=".pdf"]:before,
.icon > a[href*=".doc"]:before,
.icon > a[href*=".xls"]:before,
.icon > a[href*=".zip"]:before,
.icon > a[href*=".wmv"]:before,
.icon > a[href*=youtube]:before {
  margin: -10px 0;
  border-style: none;
}
ul.icon > li > a[target=_blank]:after, ul.icon > li > a[href*=".pdf"]:after, ul.icon > li > a[href*=".doc"]:after, ul.icon > li > a[href*=".xls"]:after, ul.icon > li > a[href*=".zip"]:after, ul.icon > li > a[href*=".wmv"]:after, ul.icon > li > a[href*=youtube]:after,
p > a[target=_blank]:after,
p > a[href*=".pdf"]:after,
p > a[href*=".doc"]:after,
p > a[href*=".xls"]:after,
p > a[href*=".zip"]:after,
p > a[href*=".wmv"]:after,
p > a[href*=youtube]:after, th > a[target=_blank]:after, th > a[href*=".pdf"]:after, th > a[href*=".doc"]:after, th > a[href*=".xls"]:after, th > a[href*=".zip"]:after, th > a[href*=".wmv"]:after, th > a[href*=youtube]:after, td > a[target=_blank]:after, td > a[href*=".pdf"]:after, td > a[href*=".doc"]:after, td > a[href*=".xls"]:after, td > a[href*=".zip"]:after, td > a[href*=".wmv"]:after, td > a[href*=youtube]:after, h2 > a[target=_blank]:after, h2 > a[href*=".pdf"]:after, h2 > a[href*=".doc"]:after, h2 > a[href*=".xls"]:after, h2 > a[href*=".zip"]:after, h2 > a[href*=".wmv"]:after, h2 > a[href*=youtube]:after,
.infoList > a[target=_blank]:after,
.infoList > a[href*=".pdf"]:after,
.infoList > a[href*=".doc"]:after,
.infoList > a[href*=".xls"]:after,
.infoList > a[href*=".zip"]:after,
.infoList > a[href*=".wmv"]:after,
.infoList > a[href*=youtube]:after,
.icon > a[target=_blank]:after,
.icon > a[href*=".pdf"]:after,
.icon > a[href*=".doc"]:after,
.icon > a[href*=".xls"]:after,
.icon > a[href*=".zip"]:after,
.icon > a[href*=".wmv"]:after,
.icon > a[href*=youtube]:after {
  display: none;
}
ul.icon > li > a[target=_blank]:before,
p > a[target=_blank]:before, th > a[target=_blank]:before, td > a[target=_blank]:before, h2 > a[target=_blank]:before,
.infoList > a[target=_blank]:before,
.icon > a[target=_blank]:before {
  background: url("/common/img/icons-s4871128572.png") -176px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}
ul.icon > li > a[href*=".pdf"]:before,
p > a[href*=".pdf"]:before, th > a[href*=".pdf"]:before, td > a[href*=".pdf"]:before, h2 > a[href*=".pdf"]:before,
.infoList > a[href*=".pdf"]:before,
.icon > a[href*=".pdf"]:before {
  background: url("/common/img/icons-s4871128572.png") -1306px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}
ul.icon > li > a[href*=".doc"]:before,
p > a[href*=".doc"]:before, th > a[href*=".doc"]:before, td > a[href*=".doc"]:before, h2 > a[href*=".doc"]:before,
.infoList > a[href*=".doc"]:before,
.icon > a[href*=".doc"]:before {
  background: url("/common/img/icons-s4871128572.png") -1808px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}
ul.icon > li > a[href*=".xls"]:before,
p > a[href*=".xls"]:before, th > a[href*=".xls"]:before, td > a[href*=".xls"]:before, h2 > a[href*=".xls"]:before,
.infoList > a[href*=".xls"]:before,
.icon > a[href*=".xls"]:before {
  background: url("/common/img/icons-s4871128572.png") -818px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}
ul.icon > li > a[href*=".zip"]:before,
p > a[href*=".zip"]:before, th > a[href*=".zip"]:before, td > a[href*=".zip"]:before, h2 > a[href*=".zip"]:before,
.infoList > a[href*=".zip"]:before,
.icon > a[href*=".zip"]:before {
  background: url("/common/img/icons-s4871128572.png") -1934px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}
ul.icon > li > a[href*=".wmv"]:before, ul.icon > li > a[href*=youtube]:before,
p > a[href*=".wmv"]:before,
p > a[href*=youtube]:before, th > a[href*=".wmv"]:before, th > a[href*=youtube]:before, td > a[href*=".wmv"]:before, td > a[href*=youtube]:before, h2 > a[href*=".wmv"]:before, h2 > a[href*=youtube]:before,
.infoList > a[href*=".wmv"]:before,
.infoList > a[href*=youtube]:before,
.icon > a[href*=".wmv"]:before,
.icon > a[href*=youtube]:before {
  background: url("/common/img/icons-s4871128572.png") -1182px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}
ul.icon > li > a:hover, ul.icon > li > a:active,
p > a:hover,
p > a:active, th > a:hover, th > a:active, td > a:hover, td > a:active, h2 > a:hover, h2 > a:active,
.infoList > a:hover,
.infoList > a:active,
.icon > a:hover,
.icon > a:active {
  text-decoration: underline;
}

ul.linkFree {
  margin: -10px 0 0 -20px;
}
* + ul.linkFree {
  margin-top: 10px;
}
ul.linkFree li {
  display: inline-block;
  margin: 10px 0 0 20px;
}

ul.link2Col {
  position: relative;
  overflow: hidden;
  border: 1px solid #ddd;
}
ul.link2Col:after {
  content: "";
  display: block;
  clear: both;
}
ul.link2Col li {
  float: left;
  position: relative;
  display: block;
  width: 50%;
  text-decoration: none;
  box-sizing: border-box;
}
ul.link2Col li:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 1px;
  left: 100%;
  background-color: #fff;
}
ul.link2Col li:nth-child(n+3):before {
  content: "";
  position: absolute;
  width: 301%;
  top: 0;
  border-top: 1px solid #ddd;
}
ul.link2Col li > a,
ul.link2Col li > span {
  display: block;
  margin-bottom: -500px;
  padding: 20px 20px 520px;
  border-right: 1px solid #ddd;
}
ul.link2Col li:nth-child(2n) a, ul.link2Col li:nth-child(2n) span {
  border-right: none;
}
@media only screen and (max-width: 640px) {
  ul.link2Col li {
    float: none;
    width: auto;
  }
  ul.link2Col li + li {
    border-top: 1px solid #ddd;
  }
  ul.link2Col li:nth-child(n+3):before {
    display: none;
  }
  ul.link2Col li > a,
ul.link2Col li > span {
    border-right: none;
  }
}
.wm-border ul.link2Col {
  border: none;
}
.wm-border ul.link2Col li:nth-child(n+3):before,
.wm-border ul.link2Col li > a,
.wm-border ul.link2Col li > span {
  border: none;
}
.wm-border ul.link2Col li > * {
  position: relative;
  display: block;
  margin-bottom: 0;
  padding: 8px;
}
.wm-border ul.link2Col li + li {
  border-top: none;
}

.icon.link2Col > li > a,
.icon.link2Col > li > span {
  padding-left: 30px;
}

.icon.link2Col > li > a:before,
.icon.link2Col > li > span:before {
  top: 30px;
  left: 15px;
}

.wm-border .icon.link2Col > li > a:before,
.wm-border .icon.link2Col > li > span:before {
  top: 18px;
}

ul.link3Col {
  position: relative;
  overflow: hidden;
  border: 1px solid #ddd;
}
ul.link3Col:after {
  content: "";
  display: block;
  clear: both;
}
ul.link3Col:before {
  content: "";
  position: absolute;
  width: 66.666%;
  height: 100%;
  top: 0;
  margin-left: -1px;
  border-right: 1px solid #ddd;
}
ul.link3Col li {
  float: left;
  position: relative;
  display: block;
  width: 33.333%;
  text-decoration: none;
  box-sizing: border-box;
}
ul.link3Col li:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 1px;
  left: 100%;
  background-color: #fff;
}
ul.link3Col li:nth-child(n+4):before {
  content: "";
  position: absolute;
  width: 301%;
  top: 0;
  border-top: 1px solid #ddd;
}
ul.link3Col li:nth-child(3n+1) {
  clear: left;
}
ul.link3Col li > a,
ul.link3Col li > span {
  display: block;
  margin-bottom: -500px;
  padding: 20px 20px 520px;
  border-right: 1px solid #ddd;
}
ul.link3Col li:nth-child(3n) a, ul.link3Col li:nth-child(3n) span {
  border-right: none;
}
.wm-border ul.link3Col {
  border: none;
}
.wm-border ul.link3Col:before {
  display: none;
}
.wm-border ul.link3Col li:nth-child(3n+1), .wm-border ul.link3Col li:nth-child(n+4):before,
.wm-border ul.link3Col li > a,
.wm-border ul.link3Col li > span {
  border: none;
}
.wm-border ul.link3Col li > * {
  position: relative;
  display: block;
  margin-bottom: 0;
  padding: 8px;
}
@media only screen and (max-width: 640px) {
  ul.link3Col:before {
    display: none;
  }
  ul.link3Col li {
    float: none;
    width: auto;
  }
  ul.link3Col li + li {
    border-top: 1px solid #ddd;
  }
  ul.link3Col li:nth-child(n+4):before {
    display: none;
  }
  ul.link3Col li > a,
ul.link3Col li > span {
    border-right: none;
  }
  .wm-border ul.link3Col li + li {
    border-top: none;
  }
}

.icon.link3Col > li > a,
.icon.link3Col > li > span {
  padding-left: 30px;
}

.icon.link3Col > li > a:before,
.icon.link3Col > li > span:before {
  top: 30px;
  left: 15px;
}

.wm-border .icon.link3Col > li > a:before,
.wm-border .icon.link3Col > li > span:before {
  top: 18px;
}

.icon.link2Col li > a span, .icon.link3Col li > a span {
  display: block;
  color: #555;
}
.icon.link2Col li > a[target=_blank], .icon.link3Col li > a[target=_blank] {
  padding-left: 40px;
}

/* form -------------------------------- */
/* Flow */
#stepFlow {
  margin-top: 20px;
  overflow: hidden;
}
#stepFlow ol {
  display: table;
  table-layout: fixed;
  width: 100%;
}
#stepFlow li {
  position: relative;
  display: table-cell;
  height: 60px;
  padding-right: 20px;
  text-align: center;
  vertical-align: middle;
  border: 1px solid #dde2e7;
}
#stepFlow span {
  display: inline-block;
  font-size: 0.86em;
  vertical-align: middle;
}
#stepFlow span:last-child {
  font-size: 1.28em;
  font-weight: bold;
}
#stepFlow span + span {
  margin-left: 0.5em;
}
#stepFlow .cur {
  color: #fff;
  background-color: #76899d;
  border-color: #76899d;
}
#stepFlow li:before,
#stepFlow li:after,
#stepFlow span:last-child:before,
#stepFlow span:last-child:after {
  content: "";
  position: absolute;
  right: 0;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
}
#stepFlow li:not(.cur):before {
  top: -1px;
  border-width: 32px 0 0 21px;
  border-top-color: #dde2e7;
  z-index: 0;
}
#stepFlow li:not(.cur):after {
  bottom: -2px;
  right: -1px;
  border-width: 0 0 32px 21px;
  border-bottom-color: #fff;
}
#stepFlow li:not(.cur) span:last-child:before {
  top: -2px;
  right: -1px;
  border-width: 32px 0 0 21px;
  border-top-color: #fff;
}
#stepFlow li:not(.cur) span:last-child:after {
  bottom: -1px;
  border-width: 0 0 32px 21px;
  border-bottom-color: #dde2e7;
}
#stepFlow li.cur:before {
  top: -2px;
  right: -1px;
  border-width: 32px 0 0 21px;
  border-top-color: #fff;
}
#stepFlow li.cur:after {
  bottom: -2px;
  right: -1px;
  border-width: 0 0 32px 21px;
  border-bottom-color: #fff;
}
@media only screen and (max-width: 480px) {
  #stepFlow span {
    display: block;
  }
  #stepFlow span + span {
    margin-left: 0;
  }
}

input[type=text],
input[type=password] {
  padding: 0;
  text-indent: 5px;
  line-height: 2em;
  border: 1px solid #ddd;
  outline: none;
  font-family: "¥Ò¥é¥®¥Î½Ç¥´ Pro W3", "Hiragino Kaku Gothic Pro", "¥á¥¤¥ê¥ª", Meiryo, sans-serif;
}

textarea {
  border: 1px solid #ddd;
}

button {
  color: #fff;
  border-style: none;
  line-height: 2em;
  background: #555;
  outline: none;
  cursor: pointer;
}

input.inquiry_text_small,
input.inquiry_text_medium,
input.inquiry_text_large {
  width: 50%;
}

input.inquiry_text_small {
  max-width: 12em;
}

input.inquiry_text_medium {
  max-width: 24em;
}

textarea.inquiry_textarea_small,
textarea.inquiry_textarea_medium,
textarea.inquiry_textarea_large {
  width: 80%;
}

textarea.inquiry_textarea_small {
  max-width: 20em;
}

textarea.inquiry_textarea_medium {
  max-width: 40em;
}

@media only screen and (max-width: 640px) {
  input.inquiry_text_small,
input.inquiry_text_medium,
input.inquiry_text_large,
textarea.inquiry_textarea_small,
textarea.inquiry_textarea_medium,
textarea.inquiry_textarea_large {
    width: 100%;
    max-width: none;
  }
}
/* button -------------------------------- */
.linkBtn {
  text-align: center;
}
* + .linkBtn {
  margin-top: 50px;
}
.linkBtn li {
  display: inline-block;
  margin: 0 10px;
  vertical-align: top;
}
.linkBtn a,
.linkBtn input[type=submit],
.linkBtn input[type=button],
.linkBtn input[type=reset] {
  display: inline-block;
  padding: 1em 5em;
  border-radius: 5px;
  color: #76899d;
  text-decoration: none;
  background-color: #fff;
  border: solid 1px #76899d;
}
.linkBtn a:hover,
.linkBtn input[type=submit]:hover,
.linkBtn input[type=button]:hover,
.linkBtn input[type=reset]:hover {
  color: #fff;
  background-color: #76899d;
  text-decoration: none;
}
.linkBtn a:before,
.linkBtn input[type=submit]:before,
.linkBtn input[type=button]:before,
.linkBtn input[type=reset]:before {
  display: none;
}
.linkBtn.blue a,
.linkBtn.blue input[type=submit],
.linkBtn.blue input[type=reset],
.linkBtn .blue a,
.linkBtn .blue input[type=submit],
.linkBtn .blue input[type=reset] {
  color: #fff;
  background-color: #004ea2;
}
.linkBtn.blue a:hover,
.linkBtn.blue input[type=submit]:hover,
.linkBtn.blue input[type=reset]:hover,
.linkBtn .blue a:hover,
.linkBtn .blue input[type=submit]:hover,
.linkBtn .blue input[type=reset]:hover {
  background-color: #2668b0;
}
.linkBtn.blue input[type=button],
.linkBtn .blue input[type=button] {
  color: #004ea2;
  background-color: #fff;
}
.linkBtn.blue input[type=button]:hover,
.linkBtn .blue input[type=button]:hover {
  color: #fff;
  background-color: #004ea2;
}
.linkBtn.green a,
.linkBtn.green input[type=submit],
.linkBtn.green input[type=button],
.linkBtn.green input[type=reset],
.linkBtn .green a,
.linkBtn .green input[type=submit],
.linkBtn .green input[type=button],
.linkBtn .green input[type=reset] {
  color: #06a557;
  border-color: #06a557;
}
.linkBtn.green a:hover,
.linkBtn.green input[type=submit]:hover,
.linkBtn.green input[type=button]:hover,
.linkBtn.green input[type=reset]:hover,
.linkBtn .green a:hover,
.linkBtn .green input[type=submit]:hover,
.linkBtn .green input[type=button]:hover,
.linkBtn .green input[type=reset]:hover {
  color: #fff;
  background-color: #06a557;
}

/* tab -------------------------------- */
.tabBtn {
  position: relative;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  border-bottom: 1px solid #ddd;
}
* + .tabBtn {
  margin-top: 50px;
}
.tabBtn li {
  display: flex;
  align-items: center;
  flex-grow: 1;
  font-size: 1.14em;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
}
.tabBtn li + li {
  margin-left: 4px;
}
.tabBtn a {
  text-decoration: none;
  background-color: #f2f2f2;
}
.tabBtn a,
.tabBtn label {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  flex: 1;
  margin: 0;
  min-height: 3.2em;
  padding: 0.2em 0.5em;
  color: #555;
  font-weight: bold;
  width: 100%;
}
.tabBtn ~ ul {
  float: none;
  height: 0;
  width: 100%;
  margin-right: 0;
  opacity: 0;
  transition: all 0.2s;
  overflow: hidden;
}
.tabBtn .cur a,
.tabBtn .cur label {
  color: #fff;
  background-color: #004ea2;
}
.tabBtn ~ div[id] {
  margin-top: 0;
  height: auto;
  opacity: 1;
  transition: all 0.2s;
}
.tabBtn ~ div[id].hide {
  height: 0;
  opacity: 0;
  overflow: hidden;
}
@media only screen and (max-width: 800px) {
  .tabBtn li + li {
    margin-left: 10px;
  }
}
@media only screen and (max-width: 640px) {
  #subWin .tabBtn:after {
    content: "";
    display: block;
    clear: both;
  }
  #subWin .tabBtn li {
    float: left;
    width: 50% !important;
    margin: 5px 0 0;
  }
  #subWin .tabBtn li:first-child:nth-last-child(odd) {
    width: 100% !important;
  }
}

/* image layout -------------------------------- */
figure img {
  display: block;
  margin: 0 auto;
}

figcaption {
  width: 100%;
  text-align: center;
  margin-top: 0.3em;
}

.parallelL:after,
.parallelR:after {
  content: "";
  display: block;
  clear: both;
}
.roundL:after,
.roundR:after {
  content: "";
  display: block;
  clear: both;
}

.roundR .image,
.parallelR .image,
.parallelL .sentence {
  float: right;
}

.roundL .image,
.parallelL .image,
.parallelR .sentence {
  float: left;
}

.roundR .image {
  margin: 0 0 20px 20px;
}

.roundL .image {
  margin: 0 20px 20px 0;
}

.image {
  position: relative;
  z-index: 1;
}
* + .image {
  margin-top: 0;
}

.sentence {
  margin-top: 0;
  width: 100%;
  box-sizing: border-box;
}

.sizeL figcaption,
.sizeM figcaption,
.sizeS figcaption {
  text-align: left;
}

/* column -------------------------------- */
.clearfix .colBlock {
  float: left;
}

.colSep2 > ul:after {
  content: "";
  display: block;
  clear: both;
}
.colSep2 > ul > li {
  float: left;
  margin-top: 0;
  width: 50%;
  box-sizing: border-box;
}
.colSep2 > ul > li:nth-child(2n+1) {
  clear: left;
}
.colSep2 > ul > li:nth-child(n+3) {
  margin-top: 20px;
}
.colSep2 > ul > li h2,
.colSep2 > ul > li h3,
.colSep2 > ul > li h4,
.colSep2 > ul > li h5,
.colSep2 > ul > li h6 {
  margin-top: 20px;
  font-size: 1.14em;
  font-weight: normal;
}
.colSep2 > ul > li h2:before,
.colSep2 > ul > li h3:before,
.colSep2 > ul > li h4:before,
.colSep2 > ul > li h5:before,
.colSep2 > ul > li h6:before {
  display: none;
}
@media only screen and (max-width: 640px) {
  .colSep2 > ul > li {
    float: none;
    width: 100%;
  }
  .colSep2 > ul > li + li {
    margin-top: 20px;
  }
}
.colSep2 > h2 {
  display: none;
}

.colSep3 > ul:after {
  content: "";
  display: block;
  clear: both;
}
.colSep3 > ul > li {
  float: left;
  margin-top: 0;
  width: 33.333%;
  box-sizing: border-box;
}
.colSep3 > ul > li:nth-child(3n+1) {
  clear: left;
}
.colSep3 > ul > li:nth-child(n+4) {
  margin-top: 20px;
}
.colSep3 > ul > li h2,
.colSep3 > ul > li h3,
.colSep3 > ul > li h4,
.colSep3 > ul > li h5,
.colSep3 > ul > li h6 {
  margin-top: 20px;
  font-size: 1.14em;
  font-weight: normal;
}
.colSep3 > ul > li h2:before,
.colSep3 > ul > li h3:before,
.colSep3 > ul > li h4:before,
.colSep3 > ul > li h5:before,
.colSep3 > ul > li h6:before {
  display: none;
}
@media only screen and (max-width: 640px) {
  .colSep3 > ul > li {
    float: none;
    width: 100%;
  }
  .colSep3 > ul > li + li {
    margin-top: 20px;
  }
}

.colSep4 > ul {
  margin-left: -27px;
}
.colSep4 > ul:after {
  content: "";
  display: block;
  clear: both;
}
.colSep4 > ul > li {
  float: left;
  margin-top: 0;
  width: 25%;
  border-left: 27px solid rgba(255, 255, 255, 0);
  box-sizing: border-box;
}
.colSep4 > ul > li:nth-child(4n+1) {
  clear: left;
}
.colSep4 > ul > li:nth-child(4n+5):before, .colSep4 > ul > li:nth-child(4n+5):after {
  content: "";
  position: absolute;
}
.colSep4 > ul > li:nth-child(n+5) {
  margin-top: 40px;
}
@media only screen and (max-width: 640px) {
  .colSep4 > ul > li {
    width: 50%;
  }
  .colSep4 > ul > li:nth-child(2n+1) {
    clear: left;
  }
  .colSep4 > ul > li:nth-child(n+3) {
    margin-top: 40px;
  }
}
.colSep4 > ul h2,
.colSep4 > ul h3,
.colSep4 > ul h4,
.colSep4 > ul h5,
.colSep4 > ul h6 {
  margin-top: 20px;
}
.colSep4 > ul h2:before,
.colSep4 > ul h3:before,
.colSep4 > ul h4:before,
.colSep4 > ul h5:before,
.colSep4 > ul h6:before {
  display: none;
}

.sideL,
.sideR {
  float: left;
  width: 50%;
  box-sizing: border-box;
}
* + .sideL,
* + .sideR {
  margin-top: 0;
}
.sideL img,
.sideR img {
  margin: 0 auto;
}
.sideL h2 a,
.sideR h2 a {
  position: relative;
  width: 100%;
  margin-bottom: -0.7em;
  padding: 1em;
  background-color: #fff;
  border: 1px solid #004ea2;
  box-sizing: border-box;
  font-weight: normal;
  z-index: 2;
}
.sideL h2 a:hover,
.sideR h2 a:hover {
  text-decoration: none;
}
.sideL h2 a:before,
.sideR h2 a:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: auto;
  left: auto;
  bottom: 10px;
  right: 10px;
  border-style: solid;
  border-color: transparent;
  border-width: 6px;
  border-right-color: #004ea2;
  border-bottom-color: #004ea2;
}
.sideL h2 a[target=_blank]:before,
.sideR h2 a[target=_blank]:before {
  border: none;
  background: url("/common/img/icons-s4871128572.png") -176px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
  bottom: 20px;
}

.sideL {
  border-right: 15px solid rgba(255, 255, 255, 0);
}

.sideR {
  border-left: 15px solid rgba(255, 255, 255, 0);
}

@media only screen and (max-width: 640px) {
  .sideL,
.sideR {
    float: none;
    width: auto;
    border-style: none;
  }
  * + .sideL,
* + .sideR {
    margin-top: 20px;
  }
}
.infoHead h1 {
  display: inline-block;
  vertical-align: top;
}
.infoHead h1 + .infoBtn {
  vertical-align: top;
}
.infoHead h1 + .infoBtn li {
  height: 2em;
  line-height: 2em;
}
.infoHead .infoBtn {
  display: inline-block;
  margin: 0 0 0 20px;
}
.infoHead .infoBtn a[href*=".xml"] {
  position: relative;
  top: 50%;
  display: block;
  width: 21px;
  height: 21px;
  margin-top: -10px;
  padding-left: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  background: url("/common/img/icons-s4871128572.png") -2160px 0;
  background-repeat: no-repeat;
  height: 32px;
  width: 32px;
}

.infoList + .infoList {
  margin-top: 0;
  border-top: solid 1px #f2f2f2;
}
.infoList > li {
  padding: 20px 0 20px 6.5em;
}
.infoList > li:after {
  content: "";
  display: block;
  clear: both;
}
.infoList > li + li {
  margin-top: 0;
}
.infoList a {
  color: #004ea2;
  position: relative;
  display: block;
  overflow: hidden;
}
.infoList a > * {
  float: left;
  width: 100%;
}
.infoList time {
  font-size: 0.86em;
  line-height: 2.14em;
  float: left;
  width: 8.5em;
  margin-left: -7.5em;
}
.infoList .label {
  display: inline;
  margin: 0;
  color: #fff;
}
.infoList .label:after {
  content: "";
  display: block;
  clear: both;
}
.infoList .label li {
  display: inline-block;
  min-width: 6em;
  font-size: 0.72em;
  margin-left: 1em;
  padding: 0.3em 0.5em;
  text-align: center;
  line-height: 1.3em;
  background-color: #1b4292;
}
.infoList .label li.entrance {
  background-color: #548b48;
}
.infoList .label li.education {
  background-color: #c23d72;
}
.infoList .label li.research {
  background-color: #1b4292;
}
.infoList .label li.winning {
  background-color: #da9b29;
}
.infoList .label li.event {
  background-color: #4ea3d0;
}
.infoList .label li.visit {
  background-color: #3697ae;
}
.infoList .label li.students {
  background-color: #4ea3d0;
}
.infoList .label li.info {
  background-color: #e66262;
}
.infoList .label li.general {
  background-color: #534cad;
}
.infoList .label li.school {
  background-color: #c44965;
}
.infoList .label li.graduate {
  background-color: #d9633b;
}
.infoList .label li.undergraduate {
  background-color: #2b8957;
}
.infoList .label li.activity {
  background-color: #65cc09;
}
@media only screen and (max-width: 640px) {
  .infoList > li {
    padding-left: 0;
  }
  .infoList > li + li {
    margin-top: 15px;
  }
  .infoList time {
    float: none;
    display: inline-block;
    width: auto;
    margin-left: 0;
  }
}
html[lang=en] .infoList .label li {
  min-width: 9.5em;
}

/* infoDate -------------------------------- */
#infoDate,
#companyName,
#toService {
  text-align: right;
  margin: 20px 0;
}

#infoDate + #companyName {
  margin-top: -50px;
}

#infoDate + #toService,
#companyName + #toService {
  margin-top: -30px;
}

#toService .linkBtn {
  text-align: right;
}

/* snsIcons */
#snsIcons {
  float: right;
}
#snsIcons li {
  float: left;
}
#snsIcons li .fb_back a,
#snsIcons li .line_back a {
  display: block;
}
#snsIcons li .fb_back a {
  border-radius: 3px;
  background-color: #4864ae;
  height: 20px;
  width: 61px;
}
#snsIcons li .line_back a img {
  max-height: 20px;
}
#snsIcons li + li {
  margin-left: 10px;
}
#snsIcons:after {
  content: "";
  display: block;
  clear: both;
}
#snsIcons + * {
  clear: both;
}

/* inquiry -------------------------------- */
#inquiry {
  padding: 70px 0;
  text-align: center;
  overflow: hidden;
}
#inquiry h3,
#inquiry ul {
  max-width: 1200px;
  border: none;
}
#inquiry h3 {
  font-size: 1.72em;
  font-weight: normal;
  letter-spacing: 7px;
  margin: 0 auto;
  padding: 0;
}
#inquiry h3:before {
  display: none;
}
#inquiry a {
  text-decoration: none;
}
#inquiry ul {
  display: table;
  width: 100%;
  margin: 54px auto 0;
  text-align: center;
  border-collapse: separate;
  border-spacing: 24px 0;
}
#inquiry ul + * {
  clear: left;
  margin-top: 50px;
}
#inquiry li {
  display: table-cell;
  width: 32%;
}
#inquiry li a {
  width: 100%;
  display: block;
  border-style: solid;
  border-width: 1px;
  padding: 20px 0;
  position: relative;
  border-radius: 4px;
}
#inquiry li a:before {
  content: "";
  display: inline-block;
  margin: 0 auto;
  vertical-align: middle;
  position: absolute;
  left: 10%;
}
#inquiry li a[href*=form], #inquiry li a[href*=contact] {
  color: #06a557;
  border-color: #06a557;
}
#inquiry li a[href*=seikyu]:before {
  background: url("/common/img/icons-s4871128572.png") -1426px 0;
  background-repeat: no-repeat;
  height: 25px;
  width: 19px;
}
#inquiry li a[href*=digital]:before, #inquiry li a[href*="http://web.tuat.ac.jp/"]:before {
  background: url("/common/img/icons-s4871128572.png") -296px 0;
  background-repeat: no-repeat;
  height: 25px;
  width: 26px;
}
#inquiry li a[href*=form]:before, #inquiry li a[href*=contact]:before {
  background: url("/common/img/icons-s4871128572.png") -518px 0;
  background-repeat: no-repeat;
  height: 25px;
  width: 26px;
}
@media only screen and (max-width: 900px) {
  #inquiry li a {
    padding: 20px 5px;
  }
  #inquiry li a:before {
    position: static;
    margin: 0 5px;
  }
}
@media only screen and (max-width: 800px) {
  #inquiry {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media only screen and (max-width: 640px) {
  #inquiry ul {
    margin-top: 40px;
  }
  #inquiry li a {
    padding: 20px 5px 100%;
  }
  #inquiry li a:before {
    display: block;
    margin: 0 auto 5px;
    position: absolute;
    bottom: 40%;
    left: 0;
    right: 0;
    width: 45px;
    height: 43px;
  }
  #inquiry li a[href^=request]:before, #inquiry li a[href^=request]:hover:before {
    background: url("/common/img/icons-s4871128572.png") -1504px 0;
    background-repeat: no-repeat;
    height: 42px;
    width: 32px;
  }
  #inquiry li a[href^=brochure]:before, #inquiry li a[href^=brochure]:hover:before {
    background: url("/common/img/icons-s4871128572.png") -388px 0;
    background-repeat: no-repeat;
    height: 43px;
    width: 45px;
  }
  #inquiry li a[href^=contact]:before, #inquiry li a[href^=contact]:hover:before {
    background: url("/common/img/icons-s4871128572.png") -610px 0;
    background-repeat: no-repeat;
    height: 42px;
    width: 44px;
  }
  #inquiry li span {
    position: absolute;
    top: 60%;
    left: 0;
    right: 0;
  }
}

/* 2016/09/20 chikusa add ¨‹ */
@media only screen and (min-width: 801px) {
  #inquiry li a:hover, #inquiry li a:active {
    color: #004ea2;
  }
  #inquiry li a:hover {
    color: #fff;
  }
  #inquiry li a[href*=seikyu]:hover {
    background-color: #004ea2;
  }
  #inquiry li a[href*=seikyu]:hover:before {
    background: url("/common/img/icons-s4871128572.png") -1465px 0;
    background-repeat: no-repeat;
    height: 25px;
    width: 19px;
  }
  #inquiry li a[href*=digital]:hover, #inquiry li a[href*="http://web.tuat.ac.jp/"]:hover {
    background-color: #004ea2;
  }
  #inquiry li a[href*=digital]:hover:before, #inquiry li a[href*="http://web.tuat.ac.jp/"]:hover:before {
    background: url("/common/img/icons-s4871128572.png") -342px 0;
    background-repeat: no-repeat;
    height: 25px;
    width: 26px;
  }
  #inquiry li a[href*=form]:hover, #inquiry li a[href*=contact]:hover {
    background-color: #06a557;
  }
  #inquiry li a[href*=form]:hover:before, #inquiry li a[href*=contact]:hover:before {
    background: url("/common/img/icons-s4871128572.png") -564px 0;
    background-repeat: no-repeat;
    height: 25px;
    width: 26px;
  }
}
@media only screen and (max-width: 640px) {
  #inquiry ul {
    border-spacing: 0;
  }
  #inquiry ul:after {
    content: "";
    display: block;
    clear: both;
  }
  #inquiry ul li {
    box-sizing: border-box;
    float: left;
    width: 33.33%;
    padding: 0 5px;
  }
  #inquiry ul li a {
    box-sizing: border-box;
    padding: 20px;
  }
  #inquiry ul li a:before {
    position: static;
    display: block;
    margin: 0 auto 20px;
    padding: 0;
  }
  #inquiry ul li a[href*=seikyu]:before {
    background: url("/common/img/icons-s4871128572.png") -1504px 0;
    background-repeat: no-repeat;
    height: 42px;
    width: 32px;
  }
  #inquiry ul li a[href*=digital]:before, #inquiry ul li a[href*="http://web.tuat.ac.jp/"]:before {
    background: url("/common/img/icons-s4871128572.png") -388px 0;
    background-repeat: no-repeat;
    height: 43px;
    width: 45px;
  }
  #inquiry ul li a[href*=form]:before, #inquiry ul li a[href*=contact]:before {
    background: url("/common/img/icons-s4871128572.png") -610px 0;
    background-repeat: no-repeat;
    height: 42px;
    width: 44px;
  }
}
@media only screen and (max-width: 320px) {
  #inquiry ul li a {
    padding: 5px;
    min-height: 150px;
  }
}
html[lang=en] #inquiry ul {
  width: auto;
}
html[lang=en] #inquiry li {
  width: 17%;
}
@media only screen and (max-width: 640px) {
  html[lang=en] #inquiry ul li {
    width: 50%;
  }
}

/* 2016/09/20 chikusa add ¡ø */
/* information, event -------------------------------- */
#information .spMenuNews, #information .spMenuEvent, #event .spMenuNews, #event .spMenuEvent {
  display: none;
}
#information form, #event form {
  background-color: #fff;
}
#information form:after, #event form:after {
  content: "";
  display: block;
  clear: both;
}
#information .infoList > li, #event .infoList > li {
  padding-left: 0;
}
#information .infoList > li + li, #event .infoList > li + li {
  border-top: 1px solid #ddd;
}
#information .infoList > li a, #event .infoList > li a {
  margin-top: 15px;
}
#information .infoList time, #event .infoList time {
  display: inline;
  float: none;
  margin-left: 0;
}
#information .infoList .label, #event .infoList .label {
  float: none;
}
#information .tabBtn, #event .tabBtn {
  border-color: #f2f2f2;
  background-color: #f2f2f2;
  margin-bottom: 20px;
}
#information .tabBtn li, #event .tabBtn li {
  font-size: 1em;
  background-color: #fff;
  border-radius: 0;
  margin-bottom: -1px;
}
#information .tabBtn label, #event .tabBtn label {
  color: #aaa;
  font-weight: normal;
}
@media only screen and (max-width: 640px) {
  #information, #event {
    background-color: transparent;
  }
  #information .spMenuNews, #information .spMenuEvent, #event .spMenuNews, #event .spMenuEvent {
    overflow: hidden;
    display: block;
    position: absolute;
    width: 150px;
    height: 40px;
    right: 0;
    top: 0;
    margin-top: -75px;
    white-space: nowrap;
    text-indent: 100%;
    z-index: 1000;
  }
  #information .spMenuNews a, #information .spMenuEvent a, #event .spMenuNews a, #event .spMenuEvent a {
    display: block;
    height: 40px;
  }
  #information .spMenuNews a:before, #information .spMenuEvent a:before, #event .spMenuNews a:before, #event .spMenuEvent a:before {
    display: block;
    position: absolute;
    top: 50%;
    left: 10px;
    margin-top: -16px;
    background: url("/common/img/icons-s4871128572.png") -2212px 0;
    background-repeat: no-repeat;
    height: 32px;
    width: 32px;
  }
  #information form, #event form {
    position: relative;
    background: none;
  }
  #information .tabBtn, #event .tabBtn {
    float: right;
    width: 150px;
    margin-top: 0;
    border: none;
  }
  #information .tabBtn li, #event .tabBtn li {
    position: absolute;
    display: block;
    width: 100% !important;
    top: 0;
    right: 0;
    left: 0;
    margin-top: -75px;
    background: none;
  }
  #information .tabBtn li + li, #event .tabBtn li + li {
    margin-left: 0;
  }
  #information .tabBtn li label, #event .tabBtn li label {
    height: 40px;
    line-height: 40px;
    margin: 0;
    padding: 0 0 0 32px;
    border-radius: 3px;
  }
  #information .tabBtn + .infoList, #event .tabBtn + .infoList {
    margin-top: 0;
  }
  #information #tabInfoAll:checked ~ .tabBtn li:has(label[for=tabInfoAll]),
#information #tabInfoEntrance:checked ~ .tabBtn li:has(label[for=tabInfoEntrance]),
#information #tabInfoEducation:checked ~ .tabBtn li:has(label[for=tabInfoEducation]),
#information #tabInfoResearch:checked ~ .tabBtn li:has(label[for=tabInfoResearch]),
#information #tabInfoWinning:checked ~ .tabBtn li:has(label[for=tabInfoWinning]),
#information #tabInfoActivity:checked ~ .tabBtn li:has(label[for=tabInfoActivity]),
#information #tabInfoVisit:checked ~ .tabBtn li:has(label[for=tabInfoVisit]),
#information #tabInfoStudents:checked ~ .tabBtn li:has(label[for=tabInfoStudents]),
#information #tabInfoEvent:checked ~ .tabBtn li:has(label[for=tabInfoEvent]),
#information #tabInfoInfo:checked ~ .tabBtn li:has(label[for=tabInfoInfo]),
#information #tabEventAll:checked ~ .tabBtn li:has(label[for=tabInfoAll]),
#information #tabEventGeneral:checked ~ .tabBtn li:has(label[for=tabInfoGeneral]),
#information #tabEventFes:checked ~ .tabBtn li:has(label[for=tabInfoEventFes]),
#information #tabEventGraduate:checked ~ .tabBtn li:has(label[for=tabInfoGraduate]),
#information #tabEventDepartment:checked ~ .tabBtn li:has(label[for=tabInfoDepartment]), #event #tabInfoAll:checked ~ .tabBtn li:has(label[for=tabInfoAll]),
#event #tabInfoEntrance:checked ~ .tabBtn li:has(label[for=tabInfoEntrance]),
#event #tabInfoEducation:checked ~ .tabBtn li:has(label[for=tabInfoEducation]),
#event #tabInfoResearch:checked ~ .tabBtn li:has(label[for=tabInfoResearch]),
#event #tabInfoWinning:checked ~ .tabBtn li:has(label[for=tabInfoWinning]),
#event #tabInfoActivity:checked ~ .tabBtn li:has(label[for=tabInfoActivity]),
#event #tabInfoVisit:checked ~ .tabBtn li:has(label[for=tabInfoVisit]),
#event #tabInfoStudents:checked ~ .tabBtn li:has(label[for=tabInfoStudents]),
#event #tabInfoEvent:checked ~ .tabBtn li:has(label[for=tabInfoEvent]),
#event #tabInfoInfo:checked ~ .tabBtn li:has(label[for=tabInfoInfo]),
#event #tabEventAll:checked ~ .tabBtn li:has(label[for=tabInfoAll]),
#event #tabEventGeneral:checked ~ .tabBtn li:has(label[for=tabInfoGeneral]),
#event #tabEventFes:checked ~ .tabBtn li:has(label[for=tabInfoEventFes]),
#event #tabEventGraduate:checked ~ .tabBtn li:has(label[for=tabInfoGraduate]),
#event #tabEventDepartment:checked ~ .tabBtn li:has(label[for=tabInfoDepartment]) {
    z-index: 999;
  }
}

#tabInfoAll,
#tabInfoEntrance,
#tabInfoEducation,
#tabInfoResearch,
#tabInfoWinning,
#tabInfoActivity,
#tabInfoVisit,
#tabInfoStudents,
#tabInfoEvent,
#tabInfoInfo,
#tabEventAll,
#tabEventGeneral,
#tabEventFes,
#tabEventGraduate,
#tabEventDepartment {
  display: none;
}

#tabInfoAll:checked ~ .tabBtn label[for=tabInfoAll],
#tabInfoEntrance:checked ~ .tabBtn label[for=tabInfoEntrance],
#tabInfoEducation:checked ~ .tabBtn label[for=tabInfoEducation],
#tabInfoResearch:checked ~ .tabBtn label[for=tabInfoResearch],
#tabInfoWinning:checked ~ .tabBtn label[for=tabInfoWinning],
#tabInfoActivity:checked ~ .tabBtn label[for=tabInfoActivity],
#tabInfoVisit:checked ~ .tabBtn label[for=tabInfoVisit],
#tabInfoStudents:checked ~ .tabBtn label[for=tabInfoStudents],
#tabInfoEvent:checked ~ .tabBtn label[for=tabInfoEvent],
#tabInfoInfo:checked ~ .tabBtn label[for=tabInfoInfo],
#tabEventAll:checked ~ .tabBtn label[for=tabEventAll],
#tabEventGeneral:checked ~ .tabBtn label[for=tabEventGeneral],
#tabEventFes:checked ~ .tabBtn label[for=tabEventFes],
#tabEventGraduate:checked ~ .tabBtn label[for=tabEventGraduate],
#tabEventDepartment:checked ~ .tabBtn label[for=tabEventDepartment] {
  color: #fff;
}

#tabInfoAll:checked ~ .tabBtn label[for=tabInfoAll] {
  background-color: #004ea2;
}

#tabInfoEntrance:checked ~ .tabBtn label[for=tabInfoEntrance] {
  background-color: #548b48;
}

#tabInfoEducation:checked ~ .tabBtn label[for=tabInfoEducation] {
  background-color: #c23d72;
}

#tabInfoResearch:checked ~ .tabBtn label[for=tabInfoResearch] {
  background-color: #1b4292;
}

#tabInfoWinning:checked ~ .tabBtn label[for=tabInfoWinning] {
  background-color: #da9b29;
}

#tabInfoActivity:checked ~ .tabBtn label[for=tabInfoActivity] {
  background-color: #65cc09;
}

#tabInfoVisit:checked ~ .tabBtn label[for=tabInfoVisit] {
  background-color: #3697ae;
}

#tabInfoStudents:checked ~ .tabBtn label[for=tabInfoStudents],
#tabInfoEvent:checked ~ .tabBtn label[for=tabInfoEvent] {
  background-color: #4ea3d0;
}

#tabInfoInfo:checked ~ .tabBtn label[for=tabInfoInfo] {
  background-color: #e66262;
}

#tabEventAll:checked ~ .tabBtn label[for=tabEventAll] {
  background-color: #004ea2;
}

#tabEventGeneral:checked ~ .tabBtn label[for=tabEventGeneral] {
  background-color: #534cad;
}

#tabEventFes:checked ~ .tabBtn label[for=tabEventFes] {
  background-color: #c44965;
}

#tabEventGraduate:checked ~ .tabBtn label[for=tabEventGraduate] {
  background-color: #d9633b;
}

#tabEventDepartment:checked ~ .tabBtn label[for=tabEventDepartment] {
  background-color: #2b8957;
}

.tabBtn label[for=tabInfoAll]:hover {
  background-color: #004ea2;
}

.tabBtn label[for=tabInfoEntrance]:hover {
  background-color: #548b48;
}

.tabBtn label[for=tabInfoEducation]:hover {
  background-color: #c23d72;
}

.tabBtn label[for=tabInfoResearch]:hover {
  background-color: #1b4292;
}

.tabBtn label[for=tabInfoWinning]:hover {
  background-color: #da9b29;
}

.tabBtn label[for=tabInfoActivity]:hover {
  background-color: #65cc09;
}

.tabBtn label[for=tabInfoVisit]:hover {
  background-color: #3697ae;
}

.tabBtn label[for=tabInfoStudents]:hover,
.tabBtn label[for=tabInfoEvent]:hover {
  background-color: #4ea3d0;
}

.tabBtn label[for=tabInfoInfo]:hover {
  background-color: #e66262;
}

.tabBtn label[for=tabEventAll]:hover {
  background-color: #004ea2;
}

.tabBtn label[for=tabEventGeneral]:hover {
  background-color: #534cad;
}

.tabBtn label[for=tabEventFes]:hover {
  background-color: #c44965;
}

.tabBtn label[for=tabEventGraduate]:hover {
  background-color: #d9633b;
}

.tabBtn label[for=tabEventDepartment]:hover {
  background-color: #2b8957;
}

#information .tabBtn label[for=tabInfoAll]:hover,
#information .tabBtn label[for=tabInfoEntrance]:hover,
#information .tabBtn label[for=tabInfoEducation]:hover,
#information .tabBtn label[for=tabInfoResearch]:hover,
#information .tabBtn label[for=tabInfoWinning]:hover,
#information .tabBtn label[for=tabInfoActivity]:hover,
#information .tabBtn label[for=tabInfoVisit]:hover,
#information .tabBtn label[for=tabInfoStudents]:hover,
#information .tabBtn label[for=tabInfoEvent]:hover,
#information .tabBtn label[for=tabInfoInfo]:hover,
#information .tabBtn label[for=tabEventAll]:hover,
#information .tabBtn label[for=tabEventGeneral]:hover,
#information .tabBtn label[for=tabEventFes]:hover,
#information .tabBtn label[for=tabEventGraduate]:hover,
#information .tabBtn label[for=tabEventDepartment]:hover, #event .tabBtn label[for=tabInfoAll]:hover,
#event .tabBtn label[for=tabInfoEntrance]:hover,
#event .tabBtn label[for=tabInfoEducation]:hover,
#event .tabBtn label[for=tabInfoResearch]:hover,
#event .tabBtn label[for=tabInfoWinning]:hover,
#event .tabBtn label[for=tabInfoActivity]:hover,
#event .tabBtn label[for=tabInfoVisit]:hover,
#event .tabBtn label[for=tabInfoStudents]:hover,
#event .tabBtn label[for=tabInfoEvent]:hover,
#event .tabBtn label[for=tabInfoInfo]:hover,
#event .tabBtn label[for=tabEventAll]:hover,
#event .tabBtn label[for=tabEventGeneral]:hover,
#event .tabBtn label[for=tabEventFes]:hover,
#event .tabBtn label[for=tabEventGraduate]:hover,
#event .tabBtn label[for=tabEventDepartment]:hover {
  color: #fff;
}

#tabInfoAll:checked ~ #infoAll,
#tabInfoAll:checked ~ #infoAll + .infoBtn,
#tabInfoEntrance:checked ~ #infoEntrance,
#tabInfoEntrance:checked ~ #infoEntrance + .infoBtn,
#tabInfoEducation:checked ~ #infoEducation,
#tabInfoEducation:checked ~ #infoEducation + .infoBtn,
#tabInfoResearch:checked ~ #infoResearch,
#tabInfoResearch:checked ~ #infoResearch + .infoBtn,
#tabInfoWinning:checked ~ #infoWinning,
#tabInfoWinning:checked ~ #infoWinning + .infoBtn,
#tabInfoActivity:checked ~ #infoActivity,
#tabInfoActivity:checked ~ #infoActivity + .infoBtn,
#tabInfoVisit:checked ~ #infoVisit,
#tabInfoVisit:checked ~ #infoVisit + .infoBtn,
#tabInfoStudents:checked ~ #infoStudents,
#tabInfoStudents:checked ~ #infoStudents + .infoBtn,
#tabInfoEvent:checked ~ #infoEvent,
#tabInfoEvent:checked ~ #infoEvent + .infoBtn,
#tabInfoInfo:checked ~ #infoInfo,
#tabInfoInfo:checked ~ #infoInfo + .infoBtn,
#tabEventAll:checked ~ #eventAll,
#tabEventAll:checked ~ #eventAll + .infoBtn,
#tabEventGeneral:checked ~ #eventGeneral,
#tabEventGeneral:checked ~ #eventGeneral + .infoBtn,
#tabEventFes:checked ~ #eventFes,
#tabEventFes:checked ~ #eventFes + .infoBtn,
#tabEventGraduate:checked ~ #eventGraduate,
#tabEventGraduate:checked ~ #eventGraduate + .infoBtn,
#tabEventDepartment:checked ~ #eventDepartment,
#tabEventDepartment:checked ~ #eventDepartment + .infoBtn {
  height: auto;
  opacity: 1;
}

/* modal menu */
#subScreen {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin-top: 0;
  background-color: #002854;
  opacity: 0;
  z-index: 2000;
  cursor: pointer;
}

#subWin {
  position: fixed;
  top: 20px;
  bottom: 20px;
  left: 20px;
  right: 20px;
  display: none;
  max-width: 640px;
  max-height: 100%;
  margin: auto;
  z-index: 1999;
}
#subWin .tabBtn {
  display: block;
  padding: 20px 0 15px;
  background-color: #fff;
  border-radius: 3px;
  letter-spacing: -0.4em;
  z-index: 2001;
}
#subWin .tabBtn li {
  display: block;
  width: 100%;
  border-radius: 0;
  box-sizing: border-box;
  letter-spacing: normal;
  vertical-align: text-bottom;
}
#subWin .tabBtn li + li {
  display: inline-block;
  width: 50%;
  margin-left: 0;
}
#subWin .tabBtn li label {
  margin: 0 0 5px;
  padding: 15px 0;
  color: #fff;
}
#subWin .tabBtn li label[for=tabInfoAll] {
  background-color: #004ea2;
}
#subWin .tabBtn li label[for=tabInfoEntrance] {
  background-color: #548b48;
}
#subWin .tabBtn li label[for=tabInfoEducation] {
  background-color: #c23d72;
}
#subWin .tabBtn li label[for=tabInfoResearch] {
  background-color: #1b4292;
}
#subWin .tabBtn li label[for=tabInfoWinning] {
  background-color: #da9b29;
}
#subWin .tabBtn li label[for=tabInfoActivity] {
  background-color: #65cc09;
}
#subWin .tabBtn li label[for=tabInfoVisit] {
  background-color: #3697ae;
}
#subWin .tabBtn li label[for=tabInfoStudents],
#subWin .tabBtn li label[for=tabInfoEvent] {
  background-color: #4ea3d0;
}
#subWin .tabBtn li label[for=tabInfoInfo] {
  background-color: #e66262;
}
#subWin .tabBtn li label[for=tabEventAll] {
  background-color: #004ea2;
}
#subWin .tabBtn li label[for=tabEventGeneral] {
  background-color: #534cad;
}
#subWin .tabBtn li label[for=tabEventFes] {
  background-color: #c44965;
}
#subWin .tabBtn li label[for=tabEventGraduate] {
  background-color: #d9633b;
}
#subWin .tabBtn li label[for=tabEventDepartment] {
  background-color: #2b8957;
}
#subWin .btnClose {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  margin-top: 0;
  cursor: pointer;
  transform: rotate(45deg);
  z-index: 2002;
}
#subWin .btnClose:before, #subWin .btnClose:after {
  content: "";
  position: absolute;
  display: block;
}
#subWin .btnClose:before {
  top: 19px;
  left: 10px;
  width: 20px;
  border-top: 2px solid #fff;
}
#subWin .btnClose:after {
  top: 10px;
  left: 19px;
  height: 20px;
  border-left: 2px solid #fff;
}

@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (min-device-pixel-ratio: 1.5) {
  ul.wm-list > li.blank:before, ul.wm-list > li.pdf:before {
    background-size: 20px 20px;
    background-position: left;
    background-repeat: no-repeat;
  }
  ul.wm-list > li.blank:before {
    background-image: url(/common/img/icons2x/link_blank@2x.png);
  }
  ul.wm-list > li.pdf:before {
    background-image: url(/common/img/icons2x/link_pdf@2x.png);
  }
  ul.icon > li > a[target=_blank]:before, ul.icon > li > a[href*=".pdf"]:before, ul.icon > li > a[href*=".doc"]:before, ul.icon > li > a[href*=".xls"]:before, ul.icon > li > a[href*=".zip"]:before, ul.icon > li > a[href*=".wmv"]:before, ul.icon > li > a[href*=youtube]:before,
p > a[target=_blank]:before,
p > a[href*=".pdf"]:before,
p > a[href*=".doc"]:before,
p > a[href*=".xls"]:before,
p > a[href*=".zip"]:before,
p > a[href*=".wmv"]:before,
p > a[href*=youtube]:before, th > a[target=_blank]:before, th > a[href*=".pdf"]:before, th > a[href*=".doc"]:before, th > a[href*=".xls"]:before, th > a[href*=".zip"]:before, th > a[href*=".wmv"]:before, th > a[href*=youtube]:before, td > a[target=_blank]:before, td > a[href*=".pdf"]:before, td > a[href*=".doc"]:before, td > a[href*=".xls"]:before, td > a[href*=".zip"]:before, td > a[href*=".wmv"]:before, td > a[href*=youtube]:before, h2 > a[target=_blank]:before, h2 > a[href*=".pdf"]:before, h2 > a[href*=".doc"]:before, h2 > a[href*=".xls"]:before, h2 > a[href*=".zip"]:before, h2 > a[href*=".wmv"]:before, h2 > a[href*=youtube]:before,
.infoList > a[target=_blank]:before,
.infoList > a[href*=".pdf"]:before,
.infoList > a[href*=".doc"]:before,
.infoList > a[href*=".xls"]:before,
.infoList > a[href*=".zip"]:before,
.infoList > a[href*=".wmv"]:before,
.infoList > a[href*=youtube]:before,
.icon > a[target=_blank]:before,
.icon > a[href*=".pdf"]:before,
.icon > a[href*=".doc"]:before,
.icon > a[href*=".xls"]:before,
.icon > a[href*=".zip"]:before,
.icon > a[href*=".wmv"]:before,
.icon > a[href*=youtube]:before {
    background-size: 20px 20px;
    background-position: left;
    background-repeat: no-repeat;
  }
  ul.icon > li > a[target=_blank]:before,
p > a[target=_blank]:before, th > a[target=_blank]:before, td > a[target=_blank]:before, h2 > a[target=_blank]:before,
.infoList > a[target=_blank]:before,
.icon > a[target=_blank]:before {
    background-image: url(/common/img/icons2x/link_blank@2x.png);
  }
  ul.icon > li > a[href*=".pdf"]:before,
p > a[href*=".pdf"]:before, th > a[href*=".pdf"]:before, td > a[href*=".pdf"]:before, h2 > a[href*=".pdf"]:before,
.infoList > a[href*=".pdf"]:before,
.icon > a[href*=".pdf"]:before {
    background-image: url(/common/img/icons2x/link_pdf@2x.png);
  }
  ul.icon > li > a[href*=".doc"]:before,
p > a[href*=".doc"]:before, th > a[href*=".doc"]:before, td > a[href*=".doc"]:before, h2 > a[href*=".doc"]:before,
.infoList > a[href*=".doc"]:before,
.icon > a[href*=".doc"]:before {
    background-image: url(/common/img/icons2x/link_word@2x.png);
  }
  ul.icon > li > a[href*=".xls"]:before,
p > a[href*=".xls"]:before, th > a[href*=".xls"]:before, td > a[href*=".xls"]:before, h2 > a[href*=".xls"]:before,
.infoList > a[href*=".xls"]:before,
.icon > a[href*=".xls"]:before {
    background-image: url(/common/img/icons2x/link_excel@2x.png);
  }
  ul.icon > li > a[href*=".zip"]:before,
p > a[href*=".zip"]:before, th > a[href*=".zip"]:before, td > a[href*=".zip"]:before, h2 > a[href*=".zip"]:before,
.infoList > a[href*=".zip"]:before,
.icon > a[href*=".zip"]:before {
    background-image: url(/common/img/icons2x/link_zip@2x.png);
  }
  ul.icon > li > a[href*=".wmv"]:before, ul.icon > li > a[href*=youtube]:before,
p > a[href*=".wmv"]:before,
p > a[href*=youtube]:before, th > a[href*=".wmv"]:before, th > a[href*=youtube]:before, td > a[href*=".wmv"]:before, td > a[href*=youtube]:before, h2 > a[href*=".wmv"]:before, h2 > a[href*=youtube]:before,
.infoList > a[href*=".wmv"]:before,
.infoList > a[href*=youtube]:before,
.icon > a[href*=".wmv"]:before,
.icon > a[href*=youtube]:before {
    background-image: url(/common/img/icons2x/link_movie@2x.png);
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) and (max-width: 640px), only screen and (min--moz-device-pixel-ratio: 1.5) and (max-width: 640px), only screen and (-o-min-device-pixel-ratio: 3/2) and (max-width: 640px), only screen and (min-device-pixel-ratio: 1.5) and (max-width: 640px) {
  #information, #event {
    background-color: transparent;
  }
  #information .spMenuNews a:before, #information .spMenuEvent a:before, #event .spMenuNews a:before, #event .spMenuEvent a:before {
    background-size: 32px 32px;
    background-position: left;
    background-repeat: no-repeat;
    background-image: url(/common/img/icons2x/spmenu@2x.png);
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (min-device-pixel-ratio: 1.5) {
  a[href$="rss.xml"] {
    background-size: 36px 36px;
    background-position: left;
    background-repeat: no-repeat;
    background-image: url(/common/img/icons2x/rss@2x.png);
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (min-device-pixel-ratio: 1.5) {
  #inquiry li a[href*=seikyu]:before, #inquiry li a[href*=digital]:before, #inquiry li a[href*="http://web.tuat.ac.jp/"]:before, #inquiry li a[href*=form]:before, #inquiry li a[href*=contact]:before {
    background-size: 19px 25px;
    background-position: left;
    background-repeat: no-repeat;
  }
  #inquiry li a[href*=seikyu]:before {
    background-image: url(/common/img/icons2x/link_request@2x.png);
  }
  #inquiry li a[href*=digital]:before, #inquiry li a[href*="http://web.tuat.ac.jp/"]:before {
    background-image: url(/common/img/icons2x/link_brochure@2x.png);
  }
  #inquiry li a[href*=form]:before, #inquiry li a[href*=contact]:before {
    background-image: url(/common/img/icons2x/link_contact@2x.png);
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) and (max-width: 640px), only screen and (min--moz-device-pixel-ratio: 1.5) and (max-width: 640px), only screen and (-o-min-device-pixel-ratio: 3/2) and (max-width: 640px), only screen and (min-device-pixel-ratio: 1.5) and (max-width: 640px) {
  #inquiry ul li a[href*=seikyu]:before, #inquiry ul li a[href*=digital]:before, #inquiry ul li a[href*="http://web.tuat.ac.jp/"]:before, #inquiry ul li a[href*=form]:before, #inquiry ul li a[href*=contact]:before {
    background-position: left;
    background-repeat: no-repeat;
  }
  #inquiry ul li a[href*=seikyu]:before {
    background-size: 32px 42px;
    background-image: url(/common/img/icons2x/link_request_sp@2x.png);
  }
  #inquiry ul li a[href*=digital]:before, #inquiry ul li a[href*="http://web.tuat.ac.jp/"]:before {
    background-size: 45px 43px;
    background-image: url(/common/img/icons2x/link_brochure_sp@2x.png);
  }
  #inquiry ul li a[href*=form]:before, #inquiry ul li a[href*=contact]:before {
    background-size: 44px 42px;
    background-image: url(/common/img/icons2x/link_contact_sp@2x.png);
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (min-device-pixel-ratio: 1.5) {
  ul.checkList > li:before {
    background-size: 20px 20px;
    background-position: left;
    background-repeat: no-repeat;
    background-image: url(/common/img/icons2x/list_check@2x.png);
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (min-device-pixel-ratio: 1.5) {
  .sideL h2 a[target=_blank]:before,
.sideR h2 a[target=_blank]:before {
    background-size: 20px 20px;
    background-position: left;
    background-repeat: no-repeat;
    background-image: url(/common/img/icons2x/link_blank@2x.png);
  }
}
/* header ------------------------------------ */
#page-top {
  min-height: 90px;
  margin-top: 0;
  padding: 0;
}
#page-top:before {
  background-color: #f2f2f2;
  content: "";
  display: block;
  height: 36px;
  margin: 0 0 -36px;
}
#page-top:after {
  content: "";
  display: block;
  clear: both;
}
#page-top a {
  display: block;
  color: #555;
  text-decoration: none;
}
#page-top img {
  display: block;
  max-width: 252px;
}
#page-top div {
  margin: 0 auto;
}
#page-top .logoImg {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 25px 0;
}
#page-top .logoImg:after {
  content: "";
  display: block;
  clear: both;
}
#page-top .logoImg a {
  float: left;
}
#page-top h1.logoImg {
  border: none;
}
#page-top .visitor {
  position: absolute;
  max-width: 1200px;
  margin: 0 auto;
  top: 20px;
  right: 10px;
}
#page-top .visitor li {
  float: left;
  font-size: 0.86em;
}
#page-top .visitor li + li {
  margin-left: 11px;
}
#page-top .visitor a {
  color: #76899d;
  display: inline-block;
  border: 1px solid #dde2e7;
  padding: 8px 15px;
  border-radius: 4px;
}
#page-top .visitor a:hover, #page-top .visitor a:active {
  color: #004ea2;
}
#page-top .visitor a[href^=http] {
  word-wrap: break-word;
}
#page-top .visitor a[href*="//web.tuat.ac.jp/~admiss/"]:before, #page-top .visitor a[href*=applicants]:before, #page-top .visitor a[href*=student]:before, #page-top .visitor a[href*=graduate]:before, #page-top .visitor a[href*="//www.rd.tuat.ac.jp/"]:before, #page-top .visitor a[href*=public]:before {
  content: "";
  display: block;
  margin: 0 auto 8px;
  vertical-align: middle;
}
#page-top .visitor a[href*="//web.tuat.ac.jp/~admiss/"]:before, #page-top .visitor a[href*=applicants]:before {
  background: url("/common/img/icons-s4871128572.png") -738px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}
#page-top .visitor a[href*=student]:before {
  background: url("/common/img/icons-s4871128572.png") -1648px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}
#page-top .visitor a[href*=graduate]:before {
  background: url("/common/img/icons-s4871128572.png") -1018px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 22px;
}
#page-top .visitor a[href*="//www.rd.tuat.ac.jp/"]:before {
  background: url("/common/img/icons-s4871128572.png") -938px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}
#page-top .visitor a[href*=public]:before {
  background: url("/common/img/icons-s4871128572.png") -1346px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}
#page-top .visitor a:hover {
  color: #fff;
}
#page-top .visitor a[href*="//web.tuat.ac.jp/~admiss/"]:hover, #page-top .visitor a[href*=applicants]:hover {
  border-color: #548b48;
  background-color: #548b48;
}
#page-top .visitor a[href*="//web.tuat.ac.jp/~admiss/"]:hover:before, #page-top .visitor a[href*=applicants]:hover:before {
  background: url("/common/img/icons-s4871128572.png") -778px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}
#page-top .visitor a[href*=student]:hover {
  border-color: #4ea3d0;
  background-color: #4ea3d0;
}
#page-top .visitor a[href*=student]:hover:before {
  background: url("/common/img/icons-s4871128572.png") -1688px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}
#page-top .visitor a[href*=graduate]:hover {
  border-color: #1b4292;
  background-color: #1b4292;
}
#page-top .visitor a[href*=graduate]:hover:before {
  background: url("/common/img/icons-s4871128572.png") -1060px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 22px;
}
#page-top .visitor a[href*="//www.rd.tuat.ac.jp/"]:hover {
  border-color: #3697ae;
  background-color: #3697ae;
}
#page-top .visitor a[href*="//www.rd.tuat.ac.jp/"]:hover:before {
  background: url("/common/img/icons-s4871128572.png") -978px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}
#page-top .visitor a[href*=public]:hover {
  border-color: #534cad;
  background-color: #534cad;
}
#page-top .visitor a[href*=public]:hover:before {
  background: url("/common/img/icons-s4871128572.png") -1386px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}
@media only screen and (min-width: 801px) and (max-width: 940px) {
  #page-top .visitor {
    width: 75%;
    margin: 0;
    text-align: right;
  }
  #page-top .visitor li {
    float: inherit;
    display: inline-block;
    vertical-align: top;
  }
  #page-top .visitor li + li {
    margin-left: 1%;
  }
  #page-top .visitor li a {
    padding: 8px;
  }
}
@media only screen and (max-width: 800px) {
  #page-top .visitor {
    display: none;
    position: static;
    width: 100%;
    top: 0;
    right: 0;
    z-index: 3;
  }
  #page-top .visitor li {
    position: relative;
    float: left;
    display: inline-block;
    width: 50%;
    font-size: 1.14em;
    box-sizing: border-box;
  }
  #page-top .visitor li + li {
    margin-left: 0;
  }
  #page-top .visitor li:nth-child(2n+1) {
    clear: left;
  }
  #page-top .visitor li:nth-child(2n+3):after {
    content: "";
    position: absolute;
    width: 200%;
    top: 0;
    left: 0;
    border-top: solid 1px #546c85;
    z-index: 1;
  }
  #page-top .visitor li:nth-child(odd):before {
    content: "";
    position: absolute;
    width: 1px;
    height: 200%;
    right: 0;
    top: 0;
    bottom: 0;
    border-right: solid 1px #546c85;
    z-index: 1;
  }
  #page-top .visitor a {
    display: block;
    margin-bottom: -4em;
    padding: 1em 1em 5em;
    background-color: #77899d;
    border-radius: 0;
    border: none;
    color: #fff;
  }
  #page-top .visitor a:before {
    display: none !important;
  }
  #page-top .visitor a:hover {
    border-color: #546c85 !important;
    background-color: #77899d !important;
  }
}
#page-top .spNav {
  display: none;
}
html[lang=en] #page-top img {
  max-width: 305px;
}
html[lang=en] #page-top .logoImg {
  padding: 33px 0;
}
html[lang=en] #page-top .visitor a {
  min-height: 60px;
  line-height: 1.4em;
}
@media only screen and (min-width: 801px) and (max-width: 970px) {
  html[lang=en] #page-top .visitor {
    top: 10px;
  }
}
@media only screen and (max-width: 800px) {
  html[lang=en] #page-top .visitor a {
    min-height: 0;
  }
  html[lang=en] #page-top .visitor a br {
    display: none;
  }
}
@media only screen and (min-width: 801px) and (max-width: 970px) {
  html[lang=en] #page-top .logoImg {
    width: 25%;
    margin: 0;
  }
  html[lang=en] #page-top .logoImg img {
    width: 100%;
  }
}
@media only screen and (min-width: 801px) and (max-width: 940px) {
  #page-top .logoImg {
    width: 25%;
    margin: 0;
  }
  #page-top .logoImg img {
    width: 100%;
  }
}
@media only screen and (max-width: 800px) {
  #page-top {
    min-height: 76px;
    display: flex;
    flex-wrap: wrap;
  }
  #page-top:before {
    display: none;
  }
  #page-top .logo {
    margin: 0;
    max-width: 178px;
  }
  #page-top .logoImg {
    padding: 10px 20px;
  }
  html[lang=en] #page-top .logoImg {
    padding: 19px 20px 18px;
  }
  #page-top #dropMenu + div {
    display: none;
  }
  #page-top .spNav {
    background-color: #77899d;
  }
  body.menuOn #page-top .spNav {
    display: block;
  }
  #page-top .spNav a {
    border-bottom: solid 1px #77899d;
    color: #fff;
    display: block;
    font-size: 1.14em;
    padding: 1em;
  }
  #page-top .spNav ul {
    margin: 0;
  }
  #page-top .spNav ul:first-child {
    background-color: #546c85;
  }
  #page-top .spNav ul:first-child a:hover, #page-top .spNav ul:first-child a:active {
    background-color: #77899d;
  }
}

#page-top .spNav ul + ul {
  margin-top: -1px;
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
#page-top .spNav ul + ul li {
  border-top: solid 1px #546c85;
  border-right: solid 1px #546c85;
  box-sizing: border-box;
  width: 50%;
  flex: 1 1 auto;
}
#page-top .spNav ul + ul li:nth-child(2n) {
  border-right: none;
}
#page-top .spNav ul + ul li:last-child:nth-child(2n+1) {
  border-right: none;
  text-align: center;
}
@media only screen and (max-width: 800px) {
  #page-top .spNav ul + ul .utility_nav_fund,
#page-top .spNav ul + ul .utility_nav_lang {
    width: 100%;
    border-style: none;
    text-align: center;
  }
  #page-top .spNav ul + ul .utility_nav_fund a {
    background-color: #fff;
    color: #546c85;
    border-style: none;
  }
}

#utility {
  background-color: #f2f2f2;
  font-size: 0.86em;
  text-align: right;
  max-width: 1200px;
  padding: 0 10px;
}
#utility:after {
  clear: both;
  content: "";
  display: block;
}
#utility ul {
  float: right;
  height: 36px;
  margin: 0;
}
#utility ul:first-child li {
  display: inline-block;
  position: relative;
  top: -14px;
  line-height: 32px;
}
#utility ul:first-child li + li a {
  position: relative;
  padding: 0 0.5em 0 1.5em;
}
#utility ul:first-child li + li a:before {
  content: "";
  display: block;
  position: absolute;
  height: 1em;
  top: 0;
  bottom: 0;
  left: 0.5em;
  margin: auto 0;
  border-left: 1px solid #ddd;
}
#utility ul:first-child li:nth-last-child(2) a:before {
  transform: skewX(-30deg);
}
#utility ul:first-child li ul li {
  top: 0;
}
#utility a {
  color: #555;
  text-decoration: none;
}
@media only screen and (max-width: 800px) {
  #utility {
    display: none;
    order: 2;
    padding: 0;
    width: 100%;
  }
  body.menuOn #utility {
    display: block;
  }
  #utility ul {
    float: none;
    height: auto;
    padding: 0;
    width: 100%;
  }
  #utility ul:not(.snsBtn) li:not(#searchBtn) {
    display: none;
  }
}
@media only screen and (min-width: 801px) {
  #utility .utility_nav {
    display: flex;
    align-items: center;
  }
  #utility .utility_nav li {
    top: 0 !important;
    order: 2;
    height: 36px;
  }
  #utility .utility_nav li:first-child {
    padding: 0 0.5em;
  }
  #utility .utility_nav .utility_nav_fund {
    padding-right: 0.5em;
    order: 1;
  }
  #utility .utility_nav .utility_nav_fund a {
    display: flex;
    align-items: center;
    background-color: #546c85;
    padding: 0 2em;
    height: 36px;
    color: #fff;
  }
  #utility .utility_nav .utility_nav_fund a:hover {
    background-color: #76899d;
  }
  #utility .utility_nav .utility_nav_fund a::before {
    display: none;
  }
  #utility .utility_nav .utility_nav_lang {
    padding-right: 1em;
    order: 3;
  }
  #utility .utility_nav #searchBtn {
    order: 4;
  }
}

.snsBtn li {
  display: inline-block;
  margin: 8px 20px 8px 0px;
  overflow: hidden;
}
.snsBtn a {
  height: 20px;
  overflow: hidden;
  white-space: nowrap;
}
.snsBtn a:before {
  content: "";
  display: inline-block;
  margin-right: 1em;
  opacity: 0.7;
}
.snsBtn a:hover:before {
  opacity: 1;
}
.snsBtn.top {
  border: none;
  display: none;
  width: calc(100% - 62px);
  height: 50px;
  justify-content: center;
  align-items: center;
}
.snsBtn.top li {
  margin-right: 15px;
}
.snsBtn.top li:last-child {
  margin-right: 0px;
}
.snsBtn.top .facebook a {
  width: 23px;
  height: 23px;
}
.snsBtn.top .twitter a {
  width: 23px;
}
.snsBtn.top .youtube a {
  width: 24px;
}
.snsBtn.top .instagram a {
  height: 24px;
  width: 24px;
}
.snsBtn .facebook a {
  width: 22px;
}
.snsBtn .facebook a:before {
  content: "";
  display: inline-block;
  background: center/contain no-repeat url(/common/img/icon-fb-g.png);
  height: 100%;
  width: 100%;
}
.snsBtn .facebook a:hover:before {
  background-image: url(/common/img/icon-fb.png);
}
.snsBtn .twitter a {
  width: 22px;
}
.snsBtn .twitter a:before {
  content: "";
  display: inline-block;
  background: center/contain no-repeat url(/common/img/icon-tw-g.png);
  height: 100%;
  width: 100%;
}
.snsBtn .twitter a:hover:before {
  background-image: url(/common/img/icon-tw.png);
}
.snsBtn .youtube a {
  width: 23px;
}
.snsBtn .youtube a:before {
  content: "";
  display: inline-block;
  background: center/contain no-repeat url(/common/img/icon-youtube-g.png);
  height: 100%;
  width: 100%;
}
.snsBtn .youtube a:hover:before {
  background-image: url(/common/img/icon-youtube.png);
}
.snsBtn .instagram a {
  width: 24px;
}
.snsBtn .instagram a:before {
  content: "";
  display: inline-block;
  background: center/contain no-repeat url(/common/img/icon-instagram-g.png);
  height: 100%;
  width: 100%;
}
.snsBtn .instagram a:hover:before {
  background-image: url(/common/img/icon-instagram.png);
}

@media only screen and (max-width: 800px) {
  .snsBtn.top {
    display: flex;
  }
  .snsBtn {
    background-color: #f2f2f2;
    border-top: 1px solid #77899d;
    float: none;
    height: auto;
    margin: 0;
    text-align: center;
  }
  .snsBtn a {
    margin: 0 auto;
    padding: 1em;
  }
  .snsBtn li {
    display: inline-block;
    float: none;
    margin: 0;
    min-width: 20%;
  }
  .snsBtn li + li {
    margin-left: -0.4em;
  }
  body.menuOn #utility .snsBtn {
    display: none;
  }
}
#menuBtn {
  display: none;
}

@media only screen and (max-width: 800px) {
  #menuBtn {
    position: absolute;
    top: 0;
    right: 0;
    width: 28px;
    height: 2px;
    display: block;
    background-color: #546c85;
    border-style: solid;
    border-width: 24px 17px;
    border-color: #fff;
    z-index: 100;
    cursor: pointer;
    transition: background-color 0.2s;
  }
  #menuBtn:before,
#menuBtn:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 28px;
    border-top: 2px solid #546c85;
    transition: all 0.5s;
  }
  #menuBtn:before {
    top: -10px;
  }
  #menuBtn:after {
    top: 10px;
  }
  .menuOn #menuBtn {
    top: 0;
    right: 0;
    background-color: transparent;
    border-style: solid;
    border-width: 24px 17px;
    border-color: #546c85;
    background-color: #546c85;
  }
  .menuOn #menuBtn:before,
.menuOn #menuBtn:after {
    border-top: 2px solid #fff;
  }
  .menuOn #menuBtn:before {
    top: 0;
    transform: rotate(45deg);
  }
  .menuOn #menuBtn:after {
    top: 0;
    transform: rotate(-45deg);
  }
}
#headNav {
  max-width: 1200px;
  position: relative;
  padding: 0 10px;
}
@media only screen and (max-width: 800px) {
  #headNav {
    order: 1;
    overflow: hidden;
    padding: 0;
    width: 100%;
  }
}

.closeBtn {
  order: 3;
  position: relative;
  display: none;
  color: #546c85;
  font-size: 1.14em;
  line-height: 60px;
  border-top: 1px solid #77899d;
  background-color: #f2f2f2;
  text-align: center;
  cursor: pointer;
  width: 100%;
  z-index: 2;
}
@media only screen and (max-width: 800px) {
  body.menuOn .closeBtn {
    display: block;
  }
}

#searchBtn {
  background-color: #f2f2f2;
  height: 24px;
  position: relative;
  top: 0 !important;
  width: 36px;
}
#searchBtn:before, #searchBtn:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  transform: rotate(45deg);
  z-index: 0;
}
#searchBtn:before {
  width: 16px;
  height: 0;
  border-top: 2px solid #555;
}
#searchBtn:after {
  width: 0;
  height: 16px;
  border-left: 2px solid #555;
}
#searchBtn > form {
  width: 100%;
  height: 36px;
}
#searchBtn > form:after {
  content: "";
  position: relative;
  display: block;
  background: url("/common/img/icons-s4871128572.png") -1608px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
  background-color: #546c85;
  background-position: -1600px 7px;
  width: 36px;
  height: 36px;
  z-index: 1;
}
#searchBtn fieldset {
  position: absolute;
  top: 36px;
  width: 240px;
  max-height: 0;
  right: -10px;
  border: 10px solid #f2f2f2;
  background-color: #f2f2f2;
  opacity: 0;
  transition: all 0.2s;
  overflow: hidden;
  z-index: 2;
}
#searchBtn fieldset:after {
  content: "";
  display: block;
  clear: both;
}
#searchBtn fieldset input {
  display: block;
}
#searchBtn fieldset #btn {
  display: inline-block;
  float: right;
  width: 36px;
  height: 36px;
  margin: 0 -36px 0 0;
  height: 100%;
}
#searchBtn fieldset table {
  margin: 0;
}
#searchBtn fieldset td {
  padding: 0;
  border-style: none;
}
#searchBtn fieldset div.gsc-control-cse {
  padding: 10px;
  border-style: none;
  background-color: #546c85;
}
#searchBtn fieldset td.gsc-input {
  background-color: #fff;
}
#searchBtn fieldset form.gsc-search-box {
  margin: 0;
  overflow: hidden;
}
#searchBtn fieldset div.gsc-input-box {
  height: 28px;
  border: none;
  box-shadow: inset 0 0 0 rgba(255, 255, 255, 0) !important;
}
#searchBtn fieldset input.gsc-input {
  display: block;
  height: 28px;
  line-height: 28px;
  font-size: 1em;
  text-indent: 5px;
  padding: 0;
  width: 100%;
  outline: none;
}
#searchBtn fieldset .gsib_b > .gsst_b > .gsst_a {
  line-height: 28px;
}
#searchBtn fieldset .gsib_b > .gsst_b > .gsst_a:before {
  display: none;
}
#searchBtn fieldset .gsst_a .gscb_a {
  line-height: 28px;
  color: #546c85;
}
#searchBtn fieldset td.gsc-search-button {
  width: 36px;
  height: 36px;
}
#searchBtn fieldset button.gsc-search-button {
  display: block;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 9px;
  background-color: #546c85;
  border-color: #546c85;
  border-radius: 0;
  -webkit-appearance: none;
  outline: none;
}
@media only screen and (max-width: 800px) {
  #searchBtn {
    background-color: #f2f2f2;
    border-top: 1px solid #77899d;
    display: block !important;
    float: none !important;
    height: auto !important;
    padding: 1em 0 !important;
    position: static !important;
    width: 100%;
    z-index: 2;
  }
  #searchBtn,
#searchBtn form {
    width: auto !important;
    height: auto !important;
  }
  #searchBtn:before, #searchBtn:after,
#searchBtn form:after {
    display: none;
  }
  #searchBtn fieldset {
    box-sizing: border-box;
    position: static;
    margin: 0 auto;
    max-height: 40px;
    width: 90%;
    opacity: 1;
    border-style: none;
  }
  #searchBtn fieldset div.gsc-control-cse {
    background-color: #546c85;
  }
  #searchBtn fieldset form.gsc-search-box {
    height: 42px;
    background-color: #546c85;
  }
  #searchBtn fieldset div.gsc-control-cse {
    padding: 1.5em;
  }
  #searchBtn fieldset div.gsc-input-box {
    height: 40px;
  }
  #searchBtn fieldset td.gsc-input {
    height: 40px;
  }
  #searchBtn fieldset td.gsc-input td {
    height: 40px;
  }
  #searchBtn fieldset input.gsc-input {
    font-size: 1.14em;
  }
  #searchBtn fieldset .gsib_b > .gsst_b > .gsst_a {
    line-height: 40px;
    display: inline;
    margin-bottom: 0;
    padding: 0;
    background-color: transparent !important;
  }
  #searchBtn fieldset .gsst_a .gscb_a {
    line-height: 40px;
    color: #546c85;
  }
  #searchBtn fieldset td.gsc-search-button {
    width: 40px !important;
    height: 40px;
  }
  #searchBtn fieldset button.gsc-search-button {
    margin: 2px;
    padding: 0;
  }
  #searchBtn fieldset table.gsc-search-box {
    display: table;
  }
  #searchBtn fieldset table.gsc-search-box tbody {
    display: table-row-group;
  }
  #searchBtn fieldset table.gsc-search-box tr {
    display: table-row;
  }
  #searchBtn fieldset table.gsc-search-box td {
    display: table-cell;
  }
  #searchBtn fieldset table.gsc-search-box td.gsc-clear-button {
    width: auto;
  }
  #searchBtn fieldset table.gsc-search-box .gsc-input,
#searchBtn fieldset table.gsc-search-box .gsc-search-button,
#searchBtn fieldset table.gsc-search-box .gsib_a,
#searchBtn fieldset table.gsc-search-box .gsib_b {
    display: table-cell;
  }
  #searchBtn fieldset table.gsc-search-box .gsib_a,
#searchBtn fieldset table.gsc-search-box .gsib_b {
    width: 100% !important;
  }
  #searchBtn fieldset table.gsc-search-box table.gsc-input {
    display: block;
  }
  #searchBtn fieldset input[type=text] {
    width: calc(100% - 6px);
    border-radius: 3px 0 0 3px;
    height: 40px;
    box-sizing: border-box;
  }
  #searchBtn fieldset #btn {
    position: absolute;
    width: 40px;
    height: 40px;
    border-radius: 0 3px 3px 0;
  }
}

#checkSearch {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0 0 -36px;
  padding: 0;
  z-index: 100;
  opacity: 0;
  cursor: pointer;
}
#checkSearch:checked {
  margin: 10px 0 0 0;
}
#checkSearch:checked + fieldset {
  max-height: 36px;
  opacity: 1;
}
@media only screen and (max-width: 800px) {
  #checkSearch {
    display: none;
  }
}

#printBtn {
  margin: 0;
}
#printBtn a {
  width: 22px;
  height: 24px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  background: url("/common/img/icons-s4871128572.png") 0 0;
  background-repeat: no-repeat;
  height: 22px;
  width: 22px;
}

body {
  min-width: 320px;
}

#page-top #headNav:after {
  clear: both;
  content: "";
  display: block;
}

#page-top #headNav .logoImg {
  float: left;
  height: 53px;
  padding: 52px 0 0;
  position: relative;
  z-index: 1;
}

#page-top #headNav .logoImg a {
  display: block;
}

#page-top #headNav .logoImg img {
  display: block;
  width: 100%;
}

html[lang=ja] #page-top #headNav .logoImg {
  max-width: 255px;
}

html[lang=en] #page-top #headNav .logoImg {
  max-width: 305px;
}

#page-top #headNav .logoImg > * {
  transform: translateY(-50%);
}

@media only screen and (min-width: 801px) {
  #page-top #headNav .visitor {
    display: flex;
    justify-content: flex-end;
    top: 50%;
    transform: translateY(-50%);
  }
  html[lang=ja] #page-top #headNav .visitor {
    margin-left: calc(25% + 70px + 10em);
  }
  html[lang=en] #page-top #headNav .visitor {
    margin-left: calc(375px + 8em);
  }
  #page-top .visitor li {
    float: none;
  }
  #page-top .visitor a {
    box-sizing: border-box;
    height: 100%;
    min-height: 47px;
    text-align: center;
  }
  #page-top .visitor .sp_only {
    display: none;
  }
}
#page-top .visitor br,
#page-top .spNav br {
  display: none;
}

#page-top .disaster {
  float: left;
  height: 53px;
  margin: 0;
  padding: 52px 0 0 20px;
  position: relative;
  z-index: 1;
}

#page-top .disaster a {
  border: 1px solid #dde2e7;
  border-radius: 4px;
  color: #76899d;
  display: inline-block;
  font-size: 0.86em;
  padding: 8px 15px;
  position: relative;
  text-align: center;
  transform: translateY(-50%);
}

html[lang=ja] #page-top .disaster a {
  max-width: 10em;
}

html[lang=en] #page-top .disaster a {
  max-width: 8em;
}

#page-top .disaster a:hover {
  background-color: #76899d;
  color: #fff;
}

#page-top .disaster.active a {
  color: #fff;
  background-color: #e66262;
  border-color: #e66262;
}

#page-top .disaster.active a:hover {
  background-color: #eb8181;
}

@media only screen and (max-width: 1100px) and (min-width: 801px) {
  #page-top .visitor {
    width: 100%;
  }
  html[lang=ja] #page-top .visitor br {
    display: inline;
  }
}
@media only screen and (max-width: 1200px) and (min-width: 801px) {
  html[lang=en] #page-top #headNav .logoImg {
    height: auto;
    width: 25%;
    padding: 10px 0;
  }
  html[lang=en] #page-top #headNav .logoImg > * {
    transform: translateY(0);
  }
  html[lang=en] #page-top .disaster {
    clear: left;
    height: auto;
    padding: 0 0 10px;
  }
  html[lang=en] #page-top .disaster a {
    max-width: 100%;
    transform: translateY(0);
  }
  html[lang=en] #page-top .disaster br {
    display: none;
  }
  html[lang=en] #page-top #headNav .visitor {
    width: auto;
    padding-left: 0;
    margin-left: 345px;
  }
}
@media only screen and (max-width: 800px) {
  #page-top {
    min-height: 76px;
  }
  #page-top #headNav .logoImg {
    box-sizing: border-box;
    height: 76px;
    padding: 38px 10px 0;
    width: 50%;
  }
  #page-top .disaster {
    box-sizing: border-box;
    height: 76px;
    overflow: hidden;
    padding: 38px 0 0;
    width: calc(50% - 76px);
  }
  #page-top .disaster a {
    line-height: 1.2;
  }
  #page-top .spNav {
    clear: both;
  }
}
@media only screen and (max-width: 600px) {
  html[lang=en] #page-top .disaster a {
    padding: 3px;
  }
}
@media only screen and (max-width: 479px) {
  html[lang=ja] #page-top .disaster a {
    padding: 3px;
  }
}
/* footer ------------------------------------ */
#footNav {
  margin-top: 0;
  background-color: #f2f2f2;
  position: relative;
}
#toHead + #footNav {
  border-top: solid 1px #ddd;
}
#footNav a {
  display: inline-block;
  color: #555;
  text-decoration: none;
}
#footNav nav {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 10px 80px;
}
#footNav nav .faculty:after {
  content: "";
  display: block;
  clear: both;
}
#footNav nav .faculty > li {
  font-size: 1.14em;
  width: 48%;
  margin-top: 50px;
  border-bottom: 1px solid #ccc;
  min-height: 10em;
  box-sizing: border-box;
}
#footNav nav .faculty > li > a {
  position: relative;
  padding-left: 1em;
}
#footNav nav .faculty > li > a:before {
  content: "";
  display: block;
  position: absolute;
  width: 4px;
  height: 4px;
  top: -4px;
  bottom: 0;
  left: 0;
  margin: auto 0;
  background-color: #555;
}
#footNav nav .faculty > li:nth-child(even) {
  float: right;
}
#footNav nav .faculty > li:nth-child(odd) {
  float: left;
}
#footNav nav .faculty > li:nth-child(1) > a {
  color: #06a557;
}
#footNav nav .faculty > li:nth-child(1) > a:before {
  background-color: #06a557;
}
#footNav nav .faculty > li:nth-child(2) > a {
  color: #004ea2;
}
#footNav nav .faculty > li:nth-child(2) > a:before {
  background-color: #004ea2;
}
#footNav nav .faculty > li ul {
  margin: 0 0 0 1em;
}
#footNav nav .faculty > li li {
  font-size: 0.79em;
  float: none;
  display: inline-block;
  margin-top: 10px;
}
#footNav nav .faculty > li li a {
  text-decoration: none;
  position: relative;
  padding: 0 2em 0 0.5em;
}
#footNav nav .faculty > li li a:before {
  content: "";
  display: block;
  position: absolute;
  height: 1em;
  top: 0;
  bottom: 0;
  right: 0.5em;
  margin: 0.2em 0;
  border-right: 1px solid #555;
  transform: skewX(-20deg);
}
#footNav nav .faculty > li li:first-child a {
  padding-left: 2em;
}
#footNav nav .faculty > li li:first-child a:before {
  left: 0.5em;
  border-left: 1px solid #555;
}
html[lang=en] #footNav nav .faculty > li {
  min-height: 14em;
}
@media only screen and (max-width: 800px) {
  #footNav nav {
    padding-left: 0;
    padding-right: 0;
  }
  #footNav nav .faculty > li {
    width: 100%;
    margin-top: 40px;
    padding: 0 10px 40px;
    min-height: 0;
  }
  #footNav nav .faculty:nth-child(even), #footNav nav .faculty:nth-child(odd) {
    float: none;
  }
  html[lang=en] #footNav nav .faculty > li {
    min-height: 0;
  }
}

#footNav nav .footsns {
  width: auto;
  text-align: center;
  margin-top: 80px;
}

#footNav nav .footsns a {
  display: inline-block;
  padding: 0 40px;
}

#footNav nav .footsns a:before {
  content: "";
  display: block;
  margin: 0 auto 15px;
  vertical-align: middle;
}

#footNav nav .footsns li {
  float: none;
  margin-left: 0;
  padding-right: 0;
  display: inline-block;
  vertical-align: middle;
}

#footNav nav .footsns li.facebook a:before {
  content: "";
  display: block;
  background: center/contain no-repeat url(/common/img/icon-fb-g.png);
  height: 24px;
  width: 24px;
}

#footNav nav .footsns li.facebook a:hover:before {
  background-image: url(/common/img/icon-fb.png);
}

#footNav nav .footsns li.twitter a:before {
  content: "";
  display: block;
  background: center/contain no-repeat url(/common/img/icon-tw-g.png);
  height: 24px;
  width: 24px;
}

#footNav nav .footsns li.twitter a:hover:before {
  background-image: url(/common/img/icon-tw.png);
}

#footNav nav .footsns li.youtube a:before {
  content: "";
  display: block;
  background: center/contain no-repeat url(/common/img/icon-youtube-g.png);
  height: 24px;
  width: 24px;
}

#footNav nav .footsns li.youtube a:hover:before {
  background-image: url(/common/img/icon-youtube.png);
}

#footNav nav .footsns li.instagram a:before {
  content: "";
  display: block;
  background: center/contain no-repeat url(/common/img/icon-instagram-g.png);
  height: 24px;
  width: 24px;
}

#footNav nav .footsns li.instagram a:hover:before {
  background-image: url(/common/img/icon-instagram.png);
}

#footNav nav .footsns li.sns br {
  display: none;
}

#footNav nav .footsns li.sns a:before {
  background: url("/common/img/icons-s4871128572.png") -1102px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
  display: inline-block;
  height: 20px;
  margin: -5px auto;
  width: 20px;
}

@media (min-width: 479px) and (max-width: 800px) {
  #footNav nav .footsns li.sns a {
    padding-left: 20px;
    text-align: left;
    text-indent: -20px;
  }
  #footNav nav .footsns li.sns br {
    display: block;
  }
}
@media (max-width: 479px) {
  #footNav nav .footsns li.sns {
    display: block;
    margin: 30px auto 0;
  }
  #footNav nav .footsns li.youtube {
    border-style: none;
  }
}
@media only screen and (max-width: 640px) {
  #footNav nav {
    padding: 0 0 30px;
  }
  #footNav nav .footsns {
    margin-top: 30px;
  }
  #footNav nav .footsns li:not(.sns):not(:nth-child(n+4)) {
    border-right: 1px solid #ddd;
  }
  #footNav nav .footsns a {
    padding: 0 10px;
  }
  #footNav .faculty {
    display: none;
  }
}
@media only screen and (max-width: 360px) {
  #footNav nav .footsns {
    width: 200px;
    margin-left: auto;
    margin-right: auto;
  }
  #footNav nav .footsns:after {
    clear: both;
    content: "";
    display: block;
  }
  #footNav nav .footsns li {
    box-sizing: border-box;
    float: left;
    width: 100px;
  }
  #footNav nav .footsns li:nth-child(even) {
    border-right-style: none !important;
  }
  #footNav nav .footsns li:nth-child(1), #footNav nav .footsns li:nth-child(2) {
    padding-bottom: 20px;
  }
  #footNav nav .footsns li:nth-child(3), #footNav nav .footsns li:nth-child(4) {
    border-top: 1px solid #ddd;
    padding-top: 20px;
  }
  #footNav nav .footsns li.sns {
    width: auto;
  }
}
footer ul {
  background-color: #76899d;
  text-align: center;
  padding: 25px 0;
}
footer li {
  display: inline-block;
  margin: 0;
}
footer li a {
  color: #fff;
  text-decoration: none;
  position: relative;
  padding: 0 4em 0 2.5em;
}
footer li a:before {
  content: "";
  display: block;
  position: absolute;
  height: 1em;
  top: 0;
  bottom: 0;
  right: 0.5em;
  margin: auto 0;
  border-right: 2px solid #ddd;
  transform: skewX(-20deg);
}
footer li:first-child a {
  padding-left: 4em;
}
footer li:first-child a:before {
  left: 0.5em;
  border-left: 2px solid #ddd;
}
footer li:last-child {
  display: none;
}
html[lang=en] footer li:last-child {
  display: inline-block;
}
@media only screen and (max-width: 800px) {
  footer ul {
    padding: 0;
    text-align: left;
  }
  footer li {
    font-size: 1.14em;
    display: block;
  }
  footer li a {
    display: block;
    padding: 25px 30px;
  }
  footer li a:before {
    content: "";
    display: block;
    position: absolute;
    width: 4px;
    height: 4px;
    top: 0;
    bottom: 0;
    left: 15px;
    margin: auto 0;
    border-right: none;
    background-color: #fff;
    transform: skewX(0deg);
  }
  footer li + li {
    border-top: 1px solid #657b91;
  }
  footer li:first-child a {
    padding-left: 30px;
  }
  footer li:first-child a:before {
    left: 15px;
    border-left: none;
  }
  footer li:last-child {
    display: block;
  }
  html[lang=en] footer li:last-child {
    display: block;
  }
}

#copyright {
  color: #fff;
  font-size: 0.72em;
  text-align: center;
  margin: 0 auto;
  padding: 30px 10px;
  background-color: #546c85;
}

/* toHead */
#toHead {
  max-width: 1200px;
  margin: -20px auto 0;
  padding: 20px;
}
#toHead:after {
  content: "";
  display: block;
  clear: both;
}
#toHead a {
  position: absolute;
  right: 60px;
  bottom: 80px;
  float: right;
  display: block;
  width: 40px;
  height: 40px;
  padding-left: 0;
  background-color: #fff;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
#toHead a:before {
  content: "";
  display: block;
  margin: 0 auto 15px;
  vertical-align: middle;
  position: absolute;
  top: 10px;
  left: 10px;
  border: none;
  background: url("/common/img/icons-s4871128572.png") -1222px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}
#container + #toHead {
  margin-top: 0;
}
@media only screen and (max-width: 800px) {
  #toHead {
    margin-top: 0;
    background-color: #fff;
  }
  #toHead a {
    position: relative;
    right: auto;
    bottom: auto;
    float: none;
    margin: 0 auto;
  }
  #toHead a:before {
    left: 8px;
    background: url("/common/img/icons-s4871128572.png") -1262px 0;
    background-repeat: no-repeat;
    height: 20px;
    width: 24px;
  }
}
@media only screen and (max-width: 640px) {
  #toHead {
    border-top: 1px solid #f2f2f2;
  }
}

.toHead {
  text-align: right;
  padding: 20px;
  position: relative;
}
.toHead a {
  position: absolute;
  right: 0;
  bottom: 0;
  float: right;
  display: block;
  width: 40px;
  height: 40px;
  border: 1px solid #f2f2f2;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.toHead a:before {
  content: "";
  display: block;
  margin: 0 auto 15px;
  vertical-align: middle;
  position: absolute;
  top: 10px;
  left: 10px;
  background: url("/common/img/icons-s4871128572.png") -1222px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}

@media only screen and (-webkit-min-device-pixel-ratio: 1.5) and (max-width: 640px), only screen and (min--moz-device-pixel-ratio: 1.5) and (max-width: 640px), only screen and (-o-min-device-pixel-ratio: 3/2) and (max-width: 640px), only screen and (min-device-pixel-ratio: 1.5) and (max-width: 640px) {
  #toHead {
    border-top: 1px solid #f2f2f2;
  }
  #toHead a:before, #toHead a:after {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -14px;
    margin-left: -7px;
    transform: rotate(-90deg);
  }
  #toHead a:before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
    border-color: rgba(255, 0, 0, 0);
    border-width: 12px 0 12px 14px;
    border-left-color: #00a558;
  }
  #toHead a:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
    border-color: rgba(255, 0, 0, 0);
    border-width: 12px 0 12px 14px;
    border-left-color: #fff;
  }
  #toHead a:after {
    margin-top: -10px;
  }
}
/* global nav -------------------------------- */
#gNav {
  position: relative;
  overflow: hidden;
  background-color: #546c85;
  padding: 0;
}
#gNav .home {
  width: 24px;
}
#gNav .home a {
  width: 24px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
#gNav .home a:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  width: 24px;
  height: 24px;
  margin: auto;
  background: url("/common/img/icons-s4871128572.png") -2014px 0;
  background-repeat: no-repeat;
  height: 22px;
  width: 24px;
}
#gNav > ul {
  margin: 0 auto;
  max-width: 1200px;
  display: table;
  width: 100%;
  overflow: hidden;
}
#gNav > ul > li {
  position: relative;
  display: table-cell;
  text-align: center;
  padding: 7px 0;
}
#gNav > ul > li:first-child a:hover:before {
  display: none;
}
#gNav > ul > li:first-child a:before {
  content: "";
  display: block;
  position: absolute;
  height: 1em;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto 0;
  border-left: 1px solid #76899d;
}
#gNav > ul > li:hover {
  background-color: #76899d;
}
#gNav > ul > li:hover:after {
  content: "";
  position: absolute;
  bottom: -3px;
  left: 0;
  display: block;
  width: 50%;
  border-bottom: solid 3px #004ea2;
}
#gNav > ul > li > a {
  color: #fff;
  display: block;
  margin: -5em 0;
  padding: 5.3em 0;
}
#gNav > ul > li > a:hover {
  color: #fff;
}
#gNav > ul > li > a:hover:before {
  display: none;
}
#gNav > ul > li > a:before {
  content: "";
  display: block;
  position: absolute;
  height: 1em;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto 0;
  border-right: 1px solid #76899d;
}
#gNav > ul .open a, #gNav > ul .open.cur a {
  color: #fff;
  background-color: #76899d;
}
#gNav > ul .open a:before, #gNav > ul .open.cur a:before {
  display: none !important;
}
#gNav > ul .open a:after, #gNav > ul .open.cur a:after {
  content: "";
  display: block;
  position: absolute;
  height: 1em;
  top: 0;
  bottom: 0;
  left: -1px;
  margin: auto 0;
  border-left: 1px solid #546c85;
}
@media only screen and (max-width: 800px) {
  #gNav {
    display: none;
    position: relative;
    width: 100%;
    padding: 0;
    z-index: 3;
  }
  #gNav > ul {
    display: block;
  }
  #gNav > ul > li {
    display: block;
    padding: 0;
    text-align: left;
  }
  #gNav > ul > li:hover {
    background-color: #546c85;
  }
  #gNav > ul > li:hover:after {
    display: none;
  }
  #gNav > ul > li:hover a {
    color: #fff;
  }
  #gNav > ul > li a {
    margin: 0;
    padding: 1em;
    border-bottom: solid 1px #77899d;
    font-size: 1.14em;
  }
  #gNav > ul > li a:before {
    display: none;
  }
}

#dropMenu {
  position: absolute;
  width: 100%;
  max-width: 1200px;
  left: 0;
  right: 0;
  z-index: 991;
}
#dropMenu > div {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: none;
  background-color: #76899d;
}
#dropMenu > div:nth-child(n+4) {
  padding-right: 30px;
}
#dropMenu > div:nth-child(n+4) .inner {
  float: right;
  text-align: left;
}
#dropMenu > div:nth-child(5) {
  padding-right: 18%;
}
#dropMenu .inner {
  display: inline-flex;
  gap: 20px;
  margin: 0 auto;
  padding: 20px;
  max-width: 1200px;
}
#dropMenu .inner h2 {
  border-bottom: none;
  font-size: 1.14em;
}
#dropMenu .inner h2:after {
  display: none;
}
#dropMenu .inner h2 a:before {
  display: none;
}
#dropMenu .inner h2 + ul {
  margin-top: 0.7em;
}
#dropMenu .inner_item:nth-child(n+5) {
  display: none;
}
#dropMenu .inner:has(.inner_item:nth-child(2)) .inner_item:has(ul) {
  min-width: 240px;
}
#dropMenu .inner:has(.inner_item:nth-child(4)) .inner_item:has(ul) {
  max-width: 25%;
  min-width: 0;
}
#dropMenu ul {
  display: inline-block;
  margin: 0 0 0 1em;
}
#dropMenu ul:after {
  content: "";
  display: block;
  clear: both;
}
#dropMenu li {
  position: relative;
  padding-left: 1.5em;
}
#dropMenu li + li {
  margin-top: 10px;
}
#dropMenu li:before {
  content: "?";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 1em;
  text-align: center;
  color: #fff;
}
#dropMenu figcaption {
  text-align: left;
}
#dropMenu a {
  position: relative;
  color: #fff;
}
#dropMenu a:hover {
  text-decoration: underline;
}
#dropMenu a[target=_blank] p {
  display: inline-block;
}
#dropMenu a[target=_blank]:after {
  content: "";
  display: inline-block;
  margin-left: 5px;
  vertical-align: middle;
  background: url("/common/img/icons-s4871128572.png") -256px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}
#dropMenu a:has(img)[target=_blank]::after {
  display: none;
}
#dropMenu a:has(img) + br:has(+ a) {
  display: none;
}
html[lang=en] #dropMenu > div[data-nav-category=department] .inner > h2 + ul {
  margin-left: -16em;
  margin-right: 3em;
  width: 15em;
}
html[lang=en] #dropMenu > div[data-nav-category=department] .inner > h2 {
  width: 15em;
}
html[lang=en] #dropMenu li + li {
  margin-top: 5px;
}
@media only screen and (max-width: 800px) {
  #dropMenu {
    display: none;
  }
}

#gNav.js_float {
  position: absolute;
  top: auto;
  width: 100%;
}
@media only screen and (max-width: 800px) {
  #gNav.js_float {
    position: static;
  }
}
#gNav.js_float + #dropMenu {
  margin-top: 44px;
}

#gNav.flow {
  position: fixed;
  width: 100%;
  top: 0;
  padding: 0;
  z-index: 3000;
}
#gNav.flow + #dropMenu {
  position: fixed;
  top: 44px;
  margin-top: 0;
}
@media only screen and (max-width: 800px) {
  #gNav.flow {
    position: static;
  }
}

/* topic path -------------------------------- */
#tPath {
  margin: 0;
  padding: 10px;
  border-bottom: 1px solid #f2f2f2;
}
#tPath ol {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
  font-size: 0.86em;
  list-style-type: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#tPath li {
  display: inline;
}
#tPath li + li:before {
  content: ">";
  display: inline-block;
  margin: 0 0.2em;
}
#tPath li a {
  text-decoration: underline;
}
html[lang=en] #tPath ol {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
@media only screen and (max-width: 800px) {
  #tPath {
    display: none;
  }
}

/*--------------------------------------------	lNav	----*/
#lNav {
  float: right;
  width: 280px;
  display: none;
  margin-left: -280px;
}
#container #lNav {
  display: block;
}
#lNav span {
  position: relative;
  display: block;
  cursor: pointer;
}
#lNav a {
  position: relative;
  display: block;
  color: #555;
  text-decoration: none;
}
#lNav a:hover, #lNav a:active {
  color: #004ea2;
}
#lNav .cur > span > a {
  color: #004ea2;
}
#lNav ul,
#lNav li {
  margin: 0;
  padding: 0;
}
#lNav > ul > li > a {
  position: relative;
  padding: 20px 10px 20px 20px;
  font-size: 1.43em;
  color: #fff !important;
  border: 5px solid #546c85;
  background: #546c85 url(../img/bg_lnav.png) left top;
  background-size: 100% 100%;
  z-index: 1;
}
#lNav > ul > li > ul > li {
  margin-top: -1px;
  border: 1px solid #f2f2f2;
}
#lNav > ul > li > ul > li a {
  padding: 14px;
}
#lNav > ul > li > ul > li > .tglyear + ul > li.open.root {
  border-left-style: solid;
  border-left-width: 1px;
}
#lNav > ul li li li a {
  padding: 14px 10px 14px 30px;
}
#lNav > ul li li li ul {
  margin-left: 0;
}
#lNav > ul li li li li a {
  padding-left: 44px;
}
#lNav > ul li li li li li a {
  padding-left: 60px;
}
#lNav > ul li.root.open {
  border-left-color: #004ea2;
  background-color: #f2f2f2;
}
#lNav > ul li.root.open > span a {
  padding-right: 25px;
}
#lNav > ul li.root.open li {
  border-top: 1px solid #fff;
}
#lNav > ul li.open > span a {
  padding-right: 25px;
}
#lNav > ul li.open > span .navBtn {
  width: 40px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
#lNav > ul li.open > span .navBtn:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 14px;
  display: inline-block;
  width: 11px;
  height: 1px;
  margin: 0;
  background-color: #999;
}
#lNav > ul li.open .tglyear {
  display: block;
  padding: 14px;
  text-align: center;
  position: relative;
}
#lNav > ul li.open .tglyear:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 14px;
  display: inline-block;
  width: 11px;
  height: 1px;
  margin: 0;
  background-color: #999;
}
#lNav > ul li.close > span a {
  padding-right: 25px;
}
#lNav > ul li.close > span .navBtn {
  width: 40px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
#lNav > ul li.close > span .navBtn:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 14px;
  display: inline-block;
  width: 11px;
  height: 1px;
  margin: 0;
  background-color: #999;
}
#lNav > ul li.close > span .navBtn:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 19px;
  display: inline-block;
  width: 1px;
  height: 11px;
  margin-top: -5px;
  background-color: #999;
}
#lNav > ul li.close > ul {
  display: none;
}
#lNav > ul li.close li {
  border-top: 1px solid #fff;
}
#lNav > ul li.close .tglyear {
  display: block;
  padding: 14px;
  text-align: center;
  position: relative;
}
#lNav > ul li.close .tglyear:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 14px;
  display: inline-block;
  width: 11px;
  height: 1px;
  margin: 0;
  background-color: #999;
}
#lNav > ul li.close .tglyear:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 19px;
  display: inline-block;
  width: 1px;
  height: 11px;
  margin-top: -5px;
  background-color: #999;
}
@media only screen and (max-width: 800px) {
  #lNav {
    float: none;
    width: auto;
    display: block;
    margin: 30px 10px 0;
  }
  #container #lNav {
    margin: 30px 0 0;
  }
}

#container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 10px 0;
}
#container:after {
  content: "";
  display: block;
  clear: both;
}
#wide #container {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
@media only screen and (max-width: 800px) {
  #container {
    padding-left: 20px;
    padding-right: 20px;
  }
}

article {
  margin-right: 320px;
}
@media only screen and (max-width: 800px) {
  article {
    margin-right: 0;
  }
}
article a:hover img {
  opacity: 0.75;
}

main {
  float: left;
  width: 100%;
}
@media only screen and (max-width: 800px) {
  main {
    float: none;
  }
}
main:last-child article {
  max-width: 900px;
  margin: 0 auto;
}

#wide main:last-child article {
  max-width: none;
}

/* image lay */
.sentence + .image {
  margin-top: 0;
}

.sizeL .image {
  width: 480px;
}
@media only screen and (max-width: 800px) {
  .sizeL .image,
.sizeL .sentence {
    float: none;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .sizeL .image {
    width: auto;
  }
  .sizeL .sentence {
    width: auto;
    margin-top: 20px;
    padding: 0 !important;
  }
  .sizeL .sentence + .image {
    margin-top: 20px;
  }
  .sizeL figcaption {
    text-align: center;
  }
}

.sizeM .image {
  width: 280px;
}
@media only screen and (max-width: 800px) {
  .sizeM .image,
.sizeM .sentence {
    float: none;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .sizeM .image {
    width: auto;
  }
  .sizeM .sentence {
    width: auto;
    margin-top: 20px;
    padding: 0 !important;
  }
  .sizeM .sentence + .image {
    margin-top: 20px;
  }
  .sizeM figcaption {
    text-align: center;
  }
}

.sizeS .image {
  width: 180px;
}
@media only screen and (max-width: 480px) {
  .sizeS .image,
.sizeS .sentence {
    float: none;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .sizeS .image {
    width: auto;
  }
  .sizeS .sentence {
    width: auto;
    margin-top: 20px;
    padding: 0 !important;
  }
  .sizeS .sentence + .image {
    margin-top: 20px;
  }
  .sizeS figcaption {
    text-align: center;
  }
}

.parallelL.sizeL .image {
  margin-right: -480px;
}
.parallelL.sizeL .sentence {
  margin-left: -480px;
  padding-left: 500px;
}
.parallelL.sizeM .image {
  margin-right: -280px;
}
.parallelL.sizeM .sentence {
  margin-left: -280px;
  padding-left: 300px;
}
.parallelL.sizeS .image {
  margin-right: -180px;
}
.parallelL.sizeS .sentence {
  margin-left: -180px;
  padding-left: 200px;
}
.parallelL.sizeL .sentence > *:first-child, .parallelL.sizeM .sentence > *:first-child, .parallelL.sizeS .sentence > *:first-child {
  margin-top: 0;
}

.parallelR.sizeL .image {
  margin-left: -480px;
}
.parallelR.sizeL .sentence {
  margin-right: -480px;
  padding-right: 500px;
}
.parallelR.sizeM .image {
  margin-left: -280px;
}
.parallelR.sizeM .sentence {
  margin-right: -280px;
  padding-right: 300px;
}
.parallelR.sizeS .image {
  margin-left: -180px;
}
.parallelR.sizeS .sentence {
  margin-right: -180px;
  padding-right: 200px;
}
.parallelR.sizeL .sentence > *:first-child, .parallelR.sizeM .sentence > *:first-child, .parallelR.sizeS .sentence > *:first-child {
  margin-top: 0;
}

.sideL .image,
.sideR .image {
  margin: 0;
  max-width: 150px;
}
.sideL .parallelL .image,
.sideR .parallelL .image {
  margin-right: -150px;
}
.sideL .parallelL .sentence,
.sideR .parallelL .sentence {
  margin-left: -150px;
  padding-left: 170px;
}
.sideL .parallelR .image,
.sideR .parallelR .image {
  margin-left: -150px;
}
.sideL .parallelR .sentence,
.sideR .parallelR .sentence {
  margin-right: -150px;
  padding-right: 170px;
}

@media only screen and (max-width: 900px) {
  .roundR.sizeL .image,
.roundL.sizeL .image,
.parallelL.sizeL .image,
.parallelR.sizeL .image {
    float: none;
    margin: 0 auto;
    text-align: center;
  }
  .roundR.sizeL .sentence,
.roundL.sizeL .sentence,
.parallelL.sizeL .sentence,
.parallelR.sizeL .sentence {
    float: none;
    margin: 20px 0 0;
    padding: 0;
  }
}

/* modal window */
@media only screen and (min-width: 801px) {
  html.modalOn, html.modalOn body {
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
}
#modalScreen {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  margin-top: 0;
  background-color: #000;
  opacity: 0.7;
  z-index: 1001;
  cursor: pointer;
}
@media only screen and (max-width: 800px) {
  #modalScreen {
    display: none;
  }
}

#modalWindow {
  position: fixed;
  top: 2%;
  bottom: 2%;
  left: 2%;
  right: 2%;
  max-width: 96%;
  max-height: 96%;
  margin-top: 0;
  visibility: hidden;
  opacity: 0;
  transition: all 0.5s;
  z-index: 1002;
}
#modalWindow.open {
  visibility: visible;
  opacity: 1;
  transition: all 0.2s;
}
#modalWindow .closeBtn {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 40px;
  height: 40px;
  margin-top: 0;
  background-color: #fff;
  border: 1px solid #f2f2f2;
  border-radius: 3px;
  cursor: pointer;
}
#modalWindow .closeBtn:before, #modalWindow .closeBtn:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  margin: auto;
}
#modalWindow .closeBtn:before {
  width: 26px;
  height: 0;
  border-top: 2px solid #555;
  transform: rotate(45deg);
}
#modalWindow .closeBtn:after {
  width: 0;
  height: 26px;
  border-left: 2px solid #555;
  transform: rotate(45deg);
}
@media only screen and (max-width: 800px) {
  #modalWindow {
    display: none;
  }
}

.modalWin {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  padding: 0;
  text-align: center;
  background-color: #fff;
  visibility: hidden;
  opacity: 0;
  transition: 0.2s all 0.5s;
  overflow: auto;
  z-index: 1003;
}
.modalWin.open {
  visibility: visible;
  padding: 20px;
  opacity: 1;
  transition: all 0.2s;
}
.modalWin img {
  display: block;
  max-width: initial;
}

#utility li#searchBtn {
  height: 41px;
  top: 0;
  padding: 10px;
  cursor: default;
}
#utility li#searchBtn:after {
  display: none;
}
@media only screen and (min-width: 801px) {
  #utility li#searchBtn {
    position: relative;
    width: 36px;
    height: 36px;
    padding: 0;
  }
  #utility li#searchBtn:after {
    display: block;
  }
}

#closeSearch {
  display: none;
}
@media only screen and (min-width: 801px) {
  #closeSearch {
    display: block;
    box-sizing: border-box;
    overflow: hidden;
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    margin: 0;
    font-weight: bold;
    text-align: center;
    background-color: #e1e1e1;
    transition: height 0.15s 0.15s ease;
  }
}

@media only screen and (min-width: 801px) {
  #searchBox {
    overflow: hidden;
    position: absolute;
    top: 100%;
    right: 0;
    width: 300px;
    height: 0;
    background-color: #e1e1e1;
    transition: height 0.15s linear;
  }
}

#container form#cse-search-box {
  position: relative;
  height: 36px;
  margin-top: 20px;
}
#container form#cse-search-box fieldset {
  width: 240px;
  max-height: 0;
  z-index: 2;
}
#container form#cse-search-box fieldset:after {
  content: "";
  display: block;
  clear: both;
}
#container form#cse-search-box fieldset input {
  display: block;
}
#container form#cse-search-box fieldset input[type=text] {
  float: left;
  width: 240px;
  height: 34px;
  text-indent: 5px;
  line-height: 40px;
  border-width: 1px 0 1px 1px;
  border-color: #999;
}
#container form#cse-search-box fieldset input[type=submit] {
  float: right;
  width: 40px;
  height: 40px;
  margin: 0 -40px 0 -2px;
  padding: 0;
  text-indent: 200%;
  white-space: nowrap;
  background: #999 url(/common/img/icons/link_search.png) center center no-repeat;
  border-style: none;
  overflow: hidden;
}
#container form#cse-search-box fieldset #btn {
  display: inline-block;
  float: right;
  width: 36px;
  height: 36px;
  margin: 0 -36px 0 0;
  height: 100%;
}
#container .gsc-control-cse table,
#container .gsc-control-cse th,
#container .gsc-control-cse td {
  margin: 0 !important;
  padding: 0 !important;
  border-style: none !important;
}
#container .gsc-control-cse * + div {
  margin-top: 0;
}
#container .gsc-url-top,
#container .gsc-thumbnail-inside {
  padding: 0;
}
#container .gsc-control-cse a,
#container .gsc-control-cse a b,
#container .gsc-cursor-page {
  color: #004ea2;
  padding-left: 0;
}
#container .gsc-control-cse a:before,
#container .gsc-control-cse a b:before,
#container .gsc-cursor-page:before {
  display: none;
}
#container .gsc-cursor-box {
  margin-top: 1em;
  padding-top: 1em;
  border-style: none !important;
  text-align: center;
}
#container table.gsc-search-box td {
  font-size: 120%;
  border: none !important;
  overflow: hidden !important;
}
#container .gsc-adBlock {
  height: auto !important;
}
#container img.gcsc-branding-img-noclear {
  max-width: none;
  vertical-align: top;
}
@media only screen and (max-width: 640px) {
  #container .gcsc-branding table {
    width: auto;
  }
  #container .gcsc-branding table tbody,
#container .gcsc-branding table tr,
#container .gcsc-branding table td {
    display: inline-block;
  }
}

#tableTypeS {
  display: table;
}
#tableTypeS tbody {
  display: table-row-group;
}
#tableTypeS tbody tr {
  display: table-row;
}
#tableTypeS tbody tr td {
  display: table-cell;
  padding: 0;
}
#tableTypeS tbody tr td:last-child {
  width: 40px !important;
  background-color: #646464;
}
#tableTypeS tbody tr td input {
  border: none;
}
#tableTypeS tbody tr td input[type=text] {
  width: 100%;
  height: 100%;
}
#tableTypeS tbody tr td input[type=image] {
  display: block;
  padding: 11px;
}
@media only screen and (min-width: 801px) {
  #tableTypeS {
    width: 93%;
    margin: 10px auto;
  }
}

html[lang=en] #profileList .tglBtn.open:before {
  content: "- Close";
}
html[lang=en] #profileList dt {
  width: 8em;
  margin-top: 0;
}
html[lang=en] #profileList dd {
  padding-left: 8em;
}

/* tile */
.imageTile {
  margin-left: -20px;
  overflow: hidden;
}
.imageTile:after {
  content: "";
  display: block;
  clear: both;
}
.imageTile li {
  position: relative;
  float: left;
  width: 25%;
  margin-top: 0;
  padding-left: 20px;
  box-sizing: border-box;
}
.imageTile li:last-child:after {
  position: absolute;
  top: -20px;
  left: 100%;
  content: "";
  display: block;
  width: 400%;
  height: 200%;
  background-color: #fff;
}
.imageTile li > * {
  position: relative;
  display: block;
  margin-bottom: -500px;
  padding: 56.25% 20px 520px;
  text-decoration: none;
  background-color: #fff;
}
.imageTile li h3 {
  margin-top: 20px;
  padding-bottom: 0;
  border-bottom: none;
}
.imageTile li h3 ~ p {
  margin-top: 0.5em;
}
.imageTile figure {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin-top: 0;
}
@media only screen and (min-width: 801px) {
  .imageTile li:nth-child(4n+5) {
    clear: both;
  }
  .imageTile li:nth-child(n+5) {
    border-top: 20px solid #fff;
  }
}
@media only screen and (min-width: 641px) and (max-width: 800px) {
  .imageTile li {
    width: 33.333%;
  }
  .imageTile li:nth-child(3n+4) {
    clear: both;
  }
  .imageTile li:nth-child(n+4) {
    border-top: 20px solid #fff;
  }
}
@media only screen and (min-width: 481px) and (max-width: 640px) {
  .imageTile li {
    width: 50%;
  }
  .imageTile li:nth-child(2n+3) {
    clear: both;
  }
  .imageTile li:nth-child(n+3) {
    border-top: 20px solid #fff;
  }
}
@media only screen and (max-width: 480px) {
  .imageTile {
    width: 300px;
    margin: 20px auto 0;
  }
  .imageTile li {
    float: none;
    width: 100%;
    padding-left: 0;
  }
  .imageTile li + li {
    margin-top: 20px;
  }
  .imageTile li > * {
    margin-bottom: 0;
    padding-bottom: 20px;
  }
}

/* category_top */
/*-------------------------------------------- mainArea ----*/
#mainVisual {
  position: relative;
  display: block;
}
#mainVisual #ctop-movie {
  position: relative;
  width: 100%;
  max-height: 500px;
  overflow: hidden;
  z-index: 0;
  margin-top: 0;
}
#mainVisual #ctop-movie .bgImage,
#mainVisual #ctop-movie .bgMovie {
  position: relative;
  width: 150%;
  margin: 0 -25%;
  z-index: 0;
}
#mainVisual #ctop-movie .bgImage img,
#mainVisual #ctop-movie .bgMovie img {
  display: block;
  margin: 0 auto;
}
#mainVisual header {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  z-index: 5;
  transform: translateY(-50%);
}
#mainVisual header > * {
  max-width: 420px;
  background-color: #fff;
}
#mainVisual h1 {
  color: #555;
  font-size: 2.14em;
  font-weight: normal;
  border-bottom: none;
  margin-top: 10px;
  padding: 30px 20px 0.3em;
  position: relative;
  background-color: #fff;
}
#mainVisual h1 + p {
  margin-top: 0;
}
#mainVisual h1:before, #mainVisual h1:after {
  content: "";
  position: absolute;
  bottom: -1px;
  display: block;
}
#mainVisual h1:before {
  right: 20px;
  width: 66%;
  border-bottom: solid 1px #ddd;
}
#mainVisual h1:after {
  left: 20px;
  width: 34%;
  border-bottom: solid 1px #06a557;
}
#mainVisual p {
  color: #555;
  margin-top: 0;
  padding: 20px;
  background-color: #fff;
}
#mainVisual p:first-child {
  color: #fff;
  font-size: 1.43em;
  display: inline-block;
  padding: 12px 20px;
  letter-spacing: 0.2em;
  background-color: #06a557;
}
@media only screen and (min-width: 1402px) {
  #mainVisual #ctop-movie .bgImage,
#mainVisual #ctop-movie .bgMovie {
    width: 100%;
    height: 500px;
    margin: 0;
  }
  #mainVisual #ctop-movie .bgImage img,
#mainVisual #ctop-movie .bgMovie img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    margin: auto;
  }
}
@media only screen and (max-width: 800px) {
  #mainVisual #ctop-movie {
    position: absolute;
    top: 0;
    width: 100%;
  }
  #mainVisual #ctop-movie .bgImage,
#mainVisual #ctop-movie .bgMovie {
    width: 116.6%;
    margin: 0 -8.3% 3px;
  }
  #mainVisual header {
    position: relative;
    width: auto;
    padding: 37% 10px 20px;
    transform: translateY(0);
  }
  #mainVisual header > * {
    max-width: 100%;
    padding: 0;
  }
  #mainVisual h1 {
    position: absolute;
    top: 0;
    left: 10px;
    min-width: 50%;
    margin-top: 12.5%;
    padding: 10px 10px 20px;
    transform: translateY(-50%);
  }
  #mainVisual h1:before, #mainVisual h1:after {
    bottom: 10px;
  }
  #mainVisual h1:before {
    right: 10px;
  }
  #mainVisual h1:after {
    left: 10px;
  }
  #mainVisual p {
    margin-top: 20px;
  }
  #mainVisual p:first-child {
    display: none;
  }
  #mainVisual p br {
    display: none;
  }
}
@media only screen and (max-width: 480px) {
  #mainVisual h1 {
    font-size: 1.43em;
  }
}

#ctop main > article {
  margin: 0 auto;
  max-width: 100%;
}
#ctop #container {
  padding: 0 0 50px;
  max-width: none;
  background-color: #f2f2f2;
}
#ctop #indexList * + .clearfix {
  margin-top: 50px;
}

#indexList header,
#wide .clearfix header {
  position: relative;
  border: 1px solid #004ea2;
  background-color: #fff;
  padding-left: 479px;
  z-index: 5;
}
#indexList header.nolink:before,
#wide .clearfix header.nolink:before {
  display: none;
}
#indexList header.nolink > div,
#wide .clearfix header.nolink > div {
  display: block;
  min-height: 130px;
  text-decoration: none;
}
#indexList header a,
#wide .clearfix header a {
  display: block;
  min-height: 130px;
  text-decoration: none;
}
#indexList header a:before,
#wide .clearfix header a:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  bottom: 10px;
  right: 10px;
  border-style: solid;
  border-color: transparent;
  border-width: 6px;
  border-right-color: #004ea2;
  border-bottom-color: #004ea2;
}
#indexList header a[target=_blank]:before,
#wide .clearfix header a[target=_blank]:before {
  border: none;
  background: url("/common/img/icons-s4871128572.png") -176px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}
#indexList header figure,
#wide .clearfix header figure {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 479px;
  margin-top: 0;
  overflow: hidden;
}
#indexList header figure img,
#wide .clearfix header figure img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -100%;
  right: -100%;
  display: block;
  max-width: 300%;
  height: 100%;
  margin: 0 auto;
}
#indexList header h2, #indexList header h3,
#wide .clearfix header h2,
#wide .clearfix header h3 {
  color: #004ea2;
  font-weight: normal;
  vertical-align: middle;
  margin: 0 10px 0 20px;
  padding: 0;
  font-size: 1.43em;
  border-bottom-style: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
#indexList header h2:after, #indexList header h3:after,
#wide .clearfix header h2:after,
#wide .clearfix header h3:after {
  display: none;
}
@media only screen and (max-width: 640px) {
  #indexList header figure img,
#wide .clearfix header figure img {
    height: auto;
  }
}
#indexList h2 + .clearfix,
#indexList h2 + .inner,
#wide .clearfix h2 + .clearfix,
#wide .clearfix h2 + .inner {
  margin-top: 50px;
}
#indexList .inner,
#wide .clearfix .inner {
  margin-top: -1px;
  background-color: #fff;
}
#indexList .inner + .clearfix,
#wide .clearfix .inner + .clearfix {
  margin-top: 50px;
}
#indexList .inner > p,
#wide .clearfix .inner > p {
  padding: 20px;
}
#indexList .inner > p + .wm-list,
#wide .clearfix .inner > p + .wm-list {
  margin-top: 0;
  border-top: 1px solid #f2f2f2;
}
#indexList .inner > .wm-list,
#wide .clearfix .inner > .wm-list {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid #f2f2f2;
}
#indexList .inner > .wm-list:after,
#wide .clearfix .inner > .wm-list:after {
  content: "";
  display: block;
  clear: both;
}
#indexList .inner > .wm-list:before,
#wide .clearfix .inner > .wm-list:before {
  content: "";
  position: absolute;
  width: 66.666%;
  height: 100%;
  top: 0;
  margin-left: -1px;
  border-right: 1px solid #f2f2f2;
}
#indexList .inner > .wm-list li,
#wide .clearfix .inner > .wm-list li {
  float: left;
  position: relative;
  display: block;
  width: 33.333%;
  text-decoration: none;
  box-sizing: border-box;
}
#indexList .inner > .wm-list li + li,
#wide .clearfix .inner > .wm-list li + li {
  margin-top: 0;
}
#indexList .inner > .wm-list li:nth-child(n+4):before,
#wide .clearfix .inner > .wm-list li:nth-child(n+4):before {
  content: "";
  display: block;
  position: absolute;
  width: 301%;
  top: 0;
  border-top: 1px solid #f2f2f2;
}
#indexList .inner > .wm-list li:after,
#wide .clearfix .inner > .wm-list li:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 1px;
  left: 100%;
  background-color: #fff;
}
#indexList .inner > .wm-list li > a,
#wide .clearfix .inner > .wm-list li > a {
  display: block;
  margin-bottom: -500px;
  padding: 20px 20px 520px;
  border-right: 1px solid #f2f2f2;
}
#indexList .inner > .wm-list li:nth-child(3n) a,
#wide .clearfix .inner > .wm-list li:nth-child(3n) a {
  border-right: none;
}
#indexList .inner > .wm-list li:nth-child(3n+1),
#wide .clearfix .inner > .wm-list li:nth-child(3n+1) {
  clear: left;
}
#indexList .inner > .wm-list li.icon > a,
#wide .clearfix .inner > .wm-list li.icon > a {
  padding-left: 40px;
}
#indexList .inner > .wm-list li.icon > a:before,
#wide .clearfix .inner > .wm-list li.icon > a:before {
  content: "";
  position: absolute;
  top: 20px;
  left: 15px;
  margin: 0;
  display: block;
  text-align: center;
  border: none;
  background: url("/common/img/icons-s4871128572.png") -1102px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}
#indexList .inner > .wm-list li.icon > a[target=_blank]:before,
#wide .clearfix .inner > .wm-list li.icon > a[target=_blank]:before {
  border: none;
  background: url("/common/img/icons-s4871128572.png") -176px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}
@media only screen and (max-width: 640px) {
  #indexList .inner > .wm-list:before,
#wide .clearfix .inner > .wm-list:before {
    display: none;
  }
  #indexList .inner > .wm-list li,
#wide .clearfix .inner > .wm-list li {
    float: none;
    width: auto;
  }
  #indexList .inner > .wm-list li + li,
#wide .clearfix .inner > .wm-list li + li {
    border-top: 1px solid #f2f2f2;
  }
  #indexList .inner > .wm-list li:nth-child(n+4):before,
#wide .clearfix .inner > .wm-list li:nth-child(n+4):before {
    display: none;
  }
  #indexList .inner > .wm-list li > a,
#wide .clearfix .inner > .wm-list li > a {
    border-right: none;
  }
}
#indexList .sideL .inner > .wm-list li:nth-child(3n+1),
#indexList .sideR .inner > .wm-list li:nth-child(3n+1),
#wide .clearfix .sideL .inner > .wm-list li:nth-child(3n+1),
#wide .clearfix .sideR .inner > .wm-list li:nth-child(3n+1) {
  clear: none;
}
#indexList .clearfix,
#wide .clearfix .clearfix {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  overflow: hidden;
}
#indexList .clearfix:after,
#wide .clearfix .clearfix:after {
  content: "";
  display: block;
  clear: both;
}
#indexList .clearfix + .clearfix,
#indexList .clearfix + header,
#wide .clearfix .clearfix + .clearfix,
#wide .clearfix .clearfix + header {
  margin-top: 50px;
}
#indexList .clearfix header,
#wide .clearfix .clearfix header {
  padding-left: 233px;
}
#indexList .clearfix header.nolink,
#wide .clearfix .clearfix header.nolink {
  min-height: 130px;
}
#indexList .clearfix figure,
#wide .clearfix .clearfix figure {
  width: 233px;
}
#indexList .clearfix .sideL,
#wide .clearfix .clearfix .sideL {
  border-right-width: 12px;
}
#indexList .clearfix .sideR,
#wide .clearfix .clearfix .sideR {
  border-left-width: 12px;
}
#indexList .clearfix + .clearfix,
#wide .clearfix .clearfix + .clearfix {
  margin-top: 50px;
}
#indexList .clearfix .sideL .wm-list,
#indexList .clearfix .sideR .wm-list,
#wide .clearfix .clearfix .sideL .wm-list,
#wide .clearfix .clearfix .sideR .wm-list {
  position: relative;
  overflow: hidden;
}
#indexList .clearfix .sideL .wm-list:after,
#indexList .clearfix .sideR .wm-list:after,
#wide .clearfix .clearfix .sideL .wm-list:after,
#wide .clearfix .clearfix .sideR .wm-list:after {
  content: "";
  display: block;
  clear: both;
}
#indexList .clearfix .sideL .wm-list:before,
#indexList .clearfix .sideR .wm-list:before,
#wide .clearfix .clearfix .sideL .wm-list:before,
#wide .clearfix .clearfix .sideR .wm-list:before {
  display: none;
}
#indexList .clearfix .sideL .wm-list li,
#indexList .clearfix .sideR .wm-list li,
#wide .clearfix .clearfix .sideL .wm-list li,
#wide .clearfix .clearfix .sideR .wm-list li {
  float: left;
  position: relative;
  display: block;
  width: 50%;
  text-decoration: none;
  box-sizing: border-box;
}
#indexList .clearfix .sideL .wm-list li + li,
#indexList .clearfix .sideR .wm-list li + li,
#wide .clearfix .clearfix .sideL .wm-list li + li,
#wide .clearfix .clearfix .sideR .wm-list li + li {
  margin-top: 0;
}
#indexList .clearfix .sideL .wm-list li:nth-child(n+3):before,
#indexList .clearfix .sideR .wm-list li:nth-child(n+3):before,
#wide .clearfix .clearfix .sideL .wm-list li:nth-child(n+3):before,
#wide .clearfix .clearfix .sideR .wm-list li:nth-child(n+3):before {
  display: block;
  content: "";
  position: absolute;
  width: 301%;
  top: 0;
  border-top: 1px solid #f2f2f2;
}
#indexList .clearfix .sideL .wm-list li:after,
#indexList .clearfix .sideR .wm-list li:after,
#wide .clearfix .clearfix .sideL .wm-list li:after,
#wide .clearfix .clearfix .sideR .wm-list li:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 1px;
  left: 100%;
  background-color: #fff;
}
#indexList .clearfix .sideL .wm-list li:nth-child(2n+1),
#indexList .clearfix .sideR .wm-list li:nth-child(2n+1),
#wide .clearfix .clearfix .sideL .wm-list li:nth-child(2n+1),
#wide .clearfix .clearfix .sideR .wm-list li:nth-child(2n+1) {
  clear: left;
}
#indexList .clearfix .sideL .wm-list li > a,
#indexList .clearfix .sideR .wm-list li > a,
#wide .clearfix .clearfix .sideL .wm-list li > a,
#wide .clearfix .clearfix .sideR .wm-list li > a {
  display: block;
  margin-bottom: -500px;
  padding: 20px 20px 520px;
  border-right: 1px solid #f2f2f2;
}
#indexList .clearfix .sideL .wm-list li:nth-child(2n) a,
#indexList .clearfix .sideR .wm-list li:nth-child(2n) a,
#wide .clearfix .clearfix .sideL .wm-list li:nth-child(2n) a,
#wide .clearfix .clearfix .sideR .wm-list li:nth-child(2n) a {
  border-right: none;
}
@media only screen and (max-width: 640px) {
  #indexList .clearfix .sideL .wm-list li,
#indexList .clearfix .sideR .wm-list li,
#wide .clearfix .clearfix .sideL .wm-list li,
#wide .clearfix .clearfix .sideR .wm-list li {
    float: none;
    width: auto;
  }
  #indexList .clearfix .sideL .wm-list li + li,
#indexList .clearfix .sideR .wm-list li + li,
#wide .clearfix .clearfix .sideL .wm-list li + li,
#wide .clearfix .clearfix .sideR .wm-list li + li {
    border-top: 1px solid #f2f2f2;
  }
  #indexList .clearfix .sideL .wm-list li:nth-child(n+3):before,
#indexList .clearfix .sideR .wm-list li:nth-child(n+3):before,
#wide .clearfix .clearfix .sideL .wm-list li:nth-child(n+3):before,
#wide .clearfix .clearfix .sideR .wm-list li:nth-child(n+3):before {
    display: none;
  }
  #indexList .clearfix .sideL .wm-list li > a,
#indexList .clearfix .sideR .wm-list li > a,
#wide .clearfix .clearfix .sideL .wm-list li > a,
#wide .clearfix .clearfix .sideR .wm-list li > a {
    border-right: none;
  }
}
#indexList .clearfix .sideL .wm-list > .icon > a,
#indexList .clearfix .sideR .wm-list > .icon > a,
#wide .clearfix .clearfix .sideL .wm-list > .icon > a,
#wide .clearfix .clearfix .sideR .wm-list > .icon > a {
  padding-left: 40px;
}
#indexList .clearfix .sideL .wm-list > .icon > a:before,
#indexList .clearfix .sideR .wm-list > .icon > a:before,
#wide .clearfix .clearfix .sideL .wm-list > .icon > a:before,
#wide .clearfix .clearfix .sideR .wm-list > .icon > a:before {
  top: 20px;
  left: 15px;
}
@media only screen and (max-width: 800px) {
  #indexList,
#wide .clearfix {
    margin-top: 0;
  }
  #indexList > header,
#wide .clearfix > header {
    padding-left: 0;
  }
  #indexList > header:before,
#wide .clearfix > header:before {
    display: none;
  }
  #indexList > header figure,
#wide .clearfix > header figure {
    position: static;
    width: auto;
  }
  #indexList > header figure img,
#wide .clearfix > header figure img {
    position: static;
    width: 100%;
  }
  #indexList > header a,
#wide .clearfix > header a {
    display: inline;
  }
  #indexList > header h2,
#wide .clearfix > header h2 {
    margin-left: 0;
    margin-right: 0;
    padding: 20px 15px;
    position: relative;
    transform: none;
  }
  #indexList > header h2:before,
#wide .clearfix > header h2:before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    bottom: 10px;
    right: 10px;
    border-style: solid;
    border-color: transparent;
    border-width: 6px;
    border-right-color: #004ea2;
    border-bottom-color: #004ea2;
  }
  #indexList > header.nolink h2:before, #indexList > header.nolink h3:before,
#wide .clearfix > header.nolink h2:before,
#wide .clearfix > header.nolink h3:before {
    display: none;
  }
  #indexList .clearfix header,
#wide .clearfix .clearfix header {
    padding-left: 0;
  }
  #indexList .clearfix header h2,
#indexList .clearfix header h3,
#wide .clearfix .clearfix header h2,
#wide .clearfix .clearfix header h3 {
    margin-left: 0;
    margin-right: 0;
    padding: 20px 15px;
    position: relative;
    transform: none;
  }
  #indexList .clearfix header h2:before,
#indexList .clearfix header h3:before,
#wide .clearfix .clearfix header h2:before,
#wide .clearfix .clearfix header h3:before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    bottom: 10px;
    right: 10px;
    border-style: solid;
    border-color: transparent;
    border-width: 6px;
    border-right-color: #004ea2;
    border-bottom-color: #004ea2;
  }
  #indexList .clearfix header a[target=_blank] h2:before, #indexList .clearfix header a[target=_blank] h3:before,
#wide .clearfix .clearfix header a[target=_blank] h2:before,
#wide .clearfix .clearfix header a[target=_blank] h3:before {
    border: none;
    background: url("/common/img/icons-s4871128572.png") -176px 0;
    background-repeat: no-repeat;
    height: 20px;
    width: 20px;
  }
  #indexList .clearfix header figure,
#indexList .clearfix header img,
#wide .clearfix .clearfix header figure,
#wide .clearfix .clearfix header img {
    position: static;
  }
  #indexList .clearfix header figure,
#wide .clearfix .clearfix header figure {
    width: auto;
  }
  #indexList .clearfix header figure img,
#wide .clearfix .clearfix header figure img {
    width: 100%;
  }
  #indexList .clearfix header.nolink h2:before,
#indexList .clearfix header.nolink h3:before,
#wide .clearfix .clearfix header.nolink h2:before,
#wide .clearfix .clearfix header.nolink h3:before {
    display: none;
  }
}
@media only screen and (max-width: 480px) {
  #indexList > header h2:before,
#wide .clearfix > header h2:before {
    top: 50%;
    right: 15px;
    bottom: auto;
    margin-top: -8px;
    border-style: solid;
    border-color: transparent;
    border-color: rgba(255, 0, 0, 0);
    border-width: 8px 0 8px 9px;
    border-left-color: #004ea2;
  }
  #indexList .clearfix header,
#wide .clearfix .clearfix header {
    padding-left: 0;
  }
  #indexList .clearfix header:before,
#wide .clearfix .clearfix header:before {
    display: none;
  }
  #indexList .clearfix header figure,
#wide .clearfix .clearfix header figure {
    position: static;
    width: auto;
  }
  #indexList .clearfix header figure img,
#wide .clearfix .clearfix header figure img {
    position: static;
    width: 100%;
  }
  #indexList .clearfix header a,
#wide .clearfix .clearfix header a {
    display: inline;
  }
  #indexList .clearfix header a[target=_blank] h2:before,
#indexList .clearfix header a[target=_blank] h3:before,
#wide .clearfix .clearfix header a[target=_blank] h2:before,
#wide .clearfix .clearfix header a[target=_blank] h3:before {
    top: 50%;
    right: 15px;
    bottom: auto;
    margin-top: -10px;
  }
  #indexList .clearfix header h2,
#indexList .clearfix header h3,
#wide .clearfix .clearfix header h2,
#wide .clearfix .clearfix header h3 {
    padding: 20px 35px 20px 15px;
    position: relative;
    transform: none;
  }
  #indexList .clearfix header h2:before,
#indexList .clearfix header h3:before,
#wide .clearfix .clearfix header h2:before,
#wide .clearfix .clearfix header h3:before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -8px;
    border-style: solid;
    border-color: transparent;
    border-color: rgba(255, 0, 0, 0);
    border-width: 8px 0 8px 9px;
    border-left-color: #004ea2;
  }
}

#indexList {
  max-width: 1200px;
  margin: 50px auto 0;
  padding: 0 10px;
}
@media only screen and (max-width: 800px) {
  #indexList header a:before {
    display: none;
  }
}

#wide .clearfix header {
  padding-left: 0;
}
#wide .clearfix header a {
  min-height: 80px;
}
#wide .clearfix header h2 {
  margin-left: 30px;
}
#wide .clearfix .inner {
  margin-top: -1px;
  background-color: #fff;
}
#wide .clearfix .inner + .clearfix {
  margin-top: 50px;
}
#wide .clearfix .inner > p {
  padding: 20px;
}
#wide .clearfix .inner > .wm-list {
  position: relative;
  overflow: hidden;
}
#wide .clearfix .inner > .wm-list:after {
  content: "";
  display: block;
  clear: both;
}
#wide .clearfix .inner > .wm-list:before {
  display: none;
}
#wide .clearfix .inner > .wm-list li {
  float: left;
  position: relative;
  display: block;
  width: 50%;
  text-decoration: none;
  box-sizing: border-box;
}
#wide .clearfix .inner > .wm-list li + li {
  margin-top: 0;
}
#wide .clearfix .inner > .wm-list li:nth-child(n+3):before {
  display: block;
  content: "";
  position: absolute;
  width: 301%;
  top: 0;
  border-top: 1px solid #f2f2f2;
}
#wide .clearfix .inner > .wm-list li:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 1px;
  left: 100%;
  background-color: #fff;
}
#wide .clearfix .inner > .wm-list li:nth-child(2n+1) {
  clear: left;
}
#wide .clearfix .inner > .wm-list li:nth-child(3n+1) {
  clear: none;
}
#wide .clearfix .inner > .wm-list li > a {
  display: block;
  margin-bottom: -500px;
  padding: 20px 20px 520px;
  border-right: 1px solid #f2f2f2;
}
#wide .clearfix .inner > .wm-list li:nth-child(2n) a {
  border-right: none;
}
@media only screen and (max-width: 640px) {
  #wide .clearfix .inner > .wm-list li {
    float: none;
    width: auto;
  }
  #wide .clearfix .inner > .wm-list li + li {
    border-top: 1px solid #f2f2f2;
  }
  #wide .clearfix .inner > .wm-list li:nth-child(n+3):before {
    display: none;
  }
  #wide .clearfix .inner > .wm-list li > a {
    border-right: none;
  }
}
@media only screen and (max-width: 800px) {
  #wide .clearfix {
    margin-top: 20px;
  }
}

/* information tab */
#information .tabBtn ~ ul {
  float: none;
  width: 100%;
  margin-right: 0;
}

/* before migrate */
#container div.tx-pat02:after {
  content: "";
  display: block;
  clear: both;
}
#container div.tx-pat02 div.img-area {
  float: right;
  width: 240px;
  margin: 0 0 0 20px;
}
#container div.tx-pat02 div.img-area .cap-c {
  margin-top: 8px;
}
@media only screen and (max-width: 800px) {
  #container div.tx-pat02 div.img-area {
    float: none;
    margin: 0 auto;
  }
}

#container div.tx-pat03:after {
  content: "";
  display: block;
  clear: both;
}
#container div.tx-pat03 div.img-area {
  float: left;
  width: 240px;
  margin: 0 20px 0 0;
}
#container div.tx-pat03 div.img-area .cap-c {
  margin-top: 8px;
}
@media only screen and (max-width: 800px) {
  #container div.tx-pat03 div.img-area {
    float: none;
    margin: 0 auto;
  }
}

#container div.img-pat01:after {
  content: "";
  display: block;
  clear: both;
}
#container div.img-pat01 div.img-area-l,
#container div.img-pat01 div.img-area-r {
  width: 48%;
}
#container div.img-pat01 div.img-area-l .img,
#container div.img-pat01 div.img-area-l .cap-c,
#container div.img-pat01 div.img-area-r .img,
#container div.img-pat01 div.img-area-r .cap-c {
  text-align: center;
}
#container div.img-pat01 div.img-area-l .cap-c,
#container div.img-pat01 div.img-area-r .cap-c {
  margin-top: 8px;
}
#container div.img-pat01 div.img-area-l {
  float: left;
}
#container div.img-pat01 div.img-area-r {
  float: right;
  margin-top: 0;
}
@media only screen and (max-width: 800px) {
  #container div.img-pat01 div.img-area-l,
#container div.img-pat01 div.img-area-r {
    width: auto;
    float: none;
  }
}

#container div.img-pat02 div.img-area .img,
#container div.img-pat02 div.img-area .cap-c {
  text-align: center;
}
#container div.img-pat02 div.img-area .cap-c {
  margin-top: 8px;
}

#container p.outline-img {
  float: right;
  margin-left: 20px;
}
#container p.outline-img + .outline-tx + * {
  clear: right;
}

.border-none th, .border-none td {
  border: none;
}

/* certification_system login */
.submit-area {
  max-width: 365px;
  background-color: #fffee7;
  border: 1px solid #f1efbe;
  margin: 0 auto 30px auto;
  padding: 33px 0 20px;
}
.submit-area dl {
  width: 62%;
  margin: 0 auto 20px;
}
.submit-area dl input {
  width: 100%;
  border: 1px solid #7e9db9;
  padding: 3px;
}
.submit-area dt {
  margin: 0 0 5px;
  padding: 0 0 0 7px;
  border-left: 5px solid #279dcf;
  font-weight: bold;
}
.submit-area p {
  max-width: 320px;
  margin: 0 auto;
  text-align: center;
}
.submit-area p small {
  font-size: 0.72em;
}

/* ¥«¥Æ¥´¥ê©`¥È¥Ã¥× */
#slidectopImage {
  position: relative;
  overflow: hidden;
  padding: 0;
}
@media only screen and (max-width: 800px) {
  #slidectopImage {
    margin-bottom: 20px;
  }
}
#slidectopImage #slideMain {
  position: relative;
}
#slidectopImage #slideMain:after {
  content: "";
  display: block;
  clear: both;
}
#slidectopImage #slideMain > li {
  position: relative;
  float: left;
  width: 100%;
  z-index: 0;
}
#slidectopImage #slideMain > li:before {
  content: "";
  display: block;
  width: 100%;
  max-height: 600px;
  padding-bottom: 41%;
}
#slidectopImage #slideMain > li + li {
  margin-left: -100%;
}
#slidectopImage #slideMain .bgMovie,
#slidectopImage #slideMain .bgImage {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  overflow: hidden;
}
#slidectopImage #slideMain .bgMovie img,
#slidectopImage #slideMain .bgImage img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: auto;
  max-width: 300%;
  margin: auto;
}
#slidectopImage #slideMain .bgMovie {
  height: 0;
  padding: 30px 0 39.8%;
}
#slidectopImage #slideMain .bgMovie iframe {
  position: absolute;
  width: 100% !important;
  height: 100% !important;
  top: 0 !important;
  bottom: 3px;
  left: 0;
  right: 0;
}
#slidectopImage .inner {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  max-width: 1220px;
  z-index: 11;
}
#slidectopImage .overLay {
  position: absolute;
  top: 55%;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  z-index: 12;
  transform: translateY(-56%);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#slidectopImage .overLay > * {
  max-width: 420px;
  background-color: rgba(255, 255, 255, 0.9);
}
#slidectopImage h1 {
  color: #555;
  font-size: 2.14em;
  font-weight: normal;
  border-bottom: none;
  margin-top: 10px;
  padding: 30px 20px 0.3em;
  position: relative;
  background-color: #fff;
}
#slidectopImage h1 + p {
  margin-top: 0;
}
#slidectopImage h1:before, #slidectopImage h1:after {
  content: "";
  position: absolute;
  bottom: -1px;
  display: block;
  z-index: 10;
}
#slidectopImage h1:before {
  right: 20px;
  width: 66%;
  border-bottom: solid 1px #ddd;
}
#slidectopImage h1:after {
  left: 20px;
  width: 34%;
  border-bottom: solid 1px #06a557;
}
#slidectopImage p {
  color: #555;
  margin-top: 0;
  padding: 20px;
  background-color: #fff;
}
#slidectopImage p:first-child {
  color: #fff;
  font-size: 1.43em;
  display: inline-block;
  padding: 12px 20px;
  letter-spacing: 0.2em;
  background-color: #06a557;
}
@media only screen and (min-width: 1441px) {
  #slidectopImage #slideMain .bgImage {
    width: 100%;
    min-height: 600px;
    margin: 0;
  }
  #slidectopImage #slideMain .bgImage img {
    position: absolute;
    top: -100%;
    bottom: -100%;
    left: 0;
    right: 0;
    width: 100%;
    margin: auto;
  }
}
@media only screen and (min-width: 801px) and (max-width: 1440px) {
  #slidectopImage .overLay {
    left: 20px;
  }
  #slidectopImage .overLay > * {
    max-width: 600px;
  }
}
@media only screen and (max-width: 800px) {
  #slidectopImage #slideMain {
    overflow: hidden;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
  }
  #slidectopImage #slideMain > li {
    height: auto;
    background-color: #fff;
  }
  #slidectopImage #slideMain > li:before {
    display: none;
  }
  #slidectopImage #slideMain > li .bgImage {
    position: relative;
    display: block;
    min-height: 100px;
    top: auto;
    bottom: auto;
  }
  #slidectopImage #slideMain > li .bgImage img {
    position: relative;
    width: 100%;
  }
  #slidectopImage #slideMain > li .bgMovie {
    position: relative;
    padding: 30px 0 37%;
  }
  #slidectopImage .inner {
    clear: both;
    position: relative;
    max-width: inherit;
    background-color: #fff;
    box-sizing: border-box;
  }
  #slidectopImage .inner .overLay {
    display: inline-block;
    position: relative;
    top: 0;
    bottom: 0;
    padding: 20px 10px;
    transform: none;
    box-sizing: border-box;
  }
  #slidectopImage .inner .overLay > * {
    position: relative;
    max-width: inherit;
    text-align: left;
  }
  #slidectopImage .inner .overLay .btnLink {
    text-align: center;
  }
  #slidectopImage .inner .overLay .btnLink a {
    font-size: 1em;
  }
  #slidectopImage .inner .overLay .btnLink a:before {
    display: none;
  }
}
@media only screen and (max-width: 480px) {
  #slidectopImage .inner h1 {
    font-size: 1.43em;
  }
}

/* Topics */
#Topics {
  position: relative;
  margin-top: 0;
  background: url(/common/img/bg_home_topics.jpg) left top no-repeat;
  background-size: cover;
}
#ctop #Topics {
  background: none;
}
#ctop #Topics section.addbtn {
  position: relative;
  max-width: 1300px;
  margin: 0 auto;
  padding: 50px 0;
}
#Topics h2 {
  color: #666;
  font-size: 1.72em;
  font-weight: normal;
  text-align: center;
  border-bottom: none;
  letter-spacing: 0.2em;
}
#Topics h2:after {
  display: none;
}

.slideClip {
  margin: 0 50px 0 30px;
}
.slideClip .slideBasis {
  width: 20%;
}
@media only screen and (min-width: 641px) and (max-width: 800px) {
  .slideClip .slideBasis {
    width: 33.333%;
  }
}
@media only screen and (min-width: 481px) and (max-width: 640px) {
  .slideClip .slideBasis {
    width: 50%;
  }
}
@media only screen and (max-width: 480px) {
  .slideClip .slideBasis {
    width: 50%;
  }
}
.slideClip .imageTile:after {
  content: "";
  display: block;
  clear: both;
}
.slideClip .imageTile li {
  clear: none !important;
  border-style: none !important;
  box-sizing: border-box;
}
.slideClip .imageTile li > * {
  background-color: #fff;
}
.slideClip .imageTile li h3 {
  font-size: 1em;
}
.slideClip .imageTile li:last-child:after {
  display: none;
}
.slideClip .imageTile a[target=_blank] figure:before {
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  right: 10px;
  bottom: -56px;
  z-index: 10;
  background: url("/common/img/icons-s4871128572.png") -216px 0;
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
}
.slideClip ~ .prevBtn,
.slideClip ~ .nextBtn {
  position: absolute;
  display: block;
  width: 44px;
  height: 44px;
  padding: 1px 0;
  top: 50%;
  margin-top: 0;
  background-color: #fff;
  cursor: pointer;
}
.slideClip ~ .prevBtn:before, .slideClip ~ .prevBtn:after,
.slideClip ~ .nextBtn:before,
.slideClip ~ .nextBtn:after {
  position: absolute;
  top: 50%;
  margin-top: -8px;
}
.slideClip ~ .prevBtn {
  left: 0;
  text-align: left;
}
.slideClip ~ .prevBtn:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  border-color: rgba(255, 0, 0, 0);
  border-width: 8px 8px 8px 0;
  border-right-color: #00a558;
}
.slideClip ~ .prevBtn:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  border-color: rgba(255, 0, 0, 0);
  border-width: 8px 8px 8px 0;
  border-right-color: #fff;
}
.slideClip ~ .prevBtn:before, .slideClip ~ .prevBtn:after {
  left: 16px;
}
.slideClip ~ .prevBtn:after {
  margin-left: 2px;
}
.slideClip ~ .nextBtn {
  right: 0;
  text-align: right;
}
.slideClip ~ .nextBtn:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  border-color: rgba(255, 0, 0, 0);
  border-width: 8px 0 8px 8px;
  border-left-color: #00a558;
}
.slideClip ~ .nextBtn:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  border-color: rgba(255, 0, 0, 0);
  border-width: 8px 0 8px 8px;
  border-left-color: #fff;
}
.slideClip ~ .nextBtn:before, .slideClip ~ .nextBtn:after {
  right: 16px;
}
.slideClip ~ .nextBtn:after {
  margin-right: 2px;
}
@media only screen and (max-width: 800px) {
  .slideClip {
    margin: 0 25px 0 0;
  }
  .slideClip .imageTile li {
    padding-left: 25px;
  }
}
@media only screen and (max-width: 640px) {
  .slideClip {
    margin: 0 50px 0 25px;
  }
  .slideClip .imageTile li {
    float: left;
    padding-left: 25px;
  }
  .slideClip .imageTile li + li {
    margin-top: 0;
  }
  .slideClip .imageTile li > * {
    margin-bottom: -500px;
    padding-bottom: 520px;
  }
}

@media only screen and (min-width: 801px) {
  .slideClip.pcReset {
    margin: 0 0 0 -20px;
  }
  .slideClip.pcReset ~ .prevBtn,
.slideClip.pcReset ~ .nextBtn {
    display: none;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (min-device-pixel-ratio: 1.5) {
  #indexList header a[target=_blank]:before,
#wide .clearfix header a[target=_blank]:before {
    background-size: 20px 20px;
    background-position: left;
    background-repeat: no-repeat;
    background-image: url(/common/img/icons2x/link_blank@2x.png);
  }
  #indexList .inner > .wm-list li.icon > a:before,
#wide .clearfix .inner > .wm-list li.icon > a:before {
    background-size: 20px 20px;
    background-position: left;
    background-repeat: no-repeat;
    background-image: url(/common/img/icons2x/link_indexList@2x.png);
  }
  #indexList .inner > .wm-list li.icon > a[target=_blank]:before,
#wide .clearfix .inner > .wm-list li.icon > a[target=_blank]:before {
    background-size: 20px 20px;
    background-position: left;
    background-repeat: no-repeat;
    background-image: url(/common/img/icons2x/link_blank@2x.png);
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) and (max-width: 800px), only screen and (min--moz-device-pixel-ratio: 1.5) and (max-width: 800px), only screen and (-o-min-device-pixel-ratio: 3/2) and (max-width: 800px), only screen and (min-device-pixel-ratio: 1.5) and (max-width: 800px) {
  #indexList .clearfix header a[target=_blank] h2:before, #indexList .clearfix header a[target=_blank] h3:before,
#wide .clearfix .clearfix header a[target=_blank] h2:before,
#wide .clearfix .clearfix header a[target=_blank] h3:before {
    background-size: 20px 20px;
    background-position: left;
    background-repeat: no-repeat;
    background-image: url(/common/img/icons2x/link_blank@2x.png);
  }
}