html {
  font-size: 6.51vw;
}

@media screen and (max-width: 768px) {
  html {
    font-size: 13.021vw;
  }
}

@keyframes fade_in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes circle_lr1 {
  0%, 70%, 100% {
    transform: translate3d(0, 0, 0) scale(1.8);
  }
  20%, 50% {
    transform: translate3d(1.44rem, 0, 0) scale(1.8);
  }
}

@keyframes circle_lr2 {
  0%, 85%, 100% {
    transform: translate3d(0, 0, 0) scale(1.4);
  }
  35%, 50% {
    transform: translate3d(1.44rem, 0, 0) scale(1.4);
  }
}

@keyframes circle_lr3 {
  0%, 100% {
    transform: translate3d(0, 0, 0);
  }
  50% {
    transform: translate3d(1.44rem, 0, 0);
  }
}

@keyframes circle_lr1b {
  0%, 70%, 100% {
    transform: translate3d(0, 0, 0) scale(1.8);
  }
  20%, 50% {
    transform: translate3d(0.8rem, 0, 0) scale(1.8);
  }
}

@keyframes circle_lr2b {
  0%, 85%, 100% {
    transform: translate3d(0, 0, 0) scale(1.4);
  }
  35%, 50% {
    transform: translate3d(0.8rem, 0, 0) scale(1.4);
  }
}

@keyframes circle_lr3b {
  0%, 100% {
    transform: translate3d(0, 0, 0);
  }
  50% {
    transform: translate3d(0.8rem, 0, 0);
  }
}

@keyframes circle_rl1 {
  0%, 70%, 100% {
    transform: translate3d(0, 0, 0) scale(1.8);
  }
  20%, 50% {
    transform: translate3d(-1.44rem, 0, 0) scale(1.8);
  }
}

@keyframes circle_rl2 {
  0%, 85%, 100% {
    transform: translate3d(0, 0, 0) scale(1.4);
  }
  35%, 50% {
    transform: translate3d(-1.44rem, 0, 0) scale(1.4);
  }
}

@keyframes circle_rl3 {
  0%, 100% {
    transform: translate3d(0, 0, 0);
  }
  50% {
    transform: translate3d(-1.44rem, 0, 0);
  }
}

@keyframes circle_rl1b {
  0%, 70%, 100% {
    transform: translate3d(0, 0, 0) scale(1.8);
  }
  20%, 50% {
    transform: translate3d(-0.8rem, 0, 0) scale(1.8);
  }
}

@keyframes circle_rl2b {
  0%, 85%, 100% {
    transform: translate3d(0, 0, 0) scale(1.4);
  }
  35%, 50% {
    transform: translate3d(-0.8rem, 0, 0) scale(1.4);
  }
}




@keyframes circle_rl3b {
  0%, 100% {
    transform: translate3d(0, 0, 0);
  }
  50% {
    transform: translate3d(-0.8rem, 0, 0);
  }
}

.animation.animation_js.fade_in {
  opacity: 0;
}

.animation.animation_js.fade_in.is_active {
  animation: fade_in 0.8s 0.64s forwards;
}

:root {
  --spacing: 0.03em;
}

* {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: rgba(0, 0, 0, 0);
  box-sizing: border-box;
  list-style: none;
  letter-spacing: var(--spacing);
}

*::before,
*::after {
  box-sizing: border-box;
  letter-spacing: var(--spacing);
}

img,
video {
  font-size: 0;
  line-height: 0;
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

picture {
  display: block;
}

body {
  font-family: "Noto Sans JP", Helvetica, Arial, "Hiragino Sans", YuGothic, "Yu Gothic medium", sans-serif;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  text-rendering: optimizeLegibility;
  font-size: 0.21rem;
  line-height: 1.68;
  color: #161212;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}

@media screen and (max-width: 768px) {
  body {
    font-size: 0.28rem;
  }
}

small {
  font-weight: normal;
  font-size: 88%;
}

strong {
  font-weight: bolder;
}

a {
  color: currentColor;
  text-decoration: none;
}

@media screen and (min-width: 769px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

sup {
  font-size: 64%;
  vertical-align: super;
}

.btn_cta {
  position: relative;
  border-radius: 16em;
  background: linear-gradient(#bf0000, #940303);
  color: #fff;
  width: 3.76rem;
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0.72rem;
  white-space: nowrap;
  text-align: center;
  font-size: 0.27rem;
  font-weight: bold;
  padding-bottom: 0.16em;
}

@media screen and (min-width: 769px) {
  .btn_cta {
    transition: 0.4s;
    transform: scale3d(1, 1, 1);
  }

  .btn_cta:hover {
    transform: scale(1.04);
  }
}

@media screen and (max-width: 768px) {
  .btn_cta {
    width: min(5.04rem, 100%);
    min-height: 0.96rem;
    font-size: 0.34rem;
  }
}

.btn_cta::before,
.btn_cta::after {
  content: "";
  width: 0.24rem;
  height: 0.24rem;
}

.btn_cta::before {
  background: url("../images/icon_analy-file_1.png") no-repeat center/contain;
  margin-right: 0.12rem;
}



@media screen and (max-width: 768px) {
  .btn_cta::before {
    width: 0.295rem;
    height: 0.295rem;
  }
}

.btn_cta::after {
  background: url("../images/icon_analy-download_1.png") no-repeat center/contain;
  margin-left: 0.24rem;
}

@media screen and (max-width: 768px) {
  .btn_cta::after {
    width: 0.335rem;
    height: 0.335rem;
    margin-right: -0.16rem;
  }
}

.ff_default {
  font-family: "Noto Sans JP", Helvetica, Arial, "Hiragino Sans", YuGothic, "Yu Gothic medium", sans-serif;
}

.ff_barlow_condensed {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: normal;
}

.fw_bold {
  font-weight: bolder;
}

.fw_600 {
  font-weight: 600;
}

.fw_700 {
  font-weight: 700;
}

.fw_900 {
  font-weight: 900;
}

.fw_medium {
  font-weight: 500;
}

.fw_normal {
  font-weight: normal;
}

.fw_300 {
  font-weight: 300;
}

.fs_italic {
  font-style: italic;
}

.red,
.required {
  color: #a50000;
}

.aligncenter {
  text-align: center !important;
}

@media screen and (min-width: 769px) {
  .pc_hide {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .sp_hide {
    display: none !important;
  }
}

.analy-cta {
  background: url("../images/img_analy-cta_bg_1.jpg") no-repeat center top/100%;
  text-align: center;
  min-height: 8.14rem;
  padding-top: 0.96rem;
}

@media screen and (max-width: 768px) {
  .analy-cta {
    background-image: url("../images/img_analy-cta_bg_sp_1.jpg");
    min-height: 14.58rem;
  }
}

.webp .analy-cta {
  background-image: url("../images/img_analy-cta_bg_1.webp");
}

@media screen and (max-width: 768px) {
  .webp .analy-cta {
    background-image: url("../images/img_analy-cta_bg_sp_1.webp");
  }
}

.analy-cta_header h2 {
  font-size: 0.48rem;
  line-height: 1.36;
}

@media screen and (max-width: 768px) {
  .analy-cta_header h2 {
    font-size: 0.5rem;
  }
}

.analy-cta_header p {
  font-size: 0.34rem;
  line-height: 1.52;
  margin-top: 0.4em;
}

@media screen and (max-width: 768px) {
  .analy-cta_header p {
    font-size: 0.3rem;
    margin-top: 0.8em;
  }
}

.analy-cta ul {
  display: grid;
  gap: 0.24rem;
  grid-template-columns: repeat(2, 1fr);
  width: min(11.2rem, 70%);
  margin: 0.64rem auto 0.2rem;
  color: #fff;
  font-weight: bold;
  font-size: 0.3rem;
  line-height: 1.44;
}


@media screen and (max-width: 768px) {
  .analy-cta ul {
    grid-template-columns: repeat(1, 1fr);
  }
}

.analy-cta ul .span2 {
  font-size: 112%;
}

.analy-cta ul .span3,
.analy-cta ul .span4 {
  display: inline-block;
  vertical-align: -0.032em;
  margin: -0.1em 0;
}

.analy-cta ul .span3 {
  font-size: 120%;
}

.analy-cta ul .span4 {
  font-size: 144%;
}

.analy-cta li {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 1.4rem;
  background: #382e2e linear-gradient(135deg, #A50000 0.215rem, #382E2E 0.22rem);
  border: 0.05rem solid #382e2e;
}

.analy-cta_footer {
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .analy-cta_footer {
    flex-direction: column;
  }
}

.analy-cta_footer picture {
  width: 4rem;
}

@media screen and (max-width: 768px) {
  .analy-cta_footer picture {
    width: 4.16rem;
  }
}

.analy-cta_footer p {
  margin: 0.4rem 0.24rem 0 0.24rem;
}

@media screen and (max-width: 768px) {
  .analy-cta_footer p {
    margin: 0.64rem auto 0;
    width: 5.04rem;
  }
}

.analy-header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  white-space: nowrap;
  position: relative;
  background: #fff;
  padding: 0.16rem 0.24rem;
}

@media screen and (max-width: 768px) {
  .analy-header {
    padding: 0.24rem 0.32rem;
  }
}

.analy-header_logo {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.analy-header_logo dt {
  width: 1.04rem;
}

@media screen and (max-width: 768px) {
  .analy-header_logo dt {
    width: 1.2rem;
  }
}

.analy-header_logo dd {
  font-size: 0.17rem;
  font-weight: 500;
  line-height: 1.44;
  margin: 0.32em 0 0 1em;
}

@media screen and (max-width: 768px) {
  .analy-header_logo dd {
    width: 100%;
    font-size: 0.25rem;
    margin: 0.64em 0 0;
  }
}

.analy-header_logo dd .span1 {
  margin-left: 1em;
}

@media screen and (max-width: 768px) {
  .analy-header_logo dd .span1 {
    margin: 0;
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .analy-header_btn {
    position: absolute;
    right: 0.32rem;
    top: 0.24rem;
  }
}

.analy-header_btn .btn_cta {
  font-size: 0.13rem;
  background: #382e2e;
  width: 2.16rem;
  min-height: 0.4rem;
}

@media screen and (max-width: 768px) {
  .analy-header_btn .btn_cta {
    font-size: 0.2rem;
    width: 3.12rem;
    min-height: 0.56rem;
  }
}

.analy-header_btn .btn_cta::before {
  background-image: url("../images/icon_analy-mail_1.png");
  width: 0.14rem;
  height: 0.14rem;
  margin: 0.1em 0.64em 0 0;
}

@media screen and (max-width: 768px) {
  .analy-header_btn .btn_cta::before {
    width: 0.195rem;
    height: 0.195rem;
  }
}

.analy-header_btn .btn_cta::after {
  background-image: url("../images/icon_analy-arrow_1.png");
  width: 0.2rem;
  height: 0.2rem;
  margin: 0 -0.64em 0 0.64em;
}

@media screen and (max-width: 768px) {
  .analy-header_btn .btn_cta::after {
    width: 0.265rem;
    height: 0.265rem;
  }
}

.analy-footer {
  margin-top: auto;
}

.analy-footer_note {
  background: #b0aaa4;
  font-size: 0.15rem;
  padding: 0.32rem 5%;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .analy-footer_note {
    font-size: .18rem;
    justify-content: flex-start;
  }
}

.analy-footer_note small {
  display: block;
  font-size: 100%;
  padding-left: 1em;
  text-indent: -1em;
}

.analy-footer_content {
  background: url("../images/img_analy-footer_bg_1.jpg") no-repeat center/cover;
  min-height: 4.99rem;
  color: #fff;
  font-size: .19rem;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  text-align: right;
  padding: .48rem 1.68rem;
  position: relative;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .analy-footer_content {
    background-image: url("../images/img_analy-footer_bg_sp_1.jpg");
    font-size: .26rem;
    padding: .16rem 5%;
    min-height: 5.25rem;
  }
}

@media screen and (max-width: 768px) {
  .analy-footer_content::after {
    content: "";
    background: url("../images/img_analy-footer_deco_1.png") no-repeat right/contain;
    width: .63rem;
    height: 1.5rem;
    position: absolute;
    right: 0;
    top: -1.12rem;
  }
}

.webp .analy-footer_content {
  background-image: url("../images/img_analy-footer_bg_1.webp");
}

@media screen and (max-width: 768px) {
  .webp .analy-footer_content {
    background-image: url("../images/img_analy-footer_bg_sp_1.webp");
  }
}

.analy-footer_content li {
  margin: 1.6em 0;
}

@media screen and (max-width: 768px) {
  .analy-footer_content li {
    margin: .8em 0;
  }
}

@media screen and (min-width: 769px) {
  .analy-footer_content li a {
    transition: .4s;
  }

  .analy-footer_content li a:hover {
    opacity: .8;
  }
}

.analy-footer_content dt img {
  width: 1.68rem;
}

@media screen and (max-width: 768px) {
  .analy-footer_content dt img {
    width: 1.28rem;
  }
}

.analy-footer_content dd {
  font-weight: 500;
  margin-top: 1.6em;
}

@media screen and (max-width: 768px) {
  .analy-footer_content dd {
    margin-top: .64em;
  }
}

.analy-footer_content dd .span1 {
  display: block;
}

.analy-footer_copy {
  text-align: center;
  font-size: .16rem;
  padding: .64em 0;
  background: #a50000;
  color: #fff;
}

.analy-footer_copy small {
  display: block;
  font-size: 100%;
}

.analy-fv {
  background: url("../images/img_analy-fv_bg_1.jpg") no-repeat center top -0.72rem/100%;
  min-height: 7.43rem;
  overflow: hidden;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .analy-fv {
    background-image: url("../images/img_analy-fv_bg_sp_1.jpg");
    background-position: center top;
    min-height: 9.59rem;
  }
}

.webp .analy-fv {
  background-image: url("../images/img_analy-fv_bg_1.webp");
}

@media screen and (max-width: 768px) {
  .webp .analy-fv {
    background-image: url("../images/img_analy-fv_bg_sp_1.webp");
  }
}

.analy-fv h1 {
  color: #fff;
  text-shadow: 0 0 .12rem rgba(0,0,0,.32);
  font-size: .62rem;
  --spacing: 0.12em;
  margin: .72rem 1.6rem;
  line-height: 1.44;
}

@media screen and (max-width: 768px) {
  .analy-fv h1 {
    font-size: .52rem;
    margin: .56rem 5%;
  }
}

.analy-fv h1 .span1 {
  font-size: 80%;
  margin-right: -0.32em;
}

.analy-fv h1 .span2 {
  font-size: 120%;
  vertical-align: -0.064em;
}

.analy-fv_content {
  display: flex;
  flex-wrap: wrap;
  padding-left: 1.6rem;
  margin-top: .72rem;
  position: relative;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .analy-fv_content {
    padding: 0 5%;
    margin-top: 1.36rem;
    justify-content: space-between;
  }
}

.analy-fv_content picture {
  position: relative;
  width: 1.53rem;
}

@media screen and (max-width: 768px) {
  .analy-fv_content picture {
    width: 1.36rem;
  }
}

.analy-fv_content picture::before {
  content: "";
  background: url("../images/img_analy-fv_deco_1.png") no-repeat center top/contain;
  width: 2.12rem;
  height: 1.38rem;
  position: absolute;
  bottom: -0.48rem;
  left: -0.58rem;
  z-index: -1;
  mix-blend-mode: multiply;
}

@media screen and (max-width: 768px) {
  .analy-fv_content picture::before {
    display: none;
  }
}

.analy-fv_content_text {
  padding-left: .32rem;
  font-size: .22rem;
}

@media screen and (max-width: 768px) {
  .analy-fv_content_text {
    font-size: .27rem;
    padding: .16rem 0 0;
  }
}

.analy-fv_content_text ul {
  line-height: 1.44;
  font-weight: 500;
  text-align: center;
  display: flex;
}

@media screen and (max-width: 768px) {
  .analy-fv_content_text ul {
    font-size: .25rem;
  }
}

.analy-fv_content_text li {
  display: flex;
  justify-content: center;
  align-items: center;
}

.analy-fv_content_text li::before,
.analy-fv_content_text li::after {
  content: "";
  background: url("../images/img_analy-fv_deco_2.png") no-repeat center/contain;
  width: .27rem;
  height: .77rem;
}

@media screen and (max-width: 768px) {
  .analy-fv_content_text li::before,
  .analy-fv_content_text li::after {
    width: .31rem;
    height: .9rem;
  }
}

.analy-fv_content_text li::before {
  margin-right: .32em;
}

.analy-fv_content_text li::after {
  transform: scaleX(-1);
  margin-left: .2em;
}

.analy-fv_content_text li + li {
  margin-left: .24rem;
}

.analy-fv_content_text li .span1 {
  font-size: 96%;
}

.analy-fv_content_text li .span2 {
  font-size: 176%;
  vertical-align: -0.064em;
  margin: -0.32em .08em -0.32em 0;
  display: inline-block;
}

.analy-fv_content_text p {
  margin-top: 1em;
}




@media screen and (max-width: 768px) {
  .analy-fv_content_text p {
    padding-left: 1em;
  }
}

.analy-fv_content_btn {
  position: absolute;
  right: .96rem;
  bottom: 0;
}

@media screen and (max-width: 768px) {
  .analy-fv_content_btn {
    position: static;
    width: 5.04rem;
    margin: .48rem auto 0;
  }
}

.analy-sec_header {
  text-align: center;
}

.analy-sec_header h2 {
  line-height: 1.36;
  font-size: .48rem;
}

@media screen and (max-width: 768px) {
  .analy-sec_header h2 {
    font-size: .52rem;
  }
}

.analy-sec_header p {
  line-height: 1.52;
  font-size: .34rem;
  font-weight: 500;
  margin-top: .4em;
}

@media screen and (max-width: 768px) {
  .analy-sec_header p {
    font-size: .3rem;
    margin-top: .8em;
  }
}

.analy-sec01 {
  position: relative;
}

.analy-sec01_step {
  margin: .56rem 0;
  width: min(3.84rem, 100%);
  position: relative;
  background: #e8e1e1;
}

@media screen and (max-width: 768px) {
  .analy-sec01_step {
    width: 100%;
  }
}

.analy-sec01_step h3 {
  position: absolute;
  white-space: nowrap;
  left: .16rem;
  top: -1.28em;
  font-size: .46rem;
  line-height: 1.2;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .analy-sec01_step h3 {
    font-size: .64rem;
    left: .32rem;
    top: -1.143em;
  }
}

.analy-sec01_step h3 .span1 {
  font-size: 160%;
}

@media screen and (max-width: 768px) {
  .analy-sec01_step h3 .span1 {
    font-size: 144%;
    margin-left: .1em;
  }
}

.analy-sec01_step h3 .span2 {
  font-size: .34rem;
  font-weight: bold;
  color: #fff;
  background: #a50000;
  background: linear-gradient(-64deg, rgba(165, 0, 0, 0) 0.28rem, #A50000 0.285rem);
  border-left: .05rem solid #161212;
  --spacing: 0.16em;
  padding: .16em 1.28em .2em .4em;
  display: inline-block;
  vertical-align: .32em;
  margin-left: .2em;
}

@media screen and (max-width: 768px) {
  .analy-sec01_step h3 .span2 {
    font-size: .48rem;
    border-left-width: .06rem;
    padding: .08em 1em .1em .4em;
    vertical-align: .229em;
  }
}

.analy-sec01_step p {
  text-align: center;
  line-height: 1.52;
  padding: 1.6em 0;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .analy-sec01_step p {
    font-size: .32rem;
  }
}

.analy-sec01_step_wrap {
  width: min(12rem, 80%);
  margin: .96rem auto .56rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .analy-sec01_step_wrap {
    margin-top: 1.2rem;
  }
}

.analy-sec01_step.step1 {
  background: #a50000;
  transform: translateY(-0.36rem);
}

.analy-sec01_step.step1::before,
.analy-sec01_step.step1::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  width: 100%;
  z-index: 1;
}

.analy-sec01_step.step1::before {
  height: 100%;
  border: solid #a50000;
  border-width: 0 .03rem .03rem;
}

.analy-sec01_step.step1::after {
  height: .03rem;
  background: #a50000;
  background: linear-gradient(90deg, #A50000 0.12rem, rgba(165, 0, 0, 0) 0.12rem, rgba(165, 0, 0, 0) 2.4rem, #A50000 2.4rem);
}

.analy-sec01_step.step1 h3 {
  color: #a50000;
}

.analy-sec01_step.step1 picture {
  position: relative;
}

.analy-sec01_step.step1 picture::after {
  content: "";
  background: url("../images/img_analy-sec01_pic_1.png") no-repeat center/contain;
  width: 2.855rem;
  height: 2.6rem;
  position: absolute;
  right: 0;
  bottom: -0.42rem;
}

@media screen and (max-width: 768px) {
  .analy-sec01_step.step1 picture::after {
    width: 4.64rem;
    height: 3.92rem;
    bottom: -0.56rem;
  }
}

.analy-sec01_step.step1 p {
  color: #fff;
  font-weight: bold;
  font-size: .23rem;
}

@media screen and (max-width: 768px) {
  .analy-sec01_step.step1 p {
    font-size: .36rem;
  }
}

.analy-sec01_skew {
  position: absolute;
  z-index: -1;
  left: 0;
  bottom: 0;
  pointer-events: none;
  width: 100%;
  height: 100%;
  overflow: hidden;

}

.analy-sec01_skew .skew {
  position: absolute;
  z-index: -1;
  background: linear-gradient(#f4f2f2, #e8e1e1);
  transform-origin: left bottom;
  transform: skewX(-26deg);
}

@media screen and (max-width: 768px) {
  .analy-sec01_skew .skew {
    transform: skewX(-28deg);
  }
}

.analy-sec01_skew .skew::before,
.analy-sec01_skew .skew::after {
  content: "";
  width: 100%;
  height: 100%;
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  transition: .48s cubic-bezier(0.51, -0.01, 0.21, 1.01) .64s;
  transform-origin: left;
  transform: scale3d(1, 1, 1);
}

.analy-sec01_skew .skew::before {
  background: #a50000;
  transition-delay: 1.12s;
}

.analy-sec01_skew .skew::after {
  width: 101%;
  height: 101%;
  left: -1%;
  top: -1%;
}

.analy-sec01_skew .skew1 {
  width: 2rem;
  height: 5.36rem;
  bottom: 1.12rem;
  left: 1.12rem;
}

@media screen and (max-width: 768px) {
  .analy-sec01_skew .skew1 {
    width: 3.28rem;
    height: 8.48rem;
    left: 5%;
    bottom: auto;
    top: 2.88rem;
  }
}

.analy-sec01_skew .skew2 {
  width: .48rem;
  height: 2.8rem;
  left: -0.16rem;
  bottom: 0;
}

@media screen and (max-width: 768px) {
  .analy-sec01_skew .skew2 {
    width: .64rem;
    height: 2rem;
    bottom: auto;
    top: 9.04rem;
    left: -0.64rem;
  }
}

.analy-sec01_skew.animation_js.is_active .skew::before,
.analy-sec01_skew.animation_js.is_active .skew::after {
  transform: scale3d(0, 1, 1);
}

.analy-sec02 {
  padding: 1.12rem 0;
  background: linear-gradient(-45deg, #e8e1e1, #f9f9f9, #e8e1e1);
  position: relative;
}

.analy-sec02::after {
  content: "";
  background: url("../images/img_analy-sec02_bg_1.png") no-repeat center 0.48rem/100%;
  width: 100%;
  height: 100%;
  pointer-events: none;
  position: absolute;
  left: 0;
  top: 0;
}

@media screen and (max-width: 768px) {
  .analy-sec02::after {
    background: url("../images/img_analy-sec02_bg_sp_1.png") no-repeat center top/100%;
    top: -0.48rem;
  }
}

.analy-sec02_header h2 .span1 {
  font-size: 136%;
  display: inline-block;
  vertical-align: -0.04em;
  line-height: 1.04;
}

.analy-sec02_iot {
  margin: .72rem auto 0;
  text-align: center;
  font-size: .22rem;
  font-weight: 500;
  line-height: 1.44;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .analy-sec02_iot {
    font-size: .27rem;
  }
}

.analy-sec02_iot picture {
  width: min(12.21rem, 90%);
  margin: auto;
}

.analy-sec02_iot picture+* {
  margin-top: .72rem;
}

.analy-sec02_iot h3 {
  font-size: .3rem;
  margin-top: .8em;
}

@media screen and (max-width: 768px) {
  .analy-sec02_iot h3 {
    font-size: .36rem;
  }
  
  .analy-sec02_iot h3 .span1 {
    display: block;
    font-size: 128%;
  }
}

.analy-sec02_network {
  width: min(9.04rem, 72%);
  margin: .4rem auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .analy-sec02_network {
    flex-direction: column;
  }
}

.analy-sec02_network_dx {
  width: 1.92rem;
}

@media screen and (max-width: 768px) {
  .analy-sec02_network_dx {
    position: relative;
    z-index: 1;
    margin-top: .24rem;
  }

  .analy-sec02_network_dx::before {
    content: "";
    width: 2rem;
    height: 2.4rem;
    position: absolute;
    z-index: -1;
    background: linear-gradient(#DFDAD8, rgba(223, 218, 216, 0));
    transform: skewX(-26deg);
    left: .24rem;
    top: -0.24rem;
  }
}

.analy-sec02_network_data {
  width: 1.44rem;
  height: .76rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .analy-sec02_network_data {
    transform: rotate(90deg);
    margin: .72rem 0;
  }
}

.analy-sec02_network_data_line {
  height: .02rem;
  background: #b28a7f;
  position: relative;
}

.analy-sec02_network_data_line .circle {
  border-radius: 50%;
  background: #a50000;
  position: absolute;
  width: .12rem;
  height: .12rem;
  left: -0.05rem;
  top: -0.05rem;
  animation: 4s infinite circle_lr1;
  z-index: 5;
}

.analy-sec02_network_data_line .circle2 {
  background: #864a4a;
  animation-name: circle_lr2;
  z-index: 4;
}

.analy-sec02_network_data_line .circle3 {
  background: #161212;
  animation-name: circle_lr3;
  z-index: 3;
}

.analy-sec02_network_data_line.line2 .circle {
  left: auto;
  right: -0.06rem;
  animation-name: circle_rl1;
}

.analy-sec02_network_data_line.line2 .circle2 {
  animation-name: circle_rl2;
}

.analy-sec02_network_data_line.line2 .circle3 {
  animation-name: circle_rl3;
}

.analy-sec02_network_img {
  width: min(5.28rem, 100%);
  gap: .16rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.analy-sec04 {
  padding: 1.12rem 0;
  position: relative;
  background: linear-gradient(-45deg, #e8e1e1, #f9f9f9, #e8e1e1);
  overflow: hidden;
}

.analy-sec04::after {
  content: "";
  background: url("../images/img_analy-sec04_bg_1.png") no-repeat center/100%;
  width: 100%;
  height: 100%;
  pointer-events: none;
  position: absolute;
  left: 0;
  top: 0;
}

@media screen and (max-width: 768px) {
  .analy-sec04::after {
    background-image: url("../images/img_analy-sec04_bg_sp_1.png");
    background-position: center 5.6rem;
  }
}

.analy-sec04_point {
  width: min(12rem, 80%);
  margin: .64rem auto 0;
  background: #fff;
  display: flex;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .analy-sec04_point {
    flex-direction: column;
  }
}

.analy-sec04_point_img {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: min(6.88rem, 100%);
}

@media screen and (max-width: 768px) {
  .analy-sec04_point_img {
    width: 100%;
    padding: .48rem 0;
  }
}

.analy-sec04_point_img picture {
  width: min(6.21rem, 88%);
}

.analy-sec04_point_img_data {
  position: absolute;
  left: 2.12rem;
  top: 2rem;
  height: .02rem;
  width: 2.92rem;
  display: flex;
  justify-content: space-between;
}


@media screen and (max-width: 768px) {
  .analy-sec04_point_img_data {
    left: 1.8rem;
    transform-origin: left;
    transform: rotate(90deg);
    width: 3.44rem;
  }
}

.analy-sec04_point_img_data_line {
  height: 100%;
  width: .8rem;
  background: #b28a7f;
  position: relative;
}

.analy-sec04_point_img_data_line .circle {
  border-radius: 50%;
  background: #a50000;
  position: absolute;
  width: .08rem;
  height: .08rem;
  left: -0.03rem;
  top: -0.03rem;
  animation: 3s infinite circle_lr1b;
  z-index: 5;
}

.analy-sec04_point_img_data_line .circle2 {
  background: #864a4a;
  animation-name: circle_lr2b;
  z-index: 4;
}

.analy-sec04_point_img_data_line .circle3 {
  background: #161212;
  animation-name: circle_lr3b;
  z-index: 3;
}

.analy-sec04_point_img_data_line.line2 .circle {
  left: auto;
  right: -0.04rem;
  animation-name: circle_rl1b;
}

.analy-sec04_point_img_data_line.line2 .circle2 {
  animation-name: circle_rl2b;
}

.analy-sec04_point_img_data_line.line2 .circle3 {
  animation-name: circle_rl3b;
}

.analy-sec04_point_text {
  width: min(5.12rem, 100%);
  color: #fff;
  background: #a50000;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: .56rem;
}

@media screen and (max-width: 768px) {
  .analy-sec04_point_text {
    width: 100%;
    padding: .56rem .36rem;
  }
}

.analy-sec04_point_text_header p {
  font-size: .32rem;
  line-height: 1.2;
  margin: -0.64em 0 .4em;
}

@media screen and (max-width: 768px) {
  .analy-sec04_point_text_header p {
    font-size: .38rem;
  }
}

.analy-sec04_point_text_header p .span1 {
  font-size: 136%;
  position: relative;
  z-index: 1;
}

.analy-sec04_point_text_header p .span1::before {
  content: "";
  background: #700000;
  width: .533em;
  height: 1.143em;
  position: absolute;
  left: .16em;
  top: .1em;
  z-index: -1;
  transform: skewX(-26deg);
}

.analy-sec04_point_text_header h3 {
  font-size: .4rem;
  line-height: 1.44;
}

@media screen and (max-width: 768px) {
  .analy-sec04_point_text_header h3 {
    font-size: .48rem;
  }
}

.analy-sec04_point_text_header h3 .span1 {
  font-size: 80%;
}

.analy-sec04_point_text > p {
  border-top: 1px solid rgba(255, 255, 255, .4);
  padding-top: 1.28em;
  margin-top: 1.28em;
}

@media screen and (max-width: 768px) {
  .analy-sec04_point.point2 .analy-sec04_point_img {
    padding-left: .16rem;
  }
}

.analy-sec04_point.point2 .analy-sec04_point_img picture {
  width: min(6.035rem, 100%);
}

@media screen and (max-width: 768px) {
  .analy-sec04_point.point2 .analy-sec04_point_img picture {
    width: auto;
    margin-right: -0.98rem;
  }
}

.analy-sec05 {
  padding: 1.12rem 0;
  position: relative;
  background: url("../images/img_analy-sec05_bg_1.jpg") no-repeat center bottom/100%;
  min-height: 7.78rem;
}

@media screen and (max-width: 768px) {
  .analy-sec05 {
    background-image: url("../images/img_analy-sec05_bg_sp_1.jpg");
    padding-bottom: .64rem;
  }
}

.analy-sec05::after {
  content: "";
  width: 100%;
  height: 100%;
  pointer-events: none;
  background: url("../images/img_analy-sec05_bg_2.png") no-repeat center top/100%;
  position: absolute;
  left: 0;
  top: -0.32rem;
}

@media screen and (max-width: 768px) {
  .analy-sec05::after {
    background-image: url("../images/img_analy-sec05_bg_sp_2.png");
    top: 0;
    background-position: center 2rem;
  }
}

.webp .analy-sec05 {
  background-image: url("../images/img_analy-sec05_bg_1.webp");
}

@media screen and (max-width: 768px) {
  .webp .analy-sec05 {
    background-image: url("../images/img_analy-sec05_bg_sp_1.webp");
  }
}

.analy-sec05_content1 {
  margin: .64rem 0;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .analy-sec05_content1 {
    margin: .4rem 0;
  }
}

.analy-sec05_content1 ul {
  width: min(12.24rem, 80%);
  position: relative;
  margin: auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  font-size: .25rem;
  font-weight: bold;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .analy-sec05_content1 ul {
    justify-content: space-between;
  }
}

.analy-sec05_content1 li {
  background: #382e2e;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.88rem;
  margin: .08rem;
  padding: .2rem 0;
}



@media screen and (max-width: 768px) {
  .analy-sec05_content1 li {
    width: 3rem;
    margin: .08rem 0;
  }
}

.analy-sec05_content1 li img {
  width: .58rem;
  margin: 0 .04rem 0 -0.08rem;
}

.analy-sec05_content1 li.etc {
  width: 100%;
  margin: 0;
  padding: 0;
  background: none;
  color: #161212;
  font-size: .2rem;
}

@media screen and (max-width: 768px) {
  .analy-sec05_content1 li.etc {
    width: 0;
    font-size: .25rem;
  }
}

.analy-sec05_content1 li.etc .span1 {
  position: absolute;
  left: 100%;
  bottom: .2em;
}

@media screen and (max-width: 768px) {
  .analy-sec05_content1 li.etc .span1 {
    left: 51%;
  }
}

.analy-sec05_content1 p {
  font-weight: 500;
  font-size: .22rem;
  margin-top: .48rem;
}

@media screen and (max-width: 768px) {
  .analy-sec05_content1 p {
    font-size: .27rem;
    font-weight: normal;
    line-height: 1.52;
  }
}

.analy-sec05_content1 p .span1 {
  display: block;
}

@media screen and (max-width: 768px) {
  .analy-sec05_content1 p .span1 {
    font-size: 104%;
    font-weight: 500;
    margin-bottom: 1.6em;
  }
}

@media screen and (max-width: 768px) {
  .analy-sec05_content1 p .span2 {
    display: block;
    font-size: 104%;
  }
}

.analy-sec05_content2 {
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  margin-top: 1.6rem;
}

.analy-sec05_content2 h3 {
  text-align: center;
  font-size: .34rem;
  line-height: 1.84;
}

@media screen and (max-width: 768px) {
  .analy-sec05_content2 h3 {
    font-size: .29rem;
  }
}

.analy-sec05_content2 h3 .span1 {
  background: #a50000;
  padding: 0 .32em .08em;
  margin: 0 .32em;
}

.analy-sec05_content2 p {
  font-size: .64rem;
  font-weight: bold;
  line-height: 1.52;
  margin-top: 1.12rem;
  padding-left: max(.384rem, (100% - 8.16rem) * .5);
}

@media screen and (max-width: 768px) {
  .analy-sec05_content2 p {
    font-size: .42rem;
    margin-top: .56rem;
  }
}

.analy-sec05_content2 p .span1 {
  font-size: 88%;
  margin-right: -0.4em;
}

.analy-sec05_content2 p .span2 {
  display: block;
  font-size: 152%;
}

.analy-sec06 {
  padding: 1.12rem max(.384rem, (100% - 10rem) * .5);
  background: url("../images/img_analy-sec06_bg_1.png") no-repeat center top/cover;
}

@media screen and (max-width: 768px) {
  .analy-sec06 {
    background-image: url("../images/img_analy-sec06_bg_sp_1.png");
  }
}

.webp .analy-sec06 {
  background-image: url("../images/img_analy-sec06_bg_1.webp");
}

@media screen and (max-width: 768px) {
  .webp .analy-sec06 {
    background-image: url("../images/img_analy-sec06_bg_sp_1.webp");
  }
}

.analy-sec06_header {
  margin-bottom: .64rem;
}

.analy-sec06_faq {
  margin-top: .4rem;
  border: 1px solid;
  background: #fff;
}

.analy-sec06_faq h3 {
  position: relative;
  background: #e9e2e0;
  font-size: .21rem;
  font-weight: 500;
  padding: .24rem 1.6rem .24rem .72rem;
}

@media screen and (max-width: 768px) {
  .analy-sec06_faq h3 {
    font-size: .28rem;
    padding-right: .96rem;
  }
}

.analy-sec06_faq h3::before {
  content: "Q";
  position: absolute;
  left: 0;
  top: 0;
  color: #fff;
  background: #382e2e;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 1.6em;
  font-size: 128%;
  padding-bottom: .4em;
}

@media screen and (max-width: 768px) {
  .analy-sec06_faq h3::before {
    font-size: 104%;
  }
}

.analy-sec06_faq h3.toggle_js {
  cursor: pointer;
}

.analy-sec06_faq h3.toggle_js .toggle_icon {
  width: .32rem;
  height: 100%;
  right: .24rem;
  top: 0;
  transition: 4s;
  position: absolute;
}

@media screen and (max-width: 768px) {
  .analy-sec06_faq h3.toggle_js .toggle_icon {
    width: .44rem;
  }
}

.analy-sec06_faq h3.toggle_js .toggle_icon::before,
.analy-sec06_faq h3.toggle_js .toggle_icon::after {
  content: "";
  background: url("../images/img_analy-sec06_icon_1.svg") no-repeat center/contain;
  width: 100%;
  height: .12rem;
  position: absolute;
  left: 0;
  top: 50%;
  transition: .4s;
  transform: translate3d(0, -50%, 0);
}

@media screen and (max-width: 768px) {
  .analy-sec06_faq h3.toggle_js .toggle_icon::before,
  .analy-sec06_faq h3.toggle_js .toggle_icon::after {
    height: .16rem;
  }
}

.analy-sec06_faq h3.toggle_js .toggle_icon::after {
  opacity: 0;
  transform: translate3d(0, -50%, 0);
}

.analy-sec06_faq h3.toggle_js.show .toggle_icon::before {
  transform: translate3d(0, -50%, 0) scaleY(-1);
}

.analy-sec06_faq h3.toggle_js.show .toggle_icon::after {
  transform: translate3d(0, calc(50% - 0.2rem), 0);
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .analy-sec06_faq h3.toggle_js.show .toggle_icon::after {
    transform: translate3d(0, calc(50% - 0.28rem), 0);
  }
}

.analy-sec06_faq_a {
  padding: .32rem .48rem .32rem .72rem;
}

.analy-sec06_faq_a p + p {
  margin-top: 1em;
}

.analy-sec06_faq_a.toggle_js > *,
.analy-sec06_faq_a.toggle_js::before {
  transition: opacity .8s;
  opacity: 0;
}

.analy-sec06_faq_a.toggle_js.show > *,
.analy-sec06_faq_a.toggle_js.show::before {
  opacity: 1;
}