@charset "UTF-8";

/*  ==================================  
    ======   汎用・雑多クラス   ======  
    ==================================  
  特定タグでのみ使用するクラスは、そちらのブロックに追記してください。 */

.small {
  font-size: 9pt; }

.arrow {
  display: block;
  margin: 0 auto 20px auto; }

.kerning {
  line-height: 30px;
  letter-spacing: 1px; }

.color1 span {
  color: ＃008000;
}

.justtext {
  text-align: justify; }

.smalltext {
  margin-top: 20px;
  line-height: 130%; }

.largetext {
  margin-top: 20px;
  line-height: 150%; }

.small_kerning {
  font-size: small;
  letter-spacing: 1px; }

.large_kerning {
  font-size: large;
  letter-spacing: 1px; }

.margin_top0 {
  margin-top: 0px !important ; }

.margin_top20 {
  margin-top: 20px; }

.margin_top40 {
  margin-top: 40px; }
  
.margin_top60 {
  margin-top: 60px; }
  
.padding_top0 {
  padding-top: 0px !important ; }

.centering {
  text-align: center; }

.lt_wide {
  letter-spacing: 1px; }

.lt_normal {
  letter-spacing: 0; }

.mousepointer-hand {
    cursor: pointer; }

.nobr {
  white-space: nowrap;}

.text2{
  display: flex;
  flex-wrap: wrap;
  }

.heading {
  color: navy;
  font-size: 22px;
  margin-top: 10px;
  margin-bottom: 5px;
  font-family:sans-serif;
  font-weight:bold;
  } 

/*  ==================================  
    ======   特定タグ用クラス   ======  
    ==================================  
  このブロックのクラスはタグ要素を指定してください。 */

/*----------- html, body --------------*/
html {
  overflow-y: scroll;
}

body {
  font-family: -apple-system      , 
               BlinkMacSystemFont , 
               Roboto             , 
              "Hiragino Sans"     , 
              Meiryo              , 
              "Noto Sans CJK JP"  , 
              sans-serif          ;
}

/*----------- p;段落 --------------*/
p.indent-h {
padding-left:0.5em;
text-indent:-0.5em;
}

p.indent-1 {
padding-left:1em;
text-indent:-1em;
}

p.indent-1h {
padding-left:1.5em;
text-indent:-1.5em;
}

p.indent-2 {
padding-left:2em;
text-indent:-2em;
}

p.indent-3 {
padding-left:3em;
text-indent:-3em;
}

p.indent-3h {
padding-left:3.5em;
text-indent:-3.5em;
}

p.pddLeft2 {
padding-left:2em;
}

p.pddLeft3 {
padding-left:3em;
}

@media screen and (min-width: 721px) {
  p.figcap {
    margin: auto;
    padding-left: 20px;
    font-size: 10pt;
    width: 80%;
  }
}

@media screen and (max-width: 720px) {
  p.figcap {
    font-size: 10pt;
    width: 100%;
  }
}

/*----------- li;リスト --------------*/
li.list-active {
  color: #31598D;
  font-weight: bold;
  text-decoration: underline;
  transition: all ease 0.3s; }

li.list-active:hover {
  filter: opacity(0.6); }

li.mrgnBt3 {
  margin-bottom: 3px; 
  line-height: 130%; }
  
li.mrgnTp3 {
  margin-top: 3px; }
  
li.pdd2 {
  padding: 2px; }
  
li.none {
  list-style-type: none;
  margin-left:2em;
   }

li.disc {
  list-style-type: disc; 
  margin-left:2em;
   }

li.dcml {
  list-style-type: decimal;
  margin-left:2em;
   }

li.abc {
  list-style-type: lower-alpha;
  margin-left:2em;
   }

/*----------- table,td;表 --------------*/
table {
  margin-top: 10px;
}

@media screen and (min-width: 721px) {
  table.margin_top20{
    margin: auto;
    margin-top: 15px;
    width: 80%;
  }
}
@media screen and (max-width: 720px) {
  table.margin_top20{
    width: 100%;
  }
}

td.table-chara {
  padding: 2px 15px 20px 15px;
  text-align:center; }

/*----------- a;ハイパーリンク --------------*/
a {
  text-decoration: none;
  color: #222266;  }
  
a.noenhance{
  text-decoration: none;
  color: #222266; }

a:link {
  color: #0000EE; }

a:visited {
  color: #800080; }

a:link:hover {
  filter: opacity(0.8); 
  font-weight: bold; }
  
a.bold {
  font-weight: bold; }

/*----------- h2;小見出し --------------*/
.h2counter_reset {
  counter-reset: h2number 0; }

h2.h2counter {
  counter-increment: h2number 1 ; }

h2.h2counter:before {
  content: counter(h2number) " "; }
  
/*----------- image;画像 --------------*/
img {
  vertical-align:bottom; 
  image-rendering: -webkit-optimize-contrast;  
  }

img.marker {
  height: 24px; 
  padding-right: 10px; 
  }

img.extlink {
  vertical-align: top;
  height: 12px;
  }

/*----------- abbr;略語 --------------*/
abbr {
  text-underline-offset: 10%; }

/*----------- sup;上付き文字 --------------*/
sup {
vertical-align:text-top;
font-size:small;
}

/*----------- span;インライン --------------*/
/*  傍点  */
span.dot01{
 text-emphasis: dot #000000;
 -webkit-text-emphasis: dot #000000;
}

/*  化学式  */
span.chemSym {
  color: #6495ed;
  font-weight: bold;
  margin-left: 15px; }

/*  アイコン  */
span.ico::after {
  content: "1";
 }



/*  ================================  
    ======   コンポーネント   ======  
    ================================  
  特定機能に特化したクラス。全体的にdivタグ利用が多め。  */

/*------ コンポーネント - PDF埋め込み ------*/
.iframe__wrap {
  position: relative;
  width: 100%;
  padding-top: 80%;
}

.iframe__wrap iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/*------ コンポーネント - ボタン ------*/
.btn {
  border-radius: 5px;
  padding: 8px 0 8px 0;
  text-align: center; }
  .btn_item {
    padding-left: 5px; }

.btnBlue {
  width: 170px;
  background-color: #222266;
  border: solid 1px #222266;
  color: #FFFFFF;
  font-size: 15pt;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Hiragino Sans", "Yu Gothic", YuGothic, Meiryo, "Noto Sans CJK JP", sans-serif;
  transition: all 0.2s ease; }

.btnBlue_pump {
  width: auto;
  background-color: #222266;
  border: solid 1px #222266;
  color: #FFFFFF;
  font-size: 15pt;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Hiragino Sans", "Yu Gothic", YuGothic, Meiryo, "Noto Sans CJK JP", sans-serif;
  transition: all 0.2s ease;
  padding: 0 10px; }

.btnBlue:hover {
  background-color: #FFFFFF;
  border: solid 1px #222266;
  color: #222266; }

.btnBlue_pump:hover {
  background-color: #FFFFFF;
  border: solid 1px #222266;
  color: #222266; }

.btnWhite {
  width: 170px;
  background-color: #FFFFFF;
  color: #222266;
  font-size: 15pt;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Hiragino Sans", "Yu Gothic", YuGothic, Meiryo, "Noto Sans CJK JP", sans-serif;
  transition: all 0.2s ease;
  border: solid 1px #FFFFFF; }

.btnWhite:hover {
  color: #FFFFFF;
  background-color: #222266;
  border: solid 1px #FFFFFF; }

.btnWhiteSmall {
  width: 70px;
  font-size: 14pt;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Hiragino Sans", "Yu Gothic", YuGothic, Meiryo, "Noto Sans CJK JP", sans-serif;
  border: solid 1px #222266;
  margin-bottom: 5px;
  transition: all 0.2s ease; }

.btnWhiteSmall:hover {
  color: #FFFFFF;
  background-color: #222266; }

.btn--orange { 
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 2.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

.btn--orange {
  color: #FFFFFF;
  background-color: #eb6100;
}

.btn--orange:visited {
  color: #FFFFFF;
}
.btn--orange:hover {
  color: #0000EE;
  background-color: #f56500;
}

.btn--radius {
  border-radius: 100vh;
}

/*------ コンポーネント - カード ------*/
.card {
  background-color: #FFFFFF;
  border-radius: 5px;
  color: #000000;
  position: relative;
  padding-bottom: 20px;
  z-index: 2;
  line-height: 20px;
  letter-spacing: 1px;
  float: left;
}

.card_round {
  position: absolute;
  top: -30px;
  left: -30px;
  z-index: 3; }

.card_round .round_item {
  z-index: 3;
  width: 80px;
  height: 80px;
  border-radius: 100px;
  background-color: #6A98D8; }

.card_round .round_item p {
  font-size: 12pt;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Hiragino Sans", "Yu Gothic", YuGothic, Meiryo, "Noto Sans CJK JP", sans-serif;
  line-height: 80px;
  color: #FFFFFF;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.1em; }

.card_round .round_item .twoLine {
  line-height: 25px;
  padding-top: 16px; }

.card_mask {
  transition: all 0.2s ease;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  border-left: solid 15px #222266;
  position: relative;
  overflow: hidden;
  padding: 10px 0 10px 20px;
  border-radius: 5px;
  z-index: 2; }

.card_mask .card_title {
  font-size: 22px;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Hiragino Sans", "Yu Gothic", YuGothic, Meiryo, "Noto Sans CJK JP", sans-serif;
  font-weight: bold;
  color: #222266;
  padding: 7px 20px 3px 0px;
  letter-spacing: -0.05rem; }

.card_mask .card_title .title_icon {
  height: 24px;
  padding: 0 15px 4px 25px;
  vertical-align: middle; }

.card_mask .card_title a {
  color: #222266;
  transition: all 0.2s ease; }

.card_mask .card_caption {
  font-size: 16px;
  padding-top: 10px ;
  padding-bottom: 5px;
  padding-left: 10px;
  padding-right: 25px; }

.card_mask .card_list {
  padding: 0 0 10px 50px;
  list-style: disc; }

.card_mask .card_img {
  position: absolute;
  top:50%;
  bottom: 10%;
  left: 90px;
  z-index: 1; }

  .card_mask .card_img2 {
  position: absolute;
  top:60%;
  bottom: 10%;
  left: 15px;
  z-index: 1; }

  .card_mask .card_img3 {
  position: absolute;
  top:60%;
  bottom: 10%;
  left: 40px;
  z-index: 1; }

.card .card_mask:hover {
  filter: alpha(opacity=60);
  -moz-opacity: 0.6;
  opacity: 0.6; }

.card .card_mask-solution {
  padding: 25px 0 25px 20px; }

.card .card_mask-solution2 {
  padding: 25px 20px 25px 20px; }

.card .card_mask-solution3 {
  padding: 5px 20px 5px 20px; }

.card .card_mask-solution .card_title {
  transition: all 0.3s ease;
  letter-spacing: 2px; }

.card .card_mask-solution .card_title a:hover {
  filter: opacity(0.6); }

.card .card_mask-solution .card_title-none:hover {
  filter: opacity(1); }

.card1columm {
  width: 100%;
  margin-top: 0;
  margin-bottom: 20px; }

.card1columm .card {
  padding-bottom: 0;
  margin-bottom: 70px; }

.card1columm .card .card_mask:hover {
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  opacity: 1; }

.card1columm .card_half {
  width: 48%; }

.card1columm .card_half .card_mask-solution {
  height: 800px; }

.card1columm_wide {
  width: 95%;
  margin: 0 auto 20px auto;
  padding-left: 30px; }

.card1columm_wide .card {
  padding-bottom: 0;
  margin-bottom: 70px; }

.card1columm_wide .card .card_mask:hover {
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  opacity: 1; }

.card1_FAQ {
  margin-top: 40px; }

.card2columm {
  width: 400px;
  margin: 10px; }

.card-index {
  height: 300px; }

.minicard-index {
  height: 30px; }


/*------ コンポーネント - カード(小) ------*/

.scard {
  background-color: #FFFFFF;
  border-radius: 5px;
  color: #000000;
  position: relative;
  padding-bottom: 20px;
  z-index: 2;
  line-height: 20px;
  letter-spacing: 1px;
}

.scard_round {
  position: absolute;
  top: -30px;
  left: -30px;
  z-index: 3; }

.scard_round .round_item {
  z-index: 3;
  width: 80px;
  height: 80px;
  border-radius: 100px;
  background-color: #6A98D8; }

.scard_round .round_item p {
  font-size: 12pt;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Hiragino Sans", "Yu Gothic", YuGothic, Meiryo, "Noto Sans CJK JP", sans-serif;
  line-height: 80px;
  color: #FFFFFF;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.1em; }

.scard_round .round_item .twoLine {
  line-height: 25px;
  padding-top: 16px; }

.scard_mask {
  transition: all 0.2s ease;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  border-left: solid 15px #222266;
  position: relative;
  overflow: hidden;
  padding: 10px 0 10px 20px;
  border-radius: 5px;
  z-index: 2; }

.scard_mask .scard_title {
  font-size: 22px;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Hiragino Sans", "Yu Gothic", YuGothic, Meiryo, "Noto Sans CJK JP", sans-serif;
  font-weight: bold;
  color: #222266;
  padding: 7px 20px 3px 0px;
  letter-spacing: -0.05rem; }

.scard_mask .scard_title .title_icon {
  height: 24px;
  padding: 0 15px 4px 25px;
  vertical-align: middle; }

.scard_mask .scard_title a {
  color: #222266;
  transition: all 0.2s ease; }

.scard_mask .scard_caption {
  font-size: 16px;
  padding-top: 10px ;
  padding-bottom: 5px;
  padding-left: 10px;
  padding-right: 25px; }

.scard_mask .scard_list {
  padding: 0 0 10px 50px;
  list-style: disc; }

.scard_mask .scard_img {
  position: absolute;
  bottom: 10%;
  right: 3%;
  z-index: 1; }

.scard .scard_mask:hover {
  filter: alpha(opacity=60);
  -moz-opacity: 0.6;
  opacity: 0.6; }

.scard .scard_mask-solution {
  padding: 25px 0 25px 20px; }

.scard .scard_mask-solution2 {
  padding: 25px 20px 25px 20px; }

.scard .scard_mask-solution3 {
  padding: 5px 20px 5px 20px; }

.scard .scard_mask-solution .scard_title {
  transition: all 0.3s ease;
  letter-spacing: 2px; }

.scard .scard_mask-solution .scard_title a:hover {
  filter: opacity(0.6); }

.scard .scard_mask-solution .scard_title-none:hover {
  filter: opacity(1); }

.scard1columm {
  width: 100%;
  margin-top: 0;
  margin-bottom: 20px; }

.scard1columm .card {
  padding-bottom: 0;
  margin-bottom: 70px; }

.scard1columm .scard .scard_mask:hover {
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  opacity: 1; }

.scard1columm .scard_half {
  width: 48%; }

.scard1columm .scard_half .scard_mask-solution {
  height: 800px; }

.scard1columm_wide {
  width: 95%;
  margin: 0 auto 20px auto;
  padding-left: 30px; }

.scard1columm_wide .scard {
  padding-bottom: 0;
  margin-bottom: 70px; }

.scard1columm_wide .scard .scard_mask:hover {
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  opacity: 1; }

.scard1_FAQ {
  margin-top: 40px; }

.scard2columm {
  width: 400px;
  margin: 10px; }

.scard-index {
  height: 190px; }

.sminicard-index {
  height: 30px; }

/*------ コンポーネント - 段組み ------*/
/*  浮動属性を利用した段組み(CSS2); , clear  */
@media screen and (min-width: 841px) {
  .float {
    margin: auto;
    margin-left: 0px;
    margin-top: 15px;
    width: 840px;
    overflow: hidden;
  }
}
@media screen and (max-width: 1200px) {
  .float {
    margin-left: 15px;
    margin-top: 15px;
    width: 1200px;
    overflow: hidden;
  }
}

@media screen and (min-width: 700px) {
  .float .left {
    float: left; }
  
  .float .right {
    float: right; }
}
@media screen and (max-width: 1200px) {
  .float .left {
    width: 100%;
    float: left; }
  
  .float .right {
    width: 100%;
    float: right; }
}

.float_left {
  float: left; }

.float_right {
  float: right; }

.pull-right {
  text-align: right; }

.pull-left {
  text-align: left; }

.clear {
  clear: both; }

/*  マルチカラムを利用した段組み(CSS3); columns  */
.clmn2 {
  column-count: 2; }

.clmn3 {
  column-count: 3; }

.clmn4 {
  column-count: 4; }

/* break-inside は新しめなので、互換性のある page-break-inside (CSS2) も同時に指定する */
.clmun_avoid {
  break-inside: avoid-column;
  page-break-inside: avoid; }


/*------ コンポーネント - コンテナ ------*/
.container {
  width: auto;
  margin: auto auto;
  margin-top: 15px;
  margin-left: 2.5em;
  }

.container_copyright {
  text-align: center;
  color: #FFFFFF; 
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Hiragino Sans", "Yu Gothic", YuGothic, Meiryo, "Noto Sans CJK JP", sans-serif;
  }

.container .pad_bottom {
  padding-bottom: 15px; }

.container .inner {
  width: 90%;
  font-size: 12pt;
  padding-top: 40px;
  padding-bottom: 40px; }

.container .inner_subTitle {
  width: 90%;
  font-size: 20pt;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Hiragino Sans", "Yu Gothic", YuGothic, Meiryo, "Noto Sans CJK JP", sans-serif;
  font-weight: bold;
  color: #222266; }

.container .inner_subsubTitle {
  width: 90%;
  font-size: 16pt;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Hiragino Sans", "Yu Gothic", YuGothic, Meiryo, "Noto Sans CJK JP", sans-serif;
  font-weight: bold;
  margin-top: 25pt;
  color: #222266; }

.container .inner_subTitle .subTitle_EN {
  width: 90%;
  font-size: 10pt;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Hiragino Sans", Meiryo, "Noto Sans CJK JP", sans-serif;
  font-weight: normal;
  padding-left: 10px; }

.container .inner_line {
  width: 100%;
  background-color: #222266;
  height: 1px;
  margin-bottom: 10px; }

.container .inner_line_mrgnBtm0 {
  width: 100%;
  background-color: #222266;
  height: 1px;
  margin-bottom: 0px; }

/* コンテナー拡大 */
.container_wide {
  width: 100%;
  margin: 0px auto;
  padding-top: 0px; }

.container_wide .inner {
  padding: 40px 2% 40px 2%; }

.container_wide .inner_subTitle {
  font-size: 20pt;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Hiragino Sans", "Yu Gothic", YuGothic, Meiryo, "Noto Sans CJK JP", sans-serif;
  font-weight: bold;
  color: #222266; }

.container_wide .inner_subTitle .subTitle_EN {
  font-size: 8pt;
  font-weight: normal;
  padding-left: 10px; }

.container_wide .inner_line {
  background-color: #222266;
  width: 100%;
  height: 1px;
  margin-bottom: 10px; }

.container-index {
  padding-bottom: 50px; }

/*------ コンポーネント - メイン表示 ------*/
.main {
  background-color: #ffffff;
  width: 100%;
  padding-left: 2.5em;
  box-sizing: border-box;
  }

.mainVisual {
  position: relative;
  width: 100%;
  left:-1em;
  background-size: cover;
  background-position: center; }

.mainVisual_text {
  font-size: 26pt;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Hiragino Sans", "Yu Gothic", YuGothic, Meiryo, "Noto Sans CJK JP", sans-serif;
  font-weight: bold;
  color: #FFFFFF;
  position: absolute;
  top: 53%;
  left: 50%;
  margin-right: -50%;
  -webkit-transform: translate(-50%, -50%);
  /* Safari用 */
  transform: translate(-50%, -50%); }

.mainVisualSolution {
  background-image: url(../../img/mainSolution.jpg);
  height: 110px; }

.mainVisualSolution .mainVisual_text {
  text-align: left;
  padding-left: 30px; }

.mainVisual_text .subtitle {
  font-size: 22pt; }


/*------ コンポーネント - ヘッダ ------*/
.header {
  position: relative;
  z-index: 100;
  width: 100%;
  background-color: #FFFFFF;
  top: 0;
  left: 0;
  #box-shadow: 0px 1px 3px rgba(103, 145, 203, 0.4); }

.navi {
  height: 50px; }

.navi_item {
  padding: 0px 22px;
  height: 50px;
  float: right;
  text-align: center;
  color: #000000 ;
  transition: all 0.2s ease; }

.navi_item .textJP {
  font-size: 9pt;
  letter-spacing: -0.1em;
  padding-top: 12px; 
  }

.navi_item .textEN {
  padding: 0px 0px 4px 0px;
  font-size: 7pt;
  }

.navi_item .non_uline {
  color: #222266;
  text-decoration: none;
  }

.navi_item-active {
  margin-top: -4px;
  padding: 0px 22px;
  border-bottom: solid 4px #222266;
  background-color: #f5f5f5;
  color: #222266; }

.navi_item:hover {
  margin-top: -4px;
  padding: 0px 22px;
  border-bottom: solid 4px #222266;
  background-color: #f5f5f5;
  color: #222266; }

.navi_border {
  float: left;
  width: 1px;
  height: 20px;
  margin-top: 10px;
  margin-bottom: 20px;
  background-color: #222266; }

/*------ コンポーネント - フッタ ------*/
.footer {
  position: relative;
  z-index: 9999;
  background-color: #222266;
  width: 100%;
  padding-top: 20px;
  padding-bottom: 20px; }

@media screen and (max-height:850px) {
  .footer_media {
    position: relative;
    z-index: 9999;
    background-color: #222266;
    width: 100%;
    padding-top: 20px;
    padding-bottom: 20px;
    }
}

@media screen and (min-height:851px) {
  .footer_media {
    position: fixed;
    bottom: 0;
    background-color: #222266;
    z-index: 9999;
    width: 100%;
    padding-top: 20px;
    padding-bottom: 20px;
    }
}

.footer_wide {
  background-color: #222266;
  width: 1280px;
  padding-top: 20px;
  padding-bottom: 20px; }

.sitemap {
  padding: 12px 30px 12px 12px;
  color: #FFFFFF; 
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Hiragino Sans", "Yu Gothic", YuGothic, Meiryo, "Noto Sans CJK JP", sans-serif;
  }

.sitemap p {
  transition: all 0.2s ease; }

.sitemap p:hover {
  font-weight: bold; }

/*------ コンポーネント - 新着情報 ------*/
dl.case4{
    margin:35px;
    padding:0;
    line-height:1.8;
    width:95%;
}
dl.case4 dt{
    width:6em;
    float:left;
    margin:0;
    padding:0 0 0 5px;
}
dl.case4 dd{
    position:relative;
    margin:0 0 10px;
    padding:0 5px 10px 13em;
    border-bottom:1px dotted #ccc;
}
dl.case4 dd span.cat{
    display:block;
    position:absolute;
    top:0;
    left:5em;
    width:7em;
    margin:0;
    padding:0;
    text-align:center;
    background-color:#eee;
    border-radius:2px;
}

/*------ コンポーネント - 新着情報のところの「もっと見る」 ------*/
.cp_box *, .cp_box *:before, .cp_box *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.cp_box {
	width: auto;
	margin: auto;
}
.cp_box label {
	font-weight: bold;
	position: relative;
	display: block;
	width: 40%;
	margin: auto;
	padding: 0.1em 1em;
	cursor: pointer;
	transition: all 0.3s;
	text-align: center;
	color: #999999;
	border: 2px solid #999999;
	border-radius: 3px;
}
.cp_box label:hover {
	transition: all 0.3s;
	color: #ffffff;
	background: #222266;
}
.cp_box label::after {
/*	font-family: 'FontAwesome';*/
	content: ' ＋';
	color: #999999;
}
.cp_box label:hover::after {
	color: #ffffff;
}
.cp_box input:checked ~ label::after {
/*	font-family: 'FontAwesome';*/
	content: ' ー';
	color: #999999;
}
.cp_box input:checked ~ label:hover::after {
	color: #ffffff;
}
.cp_box input {
	display: none;
}
.cp_box .cp_container {
	position: relative;
	z-index: 10;
	overflow: hidden;
	height: 0;
	margin-top: -1px;
	transition: height 0.3s ease-in-out,box-shadow 0.6s linear;
	background: rgba(255, 255, 255, 0.5);
}
.cp_box input:checked ~ div {
	transition: height 0.5s ease-in-out,box-shadow 0.1s linear;
}
.cp_box input:checked ~ div.cp_container {
	height: auto;
}

/*------ コンポーネント - ダウンロードサイトの「もっと表示」 ------*/
.cp_box2 *, .cp_box2 *:before, .cp_box2 *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.cp_box2 {
	width: auto;
	margin: auto;
}
.cp_box2 label {
	position: relative;
	display: inline;
	width: auto;
	margin: auto;
	padding: 0.1em 1em;
	cursor: pointer;
	transition: all 0.3s;
	text-align: left;
	color: #999999;
	border: 1px solid #999999;
	border-radius: 1px;
}
.cp_box2 label:hover {
	transition: all 0.3s;
	color: #ffffff;
	background: #222266;
}
.cp_box2 label::after {
/*	font-family: 'FontAwesome';*/
	content: ' ＋';
	color: #999999;
}
.cp_box2 label:hover::after {
	color: #ffffff;
}
.cp_box2 input:checked ~ label::after {
/*	font-family: 'FontAwesome';*/
	content: ' ー';
	color: #999999;
}
.cp_box2 input:checked ~ label:hover::after {
	color: #ffffff;
}
.cp_box2 input {
	display: none;
}
.cp_box2 .cp_container {
	position: relative;
	z-index: 10;
	overflow: hidden;
	height: 0;
	margin-top: -1px;
	transition: height 0.3s ease-in-out,box-shadow 0.6s linear;
	background: rgba(255, 255, 255, 0.5);
}
.cp_box2 input:checked ~ div {
	transition: height 0.5s ease-in-out,box-shadow 0.1s linear;
}
.cp_box2 input:checked ~ div.cp_container {
	height: auto;
}

/*----------- [JavaScript] JQuery tablesorter --------------*/
.reset{
  color: #000000;
  margin: 0px;
  padding: 0px;
  }

.tablesorter th{
    position: relative;
    cursor: pointer;
    text-align: left;
}
.tablesorter th::before, .tablesorter th::after{
    content: '';
    position: absolute;
    z-index: 2;
    right: 7px;
    width: 0;
    height: 0;
    border: 4px dashed;
    border-color: #333 transparent;
    pointer-events: none;
}
.tablesorter th::before{
    border-bottom-style: solid;
    border-top: none;
    top: 30%;
}
.tablesorter th::after{
    border-top-style: solid;
    border-bottom: none;
    bottom: 30%;
}
.tablesorter th.tablesorter-headerAsc:after{
    border: none;
}
.tablesorter th.tablesorter-headerAsc:before{
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}
.tablesorter th.tablesorter-headerDesc:before{
    border: none;
}
.tablesorter th.tablesorter-headerDesc:after{
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}
.tablesorter th.sorter-false:before, .tablesorter th.sorter-false:after{
    border: none;
}

.tablesorter-dropbox{width:100%;font:12px/32px -apple-system, BlinkMacSystemFont, Roboto, "Hiragino Sans", Meiryo, "Noto Sans CJK JP", sans-serif;color:#000;text-align:justify;background-color:#fff;border-collapse:collapse;border-top:1px solid #82cffa;border-spacing:0}.tablesorter-dropbox tfoot td,.tablesorter-dropbox tfoot th,.tablesorter-dropbox th,.tablesorter-dropbox thead td{background-color:#f0f9ff;border-color:#82cffa #e7f2fb #96c4ea;border-style:solid;border-width:1px;padding:3px 6px;font-size:12px;font-weight:400;line-height:29px;color:#2281cf;text-align:justify}.tablesorter-dropbox .header,.tablesorter-dropbox .tablesorter-headerRow,.tablesorter-dropbox thead tr{background-color:#f0f9ff;border-bottom:1px solid #96c4ea;box-shadow:0 1px 1px rgba(0,0,0,.12),0 0 0 #000 inset;white-space:normal}.tablesorter-dropbox .tablesorter-headerAsc,.tablesorter-dropbox .tablesorter-headerDesc,.tablesorter-dropbox .tablesorter-headerSortDown,.tablesorter-dropbox .tablesorter-headerSortUp{font-weight:600}.tablesorter-dropbox .tablesorter-header{cursor:pointer}.tablesorter-dropbox .tablesorter-header i.tablesorter-icon{width:9px;height:9px;padding:0 10px 0 4px;display:inline-block;background-position:center right;background-repeat:no-repeat;content:""}.tablesorter-dropbox .tablesorter-headerAsc i.tablesorter-icon,.tablesorter-dropbox .tablesorter-headerSortUp i.tablesorter-icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALhJREFUeNpi/P//PwMhwILMiexYx8bIxNTy/9+/muUVQb9g4kzIitg4edI4+YRLQTSyOCPMupjerUI8whK3OXgEhH58+fDuy9sXqkuKvd+hmMTOxdvCxS8sxMUvxACiQXwU6+Im7DDg5BNKY+fiY2BmYWMA0SA+SByuiJ2bbzIHrwAzMxsb0AGMDCAaxAeJg+SZ7wtaqfAISfQAdTIwMUM8ywhUyMTEzPD/71+5FXvPLWUkJpwAAgwAZqYvvHStbD4AAAAASUVORK5CYII=)}.tablesorter-dropbox .tablesorter-headerAsc:hover i.tablesorter-icon,.tablesorter-dropbox .tablesorter-headerSortUp:hover i.tablesorter-icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALVJREFUeNpi/P//PwMhwILMCc+qZGNkYmr5/+9fzcpp7b9g4kzIitjYOdM4uXlLQTSyOCPMuqi8OiEefsHbHFzcQj++fX335eN71WWTmt6hmMTOwdXCycMnBDSJAUSD+CjWxRQ0GHBw86Sxc3AyMDOzMIBoEB8kDlfEzsk1mYOLByjPCnQAIwOIBvFB4iB55rsfmVS4+QV7QNYwMTNDHApUyMTExPDv/z+5Feu3L2UkJpwAAgwA244u+I9CleAAAAAASUVORK5CYII=)}.tablesorter-dropbox .tablesorter-headerDesc i.tablesorter-icon,.tablesorter-dropbox .tablesorter-headerSortDown i.tablesorter-icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALdJREFUeNpi/P//PwMhwBLdtVGFhZ3zNhMzC4bkv79/GP78/K7KCDIpZ9mVw+xcfDaMTExwBf///WP4+e3TkSlROrZg7UxMLLns3HxnmFnZmGGK/v7+9ff3j2+5YHkQMSlC48Kv719m/f//D2IKkAbxQeJwRSDw4/OHmr+/fr0DqmAA0SA+TA6uaEq0zjugG+r//vkFcks9iA/3HbJvvn18O+vf379yP758mMXAoAAXZyQmnAACDADX316BiTFbMQAAAABJRU5ErkJggg==)}.tablesorter-dropbox .tablesorter-headerDesc:hover i.tablesorter-icon,.tablesorter-dropbox .tablesorter-headerSortDown:hover i.tablesorter-icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALNJREFUeNpi/P//PwMhwBJf3uP879e3PUzMzBiS//7+ZWBi43JhBJmU2z7nIzMzEx8jIyNcAUj8799/nyZXpvCzgARYuXjTWBkZVjCzIEz7++cvw+//DGkgNiPMTWVT1l5hZvynDTINbMp/pqtdOcE6IDkmmM5fv3/5//v37z9QBQOIBvFhcnBFEwoj7/5jZFnz9+8fBhAN4sN9h+ybH9++JrGxscr/+vE1CVmckZhwAggwANvlUyq5Dd1wAAAAAElFTkSuQmCC)}.tablesorter-dropbox thead .sorter-false{cursor:default}.tablesorter-dropbox thead .sorter-false i.tablesorter-icon{display:none}.tablesorter-dropbox td{padding:5px 6px;line-height:32px;color:#000;text-align:justify;border-top:1px solid #edf1f5;border-bottom:1px solid #edf1f5}.tablesorter-dropbox tbody>tr.even:hover>td,.tablesorter-dropbox tbody>tr.hover>td,.tablesorter-dropbox tbody>tr.odd:hover>td,.tablesorter-dropbox tbody>tr:hover>td{background-color:rgba(230,245,255,.3);border-right:0;border-left:0;border-color:#c6d8e4;border-style:double}.tablesorter-dropbox .tablesorter-processing{background-position:center center!important;background-repeat:no-repeat!important;background-image:url(data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=)!important}.tablesorter-dropbox>caption{background-color:#fff}.tablesorter-dropbox .tablesorter-filter-row{background-color:#fff}.tablesorter-dropbox .tablesorter-filter-row td{background-color:#fff;line-height:normal;text-align:center;-webkit-transition:line-height .1s ease;-moz-transition:line-height .1s ease;-o-transition:line-height .1s ease;transition:line-height .1s ease}.tablesorter-dropbox .tablesorter-filter-row .disabled{opacity:.5;cursor:not-allowed}.tablesorter-dropbox .tablesorter-filter-row.hideme td{padding:2px;margin:0;line-height:0;cursor:pointer}.tablesorter-dropbox .tablesorter-filter-row.hideme *{height:1px;min-height:0;border:0;padding:0;margin:0;opacity:0}.tablesorter-dropbox input.tablesorter-filter,.tablesorter-dropbox select.tablesorter-filter{width:98%;height:auto;margin:0;background-color:#fff;border:1px solid #bbb;color:#333;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:height .1s ease;-moz-transition:height .1s ease;-o-transition:height .1s ease;transition:height .1s ease}.tablesorter .filtered{display:none}.tablesorter .tablesorter-errorRow td{text-align:center;cursor:pointer;background-color:#e6bf99}

/*----------- スライドメニュー用アイコン --------------*/
/*!
 * Font Awesome Free 5.9.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
.fa,
.fas,
.far,
.fal,
.fab {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1; }

.fa-lg {
  font-size: 1.33333em;
  line-height: 0.75em;
  vertical-align: -.0667em; }

.fa-xs {
  font-size: .75em; }

.fa-sm {
  font-size: .875em; }

.fa-1x {
  font-size: 1em; }

.fa-2x {
  font-size: 2em; }

.fa-3x {
  font-size: 3em; }

.fa-4x {
  font-size: 4em; }

.fa-5x {
  font-size: 5em; }

.fa-6x {
  font-size: 6em; }

.fa-7x {
  font-size: 7em; }

.fa-8x {
  font-size: 8em; }

.fa-9x {
  font-size: 9em; }

.fa-10x {
  font-size: 10em; }

.fa-fw {
  text-align: center;
  width: 1.25em; }

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
readers do not read off random characters that represent icons */
/*  ==============================================================  
    ==   負荷対策として、不要なアイコンはコメントアウト         ==  
    ==   必要なアイコンはコメントブロックの外に出してください   ==  
    ==============================================================  */
/*  ====== 読み込むアイコングループ (アルファベット順) ======  */
.fa-building:before {
  content: "\f1ad"; }

.fa-envelope:before {
  content: "\f0e0"; }

.fa-envelope-open:before {
  content: "\f2b6"; }

.fa-envelope-open-text:before {
  content: "\f658"; }

.fa-envelope-square:before {
  content: "\f199"; }

.fa-hands:before {
  content: "\f4c2"; }

.fa-hands-helping:before {
  content: "\f4c4"; }

.fa-handshake:before {
  content: "\f2b5"; }

.fa-home:before {
  content: "\f015"; }

.fa-laptop:before {
  content: "\f109"; }

.fa-laptop-code:before {
  content: "\f5fc"; }

.fa-laptop-medical:before {
  content: "\f812"; }

.fa-list:before {
  content: "\f03a"; }

.fa-list-alt:before {
  content: "\f022"; }

.fa-list-ol:before {
  content: "\f0cb"; }

.fa-list-ul:before {
  content: "\f0ca"; }

.fa-pencil-alt:before {
  content: "\f303"; }

.fa-pencil-ruler:before {
  content: "\f5ae"; }

.fa-share:before {
  content: "\f064"; }

.fa-share-alt:before {
  content: "\f1e0"; }

.fa-share-alt-square:before {
  content: "\f1e1"; }

.fa-share-square:before {
  content: "\f14d"; }

.fa-users:before {
  content: "\f0c0"; }

.fa-users-cog:before {
  content: "\f509"; }
/*  ====== 読み込むアイコン ここまで ======  */

@font-face {
  font-family: 'Font Awesome 5 Free';
  font-style: normal;
  font-weight: 900;
  font-display: auto;
  src: url("/CAE/particle-plus/img/fa-solid-900.eot");
  src: url("/CAE/particle-plus/img/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("/CAE/particle-plus/img/fa-solid-900.woff2") format("woff2"), url("/CAE/particle-plus/img/fa-solid-900.woff") format("woff"), url("/CAE/particle-plus/img/fa-solid-900.ttf") format("truetype"), url("/CAE/particle-plus/img/fa-solid-900.svg#fontawesome") format("svg"); }

.fa,
.fas {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900; }

/*============== スライドメニュー ===============*/
.cp_sidebarmenu {
position: fixed;
z-index: 9998;
bottom: 0;
width: 4em;
height: 100%;
-webkit-transition: width 0.4s;
transition: width 0.4s;
background: rgba(34,34,102 ,1);
}
.cp_sidebarmenu:hover {
width: 17em;
}
.cp_sidebarmenu:hover + .contents {
max-width: 100%;
-webkit-transform: translateX(17em);
transform: translateX(17em);
opacity: 0.4;
}
.cp_sidebarmenu:hover .cp_sidenav li:nth-of-type(1) span {
-webkit-transition-delay: 0.1s;
transition-delay: 0.1s;
}
.cp_sidebarmenu:hover .cp_sidenav li:nth-of-type(2) span {
-webkit-transition-delay: 0.15s;
transition-delay: 0.15s;
}
.cp_sidebarmenu:hover .cp_sidenav li:nth-of-type(3) span {
-webkit-transition-delay: 0.2s;
transition-delay: 0.2s;
}
.cp_sidebarmenu:hover .cp_sidenav li:nth-of-type(4) span {
-webkit-transition-delay: 0.25s;
transition-delay: 0.25s;
}
.cp_sidebarmenu:hover .cp_sidenav li:nth-of-type(5) span {
-webkit-transition-delay: 0.3s;
transition-delay: 0.3s;
}
.cp_sidebarmenu:hover .cp_sidenav li:nth-of-type(6) span {
-webkit-transition-delay: 0.35s;
transition-delay: 0.35s;
}
.cp_sidebarmenu:hover .cp_sidenav li:nth-of-type(7) span {
-webkit-transition-delay: 0.4s;
transition-delay: 0.4s;
}
.cp_sidebarmenu:hover .cp_sidenav li:nth-of-type(8) span {
-webkit-transition-delay: 0.45s;
transition-delay: 0.45s;
}
.cp_sidebarmenu:hover .cp_sidenav li:nth-of-type(9) span {
-webkit-transition-delay: 0.5s;
transition-delay: 0.5s;
}
.cp_sidebarmenu:hover .cp_sidenav span {
text-indent: 0;
}
.cp_sidebarmenu ul li i {
font-size: 1.5em;
display: inline-block;
padding: 0.5em;
vertical-align: middle;
}
.cp_sidenav li:hover {
background-color: rgba(0,255,255 ,1);
}
.cp_sidenav li:hover:before {
background-color: rgba(0,255,255 ,1);
}
.cp_sidenav li:hover a {
color: rgba(34,34,102 ,0.8);
}
.cp_sidenav li:before {
position: absolute;
z-index: 9998;
top: 0;
left: -0.925rem;
width: 0.925rem;
height: 100%;
content: '';
-webkit-transition: background 0.4s;
transition: background 0.4s;
background: rgba(0,255,255 ,1);
}
.cp_sidenav ul {
margin-top: 1.85rem;
margin-right: 0;
margin-bottom: 0;
margin-left: 0;
padding: 0;
list-style: none;
}
.cp_sidenav li {
position: relative;
clear: both;
width: 100%;
padding: 0;
-webkit-transition: background 0.4s;
transition: background 0.4s;
}
.cp_sidenav li a {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
padding-top: 0.5em;
padding-bottom: 0.5em;
}
.cp_sidenav a {
width: 100%;
-webkit-transition: color 0.4s;
transition: color 0.4s;
text-decoration: none;
color: #fefefe;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.cp_sidenav a span {
font-family: Roboto;
position: relative;
z-index: 0;
display: block;
-webkit-transition: text-indent 0.4s ease-in-out;
transition: text-indent 0.4s ease-in-out;
white-space: nowrap;
text-indent: -20em;
}
.contents {
height: 100%;
min-height: 100vh;
margin-top: 0;
padding-left: 140px;
-webkit-transition: opacity 0.4s, -webkit-transform 0.4s;
transition: opacity 0.4s, -webkit-transform 0.4s;
transition: transform 0.4s, opacity 0.4s;
transition: transform 0.4s, opacity 0.4s, -webkit-transform 0.4s;
background-image: url(https://picsum.photos/1001/665/?random);
background-position: center center;
background-size: cover;
}
/*============ END スライドメニュー ============*/

/*============ MathJax用 ============*/
.scroll {
  display: block;
  overflow-x: auto;
  overflow-y: hidden;
}
/*============ END MathJax用 ============*/
