body {
  background: radial-gradient(at 20% -10%, #4e5eeb
, transparent 20%), radial-gradient(at 70% 10%, #2b84c7
, transparent 40%), radial-gradient(at 40% 30%, #6d8ae8
, transparent 80%), radial-gradient(at 10% 100%, #256ae9
, transparent 100%);
  background-attachment: fixed;
}

h1 {
  font-family:"Timees New Roman", Times, serif;
  position: relative;
  color: #0b0bf1;
  font-size: 2rem;
  padding: 5px 0;
  text-align: center;
  margin: 1.5em 0;
  text-shadow:
    2px 2px 4px #d4da18,
    2px 2px  20px #fffbe0,
    0 2px 80px #888;
}
h1:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0%;
  width: 70px;
  height: 50px;
  border-radius: 150%;
  border: 2px solid #d8e30c;
  border-left-color: transparent;
  border-right-color: transparent;
  border-bottom-color: transparent;
  transform: translateX(-50%);
transform: translateY(-50%);
}
h1:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 30%;
  width: 90px;
  height: 50px;
  border-radius: 150%;
  border: 2px solid #d8e30c;
  border-left-color: transparent;
  border-right-color: transparent;
  border-top-color: transparent;
transform: translateX(50%);
transform: translateY(-50%);
}




.custom-file-input {
    display: none;
}
.custom-file-label {
    display: inline-block;
    padding: 24px 20px;
    background: #f8fbff;
    color: black;
    border-radius: 4px;
    cursor: pointer;
    margin-bottom: 10px;
    border: 2px dashed #222;
    text-align: center;
    transition: background 0.2s, border-color 0.2s;
}
.custom-file-label.dragover {
    background: #144277;
    border-color: #ffeb3b;
    color: #fffde7;
}



.custom-btn {
    display: inline-block;
    padding: 18px 40px;
    background: linear-gradient(180deg, #7156b0 0%, #8f49be 100%); /* 紫系グラデーション */
    color: #ffe066; /* 黄色系の文字色 */
    border-radius: 8px;
    cursor: pointer;
    border: 1.5px solid #4b3c90;
    font-size: 2rem;
    font-family: 'Times New Roman', Times, serif;
    vertical-align: top;
    text-shadow: 1px 1px 2px #2b291f, 0 1px 0 #bcae5e;
    box-shadow:
        0 2px 8px rgba(60, 60, 60, 0.18),
        0 1.5px 0 #b9b597 inset,
        0 -2px 8px #3b3a30 inset;
    transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
    position: relative;
    overflow: hidden;
}


.custom-btn:hover {
    background: #c222ea; /* より濃い色に */
    box-shadow: 6px 6px 16px rgba(60, 60, 60, 0.25), 4px 4px 0 #5c4d3a;
}

.custom-btn:active {
    transform: translateY(2px);
    box-shadow: 2px 2px 6px rgba(60, 60, 60, 0.18), 1px 1px 0 #7a6c5a;
}
