@charset "utf-8";

body, div, span, ol, ul, li, table, tr, th, td, dl, dt, dd, img, a, p, h1, h2, h3, h4, h5, h6, nav, header, footer, section, article, form, input, textarea {
	font-family: 'Rubik', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	padding: 0;
	margin: 0;
	border: none;
	font-style: normal;
	font-weight: normal;
	text-decoration: none;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

html {
	width: 100%;
}

body {
	width: 100%;
	font-size: 13px;
	text-align: center;
	line-height: 1;
	background-color: #333;
}




/* - - - - - - - - - - - layout (common) - - - - - - - - - - - */

.clearfix::after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

img, video, object {
	max-width: 100%;
	height: auto;
	width /***/:auto;
}

body, th, td {
	color: #333;
}

a {
	color: #c02;
	text-decoration: none;
	-webkit-transition: all .2s ease-in-out;
	-ms-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}

a:visited {
	color: #c02;
	text-decoration: none;
}

a:hover,
a:active {
	opacity: 0.7;
	color: #c02;
	text-decoration: none;
}

ul li {
	list-style-type: none;
}

img {
	vertical-align: top;
	border-style: none;
}

.center {
	text-align: center !important;
}

.left {
	text-align: left !important;
}

.right {
	text-align: right !important;
}

.small {
	font-size: 13px;
}

.clear {
	clear: both;
}

.red {
	color: #FF0000;
}

.note {
	text-indent: -1em;
	padding-left: 1em;
}

video {
	display: block;
	cursor: pointer;
}

::selection {
	background: #ccc;
	color: #333;
}

::-moz-selection {
	background: #ccc;
	color: #333;
}

noscript {
	color: #c02;
}





/*==================================================================================================================================*/



/*layout (pc) */



/*==================================================================================================================================*/

/* - - - - - - - - - - - - - - - - - (common) - - - - - - - - - - - - - - - - - */

.cnt_pc { display: block !important; }
.cnt_pc_inline { display: inline !important; }
.cnt_pc_inlineblock { display: inline-block !important; }
.cnt_pc_flex { display: flex !important; }
.cnt_pc_table { display: table !important; }
.cnt_sp { display: none !important; }
.cnt_sp_inline { display: none !important; }
.cnt_sp_inlineblock { display: none !important; }
.cnt_sp_flex { display: none !important; }
.cnt_sp_table { display: none !important; }





/* - - - - - - - - - - - - - - - - - (content top) - - - - - - - - - - - - - - - - - */

.bg {
	position: fixed;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	padding: 50px 0;
	background: url("../images/bg.jpg") center center / cover no-repeat;
	overflow: auto;
}

@keyframes SlideIn {
	0% {
		opacity: 0;
		transform: translateY(64px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

.login_box {
	position: relative;
	width: 72%;
	margin: auto;
	padding: 2.43% 1.57%  2.43%;
	background: rgba(255, 255, 255, 0.92);
	border: 6px solid #c02;
	-webkit-transition: all .2s ease-in-out;
	-ms-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
	animation: SlideIn 1.2s both ease-out;
	animation-delay: 0.3s;
}

.login_box::before {
	position: absolute;
	display: block;
	content: "";
	width: 44px;
	height: 44px;
	left: 0;
	top: 0;
	background: url("../images/bg_box_l.png") left top / cover no-repeat;
}

.login_box::after {
	position: absolute;
	display: block;
	content: "";
	width: 44px;
	height: 44px;
	right: 0;
	bottom: 0;
	background: url("../images/bg_box_r.png") right bottom / cover no-repeat;
}

h1 {
	padding: 0 0 36px;
	font-family: 'Rubik', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	font-size: 36px;
	font-weight: 500;
	letter-spacing: 0.02em;
	color: #c02;
	animation: SlideIn 1.0s both ease-out;
	animation-delay: 0.6s;
}

h1 img {
	display: inline-block;
	width: 277px;
	margin: 0 24px 0 0;
	padding: 0 24px 0 0;
	vertical-align: middle;
	border-right: 3px solid #c02;
}

h1 span {
	font-size: 24px;
	font-weight: 500;
}

.column3 {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
}

.column3 div {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	padding: 0 2.44%;
	line-height: 1.62;
	text-align: left;
	border-right: 1px solid #999;
	animation: SlideIn 1.0s both ease-out;
	animation-delay: 0.9s;
}

.column3 div:nth-child(2) {
	animation-delay: 1.2s;
}

.column3 div:last-child {
	animation-delay: 1.5s;
	border-right: none;
}

.column3 h2 {
	margin: 0 0 20px;
	padding: 8px 4px 5px;
	background: #fff;
	font-weight: 700;
	font-size: 15px;
	text-align: center;
	color: #c02;
	border: 2px solid #c02;
}

.column3 p {
	margin: 0 0 20px;
}

.column3 a {
	display: block;
	padding: 0 10px;
	background: url("../images/icn_arrow_r.png") left center / 5px auto no-repeat;
}

.column3 a:hover {
	opacity: 0.7;
	background: url("../images/icn_arrow_r.png") left 1px center / 5px auto no-repeat;
}

.column3 a.btn_l,
.column3 input.btn_l {
	display: block;
	margin: 5px 0 15px;
	padding: 0 0;
	height: 36px;
	border: 0;
	border-radius: 18px;
	background-image: none;
	background: #c02;
	color: #fff;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.02em;
	text-align: center;
	line-height: 36px;
	cursor: pointer;
	-webkit-transition: all .2s ease-in-out;
	-ms-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}

.column3 a.btn_l:hover,
.column3 input.btn_l:hover {
	opacity: 0.7;
	color: #fff;
	-webkit-transform: translate(1px, 1px);
	-ms-transform: translate(1px, 1px);
	transform: translate(1px, 1px);
}

.column3 a.btn_m,
.column3 span.btn_m {
	display: block;
	margin: 0 0 15px;
	padding: 7px 0 0;
	height: 36px;
	border-radius: 18px;
	background-image: none;
	background: #fff;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.02em;
	text-align: center;
	line-height: 1;
}

.column3 a.btn_m:hover {
	opacity: 0.7;
	-webkit-transform: translate(1px, 1px);
	-ms-transform: translate(1px, 1px);
	transform: translate(1px, 1px);
}

.column3 a.btn_m img {
	width: 120px;
}

.column3 span.btn_m img {
	width: 120px;
	-ms-filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
	filter: grayscale(1);
	opacity: 0.15;
}

.column3 dl {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	padding: 0 0 10px;
}

.column3 dt {
	-webkit-flex-basis: 96px;
	-ms-flex-basis: 96px;
	flex-basis: 96px;
	max-width: 96px;
	width: 96px;
	padding: 0 10px 0 0;
}

.column3 dd {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}

input {
	width: 100%;
	padding: 6px 6px;
	font-size: 14px;
	background: #fff;
	border: 1px solid #999;
	-ms-border-radius: 5px;
	border-radius: 5px;
	-webkit-appearance: none;
}

input:focus {
	border: 1px solid #000;
}

input::-webkit-input-placeholder { color: #CDCDCD; }
input:-ms-input-placeholder { color: #CDCDCD; }
input::placeholder{ color: #CDCDCD; }

input:focus::-webkit-input-placeholder { color: transparent; }
input:focus::-ms-input-placeholder { color: transparent; }
input:focus::placeholder { color: transparent; }





/*==================================================================================================================================*/



/*layout (tablet) */



/*==================================================================================================================================*/

@media only screen and (min-width: 768px) and (max-width: 1024px) {

.login_box {
	width: 86%;
}





}





/*==================================================================================================================================*/



/*layout (smartphone) */



/*==================================================================================================================================*/

@media only screen and (min-width: 1px) and (max-width: 767px) {

/* - - - - - - - - - - - - - - - - - (common) - - - - - - - - - - - - - - - - - */

.cnt_pc { display: none !important; }
.cnt_pc_inline { display: none !important; }
.cnt_pc_inlineblock { display: none !important; }
.cnt_pc_flex { display: none !important; }
.cnt_pc_table { display: none !important; }
.cnt_sp { display: block !important; }
.cnt_sp_inline { display: inline !important; }
.cnt_sp_inlineblock { display: inline-block !important; }
.cnt_sp_flex { display: flex !important; }
.cnt_sp_table { display: table !important; }

body {
}





/* - - - - - - - - - - - - - - - - - (content top) - - - - - - - - - - - - - - - - - */

.bg {
	position: fixed;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	padding: 50px 0;
	background: url("../images/bg.jpg") center center / cover no-repeat;
	overflow: auto;
}

.login_box {
	position: relative;
	width: 90%;
	margin: auto;
	padding: 12.22% 5.83%  12.22%;
	background: rgba(255, 255, 255, 0.92);
	border: 6px solid #c02;
	-webkit-transition: all .2s ease-in-out;
	-ms-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
	animation: SlideIn 1.2s both ease-out;
	animation-delay: 0.3s;
}

.login_box::before {
	position: absolute;
	display: block;
	content: "";
	width: 30px;
	height: 30px;
	left: 0;
	top: 0;
	background: url("../images/bg_box_l.png") left top / cover no-repeat;
}

.login_box::after {
	position: absolute;
	display: block;
	content: "";
	width: 30px;
	height: 30px;
	right: 0;
	bottom: 0;
	background: url("../images/bg_box_r.png") right bottom / cover no-repeat;
}

h1 {
	position: relative;
	padding: 0 0 40px;
	font-family: 'Rubik', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 0.00em;
	color: #c02;
	animation: SlideIn 1.0s both ease-out;
	animation-delay: 0.6s;
}

h1::after {
	position: absolute;
	display: block;
	content: "";
	left: 50%;
	top: 63px;
	width: 40px;
	height: 3px;
	background: #c02;
	-webkit-transform: translate(-50%, 0);
	-ms-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
}

h1 img {
	display: block;
	width: 230px;
	margin: 0 auto 13px;
	padding: 0 0 14px;
	vertical-align: middle;
	border-right: none;
}

h1 span {
	font-size: 17px;
	font-weight: 500;
}

.column3 {
	display: block;
}

.column3 div {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	margin: 0 0 40px;
	padding: 0 0 40px;
	line-height: 1.62;
	text-align: left;
	border-right: none;
	border-bottom: 1px solid #999;
	animation: SlideIn 1.0s both ease-out;
	animation-delay: 0.9s;
}

.column3 div:nth-child(2) {
	animation-delay: 1.2s;
}

.column3 div:last-child {
	margin: 0 0 0;
	padding: 0 0 0;
	animation-delay: 1.5s;
	border-right: none;
	border-bottom: none;
}

.column3 h2 {
	margin: 0 0 20px;
	padding: 8px 4px 5px;
	background: #fff;
	font-weight: 700;
	font-size: 15px;
	text-align: center;
	color: #c02;
	border: 2px solid #c02;
}

.column3 p {
	margin: 0 0 20px;
}

.column3 a {
	display: block;
	padding: 0 10px;
	background: url("../images/icn_arrow_r.png") left center / 5px auto no-repeat;
}

.column3 a:hover {
	opacity: 0.7;
	background: url("../images/icn_arrow_r.png") left 1px center / 5px auto no-repeat;
}

.column3 a.btn_l,
.column3 input.btn_l {
	display: block;
	margin: 5px 0 15px;
	padding: 0 0;
	height: 36px;
	border: 0;
	border-radius: 18px;
	background-image: none;
	background: #c02;
	color: #fff;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.02em;
	text-align: center;
	line-height: 36px;
	cursor: pointer;
	-webkit-transition: all .2s ease-in-out;
	-ms-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}

.column3 a.btn_l:hover,
.column3 input.btn_l:hover {
	opacity: 0.7;
	color: #fff;
	-webkit-transform: translate(1px, 1px);
	-ms-transform: translate(1px, 1px);
	transform: translate(1px, 1px);
}

.column3 a.btn_m,
.column3 span.btn_m {
	display: block;
	margin: 0 0 15px;
	padding: 7px 0 0;
	height: 36px;
	border-radius: 18px;
	background-image: none;
	background: #fff;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.02em;
	text-align: center;
	line-height: 1;
}

.column3 a.btn_m:hover {
	opacity: 0.7;
	-webkit-transform: translate(1px, 1px);
	-ms-transform: translate(1px, 1px);
	transform: translate(1px, 1px);
}

.column3 a.btn_m img {
	width: 120px;
}

.column3 span.btn_m img {
	width: 120px;
	-ms-filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
	filter: grayscale(1);
	opacity: 0.15;
}

.column3 dl {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	padding: 0 0 10px;
}

.column3 dt {
	-webkit-flex-basis: 96px;
	-ms-flex-basis: 96px;
	flex-basis: 96px;
	max-width: 96px;
	width: 96px;
	padding: 0 10px 0 0;
}

.column3 dd {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}

input {
	width: 100%;
	padding: 6px 6px;
	font-size: 14px;
	background: #fff;
	border: 1px solid #999;
	-ms-border-radius: 5px;
	border-radius: 5px;
	-webkit-appearance: none;
}

input:focus {
	border: 1px solid #000;
}

input::-webkit-input-placeholder { color: #CDCDCD; }
input:-ms-input-placeholder { color: #CDCDCD; }
input::placeholder{ color: #CDCDCD; }

input:focus::-webkit-input-placeholder { color: transparent; }
input:focus::-ms-input-placeholder { color: transparent; }
input:focus::placeholder { color: transparent; }





}





/* - - - - - - - - - - - - - - - - - (print) - - - - - - - - - - - - - - - - - */

@media print {
	html, body { width: 1200px; height: auto !important; }
}





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




