.wrap {
  width: 768px;
  margin: 0 auto;
  padding-top: 16px;
  padding-bottom: 16px;
}

@media screen and (max-width:1023px) {
  .wrap {
    width: 100%;
    padding-top: 20px;
    padding-bottom: 20px
  }
}

.inner {
  width: 92%;
  margin: 0 auto
}

.flex_img_txt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between
}

@media screen and (max-width:1023px) {
  .flex_img_txt {
    width: 94%
  }
}

.belt {
  padding-top: 30px;
  padding-bottom: 30px;
  position: relative;
  z-index: 1
}

@media screen and (max-width:1023px) {
  .belt {
    padding-top: 10px;
    padding-bottom: 10px
  }
}

.sankaku {
  position: relative;
  z-index: 2
}

.sankaku img {
  width: 8%;
  max-width: 64px;
}

.shadow {
  -webkit-box-shadow: 3px 3px 5px rgba(0, 0, 0, .4);
  box-shadow: 3px 3px 5px rgba(0, 0, 0, .4)
}

.green {
  background-color: #76aa22
}

.blue {
  background-color: #133565
}

.orange {
  background-color: #fca427
}

.manga {
  margin-top: 32px;
}

@media screen and (max-width:1023px) {
  .manga {
    margin-top: 20px
  }
}

.b1 {
  background-image: url(../images/001/cover.jpg);
  background-repeat: no-repeat;
  background-size: cover
}

.b1 .wrap {
  position: relative;
  min-height: 505px;
  padding: 0;
}

.b1 .wrap .logo {
  position: absolute;
  left: -96px;
  right: -96px;
  /* margin-top: 32px; */
}

@media screen and (max-width:1023px) {
  .b1 {
    background-image: none
  }
}

.b2 {
  background-image: url(../images/002/cover.jpg);
  background-repeat: no-repeat;
  background-size: cover
}

.b2 .flex_50box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 30px
}

@media screen and (max-width:1023px) {
  .b2 .flex_50box {
    margin-top: 10px
  }
}

.b2 .flex_50box .box_ {
  width: 48%;
  border: 1px solid #133565;
  border-radius: 15px;
  background-color: #fff
}

.b2 .flex_50box .box_ h3 {
  margin: 0;
  text-align: center;
  color: #fff;
  background-color: #133565;
  font-size: 35px;
  line-height: 2;
  border-radius: 14px 14px 0 0
}

@media screen and (max-width:1023px) {
  .b2 .flex_50box .box_ h3 {
    font-size: 15px
  }
}

.b2 .flex_50box .box_ .txt {
  line-height: 1.3;
  padding: 10px
}

.b3 {
  background-image: url(../images/003/cover.png);
  background-repeat: repeat;
  padding-bottom: 50px;
}

@media screen and (max-width:1023px) {
  .b3 {
    padding-bottom: 20px
  }
}

.b4 {
  background-color: #ededed;
  padding-bottom: 64px;
}

@media screen and (max-width:1023px) {
  .b4 {
    padding-bottom: 20px
  }
}

.b4 .wrap {
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .4);
  box-shadow: 0 5px 10px rgba(0, 0, 0, .4);
  background-color: #fff;
  padding-bottom: 0
}

.b5 {
  background-image: url(../images/005/cover.png);
  background-repeat: repeat;
  padding-bottom: 64px;
}

@media screen and (max-width:1023px) {
  .b5 {
    padding-bottom: 20px
  }
}

.b5 .wrap {
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .4);
  box-shadow: 0 5px 10px rgba(0, 0, 0, .4);
  background-color: #fbf3e4;
  padding-bottom: 0;
  margin-top: -100px;
  padding-top: 110px;
  padding-bottom: 50px
}

@media screen and (max-width:1023px) {
  .b5 .wrap {
    padding-bottom: 20px
  }
}

.b6 {
  background-image: url(../images/006/cover.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50%;
  padding-top: 32px;
  padding-bottom: 32px;
}

@media screen and (max-width:1023px) {
  .b6 {
    padding-top: 20px;
    padding-bottom: 20px
  }
}

.b7 {
  background-color: #f8f1e5
}

.b7 .wrap {
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .4);
  box-shadow: 0 5px 10px rgba(0, 0, 0, .4);
  background-image: url(../images/007/back.jpg);
  background-repeat: repeat;
  padding-top: 50px;
  padding-bottom: 50px
}

@media screen and (max-width:1023px) {
  .b7 .wrap {
    padding-top: 20px;
    padding-bottom: 20px
  }
}

.b7 .wrap .inner {
  line-height: 1.3;
  font-weight: 400;
  padding-top: 30px
}

@media screen and (max-width:1023px) {
  .b7 .wrap .inner {
    padding-top: 10px
  }
}

.b8 {
  background-color: #fcf5e9
}

.b8 .wrap {
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .4);
  box-shadow: 0 5px 10px rgba(0, 0, 0, .4);
  background-image: url(../images/007/back.jpg);
  background-repeat: repeat;
  margin-top: -100px;
  padding-top: 110px;
  padding-bottom: 50px
}

@media screen and (max-width:1023px) {
  .b8 .wrap {
    margin-top: -50px;
    padding-top: 60px;
    padding-bottom: 20px
  }
}

.b8 .flex_edit {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 30px
}

@media screen and (max-width:1023px) {
  .b8 .flex_edit {
    margin-bottom: 10px
  }
}

.b8 .flex_edit .one_edit_ {
  width: 16%
}

@media screen and (max-width:1023px) {
  .b8 .flex_edit .one_edit_ {
    width: 33%
  }
}

.b8 .flex_edit .one_edit_ img {
  width: 100%
}

.b8 .txt {
  line-height: 1.3
}

.b9 {
  background-color: #fcf5e9
}

.b9 .wrap {
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .4);
  box-shadow: 0 5px 10px rgba(0, 0, 0, .4);
  background-image: url(../images/007/back.jpg);
  background-repeat: repeat;
  margin-top: -100px;
  padding-top: 130px;
  padding-bottom: 50px
}

@media screen and (max-width:1023px) {
  .b9 .wrap {
    margin-top: -50px;
    padding-top: 60px;
    padding-bottom: 20px
  }
}

.b9 .inner {
  padding-top: 50px;
  line-height: 1.3
}

@media screen and (max-width:1023px) {
  .b9 .inner {
    padding-top: 20px
  }
}

.b10 {
  background-color: #fcf5e9
}

.b10 .wrap {
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .4);
  box-shadow: 0 5px 10px rgba(0, 0, 0, .4);
  background-image: url(../images/007/back.jpg);
  background-repeat: repeat;
  margin-top: -100px;
  padding-top: 130px;
  padding-bottom: 50px
}

@media screen and (max-width:1023px) {
  .b10 .wrap {
    margin-top: -50px;
    padding-top: 60px;
    padding-bottom: 20px
  }
}

.b10 .inner {
  padding-top: 50px;
  line-height: 1.3
}

@media screen and (max-width:1023px) {
  .b10 .inner {
    padding-top: 20px
  }
}

.b11 {
  background-color: #fcf5e9;
  padding-bottom: 64px;
}

@media screen and (max-width:1023px) {
  .b11 {
    padding-bottom: 20px
  }
}

.b11 .wrap {
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .4);
  box-shadow: 0 5px 10px rgba(0, 0, 0, .4);
  background-image: url(../images/007/back.jpg);
  background-repeat: repeat;
  margin-top: -100px;
  padding-top: 130px;
  padding-bottom: 50px
}

@media screen and (max-width:1023px) {
  .b11 .wrap {
    margin-top: -50px;
    padding-top: 60px;
    padding-bottom: 20px
  }
}

.b11 .inner {
  padding-top: 50px;
  line-height: 1.3
}

@media screen and (max-width:1023px) {
  .b11 .inner {
    padding-top: 20px
  }
}

.b11 .flex_block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 30px
}

@media screen and (max-width:1023px) {
  .b11 .flex_block {
    margin-bottom: 10px
  }
}

.b11 .flex_block .one_block_ {
  width: 25%
}

@media screen and (max-width:1023px) {
  .b11 .flex_block .one_block_ {
    width: 33%
  }
}

.b11 .flex_block .one_block_ img {
  width: 100%
}

.b11 .txt {
  line-height: 1.3
}

.b12 {
  background-color: #ededed;
  padding-bottom: 64px;
}

@media screen and (max-width:1023px) {
  .b12 {
    padding-bottom: 40px
  }
}

.b12 .wrap {
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .4);
  box-shadow: 0 5px 10px rgba(0, 0, 0, .4);
  background-color: #fff;
  margin-top: -100px;
  padding-top: 100px;
  padding-bottom: 80px
}

@media screen and (max-width:1023px) {
  .b12 .wrap {
    margin-top: -50px;
    padding-top: 60px;
    padding-bottom: 20px
  }
}

.b12 .inner {
  padding-top: 10px
}

.b12 .txt {
  padding-top: 20px;
  line-height: 1.3
}

.b13 {
  background: -webkit-gradient(linear, left top, right top, from(rgba(119, 170, 0, .2)), to(rgba(119, 170, 0, .2))), url(../images/013/cover.png);
  background: -webkit-linear-gradient(left, rgba(119, 170, 0, .2), rgba(119, 170, 0, .2)), url(../images/013/cover.png);
  background: linear-gradient(90deg, rgba(119, 170, 0, .2), rgba(119, 170, 0, .2)), url(../images/013/cover.png);
  background-repeat: repeat, repeat;
  padding-bottom: 64px;
}

@media screen and (max-width:1023px) {
  .b13 {
    padding-bottom: 30px
  }
}

.b13 .wrap {
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .4);
  box-shadow: 0 5px 10px rgba(0, 0, 0, .4);
  background-color: #fff;
  margin-top: -100px;
  padding-top: 50px;
  padding-bottom: 80px
}

@media screen and (max-width:1023px) {
  .b13 .wrap {
    margin-top: -50px;
    padding-top: 20px;
    padding-bottom: 20px
  }
}

.b13 .inner {
  padding-top: 10px
}

.b13 .flex_img_txt {
  padding-top: 30px;
  padding-bottom: 15px;
  border-bottom: 2px dotted #000;
  width: 96%;
  margin: 0 auto
}

@media screen and (max-width:1023px) {
  .b13 .flex_img_txt {
    padding-top: 20px
  }
}

.b13 .flex_img_txt .txt {
  width: 75%;
  font-weight: 400
}

.b13 .flex_img_txt .img {
  width: 19%
}

@media screen and (max-width:1023px) {
  .b13 .flex_img_txt .img {
    width: 25%
  }
}

@media screen and (max-width:1023px) {
  .b13 .flex_img_txt .img .flex_bottom {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
  }
}

.b13 .txt {
  line-height: 1.3
}

.b2_2 .wrap {
  padding-top: 80px;
  padding-bottom: 80px
}

@media screen and (max-width:1023px) {
  .b2_2 .wrap {
    padding-top: 20px;
    padding-bottom: 20px
  }
}

.b14 {
  background: url(../images/014/cover.jpg);
  background-repeat: repeat;
  padding-bottom: 64px;
}

@media screen and (max-width:1023px) {
  .b14 {
    padding-bottom: 30px
  }
}

.b14 .belt {
  padding-top: 60px;
  padding-bottom: 60px
}

@media screen and (max-width:1023px) {
  .b14 .belt {
    padding-top: 20px;
    padding-bottom: 20px
  }
}

.b14 .wrap {
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .4);
  box-shadow: 0 5px 10px rgba(0, 0, 0, .4);
  background-color: #fff;
  margin-top: -100px;
  padding-top: 50px;
  padding-bottom: 80px
}

@media screen and (max-width:1023px) {
  .b14 .wrap {
    margin-top: -50px;
    padding-top: 30px;
    padding-bottom: 20px
  }
}

.b14 .inner {
  padding-top: 60px
}

.b14 .txt {
  padding-top: 20px;
  line-height: 1.3
}

.b14 .back_txt_1, .b14 .back_txt_2, .b14 .back_txt_3, .b14 .back_txt_4, .b14 .back_txt_5, .b14 .back_txt_6 {
  background-repeat: no-repeat;
  background-size: 60%;
  background-position: 100% 100%;
  border-bottom: 2px dotted #000;
  padding-top: 20px;
  padding-bottom: 20px;
  width: 96%;
  margin: 0 auto;
}

@media screen and (max-width:1023px) {
  .b14 .back_txt_1, .b14 .back_txt_2, .b14 .back_txt_3, .b14 .back_txt_4, .b14 .back_txt_5, .b14 .back_txt_6 {
    background-size: 60%
  }
}

.b14 .back_txt_1 .txt, .b14 .back_txt_2 .txt, .b14 .back_txt_3 .txt, .b14 .back_txt_4 .txt, .b14 .back_txt_5 .txt, .b14 .back_txt_6 .txt {
  width: 60%;
  font-weight: 400;
  padding-top: 15px;
  padding-bottom: 15px
}

.b14 .back_txt_1 {
  background-image: url(../images/014/001.jpg)
}

.b14 .back_txt_2 {
  background-image: url(../images/014/002.jpg)
}

.b14 .back_txt_3 {
  background-image: url(../images/014/003.jpg)
}

.b14 .back_txt_4 {
  background-image: url(../images/014/004.jpg)
}

.b14 .back_txt_5 {
  background-image: url(../images/014/005.jpg)
}

.b14 .back_txt_6 {
  background-image: url(../images/014/006.jpg)
}

.b15 .wrap {
  padding-top: 32px;
  padding-bottom: 64px;
}

@media screen and (max-width:1023px) {
  .b15 .wrap {
    padding-top: 20px;
    padding-bottom: 20px
  }
}

.footer {
  background-color: #76aa22;
  text-align: center;
  padding: 10px;
  line-height: 2;
  color: #fff;
  font-size:12px;
}

@media screen and (max-width:1023px) {
  .footer {
    padding: 5px
  }
}

.footer a {
  color: #fff
}

.footer a:hover {
  color: red;
  text-decoration: none
}

@media screen and (max-width:1023px) {
  .footer .copyright {
    font-size: 10px
  }
}

.btn a:hover {
  opacity: .7
}

.yellow {
  background-color: #f8f5d0;
  padding-left: 5px;
  padding-right: 5px
}

.red {
  color: #e20021
}

.center {
  text-align: center
}

.space {
  padding-top: 20px;
  padding-bottom: 20px
}

.pc-only {
  display: block
}

@media screen and (max-width:1023px) {
  .pc-only {
    display: none
  }
}

.mobile-only {
  display: none
}

@media screen and (max-width:1023px) {
  .mobile-only {
    display: block
  }
}

@media screen and (max-width:1023px) {
  .mob_image {
    width: 96%;
    margin: 0 auto
  }
  .mob_image img {
    max-width: 100%
  }
}

.flex_center {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center
}

.flex_bottom, .flex_center {
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex
}

.flex_bottom {
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end
}

@media screen and (max-width:1023px) {
  .video {
    position: relative;
    width: 100%;
    padding-top: 56.25%
  }
  .video iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%
  }
}