.img img {
  display: block;
  width: 100%;
}

.main-visual {
  width: 100%;
  max-width: 1000px;
  margin: auto;
  overflow: hidden;
  /*background: url(../img/main.png) no-repeat left top;
  background-size: cover;*/
  position: relative;
}
.main-visual img {
  opacity: 1;
}
.main-visual .monster1 {
  position: absolute;
  top: 50%;
  left: 0;
  width: 159px;
  height: 94px;
}
.main-visual .monster2 {
  position: absolute;
  top: 30%;
  left: 0;
  width: 160px;
  height: 97px;
}

section * {
  box-sizing: border-box;
}

section {
  background: url(../img/2022_09/bg.png) no-repeat left top;
  background-size: cover;
  padding: 80px 40px 40px;
}
section .inner {
  width: 100%;
  max-width: 1000px;
  margin: auto;
}
section .inner + .inner {
  margin-top: 80px;
}
section .type-deco01 {
  max-width: 900px;
  margin: auto;
}
section .read-text {
  width: fit-content;
  margin: 40px auto;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.6;
}
section .read {
  max-width: 550px;
  margin: auto;
}
section .comment {
  width: 100%;
  display: flex;
  padding: 30px 20px;
  box-sizing: border-box;
  background: rgba(143, 195, 31, 0.33);
  border-radius: 16px;
  margin: 20px 0;
}
section .comment .icon {
  width: 200px;
  padding: 0 25px;
}
section .comment .passing-block {
  width: calc(100% - 200px);
}
section .comment .passimg-name {
  font-size: 24px;
  font-weight: bold;
}
section .comment .passimg-txt {
  font-size: 16px;
  line-height: 2;
  font-weight: bold;
}
section .section-title {
  text-align: center;
  line-height: 1.6;
  margin-bottom: 24px;
}
section .section-title .polkaDot {
  border-bottom: dotted 6px #27539b;
  font-weight: bold;
  font-size: 220%;
}
section .cp_table3 {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 10px;
}
section .cp_table3 th,
section .cp_table3 td {
  padding: 10px;
  font-size: 16px;
}
section .cp_table3 th {
  text-align: left;
  background-color: #41719C;
  color: #fff;
  border-bottom: 1px solid #fff;
}
section .th_1 {
  width: 20%;
}
section .cp_table3 td {
  background-color: #fff;
  border: 1px solid #a3c5e4;
}
section .quiz {
  width: 100%;
  display: flex;
  list-style: none;
  margin: 0;
}
section .quiz .list {
  margin: 0;
  width: calc((100% - 40px)/3);
  margin-right: 20px;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 20px;
  padding: 40px;
}
section .quiz .list:last-of-type {
  margin-right: 0;
}
section .quiz .list .quiz-text {
  color: #643b14;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.6;
}
section .quiz .list .img.img02 img {
  width: auto;
  height: 150px;
  margin: auto;
}
section .link_erea {
  width: 100%;
  display: flex;
}
section .flex_img {
  width: 40%;
  margin: 0 8px;
  margin-top: 80px;
}
section .flex_link {
  width: 55%;
  margin: 0 8px;
}
section .txt_ct {
  margin-top: 50px;
  font-size: 14px;
  line-height: 1.6;
}
section .green {
  color: #047c71;
	font-weight: bold;
	font-size: 18px;
 /*-webkit-text-stroke: 0.3px #FFF;
  text-stroke: 0.3px #FFF;	*/
}
section .btn-color {
  color: #047c71;
		font-size: 18px;
	font-weight: bold;
 /*-webkit-text-stroke: 0.3px #FFF;
  text-stroke: 0.3px #FFF;	*/	
}
section .btn_green {
  display: block;
  cursor: pointer;
  width: 100%;
  margin: 10px auto 30px;
  padding: 20px;
  border-radius: 4px;
  box-sizing: border-box;
  color: #fff !important;
  line-height: 1.6;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  text-decoration: inherit;
  background: #00B050;
  box-shadow: 0 6px 0 #047c71, 0 12px 0 rgba(0, 0, 0, 0.2);
  transition: color .3s, background .3s, box-shadow .3s, transform 0.3s;
}
section .btn_green:hover {
  background: #00B050;
  box-shadow: 0 3px 0 #008A3E, 0 6px 0 rgba(0, 0, 0, 0.2);
  transform: translateY(3px);
}
section .btn_blue {
  display: block;
  cursor: pointer;
  width: 100%;
  margin: 50px auto 30px;
  padding: 20px;
  border-radius: 4px;
  box-sizing: border-box;
  color: #fff !important;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  text-decoration: inherit;
  background: #232289;
  box-shadow: 0 6px 0 #010036, 0 12px 0 rgba(0, 0, 0, 0.2);
  transition: color .3s, background .3s, box-shadow .3s, transform 0.3s;
  text-align: center;
}
section .btn_blue:hover {
  background: #232289;
  box-shadow: 0 3px 0 #010036, 0 6px 0 rgba(0, 0, 0, 0.2);
  transform: translateY(3px);
}
section .btn {
  display: block;
  cursor: pointer;
  width: 100%;
  margin: 10px auto 30px;
  padding: 20px;
  border-radius: 4px;
  box-sizing: border-box;
  color: #fff !important;
  line-height: 1.6;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  text-decoration: inherit;
  background: #20b2aa;
  box-shadow: 0 6px 0 #047c71, 0 12px 0 rgba(0, 0, 0, 0.2);
  transition: color .3s, background .3s, box-shadow .3s, transform 0.3s;
}
section .btn:hover {
  background: #3cc4bd;
  box-shadow: 0 3px 0 #12978d, 0 6px 0 rgba(0, 0, 0, 0.2);
  transform: translateY(3px);
}
section .link-title {
  font-size: 28px;
  font-weight: bold;
  text-align: center;
}

@media screen and (max-width: 767px) {
  body {
    min-width: auto;
  }

  #footWrap {
    width: 100%;
  }

  section {
    background: url(../img/2022_09/bg.png) no-repeat left top;
    background-size: cover;
    padding: 40px 10px;
  }

  .main-visual .monster1 {
    width: calc(159px * 0.6);
    height: calc(94px * 0.6);
  }
  .main-visual .monster2 {
    width: calc(160px * 0.6);
    height: calc(97px * 0.6);
  }

  section .comment {
    width: 100%;
    display: flex;
    padding: 20px;
    margin: 0;
    flex-direction: column;
  }
  section .comment .icon {
    width: 150px;
    padding: 0;
    margin: auto;
  }
  section .comment .passing-block {
    width: 100%;
  }
  section .quiz {
    flex-wrap: wrap;
  }
  section .quiz .list {
    margin: 0;
    width: 100%;
    margin-right: 0px;
    margin-top: 20px;
    padding: 20px;
  }
  section .quiz .list .img img {
    width: auto;
    height: 150px;
    margin: auto;
  }
  section .quiz .list .quiz-text {
    font-size: 14px;
    text-align: center;
  }
  section .link_erea {
    flex-wrap: wrap;
  }
  section .flex_img {
    width: 100%;
    margin: 0;
    margin-top: 40px;
    margin-bottom: 40px;
  }
  section .flex_link {
    width: 100%;
    margin: 0 8px;
  }
  section .txt_ct {
    margin-top: 30px;
  }
section .green {
	font-size: 15px;
 /*-webkit-text-stroke: 0.3px #FFF;
  text-stroke: 0.3px #FFF;	*/
}
section .btn-color {
 	font-size: 15px;

}	
	
}
.monster1 {
  animation: anime_img 3s ease .1s infinite;
}

.monster2 {
  animation: anime_img2 5s ease .5s infinite;
}

main {
  opacity: 0;
  animation: fadeIn .5s ease-out .1s forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes anime_img {
  0% {
    transform: translate(-100px, 0px) rotate(10deg);
  }
  50% {
    transform: translate(50vw, 100px) rotate(10deg);
  }
  100% {
    transform: translate(120vw, 0) rotate(0deg);
  }
}
@keyframes anime_img2 {
  0% {
    transform: translate(-100px, 210px) rotate(0deg);
  }
  70% {
    transform: translate(30vw, 0px) rotate(10deg);
  }
  100% {
    transform: translate(120vw, 100px) rotate(0deg);
  }
}

.red-l {
  color: #de5443;
  font-weight: bold;
  font-size: 120%;
}  
