@charset "utf-8";

/*COLOR
グリーン #008000;
レッド #da0432;
*/

/*****basic tag initialize*****/
html,
body {
/* 	overflow: hidden; */
}
html{
  background: #fff;
  font-size: 10px;
  color: #444;
  height: 100%;
}

html *{
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
       -o-box-sizing: border-box;
      -ms-box-sizing: border-box;
          box-sizing: border-box;
}

body{
  height: 100%;
  background-image: url(../../common/img/main_bk2.jpg);
  background-position: center center;
  background-size: cover;
  margin: 0;
	padding: 0;

  text-align: center;
  font-family: "メイリオ" , Meiryo , "ヒラギノ角ゴPro W3" , "Hiragino Kaku Gothic Pro" , "ＭＳ Ｐゴシック" , sans-serif;
  -webkit-font-smoothing: antialiased;
  font-size: 1.4em;
  line-height: 1.6;
}

body.n_index{
  background-image: url(../../common/img/main_bk.jpg);
  margin-top: 50px;
}

body.n_preview1{
  background-image: url(../../common/img/main_bk1.jpg);
}

body.n_preview2{
  background-image: url(../../common/img/main_bk2.jpg);
}

body.n_preview3{
  background-image: url(../../common/img/main_bk3.jpg);
}

body.n_preview4{
  background-image: url(../../common/img/main_bk4.jpg);
}

body.n_preview5{
  background-image: url(../../common/img/main_bk5.jpg);
}

body.n_index article{
  margin-top: 40vh;
}


a {color: #374c8a; text-decoration: none;}

em{
  font-style: normal;
  display: inline-block;}
  
th{
/*   font-family: "丸フォーク M" , "メイリオ" , Meiryo , "ヒラギノ角ゴPro W3" , "Hiragino Kaku Gothic Pro" , "ＭＳ Ｐゴシック" , sans-serif; */
  font-weight: normal;
  }

img{max-width: 100%;}

img[src$=".svg"] {
    height: 100%;
}

h1,h2,h3,h4{
/*   font-family: "丸フォーク M" , "メイリオ" , Meiryo , "ヒラギノ角ゴPro W3" , "Hiragino Kaku Gothic Pro" , "ＭＳ Ｐゴシック" , sans-serif; */
  font-weight: normal;
  margin: 0;
  padding: 0;
  font-size: 2.4rem;
/*   padding: 6vh 0 1vh; */
}

h1{
  line-height: 1.3;
  text-align: left;
  }
  
h2{
  font-size: 2rem;
  margin-left: 0;
  margin-bottom: 10px;
}

h2 span{
  margin-top: 20px;
  min-width: 25vw;
  background: #008000;
  background: linear-gradient(135deg,  #008000 30%,#00a100 30%);
  display: inline-block;
  padding: 8px 20px 7px 10vw;
  border-radius: 0 50px 50px 0;
  color: #fff;
  box-shadow: 0 5px 5px #666666;
}

section > h2{
  position: relative;
}

section > h2 span{
  min-width: 20vw;
  font-size: 1.8rem;
  padding: 6px 20px 5px 30px;
  //color: #009763;
  background: #8abf1f;
}

section > h2 span:before{
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  width: 30px;/*画像の幅*/
  height: 65px;/*画像の高さ*/
  background-image: url(../img/orn1.svg);
  background-size: contain;
  vertical-align: middle;
  background-repeat: no-repeat;
  position: absolute;
  top: 10px;
  left: -15px;
}
  
  
  width: 20px;
  height: 20px;
}

.smaller{font-size: .6em;}

/*PCのみ*/
/*
@media screen and (min-width: 960px) {
  h1{background-size: 260px;}
}
*/


h3{font-size: 2.0rem;}
h4{font-size: 1.8rem;}

section,figure,ul{
 margin: 0;
 padding: 0; 
}

li{
	list-style-type: none;
}




/*
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
*/

/*****common original class*****/

.side_border {
  overflow: hidden;
  text-align: center;
}
.side_border span {
  position: relative;
  display: inline-block;
  margin: 0 .5em;
  padding: 0 .5em;
  text-align: left;
}
.side_border span::before,
.side_border span::after {
  position: absolute;
  top: 50%;
  content: '';
  width: 200%;
  height: 1px;
}
.side_border span::before {
  background: linear-gradient(to left, #752201 0%, rgba(255, 255, 255, 0) 50%);
  right: 100%;
}
.side_border span::after {
  background: linear-gradient(to right, #752201 0%, rgba(255, 255, 255, 0) 50%);;
  left: 100%;
}
.nrp{
  white-space: nowrap;
}

.inb{
  display: inline-block;
}

.red{
 color: #da0432;
}

.error_msg{
 color: #da0432;
 font-size: 1.5em;
 margin: 30px auto;
}

.larger{
  font-style: 1.2em;
}

.al,
section.s_al p{text-align: left;}
.ac{text-align: center;}
.ar{text-align: right;}

@media screen and (min-width: 600px) {
  .fbox{
    display: flex;
    justify-content: center;
  }
  
  ._fbox_inner{
    flex: 1 0 50%;
  }
}

/*****site basic frame*****/


footer{
/*  background: #f8ffdc; */
/*
 margin-top: -143px;
 height: 143px
*/
 width: 100%;
 background-color: rgba(35, 81, 0, 0.04);
}



footer ._inner{
  padding: 10px;
} 

._inner{
  max-width: 1000px;
  margin: auto;
  padding: 20px 0;
}


header{
    /*background: linear-gradient(to bottom, rgba(255,255,255,0.95) 70%,rgba(255,255,255,0) 100%);*/
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0.6) 70%,rgba(255,255,255,0) 90%);
	/*background: linear-gradient(to bottom, rgba(35, 81, 0, 0.04) 70%,rgba(255,255,255,0) 90%);*/
    width: 100%;
    position: fixed;
    top: 0;
    z-index: 500;
}

header ul{margin: 0; padding: 0; list-style: none;}

header ._inner{
  max-width: initial;
  display: flex;
  /*padding: 10px 20px 3px;*/
  padding: 5px 20px 3px;
/*   height: 70px; */
  align-items:center;
  justify-content: space-between;
}


header .logo_area{ 
    width: 20%;
    display: flex; align-items: center;
}

header .logo_area img{ 
    width: 150px;
    margin-bottom: 10px;
}

@media screen and (max-width: 599px) {

  footer {
  height: 100px;
  }
  
  header .logo_area img{ 
    width: 150px;
  }
}
    
/* header .logo img{width: 200px; margin: 0 5px; } */

/* header .right_area{ flex: 1 0 80%;  text-align: right;} メニュー変更*/
/*
header .right_area{ flex: 1 0 80%;  text-align: right;  display: flex; justify-content: flex-end; align-items: center;
  color: #fff;
}
*/
/*   header .icon_area{margin: 0 8px;} メニュー変更*/
  /*header .right_area > * {border: 1px solid yellow;}*/
/*
header .menu_area{ 
  justify-content: flex-end;
  flex-grow: 10; }
*/

.menu_area{
/*   background: yellow; */
}

.menu_area ul{
  margin: 0; padding: 0; list-style: none;
  justify-content: flex-end;
  flex-grow: 2;
}

.menu_area li{
  font-weight: bold;
  text-align: center;
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
}

.menu_area li a{
  display: inline-block;
  padding: 20px 10px;
}

.menu_area li.active i{
    color: #ffff00;
}

.menu_area li.active a{
    color: #da0432;
}

.menu_area li i{
  color:#da0432; font-size: 30px; font-size: 3rem; 
}

/*
.menu_area li a{
  color:#fff;
}
*/

.menu_area li a > *{
  display: block; 
}

main {
  min-height: 70vh;
  text-align: left;
  padding-top: 70px;
}

.preview_inner{
  position: relative;
}

canvas{
  /*margin-top: 10vh;*/
/*
  outline: 5px solid red;
  outline-offset: -5px;
*/
}

main ._inner{
  padding: 10px;
  
/*   padding-bottom: 143px; */
}

.bt{margin: 1.5em 0; text-align: center;}

.bt > *{
  font-size: 1.8rem;
  background: #00a100;
  color: #fff;
  width: 200px;
  max-width: 80%;
  margin: auto;
  padding: 8px 20px 7px;
  display: block;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  user-select: none; /* CSS3 */
  -moz-user-select: none; /* Firefox */
  -webkit-user-select: none; /* Safari、Chromeなど */
  -ms-user-select: none; /* IE10かららしい */
  //box-shadow: 0px 2px 0px 0px #000;
  font-weight: bold;
  box-shadow: 0 5px 5px #666666;
}

.preview_inner .bt > a.disable{
  background: #ccc;
  pointer-events: none;
}

.preview_inner h2{
  position: absolute;
  top:10px;
  left: 0;
}

.preview_inner .bt{
  position: absolute;
  z-index: 100;
  top: 0;
  right: 20px;
}

.preview_inner .bt > a {
  width: auto;
  display: inline-block;
  padding: 10px;
  width: 45px; /*60*/
  height: 45px; /*60*/
  margin-left: 3px;
}


/*PCのみ*/
@media screen and (min-width: 960px) {
  
  canvas{
    margin-top: 0;
  }
  
  .bt > *:hover{
    background: #da0432;
/*    box-shadow: 0px 2px 0px 0px #000;*/
	  box-shadow: 0 5px 5px #666666;
    transform: translateY(-2px);
    }
  
  main ._inner{
    padding: 20px;
  }

}


header .icon_area{ flex-grow: 0; flex-shrink: 0; }
header .icon_area > * {
  color:#da0432; padding: 0 3px; font-size: 1.8em; display: inline-block;
  line-height: 1; text-align: center; vertical-align: top; padding: 0 5px;}




header .cus_area{ flex: 2 2 140px; margin-right: 5%;}

header .cus_area p{
	text-align: left;
  margin: 0;
  padding: 0 20px;
  color: #FFF;
}

  
header .icon_area > *.#ic_menu{cursor:pointer;}
   

#js-gmenu-trigger{ 
}

#js-lmenu-trigger{ 
  background: #001f09;  
  left: 30.5%;
}

/*
#gmenu_box ul {
  display: flex;
  flex-wrap: wrap;
}

#gmenu_box ul li{
  width: calc( 100% / 11 );
  padding: 1%;
  line-height: 1.2;
}

#gmenu_box ul li img{
  height: auto;
}

#gmenu_box ul li a{
  color: #fff;
  font-size: 12px;
  font-size: 1.2rem;
}

.term_box{
  text-align: left;
  padding: 0 10px 20px;
}

.term_box table{
  width: 100%;
  font-size: 1.6rem;
}

.term_box table th{
  background: #001f09;
  padding: 10px 1em;
  min-width: 6em;
  color: #fff;
}

.term_box table td{
  color: #000;
  padding: 10px 1em;
  background: #CCC;
}

.term_box table td.term{
  width: 80%;
}

.term_box table td.bt{
  width: 10%;
  text-align: center;
  margin: 0;
  padding: 5px;
}

.term_box table td.bt > *{
 margin: 0;
 width: auto;
 max-width: 100px;
 white-space: nowrap;
}
*/

@media screen and (max-width: 959px) {
  
  #gmenu_box ul li{
    width: calc( 100% / 6 );
    padding: 10px 2%; 
  }
  
}

@media screen and (max-width: 599px) {

/*
  #gmenu_box{
  }
  

  .foot_box section h2{
    width: 40%;
    left: .5%;
  }

  #js-lmenu-trigger{ 
    left: 41%;
  }


  
  #gmenu_box ul li{
    width: 25%;
    padding: 2%; 
  }
*/
  
}

  
/*SPのみ599-768*/
@media screen and (max-width: 767px) {
  
  header{
    background: #fff;
  }
  
  header ._inner{
    border-bottom: 2px solid #8abf1f;
  }
	
  header .icon_area{margin-bottom: 5px;}
  header .icon_area a{display: none;}
  header .logo img{ margin: 0; margin-top: 6px !important;}
  header .logo_area{ flex: 0 0 40%;}
  
  .menu_area{
    display: none;
    background: #fff;
    padding: 15px;
    width: 100%;
    z-index: 1000; 
    position: fixed;
    right: 0;
    -webkit-overflow-scrolling: touch;
/*     font-family: "丸フォーク M" , "メイリオ" , Meiryo , "ヒラギノ角ゴPro W3" , "Hiragino Kaku Gothic Pro" , "ＭＳ Ｐゴシック" , sans-serif; */
    box-shadow: 0px 3px 3px 0px rgba(0,0,0,0.5);
  }
  
  .menu_area li{
    display: block;
    width: 100%;
    margin: 0;
    border-bottom: 1px solid #000;
  }
  
/*
  .menu_area li a > *{
    display: inline-block;
  }
*/
  
/*
  .menu_area li a i{
    width: 20%;
    padding-right: 1%;
  }
*/
  
/*
  .menu_area li a span{
    width: 78%;
    text-align: left;
  }
*/
  
  .menu_area li a{
    text-align: center;
    display: block;
    padding: 10px 7px;
    font-size: 1.8rem;
  }
  
    .menu_area li:first-child a{
    margin-top: 0;
    }
    
  .menu_area li.active a{
    color: #fff;
    background: #da0432;
  }
  
  header .icon_area > * {
    font-size: 2.6em;
  }
  
}


/*タブレット、PCのみ 600-768*/
@media screen and (min-width: 768px) {
  header .icon_area #js-spnav-trigger {
    display: none;
  }

}



address{
  font-style: normal;
  font-size: 1.2rem;
/*  padding-bottom: 30px;*/
  padding-bottom: 20px;
/*   font-family: 'Cinzel', ser */
}

#bt_totop {
  position: fixed;
  bottom: 5px;
  right: -5px;
  z-index: 10000;
}

#bt_totop a {
  width: 60px;
  height: 60px;
  font-size: 44px;		/*14px;*/
  text-align: center;
  padding-top: 5px;		/*19px;*/
  display: block;
  border-radius: 50px;
  border: 1px solid #fff;
  color: #ddd;
  text-decoration: none;
  -webkit-font-smoothing: subpixel-antialiased;
  background: #008000;
}

#bt_reload {
  display: none;
  position: fixed;
  bottom: 6px;
  right: 2px;
  z-index: 10000;
}

.c_index #bt_reload, .c_graph #bt_reload{
  display: block;  
}

#bt_reload a {
    width: 64px;
    height: 64px;
    font-size: 14px;
    padding: 20px 15px;
    text-align: center;
    display: block;
    border-radius: 50%;
    border: 1px solid #fff;
    color: white;
    text-decoration: none;
    -webkit-font-smoothing: subpixel-antialiased;
    background: #008000;
}


/*link.html*/

.link_box ul{
  width: 600px;
  margin: auto;
  padding-top: 20px;
  max-width: 90%;
}

.link_box ul li a{
  display: block;
  padding: 10px;
  background: #95D3DE;
  border-radius: 10px;
  font-size: 18px;
  font-size: 1.8rem;
  border: 2px solid #00aac8;
}

.link_box ul li + li{
  margin-top: 20px; 
}

@media screen and (min-width: 960px) {
  .link_box ul li a:hover{
    background: #00aac8;
    color: #fff;
  }
}


/*************************************************************/

/* button */

.button--close {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: 0;
  outline: 0;
}

.icon--menu {
  cursor: pointer;
  position: relative;
  width: 42px;
height: 42px; }

.icon--menu > i {
  display: inline-block;
  width: 32px;
  height: 4px;
  background-color: #da0432;
  border-radius: 10px;
  position: absolute;
  top: -10px;
  right: 0;
  bottom: 0;
  left: 0;
margin: auto; }
.icon--menu > i::before,
.icon--menu > i::after {
  content: '';
  display: inline-block;
  width: 32px;
  height: 4px;
  background-color: #da0432;
  border-radius: 10px;
  position: absolute;
  transition: all 300ms ease-in-out; 
}
.icon--menu > i::before {
  top: -9px;
left: 0;}
.icon--menu > i::after {
  bottom: -9px;
left: 0;}
.is-menu-active .icon--menu > i {
background-color: transparent; }
.is-menu-active .icon--menu > i::before {
  transform: rotate(-45deg);
top: 0; }
.is-menu-active .icon--menu > i::after {
  transform: rotate(45deg);
bottom: 0; }

.icon--menu > div{
  display: inline-block;
  font-size: 8px;
  font-size: 1rem;
  position: absolute;
  width: 32px;
  top: 33px;
  left: 0;
  right: 0;
  margin: auto;
}

/*サブページ共通*/

/*table*/
table.st1{
  width: 100%;
  max-width: 800px;
  margin: 20px auto;
  border-top: 1px solid #000; 
}

table.st1 th, table.st1 td{
  padding: 5px;
  border-bottom: 1px solid #000;
}



table.st2{
  width: auto;
  margin: 20px auto;
}

table.st2 th, table.st2 td{
  padding: 5px;
}


.list_box{
  
}

.list_box th, .list_box td{
 
}

.list_box th:first-child{width: 25%; white-space: nowrap;}

.list_box .t_title{ 
  font-size: 12px;
  font-size: 1.2rem;
  background: #e6e6e6;}
.list_box .t_title{width: 15%; padding: 7px;}

.list_box tr:not(.t_title) th {
  background: #666;
  box-shadow: 0 0 0 2px #fff inset;
  font-weight: bold;
  color: #fff;
}

.form_box th{
  background: rgba(148, 211, 222, 0.3);
}

.c_manager .form_box th{
  background: #eaebe0;
}

/*
.c_manager .form_box th{
  background: #6f715a;
  color: #fff;
}

.c_manager .form_box td{
  background: rgba(195, 197, 170, 0.5);
}
*/

.st2.form_box th{
  background: none;
}

/*
.form_box td{
  background: #ccc;
}
*/

table.st1.form_box th , table.form_box td{
  padding: 10px;
}

@media screen and (max-width: 599px) {
  .form_box th, .form_box td{
    display: block;
/*
    font-size: 20px;
    font-size: 2rem;
*/
  }
  
  .st2 th + td {
    padding-top: 0;
  }
  
}

article{
  text-align: left;
}

article section{
  padding: 20px;
/*
  background: rgba(255, 255, 255, 0.8);
  border-radius: 10px;
*/
}

/* article section + section{margin-top: 10vw; } */

.title_box{
  width: 40%;
  text-align: right;
  margin: 40px 20px 100px;
}


.title_box_inner{
  width: 450px;
  display: inline-block;
}


.title_box img{
  width: 100%;
}

.title_box ._lead{
  margin-top: 5px;
  border-top: 2px solid #503e36;
  padding-top: 20px;
  padding-right: 120px;
}


@media screen and (max-width: 599px) {
  .title_box{
    width: 70%;
  }
  .title_box_inner{
    width: auto;
    display: block;
  }
}



.c_manager h1{background-color:#c3c5aa;}

/*PCのみ*/
@media screen and (min-width: 600px) {
/*   article section + section{margin-top: 30px; } */
}


  




#gmenu_box li.active img{
  border: 3px solid yellow;
  border-radius: 50%;
}



/*分析項目一覧*/
.c_data .list_box th span{display: block;
  line-height: 1;}
.c_data .list_box th span + span{font-size: .7em;}


/*モーダル*/
.modalArea {
  display: none;
  position: fixed;
  z-index: 10; /*サイトによってここの数値は調整 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#modal_error {
  z-index: 10000;
}

.modalBg {
  width: 100%;
  height: 100%;
  background-color: rgba(30,30,30,0.8);
}

.modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform:translate(-50%,-50%);
  width: 70%;
  max-width: 500px;
  padding: 10px 30px;
  background-color: #fff;
}

.closeModal {
  position: absolute;
  top: 0.5rem;
  right: 1rem;
  cursor: pointer;
}

/*FONT CSS*/
@font-face {
  font-family: 'form-font';
  src: url('common/font/font/form-font.eot?6790679');
  src: url('common/font/font/form-font.eot?6790679#iefix') format('embedded-opentype'),
       url('common/font/font/form-font.woff2?6790679') format('woff2'),
       url('common/font/font/form-font.woff?6790679') format('woff'),
       url('common/font/font/form-font.ttf?6790679') format('truetype'),
       url('common/font/font/form-font.svg?6790679#form-font') format('svg');
  font-weight: normal;
  font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'form-font';
    src: url('../font/form-font.svg?6790679#form-font') format('svg');
  }
}
*/
 
 [class^="icon-"]:before, [class*=" icon-"]:before {
  font-family: "form-font";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */
 
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
 
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
 
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;
 
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
 
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
 
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}
 
.icon-che_outer:before { content: '\e821'; } /* '' */
.icon-che_inner:before { content: '\e823'; } /* '' */