
html, body {
    margin: 0;
    padding: 0;
    font-family: "Noto Sans JP","Inter", sans-serif;
    font-weight: 400;
    font-feature-settings: "palt";
    word-spacing: 0;
    letter-spacing: 0;
    line-height: 1.5;
    color:#333;
}
.movie{
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
    z-index:-1;
}
video {
	position: fixed;
	top: 50%;
	left: 50%;
	display: block;
	width: auto;
	height: auto;
	min-width: 100%;
	min-height: 100%;
	transform: translate(-50%,-50%);
    z-index:-1;
}
.shippori-mincho-regular {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}
.josefin-sans-400 {
  font-family: "Josefin Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.dropshadow{
  filter: drop-shadow(1px 1px 1px #4c4c4c);
}
.type_link{
    color:#fff;
    text-decoration: none;
}
.type_link:hover{
    text-decoration: underline;
}
.func {
  padding:1rem 0.5rem;
  border-radius: 1rem;
  position:relative;
  z-index:2;
  white-space:nowrap;
}
.mini {
    font-size:0.8em;
}
.small {
    font-size:0.9em;
}
.center {
    text-align:center;
}
div#back {
    
background-color:hsla(0,100%,50%,1);
background-image:
radial-gradient(at 40% 20%, hsla(28,100%,74%,1) 0px, transparent 50%),
radial-gradient(at 80% 0%, hsla(189,100%,56%,1) 0px, transparent 50%),
radial-gradient(at 0% 50%, hsla(355,100%,93%,1) 0px, transparent 50%),
radial-gradient(at 80% 50%, hsla(340,100%,76%,1) 0px, transparent 50%),
radial-gradient(at 0% 100%, hsla(22,100%,77%,1) 0px, transparent 50%),
radial-gradient(at 80% 100%, hsla(242,100%,70%,1) 0px, transparent 50%),
radial-gradient(at 0% 0%, hsla(343,100%,76%,1) 0px, transparent 50%);
background-size: cover;
position:fixed;
top:0;
left:0;
width:100vw;
height:100vh;
z-index: -1;
}
div#back2 {
    
background-color:#ff99fc;
background-image:
radial-gradient(at 96% 84%, hsla(185,60%,67%,1) 0px, transparent 50%),
radial-gradient(at 92% 79%, hsla(237,68%,64%,1) 0px, transparent 50%),
radial-gradient(at 98% 75%, hsla(179,61%,77%,1) 0px, transparent 50%),
radial-gradient(at 11% 50%, hsla(111,68%,74%,1) 0px, transparent 50%),
radial-gradient(at 5% 70%, hsla(108,90%,78%,1) 0px, transparent 50%),
radial-gradient(at 21% 3%, hsla(325,79%,78%,1) 0px, transparent 50%),
radial-gradient(at 2% 10%, hsla(31,60%,76%,1) 0px, transparent 50%);
background-size: cover;
position:fixed;
top:0;
left:0;
width:100vw;
height:100vh;
z-index: -1;
}
.container {
    max-width: 800px;
    margin: 60px auto;
    padding: 30px;
    background-color: #ffffff;
    border-radius: 10px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}
.container#login {
    max-width: 400px;
}
h1, h2 {
    text-align: center;
    color: #333333;
}
form {
    display: flex;
    flex-direction: column;
}
label {
    margin-bottom: 5px;
    color: #555555;
}
input[type="text"],
input[type="email"],
input[type="number"],
input[type="password"],
select {
    padding: 10px;
    margin-bottom: 20px;
    border: 1px solid #cccccc;
    border-radius: 5px;
    font-size: 16px;
}
input[type="submit"],
button {
    padding: 12px;
    background-color: #3498db;
    color: white;
    font-size: 16px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    max-width: 200px;
}

.container#login input[type="submit"],
.container#login button
 {
    max-width: 100%;
}
input[type="submit"]:hover,
button:hover {
    background-color: #2980b9;
}
.error-message {
    color: #e74c3c;
    font-size: 14px;
    margin-bottom: 15px;
}
.success-message {
    color: #27ae60;
    font-size: 14px;
    margin-bottom: 15px;
}
.nav {
    text-align: center;
    margin-top: 20px;
}
.nav a {
    text-decoration: none;
}
.nav a:hover {
    text-decoration: underline;
}

.container { padding: 20px; }
.table-wrapper { overflow-x: auto; margin-bottom: 20px; }
table { width: 100%; border-collapse: collapse; white-space: nowrap; table-layout: auto;font-size:80%; }
th, td { padding: 8px 12px; text-align: left; border: 1px solid #ccc; }
th { background-color: #dceeff; }
tr:hover td { background-color: #f0f8ff; }
.btn-action { padding: 6px 10px; background-color: #007acc; color: white; border: none; border-radius: 4px; text-decoration: none; }
.btn-action:hover { background-color: #005f99; }
/* 入力フィールド共通スタイル */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
select {
    width: 100%;
    padding: 10px;
    margin: 8px 0 16px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 16px;
    box-sizing: border-box;
}

/* チェックボックスのラベルとリンク */
label input[type="checkbox"] {
    margin-right: 8px;
}

label a.sp {
    color: #007acc;
    text-decoration: underline;
    font-weight: 500;
}

label a.sp:hover {
    text-decoration: none;
}

/* エラー表示 */
.error-message {
    background-color: #fff0f0;
    border: 1px solid #ffaaaa;
    padding: 10px;
    border-radius: 5px;
    margin-bottom: 20px;
    color: #cc0000;
}

/* ボタン */
input[type="submit"] {
    background-color: #007acc;
    color: white;
    padding: 10px 20px;
    font-size: 16px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    margin-top: 10px;
}

input[type="submit"]:hover {
    background-color: #005f99;
}
a {
    color:#007acc;
}