.product_wrap {
  position: relative;
  background: url(../img/mv_bg.svg) center 0 no-repeat;
  background-size: contain;
}
.product_wrap .new {
  position: absolute;
  right: 5vw;
  top: 1vw;
  width: 13vw;
}
@media screen and (min-width: 1650px) {
  .product_wrap {
    background-size: cover;
  }
}
.product_wrap .inner {
  padding-top: 2vw;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 5vw;
  margin-bottom: 5vw;
}
.product_wrap .inner img {
  width: 100%;
}
.product_wrap .inner .area_text {
  width: 30vw;
}
.product_wrap .inner .area_text h1 {
  margin: 1vw 0;
}
.product_wrap .inner .area_text p {
  margin: 1vw 0;
}
.product_wrap .inner .area_photo {
  width: 40vw;
  margin: 0 0 0 0;
}
.product_wrap .main_copy {
  width: 70vw;
  margin: auto;
  text-align: center;
}
.product_wrap .main_copy img {
  width: 100%;
}
.product_wrap .logo_tokuho {
  position: absolute;
  top: 35vw;
  left: 10vw;
  width: 6vw;
}
.product_wrap .logo_tokuho img {
  width: 100%;
}
@media screen and (max-width: 640px) {
  .product_wrap .logo_tokuho {
    left: 20px;
    width: 10vw;
  }
}

.head_text {
  margin: 5vw 0;
  text-align: center;
  font-weight: bold;
  line-height: 1.6;
  font-size: 1.7vw;
}
@media screen and (max-width: 640px) {
  .head_text {
    font-size: 14px;
    padding: 0 15px;
  }
  .head_text br {
    display: none;
  }
}

.media {
  padding: 0 2vw 3vw;
}
.media h2 {
  color: #D70C18;
  font-size: 2.2vw;
  text-align: center;
  margin-bottom: 3vw;
  font-weight: bold;
}
@media screen and (max-width: 640px) {
  .media h2 {
    font-size: 18px;
  }
}
.media ul {
  display: flex;
  justify-content: space-around;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .media ul {
    display: block;
  }
}
@media screen and (max-width: 640px) {
  .media ul li {
    margin-bottom: 20px;
  }
}
.media ul li a img {
  transition: 0.3s;
  border-radius: 10px;
}
.media ul li a p {
  border: solid 1px #fff;
  box-shadow: 3px 3px 8px #ccc;
  text-decoration: none;
  width: 25vw;
  margin: 1vw auto 0;
  display: block;
  color: #fff;
  background: #D70C18;
  border-radius: 100px;
  padding: 0.8vw 3vw;
  text-align: center;
  transition: 0.3s;
}
@media screen and (max-width: 640px) {
  .media ul li a p {
    margin-top: 10px;
    width: 90%;
    padding: 15px 0;
  }
}
.media ul li a:hover img {
  transform: scale(1.05);
}
.media ul li a:hover P {
  background: #fff;
  border: solid 1px #D70C18;
  color: #D70C18;
}

.unit {
  padding-bottom: 5vw;
}
.unit.anc01, .unit.anc03 {
  background: #FFF8F8;
}
.unit h2 {
  background: url(../img/line.svg) center no-repeat;
  background-size: cover;
  padding: 2.5vw;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 2.2vw;
}
@media screen and (max-width: 640px) {
  .unit h2 {
    font-size: 18px;
  }
}
.unit p {
  max-width: 1160px;
  margin: 5vw auto 1vw;
  padding: 0 1.5vw;
}
@media screen and (max-width: 640px) {
  .unit p {
    margin: 20px 0;
  }
}
.unit p strong span {
  color: #E9536A;
}
.unit p strong span span {
  font-size: 2.2vw;
}
@media screen and (max-width: 640px) {
  .unit p strong span span {
    font-size: 18px;
  }
}
.unit p strong.blue {
  font-size: 1.5vw;
  color: #086EB8;
}
@media screen and (max-width: 640px) {
  .unit p strong.blue {
    font-size: 16px;
  }
}
.unit p strong.pink {
  font-size: 1.5vw;
  color: #DE2141;
}
@media screen and (max-width: 640px) {
  .unit p strong.pink {
    font-size: 16px;
  }
}
.unit p + p {
  margin-top: 0;
}
.unit .illust {
  margin: 5vw auto 0;
  height: 36vw;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 640px) {
  .unit .illust {
    width: 80vw;
  }
}
.unit .illust div {
  z-index: 1;
  opacity: 0;
  transform: translateY(50px);
  transition: 1s;
  position: absolute;
  height: 36vw;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.unit .illust.inview div.illust01 {
  opacity: 1;
  transform: translateY(0);
}
.unit .illust.inview div.illust02, .unit .illust.inview div.illust03, .unit .illust.inview div.illust04, .unit .illust.inview div.illust05 {
  transition-delay: 0.5s;
  opacity: 1;
  z-index: 3;
  transform: translateY(0);
  animation-name: updown1;
  animation-duration: 3s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
.unit .illust.inview div.illust03 {
  transition-delay: 0.8s;
  animation-duration: 3.5s;
}
.unit .illust.inview div.illust04 {
  transition-delay: 1s;
  animation-duration: 3.2s;
}
.unit .illust.inview div.illust05 {
  transition-delay: 1.2s;
  animation-duration: 2.8s;
}
.unit .illust.inview div img {
  height: 100%;
}
@keyframes updown1 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
  100% {
    transform: translateY(0);
  }
}
.unit .info {
  width: 80vw;
  margin: 5vw auto 1vw;
  border: solid 5px #E56274;
  background: #fff;
  padding: 3vw 2vw;
  color: #E56274;
  font-weight: bold;
  font-size: 2vw;
  text-align: center;
  border-radius: 5px;
  line-height: 2;
}
@media screen and (max-width: 640px) {
  .unit .info {
    width: 85vw;
    font-size: 16px;
    line-height: 1.5;
  }
  .unit .info br {
    display: none;
  }
}
.unit .info img {
  display: inline-block;
  vertical-align: bottom;
  margin-right: 1vw;
}
@media screen and (max-width: 640px) {
  .unit .info img {
    width: 130px;
    vertical-align: inherit;
  }
}
.unit hr {
  border: solid 1px #ccc;
  margin: 5vw 3vw;
}
.unit .graph {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 640px) {
  .unit .graph {
    display: block;
  }
  .unit .graph.anc02 {
    display: flex;
    padding: 0 20px;
    margin-top: 20px;
  }
}
.unit .graph .inner {
  margin: 2vw;
  width: 45vw;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .unit .graph .inner {
    width: 90vw;
    margin: 30px auto;
  }
  .unit .graph .inner.anc02 {
    width: 40vw;
    margin: 0 auto;
  }
}
.unit .graph .inner .count {
  font-weight: bold;
  font-size: 2.1vw;
}
@media screen and (max-width: 640px) {
  .unit .graph .inner .count {
    font-size: 16px;
  }
}
.unit .graph .inner .count span {
  font-size: 4vw;
  letter-spacing: -0.1vw;
}
@media screen and (max-width: 640px) {
  .unit .graph .inner .count span {
    font-size: 25px;
  }
}
.unit .graph .inner:last-child .count {
  color: #E9536A;
}
.unit .graph .inner small {
  color: #666;
}
.unit .graph .inner h3 {
  color: #E9536A;
  border: solid 3px #E9536A;
  border-radius: 40px;
  background: #FFFFE3;
  padding: 1vw 2vw;
  text-align: center;
  font-size: 1.5vw;
  font-weight: bold;
  margin-bottom: 2vw;
}
@media screen and (max-width: 640px) {
  .unit .graph .inner h3 {
    font-size: 16px;
  }
}
.unit .graph .inner h3 span {
  font-size: 2vw;
  line-height: 1;
}
@media screen and (max-width: 640px) {
  .unit .graph .inner h3 span {
    font-size: 18px;
  }
}
.unit .graph .inner .chart-area {
  margin: auto;
  position: relative;
  width: 80%;
  height: 40vw;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
@media screen and (max-width: 640px) {
  .unit .graph .inner .chart-area {
    height: 60vw;
    margin: 20px auto;
  }
  .unit .graph .inner .chart-area.effect-fade {
    height: auto;
  }
}
.unit .graph .inner .chart-area img {
  width: 100%;
}
.unit .graph .inner .chart-area h4 {
  text-align: center;
  width: 100%;
  font-size: 2.5vw;
  color: #E9536A;
}
@media screen and (max-width: 640px) {
  .unit .graph .inner .chart-area h4 {
    font-size: 18px;
  }
}
.unit .graph .inner .chart-area #chart01 {
  position: absolute;
  z-index: -1;
}
.unit .graph .inner .bar {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 13vw;
  overflow: hidden;
}
@media screen and (max-width: 640px) {
  .unit .graph .inner .bar {
    height: 20vw;
  }
}
.unit .graph .inner .bar div.inview {
  width: 9vw;
  animation: bar-animation_last 1 1.5s;
}
@media screen and (max-width: 640px) {
  .unit .graph .inner .bar div.inview {
    width: 10vw;
  }
}
.unit .graph .inner .bar .bar1.inview {
  height: 80%;
  background: #E9536A;
}
.unit .graph .inner .bar .bar2.inview {
  height: 25%;
  background: #086EB8;
  margin: 0 1.5vw;
}
.unit .graph .inner .bar .bar3.inview {
  height: 60%;
  background: #D58AC9;
}
.unit .graph .inner .bar .bar4.inview {
  height: 100%;
  background: #E9536A;
}
.unit .graph .inner .bar .bar5.inview {
  height: 60%;
  background: #086EB8;
  margin: 0 1.5vw;
}
.unit .graph .inner .bar .bar6.inview {
  height: 40%;
  background: #D58AC9;
}
.unit .guide ul {
  display: flex;
  justify-content: center;
  margin: 2vw 0 0;
  padding: 0;
}
@media screen and (max-width: 640px) {
  .unit .guide ul {
    margin: 15px 0;
  }
}
.unit .guide ul li {
  list-style: none;
  display: flex;
  align-items: center;
  line-height: 1;
}
.unit .guide ul li span {
  display: inline-block;
  width: 1.5vw;
  height: 1.5vw;
  margin-right: 0.5vw;
}
.unit .guide ul li:first-child span {
  background-color: #DE2141;
}
.unit .guide ul li:nth-child(2) {
  margin: 0 2vw;
}
.unit .guide ul li:nth-child(2) span {
  background-color: #086EB8;
}
.unit .guide ul li:last-child span {
  background-color: #D58AC9;
}
.unit .text {
  max-width: 1160px;
  margin: 3vw auto 1vw;
}
.unit .text h4 {
  color: #E9536A;
  font-size: 1.5vw;
  margin: 0 0 1vw;
  padding: 0 1.5vw;
  font-weight: bold;
}
@media screen and (max-width: 640px) {
  .unit .text h4 {
    margin-top: 20px;
    font-size: 16px;
    padding: 0 20px;
  }
}
.unit .text p {
  margin: 0;
  padding: 0 1.5vw;
}
@media screen and (max-width: 640px) {
  .unit .text p {
    padding: 0 20px;
  }
}
.unit .text p span {
  color: #E9536A;
}
.unit .text p span span {
  font-size: 2vw;
  letter-spacing: -0.1vw;
}
@media screen and (max-width: 640px) {
  .unit .text p span span {
    font-size: 18px;
  }
}
@media screen and (max-width: 640px) {
  .unit > p {
    padding: 0 20px;
  }
}
.unit .chart h3 {
  width: 40vw;
  color: #E9536A;
  border: solid 3px #E9536A;
  border-radius: 40px;
  background: #FFFFE3;
  padding: 1vw 2vw;
  text-align: center;
  margin: 4vw auto;
  font-size: 1.5vw;
  font-weight: bold;
}
@media screen and (max-width: 640px) {
  .unit .chart h3 {
    width: 85vw;
    margin-top: 30px;
    font-size: 16px;
  }
}
.unit .chart .image {
  text-align: center;
  position: relative;
  overflow: hidden;
  height: 35vw;
  width: 70vw;
  margin: auto;
}
@media screen and (max-width: 640px) {
  .unit .chart .image {
    width: 90vw;
    height: 55vw;
    margin: 30px auto;
  }
}
.unit .chart .image .shot {
  position: absolute;
  width: 60vw;
  left: calc(50% - 30vw);
  top: 0;
}
@media screen and (max-width: 640px) {
  .unit .chart .image .shot {
    width: 90vw;
    left: calc(50% - 45vw);
  }
}
.unit .chart .image .shot img {
  max-width: 100%;
}
.unit .chart .image .shot.img1 {
  z-index: 1;
  opacity: 0;
  transform: translateY(50px);
  transition: 1s;
  transition-delay: 0.5s;
}
.unit .chart .image .shot.img2 {
  opacity: 0;
  z-index: 2;
  transform: translateY(50px);
  transition: 1s;
  transition-delay: 1s;
}
.unit .chart .image .shot.img3 {
  opacity: 0;
  z-index: 3;
  transform: translateY(50px);
  transition: 1s;
  transition-delay: 1.5s;
}
.unit .chart .image .shot.inview {
  opacity: 1;
  transform: translateY(0);
}

.effect-fade {
  opacity: 0;
  transition: all 1s;
  transform: translateY(30px);
}

.effect-scroll {
  transition-delay: 0.5s;
  opacity: 1;
  bottom: 0;
  transform: translateY(0);
  transform: translate(0, 0);
}

@keyframes bar-animation_last {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
.note {
  max-width: 1160px;
  margin: 1vw auto;
  color: #666;
  padding: 0 1.5vw;
}
@media screen and (max-width: 640px) {
  .note {
    padding: 0 20px;
    word-break: break-all;
    line-height: 1.2;
  }
}
.note a {
  color: #666;
  text-decoration: none;
}

.dha {
  border: solid 1px #9B7A30;
  border-radius: 0.5vw;
  padding: 2vw;
  position: relative;
  background: #FCFAF5;
  width: 80vw;
  margin: 5vw auto 2vw;
  color: #815900;
}
@media screen and (max-width: 640px) {
  .dha {
    margin-top: 60px;
    width: 85vw;
    padding: 30px 15px 15px;
  }
}
.dha h3 {
  margin: 0;
  background: #9B7A30;
  border-radius: 30vw;
  padding: 0.3vw 2vw;
  color: #fff;
  font-size: 1.5vw;
  font-weight: bold;
  position: absolute;
  top: -1.5vw;
  left: 2vw;
}
@media screen and (max-width: 640px) {
  .dha h3 {
    font-size: 16px;
    padding: 5px 15px;
    top: -17px;
  }
}
.dha p {
  margin: 1.5vw 0;
}
@media screen and (max-width: 640px) {
  .dha p {
    margin: 15px 0;
  }
}
.dha a {
  display: inline-block;
  margin-top: 1vw;
  width: 25vw;
}
@media screen and (max-width: 640px) {
  .dha a {
    margin-top: 15px;
    width: 100%;
  }
}
.dha a img {
  transition: 0.3s;
  max-width: 100%;
}
.dha a:hover img {
  transform: scale(1.1);
}/*# sourceMappingURL=com.css.map */