@charset "UTF-8";
html, body, h1, h2, h3, h4, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  font-size: 100%;
  vertical-align: baseline;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
article, header, footer, aside, figure, figcaption, nav, section {
  display: block;
}
body {
  line-height: 1;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
ol, ul {
  list-style: none;
  list-style-type: none;
}
img {
  width: 100%;
}
body {
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 150%;
}
a {
  transition-property: opacity;
  transition-duration: 0.5s;
}
a:hover {
  opacity: 0.5;
}

header {
  display: none;
}
main {
  max-width: 750px;
  background-color: #fff;
}
main .head {
  background-color: #bababa;
  text-align: center;
  padding: 20px 0 20px 0;
  z-index: 100;
  position: fixed;
  width: 100%;
  top: 0px;
}
main .head p {
  width: 165px;
  margin: 0 auto;
}
main .head .menu a {}
.section1 {
  background: url(../img/kv_bg.png) no-repeat center top;
  background-size: 100% auto;
  border-radius: 70px;
  margin-top: -60px;
  padding-top: 80px;
}
.kv {
  background: url(../img/1_top.png) no-repeat center top;
  background-size: 100% auto;
  padding-top: 63px;
  overflow: hidden;
}
.kv .boder {
  border-right: 20px solid #ff006a;
  border-left: 20px solid #25f4ee;
  position: relative;
  height: 1315px;
}
.kv p {
  width: 556px;
}
.kv p img {
  margin: 56px 0 0 56px;
}
.kv .img {
  position: absolute;
  right: -30px;
  top: 50px;
}
.kv_main{
	position: relative;
	z-index: 1;
}
.move1,
.move2,
.move3,
.move4,
.move5,
.move10,
.move11,
.move12,
.move13{
	width: 32px;
}
.kv .move0 {
  position: absolute;
left: 0px;
    top: 770px;
	width: 86px;
}
.kv .move1 {
  position: absolute;
  right: 152px;
  top: 0px;
}
.kv .move2 {
  position: absolute;
  right: 60px;
  top: 260px;
}
.kv .move3 {
  position: absolute;
  left: 60px;
  top: 240px;
}
.kv .move4 {
  position: absolute;
  left: 30px;
  top: 750px;
}
.kv .move5 {
  position: absolute;
right: 180px;
    top: 810px;
}
.kv .move6 {
  position: absolute;
left: 0px;
    top: 300px;
	width: 138px;
}
.kv .move7 {
  position: absolute;
right: 20px;
    top: 830px;
	width: 130px;
}
.kv .move8 {
  position: absolute;
right: 0px;
    top: 540px;
	width: 86px;
}
.kv .move9 {
  position: absolute;
right: 60px;
    top: 255px;
	width: 96px;
}
.kv .move10 {
position: absolute;
    right: 50px;
    bottom: -260px;
}
.kv h1 {
  position: absolute;
  bottom: 160px;
  width: 100%;
  text-align: center;
}
.kv h1 img {
  width: 555px;
}
.lead {
  background: url(../img/1_bg.png) no-repeat center top;
  background-size: 100% auto;
  margin-top: -150px;
}
.lead .boder {
  border-right: 20px solid #ff006a;
  border-left: 20px solid #25f4ee;
  padding-top: 170px;
  height: 1213px;
	position: relative;
}
.lead .boder .move11 {
position: absolute;
left: 30px;
    top: 250px;
}
.lead .boder .move12 {
position: absolute;
left: 50px;
    top: 520px;
}
.lead .boder .move13 {
position: absolute;
right: 40px;
    top: 480px;
}
.lead .boder .move14 {
position: absolute;
right: 0px;
    top: 150px;
	width: 57px;
}
.lead .boder .move15 {
position: absolute;
left: 30px;
    top: 600px;
	width: 114px;
}
.lead .boder .move16 {
position: absolute;
left: 30px;
    top: 420px;
	width: 96px;
}
.lead h3 {
  width: 80%;
  margin: 0 auto 60px auto;
}
.lead p {
  color: #fff;
  text-align: center;
  font-size: 28px;
  line-height: 200%;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-style: italic;
  padding-bottom: 70px;
}
.btn {
  width: 508px;
  margin: 0 auto;
}
.btn a {
  background-color: #ff005a;
  width: 100%;
  border-radius: 100px;
  color: #fff;
  text-align: center;
  font-weight: 500;
  font-size: 39px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  padding: 20px 0;
  background: url(../img/btn_arrow.png) no-repeat right 30px center #ff005a;
  background-size: 25px auto;
}
.btn img {
  width: 65px;
  padding-right: 20px;
}
.section2 {
  background: url(../img/2_bg.png) no-repeat center top;
  background-size: 100% auto;
  margin-top: -550px;
  padding: 200px 60px 0 60px;
  position: relative;
  height: 1388px;
  z-index: 50;
}
.section2 h3 {
  width: 400px;
  padding-bottom: 10px;
}
.section2 p {
  width: 100%;
  font-size: 28px;
  line-height: 250%;
  font-weight: 500;
  color: #fff;
  margin-bottom: 30px;
}
.section2 p.bgw {
  background-color: #fff;
  color: #ff005a;
  font-size: 38px;
  line-height: 200%;
  font-weight: 700;
  display: inline;
}
.section2 .img {
  width: 200px;
  position: absolute;
  right: 20px;
  top: 980px;
}
.section3 {
  background: url(../img/3_bg.png) no-repeat center top;
  background-size: 100% auto;
  margin-top: -250px;
  position: relative;
  height: 1080px;
  z-index: 40;
  padding: 120px 60px 0 60px;
}
.section3 h3 {
  width: 387px;
  padding-bottom: 10px;
}
.section3 .img {
  padding-bottom: 20px;
}
.section3 p {
  font-size: 28px;
  line-height: 250%;
  font-weight: 500;
  color: #005a3a;
}
.section3 p span {
  color: #005cff;
}
.section3 p strong {
  font-size: 37px;
  text-decoration: underline;
}
.section3 small {
  font-size: 20px;
  font-weight: 500;
  text-align: left;
  width: 100%;
  display: block;
  color: #005a3a;
}
.section4 {
  background: url(../img/4_bg.png) no-repeat center top;
  background-size: cover;
  margin-top: -600px;
  position: relative;
  z-index: 0;
  padding-top: 600px;
  border-left: 20px solid #ff006a;
  border-right: 20px solid #25f4ee;
  padding-bottom: 250px;
}
.section4 h3 {
  width: 332px;
  padding-bottom: 10px;
  margin-left: 60px;
}
.section4 .top {
  background: url(../img/4_top.png) no-repeat center top;
  background-size: 100% auto;
  padding-top: 148px;
}
.section4 .bottom {
  background: url(../img/4_bottom.png) no-repeat center bottom;
  background-size: 100% auto;
  padding-bottom: 400px;
}
.section4 .center {
  background: url("../img/4_center.png") repeat-y center top;
  background-size: 100% auto;
}
.section4 .fllow {
  padding: 0 40px;
  text-align: center;
  position: relative;
  margin-top: -40px;
}
.section4 .fllow dl:first-child {
  margin-bottom: 40px;
}
.section4 .fllow dd p {
  font-size: 28px;
  line-height: 200%;
  font-weight: 700;
  padding-bottom: 20px;
}
.section4 .fllow dd p span {
  font-size: 28px;
  font-weight: 700;
  color: #ff4bcb;
}
.section5 {
  background: url(../img/5_bg.png) no-repeat center top;
  background-size: 100% auto;
  margin-top: -350px;
  position: relative;
  z-index: 50;
  padding-top: 250px;
  padding-bottom: 270px;
}
.section5 .article1 h3 {
  width: 500px;
  padding-bottom: 60px;
  margin-left: 60px;
}
.section5 .article1 dl {
  width: 90%;
  margin: 0 auto 20px auto;
  background-color: #fff;
  border-radius: 50px;
  display: flex;
  padding: 20px 0;
}
.section5 .article1 dl dt {
  width: 25%;
}
.section5 .article1 dl dd {
  padding: 20px 30px;
  width: 75%;
}
.section5 .article1 dl dt img{
	margin-left: -10px;
	width: 100%;
}
.section5 p {
  font-size: 25px;
  line-height: 150%;
font-family: source-han-sans-japanese, sans-serif;
font-weight: 500;
font-style: normal;
letter-spacing: 0.09em;
}
.section5 .article1 p {
  color: #0000d1;
}
.section5 .article1 p strong {
  font-size: 42px;
  line-height: 170%;
  margin: 10px auto;
  background: url(../img/wave_pink.png) repeat-x center bottom;
  background-size: 30px auto;
  padding-bottom: 5px;
  font-weight: 700;
	letter-spacing: 0.15em;
}
.section5 .article2 p strong {
  font-size: 42px;
  line-height: 170%;
  margin: 10px auto;
  background: url("../img/wave_yellow.png") repeat-x center bottom;
  background-size: 30px auto;
  padding-bottom: 5px;
  font-weight: 700;
	letter-spacing: 0.15em;
}
.section5 .article1 dl span, .section5 .article2 dl span {
  padding-top: 20px;
  display: block;
  font-size: 25px;
  line-height: 150%;
  font-weight: 500;
letter-spacing: 0.09em;
}
.section5 .btn {
  margin: 60px auto;
}
.section5 .article2 {
  background: url(../img/5_line.png) no-repeat center top;
  background-size: 308px auto;
  padding-top: 200px;
}
.section5 .article2 h3 {
  width: 530px;
  margin-left: 60px;
  margin-bottom: 40px;
}
.section5 .article2 dl {
  width: 90%;
  position: relative;
  margin: 0 auto 20px auto;
  display: flex;
  padding: 10px 0;
}
.section5 .article2 dl:before {
  background-color: #ff006a;
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  mix-blend-mode: multiply;
  border-radius: 50px;
}
.section5 .article2 dl dt {
  width: 17%;
  padding-right: 10px;
  position: relative;
  display: inline-block;
}
.section5 .article2 dl dt img{
	margin-left: -10px;
	width: 120%;
}
.section5 .article2 dl dd {
  padding: 20px 30px;
  width: 83%;
  color: #fff;
  position: relative;
  display: inline-block;
font-family: source-han-sans-japanese, sans-serif;
font-style: normal;
}
.section5 .article2 dl.first {
  flex-direction: column;
}
.section5 .article2 dl.first dt, .section5 .article2 dl.first dd {
  width: 100%;
  padding: 20px 40px;
}
.section5 .article2 dl.first dd p strong {
  font-size: 51px;
	letter-spacing: 0.1em;
}
.section5 .article2 dl.first dd {
  padding-left: 70px;
}
.section5 .article2 dl.first dt img{
    margin-left: -50px;
    width: 105% !important;
}
.section5 .article2 small {
  font-size: 20px;
}
.section6 {
  background: url("../img/6_bg.png") repeat center top;
  background-size: 47px auto;
  margin-top: -460px;
  position: relative;
  z-index: 0;
  padding-top: 550px;
  padding-bottom: 260px;
  border-right: 20px solid #ff006a;
  border-left: 20px solid #25f4ee;
}
.section6 h3 {
  width: 263px;
  padding-bottom: 60px;
  margin-left: 60px;
}
.section6 dl {
  margin: 0 30px 60px 30px;
}
.section6 dt {
  font-size: 37px;
  line-height: 150%;
  color: #2588ff;
  background: url("../img/6_q.png") no-repeat left center;
  background-size: 47px auto;
  padding-left: 35px;
  margin-bottom: 30px;
font-family: source-han-sans-japanese, sans-serif;
font-weight: 500;
font-style: normal;
letter-spacing: 0.15em;
}
.section6 dd {
  font-size: 25px;
  line-height: 150%;
  color: #ff005a;
  background: url("../img/6_a.png") no-repeat left top 20px;
  background-size: 47px auto;
  padding-left: 35px;
font-family: source-han-sans-japanese, sans-serif;
font-weight: 500;
font-style: normal;
letter-spacing: 0.1em;
}
.section7 {
  background-color: #fff;
  margin-top: -150px;
  position: relative;
  z-index: 0;
  padding: 76px 60px 55px 60px;
  border-radius: 50px;
  color: #b3b3b3;
}
.section7 h3 img {
  width: 188px;
  padding-bottom: 40px;
}
.section7 .txt img {
  width: 468px;
  padding-bottom: 65px;
}
.section7 h4 {
  font-size: 40px;
  line-height: 150%;
  font-weight: 700;
  padding-bottom: 20px;
}
.section7 h4 span {
  text-decoration: underline;
  font-size: 30px;
  font-weight: 500;
  display: block;
}
.section7 p {
  font-size: 25px;
  line-height: 170%;
  font-weight: 500;
  padding-bottom: 30px;
}
.section7 small {
  border-top: 1px solid #b3b3b3;
  padding-top: 20px;
  font-size: 20px;
  width: 100%;
  display: block;
}
.section7 ul{
	display: flex;
	padding-bottom: 45px;
}
.section7 ul li{
	width: 80px;
	margin-right: 25px;
}
.floatbtn {
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 100;
}
.floatbtn img {
  width: 170px;
}
/* ここから下がハンバーガーメニューに関するCSS */
/* チェックボックスを非表示にする */
.drawer_hidden {
  display: none;
}
/* ハンバーガーアイコンの設置スペース */
.drawer_open {
  position: absolute;
  right: 25px;
  width: 66px;
  top: 10px;
  cursor: pointer;
  background: url("../img/head_btn_off.png") no-repeat left top;
  background-size: 65px auto;
  z-index: 100;
  height: 66px;
}
#drawer_input:checked ~ .drawer_open.menuactive {
  background: url("../img/head_btn_on.png") no-repeat left top;
  background-size: 65px auto;
  left: auto !important;
}
/* メニューのデザイン*/
.nav_content {
  width: 80%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 100%; /* メニューを画面の外に飛ばす */
  z-index: 99;
  background: #fff;
  transition: .5s;
  opacity: 0.85;
  text-align: left;
  padding-left: 95px;
}
/* メニュー黒ポチを消す */
.nav_list {
  list-style: none;
}
.menuactive {
  left: 21%; /* メニューを画面に入れる */
}
.nav_content .nav_logo {
  margin-top: 125px;
  margin-bottom: 100px;
}
.nav_content .nav_logo img {
  width: 307px;
}
.nav_content li {
  font-size: 40px;
  font-weight: 700;
  padding-bottom: 50px;
  font-style: italic;
  margin-bottom: 20px;
}
.nav_content li a {
  text-decoration: none;
  color: #000;
  font-weight: 700;
}
@media only screen and (min-width: 768px) {
  .wrapper {
    border-radius: 80px 80px 0 0;
    position: fixed;
    height: 97vh;
    width: 94vw;
    margin: 25.6px 3vw 0 3vw;
    background: url("../img/pcbg_top1.png.png") no-repeat left top;
    background-image: url(../img/pcbg_bottom2.png), url(../img/pcbg_top1.png), url(../img/pcbg_top2.png), url(../img/pcbg_bottom1.png);
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, repeat-x;
    background-position:
      bottom 30px right 30px, top left, top right, bottom left;
    background-size: 80px auto, 500px auto, 400px auto, auto 15%;
    background-color: #cacaca;
  }
  .head, .floatbtn {
    display: none;
  }
  main {
    right: 20%;
    top: 50px;
    zoom: 0.8;
    position: absolute;
    box-shadow: 0px 11px 52px -29px #777777;
    border-radius: 70px 70px 0 0;
  }
  .pc_head {
    top: 0;
    position: fixed;
    background: url(../img/pc_waku.png) no-repeat center top;
    background-size: 100% auto;
    height: 155px;
    width: 900px;
    padding-top: 112px;
    z-index: 100;
    margin-left: -75px;
  }
  .section1 {
    padding-top: 60px;
    background: url(../img/kv_bg.png) no-repeat center top 85px;
  }
  header {
    position: fixed;
    z-index: 100;
    top: 100px;
    left: 200px;
    display: block;
	z-index: 1000;
  }
  header .pc_logo {
    width: 300px;
    margin-bottom: 50px;
  }
  header p {
    width: 159px;
  }
  header li {
    margin-bottom: 1.8vw;
  }
  header li a {
    font-size: 1.2vw;
    font-style: italic;
    color: #000;
    text-decoration: none;
	      font-family: source-han-sans-japanese, sans-serif;
    font-weight: 700;
  }
  .contents {
    margin-top: 41px;
  }
}
.fadein {
  opacity : 0;
  transform : translate(0, 100px);
  transition : all 1s;
}
 
.fadein.active{
  opacity : 1;
  transform : translate(0, 0);
}

.animate__shakeY {
  -webkit-animation-duration: 22s !important;
  animation-duration: 22s !important;
}

@-webkit-keyframes flick {
  from {
	opacity: 0;
    transform: scaleX(0);
  }

  30% {
	  opacity: .6;
      transform: scaleX(1);
  }
  40% {
	  opacity: .2;
  }
  45% {
	  opacity: .8;
  }
  47.5% {
	  opacity: .3;
  }
  50% {
	  opacity: 1;
  }
	
  to {
	  opacity: 1;
  }
}
@keyframes flick {
  from {
	opacity: 0;
    /*transform: scaleX(0);*/
  }

  30% {
	  opacity: .6;
      /*transform: scaleX(1);*/
  }
  40% {
	  opacity: .2;
  }
  45% {
	  opacity: .8;
  }
  47.5% {
	  opacity: .3;
  }
  50% {
	  opacity: 1;
  }
	
  to {
	  opacity: 1;
  }
}
.animate__flick {
  -webkit-animation-duration: 4s;
  animation-duration: 4s;
  -webkit-animation-name: flick;
  animation-name: flick;
}

.animate__animated.animate__delay-100ms {
  -webkit-animation-delay: 100ms;
  animation-delay: 100ms;
}
.animate__animated.animate__delay-200ms {
  -webkit-animation-delay: 200ms;
  animation-delay: 200ms;
}
.animate__animated.animate__delay-300ms {
  -webkit-animation-delay: 300ms;
  animation-delay: 300ms;
}
.animate__animated.animate__delay-400ms {
  -webkit-animation-delay: 400ms;
  animation-delay: 400ms;
}
.animate__animated.animate__delay-500ms {
  -webkit-animation-delay: 500ms;
  animation-delay: 500ms;
}
.animate__animated.animate__delay-600ms {
  -webkit-animation-delay: 600ms;
  animation-delay: 600ms;
}
.animate__animated.animate__delay-700ms {
  -webkit-animation-delay: 700ms;
  animation-delay: 700ms;
}
.animate__animated.animate__delay-800ms {
  -webkit-animation-delay: 800ms;
  animation-delay: 800ms;
}
.animate__animated.animate__delay-900ms {
  -webkit-animation-delay: 900ms;
  animation-delay: 900ms;
}
.animate__animated.animate__delay-1000ms {
  -webkit-animation-delay: 1000ms;
  animation-delay: 1000ms;
}
.animate__animated.animate__delay-1100ms {
  -webkit-animation-delay: 1100ms;
  animation-delay: 1100ms;
}
.animate__animated.animate__delay-1200ms {
  -webkit-animation-delay: 1200ms;
  animation-delay: 1200ms;
}
.animate__animated.animate__delay-1300ms {
  -webkit-animation-delay: 1300ms;
  animation-delay: 1300ms;
}
.animate__animated.animate__delay-1400ms {
  -webkit-animation-delay: 1400ms;
  animation-delay: 1400ms;
}
.animate__animated.animate__delay-1500ms {
  -webkit-animation-delay: 1500ms;
  animation-delay: 1500ms;
}
.animate__animated.animate__delay-1600ms {
  -webkit-animation-delay: 1600ms;
  animation-delay: 1600ms;
}
.animate__animated.animate__delay-1700ms {
  -webkit-animation-delay: 1700ms;
  animation-delay: 1700ms;
}
.animate__animated.animate__delay-1800ms {
  -webkit-animation-delay: 1800ms;
  animation-delay: 1800ms;
}
.animate__animated.animate__delay-1900ms {
  -webkit-animation-delay: 1900ms;
  animation-delay: 1900ms;
}
.animate__animated.animate__delay-2000ms {
  -webkit-animation-delay: 2000ms;
  animation-delay: 2000ms;
}

.active.animate__delay-100ms {
	transition-delay: 100ms;
}
.active.animate__delay-200ms {
	transition-delay: 200ms;
}
.active.animate__delay-300ms {
	transition-delay: 300ms;
}
.active.animate__delay-400ms {
	transition-delay: 400ms;
}
.active.animate__delay-500ms {
	transition-delay: 500ms;
}
.active.animate__delay-600ms {
	transition-delay: 600ms;
}
.active.animate__delay-700ms {
	transition-delay: 700ms;
}
.active.animate__delay-800ms {
	transition-delay: 800ms;
}
.active.animate__delay-900ms {
	transition-delay: 900ms;
}
.active.animate__delay-1000ms {
	transition-delay: 1000ms;
}
