@charset "UTF-8";
/* 引数 */
/* FontSize */
/* FontFamily */
/* Color for Light mode */
/* Color for Dark mode */
/* Light mode,Dark modeの色を指定,色指定は基本ここで */
@media (prefers-color-scheme: light) {
  body {
    background-color: #ffffff; }

  body, html, header, footer, section, article, aside, fieldset, div, form, p, address, h1, h2, h3, h4, h5, h6, dl, dt, dd, ul, ol, li {
    color: #000000; } }
@media (prefers-color-scheme: dark) {
  body {
    background-color: #ffffff; }

  body, html, header, footer, section, article, aside, fieldset, div, form, p, address, h1, h2, h3, h4, h5, h6, dl, dt, dd, ul, ol, li {
    color: #000000; } }
html {
  font-size: 62.5%; }

/* font-size: 62.5% rem指定 1rem:10px相当, 2rem:20px相当 */
body, html, header, footer, section, article, aside, fieldset, div, form, p, address, h1, h2, h3, h4, h5, h6, dl, dt, dd, ul, ol, li {
  margin: 0px;
  padding: 0px;
  border: none;
  box-sizing: border-box;
  font-family: "ten-mincho-antique", "DNP 秀英四号かな Std M", A1 Mincho, Times New Roman, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, serif;
  font-style: normal;
  letter-spacing: 0.1rem;
  flex-wrap: wrap; }

li {
  list-style: none;
  list-style-position: inside;
  padding-inline-start: 8px; }

img {
  vertical-align: bottom; }

a, *:visited {
  text-decoration: none; }

*:hover {
  text-decoration: none; }

.clearfix:after {
  content: "";
  clear: both;
  display: block; }

.auto_width {
  width: 100%;
  height: auto;
  max-height: 100%; }

.auto_height {
  width: 100%;
  height: auto;
  max-width: 100%; }

.auto_size {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%; }

.flex {
  display: flex; }

.center {
  text-align: center;
  vertical-align: middle; }

em, strong, blockquote, del {
  font-size: 2.1rem;
  font-family: "DNP 秀英にじみ明朝 Std L", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, serif; }

#login {
  width: 80vw;
  max-width: 960px;
  max-height: 720px;
  margin: auto auto; }
  #login ul.message {
    width: 100%; }
  #login label {
    font-size: 2.4rem;
    width: 16rem;
    display: inline-block; }
  #login input {
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    margin-bottom: 0.5rem;
    padding-left: 0.8rem;
    padding-right: 0.8rem;
    height: 42px;
    width: 100%;
    max-width: 40rem;
    background: #eaedf2;
    font-size: 1.8rem; }
  #login *[type="submit"] {
    background-color: #2ABCA7;
    border: 1px solid #2ABCA7;
    color: #fff; }

.container {
  width: 80vw;
  min-width: 960px;
  margin: 3rem auto; }

#claimant table {
  width: 100%;
  border: 1.5px solid #000000;
  border-radius: 0.5rem;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  box-sizing: border-box; }
  #claimant table tr:first-of-type td, #claimant table tr:first-of-type td {
    border-top: none; }
  #claimant table tr:nth-of-type(2n+1) > td {
    background-color: lightgrey; }
  #claimant table tr:last-of-type > td {
    background-color: lightcyan; }
  #claimant table th {
    padding: 0.3rem 0.4rem;
    border-right: 1px solid #000;
    background-color: darkgray; }
  #claimant table td {
    padding: 0.3rem 0.4rem;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    text-align: left;
    vertical-align: top; }
    #claimant table td p {
      margin: 0;
      padding: 0.4rem 0.6rem; }
      #claimant table td p a.unconfirmed {
        color: royalblue; }
    #claimant table td.cell_center {
      text-align: center;
      vertical-align: middle; }
  #claimant table th:last-of-type, #claimant table td:last-of-type {
    border-right: none; }

.input-text {
  width: 100%;
  padding: 0.4rem 0.6rem;
  margin-bottom: 0.45rem;
  font-size: 1.5rem;
  border-radius: 0.5rem;
  border: 2px solid #ddd; }
  .input-text.zipcode {
    width: calc(100% - 2rem); }

.input-text:focus {
  border: 2px solid #00bfff;
  z-index: 10;
  outline: 0; }

.btn {
  margin-bottom: 0.8rem;
  padding: 1.2rem 6rem;
  border-radius: 0.5rem;
  display: inline-block;
  font-size: 1.8rem;
  cursor: pointer; }

.btn-sm {
  margin-bottom: 0.3rem;
  padding: 0.2rem 0.5rem;
  border-radius: 0.3rem;
  display: inline-block;
  font-size: 1.2rem;
  cursor: pointer; }

.btn-blue {
  background-color: royalblue;
  border: 1px solid royalblue;
  color: #fff; }

.btn-orange {
  background-color: darkorange;
  border: 1px solid darkorange;
  color: #fff; }

.btn-red {
  background-color: crimson;
  border: 1px solid crimson;
  color: #fff; }

.btn-green {
  background-color: lime;
  border: 1px solid lime;
  color: #333631; }

.mr-2 {
  margin-right: 0.4rem; }

.error {
  font-size: 1.2rem;
  font-weight: 600;
  color: crimson; }

main {
  width: 100vw;
  height: 100vh;
  overflow-x: hidden;
  position: relative; }
  main section {
    width: 100vw;
    min-width: 100vw;
    height: 100vh; }
    main section#slider {
      background-color: bisque; }
    main section#map {
      background-color: paleturquoise; }
    main section#post {
      background-color: plum; }
    main section#post1 {
      background-color: honeydew; }
    main section#post2 {
      background-color: plum; }
    main section#post3 {
      background-color: coral; }

header {
  width: 100vw;
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  z-index: 10; }

.moveLeftPanel {
  position: absolute;
  left: -100vw; }

.moveMiddlePanel {
  position: absolute;
  left: 0; }

.moveRightPanel {
  position: absolute;
  left: 100vw; }

.moveRight2Middle {
  animation-name: rigth2middle;
  animation-duration: 0.2s;
  animation-timing-function: ease-in-out; }

.moveLeft2Middle {
  animation-name: left2middle;
  animation-duration: 0.2s;
  animation-timing-function: ease-in-out; }

.moveMiddle2Right {
  animation-name: middle2rigth;
  animation-duration: 0.2s;
  animation-timing-function: ease-in-out; }

.moveMiddle2left {
  animation-name: middle2left;
  animation-duration: 0.2s;
  animation-timing-function: ease-in-out; }

@keyframes rigth2middle {
  0% {
    left: 100vw; }
  100% {
    left: 0; } }
@keyframes left2middle {
  0% {
    left: -100vw; }
  100% {
    left: 0; } }
@keyframes middle2rigth {
  0% {
    left: 0; }
  100% {
    left: 100vw; } }
@keyframes middle2left {
  0% {
    left: 0; }
  100% {
    left: -100vw; } }
h1 {
  font-size: 3.6rem;
  padding-bottom: 1.2rem; }

h2 {
  font-size: 3.2rem;
  padding-bottom: 1.0rem; }

h3 {
  font-size: 2.8rem;
  padding-bottom: 0.9rem; }

h4 {
  font-size: 2.4rem;
  padding-bottom: 0.75rem; }

h5 {
  font-size: 2.1rem;
  padding-bottom: 0.6rem; }

h6 {
  font-size: 1.8rem;
  padding-bottom: 0.5rem; }

section#main {
  width: 100%;
  min-height: 100vh; }

#map {
  width: 100vw;
  height: 100vh; }

footer {
  width: 100vw;
  position: fixed;
  bottom: 0;
  left: 0;
  padding-bottom: 1rem;
  text-align: center;
  z-index: 10; }

.supplement {
  font-size: 1.5rem; }

/* 大型スマートフォン,タブレット対応CSS */
@media (max-width: 1024px) {
  div#login {
    width: 960px;
    margin: auto; } }
/* スマートフォン対応CSS */
@media (max-width: 599px) {
  div#login {
    width: 92vw;
    margin: auto; } }
li {
  list-style: none; }

#admin_menu {
  margin-top: 5rem; }

.margint2rem {
  margin-top: 2rem; }

.trademark {
  position: absolute;
  top: 0.85rem;
  left: 1.5rem;
  color: #5755d9;
  height: 2rem; }
  .trademark .logo {
    align-items: center;
    border-radius: 0.1rem;
    display: inline-flex;
    font-size: .7rem;
    height: 2rem;
    padding: 0.2rem;
    width: auto; }
    .trademark .logo img {
      display: inline-block;
      height: auto;
      width: 8rem; }

#drop-zone {
  padding: 1rem;
  border: thin dotted cornflowerblue;
  border-radius: 0.75rem; }
  #drop-zone input[type="file"] {
    display: none; }
