@charset "UTF-8";
/* -------------------------------------------------------------------
 [CSS for common style]
 ------------------------------------------------------------------ */
/* auto grouping by Sass
--------------------------------------------------------------------*/
.wrap:before, ul.check_item:before, ul.col2:before, ul.col3:before, ul.col4:before, ul.col5:before, ul.horizontal:before, ul.link.button:before, ul.link.banner:before, .whats_new .sorter dl:before, .carrousel:before, .carrousel ul.banner:before, #navi_skip ul.link:before, #global_navi ul.nav-menu:before, #global_navi .sub-nav > dd:before, #global_navi .sub-nav > dd.level3 ul.sub-nav-group:before, #breadcrumb > ul:before, #globalization > ul:before, .contents_link_area .block:before, .contents_link_area .col2_block:before, ul.contents_pager:before, .special_info ul.info:before, .main_menu ul.popup_menu > li a.trigger + .pop ul.submenu:before, #footer ul.link:before, .wrap:after, ul.check_item:after, ul.col2:after, ul.col3:after, ul.col4:after, ul.col5:after, ul.horizontal:after, ul.link.button:after, ul.link.banner:after, .whats_new .sorter dl:after, .carrousel:after, .carrousel ul.banner:after, #navi_skip ul.link:after, #global_navi ul.nav-menu:after, #global_navi .sub-nav > dd:after, #global_navi .sub-nav > dd.level3 ul.sub-nav-group:after, #breadcrumb > ul:after, #globalization > ul:after, .contents_link_area .block:after, .contents_link_area .col2_block:after, ul.contents_pager:after, .special_info ul.info:after, .main_menu ul.popup_menu > li a.trigger + .pop ul.submenu:after, #footer ul.link:after {
  display: table;
  content: "";
}
.wrap:after, ul.check_item:after, ul.col2:after, ul.col3:after, ul.col4:after, ul.col5:after, ul.horizontal:after, ul.link.button:after, ul.link.banner:after, .whats_new .sorter dl:after, .carrousel:after, .carrousel ul.banner:after, #navi_skip ul.link:after, #global_navi ul.nav-menu:after, #global_navi .sub-nav > dd:after, #global_navi .sub-nav > dd.level3 ul.sub-nav-group:after, #breadcrumb > ul:after, #globalization > ul:after, .contents_link_area .block:after, .contents_link_area .col2_block:after, ul.contents_pager:after, .special_info ul.info:after, .main_menu ul.popup_menu > li a.trigger + .pop ul.submenu:after, #footer ul.link:after {
  clear: both;
}

#global_navi .sub-nav, .page_head > h1 {
  width: 1080px;
}

.page_head > h1, .main_menu ul.popup_menu > li > a em.inline-link {
  margin: 0 auto;
}

ul.link.banner > li a, .carrousel .pager, .related_link .carrousel ul.navigation,
.event .carrousel ul.navigation {
  line-height: 0;
}

.pagetop a, #side .category_navi ul.link > li span.double > a.slidemenu {
  font-size: 0;
  line-height: 0;
}

/* general
--------------------------------------------------------------------*/
/* device */
.device {
  background: #ace6e1;
}
.device .sp-site {
  display: table;
  width: 100%;
  height: 150px;
}
.device .sp-site a {
  display: table-cell;
  height: 150px;
  font-size: 257.1428571429%;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
}

.is-sp {
  display: none;
}

/* help text */
.help_text {
  position: relative;
  width: 0;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  font-size: 0 !important;
  text-indent: -9999px !important;
  z-index: -9999 !important;
}

/* line break text */
.break:before {
  content: "\A";
  white-space: pre;
}

/* one piece text */
.onepiece {
  display: inline-block;
}

/* base text size */
.base_text {
  font-size: 1rem;
}

/* sub text size */
.sub_text {
  font-size: 92.8571428571%;
}

/* list pattern */
ul.navi {
  font-size: 92.8571428571%;
  line-height: 1.3em;
}
ul.gen > li {
  position: relative;
  margin-left: 1em;
  padding-left: 14px;
}
ul.gen > li:before {
  display: block;
  position: absolute;
  left: 0.3em;
  top: -0.3em;
  width: 13px;
  height: 1em;
  content: ".";
}
ul.notes > li {
  display: block;
  position: relative;
  padding-left: 1em;
}
ul.notes > li:before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  content: "※";
}

/* inline notes */
span.notes {
  display: block;
  position: relative;
  padding-left: 1em;
}
span.notes:before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  content: "※";
}

/* slidemenu */
.slidemenu {
  position: relative;
  vertical-align: middle;
}
.slidemenu:after {
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -5px;
  width: 10px;
  height: 10px;
  content: url(/mod/imgs/common/bg_link_slidedown.png);
}
.slidemenu.open:after {
  content: url(/mod/imgs/common/bg_link_slideup.png);
}

/* popup_menu */
.popup_menu .trigger + .pop {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
}
.popup_menu .trigger + .pop ul.close {
  display: table;
  position: absolute;
  top: 15px;
  right: 18px;
}

/* adobe reader */
.adobe_reader {
  margin: 30px 0;
  padding: 20px;
  background: #f2f2f2;
}
.adobe_reader > * {
  display: table-cell;
  vertical-align: middle;
}
.adobe_reader > .banner {
  width: 178px;
}
.adobe_reader > p {
  width: auto;
}

/* pagetop */
.pagetop {
  display: none;
  position: fixed;
  right: 10px;
  bottom: 10px;
  z-index: 10;
}
.pagetop a {
  display: block;
  width: 81px;
  height: 81px;
  background: url(/mod/imgs/common/btn_pagetop.png) no-repeat left top;
  text-indent: -9999px;
}

/* sns */
.sns_share_box {
  margin: 30px 0;
  padding: 10px;
  border: 1px solid #d5d5d5;
}
.sns_share_box .sns_share {
  display: table;
  width: auto;
}
.sns_share_box .sns_share > * {
  display: table-cell;
  vertical-align: middle;
}
.sns_share_box .sns_share .sns_text {
  padding-left: 1em;
}

/* group : general link
--------------------------------------------------------------------*/
a[target="_blank"] {
  margin-right: 0.5em;
  padding-right: 21px;
}
a[target="_blank"] {
  background: url(/mod/imgs/common/bg_link_blank.png) no-repeat right 0.2em;
}
a[target="_blank"][href$=".asx"] {
  background: none;
  margin-right: 0 !important;
  padding-right: 0 !important;
}
a.img[target="_blank"] {
  background: none;
  margin-right: 0 !important;
  padding-right: 0 !important;
}
a .file_type:before {
  content: "（";
}

a[href$=".pdf"] {
  margin-right: 0.5em;
  padding-right: 21px;
  background: url(/mod/imgs/common/link_pdf.png) no-repeat right top !important;
}
a[href$=".pdf"]:after {
  content: "（PDF）";
}
.banner > li a[href$=".pdf"]:after {
  content: "";
}
.banner > li a[href$=".pdf"] {
  margin-right: 0;
}

a[href$=".xls"] {
  margin-right: 0.5em;
  padding-right: 21px;
  background: url(/mod/imgs/common/link_excel.png) no-repeat right top !important;
}
a[href$=".xls"]:after {
  content: "（Excel）";
}
.banner > li a[href$=".xls"]:after {
  content: "";
}
.banner > li a[href$=".xls"] {
  margin-right: 0;
}

a[href$=".xlsx"] {
  margin-right: 0.5em;
  padding-right: 21px;
  background: url(/mod/imgs/common/link_excel.png) no-repeat right top !important;
}
a[href$=".xlsx"]:after {
  content: "（Excel）";
}
.banner > li a[href$=".xlsx"]:after {
  content: "";
}
.banner > li a[href$=".xlsx"] {
  margin-right: 0;
}

a[href$=".doc"] {
  margin-right: 0.5em;
  padding-right: 21px;
  background: url(/mod/imgs/common/link_word.png) no-repeat right top !important;
}
a[href$=".doc"]:after {
  content: "（Word）";
}
.banner > li a[href$=".doc"]:after {
  content: "";
}
.banner > li a[href$=".doc"] {
  margin-right: 0;
}

a[href$=".docx"] {
  margin-right: 0.5em;
  padding-right: 21px;
  background: url(/mod/imgs/common/link_word.png) no-repeat right top !important;
}
a[href$=".docx"]:after {
  content: "（Word）";
}
.banner > li a[href$=".docx"]:after {
  content: "";
}
.banner > li a[href$=".docx"] {
  margin-right: 0;
}

a[href$=".ppt"] {
  margin-right: 0.5em;
  padding-right: 21px;
  background: url(/mod/imgs/common/link_powerpoint.png) no-repeat right top !important;
}
a[href$=".ppt"]:after {
  content: "（Powerpoint）";
}
.banner > li a[href$=".ppt"]:after {
  content: "";
}
.banner > li a[href$=".ppt"] {
  margin-right: 0;
}

a[href$=".pptx"] {
  margin-right: 0.5em;
  padding-right: 21px;
  background: url(/mod/imgs/common/link_powerpoint.png) no-repeat right top !important;
}
a[href$=".pptx"]:after {
  content: "（Powerpoint）";
}
.banner > li a[href$=".pptx"]:after {
  content: "";
}
.banner > li a[href$=".pptx"] {
  margin-right: 0;
}

/* group : form parts
--------------------------------------------------------------------*/
label {
  cursor: pointer;
  /* for iOS5 tablet bug */
}

ul.check_item {
  width: 100%;
  margin-top: -0.5em;
  overflow: hidden;
}
ul.check_item.vertical > li {
  float: none;
  margin-right: 0;
}
ul.check_item > li {
  margin-top: 0.5em;
}
ul.check_item > li input, ul.check_item > li label {
  vertical-align: middle;
}
ul.check_item > li input + label {
  margin: 0 0 0 0.5em;
}
ul.check_item > li.separator {
  clear: left;
}

.textbox {
  border: solid 1px #bbbbbb;
}

input[type="text"].textbox, input[type="password"].textbox {
  width: 70%;
  padding: 3px 2px;
  border: solid 1px #bbbbbb;
  vertical-align: middle;
}
input[type="submit"] {
  cursor: pointer;
}

ul.submit {
  display: table;
  margin: 30px auto 0;
}
ul.submit > li {
  display: table-cell;
  padding-left: 30px;
  vertical-align: middle;
}
ul.submit > li:first-child {
  padding-left: 0;
}
ul.submit > li input {
  display: table-cell;
  width: 200px;
  height: 60px;
  border-radius: 3px;
  background-color: #595959;
  color: #ffffff;
  font-size: 114.2857142857%;
  vertical-align: middle;
}

table.form {
  table-layout: fixed;
  margin-bottom: 20px;
}
table.form tr > * {
  vertical-align: middle;
}
table.form th {
  width: 20%;
  background-color: #f2f2f2;
  font-weight: bold;
}
.size_l table.form th {
  width: 25%;
}
table.form th .notes {
  padding-left: 0;
}
table.form th .notes:before {
  content: "";
}
table.form td {
  width: 80%;
}
.size_l table.form td {
  width: 75%;
}
table.form td .notes {
  margin-top: 5px;
}
table.form td select + .notes {
  display: inline-block;
  margin: 0 0 0 1em;
}

.message {
  margin-bottom: 30px;
}
.message.error {
  padding: 19px;
  border: solid 1px #d5d5d5;
  border-color: #f4b2b2;
  background-color: #fff2f2;
  color: #cc0000;
  font-weight: bold;
}

/* group : pager
--------------------------------------------------------------------*/
ul.pager {
  display: table;
  width: auto;
  margin: 25px auto;
}
ul.pager > li {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}
ul.pager > li > ul {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  line-height: 1em;
}
ul.pager > li.prev, ul.pager > li.next,
ul.pager > li > ul > li {
  display: table-cell;
  width: 45px;
  height: 40px;
  vertical-align: middle;
}
ul.pager li.omit {
  width: 35px;
  padding-right: 5px;
}
ul.pager li > a,
ul.pager li > span {
  display: table-cell;
  width: 40px;
  height: 40px;
  border: solid 1px #d5d5d5;
  background-color: #ffffff;
  vertical-align: middle;
}
ul.pager li > a:hover, ul.pager li > span.current {
  background-color: #cccccc;
}
ul.pager > li.prev a, ul.pager > li.next a {
  display: table-cell;
  width: 40px;
  height: 40px;
  border: solid 1px #d5d5d5;
  background-color: #ffffff;
  vertical-align: middle;
}
ul.pager > li.prev a, ul.pager > li.next a {
  background-repeat: no-repeat;
  background-position: center center;
  text-indent: -9999px;
}
ul.pager > li.prev a {
  background-image: url(/mod/imgs/common/bg_pager_link_prev.png);
}
ul.pager > li.next a {
  background-image: url(/mod/imgs/common/bg_pager_link_next.png);
}
ul.pager > li.first a {
  background-image: url(/mod/imgs/common/bg_pager_link_first.png);
}
ul.pager > li.last a {
  background-image: url(/mod/imgs/common/bg_pager_link_last.png);
}

/* group : search
--------------------------------------------------------------------*/
/* search */
.search {
  display: table;
  width: auto;
}
.search.gen {
  margin-right: auto;
  margin-left: auto;
}
.search.gen .group {
  display: table;
  width: auto;
}
.search span {
  display: table-cell;
  padding: 7px 0 5px;
  font-size: 114.2857142857%;
  line-height: 1em;
  vertical-align: middle;
}
.search span.input {
  padding-left: 50px;
  border: solid 1px #d5d5d5;
  background: url(/mod/imgs/common/bg_search.png) no-repeat 14px center #ffffff;
}
.search span.help_text {
  width: 5px;
  padding: 0;
}
.search span.submit {
  border-radius: 3px;
  background-color: #595959;
  cursor: pointer;
}
.search span.submit:focus {
  border-radius: 3px;
  background-color: #595959;
}
.search.gen span input {
  display: inline-block;
  min-height: 20px;
  height: 1.5em;
  padding: 0 10px;
  vertical-align: baseline;
}
.search input[type="text"] {
  background: #ffffff;
}
.search input[type="submit"] {
  color: #ffffff;
}
.search.gen input[type="text"] {
  width: 478px;
  padding-left: 0;
}
.search.gen input[type="submit"] {
  width: auto;
}
.search.gen select {
  padding: 0 10px;
}

.l_search_row {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.l_search_row .l_search_col {
  display: flex;
  align-items: center;
  width: 510px;
}
.l_search_row .l_search_col .search.gen {
  width: 100%;
}
.l_search_row .l_search_col .search.gen .group {
  width: 100%;
}
.l_search_row .l_search_col input[type="text"] {
  width: 100%;
}
.l_search_row .l_search_col .submit {
  width: 20%;
  text-align: center;
}
.l_search_row .l_search_col .select_head {
  display: block;
  padding-right: 0.5em;
  font-weight: bold;
  white-space: nowrap;
}
.l_search_row select.search_cateogry {
  width: 100%;
  height: 100%;
  padding-left: 10px;
  border: 1px solid #d5d5d5;
}

/* group : tab contents
--------------------------------------------------------------------*/
/* tab_contents */
.tab_contents ul.tab {
  display: table;
  position: relative;
  width: 100%;
}
.tab_contents ul.tab > li {
  display: table-cell;
  padding-bottom: 6px;
  font-size: 114.2857142857%;
}
.tab_contents ul.tab > li > a {
  display: table;
  position: relative;
  width: 267px;
  border: solid 1px #d5d5d5;
  border-radius: 3px;
  background-color: #f2f2f2;
  text-decoration: none !important;
  z-index: 2;
}
.tab_contents ul.tab > li > a > span {
  display: table-cell;
  height: 45px;
  padding: 0 19px;
  background: url(/mod/imgs/common/bg_link1.png) no-repeat 13px center;
  vertical-align: middle;
  text-align: center;
}
.tab_contents ul.tab > li:nth-child(1), .tab_contents ul.tab > li:nth-child(4) {
  width: 267px;
}
.tab_contents ul.tab > li:nth-child(2), .tab_contents ul.tab > li:nth-child(3) {
  width: 273px;
}
.tab_contents ul.tab > li:nth-child(2) > a {
  margin-left: 4px;
}
.tab_contents ul.tab > li:nth-child(3) > a {
  margin-left: 2px;
}
.tab_contents ul.tab > li.selected {
  padding-bottom: 0;
}
.tab_contents ul.tab > li.selected > a {
  padding-bottom: 6px;
  border-bottom: none;
  border-radius: 3px 3px 0 0;
}
.tab_contents ul.tab > li.shogakukin:hover > a, .tab_contents ul.tab > li.shogakukin.selected > a {
  border-color: #70bd8a;
  background-color: #e1faea;
  color: #00802a;
}
.tab_contents ul.tab > li.ryugaku:hover > a, .tab_contents ul.tab > li.ryugaku.selected > a {
  border-color: #7fabd2;
  background-color: #e1eefa;
  color: #0058a5;
}
.tab_contents ul.tab > li.gakusei:hover > a, .tab_contents ul.tab > li.gakusei.selected > a {
  border-color: #a67469;
  background-color: #fff0e5;
  color: #cc3d00;
}
.tab_contents ul.tab > li.misc:hover > a, .tab_contents ul.tab > li.misc.selected > a {
  border-color: #956c38;
  background-color: #fff8e5;
  color: #856507;
}
.tab_contents .contents {
  position: absolute;
  left: 0;
  top: 53px;
  width: 100%;
  margin-top: -2px;
  padding: 19px;
  border: solid 1px;
  border-radius: 3px;
  background-color: #ffffff;
  overflow: hidden;
  z-index: 1;
}
.tab_contents .contents.shogakukin {
  border-color: #70bd8a;
}
.tab_contents .contents.ryugaku {
  border-color: #7fabd2;
}
.tab_contents .contents.gakusei {
  border-color: #a67469;
}
.tab_contents .contents.misc {
  border-color: #956c38;
}
.tab_contents .contents.shogakukin {
  border-radius: 0 3px 3px 3px;
}
.tab_contents .contents .misc {
  border-radius: 3px 0 3px 3px;
}

/* group : mega menu list (default settings)
--------------------------------------------------------------------*/
/* a top level navigation item in the mega menu */
.nav-menu {
  position: relative;
  display: block;
  z-index: 15;
}

/* a top level navigation item in the mega menu */
.nav-item {
  display: inline-block;
}
.nav-item > a {
  position: relative;
  display: inline-block;
}
.nav-item > a.open {
  z-index: 1;
}

/* sub-navigation panel */
.sub-nav {
  display: none;
  position: absolute;
  top: 2.2em;
  margin-top: -1px;
  background-color: #ffffff;
}
.sub-nav.open {
  display: block;
  z-index: 100 !important;
}
.sub-nav ul {
  display: inline-block;
  vertical-align: top;
}
.sub-nav li {
  display: block;
}

/* group : link
--------------------------------------------------------------------*/
a .caption {
  margin-left: 14px;
}

.inline-link,
a .caption {
  position: relative;
  color: #2331b0;
}
.inline-link:hover,
a .caption:hover {
  text-decoration: underline;
}
.inline-link:before,
a .caption:before {
  display: block;
  position: absolute;
  left: -14px;
  top: 0.2em;
  margin-top: 0px;
  width: 6px;
  height: 8px;
  content: url(/mod/imgs/common/bg_link1.png);
  outline: none;
}

a:visited .caption {
  color: #641fa3;
}

/* group : list pattern
--------------------------------------------------------------------*/
ul.col2 > li {
  width: 50%;
}
ul.col2 > li:nth-child(2n+1) {
  float: left;
}
ul.col2 > li:nth-child(2n) {
  float: right;
}

ul.check_item > li, ul.horizontal > li {
  float: left;
  margin-right: 1.25em;
}
ul.check_item > li:last-child, ul.horizontal > li:last-child {
  margin-right: 0;
}

ul.link > li {
  padding-left: 14px;
}
ul.link > li a {
  position: relative;
  text-decoration: underline;
}
ul.link > li a:before {
  display: block;
  position: absolute;
  left: -14px;
  top: 0.2em;
  margin-top: 0px;
  width: 6px;
  height: 8px;
  content: url(/mod/imgs/common/bg_link1.png);
  outline: none;
}
#navi_skip ul.link > li, #header ul.link > li, #footer ul.link > li {
  float: left;
}
#navi_skip ul.link > li:not(:last-child), #header ul.link > li:not(:last-child), #footer ul.link > li:not(:last-child) {
  margin-right: 8px;
  padding-right: 10px;
  padding-left: 14px;
  border-right: solid 1px #d5d5d5;
}
#navi_skip ul.link > li:last-child a:before {
  display: block;
  position: absolute;
  left: -25px;
  top: 50%;
  margin-top: -9px;
  width: 19px;
  height: 19px;
  content: url(/mod/imgs/common/bg_icon_close.png);
}
ul.link.close > li a {
  color: #333333 !important;
  text-decoration: none;
}
ul.link.close > li a:before {
  display: block;
  position: absolute;
  left: -25px;
  top: 50%;
  margin-top: -9px;
  width: 19px;
  height: 19px;
  content: url(/mod/imgs/common/bg_icon_close.png);
}
ul.link.col4 > li {
  float: left;
  width: 25%;
  padding-right: 10px;
}
ul.link.button.col2 > li:nth-child(2n+1) {
  clear: left;
  padding-right: 10px;
}
ul.link.button.col2 > li:nth-child(2n) {
  padding-left: 10px;
}
ul.link.button.col3, ul.link.banner.col3 {
  overflow: visible;
}
ul.link.button.col3 > li {
  width: calc(100% / 3);
  margin-right: 0;
  margin-left: 0;
  padding-right: 5px;
  padding-left: 5px;
}
ul.link.button.col3 > li:nth-child(3n+1) {
  clear: left;
}
ul.link.button.col4, ul.link.banner.col4 {
  overflow: visible;
}
ul.link.button.col4 > li {
  width: 25% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 5px;
  padding-left: 5px;
}
ul.link.button.col4 > li:nth-child(4n+1) {
  clear: left !important;
}
.category_top ul.link.banner.col4 {
  display: flex;
  flex-wrap: wrap;
}
.category_top ul.link.banner.col4 > li {
  float: none;
  width: 234px;
  margin-right: 48px;
}
.category_top ul.link.banner.col4 > li:nth-child(4n) {
  margin-right: 0;
}
.category_top ul.link.button.col3 {
  display: flex;
  flex-wrap: wrap;
}
.category_top ul.link.button.col3 > li {
  width: 350px;
  margin-right: 15px;
}
.category_top ul.link.button.col3 > li:nth-child(3n) {
  margin-right: 0;
}
ul.link.to_list, ul.link.to_detail {
  display: table;
  width: 120px;
  margin-left: auto;
  border: solid 1px #d5d5d5;
  border-radius: 3px;
  background-color: #f2f2f2;
  text-align: center;
}
ul.link.to_list a, ul.link.to_detail a {
  display: block;
  padding: 8px 20px 8px 13px;
  color: #333333 !important;
  text-decoration: none;
  line-height: 1.2em;
}
ul.link.to_list a:before, ul.link.to_detail a:before {
  left: 0;
  top: 50%;
  margin-top: -4px;
}
ul.link.button {
  margin-top: -15px;
  font-size: 114.2857142857%;
}
ul.link.banner > li, ul.link.button > li {
  display: table;
  float: left;
  margin-top: 15px;
  padding: 0;
}
ul.link.banner > li a, ul.link.button > li a {
  box-shadow: 0.5px 0.866px 3px 0px rgba(0, 0, 0, 0.35);
}
ul.link.button > li a {
  display: table-cell;
  width: 100%;
  height: 80px;
  padding: 0 30px 0 22px;
  border: solid 1px #e9e9e9;
  border-radius: 3px;
  background-color: #ffffff;
  color: #333333 !important;
  line-height: 1.3em;
  vertical-align: middle;
  text-decoration: none;
}
ul.link.button > li a:hover {
  text-decoration: underline;
}
ul.link.button > li a:before {
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -10px;
  left: auto;
  width: 20px;
  height: 20px;
  background: url(/mod/imgs/common/btn_link_next.png) no-repeat;
  content: "";
}
ul.link.banner > li a {
  display: block;
  width: 234px;
  height: 60px;
}
ul.link.banner > li a:before {
  display: block;
  position: absolute;
  right: 10px;
  top: 30px;
  margin-top: -10px;
  left: auto;
  width: 20px;
  height: 20px;
  content: url(/mod/imgs/common/btn_link.png);
}
ul.link.banner > li a[target="_blank"]:before {
  content: url(/mod/imgs/common/btn_link_blank_gr.png);
}
ul.link.banner > li a.file_movie:before {
  content: url(/mod/imgs/common/btn_link_movie.png);
}
ul.link.button > li a[target="_blank"], ul.link.banner > li a[target="_blank"] {
  margin-right: 0;
  background-image: none;
}
ul.link.button > li a[target="_blank"]:before {
  content: url(/mod/imgs/common/btn_link_blank.png);
}
ul.link.csv_download {
  display: table;
  width: auto;
  border-radius: 3px;
  border: solid 1px #d5d5d5;
  background: #f2f2f2;
}
ul.link.csv_download a {
  display: block;
  padding: 8px calc(10px + 2.5em) 8px 16px;
  color: #333333 !important;
  line-height: 1.2;
}
ul.link.csv_download a:before {
  left: 0;
  top: 50%;
  margin-top: -4px;
}
ul.link.csv_download a:after {
  display: block;
  box-sizing: border-box;
  position: absolute;
  right: 10px;
  top: 50%;
  min-width: 30px;
  margin-top: -0.65em;
  padding: 2px 3px;
  background: #0d7136;
  color: #ffffff;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro";
  font-weight: bold;
  line-height: 1;
  text-align: center;
  letter-spacing: 1px;
  content: "CSV";
  font-size: 78.5714285714%;
}
ul.link.csv_download + * {
  margin-top: 25px;
}

.category_top_link .link.button li {
  position: relative;
  cursor: pointer;
}
.category_top_link .link.button li:after {
  display: block;
  position: absolute;
  right: 5px;
  top: 1px;
  width: 20px;
  height: calc(100% - 1px);
  border-radius: 0px 3px 3px 0;
  background-color: #4f4f4f;
  z-index: 1;
  content: "";
}
.category_top_link .link.button li a:before {
  right: calc((20px - 6px - 5px) / 2);
  top: 40px;
  left: auto;
  width: 6px;
  height: 8px;
  margin-top: -4px;
  background-image: none;
  z-index: 2;
  content: url(/mod/imgs/common/category_top_btn_link.png);
}
.category_top_link .link.button li a[target="_blank"]:before {
  right: calc((20px - 13px) / 2 - 1.5px);
  width: 13px;
  height: 9px;
  margin-top: -4.5px;
  content: url(/mod/imgs/common/category_top_btn_link_blank.png);
}
.category_top_link .link.button li.shogakukin:after {
  background-color: #007526;
}
.category_top_link .link.button li.ryugaku:after {
  background-color: #004e9b;
}
.category_top_link .link.button li.gakusei:after {
  background-color: #c53500;
}
.category_top_link .link.button li.about:after {
  background-color: #f7ac05;
}

/* group : faq, what's new
--------------------------------------------------------------------*/
ul.faq_lineup > li > dl,
.whats_new dl {
  display: table;
}
ul.faq_lineup > li > dl > *,
.whats_new dl > * {
  display: table-cell;
  vertical-align: top;
}

/* faq */
ul.faq_lineup > li dt {
  width: 10em;
  padding-top: 0.2em;
  text-align: center;
}
ul.faq_lineup > li dt span {
  display: block;
  padding: 0.3em 0.1em 0.2em;
  border-radius: 3px;
  color: #ffffff;
  line-height: 1.2em;
}
ul.faq_lineup > li dd.date {
  width: 9em;
}
ul.faq_lineup > li dd:not([class]) {
  width: auto;
  padding-left: 0.5em;
}
ul.faq_lineup > li.shogakukin dt span {
  background-color: #00802a;
}
ul.faq_lineup > li.ryugaku dt span {
  background-color: #0058a5;
}
ul.faq_lineup > li.gakusei dt span {
  background-color: #cc3d00;
}
ul.faq_lineup > li.misc dt span {
  background-color: #fabe19;
}
ul.faq_lineup > li.misc dt span {
  color: #333333;
}

/* whats_new */
.whats_new {
  margin-top: 30px;
  margin-bottom: 40px;
}
.whats_new > .section,
.whats_new > .section_auto {
  position: relative;
}
.whats_new ul.link.to_list {
  position: absolute;
  right: 0;
  top: 0;
}
.whats_new ul.link.to_list a {
  text-decoration: none;
}
.whats_new ul > li p {
  margin-bottom: 0;
}
.whats_new ul > li:not(:last-child) > dl {
  margin-bottom: 18px;
}
.category_top .whats_new ul > li:not(:last-child) > dl {
  margin-bottom: 2px;
}
.whats_new dl > dt {
  width: 9.5em;
}
.whats_new dl > dd.cat {
  width: 8.5em;
  padding-top: 0.2em;
  text-align: center;
}
.whats_new dl > dd.cat span {
  display: block;
  padding: 0.3em 0.1em 0.2em;
  border-radius: 6px;
  color: #ffffff;
  line-height: 1.2em;
}
.whats_new dl > dd:not([class]) {
  width: auto;
  padding-left: 1em;
}
.home .whats_new dl > dd:not([class]) {
  width: calc(100% - 9.5em - 8.5em);
}
.category_top .whats_new dl > dd:not([class]) {
  width: auto;
}
.whats_new dl.shogakukin > dd.cat span {
  background-color: #00802a;
}
.whats_new dl.ryugaku > dd.cat span {
  background-color: #0058a5;
}
.whats_new dl.gakusei > dd.cat span {
  background-color: #cc3d00;
}
.whats_new dl.misc > dd.cat span {
  background-color: #fabe19;
}
.whats_new dl.misc > dd.cat span {
  color: #333333;
}

#main .whats_new + * {
  margin-top: 0 !important;
}

/* group : carrousel basic
--------------------------------------------------------------------*/
.carrousel {
  position: relative;
}
.carrousel ul.banner {
  position: relative;
  width: 100%;
}
.carrousel ul.banner > li {
  position: relative;
  float: left;
  margin: 0;
  z-index: 2;
}
.carrousel .pager {
  position: relative;
  display: table;
  width: auto;
  margin-top: 10px;
  margin-left: auto;
  cursor: pointer;
  z-index: 1;
}
.carrousel .pager a {
  display: block;
  float: left;
  width: 11px;
  height: 11px;
  margin: 0 5px;
  overflow: hidden;
  outline: none;
}
.carrousel .pager a:focus {
  outline: dotted 1px #000000;
}
.carrousel .pager span {
  display: block;
  width: 100%;
  height: 100%;
  background: url(/mod/imgs/common/slider_pager.png) no-repeat;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.carrousel .pager .selected span {
  background-image: url(/mod/imgs/common/slider_pager_active.png);
}
.carrousel .controller {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 40px;
  height: 28px;
  background: url(/mod/imgs/common/slider_controller_pause.png) no-repeat left top;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  cursor: pointer;
  z-index: 2;
}
.carrousel .controller.paused {
  background-image: url(/mod/imgs/common/slider_controller_play.png) !important;
}

/* navi_skip
--------------------------------------------------------------------*/
#navi_skip.is-show {
  display: block;
  height: auto;
}
#navi_skip.is-hide {
  display: block;
  height: 1px;
  padding: 0;
  background-color: #ffffff;
  color: #ffffff;
  overflow: hidden;
}
#navi_skip.is-hide ul.link > li:last-child a:before {
  content: "";
}

#navi_skip ul.link > li:last-child {
  float: right;
  padding-left: 0;
  border-left: none;
}

/* header
--------------------------------------------------------------------*/
/* logo */
#header .logo {
  display: block;
  width: 250px;
}
#header .logo img {
  width: 100%;
}
#header .header_row {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
#header .header_row.header_link {
  width: auto;
  padding-top: 10px;
}
#header ul.link {
  padding-left: 10px;
}
#header ul.link.chosa {
  display: table;
  width: auto;
  padding-right: 0;
}
#header ul.link.chosa > li {
  border: solid 1px #d5d5d5;
  border-radius: 4px;
  background-color: #f2f2f2;
  text-align: center;
}
#header ul.link.chosa > li a {
  display: table-cell;
  width: 144px;
  height: 30px;
  padding: 0 9px;
  vertical-align: middle;
}
#header ul.link.chosa > li a:before {
  position: absolute;
  width: 16px;
  height: 16px;
  margin: 0.35em 0 0 16px;
  content: url(/mod/imgs/common/bg_navi_chosa.png);
  outline: none;
}
#header .wrap {
  display: table;
  width: auto;
  margin-left: auto;
}
#header .wrap > * {
  display: table-cell;
  vertical-align: middle;
}

/* text size change */
#text_size_change {
  font-size: 92.8571428571%;
}
#text_size_change > *,
#text_size_change li {
  display: table-cell;
  vertical-align: middle;
}
#text_size_change dt {
  padding-right: 10px;
}
#text_size_change ul {
  margin-right: 5px;
}
#text_size_change li {
  padding-right: 5px;
}
#text_size_change li a {
  display: block;
  min-width: 50px;
  padding: 5px 10px;
  border: solid 1px #d5d5d5;
  border-radius: 13px;
  background-color: #f2f2f2;
  color: #333333;
  line-height: 1.2em;
  text-align: center;
  text-decoration: none;
}
#text_size_change li.current a {
  border-color: #595959;
  background-color: #595959;
  color: #ffffff;
}

/* search */
#header .search .search > span {
  font-size: 92.8571428571%;
}
#header .search .search span.input {
  padding-left: 27px;
  background: url(/mod/imgs/common/bg_search_header.png) no-repeat 7px center;
}

#search_field,
#search_btn {
  display: inline-block;
  min-height: 20px;
  height: 1.5em;
  padding: 0 10px;
  vertical-align: baseline;
}

#search_field {
  width: 240px;
  padding-left: 0;
  background: #ffffff;
}

#search_btn {
  width: auto;
  color: #ffffff;
}

/* global navi
--------------------------------------------------------------------*/
#global_navi ul.nav-menu {
  display: table;
  width: 100%;
}
#global_navi .nav-item {
  display: table-cell;
  height: 32px;
  padding: 0 4px;
  border-right: solid 1px #d5d5d5;
  vertical-align: middle;
}
#global_navi .nav-item > a {
  display: block;
  height: 40px;
  margin-top: -4px;
  margin-bottom: -4px;
  border-style: solid;
  border-top-width: 4px;
  border-bottom-width: 4px;
  border-radius: 4px;
  border-color: #ffffff;
  background-repeat: no-repeat;
  background-position: 10px center;
  font-size: 114.2857142857%;
  font-weight: bold;
  text-align: center;
}
#global_navi .sub-nav {
  top: 36px;
  margin-top: 9px;
  border-radius: 4px;
}
#global_navi .sub-nav.open {
  display: table;
}
#global_navi .sub-nav > * {
  display: table-cell;
  padding: 35px 0;
}
#global_navi .sub-nav > dt {
  width: 300px;
  padding: 0 20px;
  border-radius: 4px 0 0 4px;
  font-size: 171.4285714286%;
  text-align: center;
  vertical-align: middle;
}
#global_navi .sub-nav > dd.level3 {
  width: auto;
  padding-left: 10px;
  vertical-align: top;
}
#global_navi .sub-nav > dd.pickup {
  width: 230px;
  border-radius: 0 4px 4px 0;
}
#global_navi ul.sub-nav-group {
  display: block;
  float: left;
  padding: 0 10px;
}
#global_navi dd.level3 ul.sub-nav-group {
  width: 100%;
}
#global_navi dd.level3 ul.sub-nav-group > li {
  float: left;
  width: 49%;
}
#global_navi dd.level3 ul.sub-nav-group > li:nth-child(2n+1) {
  clear: left;
  margin-right: 1%;
}
#global_navi dd.level3 ul.sub-nav-group > li:nth-child(2n) {
  margin-left: 1%;
}
#global_navi .nav-item-home {
  display: none;
}
#global_navi .nav-item.home {
  width: 14%;
  border-left: solid 1px #d5d5d5;
}
#global_navi .nav-item.home a {
  background-image: url(/mod/imgs/common/icon_navi_home_off.png);
}
#global_navi .nav-item.home a:hover, #global_navi .nav-item.home a:focus, #global_navi .nav-item.home a.open {
  border-color: #56ccc2;
  background-color: #56ccc2;
  background-image: url(/mod/imgs/common/icon_navi_dark_on.png);
}
#global_navi .nav-item.shogakukin {
  width: 21.5%;
}
#global_navi .nav-item.shogakukin > a {
  background-image: url(/mod/imgs/common/icon_navi_shogakukin_off.png);
}
#global_navi .nav-item.ryugaku {
  width: 21.5%;
}
#global_navi .nav-item.ryugaku > a {
  background-image: url(/mod/imgs/common/icon_navi_ryugaku_off.png);
}
#global_navi .nav-item.gakusei {
  width: 21.5%;
}
#global_navi .nav-item.gakusei > a {
  background-image: url(/mod/imgs/common/icon_navi_gakusei_off.png);
}
#global_navi .nav-item.about {
  width: 21.5%;
}
#global_navi .nav-item.about > a {
  background-image: url(/mod/imgs/common/icon_navi_about_off.png);
}
#global_navi .shogakukin .sub-nav {
  margin-left: -14.35% !important;
  border-color: #00802a;
  background-color: #00802a;
}
#global_navi .shogakukin .sub-nav > dt {
  background-color: #006e25 !important;
}
#global_navi .shogakukin .sub-nav > dd.pickup {
  background-color: #168933;
}
#global_navi .shogakukin.nav-item > a:hover, #global_navi .shogakukin.nav-item > a:focus, #global_navi .shogakukin.nav-item > a.open {
  border-color: #00802a;
  background-image: url(/mod/imgs/common/icon_navi_light_on.png);
  background-color: #00802a;
}
#global_navi .ryugaku .sub-nav {
  margin-left: -35.85% !important;
  border-color: #0058a5;
  background-color: #0058a5;
}
#global_navi .ryugaku .sub-nav > dt {
  background-color: #004f94 !important;
}
#global_navi .ryugaku .sub-nav > dd.pickup {
  background-color: #0062bb;
}
#global_navi .ryugaku.nav-item > a:hover, #global_navi .ryugaku.nav-item > a:focus, #global_navi .ryugaku.nav-item > a.open {
  border-color: #0058a5;
  background-image: url(/mod/imgs/common/icon_navi_light_on.png);
  background-color: #0058a5;
}
#global_navi .gakusei .sub-nav {
  margin-left: -57.35% !important;
  border-color: #ffd0af;
  background-color: #ffd0af;
}
#global_navi .gakusei .sub-nav > dt {
  background-color: #cc3d00 !important;
}
#global_navi .gakusei .sub-nav > dd.pickup {
  background-color: #ffeadb;
}
#global_navi .gakusei.nav-item > a:hover, #global_navi .gakusei.nav-item > a:focus, #global_navi .gakusei.nav-item > a.open {
  border-color: #cc3d00;
  background-image: url(/mod/imgs/common/icon_navi_light_on.png);
  background-color: #cc3d00;
}
#global_navi .about .sub-nav {
  margin-left: -78.85% !important;
  border-color: #fcd670;
  background-color: #fcd670;
}
#global_navi .about .sub-nav > dt {
  background-color: #fac840 !important;
}
#global_navi .about .sub-nav > dd.pickup {
  background-color: #feebb8;
}
#global_navi .about.nav-item > a:hover, #global_navi .about.nav-item > a:focus, #global_navi .about.nav-item > a.open {
  border-color: #fac840;
  background-image: url(/mod/imgs/common/icon_navi_light_on.png);
  background-color: #fac840;
}
#global_navi .shogakukin.nav-item > a:hover, #global_navi .shogakukin.nav-item > a:focus, #global_navi .shogakukin.nav-item > a.open,
#global_navi .ryugaku.nav-item > a:hover,
#global_navi .ryugaku.nav-item > a:focus,
#global_navi .ryugaku.nav-item > a.open,
#global_navi .gakusei.nav-item > a:hover,
#global_navi .gakusei.nav-item > a:focus,
#global_navi .gakusei.nav-item > a.open {
  background-image: url(/mod/imgs/common/icon_navi_light_on.png);
  color: #ffffff;
}
#global_navi .shogakukin .sub-nav,
#global_navi .ryugaku .sub-nav,
#global_navi .gakusei .sub-nav {
  color: #ffffff;
}
#global_navi .shogakukin .sub-nav a,
#global_navi .ryugaku .sub-nav a,
#global_navi .gakusei .sub-nav a {
  text-decoration: none;
  color: #ffffff;
}
#global_navi .shogakukin .sub-nav a:hover,
#global_navi .ryugaku .sub-nav a:hover,
#global_navi .gakusei .sub-nav a:hover {
  text-decoration: underline;
}
#global_navi .shogakukin .sub-nav,
#global_navi .ryugaku .sub-nav {
  color: #ffffff;
}
#global_navi .shogakukin .sub-nav a,
#global_navi .ryugaku .sub-nav a {
  text-decoration: none;
  color: #ffffff;
}
#global_navi .shogakukin .sub-nav a:hover,
#global_navi .ryugaku .sub-nav a:hover {
  text-decoration: underline;
}
#global_navi .gakusei .sub-nav {
  color: #333333;
}
#global_navi .gakusei .sub-nav a {
  color: #333333;
}
#global_navi .gakusei .sub-nav > dt a {
  color: #ffffff;
}
#global_navi .about.nav-item > a:hover, #global_navi .about.nav-item > a:focus, #global_navi .about.nav-item > a.open {
  background-image: url(/mod/imgs/common/icon_navi_dark_on.png);
  color: #333333;
}
#global_navi .about .sub-nav {
  color: #333333;
}
#global_navi .about .sub-nav a {
  text-decoration: none;
  color: #333333;
}
#global_navi .home .sub-nav {
  display: none !important;
}

/* breadcrumb
--------------------------------------------------------------------*/
#breadcrumb ul {
  line-height: 1.5em;
}
#breadcrumb ul > li {
  position: relative;
  float: left;
  font-weight: bold;
}
#breadcrumb ul > li:not(:first-child) {
  margin-left: 1.5em;
}
#breadcrumb ul > li:not(:first-child):before {
  display: block;
  position: absolute;
  left: -1em;
  top: 50%;
  width: 6px;
  height: 6px;
  content: "";
  margin-top: -0.3em;
  border-top: solid 1px #333333;
  border-right: solid 1px #333333;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
#breadcrumb ul > li:last-child:before, #breadcrumb ul > li a {
  font-weight: normal;
}
#breadcrumb ul > li em {
  font-weight: bold;
}

/* globalization
--------------------------------------------------------------------*/
#globalization ul > li {
  float: left;
  min-height: 1.7em;
  font-weight: bold;
}
#globalization ul > li:not(:last-child) {
  margin-right: 12px;
}
#globalization ul > li em {
  margin-left: -14px;
  font-weight: bold;
}
#globalization ul > li a {
  font-weight: normal;
}
#globalization ul > li a:before {
  top: 50%;
  margin-top: -4px;
}

/* maincontainer
--------------------------------------------------------------------*/
/* page head */
.page_head {
  margin-bottom: 25px;
  padding: 28px 0;
  border-top: solid 2px;
}
.page_head > h1 {
  font-size: 178.5714285714%;
  font-weight: normal;
  line-height: 1.2em;
}
.general .page_head {
  border-color: #008075;
  background-color: #e1faf8;
  color: #333333;
}

/* main
--------------------------------------------------------------------*/
#main > *:first-child {
  margin-top: 0 !important;
}
#main > *:last-child {
  margin-bottom: 0 !important;
}
#main ul.link > li a:link, #main ul.link > li a:hover, #main ul.link > li a:focus {
  color: #2331b0;
}
#main ul.link > li a:visited {
  color: #641fa3;
}

h2,
h3,
h4 {
  font-weight: bold;
}

h2 {
  margin-bottom: 16px;
  padding: 10px 19px;
  border-radius: 4px;
  font-size: 121.4285714286%;
  line-height: 1.2em;
  margin-top: 40px;
  color: #333333;
}
.general h2 {
  background-color: #cccccc;
}

h3 {
  margin: 20px 0;
  padding: 10px 19px;
  border-radius: 4px;
  background-color: #e8e8e8;
  font-size: 114.2857142857%;
  line-height: 1.3333333333em;
}

h4 {
  margin: 20px 0;
  font-size: 114.2857142857%;
  line-height: 1.5em;
}

p:not([class]) {
  margin-bottom: 1em;
}

table {
  width: 100%;
}
table tr > * {
  padding: 14px;
  border: solid 1px #d5d5d5;
}

td {
  line-height: 1.4285714286em;
}

/* contents link area */
.contents_link_area .block {
  margin-bottom: 14px;
}
.contents_link_area .block > .text {
  width: auto;
}
.contents_link_area .block > * *:last-child {
  margin-bottom: 0 !important;
}
.contents_link_area .block .indplusp {
  margin-left: 14px;
}
.contents_link_area > .block {
  margin-right: 0;
  margin-left: 20px;
}
.contents_link_area > .block > * {
  display: table-cell;
  vertical-align: top;
}
.contents_link_area > .block .fig {
  width: 260px;
  padding-right: 20px;
}
.contents_link_area > .block .fig img {
  max-width: 240px;
  width: auto;
  max-height: 150px;
  height: auto;
}
.contents_link_area > .block .indplusp {
  margin-left: 19px;
}
.contents_link_area .col2_block {
  margin-right: 0;
  margin-left: 20px;
}
.contents_link_area .col2_block > li.block {
  float: left;
  width: 50%;
  vertical-align: top;
}
.contents_link_area .col2_block > li.block:nth-child(2n+1) {
  clear: left;
  padding-right: 20px;
}
.contents_link_area .col2_block > li.block:nth-child(2n) {
  padding-left: 20px;
}
.contents_link_area .col2_block .fig {
  display: table;
}
.contents_link_area .col2_block .fig img {
  max-width: 240px;
  width: auto;
  max-height: 150px;
  height: auto;
}
.contents_link_area .col2_block .text {
  margin-top: 5px;
}

/* pickup link */
.pickup_link ul.link.to_list {
  position: absolute;
}
.pickup_link ul.link.to_list a {
  text-decoration: none;
}
.pickup_link.lower_level {
  position: relative;
  width: 100%;
  margin: 30px 0;
  padding: 24px;
  border: solid 2px;
}
.pickup_link.lower_level h2 {
  margin-top: 0 !important;
  padding: 0 0 19px;
  border-bottom: solid 1px;
  border-radius: 0;
  background-color: transparent;
}
.pickup_link.lower_level ul.link.to_list {
  right: 24px;
  top: 20px;
}
.pickup_link.lower_level ul.link.to_list a {
  text-decoration: none;
}
.pickup_link.lower_level ul.link.button > li {
  padding-right: 120px;
  padding-left: 0;
}
.pickup_link.lower_level ul.link.button > li a {
  height: 60px;
}
.general .pickup_link.lower_level {
  border-color: #aaaaaa;
  background-color: #f2f2f2;
}
.general .pickup_link.lower_level h2 {
  border-color: #d5d5d5;
  color: #333333;
  font-size: 171.4285714286%;
}
.index .pickup_link {
  padding: 25px 0;
  border-top: solid 1px;
  border-bottom: solid 1px;
}
.index .pickup_link > .section {
  position: relative;
}
.index .pickup_link ul.link.to_list {
  right: 0;
  top: 0;
}
.index .pickup_link ul.link.to_list a {
  text-decoration: none;
}
.index .pickup_link ul.link.button {
  padding-top: 25px;
}
.index .pickup_link ul.link.button > li a {
  height: 65px;
}
.index .pickup_link ul.link.button > li a:before {
  top: 40px;
}
.index .pickup_link ul.link.col3 > li {
  float: left;
  width: 330px;
  margin-right: 0;
  margin-left: 45px;
}
.index .pickup_link ul.link.col3 > li:nth-child(3n+1) {
  clear: left;
  margin-left: 0;
}
.index .pickup_link ul.link.col4 > li {
  float: left;
  margin-right: 0;
  margin-left: 48px;
}
.index .pickup_link ul.link.col4 > li:nth-child(4n+1) {
  clear: left;
  margin-left: 0;
}

/* contact */
.contact {
  position: relative;
  width: 100%;
  margin: 30px 0;
  border: solid 2px #bfbfbf;
}
.contact > *, .index .contact > * {
  padding: 20px 24px;
}
.contact h2, .index .contact h2 {
  margin: 0 !important;
  border: none;
  border-radius: 0 !important;
  background-color: #f2f2f2 !important;
  color: #333333 !important;
}
.contact dl > dt {
  margin: 20px 0 10px;
  padding-top: 20px;
  border-top: solid 1px #d5d5d5;
  font-weight: bold;
}
.contact dl > dt:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}
.contact ul:not([class]) > li {
  display: table;
}
.contact ul:not([class]) > li:first-child {
  margin-bottom: 5px;
}
.contact ul:not([class]) > li > * {
  display: table-cell;
  vertical-align: top;
}
.contact ul:not([class]) > li > .tool {
  width: 3.5em;
}
.contact ul:not([class]) > li > .data {
  width: auto;
}
.contact ul:not([class]) > li > .data:before {
  content: " : ";
}

/* backnumber, related_contents */
.related_contents,
.backnumber {
  margin: 40px 0;
  padding: 18px;
  border: solid 2px #aaaaaa;
}
.related_contents > dt,
.backnumber > dt {
  padding-bottom: 14px;
  border-bottom: solid 2px #d5d5d5;
  font-size: 114.2857142857%;
  font-weight: bold;
  line-height: 1.5em;
}
.related_contents > dd,
.backnumber > dd {
  margin-top: 20px;
}

/* contents pager */
ul.contents_pager {
  display: table;
  width: 100%;
  margin: 40px 0;
  padding: 15px;
  border: solid 1px #d5d5d5;
  background-color: #f2f2f2;
}
ul.contents_pager > li {
  width: 45%;
}
ul.contents_pager > li a {
  position: relative;
  padding-top: 3px;
}
ul.contents_pager > li.prev {
  float: left;
  padding-left: 30px;
}
ul.contents_pager > li.next {
  float: right;
  padding-right: 30px;
  text-align: right;
}
ul.contents_pager > li a:before {
  display: block;
  position: absolute;
  top: 0;
  width: 20px;
  height: 20px;
}
ul.contents_pager > li.prev a:before {
  left: -30px;
  content: url(/mod/imgs/common/btn_link_prev.png);
}
ul.contents_pager > li.next a:before {
  right: -30px;
  content: url(/mod/imgs/common/btn_link_next.png);
}
ul.contents_pager.back_to_index {
  padding: 0;
  border: none;
  background-color: transparent;
}
ul.contents_pager.back_to_index > li {
  width: 100%;
}

/* group : #maincontainer or #main : index page
--------------------------------------------------------------------*/
/* heading */
.index h2 {
  margin: 0;
  padding: 0;
  border-radius: 0;
  color: #333333;
  font-size: 100%;
}
.index .related_link h2,
.index .pickup_link h2,
.index .guidance_movie h2,
.index .whats_new h2,
.index .faq h2,
.index .guidance h2,
.index .information h2 {
  margin-bottom: 25px;
  font-weight: bold;
  font-size: 171.4285714286%;
}
.index .category_top_header {
  position: relative;
  margin-bottom: 25px;
  padding: 15px 10px 15px 53px;
  border-bottom-width: 2px;
  border-bottom-style: solid;
  background-color: #ffffff;
  background-repeat: no-repeat;
  background-position: 16px center;
}
.index .category_top_header h2 {
  margin-bottom: 0;
  font-size: 142.8571428571%;
}
.index .category_top_header ul.link.to_list {
  position: absolute;
  right: 10px;
  top: 10px;
}
.index .category_top_header ul.link.to_list a {
  text-decoration: none;
}

/* mv */
.mv {
  min-height: 240px;
  margin-bottom: 25px;
}
.mv .text {
  float: left;
  width: 400px;
  padding: 80px 0 0 30px;
}
.mv .fig {
  float: right;
  width: 680px;
}
.mv h1 {
  margin-bottom: 20px;
  font-size: 250%;
}
.mv h1 + p {
  font-size: 142.8571428571%;
  line-height: 1.4em;
}

/* section group */
.guidance_movie,
.guidance,
.information {
  padding-top: 35px;
  padding-bottom: 25px;
}

.guidance,
.information {
  border-top: solid 1px #d5d5d5;
}

/* announce */
.announce > .section {
  display: table;
  width: 100%;
  margin-bottom: 10px;
  padding: 0 9px;
  border: solid 1px #f4b2b2;
  border-radius: 4px;
  background: #fff2f2;
}
.announce > .section > * {
  display: table-cell;
  padding: 14px 0;
  vertical-align: middle;
}
.announce > .section > dl {
  width: 85%;
  padding-left: 10px;
}
.announce dl > dt {
  clear: left;
  float: left;
  width: 9em;
}
.announce dl > dd {
  margin-left: 9em;
  color: #cc0000;
}
.announce dl > dd a {
  color: #cc0000 !important;
}

.index #main .announce h2 {
  width: 16%;
  padding: 0 5px 0 40px;
  border-right: solid 1px #f4b2b2;
  background: url(/mod/imgs/common/bg_icon_notice.png) no-repeat left center;
  color: #cc0000;
  font-size: 100%;
  font-weight: bold;
}

/* special info */
.special_info {
  margin-bottom: 30px;
  padding: 20px 0;
  background-color: #fadf96;
}
.special_info .info {
  position: relative;
}
.special_info .block > dl {
  position: relative;
  min-height: 150px;
  padding: 15px;
  background-color: #fbeab0;
}
.special_info .block > dl > dt,
.special_info .block > dl > dd:not([class]) {
  position: relative;
  padding-right: 250px;
}
.special_info .block > dl > dt p,
.special_info .block > dl > dd:not([class]) p {
  margin-bottom: 0;
}
.special_info .block > dl > dt {
  font-size: 114.2857142857%;
  font-weight: bold;
}
.special_info .block > dl > dt a {
  display: block;
  padding-left: 14px;
  color: #2331b0;
  text-decoration: underline;
}
.special_info .block > dl > dt a:before {
  display: block;
  position: absolute;
  left: 0px;
  top: 0.6em;
  margin-top: 0px;
  width: 6px;
  height: 8px;
  content: url(/mod/imgs/common/bg_link1.png);
}
.special_info .block > dl > dd.fig {
  position: absolute;
  right: 15px;
  top: 15px;
  width: 240px;
}
.special_info .block > dl > dd.fig img {
  max-width: 240px;
  width: auto;
  max-height: 120px;
  height: auto;
}
.special_info .block > dl.no_fig > dt,
.special_info .block > dl.no_fig > dd:not([class]) {
  padding-right: 0;
}
.special_info ul.info > li {
  float: left;
  width: 50%;
  padding-right: 5px;
}
.special_info ul.link.to_detail {
  margin-top: 1em;
  border-color: #f8b500;
  background-color: #f8b500;
}
.special_info ul.link.to_detail > li a::before {
  content: url(/mod/imgs/common/bg_link3.png);
}
.special_info ul.link.to_detail > li a[target="_blank"] {
  margin-right: 0 !important;
  background: none !important;
}
.special_info ul.col2_block .block + .block {
  padding-right: 0;
  padding-left: 5px;
}

/* main menu */
.main_menu {
  margin-bottom: 30px;
}
.category_top .main_menu {
  margin-bottom: 40px;
}
.main_menu ul.popup_menu {
  position: relative;
}
.main_menu ul.popup_menu > li {
  position: relative;
  float: left;
  width: 262px;
  margin: 10px 0 0 10px;
  padding: 0;
  line-height: 1.5em;
}
.main_menu ul.popup_menu > li:nth-child(4n+1) {
  clear: left;
  margin-left: 0;
}
.category_top .main_menu ul.popup_menu > li:nth-child(4n+1) {
  clear: none;
  margin-left: 10px;
}
.main_menu ul.popup_menu > li:nth-child(-n+4) {
  margin-top: 0;
}
.category_top .main_menu ul.popup_menu > li:nth-child(-n+4) {
  margin-top: 10px;
}
.category_top .main_menu ul.popup_menu > li {
  width: 208px;
  box-shadow: 0.5px 0.866px 3px 0px rgba(0, 0, 0, 0.35);
  border-radius: 4px;
}
.category_top .main_menu ul.popup_menu > li:nth-child(5n+1) {
  clear: left;
  margin-left: 0;
}
.category_top .main_menu ul.popup_menu > li:nth-child(-n+5) {
  margin-top: 0;
}
.main_menu ul.popup_menu > li > a {
  display: table-cell;
  position: relative;
  width: 262px;
  padding: 15px 10px;
  border: solid 1px #bfbfbf;
  border-radius: 4px;
  border-color: #bfbfbf;
  background-repeat: no-repeat;
  background-position: center 20px;
  background-color: #f2f2f2;
  vertical-align: top;
}
.category_top .main_menu ul.popup_menu > li > a {
  width: 208px;
  padding: 10px;
  border-radius: 4px;
  overflow: hidden;
}
.category_top .main_menu ul.popup_menu > li > a:before {
  display: block;
  position: absolute;
  right: -1px;
  bottom: -1px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8.5px;
  border-radius: 5px;
  content: "";
}
.main_menu ul.popup_menu > li > a[target="_blank"] {
  margin-right: 0;
  background-image: none;
}
.main_menu ul.popup_menu > li > a img {
  display: block;
  margin: 0 auto 15px;
}
.category_top .main_menu ul.popup_menu > li > a img {
  margin-bottom: 5px;
}
.main_menu ul.popup_menu > li > a img.blank {
  display: inline;
  margin: 0 0 0 8px;
}
.main_menu ul.popup_menu > li > a em.inline-link {
  display: table;
  font-size: 114.2857142857%;
}
.main_menu ul.popup_menu > li > a em.inline-link:before {
  width: 0;
  height: 0;
  content: "";
}
.main_menu ul.popup_menu > li > a em.inline-link:hover {
  text-decoration: none;
}
.main_menu ul.popup_menu > li a.trigger + .pop {
  left: 0;
  top: 0;
  width: 820px;
  padding: 15px 18px;
  border: solid 2px;
  border-radius: 6px;
  background-color: #ffffff;
}
.main_menu ul.popup_menu > li a.trigger + .pop:before {
  position: absolute;
  top: -12px;
  border-right: solid 7px;
  border-bottom: solid 12px;
  border-left: solid 7px;
  content: "";
}
.main_menu ul.popup_menu > li:nth-child(4n+2) a.trigger + .pop {
  margin-left: 140px;
}
.category_top .main_menu ul.popup_menu > li:nth-child(4n+2) a.trigger + .pop {
  margin-left: 0;
}
.main_menu ul.popup_menu > li:nth-child(4n+3) a.trigger + .pop {
  margin-left: 200px;
}
.category_top .main_menu ul.popup_menu > li:nth-child(4n+3) a.trigger + .pop {
  margin-left: 0;
}
.main_menu ul.popup_menu > li:nth-child(4n) a.trigger + .pop {
  margin-left: 258px;
}
.category_top .main_menu ul.popup_menu > li:nth-child(4n) a.trigger + .pop {
  margin-left: 0;
}
.main_menu ul.popup_menu > li:nth-child(4n+1) a.trigger + .pop:before {
  left: 124px;
}
.category_top .main_menu ul.popup_menu > li:nth-child(4n+1) a.trigger + .pop:before {
  left: 0;
}
.main_menu ul.popup_menu > li:nth-child(4n+2) a.trigger + .pop:before {
  left: 264px;
}
.category_top .main_menu ul.popup_menu > li:nth-child(4n+2) a.trigger + .pop:before {
  left: 0;
}
.main_menu ul.popup_menu > li:nth-child(4n+3) a.trigger + .pop:before {
  left: 462px;
}
.category_top .main_menu ul.popup_menu > li:nth-child(4n+3) a.trigger + .pop:before {
  left: 0;
}
.main_menu ul.popup_menu > li:nth-child(4n) a.trigger + .pop:before {
  right: 120px;
}
.category_top .main_menu ul.popup_menu > li:nth-child(4n) a.trigger + .pop:before {
  right: auto;
}
.category_top .main_menu ul.popup_menu > li:nth-child(5n+1) a.trigger + .pop:before {
  left: 97px;
}
.category_top .main_menu ul.popup_menu > li:nth-child(5n+2) a.trigger + .pop {
  margin-left: 65px;
}
.category_top .main_menu ul.popup_menu > li:nth-child(5n+2) a.trigger + .pop:before {
  left: 250px;
}
.category_top .main_menu ul.popup_menu > li:nth-child(5n+3) a.trigger + .pop {
  margin-left: 130px;
}
.category_top .main_menu ul.popup_menu > li:nth-child(5n+3) a.trigger + .pop:before {
  left: 403px;
}
.category_top .main_menu ul.popup_menu > li:nth-child(5n+4) a.trigger + .pop {
  margin-left: 195px;
}
.category_top .main_menu ul.popup_menu > li:nth-child(5n+4) a.trigger + .pop:before {
  left: 556px;
}
.category_top .main_menu ul.popup_menu > li:nth-child(5n) a.trigger + .pop {
  left: auto !important;
  right: 0;
}
.category_top .main_menu ul.popup_menu > li:nth-child(5n) a.trigger + .pop:before {
  left: 709px;
}
.main_menu ul.popup_menu > li a.trigger + .pop ul.submenu {
  margin: -10px 5em 0 0;
}
.main_menu ul.popup_menu > li a.trigger + .pop ul.submenu > li {
  float: left;
  width: 33.333%;
  margin-top: 10px;
  padding-right: 10px;
}
.main_menu ul.popup_menu > li a.trigger + .pop ul.submenu > li:nth-child(3n+2) {
  clear: left;
}
.main_menu ul.popup_menu > li a.trigger + .pop ul.submenu > li:first-child {
  float: none;
  width: 100%;
  padding-right: 0;
  font-size: 114.2857142857%;
  font-weight: bold;
}

/* guidance */
.guidance {
  background-color: #f2f2f2;
}

/* related_link, event */
.related_link .carrousel ul.banner > li a,
.event .carrousel ul.banner > li a {
  margin: 0 !important;
}
.related_link .carrousel ul.navigation,
.event .carrousel ul.navigation {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  z-index: 1;
}
.related_link .carrousel ul.navigation > li,
.event .carrousel ul.navigation > li {
  display: block !important;
  position: absolute;
  cursor: pointer;
}
.related_link .carrousel ul.navigation > li.prev,
.event .carrousel ul.navigation > li.prev {
  text-align: left;
}
.related_link .carrousel ul.navigation > li.next,
.event .carrousel ul.navigation > li.next {
  text-align: right;
}
.related_link .carrousel ul.navigation > li.hidden,
.event .carrousel ul.navigation > li.hidden {
  display: none !important;
}

.related_link {
  padding-top: 15px;
  padding-bottom: 25px;
  border: none;
  background-color: #fff3d7;
}
.related_link h2 {
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

/* for jin
--------------------------------------------------------------------*/
.general .blockTemplateArea .common-block {
  background-color: #f2f2f2;
}
.general .blockTemplateArea .common-block .common-block-headding h3 {
  border-bottom-color: #d5d5d5;
  background-color: transparent;
}

/* side
--------------------------------------------------------------------*/
/* category_navi */
#side .category_navi {
  border-style: solid;
  border-width: 1px;
  border-radius: 4px;
}
#side .category_navi h2,
#side .category_navi ul.link > li {
  line-height: 1.2em;
}
#side .category_navi h2 {
  margin: 0;
  padding: 0;
  border-top-style: solid;
  border-top-width: 1px;
  border-radius: 4px 4px 0 0;
  font-size: 100%;
  font-weight: normal;
}
#side .category_navi h2 a {
  display: block;
  position: relative;
  padding: 10px 14px 10px 28px;
}
#side .category_navi h2 a:before {
  display: block;
  position: absolute;
  left: 14px;
  top: 0.35em;
  margin-top: 10px;
  width: 6px;
  height: 8px;
  content: url(/mod/imgs/common/bg_link3.png);
  outline: none;
}
#side .category_navi ul.link a {
  text-decoration: none;
}
#side .category_navi ul.link a:hover {
  text-decoration: underline;
}
#side .category_navi ul.link li {
  padding: 0;
}
#side .category_navi ul.link li a,
#side .category_navi ul.link li span.double {
  position: relative;
}
#side .category_navi ul.link li a:before,
#side .category_navi ul.link li span.double:before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
#side .category_navi ul.link li a.slidemenu:before,
#side .category_navi ul.link li span.double.slidemenu:before {
  content: "";
}
#side .category_navi ul.link li .current.dir {
  background-color: #d6d6d6;
}
#side .category_navi ul.link > li {
  border-top: solid 1px;
}
#side .category_navi ul.link > li > a,
#side .category_navi ul.link > li span.double {
  padding-left: 8px;
}
#side .category_navi ul.link > li > a.current,
#side .category_navi ul.link > li span.double.current {
  font-weight: bold;
}
#side .category_navi ul.link > li > a {
  display: block;
  padding-top: 10px;
  padding-right: 8px;
  padding-bottom: 10px;
}
#side .category_navi ul.link > li span.double {
  display: table;
  width: 100%;
}
#side .category_navi ul.link > li span.double > * {
  display: table-cell;
  vertical-align: middle;
}
#side .category_navi ul.link > li span.double > a {
  padding-top: 10px;
  padding-bottom: 10px;
}
#side .category_navi ul.link > li span.double > a.transition {
  width: auto;
}
#side .category_navi ul.link > li span.double > a.transition:before {
  content: "";
}
#side .category_navi ul.link > li span.double > a.slidemenu {
  width: 35px;
  height: 100%;
}
#side .category_navi ul.link > li span.double > a.slidemenu:after {
  position: relative;
  right: -12.5px;
  width: 10px;
  height: 100%;
  overflow: hidden;
}
#side .category_navi ul.link > li .current {
  font-weight: bold;
}
#side .category_navi ul.link.level2 > li:last-child {
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-radius: 0 0 4px 4px;
}
#side .category_navi ul.link.level2 > li > a,
#side .category_navi ul.link.level2 > li > span.double {
  padding-left: 30px;
}
#side .category_navi ul.link.level2 > li > a:before,
#side .category_navi ul.link.level2 > li > span.double:before {
  top: 0;
  left: 8px;
  width: 16px;
  height: 16px;
  margin-top: 10px;
  content: url(/mod/imgs/common/bg_link_category_nav_level2.png);
}
#side .category_navi ul.link.level3 > li > a,
#side .category_navi ul.link.level3 > li > span.double {
  padding-left: 41px;
}
#side .category_navi ul.link.level3 > li > a:before,
#side .category_navi ul.link.level3 > li > span.double:before {
  top: 0;
  left: 20px;
  width: 16px;
  height: 16px;
  margin-top: 10px;
  content: url(/mod/imgs/common/bg_link_category_nav_level3.png);
}
#side .category_navi ul.link.level4 > li > a,
#side .category_navi ul.link.level4 > li > span.double {
  padding-left: 55px;
}
#side .category_navi ul.link.level4 > li > a:before,
#side .category_navi ul.link.level4 > li > span.double:before {
  top: 0;
  left: 41px;
  width: 6px;
  height: 8px;
  margin-top: 10px;
  padding-top: 0.2em;
  content: url(/mod/imgs/common/bg_link3.png);
}
#side .category_navi ul.link.level5 > li > a {
  padding-left: 57px;
}
#side .category_navi ul.link.level5 > li > a:before {
  top: 0;
  left: 45px;
  width: 9px;
  height: 10px;
  margin-top: 10px;
  content: url(/mod/imgs/common/bg_link_tree.png);
}

/* footer navi
--------------------------------------------------------------------*/
#footer_navi > .inner {
  display: table;
}
#footer_navi dl.category {
  display: table-cell;
  width: 25%;
  padding: 0 2%;
  vertical-align: top;
}
#footer_navi dl.category:first-child, #footer_navi dl.category:last-child {
  width: 23.5%;
}
#footer_navi dl.category:first-child {
  padding: 0 1.5% 0 0;
}
#footer_navi dl.category:last-child {
  padding: 0 0 0 1.5%;
}
#footer_navi dl.category > dt {
  margin-bottom: 0.5em;
  padding-left: 14px;
  font-size: 128.5714285714%;
  font-weight: bold;
}
#footer_navi dl.category > dt a {
  position: relative;
}
#footer_navi dl.category > dt a:before {
  display: block;
  position: absolute;
  left: -14px;
  top: 0.2em;
  margin-top: 0px;
  width: 6px;
  height: 8px;
  content: url(/mod/imgs/common/bg_link1.png);
  outline: none;
}
#footer_navi dl.category > dd + dd {
  margin-top: 15px;
  padding-top: 15px;
  border-top: solid 1px #d5d5d5;
}
#footer_navi dl.category > dd > ul.link {
  padding-left: 14px;
}
#footer_navi dl.category > dd > ul.link a {
  text-decoration: none;
}
#footer_navi dl.category > dd > ul.link a:hover {
  text-decoration: underline;
}

/* footer
--------------------------------------------------------------------*/
#footer * {
  color: #ffffff;
}
#footer a {
  text-decoration: none;
}
#footer > .inner > * {
  display: table-cell;
  vertical-align: top;
}
#footer > .inner > .group {
  width: 67%;
}
#footer ul.link {
  margin-top: -1em;
}
#footer ul.link > li {
  margin-top: 1em;
  border-color: #b8b8b8 !important;
  line-height: 1.3em;
}
#footer ul.link + ul.link {
  clear: both;
}

#copyright {
  width: 33%;
  font-size: 92.8571428571%;
  line-height: 1.3em;
  text-align: right;
}
#copyright em {
  display: block;
  margin-bottom: 1em;
}

/*# sourceMappingURL=common.css.map */
