* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: Arial, sans-serif;
  line-height: 1.6;
}

header {
  z-index: 1;
  background: #000000;
  position: sticky;
  top: 0;
  padding: 5px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 0px solid #000000;
}
header .logo img {
  margin-left: 1em;
  width: 50px; /* ロゴの幅 */
  height: 50px; /* ロゴの高さ */
  border-radius: 50%; /* ロゴを丸くする */
}
header nav {
  margin-right: 1em;
}
header nav ul {
  list-style: none;
  display: flex;
}
header nav ul li a {
  text-decoration: none;
  position: relative;
  font-size: min(16px, 2.5vw);
  padding: 5px min(10px, 1vw);
  color: #ffffff;
}
header nav ul li a::before {
  position: absolute;
  left: 0;
  width: 0;
  height: 100%;
  content: "";
  background-color: #fff;
  mix-blend-mode: difference; /* difference（差分） */
  transition: 0.3s;
}
header nav ul li a:hover::before {
  width: 100%;
}

.samune img {
  width: 100%; /* 画面幅いっぱい */
  object-fit: cover; /* 中央で切り抜く */
}

.announcement {
  padding: 2em;
  text-align: center;
  background: #fff;
}
.image-box {
  margin-top: 1em;
  padding: 2em;
  background: #eee;
  display: inline-block;
}
.image-box img {
  width: 100%; /* 画像を親要素の幅いっぱいにする */
  max-width: 600px; /* 最大幅を設定 */
  height: auto; /* アスペクト比を維持 */
  margin: 0 auto; /* 画像を中央に配置 */
  display: block; /* ブロック要素として扱う */
  border: 2px solid #ddd; /* 枠線を追加（必要に応じて） */
  border-radius: 8px; /* 角を丸くする（必要に応じて） */
}

.about {
  padding: 2em;
  background: #f8f8f8;
  text-align: center;
}
.about .cards {
  display: flex;
  justify-content: center;
  gap: 1em;
  margin: 1em 0;
}
.about .card {
  background: #fff;
  padding: 1em;
  border: 1px solid #ddd;
  width: 300px;
  border-radius: 8px;
}
.about .card img {
  width: min(20vw, 200px); /* 画像の幅を指定 */
  height: min(20vw, 200px); /* 画像の高さを指定 */
  object-fit: cover; /* 画像を中央で切り抜く */
  border-radius: 50%; /* 丸い画像にする */
  border: 2px solid #ddd; /* 枠線を追加 */
  margin-top: 0.5em;
}
.details-link {
  display: inline-block;
  text-decoration: none;
  position: relative;
  padding: 20px 100px;
  color: #ffffff;
  background-color: #111;
}
.details-link::before {
  position: absolute;
  left: 0;
  width: 0;
  height: 100%;
  margin: -20px 0px;
  content: "";
  background-color: #555;
  mix-blend-mode: difference; /* difference（差分） */
  transition: 0.3s;
}
.details-link:hover::before {
  width: 100%;
}

.products {
  padding: 2em;
  text-align: center;
  background: #fff;
}
.products .cards {
  display: flex;
  justify-content: center;
  width: min(900px, 90vw);
  margin: 1em auto;
}
.products .card {
  background: #fff;
  padding: 1em;
  width: 300px;
  border-radius: 8px;
}
.products .card img {
  width: min(20vw, 200px); /* 画像の幅を指定 */
  height: min(20vw, 200px); /* 画像の高さを指定 */
  object-fit: cover; /* 画像を中央で切り抜く */
  border-radius: 50%; /* 丸い画像にする */
  margin-top: 0.5em;
}
.products ul {
  list-style: none;
  display: flex;
  justify-content: center;
  width: min(900px, 90vw);
  margin: 0 auto;
  margin-top: 10px;
  border-top: 1px solid #aaa;
  border-bottom: 1px solid #aaa;
  gap: 1em;
}
.products ul li {
  padding: 0.5em 1em;
  background: #fff;
  border-radius: 4px;
}

.reports {
  padding: 2em;
  text-align: center;
  background: #f8f8f8;
}

.support {
  padding: 2em;
  text-align: center;
  background: #fff;
}
.support .cards {
  display: flex;
  justify-content: center;
  width: min(900px, 90vw);
  margin: 1em auto;
}
.support .card {
  background: #fff;
  padding: 1em;
  width: 300px;
  border-radius: 8px;
}
.support .card img {
  width: min(20vw, 200px); /* 画像の幅を指定 */
  object-fit: cover; /* 画像を中央で切り抜く */
  margin-top: 0.5em;
}

.contact {
  padding: 2em;
  text-align: center;
  background: #f8f8f8;
}

.album {
  padding: 1em;
  text-align: center;
  background: #000;
}
.album .cards {
  overflow: auto;
}
.album .cards img {
  width: 16vw;
  height: 9vw; /* 画像の高さを指定 */
  object-fit: cover; /* 画像を中央で切り抜く */
}


@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 100;
  src: url(https://fonts.gstatic.com/s/roboto/v32/KFOkCnqEu92Fr1MmgVxIIzc.ttf) format('truetype');
}
form.contact-form {
  width: 100%;
  max-width: 900px;
  margin: 10px auto;
  font-size: 15.5px;
  font-family: 'Roboto', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 100;
  line-height: 25.079px;
  letter-spacing: -0.5px;
  transition: box-shadow 0.4s ease;
  box-shadow: 0px 2px 10px #eee;
}
form.contact-form:hover {
  box-shadow: 0px 4px 14px #ddd, 0px 0px 6px #ffffff;
}
form.contact-form span {
  text-align: center;
  display: block;
  color: #333;
  padding: 19.375px 19.375px 7.75px;
  font: inherit;
  font-size: 25.079px;
}
form.contact-form ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
form.contact-form ul li {
  padding: 0;
  border-bottom: 1px solid #ddd;
  margin: 0;
  text-align: center;
  width: 100%;
}
form.contact-form ul li i.form-icon {
  display: inline-block;
  vertical-align: middle;
  width: 2%;
  text-align: center;
  margin: 0 0.5% 0 1%;
  padding: 0;
  font-size: 16.275px;
  color: #555;
}
form.contact-form ul li input[type="text"] {
  width: 90%;
  background: none;
  margin: 0;
  padding: 10.33333385px 2%;
  border: 0;
  border-bottom: 3px solid rgba(0, 0, 0, 0);
  text-align: left;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  transition: border-bottom 0.35s ease;
}
form.contact-form ul li input[type="text"]:focus {
  outline: none;
  border-bottom: 3px solid #f1a6f3;
}
form.contact-form ul li input[type="text"]::-webkit-input-placeholder {
  -webkit-transition: color 0.35s ease;
  transition: color 0.35s ease;
  color: #555;
}
form.contact-form ul li input[type="text"]:-moz-placeholder {
  -moz-transition: color 0.35s ease;
  transition: color 0.35s ease;
  color: #555;
}
form.contact-form ul li input[type="text"]::-moz-placeholder {
  -moz-transition: color 0.35s ease;
  transition: color 0.35s ease;
  color: #555;
}
form.contact-form ul li input[type="text"]:-ms-input-placeholder {
  -ms-transition: color 0.35s ease;
  transition: color 0.35s ease;
  color: #555;
}
form.contact-form ul li input[type="text"]:focus::-webkit-input-placeholder {
  color: #f1a6f3;
}
form.contact-form ul li input[type="text"]:focus:-moz-placeholder {
  color: #f1a6f3;
}
form.contact-form ul li input[type="text"]:focus::-moz-placeholder {
  color: #f1a6f3;
}
form.contact-form ul li input[type="text"]:focus:-ms-input-placeholder {
  color: #f1a6f3;
}
form.contact-form ul li textarea {
  display: inline-block;
  vertical-align: top;
  width: 88%;
  background: none;
  padding: 10.33333385px 2%;
  resize: none;
  border: 0;
  border-bottom: 3px solid rgba(0, 0, 0, 0);
  text-align: left;
  height: auto;
  min-height: 133px;
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  font-family: inherit;
  transition: border-bottom 0.35s ease;
}
form.contact-form ul li textarea:focus {
  outline: none;
  border-bottom: 3px solid #f1a6f3;
}
form.contact-form ul li textarea::-webkit-scrollbar {
  width: 4px;
}
form.contact-form ul li textarea::-webkit-scrollbar-thumb {
  background: #ffffff;
  border-radius: 2px;
}
form.contact-form ul li textarea::-webkit-input-placeholder {
  -webkit-transition: color 0.35s ease;
  transition: color 0.35s ease;
  color: #555;
}
form.contact-form ul li textarea:-moz-placeholder {
  -moz-transition: color 0.35s ease;
  transition: color 0.35s ease;
  color: #555;
}
form.contact-form ul li textarea::-moz-placeholder {
  -moz-transition: color 0.35s ease;
  transition: color 0.35s ease;
  color: #555;
}
form.contact-form ul li textarea:-ms-input-placeholder {
  -ms-transition: color 0.35s ease;
  transition: color 0.35s ease;
  color: #555;
}
form.contact-form ul li textarea:focus::-webkit-input-placeholder {
  color: #f1a6f3;
}
form.contact-form ul li textarea:focus:-moz-placeholder {
  color: #f1a6f3;
}
form.contact-form ul li textarea:focus::-moz-placeholder {
  color: #f1a6f3;
}
form.contact-form ul li textarea:focus:-ms-input-placeholder {
  color: #f1a6f3;
}
form.contact-form ul li input[type="submit"] {
  margin: 15px auto 15px;
  padding: 10.33333385px 19.375px;
  border: 1px solid #d0d0d0;
  display: inline-block;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0);
  font-weight: inherit;
  font-family: inherit;
  font-size: inherit;
  transition: background border 0.35s ease;
}
form.contact-form ul li input[type="submit"]:focus {
  outline: none;
  border: 1px solid #f1a6f3;
}
form.contact-form ul li input[type="submit"]:hover {
  background: #eaeaea;
  border: 1px solid #f1a6f3;
}
form.contact-form ul li input[type="submit"]:active {
  background: #d0d0d0;
}

/*about-us.html*/
.about-us-samune img {
  width: 100vw; /* 画面幅いっぱい */
  height: 400px;
  object-fit: cover; /* 中央で切り抜く */
}

.vmp {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2em;
  margin-bottom: 3em;
}
.vmp h1 {
  font-size: min(32px,5vw);
  width: min(300px,35vw);
  text-align: center;
  margin: 0 auto;
  border-bottom: 1px solid #666;
}
.block {
  background: #f9f9f9;
  padding: 1em;
  margin: 0 20vw;
  border: 1px solid #ddd;
  border-radius: 8px;
}
.block h2 {
  font-size: 1.5em;
  margin-bottom: 0.5em;
  color: #000;
}
.block p {
  font-size: 1em;
  color: #333;
}
.block img {
  width: 100%; /* 画像を親要素の幅いっぱいにする */
  height: auto; /* アスペクト比を維持 */
  margin: 0 auto; /* 画像を中央に配置 */
  display: block; /* ブロック要素として扱う */
  border: 2px solid #ddd; /* 枠線を追加（必要に応じて） */
  border-radius: 8px; /* 角を丸くする（必要に応じて） */
}

.about-us {
  padding: 2em;
  background: #f8f8f8;
  text-align: center;
}
.about-us .cards {
  display: flex;
  justify-content: space-around;
  gap: 1em;
  margin: 1em 20vw;
}
.about-us .card {
  background: #fff;
  padding: 1em;
  border: 1px solid #ddd;
  width: 300px;
  border-radius: 8px;
}
.about-us .card img {
  width: min(20vw, 200px); /* 画像の幅を指定 */
  height: min(20vw, 200px); /* 画像の高さを指定 */
  object-fit: cover; /* 画像を中央で切り抜く */
  border-radius: 50%; /* 丸い画像にする */
  border: 2px solid #ddd; /* 枠線を追加 */
  margin-top: 0.5em;
}

footer {
  z-index: 1;
  background: #000000;
  position: sticky;
  top: 0;
  padding: 5px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 0px solid #000000;
}
footer p {
  padding: 1em 1em;
  color: #aaa;
  margin: 0 auto;
}