html, body {
  height: 100%;
  margin: 0;
} 

body {
      margin: 0;
      font-family: 'Noto Sans JP', sans-serif;
  background: linear-gradient(to bottom right, #a0d8ef, #ffffff);
  background-repeat: no-repeat;
  background-size: cover;
background-attachment: fixed; 
  
  color: #333;
  line-height: 1.6;
  padding: 20px;
  box-sizing: border-box;
min-height: 100vh;  
    }

    .container {
      max-width: 900px;
      margin: 0 auto;
      padding: 20px;
      background: rgba(255, 255, 255, 0.95);
      border-radius: 12px;
      box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    }

    .alert {
      color: #c40000;
      font-weight: bold;
      font-size: 20px;
      background: #ffeaea;
      padding: 15px;
      border-left: 6px solid #ff143c;
      margin-bottom: 25px;
    }

    h1 {
      font-size: 64px;
      color: #ff143c;
      text-align: center;
      font-weight: 700;
      margin: 0 0 20px;
      text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
    }

    .shadow {
      font-size: 32px;
      font-weight: 700;
      color: #444;
      text-align: center;
      text-shadow: 1px 1px 2px rgba(0,0,0,0.4);
      margin: 20px 0;
    }

    .important-link {
      display: inline-block;
      background: #0066cc;
      color: #fff;
      font-weight: bold;
      padding: 10px 16px;
      border-radius: 6px;
      text-decoration: none;
      margin: 8px 0;
      transition: background 0.3s;
    }

    .important-link:hover {
      background: #004999;
    }

    .cf-box {
      background-color: #fff3cd;
      border-left: 6px solid #ff8800;
      padding: 15px;
      margin: 25px 0;
      font-weight: bold;
      color: #865100;
    }

    .cf-box a {
      background: #ff8800;
      color: white;
      padding: 10px 15px;
      border-radius: 6px;
      text-decoration: none;
      display: inline-block;
      margin-top: 10px;
    }


    .cf-box a:hover {
      background: #cc6f00;
    }

    img {
      display: block;
      max-width: 100%;
      max-height: 600px;
      height: auto;
      margin: 20px auto;
      border-radius: 8px;
    }

 

    @media screen and (max-width: 768px) {
      h1 {
        font-size: 44px;
      }

      .shadow {
        font-size: 24px;
      }

      .alert {
        font-size: 16px;
      }
    }

    @media screen and (max-width: 480px) {
      h1 {
        font-size: 36px;
      }

      .shadow {
        font-size: 20px;
      }

      .important-link {
        font-size: 16px;
        padding: 8px 12px;
      }
    }

    @keyframes fadeIn {
      0% {
        opacity: 0;
        transform: translateY(-30px);
      }
      100% {
        opacity: 1;
        transform: translateY(0);
      }
    }

    

.privacy-policy-container {
  max-width: 900px;
  margin: 0 auto;
  padding: 20px;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.privacy-policy-header {
  font-size: 32px;
  font-weight: 700;
  color: #444;
  text-align: center;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.4);
  margin: 20px 0;
}

.privacy-policy-section {
  margin-bottom: 30px;
}

.privacy-policy-section h2 {
  font-size: 24px;
  color: #ff143c;
  margin-bottom: 10px;
}

.privacy-policy-section p {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}

.privacy-policy-section h3 {
  font-size: 22px;
  font-weight: 700;
  color: #333;
  margin-top: 32px;  
  margin-bottom: 12px;
  padding-left: 10px;
  border-left: 4px solid #0066cc;
  background-color: rgba(0, 102, 204, 0.05);
}


.important-link {
  display: inline-block;
  background: #0066cc;
  color: #fff;
  font-weight: bold;
  padding: 10px 16px;
  border-radius: 6px;
  text-decoration: none;
  margin: 8px 0;
  transition: background 0.3s;
}

.important-link:hover {
  background: #004999;
}





.update-box {
background-color: #e3f2fd;
      border-left: 6px solid #2196f3;
      padding: 15px;
      margin: 25px 0;
      font-weight: bold;
      color: #865100;


  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.update-box h2 {
  margin-top: 0;
  color:#1976d2;
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 12px;
}

.update-box ul {
  padding-left: 20px;
  margin: 0;
}

.update-box li {
  margin-bottom: 8px;
  line-height: 1.6;
  color: #222;
  font-size: 16px;
}

/* ================================
   Footer spacing adjustment
================================ */

/* ?????????? */
footer {
  margin: 0;
  padding: 0; /* ? ??????????????????? 0 */
  line-height: 0; /* ???????????????? */
}

/* footer ??????????????????? */
footer img {
  display: block;
  margin: 0 auto;
  vertical-align: middle;
}

/* footer ?????????main?section????????? */
main:last-child,
section:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* === ?????? === */
.ad-banner {
  text-align: center;
  margin: 40px auto 60px;
}

.ad-banner img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.ad-banner a {
  display: inline-block;  /* ? ??????????????? */
}

.ad-banner img {
  display: block;  /* ? ????????? */
  width: auto;
  height: auto;
  margin: 0 auto;
}

/* === ???????? === */
.footer-space {
  height: 120px; /* ? ?????????????????footer????? */
}

/*snsicon???*/
.sns {
    border-radius: 50px;
    margin-inline: auto;
    width: 260px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: solid 1px white;
    background-color: var(--white1);
}

.sns a {
    margin: 12px 16px;
    width: 29px;
}

.sns img {
    width: 29px;
}

.cicon p {
  font-size: clamp(10px, 2vw, 15px); 
  margin: 2px 0 4px;
  font-weight: 900;
text-align:center
}
