/*------------------------*/
/*---- ベーススタイル ----*/
/*------------------------*/
@import url("common.css");
/* @import url("sticky_footer.css"); */
@import url("bootstrap.css");

* { margin:0; padding:0 }
BODY { margin:0 auto; font-family: 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','メイリオ',Meiryo,Verdana,'ＭＳ Ｐゴシック',Osaka,Arial,sans-serif;}

/* BODY,TD,TH { font-family: Arial, Helvetica, sans-serif; color:#333 } */
A { text-decoration:none; }
A:link { color:#06F;  }
A:visited { color:#06F; }
A:hover { color:#06C; }
IMG { border:none }



HTML {
	font-size: 16px;
	min-height: 100%;
	position: relative;
}


header {
    background-color: #3496d8;
	border-bottom: solid 5px #158ED0;
}

.header {
	position: relative;
	max-height: 150px;
	z-index: 1030;
}



FOOTER {
	bottom: 0;
	font-size: 0.9rem;
//	position: absolute;
}

.main {
	overflow: hidden;
}

.breadcrumb {
	background:transparent;
	background-color: #fff;
  
}
.breadcrumb li+li:before {
  content:'»';
}
/****************/
/* Navbar start */
/****************/

HEADER .navbar H1 {
	display: inline-block;
	font-size: 1.3rem;
	margin-right: auto;
	white-space: nowrap
}

.navbar-expand button.navbar-toggler {
	display: inline-block;
}

.navbar-brand a {
	text-decoration: none;
}


/**************/
/* Navbar end */
/**************/

TABLE {
	font-size: 14px;
}


.form-group { 
	margin-bottom: 1rem;
}

.figure { margin-left:auto; margin-right:auto; text-align:center; }




footer ul {
	margin-bottom: 0
}

.required { background: #ff4200 none repeat scroll 0 0; border-radius: 3px; color: #fff; font-size: 10px; margin-left: 5px; padding: 1px 3px; white-space: nowrap; }

.contents { margin-bottom:1em; }

.submit { margin-left:auto; margin-right:auto; text-align:center; }



h1 {
    color: #fff;
    background-color: #3496d8;
	border-radius: 0.5em;/*角の丸み*/
    padding:.6em .8em;
    font-size: 1.3rem;
}

/*
h1 {
    color: #3496d8;
     border-left:7px solid #3496d8;
     padding:.6em .8em;
     font-size: 1.3rem;
}
*/

h1.title {
	position: relative;
	padding: 0.2em 0.5em;
	background: -webkit-linear-gradient(to right, rgb(255, 124, 111), #ffc994);
	background: linear-gradient(to right, rgb(255, 124, 111), #ffc994);
	color: white;
	font-weight: lighter;
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.56);
	font-size: 1.6rem;
}


h2 {
    color: #fff;
    padding: .5rem;
    background-color: #3496d8;
    border: 1px solid #3496d8;
	border-radius: 0.5em;/*角の丸み*/
    font-size: 1.3rem;
}


h3 {
    color: #343a40;
    background-color: rgba(52,150,216,.3);
    padding: .5rem;
    border-bottom: 3px solid #007bff;
	border-radius: 0.5em;/*角の丸み*/
    font-size: 1.2rem;
}

h4.card-header {
    color: #fff;
    background-color: #17a2b8;
    padding: .5rem;
	border-radius: 0.5em;/*角の丸み*/
    font-size: 1.0rem;
}

h5 {
    font-size: 1.2rem;
}

h5.title {
    color: #fff;
    padding: .4rem;
    background-color: #17a2b8;
	border-radius: 0.4em;/*角の丸み*/
    font-size: 1.0rem;
}


h6 {
    color: #343a40;
}

h4.alert-heading {
    color: #FF0000;
    background-color: #FFFFFF;
    padding: .5rem;
//    border-left: 3px solid #007bff;
	border-radius: 0.5em;/*角の丸み*/
    font-size: 1.0rem;
}



.card {
    margin-top: 1rem;
}

.card-header {
    background-color: #3496d8;
    color: #fff;
    font-size: 1rem;
	padding: 0.40rem 1rem;
	border-radius: 0.5em 0.5em 0 0;/*上部のみ角の丸み*/
}

.card-header a {
    color: #fff;
}

.card-body {
	padding: 1rem;
}

.sidebar .card-body {
	padding: 0rem;
}

.sidebar .card {
	width:100%;
}

.sidebar .list-group-item {
	border: none;
	padding: 0rem 0.5rem;
//	margin-bottom : 0
}



.status_disp {
	font-size:x-small;
	color:#CCC;
}


.form-control OPTION {
	font-size:14px;
}



/* overwrite style for table-responsive
-------------------------------------------------- */
.table-responsive > .table {
	width: 100%;
	table-layout: fixed;
	word-wrap: break-word;
}

/* end-------------------------------------------------- */






.footerfixed {
	min-height: 100vh; /* ←コンテンツの高さの最小値＝ブラウザの高さに指定 */
	position: relative;/* ←相対位置 */
	padding-bottom: 55px; /* ←フッターの高さを指定 */
	box-sizing: border-box;
    /* ↑ヘッダーやフッターを含むすべての要素の高さ＝min-height:100vhになるように指定 */
}



/*-- // google_adsense --*/
DIV.google_adsense { width:auto; text-align:center; margin:0 auto; }


.qrcode {
	float :right;
}

/***************** // footer menu ****************/

.footer_menu {
	background-color: #EEEEEE;
}

.footer_menu .list-group-item {
	border: none;
	padding-left : 0.75rem;
	padding-right : 0.75rem;
	font-size: 0.8rem;
//	margin-bottom : 0;
}

.footer_menu .card {
	border: none;
}

/***************** footer menu // ****************/


/***************** // auth_site ****************/


.auth_site {
	width: 396px;
	margin-top: 10px;
	margin-left: auto;
	margin-right: auto;
}



.auth_site .auth_item {
	align-items: center;
	display: flex;
	border: 1px solid #ced4d6;
	border-radius: 5px;
	color: #000;
	padding: 1em 0.5em;
}

.auth_item A {
	display: flex;
	align-items: center;
	text-align: center;
	width: 100%;
  color: inherit; /* リンクの色を親要素から継承 */
  text-decoration: none; /* 下線を削除（リンクの下線を削除） */
}


.auth_item IMG {
	max-width: 100%;
	width: 24px;
	height: auto;
	margin-right: 10px;
}

.auth_item SPAN {
	flex: 1;
	text-align: center;
	font-weight: 700;
}


/***************** auth_site // ****************/











/***************** // responsive ****************/


@media (min-width: 992px) {

	html {
		font-size: 1rem;
	}

    .navbar-dark .navbar-nav .nav-link {
      font-size: 90%;
    }
    .navbar {
      flex-flow: wrap;
    }
    #navbarNav {
      display: none !important;
    }
    .sidebar .list-group-item {
      padding: .5rem .75rem;
    }
    .dropdown-divider {
      margin: .1em 0;
    }
    .jq_mg {
      margin-top: 0 !important;
    }
}

@media (max-width: 991px) {

	html {
		font-size: 1rem;
	}

    .main_menu {
        font-size: 100%;
    }
    ul.drawer-menu .list-group-item {
        background-color: transparent;
        border: none;
        padding: 0;
    }
    ul.drawer-menu .list-group-item a {
        color: rgba(255,255,255,.5);
        padding: 0.5rem 0;
        display: block;
    }
    #openNav {
        height: 0;
    }
    main {
        position: relative;
    }
    .aside, .card.bd-none {
        position: static;
        margin: 0;
        background: transparent;
        border: none;
    }
    #openNav {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        background: #17a2b8;
        padding: .5rem 1rem;
    }
    .jq_mg {
        transition: all 0.5s ease 0s;
    }
}

@media (max-width: 575px) {

	html {
		font-size: 0.8rem;
	}

    .navbar-dark .navbar-nav .nav-link,
    ul.drawer-menu .list-group-item a {
        font-size: 11px;
    }
    .navbar-toggler {
        padding: .3rem .55rem;
        font-size: 1rem;
    }
}