/* 共通初期設定
-------------------------------------------------- */
html, body, h1, div, p, ul, dl, dt, dd, form, input, aside, header, nav, section {
	margin: 0;
	padding: 0;
}

/* HTML5 Elements */
aside, header, nav, section {
	display: block;
}


/* body */
body {
	background-color: #FFF;
	color: #333;
	font-size: 62.5%;
	font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", HiraKakuPro-W3, Osaka, verdana, arial, sans-serif;
	line-height: 1.4;
	text-align: center;
	-webkit-text-size-adjust: 100%;
}

h1, h2, h3, h4, h5, h6,
div, p, pre, ul, ol, dl, dt, dd {
	display: block;
	font-size: 100%;
	line-height: 1.4;
}

img {
	border: none;
}

li {
	list-style: none;
	list-style-position: outside;
	vertical-align: bottom;
}

li a {
	line-height: normal;
}

input {
	font-size: 100%;
	font-family: inherit;
	vertical-align: middle;
}

input[type="text"], input[type="password"] {
	--webkit-appearance: none;
	border-radius: 0;
	width: 100%;
}

textarea {
	font-size: 100%;
	font-family: inherit;
	vertical-align: middle;
}

/* 共通デザイン
-------------------------------------------------- */

/* サイト内ベースレイアウト */
html {
	font-size: 62.5%;
	height: 100%;
}
body {
	position: relative;
	height: 100%;
font-size: 1.4rem;
font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Hiragino Kaku Gothic ProN'; }
img { width: 100%; }

.user_common_area {
	margin-bottom: 10px;
}
#sp_menu {
	float: right;
    position:absolute;
    display: none;
}
#menu 
{
    display: none;
}
#lastlogin {
	float: right;
	text-align: right;
}
#container {
	min-height: 73%;
	overflow: hidden;
}
#global_header {
	width: 100%;
	height: 70px;
	background: linear-gradient(#6e8eff, #91D3FF 10px, white 20px);
	border-bottom: thin solid #91D3FF;
	padding-top: 10px;
	margin-bottom: 5px;
}

#global_nav {
	float: left;
	width: 260px;
	text-align: left;
}
#main {
	float: right;
	width: 710px;
}
#main_nologin 
{
    clear: both;
	width: 710px;
	margin: auto;
}
.block {
	margin-bottom: 10px;
	text-align: left;
}
h2.subTitle 
{
    color: navy;
}
.pointer {
	cursor: pointer;
}
.text_left {
 text-align: left;
}
.text_right {
 text-align: right;
}
.text_nl_sr 
{
 text-align: left;
}
.in_block {
    display: inline-block;
}

/* 右上メニューボタン */
.wrap { 
    position: relative; 
}
.panel {
  background: #2C3E50;
  z-index: 9999;
  position: fixed;
  right: -15.625em; /*or width of your navigation panel*/
  width: 15.625em; /*should match the above value*/
}

.panel ul {
  border-top: 2px solid #34495D;
  background: #2C3E50;
}

.panel a {
  display: block;
  border-bottom: 2px solid #34495D;
  padding: 5px;
}

.panel a:link,
.panel a:visited {
  color: #fff;
}

.panel a:hover,
.panel a:active {
  background: #2e98ff;
}

.panel li.menu_close {
    text-align: right;
    border-top: 2px solid #34495D;
}

.inner_sec 
{
    margin: 10px 0px;
    text-align: left;
    padding: 10px;
}

.text_center
{
    text-align: center;
}

.desc_text
{
    margin-bottom: 10px;
}

.info_area
{
    text-align: left;
    margin-bottom: 10px;
}

/* パン屑ナビ */
.crumb_list {
	text-align:left;
}

/* 左端メニューボタン */
.nav_btn {
	position: relative;
	padding: 10px;
	border: solid 1px #e1e1e1 !important;
	background: #bedfff;
	font-size: 1.6rem;
	font-weight: bold;
	color: #696969;
	cursor: pointer;
	margin-top:5px;
}
.nav_btn:hover {
	background: #f4f6fd;
	color: #112d7d;
}
.nav_btn:focus {
	background: #f4f6fd;
	color: #112d7d;
}

/* 各種メニュー内イベントボタン */
.btn_area
{
    position: relative;
}
.prt_btn_area
{
    position: relative;
    margin: 30px 0px;
    width: 200px;
    text-align: center;
    display: inline-block;
}
.btn_area_xsmall
{
    position: relative;
    margin: 3px;
    width: 100px;
}
.btn_area_xxsmall
{
    position: relative;
    margin: 3px;
    width: 50px;
}
.btn_area_small_left
{
    position: relative;
    margin: 3px;
    width: 150px;
    float: left;
}
.btn_area_small_right
{
    position: relative;
    margin: 3px;
    width: 150px;
    float: right;
}
.process_btn {
	color: white;
	cursor: pointer;
	background-color: Navy;
	border: solid 1px #c3c3c3 !important;
	border-radius: 4px;
	-webkit-border-radius: 4px;
    -webkit-appearance: none;
	font-weight: bold;
	margin:2px;
	padding: 10px;
	text-align: center;
    width: 100%;
}
.process_btn:hover {
	background-color: #26499d;
}
.eve_btn {
	color: white;
	cursor: pointer;
	background-color: Navy;
	border: solid 1px #c3c3c3 !important;
	border-radius: 4px;
	-webkit-border-radius: 4px;
    -webkit-appearance: none;
	font-weight: bold;
	margin:2px;
	padding: 10px;
	text-align: center;
    width: 100%;
    -moz-box-sizing:border-box; /* Firefox */
    -webkit-box-sizing:border-box; /* Chrome, Safari */
}
.eve_btn:hover {
	background: #26499d;
}
.cancel_btn {
	background-color: #666666;
	border: solid 1px #c3c3c3 !important;
	border-radius: 4px;
	color: white;
	cursor: pointer;
	-webkit-border-radius: 4px;
    -webkit-appearance: none;
	font-weight: bold;
	margin:2px;
	padding: 10px;
	text-align: center;
    width: 100%;
}
.cancel_btn:hover {
	background-color: #999999;
}
.send_btn_area 
{
    position: relative;
    text-align: center;
	width: 80%;
	display: inline-block;
	overflow: hidden;
	margin-bottom: 10px;
}
.send_btn {
	color: white;
	cursor: pointer;
	background-color: Navy;
	border: solid 1px #c3c3c3 !important;
	border-radius: 4px;
	-webkit-border-radius: 4px;
    -webkit-appearance: none;
	font-weight: bold;
	margin:2px;
	padding: 14px;
	width: 100%;
}
.send_btn:hover {
	background-color: #26499d;
}
.triangle_ico {
	position: absolute;
	display: inline-block;
	top: 35%;
	right: 5%;
	width: 0;
	height: 0;
	border: 4px solid transparent;
	border-left: 4px solid #fefeff;
}
.triangle_back_ico {
	position: absolute;
	display: inline-block;
	top: 35%;
	left: 5%;
	width: 0;
	height: 0;
	border: 4px solid transparent;
	border-right: 4px solid #fefeff;
}
.menu_ic {
	float: left;
	width: 40px;
	margin-right: 5px;
}
.menu_ic + p {
	clear: left;
	display: inline-block;
}
.menu_ic img {
	width: 100%;
}
#global_header h1 {
	display: table-cell;
	width: 174px;
	text-align: left;
	vertical-align: middle;
}
#co_name {
	display: table-cell;
	vertical-align: middle;
	text-align: right;
}
#co_name li {
	display: inline-block;
	vertical-align: text-top;
}
#co_name_no_login {
	display: table-cell;
	vertical-align: middle;
	text-align: right;
}
#co_name_no_login li {
	display: inline-block;
	vertical-align: text-top;
}
.login_info {
	display: table-cell;
	vertical-align: middle;
	text-align: right;
}
.login_info li {
	display: inline-block;
	vertical-align: text-top;
}
.logout_ic {
	display: inline-block;
	vertical-align: text-top;
	width: 18px;
	margin: 0 6px;
}
.box_area {
	text-align: left;
	overflow: hidden;
}
.box {
	display: block;
	float: left;
	text-align: left;
	width: 45%;
	height:110px;
	margin: 5px;
	padding: 10px 10px;
	border: solid 2px #e8e8e8;
	vertical-align: top;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 10px;
	background-color: #bedfff;
	color: #696969;
}
.box p 
{
	font-size: 1.6rem;
    padding: 5px 0px;
}
.box dl {
	display: block;
	overflow: hidden;
	height: auto;
}
.box dt {
	display: inline-block;
	height: auto;
	margin-bottom: 6px;
	vertical-align: middle;
	font-weight: bold;
}
.box:hover,
.box:focus {
	background: #f4f6fd;
	color: #112d7d;
}
.widebox {
	display: block;
	float: left;
	text-align: left;
	width: 91.6%;
	height:auto;
	margin: 5px;
	padding: 10px 10px;
	border: solid 2px #e8e8e8;
	vertical-align: top;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 10px;
	background-color: #ffffff;
	color: #696969;
}
.widebox dl {
	display: block;
	overflow: hidden;
	height: auto;
}
.widebox dt {
	font-size: 1.6rem;
	display: inline-block;
	height: auto;
	margin-bottom: 6px;
	vertical-align: middle;
	font-weight: bold;
	color: #5e8ad7;
}
.widebox:hover,
.widebox:focus {
	background: #f4f6fd;
	color: #112d7d;
}
.float_left 
{
    float: left;
}
.float_right 
{
    float: right;
}
.float_end 
{
    clear: both;
}
.m_top10
{
    margin-top: 10px;
}

section table { 
	width: 100%;
	border-collapse: collapse;
}
section th, section td  { 
	padding: 10px;
	border: 1px solid #ddd;
}
section th  { 
	background: #e9f4fb; 
}

/* 1:1対応テーブル */
.hash_table {
    text-align:left;
}
.hash_table th  { 
	width: 30%;
    vertical-align: middle;
}
.hash_table td  { 
    vertical-align: middle;
}
/* 1:1対応テーブル - 480px以下の場合 */
@media only screen and (max-width:480px){
    .hash_table { margin: 0 -10px; }
    .hash_table th,
    .hash_table td{
         width: 100%;
         display: block;
         border-top: none;
         float:left\9; /* IE対応 */
     }
    .hash_table tr:first-child th { border-top: 1px solid #ddd; }
    section.tr_one_rec th, section.tr_one_rec td  { 
	    border: none;
    }
    section.tr_one_rec th.th_top, section.tr_one_rec td.td_top  { 
	    border-top: 1px solid #ddd;
    }
    section.tr_one_rec th.th_bottom, section.tr_one_rec td.td_bottom  { 
	    border-bottom: 1px solid #ddd;
    }
}

/*リストテーブル*/
div.listtable table {
	border-bottom: #cccccc 1px solid;
    text-align: left;
    width: 100%;
}

div.listtable table caption {
	font-size: 95%;
	color: #5e8ad7;
	font-weight: bold;
	text-align: left;
	padding-bottom: 3px;
	border-bottom: #cccccc 1px solid;
}

#divListTableHead 
{
    margin:10px 0px;
    overflow-x: auto;
}

#divListTableHead::-webkit-scrollbar{ 
	height: 10px;
    width: 15px;
}
#divListTableHead::-webkit-scrollbar-thumb{ 
    background: #e6e6e6; /* スマホ スクロールバー部分 */
    border-radius: 10px;
}
#divListTableHead::-webkit-scrollbar-track-piece:start{
    background: gray;
}
#divListTableHead::-webkit-scrollbar-track-piece:end{
    background: gray;
}

div.listtable_title {
	font-size: 95%;
	color: #5e8ad7;
	font-weight: bold;
	text-align: left;
	padding-top: 10px;
}

div.listtable table th {
	padding-top: 4px;
	padding-bottom: 5px;
	background-color: #e9f4fb;
	border-top: #ffffff 1px solid;
	border-top: #cccccc 1px solid;
	border-bottom: #cccccc 1px solid;
}

div.listtable table td {
	padding-top: 6px;
	padding-bottom: 4px;
	border-top: #cccccc 1px dotted;
}

div.listtable table th,div.listtable table td,div.datatable table th,div.datatable table td {
	padding-left: 13px;
	padding-right: 13px;
}

div.listtable table td.price {
    text-align: right;
}

/* 各メニュータイトル */
.detail_title
{
    font-size: x-large;
    text-align: left;
    margin-top: 10px;
    margin-bottom: 10px;
    color: Navy;
}

.inner {
	width: 1000px;
	margin: 0 auto;
}
.table {
	display: table;
	height: 100%;
}
.link_area {
	position: relative;
}
#global_nav .block_link {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	background: #fff;
	opacity: 0;
}
.block_link {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
    color: Black;
}
.reqd {
    color: Red;
    
}

#result_msg {
    margin: 20px;
}

.info_list,
.info_table {
    padding-bottom: 30px;
}

input.telno {
    width: auto;
}

input.birthday {
    width: auto;
}
.prtBtnItem {
    margin: 30px;
}

/*********************/
/* 読み込み中表示 **/
/*********************/
/*=== LoadingStyle ===*/
#loading {
    display: table;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #000000;
    opacity: 0.8;
    z-index: 99998;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
/*=== LoadingAnimation ===*/
.spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -webkit-transform-origin: center;
            transform-origin: center;
    width: 120px;
    height: 120px;
}
.spinner.design {
    border-radius: 50%;
    border-width: 8px;
    border-style: solid;
    border-color: #fff rgba(255, 255, 255, 0.12) rgba(255, 255, 255, 0.12);
    -webkit-animation: spinner1_1 1.5s infinite linear forwards;
            animation: spinner1_1 1.5s infinite linear forwards;
}
@-webkit-keyframes spinner1_1 {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
            transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes spinner1_1 {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
            transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}
@-webkit-keyframes spinner_loading_text {
  0% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  50% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}
@keyframes spinner_loading_text {
  0% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  50% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}
/* LoadingText */
#loading span {
    position: absolute;
    top: 50%;
    left: 50%;
	z-index: 99999;
	animation: spinner_loading_text 1.5s infinite linear;
    font-size: 15px;
    color: #fff;
}

/* 各種デバイス対応
-------------------------------------------------- */
/*  1: max-width 1023px (for iPad and PC)
	2: max-width 800px (for Tablet device)
	3: man-width 480px (for Smart Phone)
	4: man-width 320px (for IPhone5~)
*/

/* 1: max-width 1023px (1023px以下) */
@media screen and (max-width: 1023px) {
	#global_nav { width: 27.3%; }
	#main { width: 71.3%; }
	#main_nologin { width: 71.3%; }
	.inner { width: 93%; }
}

/* 2: max-width 800px (800px以下) */
@media screen and (max-width: 800px) {
	html{ font-size: 63%; }
	#global_nav { display: none; }
	#global_header { position: relative;}
	#main { width: 98%; float: none; margin: 0 auto; }
	#main_nologin { width: 98%; float: none; margin: 0 auto; }
    .login_info { padding-right: 60px;}
	.login_info li { display: block; }
    #co_name { padding-right: 60px; }
    #co_name li { display: block; }
	#global_header .inner.table {
		width: 93%;
		z-index: 1;
	}
    #sp_menu {
        display: block;
    }
    #menu {
        /*display: block;*/
    }
    .box {
	    text-align: left;
	    width: 95%;
    	height:auto;
    }
    .widebox {
	    text-align: left;
	    width: 95%;
    	height:auto;
    }
}

/* 3: max-width 480px (480px以下) */
@media screen and (max-width: 480px) {
	html {
		font-size: 60%;
	}
	body {
	}
	#global_header h1{
		width: 46%;
	}
    #divListTableHead 
    {
        width: 100%;
        overflow-x: scroll;
    }
    
    #divListTableHead table {
        width: 100%;
        white-space: nowrap; 
    }
    .prt_btn_area
    {
        width: 100%;
    }
    .btn_area_small_left 
    {
        float: none;
        clear: both;
        width: 100%;
    }
    .btn_area_small_right
    {
        float: none;
        clear: both;
        width: 100%;
    }
	table.hash_table tr td .float_left ,
	table.hash_table tr td .float_right 
	{
	    float: none;
	}
/*
    input.telno {
        width: calc(100% - 20px);
    }
*/
    input.birthday {
        width: calc(100% - 20px);
    }
    .text_nl_sr 
    {
     text-align: right;
    }
}

/* 4: max-width 320px (320以下) */
@media screen and (max-width: 320px) {
	.inner{
		width: 99%;
	}
    !importantbox {
	width: 28.7%;
	margin-left: 1.5%;
	margin-right: .8%;
    }
}

