@charset "utf-8";

html {
	font-size: 16px;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-rendering: optimizelegibility;
}
body {
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 400;
	background-image: url('../images/login_back.jpg');
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	line-height: 1.5;
	color: #644114;
	-webkit-font-smoothing: antialiased;

	display: flex;
	justify-content: center;
	min-height: 100vh;
}
img {
	max-width: 100%;
	width: auto\9;
	height: auto;
	vertical-align: middle;
	border: 0;
	-ms-interpolation-mode: bicubic;
}
p {
	margin: 0;
	padding: 0;
}
h2 {
	font-family: "Kosugi Maru", sans-serif;
	font-weight: bold;
}

.login_bundle {
	width: 100%;
}
.form-border {
	width: 500px;
	margin: 0 auto;
	margin-top: 150px;
	background: linear-gradient(135deg, rgb(255, 255, 255) 0%, #fab969 0%, #fff27d 20%, #b4f38d 40%, #7fe1b5 60%, #a4f9f3 80%, #9bd6fd 100%);
	border-radius: 30% 30% 10% 10%;
	padding: 8px;
	box-shadow: 0px 1px 3px rgba(145,145,145,0.6);
}
div#form {
	width: 500px;
	font-size: 100%;
	background: linear-gradient(to bottom, #fff 70%, #fefbca);
	border-radius: 30% 30% 10% 10%;
	text-decoration: none;
}
.enter_logo {
	position: absolute;
	top: 3em;
	left: 50%;
	transform: translateX(-50%);
}
form {
	padding: 20% 10% 5% 10%;
}
.form-control {
	box-sizing: border-box;
	width: 100%;
	font-size: 100%;
	-webkit-appearance: none;
	appearance: none;
	height: 3.5em;
	padding: 0 0.5em;
	background: #fffaf2;
	border: 2px solid #e1d1b5;
	border-radius: 10px;
	margin: 0.5em 0 2em 0;
	transition: background-color 0.5s ease, transform 0.5s ease;
}
.form-control:focus {
	background-color: #fff;
	outline: none;
	border: 1px solid #eeeeee;
	box-shadow: 0 0 0 4px #fd9535;
}
/* チェックボックス */
.form-check {
	text-align: center;
	margin-top: 1em;
}
.form-check-input {
	appearance: none;
	box-sizing: border-box;
	display: inline-block;
	position: relative;
	top: 6px;
	width: 20px;
	height: 20px;
	margin-right: 2px;
	background-color: #fff;
	border: 1px solid #fac850;
	border-radius: 3px;
}
.form-check-input:checked {
	background-color: #fac850;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23fff" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>');
	background-position: center;
	background-size: 100% auto;
	background-repeat: no-repeat;
	border-color: #fac850;
}
/* ボタン */
.d-grid {
	text-align: center;
	margin-top: 1.5em;
}
.btn-primary {
	width: 60%;
	height: 56px;
	border: none;
	position: relative;
	display: inline-block;
	padding: 0.25em 0.5em;
	text-decoration: none;
	color: #fff;
	background: #fd9535;
	border-radius: 28px;
	box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
	font-family: "Kosugi Maru", sans-serif;
	font-size: 120%;
	font-weight: bold;
	border: solid 2px #d27d00;
}
.btn-primary:hover {
	box-shadow: 0 0 2px rgba(0, 0, 0, 0.30);
	cursor: pointer
}
div#form:hover {
	text-decoration: none;
}

.text-center {
	text-align: center;
}
.text-muted {
	color: #9a95a8;
}

.illust_flex {
	width: 120%;
	margin-left: -10%;
	display: flex;
	justify-content: space-between;
}

/* エラーメッセージ */
.text-danger {
	color: #dc3545;
	font-size: 90%;
}
.validation-summary-errors ul {
	list-style: none;
	padding: 0;
	margin: 0 0 1em 0;
	text-align: center;
}

@media screen and (min-width:550px) {
   .enter_logo { min-width:500px; }
}
@media screen and (max-width:550px) {
   .form-border { width:88%; margin-top:100px; }
   div#form { width:100%; }
   form { padding:30% 10% 5% 10%; }
   .enter_logo { width:100%; }
}
