@charset "UTF-8";
body {
	margin: 0;
	padding: 0;
	font-family: sans-serif;
	background-color: #fff;
	color: #333;
  }
  img {
	max-width: 100%;
	height: auto;
	display: block;
  }
  section {  }

  .main .kv { position: relative; }
  .main .kv .image01 { position: absolute; top: 3.5vw; }
  .main .kv .image02 { position: absolute; bottom: 6vw; }
  .main .text { padding: 4vw 3.8vw; background: #DB0011; color: #fff; font-size: 3.6vw; line-height: 1.6; text-align: center; }

  .center { text-align: center; }

  .target-block { padding: 8vw 0; }
  .target-block h2 { margin: 5vw 2vw; padding: 0 0 4vw 0; text-align: center; font-size: 5vw; color: #ab1e6b; border-bottom: 2px solid #ab1e6b; }
  .target-block ul { display: flex; flex-wrap: nowrap; justify-content: space-between; margin: 0 2vw; }
  .target-block dd { margin-top: 2.5vw; font-size: 3vw; line-height: 1.6; }

  .step-block { padding: 4vw 0; background: #ab1e6b; }
  .step-block h2 { margin: 5vw 2vw 8vw 2vw; padding: 0 0 4vw 0; text-align: center; font-size: 5vw; color: #fff; border-bottom: 2px solid #fff; }
  .step-block li.step { position: relative; margin: 0 4vw 9.5vw 4vw; background: #fff; border-radius: 15px; padding: 4.5vw 5vw 0 5vw; }
  .step-block li.step.no01 { padding-bottom: 2vw; }
  .step-block li.sample { margin: -5vw 0 10vw 0; }
  .step-block li.sample ul { margin: 0 5vw; }
  .step-block li.sample li { text-indent: -1.0em; padding-left: 1.0em; color: #fff; line-height: 1.6; font-size: 3.4vw; }
  .step-block li.sample ul + p { margin: 7vw 0 4vw; color: #fff; font-size: 3.4vw; }
  .step-block li.step figure.no { position: absolute; top: -4.5vw; left: -1.2vw; }
  .step-block li.step figure.no img { width: 9.33vw; }
  .step-block li p { margin-bottom: 2vw; font-size: 3.4vw; line-height: 1.6; text-align: center; }

  .accordion { overflow: hidden; }
  .accordion input { display: none; }
  .accordion label { display: flex; margin: 0 4vw; cursor: pointer; position: relative; color: #fff; justify-content: flex-end; }
  .accordion label::after { content: "－"; width: 30px; height: 30px; line-height: 30px; text-align: center; font-size: 5vw; border: 2px solid #fff; border-radius: 50%; color: #fff; transition: all 0.3s ease; }
  .accordion input:not(:checked) + label::after { content: "＋"; }
  .accordion dd { padding: 1em; transition: max-height 0.3s ease, padding 0.3s ease; }
  .accordion input:not(:checked) + label + dd { max-height: 0; padding: 0 1em; }

  .rules-block { margin-bottom: 6vw;  }
  .rules-block h2 { margin: 5vw 2vw; padding: 0 0 4vw 0; text-align: center; font-size: 5vw; color: #ab1e6b; border-bottom: 2px solid #ab1e6b; }
  .rules-text { margin: 0 4vw; border: 1px solid #4d4d4d; }
  .rules-text h3 { padding: 3vw; background: #4d4d4d; color: #fff; text-align: center;font-size: 4vw; }
  .rules-text-inner { padding: 4.4vw; overflow: auto; font-size: 3.4vw; line-height: 1.6;overflow: auto; height: 70vw; }
  .rules-text-inner dt { font-weight: bold; font-size: 3.6vw; margin-bottom: 2vw; padding-bottom: 2vw; border-bottom: 1px solid #4d4d4d; }
  .rules-text-inner dd { margin-bottom: 6vw; }
  .rules-text-inner dd:last-child { margin-bottom: 0; }
  .rules-text-inner dd li { padding-left: 1.0em; text-indent: -1.0em; }
  .rules-text-inner dd h4 { margin-top: 3vw; }

  .checkbox { display: flex; align-items: center; margin: 6vw 4vw 4vw 4vw; text-align: center!important; }
  .checkbox div { margin: 0 auto; }
  .checkbox input { margin: 2.7vw 1.5vw 0 0; }
  .btn { display: block; margin: 0 4vw; background: #ab1e6b; color: #fff; text-align: center; padding: 5vw; text-decoration: none; border-radius: 1vw; font-weight: bold; font-size: 5vw;}
  .btn-off { display: block; margin: 0 4vw; background: #7a7a7a; color: #fff; text-align: center; padding: 5vw; border-radius: 1vw; font-weight: bold; font-size: 5vw; }

  footer { background-color: #3e3a39; text-align: center; padding: 5vw 3vw; }
  footer ul { display: flex; flex-wrap: wrap; justify-content: center; margin-bottom: 3vw; }
  footer ul li { margin: 0 3vw;  }
  footer ul li.full { width: 100%; }
  footer ul li a { font-size: 5.5vw; color: #fff; text-decoration: none; line-height: 1.8; }
  footer small { font-size: 2.8vw; line-height: 1.6; color: #fff; }