html {
	height:100%;
}

body {
	height:100%;
	display:flex;
  flex-direction:column;
  font-size: 0.9rem;
}
input,select,button {
  font-size: 0.9rem !important;
}

.table td, .table th{
  padding:0.3rem;
  display: table-cell;
}
.left_page_active{
  /*background: linear-gradient(transparent 80%, #ff99ab 70%);*/
  /*text-shadow: 1px 1px 0 rgba(0,0,0,.1);*/
  font-weight: bold;
  /*color:#550000;*/
}

.download_icon{
  padding:0px 0px 0px 20px;
  font-size: 0.8rem;
  background-image:url(/static/assets/images/download_icon.png); 
  background-repeat:  no-repeat;
  background-position: center center;
  margin-left: 5px;
}

.wrapper {
	flex:1 0 auto;
}


.container {
  /*background:#C7E6E2;*/
  margin:0 auto;
  max-width:100%;
}

.flexcontainer {
	display:flex;
	align-items:center;
}

.col-md-6.d-flex.menu {
  flex-direction:column;
}

.h5, h5 {
  font-size:1rem;
}

.menu a {
  display:block;
}

.form-control.period {
  width:200px;
  display:inline;
}
.form-control{
  padding: .255rem .55rem;
}

/*.form-check.inlinechechbox {
  display:inline-block;
  padding-right:20px;
}*/

.form-check.d-inline-block {
  padding-right:1rem;
}

#males.form-group,
#females.form-group {
	margin-bottom:0;
}

footer, header {
  background:#920D14;
  color:#fff;
  padding:5px;
}

footer {
  text-align:center;
}

.breadcrumb {
  font-size:larger;
  font-weight: bold;
  position:relative;
}

.breadcrumb button {
	font-weight:normal;
	position:absolute;
	right:10px;
}

a {
  color:#920D14;
}

a:hover, a:active {
  color:#531000;
}

.btn {
  margin-right:20px;
}

.btn-primary {
  background-color:#920d14;
  border:none;
  transition: .3s;
}

.btn-primary.focus, .btn-primary:focus {
  box-shadow:0 0 0 .2rem rgba(214,122,128,.5);
}

.btn-primary:focus, .btn-primary:hover {
  /*background-color:#D67A80;*/
  background-color:#920d14;
  opacity: 0.7;
}

.btn-primary:disabled {
  background-color:#979797;
}

.btn-cancel {
  background-color:#89BCFF;
	color: #fff;
}
.btn-cancel:focus,
.btn-cancel:hover {
	color: #fff;
  background-color:rgba(189, 201, 218, 0.158);
}

.btn-typeB {
  margin:0;
  padding:5px;
  font-size:small;
}

.condition {
  padding:6px 0;
}

.condition span {
  padding:0 6px;
}

caption {
  caption-side:top;
}

.inline a {
  display:inline-block;
}

.inline span {
  padding:0 6px;
}
.card{
  margin-bottom: 5px;
  border-radius: 0px;
}
.card-body.Lv2 {
  padding:0.5rem 0.2rem;
}

.card-body {
  padding:0.75rem 0.5rem;
}

.card-header {
  padding:0;
  background-color:rgba(0,0,0,.05);
  /*border-bottom:1px solid rgba(0,0,0,.150);*/
  border: none;
}

.card-header a {
  font-size:0.8rem;
  padding:7px 5px;
}

.card-header a:hover, .card-header a:active {
  background:#920D14;
  color: #fff;
  text-decoration:none;
}

.tbl-typeA {
  font-size:small;
}

.tbl-typeA td, .tbl-typeA th {
  border-right:1px solid #dee2e6;
  padding:8px;
}

.tbl-typeA thead {
  background:#ebebeb;
  text-align:center;
}

.tbl-typeA thead th {
  border-right:1px solid #fff;
}

.tbl-typeA td:last-child, .tbl-typeA th:last-child {
  border-right:none;
}

.centerLastCell td:last-child {
  text-align:center;
}

a.popup:hover {
  position:relative;
  text-decoration:none;
}

a.popup span {
  display:none;
  position:absolute;
  bottom:0;
  left:2rem;
}

a.popup:hover span {
  display:block;
  border:none;
  width:150px;
  z-index:2;
}

#accordion-1 .card-header a[data-toggle="collapse"].collapsed::after,
#accordion-2 .card-header a[data-toggle="collapse"].collapsed::after,
#accordion-3 .card-header a[data-toggle="collapse"].collapsed::after,
#accordion-4 .card-header a[data-toggle="collapse"].collapsed::after,
#accordion-5 .card-header a[data-toggle="collapse"].collapsed::after,
#accordion-6 .card-header a[data-toggle="collapse"].collapsed::after,
#accordion-7 .card-header a[data-toggle="collapse"].collapsed::after,
#accordion-8 .card-header a[data-toggle="collapse"].collapsed::after,
#accordion-9 .card-header a[data-toggle="collapse"].collapsed::after,
#accordion-10 .card-header a[data-toggle="collapse"].collapsed::after,
#accordion-11 .card-header a[data-toggle="collapse"].collapsed::after {
  font-family:'Font Awesome 5 Free';
  font-weight:900;
  content:"\f055";
  float:right;
}

#accordion-1 .card-header a[data-toggle="collapse"]::after,
#accordion-2 .card-header a[data-toggle="collapse"]::after,
#accordion-3 .card-header a[data-toggle="collapse"]::after,
#accordion-4 .card-header a[data-toggle="collapse"]::after,
#accordion-5 .card-header a[data-toggle="collapse"]::after,
#accordion-6 .card-header a[data-toggle="collapse"]::after,
#accordion-7 .card-header a[data-toggle="collapse"]::after,
#accordion-8 .card-header a[data-toggle="collapse"]::after,
#accordion-9 .card-header a[data-toggle="collapse"]::after,
#accordion-10 .card-header a[data-toggle="collapse"]::after,
#accordion-11 .card-header a[data-toggle="collapse"]::after {
  font-family:'Font Awesome 5 Free';
  font-weight:900;
  content:"\f056";
  float:right;
}

#logo {
  width:20%;
  max-width:250px;
  min-width:200px;
}

a.cate2 {
  padding-top:.5rem;
  font-size:1.0rem;
}

a.cate2::before {
  font-family:'Font Awesome 5 Free';
  font-weight:900;
  content:"\f1b2";
  padding-right:0.2rem;
}

a.cate3 {
  padding-left:0.5rem;
  font-size:0.8rem;
}

a.cate4 {
  padding-left:0.5rem;
  font-size:0.8rem;
}


a.cate2_dl {
  padding-top:.5rem;
  font-size:1.0rem;
}

a.cate2_dl::before {
  font-family:'Font Awesome 5 Free';
  font-weight:900;
  content:"\f358";
  padding-right:0.2rem;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
.minw15 {
		min-width:15rem;
	}
}


/* cmseg */
.search_key input {
	width:25%;
	margin:0 15px 0 5px;
}
.search_key {
	padding:20px 0;
}
.in_ex {
	display:flex;
	justify-content:flex-end;
}
@media screen and (max-width:1240px) {
	.in_ex {
		clear:both;
	}
}
.in_ex .dataTables_filter {
	float:none;
	text-align:left;
}
.exclusion {
	padding-left:1rem;
}
.exclusion input {
	margin-left:0.5em;
}
.form-control-copy{
	height:calc(2.25rem + 2px);
	padding:.375rem .75rem;
	font-size:1rem;
	line-height:1.5;
	color:#495057;
	background-color:#fff;
	background-clip:padding-box;
	border:1px solid #ced4da;
	border-radius:.25rem;
	transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.form-control-copy::placeholder,
.form-control-copy::-moz-placeholder {
	color:#6c757d;
	opacity:1;
}
#cmtable td:first-child:not(.child),
#cmtable td:nth-child(2):not(.child),
#cmtable td:nth-child(6):not(.child) {
	text-align:center;
}
.tbl_open::after {
  font-family:'Font Awesome 5 Free';
  font-weight:900;
  content:"\f055";
}
.tbl_close::after {
  font-family:'Font Awesome 5 Free';
  font-weight:900;
  content:"\f056";
}
table.childtable th {
	text-align:center;
}
table.childtable th:first-child {
	width:20px;
}
table.childtable th:nth-child(2) {
	width:200px;
}
table.childtable th:last-child {
	width:100px;
}

.ms-choice {
	height:calc(2.25rem + 2px) !important;
	padding:.375rem .75rem !important;
	font-size:1rem;
	line-height:1.5 !important;
	color:#495057 !important;
	background-clip:padding-box;
	border-radius:.25rem !important;
	transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.ms-choice > span.placeholder {
	color:#6c757d;
	opacity:1;
}
.ms-choice > div {
	top:8px !important;
}

/* プログレスバー */
.circle {
    position: relative;
    width: 120px;
    height: 120px;
    background: #333;
    border-radius: 50%;
    text-align: center;
    overflow: hidden;
    z-index: 1;
}

.circle::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -60px;
    width: 120px;
    height: 120px;
    background: #999;
    transform-origin: right 60px;
    z-index: 2;
    animation: rotate-circle-left 2s linear infinite;
}

.circle::after {
    content: "";
    display: block;
    position: absolute;
    top: 0px;
    left: 60px;
    width: 120px;
    height: 120px;
    background: #999;
    transform-origin: left 60px;
    z-index: 3;
    animation: rotate-circle-right 2s linear infinite;
}

.circle .circle-inner {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 100px;
    height: 100px;
    padding-top: 38px;
    background: #fff;
    border-radius: 50%;
    z-index: 4;
}

@keyframes rotate-circle-right {
    0%   {
        transform: rotate(0deg);
        background: #999;
    }
    50%  {
        transform: rotate(180deg);
        background: #999;
    }
    50.01% {
        transform: rotate(360deg);
        background: #333;
    }
    100% {
        transform: rotate(360deg);
        background: #333;
    }
}

@keyframes rotate-circle-left {
    0%   { transform: rotate(0deg); }
    50%  { transform: rotate(0deg); }
    100% { transform: rotate(180deg); }
}

.page-header h1{
	font-size: 1.5rem;
	background: linear-gradient(transparent 80%, #ff99ab 70%);
}
h2.sub-header{
	font-size: 1.1rem;
	border-bottom: dotted 2px #ff99ab;
	margin-left: 2rem;
	
}
p.lead{
	font-size: 0.8rem;
}
p.lead-body{
  margin-left: 3rem;
  font-size:0.8rem
}

selection li{
	margin-left:30px;
}

.box {
  padding: 0;
  margin: 1em 0;
  border: dotted 2px #ff99ab;/*点線*/
}
.box p {
  margin: 0; 
  padding: 2px;
}



 /*カスタムGrid*/
 @media (min-width: 1600px) {
  .col-xl-2-large{
      -ms-flex: 0 0 19.666667%;
      flex: 0 0 19.666667%;
      max-width: 19.666667%;
  }

  .col-xl-10-large{
      -ms-flex: 0 0 80.333333%;
      flex: 0 0 80.333333%;
      max-width: 80.333333%;
  }
}

















/* サイドメニュー start */
.menu_list{
  padding: 0.2rem 0.5rem;;
}
.menu_list a{
  font-size: 0.7rem;
}
.info p{
  font-size:0.7rem
}



.info-title {
  position: relative;
  padding-left: 12px;
  font-size:0.8rem;
}

.info-title:before {
  position: absolute;
  content: '';
  bottom: -3px;
  left: 0;
  width: 0;
  height: 0;
  border: none;
  border-left: solid 8px transparent;
  /*border-bottom: solid 8px #920D14;*/
}
.info-title:after {
  position: absolute;
  content: '';
  bottom: -3px;
  left: 8px;
  width: 100%;
  border-bottom: solid 1px #920D14;
}




.info-message{
  padding: 2px;
  border: 1px solid rgba(0,0,0,.125);
  color: #920D14;
}


.info-message div{
  padding-top: 5px;
  font-size:0.7rem;
  height: 100px;
  padding-left: 5px;
}

.error-message{
  padding: 2px;
  border: 1px solid rgba(0,0,0,.125);
  color: #920D14;
}


.error-message div{
  padding-top: 5px;
  font-size:0.7rem;
  height: 200px;
  padding-left: 5px;
}


/* サイドメニュー end */
.logout_btn{
  margin:5px;
  border:1px solid #920D14;
  background-color: #920D14;
  color:#fff;
  width:80px;
  font-size: 0.7rem !important;
}
.logout_btn:hover{
  background-color: #fff;
  color:#920D14 ;
}
/* トップメニュー */
.topmenu p{
  font-size:0.7rem;
  padding-bottom: 0rem;
  margin-bottom: 0rem;
}
.topmenu{
  border-collapse: separate;
  border-spacing: 5px 5px;
}

.topmenu th{
  background-color:  #920D14;
  height: 35px;
  max-height: 35px;
  position: relative;
  text-align: center;
  vertical-align: middle;
  font-size: 24px;
  min-width: 35px;
}
.topmenu th span{
  text-align: center;
  color: #fff;
  font-weight: normal;
}
img{
  backface-visibility: hidden;
}

.topmenu th img{
  max-width: 40px;
  bottom: 0px;
  display: inline;
  position: absolute;
  right:2px;
  bottom:4px;
}

.tdgrid{
  border: solid 2px  #920D14;
  padding: 4px;
  vertical-align: top;
}
.tdgrid span{
  color: #920D14;
  font-size: 0.8rem;
}
.tdgrid b{
  font-size: 1.2rem;
}
.tdgrid td{
  height: 60px;
}



.menu_btn{
  font-size: 0.8rem;
  width:235px;
  vertical-align: middle;
  margin: 3px;
  display: inline-block;
  padding: 0.8em 0.5em;
  color: #fff;
  background: #920D14;
  transition: .3s;
}
.menu_btn:hover {
  color: #FFF;
  text-decoration: none;
  opacity: 0.7;
}
.menu_btn:active {
  color: #FFF;
  text-decoration: none;
}
.menu_btn_history{
  color: #920D14;
  background: #FFF;
  border: solid 1px  #920D14;
}
.menu_btn_history:hover{
  color: #fff;
  background: #920D14;
  opacity: 1.0;
}


/* 問い合わせ */
.menu_btn_info{
  background: #888888;
  color: #fff
}
.menu_btn_info:hover{
  background: #999999;
  color: #fff
}


.menu-title-block{
  border: solid 1px  #920D14;
  font-size: 0.8rem;
  width:150px;
  vertical-align: middle;
  text-align: center;
  margin: 0px;
  display:table;
  padding: 0.8em 0.5em;
  color: #920D14;
  height: 150px;
}
.menu-title-block span{
  display: table-cell;
  vertical-align: middle;
}
.menu-title-block p{
  font-size: 0.6rem;
  margin: 0px;
  padding-top: 5px;
}

.menu-title-block-step{
  height: 70px;
  display: table;
  margin: 0px;
  border-bottom: none;
  background-color: #920D14;
  color: #fff;
  /*font-weight: bold;*/
}
.menu-title-block-step span{
  display: table-cell;
  vertical-align: middle;
  border-bottom: solid 1px  #920D14;
}

.step_img{
  margin-top:10px;
  width:150px;
  height:50px;
  border-top: 30px solid lightgray;
  border-right: 75px solid transparent;
  border-left: 75px solid transparent;
}

/*パンくず*/
.breadcrumbs{
  display: block;
  padding-bottom:5px;
}

/* アクセス権限が無いボタン */
.permission_false{
  background: #888888;
  color: #fff
}
.permission_false:hover{
  background: #999999;
  color: #fff
}

/* 有償版登録はこちらボタン */
.pay_btn{
  position:absolute;
  right:370px;
  top:0px;
  width:170px;
  background-color:#fff;
  color:#920D14;
  font-size: 0.8rem;
  padding: 3px 0px 3px 5px;
  text-decoration: none;
  transition: .3s;
}

.pay_btn:hover{
  background-color: #EA6264;
  color: #fff;
  text-decoration: none;
}

/* Atma Liteはグループ内限定利用です。 */
.attention_top_msg{
  font-size:0.7rem;
  display: inline-block;
  position: relative;
  top:15px;
  left:10px;
  text-decoration:underline;
  word-wrap: keep-all;
}
@media (max-width: 1400px) {
  .attention_top_msg{
      width: 400px;
  }
}

/* 各メニューのタブ */
.tab, 
.tab2{
  border-bottom: 1px solid lightgray ;
  margin-left: 0px;
  padding-left: 0px;
}
.tab li ,
.tab2 li {
  color: #333;
  max-width:220px;
  min-width:120px;
  float: left;
  margin: 0px -1px -0px 0px;
  padding: 10px 10px;
  border-top : 1px solid lightgray ;
  border-left : 1px solid lightgray ;
  border-right : 1px solid lightgray ;
  cursor: pointer;
  list-style: none;
  transition: .3s;
  font-size:0.7rem;
  text-align: center;
  background-color: #e9ecef;
  /*
  border-radius:  10px 10px 0 0;
  */
}
.tab li.active,
.tab2 li.active {
  color: #fff;
  background: #920D14;
  cursor: auto;
}
.tab li:hover,
.tab2 li:hover {
  color: #fff;
  background: #920D14;
}


.area ul {
  display: none;
}
.area ul.show {
  display: block;
  margin-left: 0px;
  padding-left: 0px;
}
.box-title {
  position: absolute;
  display: inline-block;
  top: -8px;
  left: 10px;
  padding: 0 9px;
  line-height: 1;
  font-size:  0.9rem;
  background: #FFF;
  color: #920D14;
  font-weight: bold;
}




.subtitle{
  display: block;
  height: 30px;
}
.subtitle img{
  width:40px;
  margin-left:3px;
  margin-right:5px;
}
.subtitle div{
  float: left;
  display: flex;
  min-height: 40px;
  height: 40px;
  flex-direction: column;
  justify-content: center;
}