/*!
 * basictop+basetop: Bootstrap v5.3.8
 */

@charset "UTF-8";

:root {
  /* カスタムカラーの定義 (basictop.css から抽出) */
  --custom-link-color: #0105d2;
  --custom-link-visited: #059a76;
  --custom-link-hover: #ed0000;
  --custom-link-active: #e0c408;

  /* Bootstrap の変数をカスタムカラーで上書き */
  --bs-link-color: var(--custom-link-color);
  --bs-link-hover-color: var(--custom-link-hover);
}

/* 共通要素のスタイル (basictop.css & basetop.css 統合) */
a:link {
  color: #0105d2;
}

a:visited {
  color: #059a76;
}

a:hover {
  color: #e30000;
}

a:active {
  color: #e0c408;
}

/* フォントサイズへの影響をなくす */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  /* 親要素のサイズを継承 */
  font-weight: normal;
  /* 太字を解除 */
  margin: 0;
  /* ついでに上下の余白も消すと扱いやすいです */
}

body {
  font-family: "Helvetica", "Meiryo", "Arial", "游ゴシック", sans-serif;
  font-size: 62.5%;
  line-height: 1.45em;
  letter-spacing: 0.1em;
  margin: 0 auto 50px auto;
  /*背景画像*/
  background-color: #00156f;
  background-image: url("img/park.jpg");
  background-size: cover;
  background-attachment: fixed;
  background-position: center;
  /*End背景画像*/
}

.wrapper {
  vertical-align: middle;
  width: 100%;
  max-width: 3000px;
  height: auto;
  margin: 0 auto 0 auto;
}

.loop {
  width: 100%;
  height: auto;
  background: url(img/topback.png) repeat-x;
  background-position: 0 0;
  -webkit-animation: bgloop 90s linear infinite;
  -moz-animation: bgloop 90s linear infinite;
  -ms-animation: bgloop 90s linear infinite;
  -o-animation: bgloop 90s linear infinite;
  animation: bgloop 90s linear infinite;
}

@-webkit-keyframes bgloop {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: 1600px 0;
  }
}

@-moz-keyframes bgloop {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: 1600px 0;
  }
}

@-ms-keyframes bgloop {
  0% {
    -ms-background-position: 0 0;
  }

  100% {
    -ms-background-position: 1600px 0;
  }
}

@-o-keyframes bgloop {
  0% {
    -o-background-position: 0 0;
  }

  100% {
    -o-background-position: 1600px 0;
  }
}

@keyframes bgloop {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: 1600px 0;
  }
}

/* basictop.css */
.boxcontainer2 {
  line-height: 2.2em;
  width: 100%;
  max-width: 1000px;
  height: auto;
  position: relative;
  background-color: #FFFFFF;
  border-radius: 8px;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  flex-direction: row;
  flex-flow: row;
  align-items: stretch;
  overflow: hidden;
  flex-wrap: wrap;
  margin: 0 auto 10px auto;
  text-align: left;
}

.boxcontainer4 {
  line-height: 1.2em;
  width: 100%;
  max-width: 1000px;
  height: auto;
  padding: 0 15px 5px 15px;
  background-color: #00eaea;
  position: relative;
  text-align: left;
  overflow: hidden;
  margin: 0 auto 0 auto;
}

.boxcontainer5 {
  font-size: 1.1em;
  font-weight: bold;
  width: 100%;
  max-width: 1000px;
  height: auto;
  position: relative;
  background-image: url(img/education.png);
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: 100% 50%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.boxcontainer6 {
  font-size: 1.1em;
  font-weight: bold;
  width: 100%;
  max-width: 1000px;
  height: auto;
  position: relative;
  background-image: url(img/lucky5.png);
  background-repeat: no-repeat;
  background-position: 100% 50%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.boxcontainer6 .caption {
  font-size: 1em;
  font-weight: 777;
  color: #000;
  padding-top: 0;
  padding-left: 65%;
}

.boxcontainer6 .mask {
  width: 100%;
  height: 0;
  background-color: transparent;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -o-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
}

.boxcontainer6:hover .mask {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -o-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.boxcontainer7 {
  font-size: 1.1em;
  font-weight: bold;
  width: 100%;
  max-width: 1000px;
  height: auto;
  position: relative;
  background-image: url(img/cosmos2.png);
  background-repeat: no-repeat;
  background-position: 100% 50%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.boxcontainer8 {
  font-size: 1.0em;
  font-weight: bold;
  text-align: left;
  width: 100%;
  max-width: 1000px;
  height: auto;
  box-sizing: border-box;
  overflow: hidden;
  margin: 10px auto 0 auto;
}

.boxcontainer9 {
  text-align: center;
  line-height: 1.0em;
  width: 100%;
  max-width: 777px;
  height: auto;
  margin: 30px auto 0 auto;
  display: block;
}

.boxcontainer11 {
  font-size: 1.1em;
  font-weight: bold;
  width: 100%;
  max-width: 1000px;
  height: auto;
  background-image: url(img/universe.png);
  background-repeat: no-repeat;
  background-position: 100% 50%;
  background-blend-mode: lighten;
  position: relative;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.boxcontainer12 {
  font-size: 1.1em;
  font-weight: bold;
  width: 100%;
  max-width: 1000px;
  height: auto;
  background-image: url(img/planet.png);
  background-repeat: no-repeat;
  background-position: 100% 50%;
  position: relative;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.boxcontainer13 {
  font-size: 1.1em;
  font-weight: bold;
  width: 100%;
  max-width: 1000px;
  height: auto;
  background-image: url(img/monta.png);
  background-repeat: no-repeat;
  background-position: 100% 50%;
  position: relative;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.boxcontainer14 {
  font-size: 1.1em;
  font-weight: bold;
  width: 100%;
  max-width: 1000px;
  height: auto;
  background-image: url(img/devil.png);
  background-repeat: no-repeat;
  background-position: 100% 50%;
  position: relative;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.boxcontainer15 {
  font-size: 1.1em;
  font-weight: bold;
  width: 100%;
  max-width: 1000px;
  height: auto;
  background-image: url(img/bezos.png);
  background-repeat: no-repeat;
  background-position: 100% 50%;
  position: relative;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.boxcontainer16 {
  font-size: 1.1em;
  font-weight: bold;
  width: 100%;
  max-width: 1000px;
  height: auto;
  background-image: url(img/australia.jpg);
  background-repeat: no-repeat;
  background-position: 100% 50%;
  position: relative;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.boxcontainer17 {
  font-size: 1.1em;
  font-weight: bold;
  width: 100%;
  max-width: 1000px;
  height: auto;
  background-image: url(img/newcale.png);
  background-repeat: no-repeat;
  background-position: 100% 50%;
  position: relative;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.boxcontainer18 {
  font-size: 1.1em;
  font-weight: bold;
  width: 100%;
  max-width: 1000px;
  height: auto;
  background-image: url(img/dollar.png);
  background-repeat: no-repeat;
  background-position: 95% 50%;
  position: relative;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.box1 {
  width: 100%;
  max-width: 494px;
  height: auto;
  position: relative;
  padding-top: 10px;
  margin: 0 auto 0 auto;
}

.box2 {
  width: 100%;
  height: auto;
  border-collapse: collapse;
  text-align: left;
  padding: 5px 15px 95px 15px;
  margin: 0 auto 0 auto;
  background-color: #e1f7ff;
  padding-left: 10px;
}

.box3 {
  max-width: 90px;
  width: 100%;
  height: auto;
  border: solid #000000 1px;
  margin: 5px 5px 3px auto;
  float: left;
}

.box4 {
  width: 100%;
  max-width: 1000px;
  height: auto;
  background-color: #FFFFFF;
  padding: 1px 2px 1px 2px;
  border-right: 1px solid #A8E6FF;
  position: relative;
  display: inline-block;
  box-sizing: border-box;
  overflow-wrap: break-word;
  overflow: hidden;
  padding-left: 10px;
  padding-right: 10px;
  margin-bottom: -400px;
  padding-bottom: 400px;
}

.wat-books {
  width: 100%;
  max-width: 1000px;
  height: auto;
  background-color: #FFFFFF;
  border: #00eaea solid 1px;
  position: relative;
  display: inline-block;
  box-sizing: border-box;
  word-wrap: break-word;
  overflow: hidden;
  float: left;
  padding-left: 4px;
  padding-right: 4px;
  padding-top: 10px;
  padding-bottom: 100px;
  margin-bottom: -100px;
}

.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.no-gutter>[class*=col-] {
  padding-right: 0;
  padding-left: 0;
  margin-right: 0;
  margin-left: 0;
}

.gutter>[class*=col-] {
  padding-right: 5px;
  padding-left: 5px;
}

/*アニメグラデーション*/

@keyframes bggradient {
  0% {
    background-position: 11% 0%;
  }

  50% {
    background-position: 90% 100%;
  }

  100% {
    background-position: 11% 0%;
  }
}

/*Endアニメグラデーション*/

.responsive {
  display: block;
  width: 100%;
  max-width: 519px;
  height: auto;
  margin: 2px auto 5px auto;
}

/*ラッキーリピート*/

.boxcontainer19 {
  position: relative;
  width: 120px;
  height: 101px;
  border: solid 1px #000000;
}

.image {
  position: absolute;
  width: 100%;
  opacity: 0;
  animation: change-img-anim 10s infinite;
}

.image:nth-of-type(1) {
  animation-delay: 0s;
}

.image:nth-of-type(2) {
  animation-delay: 4s;
}

.image:nth-of-type(3) {
  animation-delay: 6s;
}

@keyframes change-img-anim {
  0% {
    opacity: 0;
  }

  30% {
    opacity: 1;
  }

  60% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

/*Endラッキーリピート*/

.div1 {
  margin: 0 auto 0 auto;
  text-align: center;
}

.div3 {
  display: none;
  width: 105%;
  line-height: 2.1em;
  border: 1px solid #000;
  background: #FFF;
}

.div5 {
  font-size: 1.0em;
  font-weight: bold;
  text-align: left;
  line-height: 2.1em;
  width: 100%;
  max-width: 500px;
  display: none;
  padding-left: 0.3em;
  border: 1px solid #000;
  background: #FFF;
  margin-left: -20px;
}

.gradation1 {
  width: 120px;
  height: 35px;
  text-align: center;
  background: linear-gradient(#fdffc7, #87c300);
  border-radius: 10px;
  padding-top: 5px;
  padding-bottom: 5px;
  float: left;
}

.section-title {
  position: relative;
  width: 100%;
  max-width: 900px;
  height: auto;
  line-height: 1.3em;
  padding: 8px 2px 4px 5px;
  margin: 3px auto 3px auto;
  border-radius: 4px;
  text-align: left;
  background: linear-gradient(#ffffff, #6fd9ff);
  border: #00bbff solid 1px;
  overflow-wrap: break-word;
}

.books {
  font-size: 1.2em;
  font-weight: 700;
}

.sample1 {
  font-size: 0.9em;
}

.sample2 {
  list-style-type: none;
  color: #000000;
  font-size: 1.0em;
  text-align: right;
  line-height: 0.9em;
  margin-left: -15px;
}

.sample3 {
  list-style-type: none;
  color: #000000;
}

.sample4 li:hover div {
  font-size: 1.0em;
  line-height: 2.0em;
  display: block;
  width: 100%;
  max-width: 700px;
  height: auto;
  padding-left: 1.5em;
  list-style-position: inside;
  border: 1px solid #999;
  margin-bottom: 7px;
}

.sample5 {
  width: 100%;
  max-width: 112px;
  height: auto;
  overflow: hidden;
  margin: 3px 8px 3px 5px;
  position: relative;
  float: left;
}

.sample5 .caption {
  font-size: 1.2em;
  font-weight: 700;
  color: #FFFFFF;
  padding-top: 10px;
  padding-left: 8px;
}

.sample5 .mask {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: transparent;
  -webkit-transition: all .6s ease;
  -moz-transition: all .6s ease;
  -o-transition: all .6s ease;
  -ms-transition: all .6s ease;
  transition: all .6s ease;
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -o-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
}

.sample5:hover .mask {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -o-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.sample6 {
  list-style-type: disc;
  margin-left: -30px;
}

.sample9 {
  font-size: 1.2em;
  font-weight: bold;
  color: #ffffff;
  text-shadow: 0 0 3px #000000, 0 0 3px #000000, 0 0 5px #000000, 0 0 7px #000000;
  margin-left: 20px;
}

.sample10 {
  font-size: 0.9em;
  font-weight: bold;
}

.title16 {
  font-size: 0.9em;
  text-align: center;
  padding-top: 10px;
  margin-bottom: 5px;
}

.title18 {
  font-size: 2.7em;
  font-weight: bold;
  color: #ffffff;
  text-shadow: 0 0 8px #000000, 0 0 8px #000000, 0 0 10px #000000, 0 0 12px #000000;
  letter-spacing: 0.5em;
  text-align: center;
}

.title19 {
  font-size: 1.6em;
  font-weight: bold;
  color: #ffffff;
  text-shadow: 0 0 3px #000000, 0 0 3px #000000, 0 0 5px #000000, 0 0 7px #000000;
  letter-spacing: 0.2em;
  text-align: center;
}

.title21 {
  margin-left: 5px;
  font-size: 1.3em;
  font-weight: bold;
  letter-spacing: 0.1em;
}

.title23 {
  font-size: 1.1em;
  font-weight: bold;
  text-align: left;
  padding: 5px 5px 5px 10px;
  background-color: #84ffc7;
  margin-top: 15px;
  margin-bottom: 15px;
}

.title24 {
  line-height: 1.5em;
  text-align: left;
  display: none;
  width: 100%;
  max-width: 700px;
  height: auto;
  padding: 0 2px 0 2px;
  margin-bottom: 5px;
}

.title25 {
  font-size: 1.0em;
  font-weight: bold;
  line-height: 1.3em;
  margin: 0 auto;
  text-align: right;
}

.title26 {
  background-color: #FFFFFF;
  width: 100%;
  max-width: 498px;
  height: auto;
  padding-top: 1px;
  padding-bottom: 23px;
}

.comments {
  font-size: 1.1em;
  font-weight: bold;
  padding-bottom: 10px;
}

.itemsbody1 {
  position: relative;
}

nav {
  display: block;
  box-sizing: border-box;
}

ul {
  padding-left: 0;
  list-style-position: inside;
  margin: 0 auto 0 5px;
}

li {
  padding-left: 0.5em;
  margin: 0 auto 0 5px;
}

.indent1 {
  text-indent: 1em;
  font-size: 0.9em;
  margin-top: 5px;
  margin-bottom: 5px;
}

.space2 {
  margin-right: 1.0em;
}