@charset "utf-8";

/* ==========================================================================================
	--login
========================================================================================== */
#login .wrapper {
	margin: 0;
	background: #fff;
}
#login main {
	margin-top: 0;
	padding: 0 15px;
	display: -webkit-box;
  	display: -ms-flexbox;
  	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#login main .inner {
	margin: 0;
	width: 100%;
	max-width: 400px;
	border: none;
}
#login main h1 {
	margin-bottom: 1.5em;
	padding: 0;
	font-size: 2rem;
	text-align: center;
	background: #fff;
	border: none;
}
#login main h1 span {
	margin-top: .5em;
	display: block;
}
#login main form input {
	margin-top: 1.5em;
}
#login main form input:first-of-type {
	margin-top: 0;
}
#login main form button {
	margin: 1.5em auto 0;
	width: 100%;
	max-width: 100%;
}
#login footer {
	margin-top: 50px;
	padding: 0;
	border: none;
}

/* ==========================================================================================
	--sales_office
========================================================================================== */
.sales_office .date {
	margin-bottom: 1em;
	font-size: 1.6rem;
	font-weight: bold;
}
.sales_office .goal,
.sales_office .estimated,
.sales_office .remaining {
	margin-bottom: 1.5em;
}
.sales_office .goal tr:first-of-type th {
	background: #e1f1ff;
}
.sales_office .goal tr:nth-of-type(2) th {
	background: #ffe4e1;
}
.sales_office .goal tr:nth-of-type(3) th {
	background: #ffeac4;
}
.sales_office .goal td,
.sales_office .estimated td,
.sales_office .remaining td {
	text-align: center;
}
.sales_office .remaining thead th:nth-of-type(4) {
	background: #d9d9d9;
}
.sales_office .remaining tbody th {
	background: #fff;
}
.sales_office .estimated thead th:nth-of-type(2) {
	background: #ffe4e1;
}
.sales_office .estimated thead th:nth-of-type(3) {
	background: #e1f1ff;
}
.sales_office .estimated thead th:nth-of-type(4) {
	background: #ffeac4;
}
.sales_office .yomi {
	table-layout: auto;
}
.sales_office .yomi thead tr:nth-of-type(2) th {
	font-size: 85%;
	font-weight: normal;
}
.sales_office .yomi thead tr:first-of-type th:first-of-type,
.sales_office .yomi thead tr:first-of-type th:last-of-type {
	width: 4em!important;
}
.sales_office .yomi thead tr:first-of-type th:nth-of-type(9) {
	width: 3em!important;
}
.sales_office .yomi tbody td {
	white-space: normal;
}
.sales_office .yomi tbody td:nth-of-type(-n+10),
.sales_office .yomi tbody td:nth-of-type(15),
.sales_office .yomi tbody td:nth-of-type(n+17):nth-of-type(-n+23),
.sales_office .yomi tbody td:last-of-type {
	text-align: center;
}
.sales_office .yomi tbody td:nth-of-type(n+11):nth-of-type(-n+14) {
	text-align: right;
}
.sales_office .yomi tbody td:nth-of-type(11),
.sales_office .yomi tbody td:nth-of-type(14) {
	color: #2548f3;
}
.sales_office .yomi tbody td:nth-of-type(12),
.sales_office .yomi tbody td:nth-of-type(13) {
	color: #F32525;
}
.sales_office .yomi tbody td:first-of-type,
.sales_office .yomi tbody td:last-of-type {
	white-space: nowrap;
}
.sales_office .yomi tbody td:nth-of-type(4),
.sales_office .yomi tbody td:nth-of-type(5) {
	font-size: 85%;
}

.total h3 {
	margin-bottom: 1em;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
}
.total .target td {
	background: #fff;
}
.total .yomi_toral td {
	text-align: right;
}
.total .yomi_toral td:nth-of-type(1),
.total .yomi_toral tr:nth-of-type(1) td:nth-of-type(3) {
	text-align: center;
}

/* ==========================================================================================
	--todo
========================================================================================== */
.todo_list {
	position: relative;
}
.todo_list thead tr:first-of-type th:nth-of-type(n+2) {
	background: #ffe4e1;
}
.todo_list thead tr:nth-of-type(3) th:nth-of-type(n+2) {
	min-width: 7em;
	font-size: 1rem;
	font-weight: normal;
}
.todo_list tbody td:nth-of-type(n+2) {
	text-align: center;
}
.todo_list tbody td.disable {
	background: #f7f7f7;
}
.todo_list .clone {
	position: absolute;
	top: 0;
	left: 0;
}
.todo_list .clone thead tr:first-of-type th {
	height: 4.7em;
}

/* ==========================================================================================
	--money_office
========================================================================================== */
.shiharai_kanri .total tbody td,
.shiharai_kanri .doc tbody td:nth-of-type(6),
.shiharai_kanri .doc tbody td:nth-of-type(7),
.shiharai_kanri .doc tbody td:nth-of-type(8),
.shiharai_kanri .doc tbody td:nth-of-type(9),
.shiharai_detail .total tbody td,
.shiharai_detail .doc tbody td:nth-of-type(4),
.shiharai_detail .doc tbody td:nth-of-type(5),
.shiharai_detail .doc tbody td:nth-of-type(6),
.shiharai_detail .doc tbody td:nth-of-type(7) {
	text-align: right;
}
.shiharai_kanri .doc tbody td:nth-of-type(1),
.shiharai_kanri .doc tbody td:nth-of-type(2),
.shiharai_kanri .doc tbody td:nth-of-type(4),
.shiharai_kanri .doc tbody td:nth-of-type(10),
.shiharai_kanri .doc tbody td:nth-of-type(11),
.shiharai_detail .doc tbody td:nth-of-type(1),
.shiharai_detail .doc tbody td:nth-of-type(2),
.shiharai_detail .doc tbody td:nth-of-type(8),
.shiharai_detail .doc tbody td:nth-of-type(9) {
	text-align: center;
}
.shiharai_detail .charge {
	margin-bottom: 1em;
	font-size: 1.6rem;
	font-weight: bold;
}

/* ==========================================================================================
	--vision_cm
========================================================================================== */
table.vision_cm tbody td:nth-of-type(2),
table.vision_cm tbody td:nth-of-type(3),
table.vision_cm tbody td:nth-of-type(4),
table.vision_cm tbody td:nth-of-type(6),
table.vision_cm tfoot td {
	text-align: center;
}
table.vision_cm tbody td:nth-of-type(5) {
	white-space: normal;
}

/* ==========================================================================================
	--partnership
========================================================================================== */
.partnership_list h3 {
	margin-bottom: .5em;
	font-size: 1.6rem;
	font-weight: bold;
}
.partnership_list table tbody td:nth-of-type(1),
.partnership_list table tbody td:nth-of-type(2),
.partnership_list table tbody td:nth-of-type(6),
.partnership_list table tbody td:nth-of-type(7),
.partnership_list table tbody td:nth-of-type(8) {
	text-align: center;
}
.partnership_list table tbody td:nth-of-type(4),
.partnership_list table tbody td:nth-of-type(5) {
	text-align: right;
}

/* ==========================================================================================
	--back_office
========================================================================================== */
.emergency_net table tbody td:nth-of-type(1),
.emergency_net table tbody td:nth-of-type(3),
.emergency_net table tbody td:nth-of-type(4),
.emergency_net table tbody td:nth-of-type(5),
.emergency_net table tbody td:nth-of-type(7) {
	text-align: center;
}

.address_list table tbody td:nth-of-type(1),
.address_list table tbody td:nth-of-type(2),
.address_list table tbody td:nth-of-type(3) {
	text-align: center;
}
.address_list table tbody td:nth-of-type(5),
.address_list table tbody td:nth-of-type(6) {
	min-width: 20em;
	white-space: normal;
}

.pass_list table tbody td:nth-of-type(1){
	text-align: center;
}
.pass_list table tbody td:nth-of-type(2) {
	min-width: 5em;
	text-align: center;
}
.pass_list table tbody td:nth-of-type(3),
.pass_list table tbody td:nth-of-type(4) {
	min-width: 20em;
	white-space: normal;
}
.pass_list table tbody td:nth-of-type(6),
.pass_list table tbody td:nth-of-type(7),
.pass_list table tbody td:nth-of-type(11),
.pass_list table tbody td:nth-of-type(12) {
	min-width: 15em;
	white-space: normal;
}

.pass_list table tbody td:nth-of-type(8) {
	min-width: 7em;
	white-space: normal;
}


.pass_list table tbody td:nth-of-type(5),
.pass_list table tbody td:nth-of-type(10) {
	min-width: 7em;
	white-space: normal;
}


.pass_quantity_list table tbody td:nth-of-type(1){
	text-align: center;
}
.pass_quantity_list table tbody td:nth-of-type(2) {
	min-width: 1em;
	text-align: center;
}
.pass_quantity_list table tbody td:nth-of-type(3) {
	min-width: 3em;
	text-align: center;
}
.pass_quantity_list table tbody td:nth-of-type(4),
.pass_quantity_list table tbody td:nth-of-type(5) {
	min-width: 20em;
	white-space: normal;
}
.pass_quantity_list table tbody td:nth-of-type(6),
.pass_quantity_list table tbody td:nth-of-type(7),
.pass_quantity_list table tbody td:nth-of-type(8),
.pass_quantity_list table tbody td:nth-of-type(9),
.pass_quantity_list table tbody td:nth-of-type(10),
.pass_quantity_list table tbody td:nth-of-type(11){
	min-width: 3em;
	text-align: center;
}

.pass_quantity_list table thead tr.passsum {
	background-color:#cc0000;
	text-align: center;
}

/* ==========================================================================================
	--special_stage
========================================================================================== */
.effect li {
	margin-bottom: 1em;
}
.effect li:last-of-type {
	margin-bottom: 0;
}
#performer input {
	margin-bottom: 1em;
}
#performer input:last-of-type {
	margin-bottom: 0;
}

/* ==========================================================================================
	--sampling
========================================================================================== */
.sampling .new_regist {
	margin-top: 0;
}
.sampling table {
	table-layout: fixed;
}
.sampling table .general {
	background: #ffc000!important;
}
.sampling table .real {
	background: #f8cbad!important;
}
.sampling table .platinum {
	background: #ff5050!important;
}
.sampling table .gakuya {
	background: #f88ad3!important;
}
.sampling table tbody td {
	text-align: center;
}
.sampling table img {
	margin-right: .5em;
	max-width: 100px;
	max-height: 100px;
}
.sampling table img:last-of-type {
	margin-right: 0;
}

/* ==========================================================================================
	--flow
========================================================================================== */
ul.tab {
	margin-bottom: 1em;
	display: -webkit-box;
  	display: -ms-flexbox;
  	display: flex;
	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
}
ul.tab li {
	padding: 1em;
	width: 50%;
	color: #888;
	font-size: 1.2rem;
    text-align: center;
	line-height: 1.5;
    background: #F2F4F8;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
    cursor: pointer;
	transition: .2s;
}
ul.tab li:nth-of-type(2n) {
	border-right: none;
}
ul.tab li:hover,
ul.tab li.active {
	color: #fff;
	background: #F32525;
}

ol.flow {
	counter-reset: flow;
}
ol.flow li {
	margin-bottom: 27px;
	counter-increment: flow;
}
ol.flow li:last-of-type {
	margin-bottom: 0;
}
ol.flow li > dl,
ol.flow li > dl > a {
	display: -webkit-box;
  	display: -ms-flexbox;
  	display: flex;
}
/* ol.flow li > dl > a:hover > dt {
	background: #F32525;
}
ol.flow li > dl > a:hover > dt:before {
	border-color: #F32525 transparent transparent transparent;
} */
ol.flow li > dl > dt,
ol.flow li > dl > a > dt {
	padding: .5em;
	width: 54px;
	color: #fff;
	font-size: 1.6rem;
	text-align: center;
	line-height: 1;
	background: #ffb4b4;
	display: -webkit-box;
  	display: -ms-flexbox;
  	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	position: relative;
	transition: .3s;
}
/* ol.flow li > dl > dt span:after,
ol.flow li > dl > a > dt span:after {
	content: counter(flow);
	font-size: 2.4rem;
	font-weight: bold;
	display: block;
} */
ol.flow li > dl > dt .num,
ol.flow li > dl > a > dt .num {
	font-size: 2.2rem;
	font-weight: bold;
	display: block;
}
ol.flow li > dl > dt:before,
ol.flow li > dl > a > dt:before {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 27px 27px 0 27px;
	border-color: #ffb4b4 transparent transparent transparent;
	position: absolute;
	left: 0;
	bottom: -27px;
	transition: .3s;
}
ol.flow li:last-of-type dt:before {
	display: none;
}
ol.flow li > dl > dd {
	margin-left: .5em;
	padding: .5em;
	color: #999;
	border: 1px solid #e1e6ef;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}
ol.flow .client > dl > dd {
	background: #fff0ff;
}
ol.flow li dd dt {
	margin-bottom: .5em;
	width: 100%;
	font-size: 1.4rem;
	font-weight: bold;
	display: block;
}
ol.flow li dd dt .btn {
	margin-left: 1em;
	font-weight: normal;
	line-height: 1;
	vertical-align: text-bottom;
	display: inline-block;
}
ol.flow li dd dt .btn a {
    padding: .5em 1em;
    color: #fff;
    font-size: 1rem;
    background: #F32525;
    border-radius: 2px;
    display: inline-block;
    transition: .3s;
}
ol.flow li dd dt .btn a:hover {
    opacity: .7;
}
ol.flow li dd dt .btn2 {
	margin-left: 1em;
	font-weight: normal;
	line-height: 1;
	vertical-align: text-bottom;
	display: inline-block;
}
ol.flow li dd dt .btn2 a {
    padding: .5em 1em;
    color: #fff;
    font-size: 1rem;
    background: #3333cc;
    border-radius: 2px;
    display: inline-block;
    transition: .3s;
}

ol.flow li dd dt .btn2 a:hover {
    opacity: .7;
}

ol.flow li dd dt .btn_tokusoku {
	margin-left: 1em;
	font-weight: normal;
	line-height: 1;
	vertical-align: text-bottom;
	display: inline-block;
}
ol.flow li dd dt .btn_tokusoku a {
    padding: .5em 1em;
    color: #000;
    font-size: 1rem;
    background: #06c755;
    border-radius: 2px;
    display: inline-block;
    transition: .3s;
}
ol.flow li dd dt .btn2 a:hover {
    opacity: .7;
}


ol.flow li dd dt .btn_on {
	margin-left: 1em;
	font-weight: normal;
	line-height: 1;
	vertical-align: text-bottom;
	display: inline-block;
}
ol.flow li dd dt .btn_on a {
    padding: .5em 1em;
    color: #000;
    font-size: 1rem;
    background: #99ffcc;
    border-radius: 2px;
    display: inline-block;
    transition: .3s;
}
ol.flow li dd dt .btn_on a:hover {
    opacity: .7;
}

ol.flow li dd dt .btn_off {
	margin-left: 1em;
	font-weight: normal;
	line-height: 1;
	vertical-align: text-bottom;
	display: inline-block;
}
ol.flow li dd dt .btn_off a {
    padding: .5em 1em;
    color: #000;
    font-size: 1rem;
    background: #999999;
    border-radius: 2px;
    display: inline-block;
    transition: .3s;
}
ol.flow li dd dt .btn_off a:hover {
    opacity: .7;
}


ol.flow li dd dd {
	font-size: 1.2rem;
}
ol.flow li dd dd .map {
	margin: 1em auto 1em 0;
	padding-top: 75%;
	width: 100%;
	max-width: 600px;
	height: 0;
	position: relative;
}
ol.flow li dd dd .map iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
ol.flow li dd .restore {
	margin: 1em 0 0 auto;
    padding: .5em 1em;
    font-size: 1rem;
    color: #fff;
    background: #aaa;
    border: none;
    border-radius: 2px;
    display: block;
    transition: all .3s ease-in;
    cursor: pointer;
}
ol.flow li dd .restore:hover {
    opacity: .7;
}
ol.flow .done > dl > dt,
ol.flow .done > dl > a > dt {
	background: #ccc;
}
ol.flow .done > dl > dt:before,
ol.flow .done > dl > a > dt:before {
	border-color: #ccc transparent transparent transparent;
}
ol.flow .client.normal > dl > dt,
ol.flow .client.normal > dl > a > dt {
	background: #ffa6ff;
}
ol.flow .client.normal > dl > dt:before,
ol.flow .client.normal > dl > a > dt:before {
	border-color: #ffa6ff transparent transparent transparent;
}
ol.flow .kc.normal > dl > dt,
ol.flow .kc.normal > dl > a > dt {
	background: #1b1b1b;
}
ol.flow .kc.normal > dl > dt:before,
ol.flow .kc.normal > dl > a > dt:before {
	border-color: #1b1b1b transparent transparent transparent;
}
ol.flow .now > dl > dt,
ol.flow .now > dl > a > dt {
	background: #F32525;
}
ol.flow .now > dl > dt:before,
ol.flow .now > dl > a > dt:before {
	border-color: #F32525 transparent transparent transparent;
}
ol.flow .normal > dl > dd,
ol.flow .now > dl > dd {
	color: #1b1b1b;
}
ol.flow .now dd dt {
	color: #F32525;
}

/* ==========================================================================================
	--pass_regist
========================================================================================== */
form .person_area.pass {
	padding-bottom: 1em;
}
.pass_user {
	min-width: 100%;
}
.pass_user th,
.pass_user td {
	padding: .5em;
	vertical-align: middle;
	border: 1px solid #ddd;
	white-space: nowrap;
}
.pass_user th {
	font-weight: normal;
}
.pass_user td:first-of-type {
	text-align: center;
}
.pass_user td img {
	vertical-align: middle;
}
.pass_user td .radio_box {
	margin: 0;
	line-height: 2;
}


@media screen and (min-width:1025px) {
	/* sales_office */
	.table_flex {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
	}
	.table_flex > table:not(:last-child),
  .table_flex > div:not(:last-child) {
		margin-right: 20px;
	}
	.sales_office .table_flex > table th,
	.sales_office .table_flex > table td {
		font-size: 1.3rem;
	}
	.total h3 {
		text-align: left;
	}

	/* todo */
	.todo_list thead tr:nth-of-type(3) th:nth-of-type(n+2) {
		font-size: 1.2rem;
	}
	.todo_list .clone thead tr:first-of-type th {
		height: 4.6em;
	}

	/* partnership */
	.partnership_list h3 {
		font-size: 1.8rem;
	}

	/* special_stage */
	.effect {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
  		flex-wrap: wrap;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	.effect li {
		width: 32%;
	}
	.effect li:nth-of-type(3n) {
		margin-right: 0;
	}
	.effect li .movie {
		margin-top: .2em;
	}

	/* sampling */
	.sampling table img {
		max-width: 200px;
		max-height: 200px;
	}

	/* flow */
	ul.tab {
		margin-bottom: 2em;
		border-bottom: 2px solid #F32525;
	}
	ul.tab li {
		margin-right: 5px;
		width: auto;
		min-width: 220px;
		font-size: 1.6rem;
		border: none;
	}
	ul.tab li:last-of-type {
		margin-right: 0;
	}
	ol.flow li {
		margin-bottom: 40px;
	}
	ol.flow li > dl > dt,
	ol.flow li > dl > a > dt {
		width: 80px;
	}
	ol.flow li > dl > dt:before,
	ol.flow li > dl > a > dt:before {
		border-width: 40px 40px 0 40px;
	    bottom: -40px;
	}
	/* ol.flow li > dl > dt span:after,
	ol.flow li > dl > a > dt span:after {
		font-size: 3rem;
	} */
	ol.flow li > dl > dt .num,
	ol.flow li > dl > a > dt .num {
		font-size: 2.8rem;
	}
	ol.flow li > dl > dd {
		margin-left: 1em;
		padding: 1em;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
	ol.flow li dd dt {
		font-size: 2rem;
	}
	ol.flow li dd dt .btn a {
		font-size: 1.2rem;
	}
	ol.flow li dd dd {
		font-size: 1.6rem;
	}
	ol.flow li dd dd .map {
		width: 600px;
	}
	ol.flow li dd .restore {
		font-size: 1.2rem;
	}

	/* pass_regist */
	.pass_user td {
		text-align: center;
	}
	.pass_user td:first-of-type {
		width: 35px;
	}
	.pass_user th:nth-of-type(2),
	.pass_user td:nth-of-type(2) {
		width: 220px;
	}
	.pass_user td .radio_box:first-of-type {
		margin-right: 1em;
	}
	p .caut{
		text-sizze:1.0rem;
		color:red;
		text-decoration-style:wavy;
	}
}