@charset 'utf-8';

.calendar_wrap {
	max-width: 1200px;
	margin: 100px auto 0;
}
.calendar_wrap * {
	box-sizing: border-box;
}
.calendar_wrap .preloader {
	text-align: center;
}
.calendar_wrap .preloader img {
	margin: 0 auto;
}


.each-month-area{
	margin: 30px 0;
}

.caltable {
    position: relative;
    display: flex;
    font-size: 16px;
    font-size: 13.6px;
    border: 1px solid #f4f1ec;
    border-width: 0 1px;
}


.caltable .month {
	width: 100%;
}

.caltableHead {
    min-width: 150px;
    width: 150px;
    background-color: #f3f3f3;
    border: 1px solid #f4f1ec;
    border-width: 0 1px 1px 0;
}
.caltableHead > * {
    display: block;
    margin: 0;
    position: relative;
    height: 45px;
    padding: 0.8em .25em;
    border: 1px solid #f4f1ec;
    border-left-width: 0;
    text-align: left;
    box-sizing: border-box;
}
.caltableHead dt {
    border-width: 0;
    background-color: #e8e8e8;
    color: #000;
    height: 45px;
}
.caltableHead dd {
    border-width: 0;
    background-color: #fff;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-wrap: normal;
	user-select: none; /* CSS3 */
	-moz-user-select: none; /* Firefox */
	-webkit-user-select: none; /* Safari、Chromeなど */
	-ms-user-select: none; /* IE10かららしい */
}
.caltableHead dd.corp_name:hover {
    cursor: pointer;
    color: #2196F3;
}
.caltableHead dd:first-of-type {
	font-weight: 400;
	height: 35px;
	padding: calc(17.5px - 0.8em) .25em;
}
.caltableHead dd:nth-of-type(even) {
	background-color: #f6f6f6;
}
.caltableHead span {
    display: block;
    width: 100%;
/*    text-overflow: ellipsis;*/
/*    overflow: hidden;*/
/*    white-space: nowrap;*/
	-webkit-user-select: none;  /* Chrome or Safari */
	-moz-user-select: none;     /* FireFox */
	-ms-user-select: none;      /* IE */
	-o-user-select: none;       /* Opera */
	user-select: none;
}




.caltableWeek {
	position: relative;
	overflow: hidden;
	overflow-x: scroll;
}
.caltableWeek ul {
	display: flex;
	list-style: none;
}
.caltableBody {
	position: relative;
	/* overflow: hidden; */
	/* overflow-x: scroll; */
	/* width: calc(100% - 151px); */
	/* max-width: 1200px; */
}
.caltableBody:hover {
}
@media screen\0 {
	.caltableBody:hover {
		cursor: default;
	}
}
.caltableBody ul {
	position: relative;
	display: flex;
	list-style: none;
	width: max-content;
	padding: 0;
	margin: 0;
}
.caltableBody li {
}
.caltableBody li > * {
    padding: 0.8em 0;
    border: 1px solid #f4f1ec;
    border-width: 0 1px 0 0;
    /*    height: 1.4em;*/
    text-align: center;
    box-sizing: border-box;
}
.caltableBody li.caltableTitle {
	min-width: 150px;
	width: 150px;
}
.caltableBody li:first-of-type > * {
	border-left-width: 0;
}
.caltableBody li:last-of-type > * {
    border-right-width: 0;
}
.caltableBody li {
	width: 30px;
}
.caltableBody li em {
	-webkit-user-select: none;  /* Chrome or Safari */
	-moz-user-select: none;     /* FireFox */
	-ms-user-select: none;      /* IE */
	-o-user-select: none;       /* Opera */
	user-select: none;
}
.caltableBody li em.calDay {
    height: 45px;
    display: block;
    background-color: #e8e8e8;
    color: #000;
}
.caltableBody li em.calDate {
    height: 35px;
    padding: calc(17.5px - 0.8em) 0;
    display: block;
    background-color: #fff;
    color: #000;
}
.caltableBody li:last-of-type em.calDate {
    border-right: 1px solid #f4f1ec;
}
.caltableBody li p {
    height: 45px;
    display: block;
    margin: 0;
    padding: 2px 0;
    position: relative;
}
.caltableBody li p:nth-of-type(odd) {
	background-color: #f6f6f6;
}

.caltableBody li:last-of-type p {
}
.caltableBody li p:last-of-type {
	border-bottom-width: 1px;
}
.caltableBody li span {
    /* word-break: keep-all; */
}
.caltableBody li .schedule {
    position: absolute;
    z-index: 10;
    background-color: #fffc00;
    width: max-content;
    height: 40px;
    padding: 5px;
    font-size: 12px;
    line-height: 1;
    /* white-space: nowrap; */
    /* word-break: keep-all; */
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    cursor: pointer;
    -webkit-user-select: none;  /* Chrome or Safari */
    -moz-user-select: none;     /* FireFox */
    -ms-user-select: none;      /* IE */
    -o-user-select: none;       /* Opera */
    user-select: none;
}
.caltableBody li .schedule.bookSpan {
    background-color: #fff;
    color: #000;
    border: 1px dashed #ee0000;
}
.caltableBody li .schedule.lottery {
    background-color: #ee0000;
    color: #fff;
}

.caltableBody li .schedule.payment {
    background-color: #6ac9fc;
    color: #333;
    z-index: 21;
    padding: 5px 0;
}

.caltableBody li .schedule.apply {
    background-color: #fca726;
    color: #333;
/*    text-shadow: 1px 1px 0 #ed3f00, -1px 1px 0 #ed3f00, -1px -1px 0 #ed3f00, 1px -1px 0 #ed3f00, 1px 0 0 #ed3f00, -1px 0 0 #ed3f00, 0 -1px 0 #ed3f00, 0 1px 0 #ed3f00;*/
}
.caltableBody li .schedule.single {
    word-break: break-word;
    /* white-space: normal; */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    /* word-wrap: normal; */
    /* color: #fff; */
}
.caltableBody li .schedule.listing {
    background-color: #a1e356;
    color: #333;
}
.caltableBody li .schedule:hover {
	opacity: 0.7;
}
.caltableBody li .schedule.bookSpan:hover {
    background-color: #fafeff;
}

.caltableBody li em.sat {
	color: #a6f1ff;
}
.sat p {
	background-color: #f4fdff;
}
.caltableBody li em.sun {
	color: #ffa0a0;
}
.sun p {
	background-color: #fff4f4;
}
.caltableBody li .schedule.overMonthStart {
    border-radius: 0 6px 6px 0;
}
.caltableBody li .schedule.overMonthEnd {
    border-radius: 6px 0 0 6px;
}

.caltableBody li.todayMark {
	background-color: #fefcbf;
}
.caltableBody li.todayMark em.calDay,
.caltableBody li.todayMark em.calDate,
.caltableBody li.todayMark p:nth-of-type(odd) {
	background-color: transparent;
}
.no_ipo.active {
	width: 100vw;
	max-width: 1200px;
	overflow: hidden;
}
.no_ipo .caltableHead {
	position: relative;
	height: 80px;
	z-index: 0;
	background-color: transparent;
}
.no_ipo .caltableHead dd:first-of-type {
	border-bottom: 1px solid #f4f1ec;
}
.no_ipo .caltableBody {
	z-index: 10;
	overflow: visible;
}
.no_ipo .caltableBody li em.calDate {
	border-bottom-width: 1px;
}
.no_ipo_message {
	display: flex;
	height:400px;
	margin-left: -151px;
	justify-content: center;
	align-items: center;
	border-bottom: 1px solid #f4f1ec;
	border-right: 1px solid #f4f1ec;
}





/**
 * balloon
 */
.balloon {
    position: absolute;
    left: 160px;
    z-index: 170;
    width: auto;
    height: auto;
    background: #fff;
    padding: 10px;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}
.balloon_head {
    display: flex;
    justify-content: space-between;
}
.balloon_head h4 {
	margin-right: 20px;
	margin-bottom: 10px;
	font-size: 16px;
	font-weight: 500;
	white-space: nowrap;
}
.balloon_head img {
	width: 24px;
	height: 24px;
}
.balloon p {

}
.balloon .icon {
	/* float:right; */
	cursor: pointer;
	-webkit-user-select: none;  /* Chrome or Safari */
	-moz-user-select: none;     /* FireFox */
	-ms-user-select: none;      /* IE */
	-o-user-select: none;       /* Opera */
	user-select: none;
}

.official {
    word-break: break-all;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.official a {
	color: blue;
	text-decoration: underline;
	text-overflow: ellipsis;
}


/**
 * Block Control
 */
.calender-group article {
    display: none;
}

.calender-group article.active {
    display: block;
}



/**
 * Animation
 */
.calender-group article {
	position: relative;
	/* overflow: hidden; */
	-webkit-transform: translateX(100vw);
	-ms-transform: translateX(100vw);
	transform: translateX(100vw);
	-webkit-transition: opacity ease .5s, -webkit-transform ease .5s;
	transition: opacity ease .5s, -webkit-transform ease .5s;
	-o-transition: transform ease .5s, opacity ease .75s;
	-webkit-transition: opacity ease .75s, -webkit-transform ease .5s;
	transition: opacity ease .75s, -webkit-transform ease .5s;
	transition: transform ease .5s, opacity ease .75s;
	transition: transform ease .5s, opacity ease .75s, -webkit-transform ease .5s;
	opacity: 0;
}
.calender-group article.off {
	-webkit-transform: translateX(-100vw);
	-ms-transform: translateX(-100vw);
	transform: translateX(-100vw);
	height: auto;
	opacity: 0;
}
.calender-group article.active {
	-webkit-transform: translateX(0);
	-ms-transform: translateX(0);
	transform: translateX(0);
	opacity: 1;
}


#calControl input {
	border: 0 none;
	outline: 0 none;
	background: 0 none;
	text-decoration: underline;

	display:inline-block;
	font-size:13px;
	padding:5px 15px;
	margin-right:10px;
	background-color:#54585E;
	color:#ffffff;
	text-decoration:none;

	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
}
#calControl input:hover {
	background-color:#20252a;
}

#calControl {
}
#calControl input:disabled {
	text-decoration: none;
}



/* IPO取扱銘柄スケジュール
------------------------------------------------------- */
.calendar_wrap .title {
	margin-bottom: 20px;
	line-height: 1.4;
	text-align: center;
	font-size: 25px;
	font-weight: 500;
}
@media screen and (min-width: 769px) {
 .calendar_wrap .title {
	 font-size: 40px;
 }
}
@media screen and (max-width: 768px) {
 .caltableHead,
 .no_ipo .caltableHead {
	 max-width: 768px;
	 width: 100% !important;
	 border-right: none;
 }
 .caltableBody {
	 display: none !important;
 }
 .no_ipo .caltableBody {
	 display: block !important;
 }
 .no_ipo .caltable {
	 display: block !important;
 }
 .no_ipo .caltable .caltableHead {
	 height: 45px !important;
 }
 .no_ipo .caltable .caltableHead dd {
	 display: none !important;
 }
 .no_ipo .caltableBody ul {
	 display: none !important;
 }
  .no_ipo .caltableBody .no_ipo_message {
	 height: 40px !important;
	 max-width: 768px;
	 width: 100% !important;
	 display: block !important;
	 text-align: center !important;
	 margin: 0 5px !important;
	 padding: 10px 0px 0 !important;
 }
 #modal_wrap {
	 display: none !important;
 }
 .balloon {
	 width: 87% !important;
	 z-index:10001 !important;
 }
}
@media screen and (min-width: 769px) {
.calendar_wrap {
	position: relative;
	 max-width: 1163px !important;
	 margin: 50px auto 0 !important;
	 width: 97%;
	 z-index: 2;
 }
}
@media screen and (min-width: 769px) {
 .no_ipo_message {
	 height: 90px !important;
 }
}

/* IPO企業名 上場日非表示 */
.caltableHead dd .listing_date {
	display: none;
}



/**
 * debug
 */
/* #calControl {*/
/*    position: fixed;*/
/*    top: 0;*/
/*    left: calc(50vw - 140px);*/
/*}*/
