html {
  overflow-y: scroll;
}
div {
  box-sizing: border-box;
  color: #004E98;
  text-align: center;
}

#bg {
  position: fixed;
  top: 0px;
  width: 100%;
  z-index: -1;
}

#badge {
  position: fixed;
  left: 30px;
  top: 30px;
  z-index: 2;
}
#badge p {
  display: inline-block;
  height: 56px;
  width: 56px;
  margin: 0;
  line-height: 56px;
  color: #ffffff;
  font-size: 14px;
  text-decoration: none;
  border-radius: 9999px;
  border: 2px solid #ffffff;
}

#content {
  width: 100%;
  height: 80vh;
  min-height: 600px;
  align-items: start;
//  border: 1px solid #ff0000;
}
main {
  margin: 5vh 0 0 0;
  padding: 0 0 10vh 0;
//  border: 1px solid #00ff00;
}
main h1 {
  letter-spacing: 0.1em;
  color: #ffffff;
//  margin: 32px 0 48px 0;
  margin: 32px 0 5vh 0;
}


/*資料ダウンロード*/
main div.list {
  display: inline-block;
  vertical-align: top;
  width: 540px;
  background-color: #eaf4fb;
  padding: 10px;
  margin: 10px;
}
main div.list div {
  align-items: center; /* 上下中央寄せ */
  display: flex; /* Flexboxを適用 */
  justify-content: center; /* 左右中央寄せ */
  margin: 10px 0;
//  border: 1px solid #ff0000;
}
div.list1 {
  height: 60px;
}
div.list2 {
  position: relative;
  height: 280px;
//  margin: 10px 0 20px 0;
}
div.list2 img {
  box-shadow: 0 0 10px #aaaaaa;
  object-fit: contain;
}
div.list2 img.hor {
  width: 240px;
}
div.list2 img.ver {
  height: 240px;
}
.p2a, .p2b {
  position: absolute; /* 絶対位置で配置 */
  top: 50%;           /* 中心から縦50%の位置 */
  left: 50%;          /* 中心から横50%の位置 */
  transform: translate(-50%, -50%); /* 中心点を基準に位置調整 */
}
.p2a {
  top: calc(50% - 8px);   /* 上に8pxずらす */
  left: calc(50% - 20px); /* 左に20pxずらす */
  z-index: 2;             /* 前面に表示 */
}
.p2b {
  top: calc(50% + 8px);   /* 下に8pxずらす */
  left: calc(50% + 20px); /* 右に20pxずらす */
  z-index: 1;             /* 背面に表示 */
}

main div.list a {
  display: inline-block;
  border-radius: 9999px;
  background: #3498db;
  color: #ffffff;
  text-decoration: none;
  padding: 10px 20px;
  margin: 5px;
}
main div.list a.button:hover {
  background: #004E98;
  transition: .5s;
  box-shadow: none;
}
main div.list a.disabled {
  background: #cccccc;
}
main div.close, main div.list a.close {
  display: none;
}


/*よくある質問*/
.qa-7 {
  width: 800px;
    margin-bottom: 20px;
    border: none;
    border-radius: 10px;
//    box-shadow: 0 4px 4px rgb(0 0 0 / 20%), 0 2px 3px -2px rgba(0 0 0 / 5%);
  box-shadow: 0 4px 4px rgb(0 0 0 / 20%);
  background-color: #eaf4fb;
}
.qa-7 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 3em;
//    color: #333333;
    font-weight: 600;
    cursor: pointer;
}
.qa-7 summary::before, .qa-7 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}
.qa-7 summary::before {
    color: #75bbff;
    content: "Q";
}
.qa-7 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .5s;
}
.qa-7[open] summary::after {
    transform: rotate(225deg);
}
.qa-7 p {
  text-align: left;
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 3em 1.5em;
    color: #333;
    transition: transform .5s, opacity .5s;
}
.qa-7[open] p {
    transform: none;
    opacity: 1;
}
.qa-7 p::before {
    color: #ff8d8d;
    line-height: 1.2;
    content: "A";
}


/*スクロール*/
#scroll {
  box-sizing: border-box;
  position: fixed;
  right: 20px;
  bottom: 20px;
  height: 50px;
  width: 50px;
  border-radius: 25px;
  border: 2px solid #cccccc;
  background-color: #eeeeee;
}
#scroll:hover {
  border: 2px solid #004E98;
  background-color: #eaf4fb;
  transition: .5s;
}
#scroll:before {
  position: absolute;
  top: 18px;
  left: 16px;
  display: block;
  height: 10px;
  width: 10px;
  border-top: 4px solid #004E98;
  border-left: 4px solid #004E98;
  content: '';
  transform: rotate(45deg);
}


/*マーカー*/
main div.list h2 {
//  text-decoration: underline; /* 下線 */
//  text-decoration-thickness: 0.5em; /* 線の太さ */
//  text-decoration-color: rgba(255, 228, 0, 0.4); /* 線の色 */
//  text-underline-offset: -0.2em; /* 線の位置。テキストに重なるようにやや上部にする */
//  text-decoration-skip-ink: none; /* 下線と文字列が重なる部分でも下線が省略されない（線が途切れない） */
}


/*アニメーション*/
.animation{
  animation: fuwafuwa 3s linear infinite;
  scale: 1;
}
@keyframes fuwafuwa{
 0%{transform:translateY(0)}
 50%{transform:translateY(-5px)}
 100%{transform:translateY(0)}
}