:root {
  --color-text: #222;
  --color-blue: #2174DF;
  --color-navy: #002A66;
  --color-light: #EDF2FA;
  --shadow: 0 0.04rem 0.12rem rgba(0, 0, 0, 0.16);
  scroll-behavior: smooth;
  scroll-padding-top: 8.8vw;
  font-size: 7.5757575758vw
}

@media screen and (max-width: 768px) {
  :root {
    font-size: 13.0208333333vw;
    scroll-padding-top: 16.9270833333vw
  }
}

@media screen and (min-width: 1024px) {
  :root {
    font-size: 80px;
    scroll-padding-top: 88px
  }
}

* {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: rgba(0, 0, 0, 0);
  box-sizing: border-box;
  list-style: none
}

*::before, *::after {
  box-sizing: border-box
}

img, video {
  font-size: 0;
  line-height: 0;
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: bottom
}

picture {
  display: block
}

body {
  font-family: "Zen Kaku Gothic New", 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: .18rem;
  font-weight: 400;
  line-height: 1.76;
  color: var(--color-text);
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
  background: var(--color-light)
}

@media screen and (max-width: 768px) {
  body {
    font-size: .27rem
  }
}

body.body_overflow {
  overflow: hidden
}

body:has(.analy-thanks) {
  background: #fff
}

small {
  font-weight: normal;
  color: #ccc;
  font-size: .14rem
}

@media screen and (max-width: 768px) {
  small {
    font-size: .22rem
  }
}

strong {
  font-weight: bolder
}

:where(a) {
  color: currentColor;
  text-decoration: none
}

@media screen and (min-width: 769px) {
  :where(a)[href^="tel:"] {
    pointer-events: none
  }
}

@media screen and (min-width: 769px) {
  :where(a) {
    transition: opacity .2s
  }

  :where(a):hover {
    opacity: .8
  }
}

:where([class^=btn_]) {
  border-radius: 16em;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: var(--btn-h, 0.7rem);
  gap: .48em;
  border: .05rem solid hsla(0, 0%, 100%, .2);
  background-color: var(--btn-bgc, var(--color-blue));
  background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.2) 50%, rgba(0, 0, 0, 0.08));
  font-weight: bold;
  font-size: var(--btn-fz, 0.24rem)
}

@media screen and (max-width: 768px) {
  :where([class^=btn_]) {
    --btn-h: 1.1rem;
    --btn-fz: 0.35rem
  }
}

.btn_download::before {
  content: "";
  background: url("../img/icon_analy-file_1.svg") no-repeat center/contain;
  width: .8em;
  height: 1.6em
}

.btn_meeting {
  --btn-bgc: #FF5F5F
}

.btn_meeting::before {
  content: "";
  background: url("../img/icon_analy-cal_1.svg") no-repeat center/contain;
  width: .96em;
  height: 1.6em
}

.btn_normal {
  --btn-fz: 0.18rem;
  border: none;
  background-image: none;
  position: relative;
  line-height: 1.52;
  padding-right: 1em
}

@media screen and (max-width: 768px) {
  .btn_normal {
    --btn-h: 1.2rem;
    --btn-fz: 0.27rem;
    padding-right: 1.6em
  }
}

.btn_normal::before {
  content: "";
  background: url("../img/icon_analy-pc_1.svg") no-repeat center/contain;
  width: .24rem;
  height: .24rem
}

@media screen and (max-width: 768px) {
  .btn_normal::before {
    width: .48rem;
    height: .48rem
  }
}

.btn_normal::after {
  content: "";
  width: .48em;
  height: .48em;
  background: #fff;
  position: absolute;
  right: .32rem;
  top: 50%;
  transform: translateY(-50%);
  clip-path: polygon(0 0, 0% 100%, 100% 50%)
}

@media screen and (max-width: 768px) {
  .btn_normal::after {
    right: .48rem
  }
}

.ff_serif {
  font-family: "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif
}

.ff_roboto {
  font-family: "Roboto", sans-serif
}

.ff_oswald {
  font-family: "Oswald", sans-serif
}

.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
}

.blue {
  color: var(--color-blue)
}

.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 {
  position: relative;
  z-index: 1
}

.analy-cta_content {
  width: min(12rem, 90%);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: url("../img/img_analy-cta_bg_2.svg") no-repeat right bottom/2.8rem, #fff url("../img/img_analy-cta_bg_1.svg") no-repeat left top/2.8rem;
  box-shadow: 0 .02rem .2rem rgba(0, 0, 0, .16);
  border-radius: .8rem;
  text-align: center;
  padding: .6rem 0;
  display: grid;
  gap: .24rem;
  place-items: center
}

@media screen and (max-width: 768px) {
  .analy-cta_content {
    padding: .8rem 0
  }
}

.analy-cta_content h2 {
  font-size: .4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  gap: .12rem
}

@media screen and (max-width: 768px) {
  .analy-cta_content h2 {
    flex-direction: column;
    font-size: .45rem
  }
}

.analy-cta_content h2 img {
  width: 4rem
}

@media screen and (max-width: 768px) {
  .analy-cta_content h2 img {
    width: 4.5rem
  }
}

.analy-cta_content p {
  font-size: .24rem;
  font-weight: 500
}

@media screen and (max-width: 768px) {
  .analy-cta_content p {
    font-size: .35rem
  }
}

.analy-cta_content ul {
  display: grid;
  grid-template-columns: repeat(2, 3.6rem);
  gap: .2rem;
  margin-top: .24rem
}

@media screen and (max-width: 768px) {
  .analy-cta_content ul {
    grid-template-columns: 5.28rem
  }
}

.analy-cta_content_illust {
  pointer-events: none;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0
}

.analy-cta_content_illust figure {
  position: absolute
}

.analy-cta_content_illust figure:nth-of-type(1) {
  width: 2.2rem;
  top: 1.36rem;
  left: -0.2rem
}

@media screen and (max-width: 768px) {
  .analy-cta_content_illust figure:nth-of-type(1) {
    width: 1.8rem;
    left: -0.1rem;
    top: -0.48rem
  }
}

.analy-cta_content_illust figure:nth-of-type(2) {
  width: .7rem;
  top: 1.6rem;
  right: 1.68rem
}

@media screen and (max-width: 768px) {
  .analy-cta_content_illust figure:nth-of-type(2) {
    width: .48rem;
    top: 4rem;
    right: .72rem
  }
}

.analy-cta_content_illust figure:nth-of-type(3) {
  width: 2rem;
  top: 1.68rem;
  right: -0.2rem
}

@media screen and (max-width: 768px) {
  .analy-cta_content_illust figure:nth-of-type(3) {
    width: 1.36rem;
    top: 4.6rem;
    right: -0.32rem
  }
}

.analy-cta+* {
  --pt: 3.28rem
}

@media screen and (max-width: 768px) {
  .analy-cta+* {
    --pt: 6rem
  }
}

.analy-cta+.analy-footer {
  --pt: 2.64rem
}

@media screen and (max-width: 768px) {
  .analy-cta+.analy-footer {
    --pt: 6rem
  }
}

.analy-cta+.analy-cta {
  margin-top: 4.8rem
}

@media screen and (max-width: 768px) {
  .analy-cta+.analy-cta {
    margin-top: 10.64rem
  }
}

:has(+.analy-cta) {
  --pb: 3.28rem
}

@media screen and (max-width: 768px) {
  :has(+.analy-cta) {
    --pb: 6.24rem
  }
}

.analy-header {
  position: fixed;
  z-index: 100;
  left: .2rem;
  top: 0;
  margin: .1rem 0;
  width: calc(100% - .4rem);
  height: .9rem;
  box-shadow: var(--shadow);
  border-radius: 16em;
  display: flex;
  align-items: center;
  background: #fff
}

@media screen and (max-width: 768px) {
  .analy-header {
    width: 90%;
    left: 5%;
    margin: .2rem 0
  }
}

.analy-header_logo {
  width: 1.6rem;
  margin: 0 auto 0 .5rem
}

@media screen and (max-width: 768px) {
  .analy-header_logo {
    margin-left: .4rem
  }
}

.analy-header_nav {
  padding-right: .16rem;
  gap: .48rem
}

@media screen and (max-width: 768px) {
  .analy-header_nav {
    padding: .4rem;
    height: 100dvh;
    width: 90%;
    position: fixed;
    right: 0;
    top: 0;
    background: var(--color-light);
    z-index: 1;
    transition: .4s;
    transform: translateX(100%);
    opacity: 0;
    pointer-events: none
  }

  .is_open .analy-header_nav {
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto
  }
}

.analy-header_nav_menu a {
    color: black;
}

.analy-header_nav_btn a {
    color: white;
}

.tel-icon {
  width:16px;
  height: 16px;
}
.tel-item {
display: flex;
    align-items: center;
    justify-content: center;
    min-height: var(--btn-h, 0.7rem);
    gap: .8em;
    border: .05rem solid hsla(0, 0%, 100%, .2);
    background-color: var(--color-navy);
    background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.2) 50%, rgba(0, 0, 0, 0.08));
    font-weight: bold;
    font-size: var(--btn-fz, 0.24rem);
    border-radius: 16em;
	pointer-events: auto;
}
@media screen and (max-width: 768px) {
	.tel-item {
height: 46px;
}
}
.tel-number {
    line-height: 1.4;
}
@media screen and (max-width: 768px) {
	.tel-number {
font-size: 18px;
}
.analy-header_nav_btn a {
    height: 52px;
}
}
.business-hours {
    font-size: 10px;
    line-height: 1;
    text-align: right;
}
.tel-left {
    display: flex;
}
.btn-copy {
  font-size: 10px;
  font-weight: bold;
  position: relative;
  margin-bottom: 0px;
  text-align: center;
}
.btn-copy:before {
  margin-right: 5px;
  content: '＼';
}
.btn-copy:after {
  margin-left: 5px;
  content: '／';
}

.analy-header_nav, .analy-header_nav_menu, .analy-header_nav_btn {
  display: flex;
  align-items: center
}

@media screen and (max-width: 768px) {
  .analy-header_nav, .analy-header_nav_menu, .analy-header_nav_btn {
    display: grid;
    align-content: start;
    place-items: center
  }
}

.analy-header_nav_menu {
  gap: .48rem;
  font-weight: bold
}

@media screen and (max-width: 768px) {
  .analy-header_nav_menu {
    font-size: .35rem
  }
}

.analy-header_nav_btn {
  gap: .2rem;
  --btn-fz: 0.18rem;
  --btn-h: 0.6rem
}

@media screen and (max-width: 768px) {
  .analy-header_nav_btn {
    margin-top: .56rem
  }
}

.analy-header_nav_btn li {
  width: 3rem
}

@media screen and (max-width: 768px) {
  .analy-header_nav_btn li {
    width: 5.28rem
  }
}

.analy-header_nav_close {
  width: .8rem;
  height: .8rem;
  position: relative;
  background: var(--color-blue);
  border-radius: .08rem;
  justify-self: end
}

.analy-header_nav_close::before, .analy-header_nav_close::after {
  content: "";
  height: max(1px, min(0.03rem, 6px));
  width: .6rem;
  background: #fff;
  position: absolute;
  left: 50%;
  top: 50%
}

.analy-header_nav_close::before {
  transform: translate(-50%, -50%) rotate(45deg)
}

.analy-header_nav_close::after {
  transform: translate(-50%, -50%) rotate(-45deg)
}

.analy-header_hamburger {
  width: .4rem;
  height: 100%;
  display: grid;
  align-content: center;
  gap: .14rem;
  margin-right: .4rem;
  cursor: pointer
}

.analy-header_hamburger .line {
  height: max(1px, min(0.02rem, 4px));
  background: var(--color-navy)
}

.analy-header_hamburger::before {
  content: "";
  width: 100%;
  height: 100%;
  position: fixed;
  background: var(--color-navy);
  left: 0;
  top: 0;
  opacity: 0;
  pointer-events: none;
  transition: .4s
}

.is_open .analy-header_hamburger::before {
  opacity: .56;
  pointer-events: auto
}

.analy-header+.analy-sec {
  --pt: 1.6rem
}

.analy-footer {
  margin-top: auto;
  background: #061a38;
  padding: var(--pt, 0.64rem) max(.768rem, (100vw - 12rem)*.5) .32rem;
  color: #fff;
  white-space: nowrap;
  display: grid;
  gap: .16rem
}

@media screen and (max-width: 768px) {
  .analy-footer {
    gap: 1.2rem
  }
}

.analy-footer_info {
  line-height: 1.52;
  display: grid;
  gap: .64em;
  grid-row: 1/4
}

@media screen and (max-width: 768px) {
  .analy-footer_info {
    grid-row: auto;
    text-align: center
  }
}

.analy-footer_info dt {
  font-weight: 500
}

.analy-footer_info dd {
  font-size: .14rem
}

@media screen and (max-width: 768px) {
  .analy-footer_info dd {
    font-size: .22rem
  }
}

.analy-footer_info img {
  width: 1.7rem
}

@media screen and (max-width: 768px) {
  .analy-footer_info img {
    width: 4.85rem;
    margin-bottom: .24rem
  }
}

.analy-footer_nav {
  display: flex;
  justify-self: end;
  flex-wrap: wrap;
  gap: .24rem .4rem;
  grid-column: 2;
  grid-row: 2
}

@media screen and (max-width: 768px) {
  .analy-footer_nav {
    grid-column: auto;
    grid-row: auto;
    justify-self: center;
    justify-content: center
  }
}

.analy-footer_copy {
  grid-column: 2;
  grid-row: 3;
  justify-self: end
}

@media screen and (max-width: 768px) {
  .analy-footer_copy {
    grid-column: auto;
    grid-row: auto;
    justify-self: center
  }
}

.analy-fv {
  padding-top: 1.6rem;
  background: #fff;
  overflow: hidden;
  position: relative;
  z-index: 1
}

@media screen and (max-width: 768px) {
  .analy-fv {
    padding-bottom: .4rem
  }
}

.analy-fv::before {
  content: "";
  width: 100%;
  height: 7.42rem;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  background: #fff url("../img/img_analy-fv_bg_1.png") no-repeat center top/cover
}

@media screen and (max-width: 768px) {
  .analy-fv::before {
    height: 10.8rem;
    background-position: 72% top
  }
}

.analy-fv_header {
  text-align: center;
  color: var(--color-navy)
}

.analy-fv_header h1 {
  display: grid;
  place-items: center;
  white-space: nowrap
}

.analy-fv_header h1 .span1 {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .4rem;
  gap: .32em
}

.analy-fv_header h1 .span1 img {
  width: .4rem;
  margin-top: .08rem
}

.analy-fv_header h1 .span3 {
  font-size: 76%
}

.analy-fv_header h1 .span4 {
  font-weight: 900;
  font-size: .68rem;
  filter: drop-shadow(0 0 0.2rem #fff)
}

@media screen and (max-width: 768px) {
  .analy-fv_header h1 .span4 {
    font-size: .9rem;
    line-height: 1.2
  }
}

.analy-fv_header h1 .span5 {
  font-size: 74%
}

.analy-fv_header p {
  display: grid;
  grid-template-columns: auto auto;
  place-content: center;
  place-items: center;
  font-weight: bold;
  font-size: .24rem;
  gap: .56rem 1em;
  margin-top: .48em
}

@media screen and (max-width: 768px) {
  .analy-fv_header p {
    grid-template-columns: auto;
    gap: .32em;
    font-size: .32rem;
    margin-top: .56rem
  }
}

.analy-fv_header p .span1 {
  background: var(--color-navy);
  font-size: 125%;
  color: #d8e3f5;
  padding: 0 .48em .048em;
  line-height: 1.28
}

.analy-fv_header p img {
  width: 4.5rem;
  grid-column: 1/3
}

@media screen and (max-width: 768px) {
  .analy-fv_header p img {
    grid-column: auto;
    margin-top: .32rem
  }
}

.analy-fv_cta {
  background: #fff;
  box-shadow: var(--shadow);
  margin: .4rem auto 0;
  width: min(9rem, 90%);
  padding: .3rem 0;
  display: grid;
  gap: .3rem;
  place-items: center
}

@media screen and (max-width: 768px) {
  .analy-fv_cta {
    margin-top: .56rem
  }
}

.analy-fv_cta_points, .analy-fv_cta_btn {
  display: grid
}

.analy-fv_cta_points {
  grid-template-columns: repeat(3, auto);
  color: #0e419b;
  font-weight: bold;
  text-align: center;
  font-size: .2rem;
  line-height: 1.2
}

.analy-fv_cta_points li {
  display: grid;
  gap: .32em
}

@media screen and (max-width: 768px) {
  .analy-fv_cta_points li {
    place-content: center
  }
}

.analy-fv_cta_points li+li {
  border-left: 1px solid;
  padding-left: .4rem;
  margin-left: .4rem
}

@media screen and (max-width: 768px) {
  .analy-fv_cta_points li+li {
    padding-left: .32rem;
    margin-left: .32rem
  }
}

.analy-fv_cta_points .span2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .32em
}

@media screen and (max-width: 768px) {
  .analy-fv_cta_points .span2 {
    flex-direction: column;
    gap: 0
  }
}

.analy-fv_cta_points .span3 {
  font-size: 90%
}

.analy-fv_cta_points .span4 {
  font-size: 150%
}

.analy-fv_cta_points .span5 {
  font-size: 168%;
  font-weight: 600;
  line-height: 1.04
}

.analy-fv_cta_points sub {
  font-size: .1rem;
  font-weight: normal
}

.analy-fv_cta_btn {
  grid-template-columns: repeat(2, 3.6rem);
  gap: .2rem
}

@media screen and (max-width: 768px) {
  .analy-fv_cta_btn {
    grid-template-columns: 5.28rem
  }
}

.analy-fv_swiper {
  margin-top: .24rem
}

.analy-fv_note {
  padding: .08rem 5% .16rem;
  display: grid;
  place-content: center
}

.analy-sec {
  padding: var(--pt, 1.2rem) var(--pr, max(5%, (100% - 12rem) * 0.5)) var(--pb, 1.2rem) var(--pl, max(5%, (100% - 12rem) * 0.5))
}

.analy-sec_title {
  text-align: center;
  font-size: .24rem;
  line-height: 1.52;
  display: grid;
  gap: .08rem;
  white-space: nowrap
}

@media screen and (max-width: 768px) {
  .analy-sec_title {
    font-size: .35rem
  }
}

.analy-sec_title .slug {
  color: var(--color-blue);
  font-family: "Oswald", sans-serif;
  font-weight: normal;
  font-size: .2rem;
  letter-spacing: .2em;
  text-transform: uppercase
}

.analy-sec_title .large {
  font-size: .45rem
}

@media screen and (max-width: 768px) {
  .analy-sec_title .large {
    font-size: .55rem
  }
}

.analy-sec_title .normal .span1 {
  font-size: 182%
}

.analy-sec_title .normal .span2 {
  font-size: 125%
}

@media screen and (max-width: 768px) {
  .analy-sec_title .normal .span2 {
    font-size: 110%
  }
}

@media screen and (max-width: 768px) {
  .analy-sec_title .normal .span3 {
    font-size: 80%;
    line-height: 1.36
  }
}

.analy-sec_read {
  text-align: center;
  font-size: .2rem;
  font-weight: 500;
  line-height: 1.52;
  margin-top: .32rem
}

@media screen and (max-width: 768px) {
  .analy-sec_read {
    font-size: .3rem;
    margin-top: .64rem
  }
}

.analy-sec_swiper_logo {
  transition: .8s opacity
}

.analy-sec_swiper_logo.loading {
  opacity: 0
}

.analy-sec_swiper_logo .swiper-wrapper {
  transition-timing-function: linear
}

.analy-sec_swiper_logo .swiper-slide {
  width: 28.58rem
}

.analy-sec_swiper_logo .swiper-slide figure {
  margin: 0;
  width: auto
}

.analy-sec_swiper_content {
  width: min(13.4rem, 100%)
}

.analy-sec_swiper_content .swiper-wrapper {
  transition-timing-function: cubic-bezier(0.06, 0.43, 0.17, 1)
}

.analy-sec_swiper_content .swiper-slide {
  width: 12.8rem;
  padding: .4rem;
  height: auto
}

@media screen and (max-width: 768px) {
  .analy-sec_swiper_content .swiper-slide {
    width: 7.68rem;
    padding: .384rem
  }
}

.analy-sec_swiper_content .swiper-button-prev, .analy-sec_swiper_content .swiper-button-next {
  background: var(--color-blue) url("../img/icon_analy-arrow_2.svg") no-repeat 56% center/32%;
  width: .8rem;
  height: .8rem;
  border-radius: .08rem;
  margin-top: 0
}

@media screen and (max-width: 768px) {
  .analy-sec_swiper_content .swiper-button-prev, .analy-sec_swiper_content .swiper-button-next {
    top: 4.8rem
  }
}

.analy-sec_swiper_content .swiper-button-prev::after, .analy-sec_swiper_content .swiper-button-next::after {
  display: none
}

.analy-sec_swiper_content .swiper-button-prev {
  left: 0;
  transform: scaleX(-1) translateY(-50%)
}

@media screen and (max-width: 768px) {
  .analy-sec_swiper_content .swiper-button-prev {
    left: .12rem
  }
}

.analy-sec_swiper_content .swiper-button-next {
  right: 0;
  transform: translateY(-50%)
}

@media screen and (max-width: 768px) {
  .analy-sec_swiper_content .swiper-button-next {
    right: .12rem
  }
}

.analy-sec_swiper_content+.swiper-pagination {
  line-height: 0;
  position: static;
  margin-top: .24rem
}

.analy-sec_swiper_content+.swiper-pagination .swiper-pagination-bullet {
  width: .2rem;
  height: .2rem;
  margin: 0 .08rem !important;
  border: max(1px, min(0.02rem, 4px)) solid var(--color-blue);
  transition: .4s;
  position: relative;
  opacity: 1;
  background: none
}

.analy-sec_swiper_content+.swiper-pagination .swiper-pagination-bullet-active {
  background: var(--color-blue)
}

.analy-sec01 {
  --pr: 0;
  --pl: 0;
  position: relative;
  z-index: 1
}

.analy-sec01::before {
  content: "our business";
  font-family: "Oswald", sans-serif;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -16%);
  font-size: 2rem;
  line-height: 1.04;
  white-space: nowrap;
  text-transform: uppercase;
  color: #fff;
  z-index: -1
}

@media screen and (max-width: 768px) {
  .analy-sec01::before {
    font-size: 1.4rem
  }
}

.analy-sec01_case {
  background: #fff;
  border-radius: .08rem;
  box-shadow: var(--shadow);
  padding: .6rem 1rem;
  margin: .8rem auto 0;
  width: min(12rem, 90%)
}

@media screen and (max-width: 768px) {
  .analy-sec01_case {
    padding-inline: 5%
  }
}

.analy-sec01_case_video {
  display: grid
}

.analy-sec01_case_video h3 {
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 1em;
  pointer-events: none;
  font-weight: 500;
  font-size: .18rem;
  color: #fff;
  background: var(--color-blue);
  padding: 0 1em;
  z-index: 1;
  grid-row: 2;
  justify-self: center;
  margin-top: -.64em
}

@media screen and (max-width: 768px) {
  .analy-sec01_case_video h3 {
    flex-direction: column;
    font-size: .24rem;
    margin-top: .32rem
  }
}

.analy-sec01_case_video h3 .span2 {
  font-size: 132%
}

.analy-sec01_case_video iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 560/315
}

.analy-sec01_case_results {
  margin-top: .56rem;
  display: grid;
  grid-template-columns: 1fr 4.7rem;
  gap: .32rem;
  align-items: center
}

@media screen and (max-width: 768px) {
  .analy-sec01_case_results {
    grid-template-columns: auto;
    margin-top: .32rem
  }
}

.analy-sec01_case_results dl {
  display: grid;
  grid-template-columns: auto 1fr;
  font-size: .3rem;
  align-items: center;
  gap: 0 .32rem;
  white-space: nowrap
}

@media screen and (max-width: 768px) {
  .analy-sec01_case_results dl {
    font-size: .38rem
  }
}

.analy-sec01_case_results dt {
  text-align: center;
  color: #fff;
  font-weight: bold;
  background: var(--color-blue);
  line-height: 1.52;
  position: relative;
  padding: 0 .64em
}

.analy-sec01_case_results dt::before {
  content: "";
  width: .17rem;
  height: 100%;
  position: absolute;
  left: 100%;
  top: 0;
  margin-left: -0.01rem;
  background: var(--color-blue);
  clip-path: polygon(100% 50%, 0 0, 0 100%)
}

.analy-sec01_case_results dd {
  font-weight: 900;
  color: var(--color-blue);
  line-height: 1.28
}

.analy-sec01_case_results dd .span1 {
  font-size: 200%;
  font-weight: bold
}

.analy-sec01_case_results dd:first-of-type::after {
  content: "";
  background: url("../img/icon_analy-arrow_1.svg") no-repeat center/contain;
  width: .4rem;
  height: .4rem;
  display: inline-block;
  margin-left: .08rem
}

@media screen and (max-width: 768px) {
  .analy-sec01_case_results dd:first-of-type::after {
    width: .52rem;
    height: .52rem;
    margin-left: .2rem
  }
}

.analy-sec01_case_results p {
  background: var(--color-light);
  border-radius: .08rem;
  display: grid;
  place-content: center;
  font-weight: bold;
  padding: .24rem .32rem;
  position: relative
}

.analy-sec01_case_results p::before {
  content: "";
  width: .11rem;
  height: .11rem;
  background: var(--color-light);
  position: absolute;
  right: 100%;
  top: 50%;
  transform: translate(0.01rem, -50%);
  clip-path: polygon(100% 0, 0 50%, 100% 100%)
}

@media screen and (max-width: 768px) {
  .analy-sec01_case_results p::before {
    width: .16rem;
    height: .16rem;
    top: auto;
    bottom: 100%;
    right: 50%;
    transform: translate(50%, 0.01rem);
    clip-path: polygon(0 100%, 100% 100%, 50% 0)
  }
}

.volume {
  display: flex;
  justify-content: flex-end;
}

.analy-sec01_case_tips {
  border-top: 1px solid #ddd;
  margin-top: .48rem;
  padding-top: .16rem;
  display: flex;
  gap: .3rem;
  justify-content: center;
  align-items: center
}

@media screen and (max-width: 768px) {
  .analy-sec01_case_tips {
    flex-direction: column
  }
}

.analy-sec01_case_tips h4 {
  font-weight: 300;
  color: #ddd;
  font-size: .7rem;
  letter-spacing: .1em;
  line-height: 1.04
}

.analy-sec01_swiper {
  margin-top: 1.28rem
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper {
    margin-top: .64rem
  }
}

.analy-sec01_swiper_case {
  background: #fff;
  border-radius: .08rem;
  box-shadow: var(--shadow);
  padding-bottom: .48rem;
  position: relative;
  display: grid;
  gap: .48rem;
  place-content: start;
  place-items: center;
  height: 100%
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper_case {
    padding-bottom: .56rem;
    gap: .56rem
  }
}

.analy-sec01_swiper_case_header {
  display: grid;
  grid-template-columns: auto 1fr;
  width: min(10rem, 90%);
  gap: .48rem;
  align-items: center
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper_case_header {
    grid-template-columns: auto
  }
}

.analy-sec01_swiper_case_header h3 {
  grid-column: 1/3;
  text-align: center;
  color: #fff;
  background: var(--color-blue);
  border-radius: .08rem;
  margin-top: -0.2rem;
  font-size: .3rem;
  padding: .16em
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper_case_header h3 {
    grid-column: auto
  }
}

.analy-sec01_swiper_case_header_text {
  background: var(--color-light);
  border-radius: .08rem;
  padding: .12rem .3rem;
  position: relative
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper_case_header_text {
    padding: .32rem;
    min-height: 3.04rem;
    display: grid;
    align-content: center
  }
}

.analy-sec01_swiper_case_header_text::before {
  content: "";
  width: .11rem;
  height: .11rem;
  background: var(--color-light);
  position: absolute;
  right: 100%;
  top: 50%;
  transform: translate(0.01rem, -50%);
  clip-path: polygon(100% 0, 0 50%, 100% 100%)
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper_case_header_text::before {
    width: .16rem;
    height: .16rem;
    top: auto;
    bottom: 100%;
    right: 50%;
    transform: translate(50%, 0.01rem);
    clip-path: polygon(0 100%, 100% 100%, 50% 0)
  }
}

.analy-sec01_swiper_case_header figure {
  width: var(--logo-w)
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper_case_header figure {
    width: var(--logo-w-sp, auto);
    height: 1.2rem;
    margin-top: .24rem
  }

  .analy-sec01_swiper_case_header figure img {
    object-fit: contain;
    max-height: 100%
  }
}

.analy-sec01_swiper_case_header figure.logo1 {
  --logo-w: 4rem
}

.analy-sec01_swiper_case_header figure.logo2 {
  --logo-w: 2.5rem
}

.analy-sec01_swiper_case_header figure.logo3 {
  --logo-w: 4.03rem
}

.analy-sec01_swiper_case_header figure.logo4 {
  --logo-w: 3rem
}

.analy-sec01_swiper_case_content, .analy-sec01_swiper_case_footer {
  border-top: 1px solid #ddd;
  padding: .48rem .48rem 0;
  width: min(11rem, 90%);
  display: grid
}

.analy-sec01_swiper_case_content {
  grid-template-columns: 1fr auto 1fr;
  gap: .4rem
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper_case_content {
    grid-template-columns: auto;
    border: 1px;
    padding: 0
  }
}

.analy-sec01_swiper_case_content_arrow {
  background: var(--color-navy);
  width: .16rem;
  height: .2rem;
  align-self: center;
  clip-path: polygon(100% 50%, 0 0, 0 100%)
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper_case_content_arrow {
    justify-self: center;
    width: .3rem;
    height: .24rem;
    clip-path: polygon(0 0, 50% 100%, 100% 0)
  }
}

.analy-sec01_swiper_case_content dt {
  background: #dce4ef;
  text-align: center;
  font-weight: bold;
  border-radius: .04rem
}

.analy-sec01_swiper_case_content dd {
  position: relative;
  line-height: 1.52;
  padding-left: 1em;
  text-indent: -1em
}

.analy-sec01_swiper_case_content dd::before {
  content: "・"
}

.analy-sec01_swiper_case_content dd .span1 {
  color: var(--color-blue);
  font-weight: bold;
  font-size: 122%
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper_case_content dd .span1 {
    font-size: 100%
  }
}

.analy-sec01_swiper_case_content dd .span2 {
  font-size: 136%
}

.analy-sec01_swiper_case_content dl {
  display: grid;
  gap: .8em;
  place-content: start
}

.analy-sec01_swiper_case_content dl~dl dt {
  color: #fff;
  background: var(--color-blue)
}

.analy-sec01_swiper_case_footer {
  grid-template-columns: 1fr 1fr 4rem;
  gap: .48rem
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper_case_footer {
    grid-template-columns: repeat(2, 1fr);
    padding-left: 0;
    padding-right: 0;
    column-gap: .56rem
  }

  .analy-sec01_swiper_case_footer>*:nth-of-type(2n+1):last-of-type {
    grid-column: 1/3
  }
}

.analy-sec01_swiper_case_footer:has(>:nth-child(2):last-child) {
  grid-template-columns: 4.5rem 4.5rem;
  justify-content: space-between
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper_case_footer:has(>:nth-child(2):last-child) {
    grid-template-columns: 100%
  }
}

.analy-sec01_swiper_case_footer:has(>:nth-child(2):last-child) .analy-sec01_swiper_case_footer_table_content dl:first-of-type dd::after {
  width: 4.5rem
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper_case_footer:has(>:nth-child(2):last-child) .analy-sec01_swiper_case_footer_table_content dl:first-of-type dd::after {
    width: 6.22rem
  }
}

.analy-sec01_swiper_case_footer:has(>.graph4) {
  grid-template-columns: 3.2rem 1fr 4rem;
  gap: .36rem
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper_case_footer:has(>.graph4) {
    grid-template-columns: repeat(2, 1fr);
    gap: .48rem .56rem
  }
}

.analy-sec01_swiper_case_footer h4 {
  text-align: center;
  color: var(--color-blue);
  border: 1px solid;
  border-radius: 16em;
  font-size: 100%;
  font-weight: bold;
  white-space: nowrap;
  display: grid;
  place-content: center
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper_case_footer h4 .span1 {
    font-size: 85%;
    line-height: 1.36
  }
}

.analy-sec01_swiper_case_footer p.note {
  margin-top: 1em;
  font-size: .14rem;
  line-height: 1.52;
  text-align: right
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper_case_footer p.note {
    font-size: .16rem
  }
}

.analy-sec01_swiper_case_footer_graph {
  display: grid;
  align-content: start
}

.analy-sec01_swiper_case_footer_graph figure {
  margin-top: .52rem;
  justify-self: center
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper_case_footer_graph.graph2 figure {
    width: 4.5rem
  }
}

.analy-sec01_swiper_case_footer_graph.graph3 {
  grid-template-rows: auto 1fr
}

.analy-sec01_swiper_case_footer_graph.graph3 figure {
  margin-top: .3rem;
  align-self: end
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper_case_footer_graph.graph4 h4 {
    min-height: 2.56em
  }
}

.analy-sec01_swiper_case_footer_graph.graph4 figure {
  margin-top: .3rem
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper_case_footer_graph.graph4 figure {
    margin-top: .2rem
  }
}

.analy-sec01_swiper_case_footer_graph.graph4+.graph4 figure {
  justify-self: center;
  width: 1.6rem;
  margin-top: .48rem
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper_case_footer_graph.graph4+.graph4 figure {
    width: 2.3rem;
    margin-top: .3rem
  }
}

.analy-sec01_swiper_case_footer_table_content {
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: .14rem;
  font-size: .16rem;
  margin-top: .3rem;
  line-height: 1.6;
  white-space: nowrap
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper_case_footer_table_content {
    font-size: .26rem;
    column-gap: .32rem
  }
}

.analy-sec01_swiper_case_footer_table_content dt {
  background: #dce4ef;
  border-radius: .04rem;
  text-align: center;
  padding: 0 .32em
}

.analy-sec01_swiper_case_footer_table_content dd {
  display: grid;
  align-items: center
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper_case_footer_table_content dd {
    font-size: .23rem
  }
}

.analy-sec01_swiper_case_footer_table_content dl {
  display: grid;
  grid-template-rows: auto 1fr 1fr 1fr
}

.analy-sec01_swiper_case_footer_table_content dl:first-of-type dd {
  position: relative
}

.analy-sec01_swiper_case_footer_table_content dl:first-of-type dd::after {
  content: "";
  width: 4rem;
  height: 1px;
  background: #ccc;
  position: absolute;
  left: 0;
  bottom: 0
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper_case_footer_table_content dl:first-of-type dd::after {
    width: 6.22rem
  }
}

.analy-sec01_swiper_case_footer_table_content dl:nth-of-type(2) dd {
  font-weight: bold;
  text-align: right;
  font-size: .32rem
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper_case_footer_table_content dl:nth-of-type(2) dd {
    font-size: .48rem
  }
}

.analy-sec01_swiper_case_footer_table_content dl:nth-of-type(3) dd {
  display: flex;
  justify-content: center;
  font-weight: bold;
  color: var(--color-blue);
  font-size: .22rem;
  gap: .16em
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper_case_footer_table_content dl:nth-of-type(3) dd {
    font-size: .38rem;
    line-height: 1.2
  }
}

.analy-sec01_swiper_case_footer_table_content dl:nth-of-type(3) dd::before, .analy-sec01_swiper_case_footer_table_content dl:nth-of-type(3) dd::after {
  content: "";
  background: url("../img/img_analy-deco_1.svg") no-repeat center/contain;
  width: .16rem;
  height: .38rem
}

@media screen and (max-width: 768px) {
  .analy-sec01_swiper_case_footer_table_content dl:nth-of-type(3) dd::before, .analy-sec01_swiper_case_footer_table_content dl:nth-of-type(3) dd::after {
    width: .26rem;
    height: .66rem
  }
}

.analy-sec01_swiper_case_footer_table_content dl:nth-of-type(3) dd::after {
  transform: scaleX(-1)
}

.analy-sec01_swiper_case_footer_table_content dl:nth-of-type(3) dd .span2 {
  font-size: 182%
}

.btn_case {
    max-width: 500px;
    margin: 30px auto 0;
    width: 80%;
	border: none;
/*     background-color: var(--btn-bgc, var(--color-blue)); */
    background-image: none;
}

.analy-sec01_proven {
  padding-top: 1.28rem
}

.analy-sec01_proven_content {
  background: #fff;
  border-radius: .08rem;
  box-shadow: var(--shadow);
  padding: .48rem;
  margin: .56rem auto 0;
  width: min(12rem, 90%);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .48rem;
  white-space: nowrap
}

@media screen and (max-width: 768px) {
  .analy-sec01_proven_content {
    grid-template-columns: auto
  }
}

.analy-sec01_proven_content dl {
  display: grid;
  gap: .2rem;
  place-content: start
}

.analy-sec01_proven_content dl:nth-of-type(2n+1):last-of-type {
  grid-column: 1/3
}

@media screen and (max-width: 768px) {
  .analy-sec01_proven_content dl:nth-of-type(2n+1):last-of-type {
    grid-column: auto
  }
}

.analy-sec01_proven_content dl:nth-of-type(2n+1):last-of-type dd {
  width: min(8.6rem, 100%);
  justify-self: center
}

.analy-sec01_proven_content dt {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  gap: 1em
}

.analy-sec01_proven_content dt::before, .analy-sec01_proven_content dt::after {
  content: "";
  flex: auto;
  background: url("../img/img_analy-bg_pat_1.png");
  height: .8em
}

.analy-sec02 {
  background: #fff url("../img/img_analy-bg_pat_2.png") repeat left top/1rem
}

.analy-sec02_step {
  margin-top: .96rem
}

.analy-sec02_step h3 {
  display: grid;
  text-align: center;
  font-size: .32rem;
  line-height: 1.52;
  white-space: nowrap
}

@media screen and (max-width: 768px) {
  .analy-sec02_step h3 {
    font-size: .38rem
  }
}

.analy-sec02_step h3 .num {
  text-transform: uppercase;
  font-size: .7rem;
  font-weight: 500;
  line-height: 1.28
}

.analy-sec02_step h3 .span1 {
  font-size: 157%;
  font-weight: normal;
  margin-left: .064em
}

.analy-sec02_step>picture {
  margin-top: .64rem
}

.analy-sec02_step_level {
  margin-top: .64rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .4rem .3rem
}

@media screen and (max-width: 768px) {
  .analy-sec02_step_level {
    grid-template-columns: auto
  }
}

.analy-sec02_step_level_content {
  position: relative;
  background: #fff;
  border-radius: .08rem;
  border: max(1px, min(0.03rem, 6px)) solid var(--color-blue);
  padding: .48rem .3rem .32rem;
  display: grid;
  place-items: center;
  align-content: start;
  gap: .16rem
}

@media screen and (max-width: 768px) {
  .analy-sec02_step_level_content {
    place-items: start
  }
}

.analy-sec02_step_level_content figure {
  width: 2.5rem;
  position: relative;
  z-index: 1
}

@media screen and (max-width: 768px) {
  .analy-sec02_step_level_content figure {
    grid-row: 1/3;
    align-self: center
  }
}

.analy-sec02_step_level_content h4 {
  color: var(--color-blue);
  line-height: 1.52;
  font-size: .22rem
}

@media screen and (max-width: 768px) {
  .analy-sec02_step_level_content h4 {
    grid-column: 2;
    font-size: .32rem
  }
}

.analy-sec02_step_level_content h4 .num {
  position: absolute;
  left: 0;
  top: 0;
  background: var(--color-blue);
  border-radius: .03rem 0 .3rem 0;
  display: grid;
  place-content: center;
  place-items: center;
  color: #fff;
  font-size: .52rem;
  font-weight: normal;
  width: 1.1rem;
  height: 1.1rem;
  line-height: 1.12
}

.analy-sec02_step_level_content h4 .num img {
  width: .7rem
}

@media screen and (max-width: 768px) {
  .analy-sec02_step_level_content p {
    grid-column: 2
  }
}

.analy-sec02_step_expert {
  background: #fff;
  margin-top: .6rem;
  border-radius: .08rem;
  padding: .48rem;
  box-shadow: var(--shadow)
}

@media screen and (max-width: 768px) {
  .analy-sec02_step_expert {
    padding: .48rem .4rem;
    margin-top: .72rem
  }
}

.analy-sec02_step_expert h4 {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  gap: .64em;
  font-size: .32rem;
  line-height: 1.52
}

.analy-sec02_step_expert h4::before, .analy-sec02_step_expert h4::after {
  content: "";
  flex: auto;
  background: url("../img/img_analy-bg_pat_1.png");
  height: .64em
}

.analy-sec02_step_expert_list {
  width: min(9rem, 100%);
  margin: .48rem auto 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: .3rem;
  white-space: nowrap;
  text-align: center
}

@media screen and (max-width: 768px) {
  .analy-sec02_step_expert_list {
    grid-template-columns: repeat(3, 1fr);
    font-size: .24rem;
    line-height: 1.36
  }
}

.analy-sec02_step_expert_list img {
  background: var(--color-light);
  border-radius: .3rem;
  border: .08rem solid hsla(0, 0%, 100%, .4);
  width: 1.4rem;
  height: 1.4rem;
  object-fit: contain;
  padding: 5.6%
}

@media screen and (max-width: 768px) {
  .analy-sec02_step_expert_list img {
    width: 1.9rem;
    height: 1.9rem
  }
}

.analy-sec02_step_expert_list li {
  display: grid;
  place-items: center;
  align-content: start;
  gap: .08rem
}

@media screen and (max-width: 768px) {
  .analy-sec02_step_expert_list li:nth-child(3n+1):last-of-type {
    grid-column: 1/4
  }
}

.analy-sec02_step_expert_list2 {
  margin-top: .48rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .24rem .48rem
}

@media screen and (max-width: 768px) {
  .analy-sec02_step_expert_list2 {
    grid-template-columns: auto
  }
}

.analy-sec02_step_expert_list2_content {
  display: grid;
  align-content: start;
  gap: .1rem
}

.analy-sec02_step_expert_list2_content:nth-of-type(2n+1):last-of-type {
  grid-column: 1/3
}

@media screen and (max-width: 768px) {
  .analy-sec02_step_expert_list2_content:nth-of-type(2n+1):last-of-type {
    grid-column: auto
  }
}

.analy-sec02_step_expert_list2_content h5 {
  text-align: center;
  background: var(--color-light);
  border-radius: .04rem;
  grid-column: 1/3;
  font-size: 100%
}

.analy-sec02_step_expert_list2_content ul {
  justify-self: center;
  grid-column: 1/3
}

.analy-sec02_step_expert_list2_content ul+ul, .analy-sec02_step_expert_list2_content ul:has(+ul) {
  grid-column: auto
}

.analy-sec02_step_expert_list2_content li {
  padding-left: 1em;
  text-indent: -1em
}

.analy-sec02_step_expert_list2_content li::before {
  content: "・"
}

.analy-sec04 {
  background: #f5f5f5
}

.analy-sec04_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .24rem .3rem;
  margin-top: .64rem
}

@media screen and (max-width: 768px) {
  .analy-sec04_list {
    grid-template-columns: auto
  }
}

.analy-sec04_list img {
  width: 1.5rem;
  justify-self: center;
  margin-top: -0.9rem
}

@media screen and (max-width: 768px) {
  .analy-sec04_list img {
    margin: 0
  }
}

.analy-sec04_list li {
  display: grid;
  background: #fff;
  border-radius: .08rem;
  border: max(1px, min(0.03rem, 6px)) solid var(--color-blue);
  text-align: center;
  align-content: end;
  gap: .16rem;
  padding: 0 .3rem .16rem;
  margin-top: .9rem
}

@media screen and (max-width: 768px) {
  .analy-sec04_list li {
    grid-template-columns: auto 1fr;
    align-items: center;
    padding: .32rem;
    gap: 0;
    margin: 0
  }
}

.analy-sec04_list li:first-child {
  gap: 0
}

.analy-sec04_results {
  margin-top: .72rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .4rem .96rem
}

@media screen and (max-width: 768px) {
  .analy-sec04_results {
    grid-template-columns: auto
  }
}

.analy-sec04_results h3 {
  grid-column: 1/3;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  gap: .64em;
  font-size: .32rem;
  line-height: 1.52
}

@media screen and (max-width: 768px) {
  .analy-sec04_results h3 {
    grid-column: auto;
    font-size: .38rem
  }
}

.analy-sec04_results h3::before, .analy-sec04_results h3::after {
  content: "";
  flex: auto;
  background: url("../img/img_analy-bg_pat_3.png");
  height: .64em
}

.analy-sec04_results_content {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  font-weight: bold;
  font-size: .2rem;
  line-height: 1.52;
  white-space: nowrap
}

@media screen and (max-width: 768px) {
  .analy-sec04_results_content {
    font-size: .3rem
  }
}

.analy-sec04_results_content dd {
  font-size: 150%
}

@media screen and (max-width: 768px) {
  .analy-sec04_results_content dd {
    font-size: 134%
  }
}

.analy-sec04_results_content dd .ff_roboto {
  font-weight: 500
}

.analy-sec04_results_content dd .span1 {
  font-size: 167%;
  line-height: 1.04
}

@media screen and (max-width: 768px) {
  .analy-sec04_results_content dd .span1 {
    font-size: 160%
  }
}

.analy-sec04_results_content figure {
  width: 3rem
}

@media screen and (max-width: 768px) {
  .analy-sec04_results_content figure {
    width: 3.72rem
  }
}

.analy-sec05 {
  background: #fff url("../img/img_analy-bg_pat_2.png") repeat left top/1rem
}

.analy-sec05_title {
  margin-top: 1.12rem
}

.analy-sec05_title p {
  margin-top: .16rem
}

.analy-sec05_content {
  margin-top: .8rem
}

.analy-sec05_content_header {
  display: grid;
  gap: .32rem .48rem;
  align-items: center
}

.analy-sec05_content_header:has(>ul) h3 {
  grid-column: 1/3
}

@media screen and (max-width: 768px) {
  .analy-sec05_content_header:has(>ul) h3 {
    grid-column: auto
  }
}

.analy-sec05_content_header:has(>ul) p {
  justify-self: end
}

@media screen and (max-width: 768px) {
  .analy-sec05_content_header:has(>ul) p {
    justify-self: center
  }
}

.analy-sec05_content_header h3 {
  color: #fff;
  background: var(--color-blue);
  font-size: .24rem;
  border-radius: .04rem;
  text-align: center;
  padding: .32em 0
}

@media screen and (max-width: 768px) {
  .analy-sec05_content_header h3 {
    font-size: .35rem;
    padding: 0
  }
}

.analy-sec05_content_header p {
  font-weight: 500;
  justify-self: center
}

@media screen and (max-width: 768px) {
  .analy-sec05_content_header p {
    font-size: 130%;
    text-align: center
  }
}

.analy-sec05_content_header p .span1 {
  font-size: 134%
}

@media screen and (max-width: 768px) {
  .analy-sec05_content_header p .span1 {
    font-size: 100%
  }
}

.analy-sec05_content_header ul {
  line-height: 1.52;
  display: grid;
  gap: .12rem;
  justify-self: start
}

@media screen and (max-width: 768px) {
  .analy-sec05_content_header ul {
    justify-self: center
  }
}

.analy-sec05_content_header li {
  position: relative;
  display: flex;
  align-items: center;
  gap: .12rem
}

.analy-sec05_content_header li::before {
  content: "";
  width: .34rem;
  height: .34rem;
  border-radius: .04rem;
  background: #fff;
  border: max(1px, min(0.03rem, 6px)) solid var(--color-blue)
}

.analy-sec05_content_header li.icon1::after {
  content: "";
  width: .2rem;
  height: .2rem;
  background: var(--color-blue);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-0.17rem);
  clip-path: polygon(0 0, 0% 100%, 100% 0);
  border-top-left-radius: .04rem
}

.analy-sec05_content_header li.icon2::before {
  border-color: #dce4ef;
  border-width: max(1px, min(0.04rem, 8px))
}

.analy-sec05_content_header li.icon3::before {
  background: var(--color-blue)
}

.analy-sec05_content_header li.icon4::before {
  background: #dce4ef;
  border-color: #dce4ef
}

.analy-sec05_content_team {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .24rem .3rem;
  margin-top: .56rem
}

@media screen and (max-width: 768px) {
  .analy-sec05_content_team {
    grid-template-columns: auto
  }
}

.analy-sec05_content_team dl {
  display: grid;
  align-content: start;
  place-items: center;
  line-height: 1.52;
  gap: .2rem;
  background: #fff;
  border: .05rem solid #dce4ef;
  border-radius: .08rem;
  padding: .3rem
}

@media screen and (max-width: 768px) {
  .analy-sec05_content_team dl {
    place-items: start;
    align-items: center;
    justify-content: start;
    padding: .4rem .3rem
  }
}

.analy-sec05_content_team dl.all_case {
  border-color: var(--color-blue);
  border-width: max(1px, min(0.03rem, 6px));
  position: relative
}

.analy-sec05_content_team dl.all_case::before {
  content: "";
  width: .4rem;
  height: .4rem;
  background: var(--color-blue);
  position: absolute;
  left: -1px;
  top: -1px;
  clip-path: polygon(0 0, 0% 100%, 100% 0);
  border-top-left-radius: .04rem
}

.analy-sec05_content_team dt {
  font-weight: bold
}

@media screen and (max-width: 768px) {
  .analy-sec05_content_team dt {
    grid-column: 2
  }
}

.analy-sec05_content_team dt:has(img) {
  width: 1.1rem
}

@media screen and (max-width: 768px) {
  .analy-sec05_content_team dt:has(img) {
    grid-column: 1;
    grid-row: 1/3
  }
}

.analy-sec05_content_team ul {
  display: grid;
  gap: .64em;
  margin-inline: -.64em
}

@media screen and (max-width: 768px) {
  .analy-sec05_content_team ul {
    margin-inline: 0
  }
}

.analy-sec05_content_team li {
  padding-left: 1em;
  text-indent: -1em
}

.analy-sec05_content_team li::before {
  content: "・"
}

.analy-sec05_content_support {
  width: min(11rem, 100%);
  margin: .4rem auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .48rem .4rem
}

@media screen and (max-width: 768px) {
  .analy-sec05_content_support {
    margin-top: .64rem;
    grid-template-columns: repeat(2, 1fr);
    gap: .5rem .28rem
  }
}

.analy-sec05_content_support dt {
  text-align: center;
  background: var(--color-light);
  border-radius: .04rem;
  font-weight: bold;
  margin-bottom: .64em
}

.analy-sec05_content_support dd {
  padding-left: 1em;
  text-indent: -1em
}

.analy-sec05_content_support dd::before {
  content: "・"
}

.analy-sec05_content>picture {
  margin-top: .64rem
}

.analy-sec06 {
  --pr: max(2%, calc((100% - 12rem) * .5));
  --pl: max(2%, calc((100% - 12rem) * .5));
  overflow: hidden
}

.analy-sec06_content {
  margin-top: .8rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .3rem .6rem;
  position: relative;
  padding: .8rem 1.2rem
}

@media screen and (max-width: 768px) {
  .analy-sec06_content {
    margin-top: .3rem;
    padding: .72rem .5rem;
    gap: .16rem .24rem
  }
}

.analy-sec06_content dl {
  background: #fff;
  border-radius: .08rem;
  padding: .3rem
}

@media screen and (max-width: 768px) {
  .analy-sec06_content dl {
    padding: .16rem .08rem
  }
}

.analy-sec06_content dl:nth-of-type(2n+1):last-of-type {
  grid-column: 2
}

.analy-sec06_content dt {
  text-align: center;
  font-weight: bold
}

.analy-sec06_content dt:first-child {
  font-size: .2rem
}

@media screen and (max-width: 768px) {
  .analy-sec06_content dt:first-child {
    font-size: .26rem
  }
}

.analy-sec06_content dt+dt {
  background: #dce4ef;
  border-radius: .04rem;
  margin-top: .16rem
}

@media screen and (max-width: 768px) {
  .analy-sec06_content dt+dt {
    font-size: .22rem
  }
}

.analy-sec06_content dt small {
  display: block;
  color: inherit;
  font-weight: 500
}

@media screen and (max-width: 768px) {
  .analy-sec06_content dt small {
    font-size: .2rem;
    line-height: 1.28;
    padding-bottom: .32em
  }
}

.analy-sec06_content dt:has(>img) {
  width: 2.2rem;
  margin-inline: auto
}

@media screen and (max-width: 768px) {
  .analy-sec06_content dt:has(>img) {
    width: 1.52rem
  }
}

.analy-sec06_content dt:has(>img)+dt {
  background: var(--color-blue);
  color: #fff;
  padding: .32em 0
}

@media screen and (max-width: 768px) {
  .analy-sec06_content dt:has(>img)+dt {
    padding: 0
  }
}

.analy-sec06_content dd {
  padding-left: 1em;
  text-indent: -1em
}

.analy-sec06_content dd::before {
  content: "・"
}

@media screen and (max-width: 768px) {
  .analy-sec06_content dd {
    font-size: .24rem
  }
}

.analy-sec06_content dd:first-of-type {
  margin-top: .16rem
}

.analy-sec06_content_vertical, .analy-sec06_content_horizontal {
  font-weight: bold;
  white-space: nowrap;
  display: flex;
  justify-content: space-between
}

.analy-sec06_content_vertical::before, .analy-sec06_content_horizontal::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%)
}

.analy-sec06_content_vertical li, .analy-sec06_content_horizontal li {
  border-radius: .04rem;
  width: .8rem;
  text-align: center
}

.analy-sec06_content_vertical li::before, .analy-sec06_content_horizontal li::before {
  content: "";
  width: .1rem;
  height: .1rem;
  background: var(--color-blue);
  border-radius: 50%;
  position: absolute
}

.analy-sec06_content_vertical {
  position: absolute;
  height: 100%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  flex-direction: column
}

.analy-sec06_content_vertical::before {
  width: max(1px, min(0.02rem, 4px));
  height: calc(100% - 1rem);
  background: repeating-linear-gradient(0deg, var(--color-blue), var(--color-blue) 0.03rem, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 0.06rem) no-repeat left bottom/100% 100%
}

@media screen and (max-width: 768px) {
  .analy-sec06_content_vertical::before {
    height: calc(100% - 1.2rem);
    width: 1px
  }
}

.analy-sec06_content_vertical li {
  background: var(--color-blue);
  color: #fff
}

@media screen and (max-width: 768px) {
  .analy-sec06_content_vertical li {
    width: 1rem
  }
}

.analy-sec06_content_vertical li::before {
  left: 50%;
  transform: translateX(-50%);
  top: calc(100% - .55rem)
}

@media screen and (max-width: 768px) {
  .analy-sec06_content_vertical li::before {
    top: calc(100% - .64rem)
  }
}

.analy-sec06_content_vertical li+li {
  background: #c7d0e0;
  color: inherit
}

.analy-sec06_content_vertical li+li::before {
  top: auto;
  bottom: calc(100% - .55rem);
  border-radius: 0;
  clip-path: polygon(0 100%, 100% 100%, 50% 0)
}

@media screen and (max-width: 768px) {
  .analy-sec06_content_vertical li+li::before {
    bottom: calc(100% - .64rem)
  }
}

.analy-sec06_content_horizontal {
  grid-column: 1/3;
  margin: 0 -1.2rem;
  position: relative
}

@media screen and (max-width: 768px) {
  .analy-sec06_content_horizontal {
    margin: 0 -0.5rem
  }
}

.analy-sec06_content_horizontal::before {
  width: 10rem;
  height: max(1px, min(0.02rem, 4px));
  background: repeating-linear-gradient(90deg, var(--color-blue), var(--color-blue) 0.03rem, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 0.06rem) no-repeat left bottom/100% 100%
}

@media screen and (max-width: 768px) {
  .analy-sec06_content_horizontal::before {
    width: calc(100% - 1rem);
    height: 1px
  }
}

.analy-sec06_content_horizontal li {
  background: #c7d0e0;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%)
}

@media screen and (max-width: 768px) {
  .analy-sec06_content_horizontal li {
    writing-mode: vertical-rl;
    width: .44rem;
    height: 1rem
  }
}

.analy-sec06_content_horizontal li::before {
  left: .95rem;
  top: 50%;
  transform: translateY(-50%)
}

@media screen and (max-width: 768px) {
  .analy-sec06_content_horizontal li::before {
    left: .48rem
  }
}

.analy-sec06_content_horizontal li+li {
  background: var(--color-blue);
  color: #fff;
  left: auto;
  right: 0
}

.analy-sec06_content_horizontal li+li::before {
  left: auto;
  right: .95rem;
  border-radius: 0;
  clip-path: polygon(0 0, 0% 100%, 100% 50%)
}

@media screen and (max-width: 768px) {
  .analy-sec06_content_horizontal li+li::before {
    right: .48rem
  }
}

.analy-sec07 {
  background: #fff
}

.analy-sec07>picture {
  margin-top: .8rem
}

.analy-sec08 {
  background: #f5f5f5;
  --pr: max(5%, calc((100% - 10rem) * .5));
  --pl: max(5%, calc((100% - 10rem) * .5))
}

.analy-sec08 h3, .analy-sec08_a {
  display: grid;
  gap: .64em 0;
  grid-template-columns: auto 1fr auto
}

.analy-sec08 h3::before, .analy-sec08_a::before {
  display: grid;
  place-content: center;
  font-family: "Oswald", sans-serif;
  font-size: .34rem;
  line-height: 1.04;
  margin-right: .3rem;
  width: .6rem
}

.analy-sec08 h3 {
  margin-top: .8rem;
  font-weight: normal;
  font-size: 100%;
  background: #fff;
  align-items: center;
  box-shadow: var(--shadow);
  border-radius: .08rem
}

.analy-sec08 h3::before {
  content: "Q";
  color: #fff;
  background: var(--color-blue);
  min-height: .6rem;
  height: 100%;
  border-radius: .08rem 0 0 .08rem
}

@media screen and (max-width: 768px) {
  .analy-sec08 h3 .span1 {
    padding: .32em 0
  }
}

.analy-sec08 h3~h3 {
  margin-top: .2rem
}

.analy-sec08_a::before {
  content: "A";
  color: var(--color-blue);
  border-radius: .08rem;
  border: max(1px, min(0.03rem, 6px)) solid;
  height: .6rem;
  margin-top: .2rem;
  margin-bottom: .2rem
}

.analy-sec08_a p {
  grid-column: 2;
  align-self: center
}

.analy-sec08_a p:first-child {
  margin-top: .2rem
}

.analy-sec08_a p:last-child {
  margin-bottom: .2rem
}

.analy-sec08 .toggle_btn.is_js {
  cursor: pointer;
  position: relative
}

.analy-sec08 .toggle_btn.is_js .toggle_icon {
  width: .6rem;
  height: .6rem;
  transition: .4s;
  display: grid;
  place-content: center
}

.analy-sec08 .toggle_btn.is_js .toggle_icon::before {
  content: "";
  width: .08rem;
  height: .08rem;
  background: var(--color-blue);
  clip-path: polygon(0 0, 50% 100%, 100% 0)
}

@media screen and (max-width: 768px) {
  .analy-sec08 .toggle_btn.is_js .toggle_icon::before {
    width: .16rem;
    height: .16rem
  }
}

.analy-sec08 .toggle_btn.is_js.is_open .toggle_icon {
  transform: scale(-1, -1)
}

.analy-sec08 .toggle_panel.is_js {
  overflow: hidden;
  transition: .4s
}

.analy-sec08 .toggle_panel.is_js>*, .analy-sec08 .toggle_panel.is_js::before {
  opacity: 0;
  transition: .8s
}

.analy-sec08 .toggle_panel.is_js.is_open>*, .analy-sec08 .toggle_panel.is_js.is_open::before {
  opacity: 1
}

.analy-download>p, .analy-meeting>p {
  text-align: center;
  margin-top: 1em
}

.analy-download_content, .analy-meeting_content {
  display: grid;
  margin-top: .7rem;
  align-items: start
}

@media screen and (max-width: 768px) {
  .analy-download_content, .analy-meeting_content {
    margin-top: 1.2rem
  }
}

.analy-download_content_detail, .analy-meeting_content_detail {
  background: #fff;
  display: grid;
  gap: .32rem;
  place-items: center
}

.analy-download_content_detail h3, .analy-meeting_content_detail h3 {
  color: #fff;
  font-size: .24rem;
  background: var(--color-blue);
  border-radius: 16em;
  padding: .24em .48rem;
  position: relative
}

@media screen and (max-width: 768px) {
  .analy-download_content_detail h3, .analy-meeting_content_detail h3 {
    font-size: .35rem
  }
}

.analy-download_content_detail h3::before, .analy-meeting_content_detail h3::before {
  content: "";
  width: .11rem;
  height: .11rem;
  background: var(--color-blue);
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translate(-50%, -0.01rem);
  clip-path: polygon(0 0, 50% 100%, 100% 0)
}

.analy-download_content_detail ul, .analy-meeting_content_detail ul {
  font-size: .2rem
}

@media screen and (max-width: 768px) {
  .analy-download_content_detail ul, .analy-meeting_content_detail ul {
    font-size: .3rem
  }
}

.analy-download_content_detail li, .analy-meeting_content_detail li {
  position: relative;
  padding-left: 1em
}

.analy-download_content_detail li::before, .analy-meeting_content_detail li::before {
  content: "";
  width: .48em;
  height: .48em;
  border: max(1px, min(0.02rem, 4px)) solid var(--color-blue);
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: .64em
}

.analy-download_content_detail p, .analy-meeting_content_detail p {
  width: min(4.26rem, 100%)
}

@media screen and (max-width: 768px) {
  .analy-download_content_detail p, .analy-meeting_content_detail p {
    width: min(5.32rem, 100%)
  }
}

.analy-download_content {
  grid-template-columns: repeat(2, 1fr);
  gap: .88rem 1rem
}

@media screen and (max-width: 768px) {
  .analy-download_content {
    grid-template-columns: auto
  }
}

.analy-download_content_detail {
  padding-bottom: .3rem
}

@media screen and (max-width: 768px) {
  .analy-download_content_detail {
    padding-bottom: .4rem
  }
}

.analy-download_content_detail figure {
  width: min(4.9rem, 100%);
  margin-top: -0.3rem
}

@media screen and (max-width: 768px) {
  .analy-download_content_detail figure {
    width: min(6.12rem, 100%);
    margin-top: -0.38rem
  }
}

.analy-meeting_content {
  width: min(10rem, 100%);
  margin-inline: auto
}

.analy-meeting_content_detail {
  grid-template-columns: 1fr 4.26rem;
  padding: .3rem
}

@media screen and (max-width: 768px) {
  .analy-meeting_content_detail {
    grid-template-columns: auto;
    padding: .4rem 0
  }
}

.analy-meeting_content_detail h3, .analy-meeting_content_detail ul {
  grid-column: 1
}

.analy-meeting_content_detail h3 {
  align-self: end
}

.analy-meeting_content_detail ul {
  grid-column: 1;
  align-self: start
}

.analy-meeting_content_detail p {
  grid-column: 2;
  grid-row: 1/3
}

@media screen and (max-width: 768px) {
  .analy-meeting_content_detail p {
    grid-column: auto;
    grid-row: auto
  }
}

.analy-thanks {
  --pr: max(10%, calc((100% - 12rem) * .5));
  --pl: max(10%, calc((100% - 12rem) * .5));
  display: grid;
  gap: .32rem;
  place-content: center;
  text-align: center;
  flex: auto
}

.analy-thanks h2 {
  font-size: .32rem;
  line-height: 1.52
}

@media screen and (max-width: 768px) {
  .analy-thanks h2 {
    font-size: .34rem
  }
}

.analy-thanks_text {
  text-align: left;
  width: min(8rem, 100%);
  justify-self: center
}

.analy-thanks_text>*+* {
  margin-top: 1.6em
}

.analy-thanks_text hr {
  background: #ccc;
  height: 1px
}

.analy-thanks_text li {
  padding-left: 1em;
  text-indent: -1em
}

.analy-thanks_text li::before {
  content: "・"
}

.analy-thanks_text_footer {
  background: #edf2fa;
  border-radius: .08rem;
  padding: .24rem .48rem
}

@media screen and (max-width: 768px) {
  .analy-thanks_text_footer {
    padding: .24rem
  }
}

.analy-thanks_text_footer>*+* {
  margin-top: 1em
}

.analy-thanks .btn_normal {
  margin: .64rem auto 0;
  width: 6rem
}

@media screen and (max-width: 768px) {
  .analy-thanks .btn_normal {
    width: auto
  }
}