@charset "UTF-8";
/*------------------------------------------------------------*
>>> TABLE OF CONTENTS:
 *------------------------------------------------------------*/
/*------------------------------------------------------------*
# Bootstrap Grid
# hamburgers
## Links
## Menus
# Original
 *------------------------------------------------------------*/
/*------------------------------------------------------------*
# Bootstrap Grid
 *------------------------------------------------------------*/
/*!
 * Bootstrap v4.6.0 (https://getbootstrap.com/)
 * Copyright 2011-2021 The Bootstrap Authors
 * Copyright 2011-2021 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
/*
 * bootstrap.min.cssを読み込むため省略
 * bootstrap-grid.cssを読み込む際には、bootstrap-grid.css
 * に含まれていないがbootstrap.cssに含まれていて、
 * 使う可能性があるものをここで定義する。
.w-25		{ width:	 25%	!important; }
.w-50		{ width:	 50%	!important; }
.w-75		{ width:	 75%	!important; }
.w-100		{ width:	100%	!important; }
.w-auto		{ width:	auto	!important; }
.h-25		{ height:	 25%	!important; }
.h-50		{ height:	 50%	!important; }
.h-75		{ height:	 75%	!important; }
.h-100		{ height:	100%	!important; }
.h-auto		{ height:	auto	!important; }
.mw-100 	{ max-width:	100%	!important; }
.mh-100		{ max-height:	100%	!important; }
.min-vw-100	{ min-width:	100vw	!important; }
.min-vh-100	{ min-height:	100vh	!important; }
.vw-100		{ width:	100vw	!important; }
.vh-100		{ height:	100vh	!important; }
 *------------------------------------------------------------*/

/*------------------------------------------------------------*
# hamburgers
 *------------------------------------------------------------*/
/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 16px 20px 8px;
  display: inline-block;
  cursor: pointer;
  -webkit-transition-property: opacity, -webkit-filter;
  transition-property: opacity, -webkit-filter;
  transition-property: opacity, filter;
  transition-property: opacity, filter, -webkit-filter;
  -webkit-transition-duration: 0.25s;
          transition-duration: 0.25s;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }

.hamburger:hover {
  opacity: 0.7; }

.hamburger-box {
  width: 32px;
  height: 22px;
  display: inline-block;
  position: relative; }

.hamburger-text {
  font-size: 0.8em; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px; }

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
  width: 32px;
  height: 2px;
  background-color: #111;
  border-radius: 4px;
  position: absolute;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: 0.25s;
          transition-duration: 0.25s;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease; }

.hamburger-inner::before,
.hamburger-inner::after {
  content: "";
  display: block; }

.hamburger-inner::before {
  top: -10px; }

.hamburger-inner::after {
  bottom: -10px; }

/*
 * Slider
 */
.hamburger--slider .hamburger-inner {
  top: 2px; }

.hamburger--slider .hamburger-inner::before {
  top: 10px;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s; }

.hamburger--slider .hamburger-inner::after {
  top: 20px; }

.toggled .hamburger--slider .hamburger-inner {
  -webkit-transform: translate3d(0, 10px, 0) rotate(45deg);
          transform: translate3d(0, 10px, 0) rotate(45deg); }

.toggled .hamburger--slider .hamburger-inner::before {
  -webkit-transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0);
          transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0);
  opacity: 0; }

.toggled .hamburger--slider .hamburger-inner::after {
  -webkit-transform: translate3d(0, -20px, 0) rotate(-90deg);
          transform: translate3d(0, -20px, 0) rotate(-90deg); }

/*------------------------------------------------------------*
## Links	リンク用アンカ設定
 *------------------------------------------------------------*/
a,
a:visited,
a:hover,
a:focus,
a:active {
	outline: 0;
	text-decoration: underline;
	-webkit-touch-callout: none;
	-webkit-tap-highlight-color:	rgba(255, 255, 255, 0.5);	/* 白背景・不透明度50% */
	-moz-tap-highlight-color:	rgba(255, 255, 255, 0.5);
	tap-highlight-color:		rgba(255, 255, 255, 0.5);
	color: #111; }
a:focus				{ outline: thin dotted; }
a:hover, a:focus, a:active	{ text-decoration: underline; }		/* 他のクラスにより下線を非表示にしている場合に対処 */
a:hover				{ color: #0273bc; }

a:hover img	{ opacity: 0.5; }
a img		{ border: none; }	/* IEで設定を怠ると少し太めの枠線が表示される。 */
a img.border	{ border: 1px solid; }

/* extensions */
a[href $= '.pdf']:not(.card-item)	{ padding-right: 20px; background: no-repeat right center url("/images/icons/icon_pdf.gif")		transparent; }
a[href $= '.zip']:not(.card-item)	{ padding-right: 20px; background: no-repeat right center url("/images/icons/icon_archive.gif")		transparent; }
a[href $= '.doc']:not(.card-item), a[href $= '.docx']:not(.card-item)	{ padding-right: 20px; background: no-repeat right center url("/images/icons/icon_doc.gif")		transparent; }
a[href $= '.ppt']:not(.card-item), a[href $= '.pptx']:not(.card-item)	{ padding-right: 20px; background: no-repeat right center url("/images/icons/icon_pps.gif")		transparent; }
a[href $= '.xls']:not(.card-item), a[href $= '.xlsx']:not(.card-item)	{ padding-right: 20px; background: no-repeat right center url("/images/icons/icon_xls.gif")		transparent; }
a[href ^= 'mailto:']:not(.card-item)	{ padding-right: 20px; background: no-repeat right center url("/images/icons/icon_mailto.gif")		transparent; }
a[href ^= 'tel:']:not(.card-item)	{ padding-right: 20px; background: no-repeat right center url("/images/icons/icon_call.gif")		transparent; }
a.ext_link				{ padding-right: 20px; background: no-repeat right center url("/images/icons/icon_external.gif")	transparent; }

/*------------------------------------------------------------*
 *	ヘッダー部分
 *------------------------------------------------------------*/
.site-header {
  margin-top: 16px;
  position: relative; }
  .site-header a { text-decoration: none; }
  @media all and (min-width: 768px) {
    .site-header {
      margin-top: 32px; } }

.site-title {
  margin-bottom: 16px;
  line-height: 40px;
  display: inline-block; }
  .site-title img {
    height: 28px; }					/* ロゴイメージ配置場所 */
    @media all and (min-width: 768px) {
      .site-title img {
        height: 40px; } }
    @media all and (min-width: 992px) {
      .site-title img {
        height: 60px; } }

/*------------------------------------------------------------*
## Menus	メニュー関連
 *------------------------------------------------------------*/
.main-navigation {
  clear: both;
  width: 80%;
  position: absolute;
  float: right; }
  @media all and (min-width: 576px) {
    .main-navigation {
      font-size: 0.8em; } }
  @media all and (min-width: 768px) {
    .main-navigation {
      width: auto;
      position: static; } }
  @media all and (min-width: 992px) {
    .main-navigation {
      font-size: 1em; } }

  .main-navigation ul {
    list-style: none;
    text-indent: 0;
    margin: 0;
    padding: 0; }	/* padding-left: 0; */
  .main-navigation li		{ text-indent:	0; text-align:	center; }
  .main-navigation li:before	{ content:	none; }
    .main-navigation ul ul {
      margin: 0; padding: 0;
      -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, .2);
              box-shadow: 0 3px 3px rgba(0, 0, 0, .2);
      float: left;
      position: absolute;
      top: 1.5em;
      left: -9999em;
      z-index: 99999; }
      .main-navigation ul ul ul {
        left: -9999em;
        top: 0; }
      .main-navigation ul ul li:hover > ul,
      .main-navigation ul ul li.focus > ul {
        left: 100%; }
      .main-navigation ul ul a {
        width: 200px; }
    .main-navigation ul li:hover > ul,
    .main-navigation ul li.focus > ul {
      left: auto; }
  .main-navigation li {
    position: relative; }

.menu-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: fixed;
  top: 0;
  right: -100%;
  z-index: 1;
  width: 90%;
  max-height: 100%;
  overflow-y: scroll;
  background-color: #fff;
  text-align: center;
  padding-top: 56px;
  -webkit-transition: right 0.2s ease;
  transition: right 0.2s ease; }
  @media all and (min-width: 768px) {
    .menu-container {
      text-align: right;
      position: static;
      width: 100%;
      padding-top: 0;
      overflow-y: auto; } }

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
  display: block; }
  @media all and (min-width: 768px) {
    .menu-toggle {
      display: none; } }

.menu-toggle {
  background-color: #fff;
  color: #111;
  border: none;
  padding: 0;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10; }
  .menu-toggle__txt {
    font-size: 10px;
    font-weight: bold;
    letter-spacing: 0; }

.toggled .menu-toggle__txt {
  display: none; }

.toggled .menu-container {
  right: 0;
  -webkit-box-shadow: 0 0 0 2000px rgba(17, 17, 17, .5);
          box-shadow: 0 0 0 2000px rgba(17, 17, 17, .5); }

.top-menu .menu-item {
  display: inline-block;
  border-bottom: 1px solid #777; }
  .top-menu .menu-item.lines	{ line-height: 3.5; }	/* bodyで指定した値の2倍 */
  @media all and (min-width: 768px) {
    .top-menu .menu-item {
      border: none; } }
  .top-menu .menu-item a {
    display: block;
    padding: 12px 0;
    white-space: nowrap; }
    @media all and (min-width: 768px) {
      .top-menu .menu-item a {
        padding: 8px 12px; }
        .top-menu .menu-item a.min_padding {
	  text-align: right;
          padding: 2px 12px; } }

.main-menu {
  font-weight: bold; }
  .main-menu .menu-item {
    display: block; }
    @media all and (min-width: 768px) {
      .main-menu .menu-item {
        display: inline-block; } }
    .main-menu .menu-item:first-child {
      border-top: 1px solid #777; }
      @media all and (min-width: 768px) {
        .main-menu .menu-item:first-child {
          border: none; } }

.sub-menu .menu-item {
  width: 50%;
  float: left; }
  .sub-menu .menu-item:nth-child(odd) {
    border-right: 1px solid #777; }
  @media all and (min-width: 768px) {
    .sub-menu .menu-item {
      width: auto;
      float: none;
      border: none; }
      .sub-menu .menu-item:nth-child(odd) {
        border-right: none; } }

.top-link {
  padding: 16px; }
  .top-link a:before	{ content: "▶ "; }
  @media all and (min-width: 768px) {
    .top-link {
      top: 0;
      right: 0;
      text-align: right;
      padding: 4px 0 32px 0; } }
  .top-link__item {
    border: 1px solid #111;
    padding: 8px 16px;
    display: block; }
    @media all and (min-width: 768px) {
      .top-link__item {
        display: inline-block; } }
    a.top-link__item:hover {
      background-color: #111;
      color: #fff; }

/*---------------------------------------------------------------------*
 *	コンテンツ配置場所
 *---------------------------------------------------------------------*/
.site-main .comment-navigation, .site-main
.posts-navigation, .site-main
.post-navigation {
  margin: 0 0 1.5em;
  overflow: hidden; }

#special_notice_top, #special_notice {	/* 緊急告知用の要素 */
  background-color: #7fffd4;
  text-align: center; }

.content-area {
  padding-bottom: 40px;
  clear: both; }
  @media all and (min-width: 576px) {
    .content-area {
      padding-bottom: 80px; } }

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  float: left;
  width: 50%; }

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  float: right;
  text-align: right;
  width: 50%; }

/*---------------------------------------------------------------------*
 *	title関連要素
 *---------------------------------------------------------------------*/
.home-title {
  background-image: url(/images/top/t00.jpg);	/* 学部表紙絵 */
  background-size: cover;
  background-position: center center;
  height: 200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: Lato, fot-udkakugo-large-pr6n, sans-serif;	font-weight: 600;	font-style: normal;
  /* font-family: Lato, sans-serif; font-weight: bold; */
  font-size: 0.8em;
  margin-bottom: 40px;
  line-height: 1.4; }
  .home-title h2 {
     font-family: Lato, fot-udkakugo-large-pr6n, sans-serif;	font-weight: 500;	font-style: normal;
  /* font-family: Lato, sans-serif; */ }
  @media all and (min-width: 576px) {
    .home-title {
      height: 480px;
      font-size: 1.6em;
      margin-bottom: 64px; } }
  .home-title__hdg {
    width: 100%;
    background-color: #af9e85;
    opacity: 0.8;
    text-align: center;
    font-weight: bold;
    font-size: 2em; }
  .home-title__body {
    width: 100%;
    background-color: #af9e85;
    opacity: 0.8;
    text-align: center;
    font-size: 1.6em; }
  .home-title--g_school {
    background-image: url(/images/top/g00.jpg); }	/* 大学院表紙絵 */

/* 下層ページ */
.page-title {
  border-radius: 1rem 1rem 0 0;
  background-image: url(/images/top/t00.jpg);
  background-size: cover;
  background-position: center center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 160px;
  font-size: 1.6em; }
  @media all and (min-width: 576px) {
    .page-title {
      height: 320px;
      font-size: 1.8em; } }
  .page-title__bg01 {
    background-image: url(/images/top/p01.jpg); }	/* 経済学部について */
  .page-title__bg02 {
    background-image: url(/images/top/p10.jpg); }	/* コース紹介 */
  .page-title__bg03 {
    background-image: url(/images/top/p11.jpg); }	/* 研究活動 */
  .page-title__bg04 {
    background-image: url(/images/top/p04.jpg); }	/* 入試情報 */
  .page-title__bg05 {
    background-image: url(/images/top/p05.jpg); }	/* */
  .page-title__bg06 {
    background-image: url(/images/top/p06.jpg); }	/* 留学 */
  .page-title__bg07 {
    background-image: url(/images/top/p12.jpg); }	/* ニュース */
  .page-title__bg08 {
    background-image: url(/images/top/p07.jpg); }	/* 大学院 博士前期課程 */
  .page-title__bg09 {
    background-image: url(/images/top/p08.jpg); }	/* 大学院 博士後期課程 */
  .page-title__hdg {
    width: 100%;
    text-align: center;
    padding: 5px 0px;
    background-color: #af9e85;
    opacity: 0.8;
    font-weight: bold;
    position: relative; }
    .page-title__hdg--white {
      color: #fff; }

/*---------------------------------------------------------------------*
 *	学部・大学院トップページのニュース要素
 *---------------------------------------------------------------------*/
.home-news {
  border: 2px solid #111;
  padding: 20px;
  font-size: 1.2em;
  margin-bottom: 32px; }
  .home-news ul		{ margin: 0; padding: 0; }
  .home-news p		{ text-indent: 0; }
  .home-news li		{ text-indent: 0; }
  .home-news li:before	{ content:	none; }
  @media all and (min-width: 576px) {
    .home-news {
      margin-bottom: 40px; } }
  .home-news__hdg {
    padding: 0 0 16px;
    text-align: center;
    font-size: 1.6em; }
    @media all and (min-width: 576px) {
      .home-news__hdg {
        padding: 40px 0; } }
  .home-news__list {
    line-height: 1.4em; }
    .home-news__list li:not(:last-child) {
      margin-bottom: 12px; }

.home-news2 {
  border: 1px solid #111;
  padding: 20px;
  max-height: 240px;	/* 当初は320px */
  overflow-y: scroll;
  margin-bottom: 64px;
  line-height: 1.5em; }
  .home-news2 ul	{ margin: 0; padding: 0; }
  .home-news2 p		{ margin: 0 auto 0; text-indent: 0; }	/* p+pでの連続する段落間の余白削除の解除 */
  .home-news2 li	{ text-indent: 0; }
  .home-news2 li:before	{ content:	none; }
  .home-news2 li:not(:last-child) {
    margin-bottom: 12px; }
  .home-news2__hdg span {
    font-size: 2em;
    margin-right: 16px; }
  .home-news2__date {
    text-align: center; }

/*---------------------------------------------------------------------*
 *	パンくずリスト
 *---------------------------------------------------------------------*/
.breadcrumb {
  background-color: #af9e85;
  border-radius: 0 0 1rem 1rem;
  padding: 4px 8px;
  margin-bottom: 40px;
  font-size: 0.8em; }
  .breadcrumb li	{ text-indent: 0; }
  .breadcrumb li:before	{ content:	none; }
  .breadcrumb a		{ text-decoration: none; }
  @media all and (min-width: 576px) {
    .breadcrumb {
      margin-bottom: 64px;
      font-size: 1em; } }
  .breadcrumb__list__item {
    display: inline-block; }
    .breadcrumb__list__item:not(:last-child):after {
      content: ">";
      margin-left: 8px;
      margin-right: 2px; }

/*---------------------------------------------------------------------*
 *	カード要素
 *---------------------------------------------------------------------*/
.card-box a { text-decoration: none; border-radius: 1rem; }
.card-item img	{ border-radius: 1rem 1rem 0 0; }

.card-item {
  display: block;
  background-color: #f1f1f1;
  text-align: center;
  margin-bottom: 32px; }
  .card-item:hover {
    opacity: 0.8; }
  @media all and (min-width: 576px) {
    .card-item {
      margin-bottom: 40px; } }
  .card-item__txt {
    border-radius: 0 0 1rem 1rem;
    padding: 12px 32px 16px; }
  .card-item__hdg {
    font-weight: bold;
    font-size: 1.2em;
    margin-bottom: 40px;
    line-height: 1.4; }
  .card-item__color {
    height: 16px; }
    .card-item__color--transparent {
      background-color: transparent; }
    .card-item__color--yellow {
      background-color: #f8bd00; }
    .card-item__color--green {
      background-color: #01a43c; }
    .card-item__color--light-blue {
      background-color: #019ee7; }
    .card-item__color--yellow-green {
      background-color: #8cc020; }
    .card-item__color--purple {
      background-color: #900881; }
  .card-item__button {
    border-radius: 12px;
    background-color: #0273bc;
    border: 1px solid #0273bc;
    color: #fff;
    display: block;
    line-height: 40px;
    width: 100%; }
    .card-item__button:hover {
      background-color: #fff;
      color: #0273bc; }

/*---------------------------------------------------------------------*
 *	コンテンツボックス
 *---------------------------------------------------------------------*/
.content-box {
  margin-bottom: 40px; }
  .content-box h3 {
    border-left: 8px solid #af9e85;
    color: #813121;
    font-size: 2em;
    line-height: 1.6em;	/* オリジナルは 1.2 */
    margin: 32px 0 16px 0; padding: 10px 10px; }
    .content-box h3:first-child {
      margin-top: 0; }
    .content-box h3.no-border {
      border: none;
      padding-left: 0; }
  .content-box h4 {
    color: #751c06;
    font-size: 1.6em;
    margin: 10px 0; border: 1px solid #813121; padding: 10px 20px; }
  .content-box h5 {
    color: #813121;
    font-weight: bold;
    font-size: 1.2em;
    margin: 16px 0 10px; border: none; padding: 0; }
  .content-box h6 {
    font-weight: bold;
    margin-bottom: 8px; }

/*
  .content-box a {
    text-decoration: none;
    border-bottom: 1px solid #111; }
    アンダーラインをボーダーラインで代替するアイディアは箱囲みや余白量 (padding-bottom) によっては意味が通じなくなる。
 */
  .content-box ul {
    padding-left: 1.25em;
    margin-bottom: 1em; }
    .content-box ul > li {
      text-indent: -1.25em; }
      .content-box ul > li:before {
        content: "●";
        margin-right: 0.2em; }
    .content-box ul.no_mark {
      padding-left: 0; }
      .content-box ul.no_mark li {
        text-indent: 0;
        margin-bottom: 0; }
        .content-box ul.no_mark li:before {
          content: "";
          margin-right: 0; }
    .content-box ul ol {
      list-style-type: upper-roman;
      padding-left: 1.8em; }

a.content-button {
  border: 1px solid #777;
  background-color: #777;
  color: #fff;
  display: inline-block;
  text-align: center;
  padding: 12px;
  letter-spacing: 0;
  width: 100%;
  max-width: 320px; }
  a.content-button:hover {
    background-color: #fff;
    color: #777; }

/*---------------------------------------------------------------------*
 *	フッター関連
 *---------------------------------------------------------------------*/
.site-footer {
  background-color: #111;
  color: #fff;
  text-align: center;
  padding: 32px 0 16px; }
  .site-footer a { text-decoration: none; }
  .site-footer ul > li		{ text-indent:	0; }
  .site-footer ul > li:before	{ content:	none; }
  .site-footer address		{ font-style:	normal; }
  @media all and (min-width: 576px) {
    .site-footer {
      padding: 32px 0; } }
  .site-footer a, .site-footer a:visited {
    color: #fff; }
    .site-footer a:hover {
      border-bottom: 1px solid #0273bc;
      color: #0273bc; }

.site-footer #search_box input	{ background-color: #fff; color: #000; }
.site-footer #search_box button	{ margin-right: 1rem; padding: 0 0.5rem; border-radius: 10px; }

.footer-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 8px; }
  .footer-menu .menu-item {
    line-height: 1;
    margin-bottom: 8px; }
    .footer-menu .menu-item a {
      padding: 0 12px;
      border-right: 1px solid #fff;
      border-left: 1px solid #fff; }
      @media all and (min-width: 576px) {
        .footer-menu .menu-item a {
          border-left: none; } }
    @media all and (min-width: 576px) {
      .footer-menu .menu-item:first-child a {
        border-left: 1px solid #fff; } }

.site-info {
  text-indent: 0; }
  .copyright {
    font-size: x-small; }

#ga_caution		{ margin: 1em auto; border: none; padding: 0; font-size: xx-small; text-indent: 0; text-align: center; }

/*------------------------------------------------------------*
# Original
 *------------------------------------------------------------*/
/*------------------------------------------------------------*
 *	CSS選択に対する備忘録
 *------------------------------------------------------------*/
/* CSSは以下の順で強力な指定となる。
 * 同順位の指定の場合は後で読み込まれるものが有効となる。
 * 1. タイプセレクタ	(Ex. h1		{ ... })
 * 2. Classセレクタ	(Ex. .c1	{ ... })
 * 3. 1+2		(Ex. h1.c1	{ ... })
 * 4. IDセレクタ	(Ex. #head	{ ... })
 * 5. 1+4		(Ex. #head h1	{ ... })
 * 6. 2+4		(Ex. #head .c1	{ ... })
 * 7. 1+2+4		(Ex. h1#head.c1	{ ... })
 * ※ タイプセレクタやClassセレクタは複数存在存在すると優先順位が
 *    高くなる。	(Ex. ul ul	{ ... })
 *    4.を100点、2.を10点、1.を1点として数値化されていると考える。
 * 子孫セレクタ	(Ex. ul   ul) の使用は暴発に注意する。
 *
 * IE7 NG
 * :lang擬似クラス、擬似要素 (:before, :after)、content
 * IE6 NG
 * 隣接セレクタ	(Ex. h1 + h2)
 * 子セレクタ	(Ex. ul > li)	※ 直接の子のみ選択
 */
/*--------------------------------------------------------------
 *	スクリーン幅に対する備忘録
 *------------------------------------------------------------*/
/* 以下の点に注意が必要
 * ・コンテンツサイズ以下のviewport widthは無視される。(※重要※)
 * ・initial-scale無指定時にwidth/heightの設定で全画面表示となる。
 * ・initial-scale,width/height無指定でwidth=980px/height=1091px
 * ・表示域とコンテンツのサイズが一致しない場合にinitial-scaleを
 *   設定すると、意図しないレイアウト発生あり。
 * 情報元 http://ipn3g.com/web/study3.html
 * Android端末の場合、表示解像度をデバイスの解像度と一致させる
 * にはviewport指定にtarget-densitydpi=device-dpiを追加する。
 * 但し、高解像度デバイスが多数登場しているため使用は非現実的。
 * 専用ページを作成し、自動的な拡大・縮小を避ける場合は
 * <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=0.5,user-scalable=yes" />
 * 等と指定し、CSS3 (IEは9以降) で
 * @media all and (max-device-width: 320px) ...
 * @media all and (orientation: portrait) ...
 * @media all and (orientation: landscape) ...
 * @media all and (min-device-width: 768px) and (max-device-width: 1024px) { ... }
 * 等の場合分けをして値の指定を行う。
 *
 * min/max-device-widthの解像度は、実質解像度を指定する。
 * 機種名	実質解像度	resolution	-webkit-min-device-pixel-ratio
 * 新iPad:	1024 x 768	264		2
 * 旧iPad:	1024 x 768	132		1
 * 新iPad mini:	1024 x 768	326		2
 * 旧iPad mini:	1024 x 768	163		1
 * iPhone:	 568 x 320	326		2
 * iPhone 4S:	 480 x 320	326		2
 * iPhone 3GS:	 480 x 320	163		1
 *
 * iPad mini等の高解像度端末で処理を分ける時用
 * @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (resolution: 326) { }
 * @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (resolution: 163) { }
 * iPhone等で処理を分ける時用
 * @media only screen and (max-device-width: 568px) { }
 *
 * min-widthを指定しない場合、width:100%; はブラウザウィンドウ
 * の幅に依存して解釈されるため、ウィンドウ幅がコンテンツ幅以下
 * になる場合があることを考慮すること。
 * max-widthを指定しない場合、コンテンツ幅の増加に伴い動的に
 * viewportの拡張が行われることに注意が必要となる。
 *
 * テキストの自動拡大機能を指定にするためにはviewport等で
 * 拡大率の指定が必要となる模様。
 * -webkit-text-size-adjust: 100%;
 * text-size-adjust: 100%;
 *
 * margin 無指定時は 8px等のブラウザの標準設定が使用される。
 * Firefox等で縮小表示時に1pxのborderが3px等に修正されることがある為、
 * borderを使用する際にはゆとりを持たせる必要がある。
 */
/*---------------------------------------------------------------------*
 *	フォント設定に対する備忘録
 *---------------------------------------------------------------------*/
/*
 * font-family設定では指定順に検索し実際に見つかったものが使用される。
 * 最近のブラウザ (IEは8以降) は使用する和文フォント決定時に候補内に
 * ある欧文フォントを無視する。欧文フォントの決定時には (欧文フォントが
 * 和文フォントを使用しても表示可能なため) 和文フォントを含め最初に使用
 * 可能なものが使われる。よって、欧文フォント→和文フォントの順で
 * font-familyを指定すると両者を別々に指定できる。
 * 従来のブラウザでは使用可能な欧文フォントが和文フォントより先に指定
 * されていた場合、和文用のフォントはCSSの指定が無視され、ブラウザでの
 * 設定が使用される。使用可能な和文フォントが先に指定された場合、欧文も
 * 和文用のフォントが使用される。この場合にも両者に別々のフォントを設定
 * するためにはクラスやlang擬似クラスを使用する。
 *
 * フォント選択検証候補: 'HG創英角ﾎﾟｯﾌﾟ体', 'HG行書体', Impact
 * font-family: lato;				font-weight: 300,500,600,700;	bold≒700
 *
 * font-family: a-otf-ud-shin-maru-go-pr6n;	font-weight: 300;
 * font-family: a-otf-ud-shin-go-pr6n;		font-weight: 300;
 * font-family: a-otf-ud-reimin-pr6n;		font-weight: 300;
 *
 * font-family: fot-udkakugo-large-pr6n;	font-weight: 600;
 * font-family: fot-udkakugo-large-pr6n;	font-weight: 500;
 *
 * font-family: fot-udmarugo-large-pr6n;	font-weight: 600;
 * font-family: fot-udmarugo-large-pr6n;	font-weight: 500;
 */

:root {
  text-align: justify;
  text-justify: inter-character;
  text-justify: inter-ideograph;	/* 現時点ではIE独自 */
  text-autospace: ideograph-alpha;	/* 現時点ではIE独自 */
  text-spacing: trim-start allow-end trim-adjacent ideograph-alpha ideograph-numeric;
  line-break: strict;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

body {
  height: auto !important;	/* IE6対策 */
  height: 100%; }		/* IE6対策 */

html,
body,
#page,
.animsition,
#main,
.site-header,
.site-branding {
  height: 100%; }

body {
  letter-spacing: 0.05em;
  font-size: 1rem;
  font-family: Lato, fot-udmarugo-large-pr6n, sans-serif;	font-weight: 500;	font-style: normal;
  font-weight: 500;
  line-height: 1.75;
  color: #111;
  -webkit-font-feature-settings: "pwid" 1;
          font-feature-settings: "pwid" 1; }
  @media all and (min-width: 768px) {
    body {
      /* font-family: Lato, Roboto, "Helvetica Neue", Helvetica, Arial, "Liberation Sans", "ヒラギノUD丸ゴ W5 JIS2004", "Hiragino UD Sans Rd W5 JIS2004", "BIZ UD新丸ゴ", "BIZ UD新ゴ", "BIZ UDゴシック", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック体", "Yu Gothic", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Osaka, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", sans-serif; */
      font-size: 14px; } }

#main {
  position: relative; }
/*
 * position: absolute; の指定では、親Box中の直近の
 * position: relative; 等の指定が存在するBox、又は
 * ウィンドウ全体を基準として位置計算が行われる。
 */

p {
  margin: 0;
  margin-bottom: 1em; }

img {
  max-width: 100%;
  vertical-align: middle; }

h1, h2, h3, h4, h5, h6 {
  font-family: Lato, fot-udmarugo-large-pr6n, sans-serif;	font-weight: 600;	font-style: normal;
  /* font-family: Lato, "ヒラギノUD丸ゴ W5 JIS2004", "Hiragino UD Sans Rd W5 JIS2004", sans-serif; font-weight: bold; */
  margin: 0;
  font-size: 1em; }
  /*
  @media all and (min-width: 768px) {
    h1, h2, h3, h4, h5, h6 {
      font-family: Lato, Roboto, "Helvetica Neue", Helvetica, Arial, "Liberation Sans", "ヒラギノUD丸ゴ W5 JIS2004", "Hiragino UD Sans Rd W5 JIS2004", "BIZ UD新丸ゴ", "BIZ UD新ゴ", "BIZ UDゴシック", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック体", "Yu Gothic", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Osaka, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", sans-serif; }}
   */
ul,
ol {
  list-style-type: none;
  margin: 0;
  padding: 0; }

figure {
  margin: 0; }

figcaption {
  text-align: right;
  margin-top: 4px; }

th {
  font-weight: normal;
  text-align: left; }

/*---------------------------------------------------------------------*
 *	サイドメニュー
 *---------------------------------------------------------------------*/
ul.side-menu			li.side-menu__item:first-child	a	{ border-radius: 2rem 2rem 0 0; }
ul.side-menu ul.side-menu	li.side-menu__item		a	{ border-radius: 0; }
ul.side-menu ul.side-menu	li.side-menu__item		a	{ border-radius: 0; }
ul.side-menu			li.side-menu__item:last-child	a	{ border-radius: 0 0 2rem 2rem; }
ul.side-menu {
  text-align: center;
  font-weight: bold;
  font-size: 1.1em; }
  ul.side-menu			{ margin: 0; padding: 0; }
  ul.side-menu li		{ text-indent:	0; text-align:	center; }
  ul.side-menu li:before	{ content: none; }
  ul.side-menu a		{ text-decoration: none; }
  li.side-menu__item {
    margin-bottom: 1px; }
    li.side-menu__item a {
      background-color: #f1f1f1;
      display: block;
      padding: 12px 0; }
      li.side-menu__item a:hover {
        background-color: #af9e85;
        color: #111; }
    li.side-menu__item--current a {
      background-color: #af9e85; }

  li.side-menu__course {
    position: relative; }
    ul.side-menu li.side-menu__course:before {
      content: "";
      display: block;
      width: 8px;
      height: 100%;
      background-color: #f1f1f1;
      position: absolute; }
    ul.side-menu li.side-menu__course--yellow:before {
      background-color: #f8bd00; }
    ul.side-menu li.side-menu__course--green:before {
      background-color: #01a43c; }
    ul.side-menu li.side-menu__course--light-blue:before {
      background-color: #019ee7; }
    ul.side-menu li.side-menu__course--yellow-green:before {
      background-color: #8cc020; }
    ul.side-menu li.side-menu__course--purple:before {
      background-color: #900881; }

/*---------------------------------------------------------------------*
 *	コース紹介ページ要素
 *---------------------------------------------------------------------*/
/* .home-about a { text-decoration: none; } */
.home-about {
  margin-bottom: 40px; }
  .home-about h3 {
    border-left: 8px solid #af9e85;
    color: #813121;
    font-size: 2em;
    line-height: 1.6em;	/* オリジナルは 1.2 */
    margin: 32px 0 16px 0; padding: 10px 10px; }
    .home-about h3:first-child {
      margin-top: 0; }
    .home-about h3.no-border {
      border: none;
      padding-left: 0; }
  .home-about h4 {
    color: #751c06;
    font-size: 1.6em;
    margin: 10px 0; border: 1px solid #813121; padding: 10px 20px; }
  .home-about h5 {
    color: #813121;
    font-weight: bold;
    font-size: 1.2em;
    margin: 16px 0 10px; border: none; padding: 0; }
  .home-about h6 {
    font-weight: bold;
    margin-bottom: 8px; }

.home-about__hdg {
  font-family: a-otf-ud-reimin-pr6n, sans-serif;	font-weight: bold;	font-style: normal;
  /* font-family: Century, "BIZ UD黎ミン", "BIZ UD明朝", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "ＭＳ Ｐ明朝", "MS PMincho", serif; */
  text-align: center;
  font-size: 1.6em;
  margin-bottom: 16px; }
  @media all and (min-width: 576px) {
    .home-about__hdg {
      font-size: 1.8em; } }

.home-about__body {
  margin-bottom: 40px;
  word-wrap: break-word; }

.home-figure {
  font-size: 1.2em;
  margin-bottom: 64px; }

.home-department {
  margin-bottom: 32px; }
  @media all and (min-width: 576px) {
    .home-department {
      margin-bottom: 0; } }
  .home-department:after {
    content: "";
    width: calc(50% + 16px);
    height: 1px;
    margin-left: auto;
    background-color: #111; }
    @media all and (min-width: 576px) {
      .home-department:after {
        display: block; } }
  @media all and (min-width: 576px) {
    .home-department__item {
      padding-right: 32px; } }
  .home-department__item__child {
    height: 48px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: 1px solid #111; }
  .home-department__item:after {
    content: "";
    display: block;
    width: 1px;
    height: 16px;
    margin-left: 16px;
    background-color: #111; }
    @media all and (min-width: 576px) {
      .home-department__item:after {
        margin: 0 auto; } }
  .home-department__item--last:after {
    height: 56px;
    position: absolute; }
    @media all and (min-width: 576px) {
      .home-department__item--last:after {
        position: static;
        height: 40px; } }

.home-course__item {
  margin-bottom: 16px;
  margin-left: 16px;
  padding-left: 16px;
  position: relative; }
  @media all and (min-width: 576px) {
    .home-course__item {
      padding-left: 32px; } }
  @media all and (min-width: 576px) {
    .home-course__item {
      margin-left: 0; } }
  .home-course__item:before {
    content: "";
    display: block;
    height: calc(100% + 16px);
    width: 1px;
    background-color: #111;
    position: absolute;
    top: 0;
    left: 0; }
  .home-course__item:first-child:before {
    height: calc(50% + 16px);
    top: 50%; }
  .home-course__item:last-child:before {
    height: 50%; }
  .home-course__item:after {
    content: "";
    display: block;
    height: 1px;
    width: 16px;
    background-color: #111;
    position: absolute;
    top: 50%;
    left: 0; }
    @media all and (min-width: 576px) {
      .home-course__item:after {
        width: 32px; } }
  .home-course__item__child {
    line-height: 48px;
    display: block;
    border-right: 40px solid #111;
    text-align: center;
    -webkit-box-shadow: 4px 4px 8px rgba(17, 17, 17, .5);
            box-shadow: 4px 4px 8px rgba(17, 17, 17, .5); }
    .home-course__item__child--yellow {
      border-color: #f8bd00; }
    .home-course__item__child--green {
      border-color: #01a43c; }
    .home-course__item__child--light-blue {
      border-color: #019ee7; }
    .home-course__item__child--yellow-green {
      border-color: #8cc020; }
    .home-course__item__child--purple {
      border-color: #900881; }

.home-gschool	{ margin: 1rem; }
.home-gschool__link {
  font-size: 1.2em;
  max-width: 100%;
  width: 320px;
  height: 48px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #111; }

/*---------------------------------------------------------------------*
 *	
 *---------------------------------------------------------------------*/
.layer {
  position: relative; }
  .layer:before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0.2; }
  .layer--white:before {
    background-color: #fff; }
  .layer--black:before {
    background-color: #000; }

.news-date {
  margin-bottom: 12px;
  color: #a52a1e; }

/* 『総合経済学科』の概要と特徴 */
.course-box {
  margin-bottom: 40px;
  padding: 20px;
  border-radius: 1rem;
  border: 4px solid #777; }
  .course-box--yellow {
    border-color: #f8bd00; }
  .course-box--green {
    border-color: #01a43c; }
  .course-box--light-blue {
    border-color: #019ee7; }
  .course-box--yellow-green {
    border-color: #8cc020; }
  .course-box--purple {
    border-color: #900881; }

.course-hdg {
  font-size: 2.3em;
  font-weight: bold;
  line-height: 1.2;
  margin-top: -0.1em;
  margin-bottom: 16px; }
  .course-hdg--yellow:first-letter {
    color: #f8bd00; }
  .course-hdg--green:first-letter {
    color: #01a43c; }
  .course-hdg--light-blue:first-letter {
    color: #019ee7; }
  .course-hdg--yellow-green:first-letter {
    color: #8cc020; }
  .course-hdg--purple:first-letter {
    color: #900881; }
  .course-hdg--purple span {
    display: inline-block;
    line-height: 1;
    padding: 0 12px;
    color: #900881;
    font-size: 0.9em;
    border-left: 1px solid #900881;
    border-right: 1px solid #900881; }

.course-subhdg {
  font-size: 1.5em;
  font-weight: bold;
  color: #777; }

/*---------------------------------------------------------------------*
 *	sitemap用
 *---------------------------------------------------------------------*/
.sitemap-top	{ margin: 20px 0; border: none; padding: 0 0 0 10px; font-weight: bold; }
dl.sitemap	{ margin: 0; border: none; padding: 0; float: left; }
dl.sitemap dt, dl.sitemap dd	{
	margin: 0; border: none; padding: 0;
	float: none;
	width: 28em;
	line-height: 30px;
}
dl.sitemap dt:after	{ content: none; }
dl.sitemap dt.level0	{ padding-left:  10px; font-weight: bold; }
dl.sitemap dd.level1m	{ padding-left:  75px; background: no-repeat 40px center url("/images/sitemap/middle1.png"); }
dl.sitemap dd.level2m	{ padding-left: 135px; background: no-repeat 40px center url("/images/sitemap/middle2.png"); }
dl.sitemap dd.level3m	{ padding-left: 135px; background: no-repeat 40px center url("/images/sitemap/middle3.png"); }
dl.sitemap dd.level1b	{ padding-left:  75px; background: no-repeat 40px center url("/images/sitemap/bottom1.png"); }
dl.sitemap dd.level2b	{ padding-left: 135px; background: no-repeat 40px center url("/images/sitemap/bottom2.png"); }
dl.sitemap dd.level3b	{ padding-left: 135px; background: no-repeat 40px center url("/images/sitemap/bottom3.png"); }

/*---------------------------------------------------------------------*
 *	見出し用設定 ※ h1はheader内にて使用済み
 *---------------------------------------------------------------------*/
h1	{ counter-reset: section 0;		/* h2用カウンタ (section) */ }
h2	{ counter-reset: subsection 0;		/* h3用カウンタ (subsection) */ }
h3	{ counter-reset: subsubsection 0;	/* h4用カウンタ (subsubsection) */ }
h4	{ counter-reset: subsubsubsection 0;	/* h5用カウンタ (subsubsubsection) */ }

h2			{ counter-increment: section; }
h2.ol			{ padding: 0 0 0 1.5em; text-indent: -1.5em; border: none; }	/* ※ 標準padding-left分の調整に注意 */
h2.ol:before		{ content: counter(section) ". "; }

h3			{ counter-increment: subsection; }
h3.ol			{ padding: 0 0 0 2.3em; text-indent: -1.5em; border: none; }	/* ※ 標準padding-left分の調整に注意 */
h3.u-roman		{ padding: 0 0 0 2.3em; text-indent: -1.5em; border: none; }	/* ※ 標準padding-left分の調整に注意 */
h3.o-decimal		{ padding: 0 0 0 2.3em; text-indent: -1.5em; border: none; }	/* ※ 標準padding-left分の調整に注意 */
h3.s-decimal		{ padding: 0 0 0 2.8em; text-indent: -2.5em; border: none; }	/* ※ 標準padding-left分の調整に注意 */
h3.ol:before		{ content: counter(subsection) ". "; }
h3.u-roman:before	{ content: counter(subsection, upper-roman) ". "; }
h3.o-decimal:before	{ content:  "(" counter(subsection, decimal) ") "; }
h3.s-decimal:before	{ content: "【" counter(subsection, decimal) "】 "; }

h4			{ counter-increment: subsubsection; }
h4.ol			{ padding: 0 0 0 2.3em; text-indent: -1.5em; border: none; }	/* ※ 標準padding-left分の調整に注意 */
h4.ol:before		{ content: counter(subsubsection) ". "; }
h4.o-decimal		{ padding: 0 0 0 1.5em; text-indent: -1.5em; border: none; }	/* ※ 標準padding-left分の調整に注意 */
h4.o-decimal:before	{ content:  "(" counter(subsubsection, decimal) ") "; }

h5			{ counter-increment: subsubsubsection; }
h5.ol			{ padding: 0 0 0 2.3em; text-indent: -1.5em; border: none; }	/* ※ 標準padding-left分の調整に注意 */
h5.ol:before		{ content: counter(subsubsubsection) ". "; }
h5.o-decimal		{ padding: 0 0 0 1.5em; text-indent: -1.5em; border: none; }	/* ※ 標準padding-left分の調整に注意 */
h5.o-decimal:before	{ content:  "(" counter(subsubsubsection, decimal) ") "; }

h5, h6	{ margin: 0; border: none; padding: 0; }
h1+h2,h2+h3,h3+h4,h4+h5,h5+h6		{ margin-top: 0; }
h1+h1,h2+h2,h3+h3,h4+h4,h5+h5,h6+h6	{ margin-top: 1em; }
hr+h1,hr+h2,hr+h3,hr+h4,hr+h5,hr+h6	{ margin-top: 2em; }

/*---------------------------------------------------------------------*
 *	本文用設定
 *---------------------------------------------------------------------*/
p	{
	margin: 0 auto 1em;
	text-indent: 1em;
	text-align: justify;
	text-justify: inter-ideograph;		/* IE独自 */
	text-autospace: ideograph-alpha;	/* IE独自 */
	line-break: strict;			/* IE独自 */
}
p+p	{ margin-top: -1em; }			/* 連続する段落間の余白を削除 */

p.noindent	{ padding-left: 0; text-indent: 0; }
p img	{ vertical-align: middle; margin: 2px 4px 2px 0; float: left; }
img.vt	{ vertical-align: top; }
img.vm	{ vertical-align: middle; }
img.vb	{ vertical-align: bottom; }
img.no_float	{ float: none; }

blockquote	{ margin: auto 1em; border: none; padding: 0; }
.center_box	{ margin-left: auto; margin-right: auto; }
.box		{ padding: 0.5em; border: 2px solid; }
.indent_box	{ margin: auto 1em; padding: 0.5em; border: 2px solid; }
.indent		{ margin-left: 1em; }
.caution	{ color: #f00; }
div.caution, p.caution	{
	margin: 1em auto;
	padding: 0.5em;
	width: 95%;
	border: 2px solid #f00;
	-webkit-border-radius: 16px;	/* Google Chrome等 */
	-moz-border-radius: 16px;	/* Firefox */
	border-radius: 16px;		/* CSS3 */
	text-indent: 0;
}

.bracket:before	{ content: "〔"; }
.bracket:after	{ content: "〕"; }

.notice, .hang	{ padding-left: 1.4em; text-indent: -1.4em; }	/* ※等のぶら下げインデント */
.notice:before	{ content: "※ "; }
.chuu		{ padding-left: 2.1em; text-indent: -2.1em; }
.chuu:before	{ content: "(注) "; }
.title		{ font-size: larger; text-align: center; }

/*---------------------------------------------------------------------*
 *	箇条書き用設定
 *---------------------------------------------------------------------*/
.content-box dd>ul, .content-box dd>ol	{ margin-bottom: 0; }
p+ol, p+ul	{ margin-top: -1em; /* margin-left: 0; */  }		/* 連続する段落間の余白を削除 */
ol,ul		{ margin: auto 0 auto 1em; border: none; padding: 5px 0 5px 1.5em; text-indent: 0; list-style: outside none; }	/* 第一階層 */
ol ol, ul ol	{ margin: auto 0; padding: 0 0 0 1.8em; }	/* 第二階層以降 */
ol ul, ul ul	{ margin: auto 0; padding: 0 0 0 1em; }		/* 第二階層以降 */

ol p+ol, ol p+ul, ul p+ol, ul p+ul { margin-top: -1em; margin-left: 0; }		/* 第二階層以降でも連続する段落間の余白を削除 */

h3+ul	{ margin-top: -10px; }
h4+ul	{ margin-top: -10px; }

ol	{ counter-reset: li; }
li	{
	margin: 0; border: none; padding: 0;
	text-align: justify;
	text-justify: inter-ideograph;		/* 現時点ではIE独自 */
	text-autospace: ideograph-alpha;	/* 現時点ではIE独自 */
	line-break: strict;			/* 現時点ではIE独自 */
}
li p:last-child	{ margin-bottom: 0; }		/* 余計な空白の削除 */

   ol>li	{ text-indent: -1.5em; counter-increment: li; }	/* text-indentは継承することに注意 */
   ol>li:before	{ content: "(" counter(li, decimal) ") "; }	/* ol第一階層 */
ol ol>li:before,
ul ol>li:before	{ content: "[" counter(li, decimal) "] "; }	/* ol第二階層以降 */

ol.s_decimal>li:before	{ content: "[" counter(li, decimal) "] "; }
ol.o_decimal>li:before 	{ content: "(" counter(li, decimal) ") "; }

ol.decimal	{ list-style: outside decimal; }
ol.alpha	{ list-style: outside upper-alpha; }
ol.cjk		{ list-style: outside cjk-ideographic; }	/* CSS2.1にて (一時的?に) 廃止 */
ol.roman	{ list-style: outside upper-roman; padding-left: 3em; }
ol.decimal>li,		ol.alpha>li,		ol.cjk>li,		ol.roman>li		{ text-indent: 0; }
ol.decimal>li:before,	ol.alpha>li:before,	ol.cjk>li:before,	ol.roman>li:before	{ content: none; }

ol.j_bracket		{ padding-left: 3em; }
ol.j_bracket>li		{ text-indent: -3em; }
ol.j_bracket>li:before	{ content: "【" counter(li, decimal) "】 "; }

ul.j_disc:before,	ul.j_circle:before,	ul.j_square:before,	ul.j_dot:before,	ul.j_dcircle:before,	ul.no_mark	{ content: none; }	/* 念のため */

ul.disc		{ list-style: outside disc; }
ul.circle	{ list-style: outside circle; }
ul.square	{ list-style: outside square; }

ul.disc > li,		ul.circle > li,		ul.square > li		{ text-indent: 0; }
ul.disc > li:before,	ul.circle > li:before,	ul.square > li:before	{ content: none; }	/* 念の為 */

ul.j_disc,		ul.j_circle,		ul.j_square,		ul.j_dot,	ul.j_dcircle,		ul.no_mark	{ list-style: none; }
ul.j_disc	> li,	ul.j_circle > li,	ul.j_square > li,	ul.j_dot > li,	ul.j_dcircle > li,	ul.no_mark > li	{ text-indent: -1em; }
ul.j_disc	> li:before,	ul > li.j_disc:before		{ content: "● "; }
ul.j_circle	> li:before,	ul > li.j_circle:before		{ content: "○ "; }
ul.j_square	> li:before,	ul > li.j_square:before		{ content: "■ "; }
ul.j_dot	> li:before,	ul > li.j_dot:before		{ content: "・ "; }
ul.j_dcircle	> li:before,	ul > li.j_dcircle:before	{ content: "◎ "; }
ul.no_mark	> li:before,	ul > li.no_mark:before		{ content: none; }	/* <li class="no_mark">は親が<ul class="...">等の環境では点数計算の優劣により機能しない。 */

        li.no_mark	{ text-indent: -1.5em; }	/* ul第一階層分のpadding-leftをキャンセル */
   ul > li		{ text-indent: -1em; }		/* text-indentは継承することに注意 */
   ul > li:before	{ content: "● "; }		/* ul第1階層 */
ol ul > li:before,
ul ul > li:before	{ content: "・ "; }		/* ul第2階層以降 */

/*---------------------------------------------------------------------*
 *	列挙用設定
 *---------------------------------------------------------------------*/
dl		{ margin: auto 1em; text-indent: 0; }
dt		{ width: 4.5em; float: left; font-weight: normal; }
dt:after	{ content: ":"; }
dd		{ margin-left:	5.5em; }
dd>br		{ clear: left; }	/* dt要素がwidth以上の場合の対策に<br />タグをdd要素の末尾に使用 */
dl.super_long dt	{ width: 11em; }
dl.super_long dd	{ margin-left: 11em; }
dl.long dt	{ width: 7em; }
dl.long dd	{ margin-left: 7em; }

/*---------------------------------------------------------------------*
 *	テーブル関連設定
 *---------------------------------------------------------------------*/
h1+table, h2+table, h3+table, h4+table, h5+table, h6+table	{ margin-top: 0; }
.right + table	{ margin-top: 0; }	/* 更新日時表示等で使用 */

table	{ border-collapse: collapse; border: 2px solid; margin: 1em auto 0; }
table.no_border	{ border: none; }
caption	{ margin: 1em auto 4px; caption-side: top; }
thead 	{ border-bottom-style:	double; }
tfoot 	{ border-top-style:	double; }
th,td	{ padding: 4px 0.7em 2px; border: 1px solid; }
table.no_border th,
table.no_border td	{ border: none; }
th	{ vertical-align: middle; text-align: center; white-space: nowrap; }
td	{ vertical-align: top; text-align: left; }
thead th, tfoot th	{ font-weight: bold; }
tbody th		{ font-weight: normal; }

td p	{ margin: auto 2px; line-height: 1.0; }
td ul	{ margin: 0; padding: 0 0 0 1em; }

.vt th, .vt td, th.vt, td.vt	{ vertical-align: top; }
.vm th, .vm td, th.vm, td.vm	{ vertical-align: middle; }
.vb th, .vb td, th.vb, td.vb	{ vertical-align: bottom; }

.left th, .center th, .right th	{ text-align: center; }
.left td, .center td, .right td { text-align: left; }

th.left,   td.left		{ text-align: left; }
th.center, td.center		{ text-align: center; }
th.right,  td.right		{ text-align: right; }

.smaller th		{ padding: 4px 2px 2px 2px; }
.smaller td		{ padding: 4px 2px 2px 2px; }
.smaller .right td	{ padding: 4px 6px 2px 2px; }

table.pic_table		{ padding: 1px; border: none; font-size: smaller; text-align: center; }
table.pic_table th,
table.pic_table td	{ padding: 1px; border: none; vertical-align: top; }
table.pic_table th.vm, table.pic_table td.vm	{ vertical-align: middle; }
table.pic_table th.vb, table.pic_table td.vb	{ vertical-align: bottom; }

/*---------------------------------------------------------------------*
 *	位置決め
 *---------------------------------------------------------------------*/
.center	{ margin-left: auto; margin-right: auto; text-align: center; }
.left	{ margin-left: 10px; margin-right: auto; text-align: left; }
.right	{ margin-left: auto; margin-right: 10px; text-align: right; }
.center *		{ text-align: left; }
.center *.center	{ text-align: center; }
.center *.left		{ text-align: left; }
.center *.right		{ text-align: right; }
a.left,  img.left	{ float: left; }
a.right, img.right	{ float: right; margin: 5px 10px; }

/*---------------------------------------------------------------------*
 *	テキスト用部品
 *---------------------------------------------------------------------*/
br.clear	{ clear: both; }
q:lang(ja)	{ quotes: "「" "」" "『" "』" "《" "》"; }
q:lang(en)	{ quotes: ' "' '" ' " '" "' " ; }
q:before	{ content: open-quote }		/* 取り消し時は content: no-open-quote; */
q:after		{ content: close-quote; }	/* 取り消し時は content: no-close-quote; */

.spacing1	{ letter-spacing: 1em; margin-right: -1em; }	/* 文字間隔を1字毎に調整 ※ 最後の余計な空白文字を削除するためにインライン要素 (ex. span) に対して設定すること */
.spacing0	{ letter-spacing: 0; }
.bold		{ font-weight: bolder; }
.italic		{ font-style: italic; }
.normal		{ font-size: medium; font-weight: normal; font-style: normal; }
.largest	{ font-size: xx-large; }
.larger		{ font-size: larger; }
.smaller	{ font-size: smaller; }
.smallest	{ font-size: xx-small; }
.underline	{ text-decoration:	underline; }
.wavyline	{ text-decoration:	underline wavy red; }
.strike		{ text-decoration:	line-through; }

/*---------------------------------------------------------------------*
 *	色指定用部品
 *---------------------------------------------------------------------*/
.fg_pink	{ color: #ffc0cb; }
.fg_plum	{ color: #dda0dd; }
.fg_skyblue	{ color: #87ceeb; }
.fg_tomato	{ color: #ff6347; }
.fg_violet	{ color: #ee82ee; }
.fg_black	{ color: #000000; }
.fg_silver	{ color: #c0c0c0; }
.fg_gray	{ color: #808080; }
.fg_white	{ color: #ffffff; }
.fg_maroon	{ color: #800000; }
.fg_red		{ color: #ff0000; }
.fg_purple	{ color: #800080; }
.fg_fuchsia	{ color: #ff00ff; }
.fg_green	{ color: #008000; }
.fg_lime	{ color: #00ff00; }
.fg_olive	{ color: #808000; }
.fg_yellow	{ color: #ffff00; }
.fg_navy	{ color: #000080; }
.fg_blue	{ color: #0000ff; }
.fg_teal	{ color: #008080; }
.fg_aqua	{ color: #00ffff; }
.fg_aquamarine	{ color: #7fffd4; }
.fg_lightblue	{ color: #66ccff; }
.fg_lightgray	{ color: #d3d3d3; }
.fg_lightyellow	{ color: #ffffe0; }
.fg_lightsalmon	{ color: #ffa07a; }
.fg_lightgreen	{ color: #90ee90; }

.bg_pink	{ background-color: #ffc0cb; }
.bg_plum	{ background-color: #dda0dd; }
.bg_skyblue	{ background-color: #87ceeb; }
.bg_tomato	{ background-color: #ff6347; }
.bg_violet	{ background-color: #ee82ee; }
.bg_black	{ background-color: #000000; }
.bg_silver	{ background-color: #c0c0c0; }
.bg_gray	{ background-color: #808080; }
.bg_white	{ background-color: #ffffff; }
.bg_maroon	{ background-color: #800000; }
.bg_red		{ background-color: #ff0000; }
.bg_purple	{ background-color: #800080; }
.bg_fuchsia	{ background-color: #ff00ff; }
.bg_green	{ background-color: #008000; }
.bg_lime	{ background-color: #00ff00; }
.bg_olive	{ background-color: #808000; }
.bg_yellow	{ background-color: #ffff00; }
.bg_navy	{ background-color: #000080; }
.bg_blue	{ background-color: #0000ff; }
.bg_teal	{ background-color: #008080; }
.bg_aqua	{ background-color: #00ffff; }
.bg_aquamarine	{ background-color: #7fffd4; }
.bg_lightblue	{ background-color: #66ccff; }
.bg_lightgray	{ background-color: #d3d3d3; }
.bg_lightyellow	{ background-color: #ffffe0; }
.bg_lightsalmon	{ background-color: #ffa07a; }
.bg_lightgreen	{ background-color: #90ee90; }

.eg_pink	{ border-color: #ffc0cb; }
.eg_plum	{ border-color: #dda0dd; }
.eg_skyblue	{ border-color: #87ceeb; }
.eg_tomato	{ border-color: #ff6347; }
.eg_violet	{ border-color: #ee82ee; }
.eg_black	{ border-color: #000000; }
.eg_silver	{ border-color: #c0c0c0; }
.eg_gray	{ border-color: #808080; }
.eg_white	{ border-color: #ffffff; }
.eg_maroon	{ border-color: #800000; }
.eg_red		{ border-color: #ff0000; }
.eg_purple	{ border-color: #800080; }
.eg_fuchsia	{ border-color: #ff00ff; }
.eg_green	{ border-color: #008000; }
.eg_lime	{ border-color: #00ff00; }
.eg_olive	{ border-color: #808000; }
.eg_yellow	{ border-color: #ffff00; }
.eg_navy	{ border-color: #000080; }
.eg_blue	{ border-color: #0000ff; }
.eg_teal	{ border-color: #008080; }
.eg_aqua	{ border-color: #00ffff; }
