@charset 'UTF-8';

:root {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height: 100%
}

*,
:after,
:before {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
  border-width: 0;
  text-decoration: none
}

:after,
:before {
  text-decoration: inherit;
  vertical-align: inherit
}

* {
  margin: 0;
  padding: 0
}

background-size contain {
  background-repeat: no-repeat
}

body {
  font-size: 1.4rem;
  line-height: 1;
  font-weight: 200;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

audio:not([controls]) {
  display: none;
  height: 0
}

hr {
  overflow: visible;
  height: 0;
  color: inherit;
  -webkit-box-sizing: content-box;
  box-sizing: content-box
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
picture,
section,
summary {
  display: block
}

summary {
  display: list-item
}

small {
  font-size: 80%
}

[hidden],
template {
  display: none
}

abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none
}

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects
}

a:active,
a:hover {
  outline-width: 0
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace
}

b,
strong {
  font-weight: bolder
}

dfn {
  font-style: italic
}

mark {
  background-color: #ff0;
  color: #000
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}

sub {
  bottom: -0.15em
}

sup {
  top: -0.5em
}

li {
  list-style: none;
  list-style-position: inside
}

input {
  border-radius: 0;
  -webkit-appearance: none
}

[role=button],
[type=button],
[type=reset],
[type=submit],
button {
  cursor: pointer
}

[disabled] {
  cursor: default
}

[type=number] {
  width: auto
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
  border-radius: 0
}

textarea {
  overflow: auto;
  resize: vertical;
  vertical-align: top;
  -webkit-user-select: auto;
  -moz-user-select: auto;
  -ms-user-select: auto;
  user-select: auto
}

button,
input,
optgroup,
select,
textarea {
  font: inherit
}

optgroup {
  font-weight: bold
}

button {
  overflow: visible
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: 0;
  padding: 0
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button:-moz-focusring {
  outline: 1px dotted ButtonText
}

[type=reset],
[type=submit],
button,
html [type=button] {
  -webkit-appearance: button
}

button,
select {
  text-transform: none
}

button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
  color: inherit
}

:focus {
  outline: none;
  background-color: transparent
}

:disabled {
  pointer-events: none
}

:-webkit-autofill {
  -webkit-transition: transparent 5000s ease-in-out 0s !important;
  -o-transition: transparent 5000s ease-in-out 0s !important;
  transition: transparent 5000s ease-in-out 0s !important
}

select {
  -moz-appearance: none;
  -webkit-appearance: none
}

select::-ms-expand {
  display: none
}

select::-ms-value {
  color: currentColor
}

[tabindex="-1"]:focus {
  outline: none
}

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}

[type=search],
[type=text] {
  font-family: initial;
  line-height: 100%
}

[type=checkbox],
[type=radio] {
  display: none
}

img {
  border-style: none
}

progress {
  vertical-align: baseline
}

svg:not(:root) {
  overflow: hidden
}

audio,
canvas,
progress,
video {
  display: inline-block
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

caption,
td,
th {
  text-align: left;
  word-break: break-all
}

@media screen {
  [hidden~=screen] {
    display: inherit
  }

  [hidden~=screen]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important
  }
}

[aria-busy=true] {
  cursor: progress
}

[aria-controls] {
  cursor: pointer
}

[aria-disabled] {
  cursor: default
}

::-moz-selection {
  background-color: #b3d4fc;
  color: #000;
  text-shadow: none
}

::selection {
  background-color: #b3d4fc;
  color: #000;
  text-shadow: none
}

body {
  font-family: YakuHanJP, 'Noto Sans JP', sans-serif;
  font-size: min(1.810344827586207vw, 21px);
  font-weight: 500;
  line-height: 1.619047619047619;
  color: #102338;
  position: relative;
  width: 100%;
  height: 100%;
  margin: auto;
  overflow-x: hidden
}

body.-drawer {
  overflow-y: hidden
}

a {
  color: #102338;
  text-decoration: none;
  word-break: break-all
}

a.is-call {
  pointer-events: none
}

.is-hover {
  cursor: pointer
}

.is-hover,
a {
  -webkit-transition: 0.4s ease-out;
  -o-transition: 0.4s ease-out;
  transition: 0.4s ease-out
}

.is-hover:hover,
a:hover {
  opacity: 0.7
}

img,
object,
svg {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  -webkit-transition: 0.4s ease-out;
  -o-transition: 0.4s ease-out;
  transition: 0.4s ease-out
}

iframe {
  width: 100%;
  max-width: 100%
}

.u-clearfix:after {
  display: block;
  content: '';
  clear: both
}

.u-svg {
  display: none
}

.-md,
.-sd,
.-xs {
  display: none !important
}

@media (max-width:768px) {
  body {
    min-width: 100%;
    font-size: min(3.733333333333334vw, 14px);
    line-height: 1.428571428571429
  }

  a.is-call {
    pointer-events: initial
  }

  .-lg {
    display: none !important
  }

  .-md {
    display: block !important
  }

  .-md_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }

  .-md_grid {
    display: -ms-grid;
    display: grid
  }
}

.l-header {
  padding: 0.476190476190476em 0;
  background-color: #fff;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100
}

.l-header-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.l-header-brand {
  width: 14.285714285714286em;
  line-height: 1
}

.l-header-nav {
  width: 18.285714285714285em;
  gap: 1.142857142857143em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

@media (max-width:768px) {
  .l-header {
    padding: 0.428571428571429em 0
  }

  .l-header-brand {
    width: 10.714285714285714em
  }
}

.l-main {
  padding-top: 3.142857142857143em;
  position: relative
}

.l-kv {
  padding-bottom: 3.809523809523809em;
  aspect-ratio: 1920/1028;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  background-image: url("../images/bg-mv_pc.png");
  z-index: 1
}

.l-kv-media__lg {
  max-width: 23.571428571428573em;
  position: absolute;
  top: 3.809523809523809em;
  left: -4.761904761904762em;
  z-index: -1
}

.l-kv-pharse {
  padding-top: 2.380952380952381em;
  text-align: center
}

.l-kv-pharse__desc .band {
  padding: 0.166666666666667em 0.833333333333333em 0.25em;
  outline: 0.166666666666667em solid #fff;
  font-size: min(2.068965517241379vw, 24px);
  font-weight: 700;
  color: #fff;
  background-color: #052c81;
  -webkit-filter: drop-shadow(0 0 0.75em #fff);
  filter: drop-shadow(0 0 0.75em #fff)
}

.l-kv-pharse__desc .--strong {
  color: #f0ff00
}

.l-kv-pharse__frame {
  margin-top: 1.428571428571429em;
  position: relative
}

.l-kv-pharse__frame .stork,
.l-kv-pharse__frame .title {
  font-size: min(5.344827586206897vw, 62px);
  font-weight: 900;
  line-height: 1.290322580645161;
  color: #102338
}

.l-kv-pharse__frame .stork .--large,
.l-kv-pharse__frame .title .--large {
  font-size: min(9.137931034482758vw, 106px);
  line-height: 1;
  font-weight: 700
}

.l-kv-pharse__frame .stork .--strong,
.l-kv-pharse__frame .title .--strong {
  font-size: min(6.896551724137931vw, 80px)
}

.l-kv-pharse__frame .stork .--small,
.l-kv-pharse__frame .title .--small {
  font-size: min(4.310344827586207vw, 50px)
}

.l-kv-pharse__frame .stork .--xsmall,
.l-kv-pharse__frame .title .--xsmall {
  font-size: min(3.103448275862069vw, 36px)
}

.l-kv-pharse__frame .caption {
  margin: 0.666666666666667em 0;
  font-size: min(3.103448275862069vw, 36px);
  display: block;
  font-weight: 900;
  color: #102338
}

.l-kv-pharse__frame .circle {
  margin-right: 0.666666666666667em;
  font-size: min(3.96551724137931vw, 46px);
  gap: 1.130434782608696em;
  color: #052c81;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex
}

.l-kv-pharse__frame .circle-item {
  line-height: 2.391304347826087em;
  position: relative
}

.l-kv-pharse__frame .circle-item:before {
  display: block;
  content: '';
  width: 3.782608695652174em;
  height: 3.130434782608696em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url("../images/kv-circle.png");
  position: absolute;
  top: -0.173913043478261em;
  left: -0.826086956521739em
}

.l-kv-pharse__frame .title {
  position: relative
}

.l-kv-pharse__frame .title_box {
  position: relative
}

.l-kv-pharse__frame .title .--large,
.l-kv-pharse__frame .title .--strong {
  background: -webkit-gradient(linear, left top, left bottom, from(#31b4e8), color-stop(100%, #042b80), to(#042b80));
  background: -webkit-linear-gradient(top, #31b4e8 0%, #042b80 100%, #042b80 100%);
  background: -o-linear-gradient(top, #31b4e8 0%, #042b80 100%, #042b80 100%);
  background: linear-gradient(to bottom, #31b4e8 0%, #042b80 100%, #042b80 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent
}

.l-kv-pharse__frame .stork {
  width: 100%;
  -webkit-text-stroke: 0.185185185185185em #fff;
  -webkit-filter: drop-shadow(0 0 0.185185185185185em #fff);
  filter: drop-shadow(0 0 0.185185185185185em #fff);
  position: absolute;
  top: 0;
  left: 0
}

.l-kv-cta {
  margin-top: 1.904761904761905em
}

@media (max-width:768px) {
  .l-main {
    padding-top: 3.5em
  }

  .l-kv {
    aspect-ratio: 750/1443;
    background-image: url("../images/bg-mv_sp.png")
  }

  .l-kv-container {
    padding: 0 !important
  }

  .l-kv-media__md {
    margin-top: 0.857142857142857em;
    text-align: center
  }

  .l-kv-pharse {
    padding-top: 1.071428571428571em
  }

  .l-kv-pharse__desc {
    padding: 0.357142857142857em 1.785714285714286em
  }

  .l-kv-pharse__desc .band {
    padding: 0.333333333333333em;
    outline-width: 0.133333333333333em;
    font-size: min(4vw, 15px);
    display: block
  }

  .l-kv-pharse__frame {
    margin-top: 0.357142857142857em
  }

  .l-kv-pharse__frame .stork,
  .l-kv-pharse__frame .title {
    font-size: min(8.266666666666666vw, 31px);
    line-height: 1.258064516129032
  }

  .l-kv-pharse__frame .stork .--large,
  .l-kv-pharse__frame .title .--large {
    font-size: min(14.133333333333335vw, 53px)
  }

  .l-kv-pharse__frame .stork .--strong,
  .l-kv-pharse__frame .title .--strong {
    font-size: min(10.666666666666668vw, 40px)
  }

  .l-kv-pharse__frame .stork .--small,
  .l-kv-pharse__frame .title .--small {
    font-size: min(6.666666666666667vw, 25px)
  }

  .l-kv-pharse__frame .stork .hide-md,
  .l-kv-pharse__frame .title .hide-md {
    display: none
  }

  .l-kv-pharse__frame .caption {
    margin: 2.222222222222222em 0 1.111111111111111em;
    font-size: min(4.8vw, 18px)
  }

  .l-kv-pharse__frame .circle {
    margin-right: 0.782608695652174em;
    font-size: min(6.133333333333333vw, 23px);
    gap: 1.08695652173913em
  }

  .l-kv-pharse__frame .circle-item {
    line-height: 2.08695652173913em
  }

  .l-kv-pharse__frame .circle-item:before {
    width: 3.782608695652174em;
    top: -0.347826086956522em;
    left: -0.869565217391304em;
    z-index: -1
  }

  .l-kv-cta {
    margin-top: 0
  }
}

.c-wrapper {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding: 0 20px
}

@media (max-width:768px) {
  .c-wrapper {
    padding: 0 4vw
  }
}

.c-wrapper-lg {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding: 0 20px
}

@media (max-width:768px) {
  .c-wrapper-lg {
    padding: 0
  }
}

.c-wrapper-md {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding: 0
}

@media (max-width:768px) {
  .c-wrapper-md {
    padding: 0 4vw
  }
}

.c-container {
  max-width: 1160px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding: 0 20px
}

@media (max-width:768px) {
  .c-container {
    padding: 0 4vw
  }
}

.c-case-lg {
  max-width: 1160px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding: 0 20px
}

@media (max-width:768px) {
  .c-case-lg {
    padding: 0
  }
}

.c-case-md {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding: 0
}

@media (max-width:768px) {
  .c-case-md {
    padding: 0 4vw
  }
}

.c-btn {
  width: 100%;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  z-index: 1;
  -webkit-transition: 0.4s ease-out;
  -o-transition: 0.4s ease-out;
  transition: 0.4s ease-out
}

.c-btn.--contact {
  background-color: #ff7133
}

.c-btn.--dl {
  background-color: #00c1cd
}

.c-btn-small {
  max-width: 8.571428571428571em;
  height: 1.904761904761905em;
  border-radius: 0.952380952380952em;
  color: #fff
}

.c-btn-small .label {
  font-size: min(1.379310344827586vw, 16px)
}

.c-btn-std {
  max-width: 26.571428571428573em;
  height: 3.714285714285714em;
  border-radius: 1.857142857142857em;
  color: #fff
}

.c-btn-std .label {
  font-size: min(2.413793103448276vw, 28px)
}

.c-btn-equip {
  height: 2.857142857142857em;
  color: #fff;
  background-color: #052c81
}

.c-btn-equip.is-active .toggle span:nth-child(2) {
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
  -ms-transform: translate(-50%, -50%) rotate(0deg);
  transform: translate(-50%, -50%) rotate(0deg)
}

.c-btn-equip .toggle {
  background-color: #fff;
  right: 0.952380952380952em
}

.c-btn-equip .toggle span {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  background-color: #052c81
}

.toggle {
  width: 1.142857142857143em;
  height: 1.142857142857143em;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

.toggle span {
  width: 0.571428571428571em;
  height: 0.095238095238095em;
  position: absolute;
  top: 50%;
  left: 50%
}

.toggle span:first-child {
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%)
}

.toggle span:nth-child(2) {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
  -ms-transform: translate(-50%, -50%) rotate(90deg);
  transform: translate(-50%, -50%) rotate(90deg)
}

@media (max-width:768px) {
  .c-btn-std {
    max-width: 23.428571428571427em;
    height: 3.785714285714286em;
    border-radius: 1.892857142857143em
  }

  .c-btn-std .label {
    font-size: min(4.8vw, 18px)
  }

  .c-btn-equip {
    height: 2.857142857142857em
  }

  .c-btn-equip .toggle {
    right: mad_calc_em(16)
  }

  .toggle {
    width: 1.714285714285714em;
    height: 1.714285714285714em
  }

  .toggle span {
    width: 0.857142857142857em;
    height: 0.142857142857143em
  }
}

.c-card-merit {
  padding: 6.428571428571429em 0 2.380952380952381em;
  border-radius: 0.380952380952381em;
  color: #fff;
  background-color: #052c81;
  text-align: center;
  position: relative
}

.c-card-merit .icon {
  width: 7.380952380952381em;
  position: absolute;
  top: -1.904761904761905em;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%)
}

.c-card-merit .meta {
  height: 4.857142857142857em;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.c-card-merit .meta .--mark {
  padding: 0 0.25em;
  margin: 0 0.25em;
  line-height: initial;
  color: #052c81;
  background-color: #f0ff00;
  display: inline-block
}

.c-card-feature .icon {
  width: 9.047619047619047em;
  margin: auto;
  text-align: center
}

.c-card-feature .meta {
  margin-top: 1.523809523809524em
}

.c-card-feature .meta-subject {
  font-weight: 700;
  color: #052c81;
  text-align: center
}

.c-card-feature .meta-desc {
  margin-top: 0.571428571428571em;
  font-size: min(1.46551724137931vw, 17px)
}

.c-card-case {
  margin-top: 0.476190476190476em;
  border-radius: 0.380952380952381em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.19047619047619em;
  overflow: hidden
}

@media (max-width:768px) {
  .c-card-case {
    display: block
  }
}

.c-card-case .subject {
  padding: 0 1.047619047619048em;
  width: 8.737864077669903%;
  font-weight: 700;
  color: #fff;
  background-color: #174c89;
  -ms-flex-item-align: stretch;
  -ms-grid-row-align: stretch;
  align-self: stretch;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
  text-align: center
}

.c-card-case .media {
  width: 26.699029126213592%;
  aspect-ratio: 220/148
}

.c-card-case .desc {
  padding: 1.411764705882353em;
  font-size: min(1.46551724137931vw, 17px);
  background-color: #f1faff;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1
}

.c-card-equip__media {
  text-align: center
}

.c-card-equip__meta {
  background-color: #fff
}

.c-card-equip__meta .subject {
  padding: 1.333333333333333em 0;
  height: 6.666666666666667em;
  font-size: min(2.068965517241379vw, 24px);
  line-height: 1.333333333333333;
  font-weight: 700;
  color: #2261a8;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.c-card-equip__meta .desc p {
  margin-bottom: 1.5em
}

.c-card-method {
  padding: 0.380952380952381em;
  border-radius: 0.380952380952381em;
  background: -webkit-linear-gradient(315deg, #1e7bbc 0%, #174c89 100%);
  background: -o-linear-gradient(315deg, #1e7bbc 0%, #174c89 100%);
  background: linear-gradient(135deg, #1e7bbc 0%, #174c89 100%)
}

.c-card-method__subject {
  padding: 0.476190476190476em;
  font-weight: 700;
  color: #fff;
  text-align: center
}

.c-card-method__desc {
  height: 8.647058823529411em;
  padding: 1.882352941176471em;
  border-radius: 0.470588235294118em;
  font-size: min(1.46551724137931vw, 17px);
  background-color: #fff
}

.c-card-method__desc .--mark {
  background-color: #f0ff00
}

.c-card-voice {
  padding: 0.952380952380952em 0.952380952380952em;
  background-color: #fff;
  position: relative
}

.c-card-voice .meta {
  margin-top: 1em
}

.c-card-voice .meta-person {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.952380952380952em
}

.c-card-voice .meta-person .thumbnail {
  width: 4.761904761904762em
}

.c-card-voice .meta-person .character {
  font-size: min(1.46551724137931vw, 17px);
  font-weight: 700
}

.c-card-voice .meta-desc {
  margin-top: 1.176470588235294em;
  font-size: min(1.46551724137931vw, 17px)
}

.c-card-flow {
  padding: 1.428571428571429em 0 1.904761904761905em;
  border: 0.380952380952381em solid #052c81;
  border-radius: 0.380952380952381em;
  background-color: #fff;
  position: relative;
  counter-reset: number 0
}

.c-card-flow:first-child::after,
.c-card-flow:nth-child(4):after {
  opacity: 0
}

.c-card-flow:after {
  display: block;
  content: '';
  width: 1.142857142857143em;
  height: 1.714285714285714em;
  background-color: #052c81;
  position: absolute;
  top: 50%;
  left: -1.80952380952381em;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
  clip-path: polygon(0 0, 0% 100%, 100% 50%)
}

.c-card-flow .count {
  width: 2.555555555555555em;
  height: 2.555555555555555em;
  padding: 0;
  font-size: min(3.103448275862069vw, 36px);
  line-height: 1;
  font-weight: 700;
  font-style: italic;
  color: #fff;
  position: absolute;
  top: 0em;
  left: 0em;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 0);
  clip-path: polygon(0 0, 0% 100%, 100% 0);
  background-color: #052c81
}

.c-card-flow .media {
  text-align: center
}

.c-card-flow .desc {
  margin-top: 1.142857142857143em;
  font-weight: 700;
  text-align: center
}

.c-card-flow .desc .dot {
  display: none
}

@media (max-width:768px) {
  .c-card-merit {
    padding: 4.285714285714286em 0 1.071428571428571em;
    border-radius: 0.285714285714286em
  }

  .c-card-merit .icon {
    width: 5.357142857142857em;
    height: 5.357142857142857em;
    top: -1.428571428571429em
  }

  .c-card-merit .meta {
    height: 5.714285714285714em
  }

  .c-card-feature .icon {
    width: 6.857142857142857em
  }

  .c-card-feature .meta {
    margin-top: 0.714285714285714em
  }

  .c-card-feature .meta-desc {
    margin-top: 0.428571428571429em;
    font-size: min(3.733333333333334vw, 14px)
  }

  .c-card-case {
    margin-top: 0.357142857142857em;
    border-radius: 0.285714285714286em
  }

  .c-card-case .subject {
    padding: 0.357142857142857em 0;
    width: 100%;
    -webkit-writing-mode: initial;
    -ms-writing-mode: initial;
    writing-mode: initial;
    text-orientation: initial
  }

  .c-card-case .media {
    width: 100%;
    aspect-ratio: 650/148
  }

  .c-card-case .desc {
    padding: 0.857142857142857em;
    font-size: min(3.733333333333334vw, 14px)
  }

  .c-card-equip__meta .subject {
    padding: 1.071428571428571em 0;
    height: auto;
    font-size: min(3.733333333333334vw, 14px)
  }

  .c-card-equip__meta .desc {
    padding: 1em;
    border-top: 0.071428571428571em solid #052c81
  }

  .c-card-method {
    padding: 0.285714285714286em
  }

  .c-card-method:nth-child(n+2) {
    margin-top: 1.428571428571429em
  }

  .c-card-method__subject {
    padding: 0 0.357142857142857em 0.357142857142857em;
    font-size: min(3.733333333333334vw, 14px)
  }

  .c-card-method__desc {
    height: auto;
    padding: 0.857142857142857em;
    border-radius: 0.285714285714286em;
    font-size: min(3.733333333333334vw, 14px)
  }

  .c-card-flow {
    padding: 1.071428571428571em 2.321428571428572em;
    border-width: 0.285714285714286em;
    border-radius: 0.285714285714286em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1.071428571428571em
  }

  .c-card-flow:nth-child(n+2) {
    margin-top: 2.142857142857143em
  }

  .c-card-flow:first-child::after,
  .c-card-flow:nth-child(4):after {
    opacity: 1
  }

  .c-card-flow:last-child:after {
    opacity: 0
  }

  .c-card-flow:after {
    width: 1.285714285714286em;
    height: 0.857142857142857em;
    top: auto;
    bottom: -1.857142857142857em;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
    clip-path: polygon(0 0, 50% 100%, 100% 0)
  }

  .c-card-flow .count {
    width: 2.555555555555555em;
    height: 2.555555555555555em;
    padding: 0;
    font-size: min(4.8vw, 18px)
  }

  .c-card-flow .media {
    width: 5.357142857142857em
  }

  .c-card-flow .desc {
    margin-top: 0;
    text-align: left
  }

  .c-card-flow .desc .dot {
    display: initial
  }

  .c-card-voice {
    padding: 1.071428571428571em 1.071428571428571em
  }

  .c-card-voice .meta {
    margin-top: 1em
  }

  .c-card-voice .meta-person {
    gap: 0.714285714285714em
  }

  .c-card-voice .meta-person .thumbnail {
    width: 3.571428571428572em
  }

  .c-card-voice .meta-person .character {
    font-size: min(3.733333333333334vw, 14px)
  }

  .c-card-voice .meta-desc {
    margin-top: 0.714285714285714em;
    font-size: min(3.733333333333334vw, 14px)
  }
}

.js-ac-toggle {
  cursor: pointer
}

.js-ac-panel {
  display: none
}

.is-hide {
  display: none
}

.p-cta-head {
  padding: 0.208333333333333em 0;
  font-size: min(2.068965517241379vw, 24px);
  font-weight: 700;
  background-color: #d5eeff;
  text-align: center
}

.p-cta-body {
  padding: 0.761904761904762em 0 1.142857142857143em;
  background: -webkit-linear-gradient(315deg, #1e7bbc 0%, #042b80 100%);
  background: -o-linear-gradient(315deg, #1e7bbc 0%, #042b80 100%);
  background: linear-gradient(135deg, #1e7bbc 0%, #042b80 100%)
}

.p-cta-nav .c-btn {
  margin-bottom: 0.571428571428571em
}

.p-cta-infomation {
  max-width: 37.142857142857146em;
  margin: 0.952380952380952em auto 0;
  padding-top: 0.952380952380952em;
  border-top: 0.047619047619048em solid #fff;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: 700;
  text-align: center
}

.p-cta-infomation .caption {
  margin-right: 0.5em;
  -webkit-transform: translateY(0.166666666666667em);
  -ms-transform: translateY(0.166666666666667em);
  transform: translateY(0.166666666666667em);
  font-size: min(1.551724137931034vw, 18px)
}

.p-cta-infomation .call {
  padding-left: 0.75em;
  font-size: min(3.448275862068965vw, 40px);
  line-height: 1;
  background-repeat: no-repeat;
  background-position: left bottom;
  background-image: url("../images/icon-phone.png");
  color: #ddf2ff
}

.l-stack {
  position: relative
}

.l-stack-top:before {
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  -webkit-clip-path: polygon(0 57.65765765765766%, 100% 27.927927927927925%, 100% 100%, 0 100%);
  clip-path: polygon(0 57.65765765765766%, 100% 27.927927927927925%, 100% 100%, 0 100%);
  background-color: #f1faff;
  position: absolute;
  bottom: 0;
  left: 0
}

.l-stack-grad {
  background-image: url("../images/bg-survey_pc.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center
}

.l-section {
  padding: 5.714285714285714em 0 5.714285714285714em;
  overflow-x: clip;
  position: relative
}

.l-section-header .subject {
  font-size: min(4.827586206896552vw, 56px);
  font-weight: 700;
  color: #052c81;
  text-align: center
}

.l-section-header .caption {
  margin-bottom: 0.666666666666667em;
  font-size: min(2.068965517241379vw, 24px);
  font-weight: 700;
  color: #2261a8;
  text-align: center
}

.l-section-header .ul {
  padding-bottom: 0.857142857142857em;
  border-style: solid;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center bottom;
  position: relative
}

.l-section-header .ul-type1 {
  background-image: url("../images/ul-type1_pc.png")
}

.l-section-header .ul-type2,
.l-section-header .ul-type6 {
  background-image: url("../images/ul-type2_pc.png")
}

.l-section-header .ul-type3 {
  background-image: url("../images/ul-type3_pc.png")
}

.l-section-header .ul-type4 {
  background-image: url("../images/ul-type4_pc.png")
}

.l-section-header .ul-type1,
.l-section-header .ul-type3 {
  display: block
}

.l-section-header .ul-type2,
.l-section-header .ul-type4,
.l-section-header .ul-type6 {
  width: 9.285714285714286em;
  display: inline-block
}

.l-section-content {
  margin-top: 2.380952380952381em
}

.l-section-about,
.l-section-drone,
.l-section-trouble {
  padding-top: 0 !important
}

.l-section-company,
.l-section-diff,
.l-section-flow,
.l-section-voice {
  background-color: #f1faff
}

.l-section-equip__caption,
.l-section-feature__caption {
  font-weight: 700;
  text-align: center
}

.l-section-equip {
  background: url("../images/bg-grid.png") repeat;
  background-size: 3.809523809523809em
}

.l-section-message,
.l-section-price {
  background: -webkit-linear-gradient(315deg, #1e7bbc 0%, #174c89 100%);
  background: -o-linear-gradient(315deg, #1e7bbc 0%, #174c89 100%);
  background: linear-gradient(135deg, #1e7bbc 0%, #174c89 100%)
}

.p-trouble {
  max-width: 46.857142857142854em;
  margin: auto
}

.p-trouble-list {
  margin-top: 2.380952380952381em
}

.p-trouble-item {
  margin-top: 1.142857142857143em;
  padding: 0.666666666666667em 0 0.666666666666667em 3.238095238095238em;
  border: 0.095238095238095em solid #052c81;
  border-radius: 1.476190476190476em;
  font-weight: 700;
  background-color: #fff;
  position: relative
}

.p-trouble-item .--strong {
  color: #2261a8;
  font-weight: 700
}

.p-trouble-item:before {
  display: block;
  content: '';
  width: 1.333333333333333em;
  height: 1.333333333333333em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url("../images/icon-check.png");
  position: absolute;
  top: 50%;
  left: 1.142857142857143em;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

.p-merit {
  margin-top: 4.761904761904762em;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  -ms-grid-rows: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 3.809523809523809em 1.904761904761905em
}

.p-feature {
  margin-top: 1.523809523809524em;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  -ms-grid-rows: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 2.285714285714286em 1.523809523809524em
}

.p-price {
  padding: 1.523809523809524em;
  background-color: #fff
}

.p-price-content {
  max-width: 40.666666666666664em;
  margin: auto
}

.p-price-meta {
  font-weight: 700;
  text-align: center
}

.p-price-meta__subject {
  margin-bottom: 0.583333333333333em;
  border-bottom: 0.041666666666667em solid #052c81;
  font-size: min(2.068965517241379vw, 24px);
  color: #052c81
}

.p-price-meta__subject .price {
  margin-left: 0.5em;
  font-size: min(2.758620689655173vw, 32px)
}

.p-price-meta__subject .price .--strong {
  font-size: min(5.344827586206897vw, 62px)
}

.p-price-meta__desc .caption {
  color: #052c81
}

.p-price-meta__desc .desc {
  margin-top: 0.588235294117647em;
  font-size: min(1.46551724137931vw, 17px);
  font-weight: 500
}

.p-price-case {
  margin-top: 1.904761904761905em
}

.p-about,
.p-message {
  position: relative;
  z-index: 1
}

.p-about-media,
.p-message-media {
  z-index: -1;
  position: absolute !important;
  top: 0
}

.p-about-meta,
.p-message-meta {
  max-width: 55.35714285714286%;
  background-color: #fff;
  background: url("../images/bg-grid.png") repeat;
  background-size: 3.809523809523809em;
  -webkit-box-shadow: 0.142857142857143em 0.142857142857143em 0.285714285714286em rgba(5, 4, 129, 0.14);
  box-shadow: 0.142857142857143em 0.142857142857143em 0.285714285714286em rgba(5, 4, 129, 0.14);
  z-index: 3
}

.p-about {
  padding-top: 4.285714285714286em
}

.p-about-media {
  left: 0;
  max-width: 68.75%;
  aspect-ratio: 770/418
}

.p-about-meta {
  margin-left: auto;
  margin-right: 0;
  padding: 1.142857142857143em 1.904761904761905em
}

.p-about-meta .--mark {
  color: #052c81;
  background-color: #f0ff00
}

.p-message {
  padding-top: 2.857142857142857em
}

.p-message-media {
  right: 0;
  max-width: 55.892857142857146%;
  aspect-ratio: 626/480
}

.p-message-meta {
  padding: 1.142857142857143em 1.523809523809524em
}

.p-message-meta .desc {
  font-size: min(1.46551724137931vw, 17px)
}

.p-message-meta .desc p {
  margin-top: 1em
}

.p-result {
  max-width: 38.095238095238095em;
  margin: auto
}

.p-result-desc {
  font-weight: 700;
  text-align: center
}

.p-result-desc .--mark {
  color: #052c81;
  background-color: #f0ff00
}

.p-result-media {
  margin-top: 1.904761904761905em
}

.p-diff-thead {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 0.095238095238095em
}

.p-diff-thead .label {
  width: 28.303571428571427%;
  border-top-left-radius: 0.333333333333333em;
  border-top-right-radius: 0.333333333333333em;
  font-size: min(2.068965517241379vw, 24px);
  line-height: 1.333333333333333;
  font-weight: 700;
  text-align: center
}

.p-diff-thead .label-current {
  padding: 1em 0;
  color: #052c81;
  background-color: #aedeff
}

.p-diff-thead .label-other {
  padding: 0.761904761904762em 0;
  font-size: min(1.810344827586207vw, 21px);
  border-radius: 0;
  color: #fff;
  background-color: #052c81
}

.p-diff-table {
  width: 100%
}

.p-diff-table .row {
  margin-bottom: 0.095238095238095em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  gap: 0.095238095238095em
}

.p-diff-table .row:last-child .cell {
  border-bottom: 0.095238095238095em solid #d5eeff
}

.p-diff-table .row:last-child .cell-other {
  border-color: transparent
}

.p-diff-table .item {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #fff;
  background-color: #2261a8
}

.p-diff-table .cell {
  width: 28.303571428571427%;
  padding: 1.428571428571429em 0;
  text-align: center;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  position: relative
}

.p-diff-table .cell img {
  width: 1.428571428571429em
}

.p-diff-table .cell:after,
.p-diff-table .cell:before {
  display: block;
  content: '';
  width: 0.095238095238095em;
  height: 102%;
  background-color: #d5eeff;
  position: absolute;
  bottom: 0
}

.p-diff-table .cell:before {
  left: 0
}

.p-diff-table .cell:after {
  right: 0
}

.p-diff-table .cell-other {
  background-color: #f6f6f6
}

.p-diff-table .cell-other:after,
.p-diff-table .cell-other:before {
  background-color: transparent
}

.p-diff-table .cell .desc {
  margin-top: 1em;
  font-size: min(1.46551724137931vw, 17px)
}

.p-diff-caption {
  margin-top: 1.428571428571429em
}

.p-diff-caption .--strong {
  font-weight: 500;
  color: #2261a8
}

.p-equip {
  margin-top: 1.904761904761905em;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
  gap: 1.714285714285714em
}

.p-method+.p-method {
  margin-top: 1.904761904761905em
}

.p-method-subject {
  padding: 0.333333333333333em;
  font-size: min(2.068965517241379vw, 24px);
  font-weight: 700;
  text-align: center;
  color: #fff;
  background-color: #052c81
}

.p-method-frame {
  padding: 1.523809523809524em;
  background-color: #fff
}

.p-method-flow {
  counter-reset: number 0;
  position: relative;
  z-index: 1
}

.p-method-flow:before {
  display: block;
  content: '';
  width: 0.476190476190476em;
  height: 100%;
  background-color: #747e92;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: -1
}

.p-faq-item:nth-child(n+2),
.p-method-flow__item:nth-child(n+2) {
  margin-top: 1.523809523809524em
}

.p-faq-item .subject,
.p-method-flow__item .subject {
  padding: 0.571428571428571em 1.523809523809524em 0.380952380952381em;
  font-weight: 700;
  background-color: #d5eeff;
  position: relative
}

.p-faq-item .subject:before,
.p-method-flow__item .subject:before {
  font-size: min(2.931034482758621vw, 34px);
  line-height: 1;
  font-style: italic;
  color: #052c81;
  counter-increment: number 1;
  content: counter(number) "."
}

.p-faq-item .subject .toggle,
.p-method-flow__item .subject .toggle {
  border: 0.095238095238095em solid #2261a8;
  background-color: #2261a8;
  right: 0.952380952380952em
}

.p-faq-item .subject .toggle span,
.p-method-flow__item .subject .toggle span {
  background-color: #fff;
  -webkit-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s
}

.p-faq-item .subject.is-active .toggle,
.p-method-flow__item .subject.is-active .toggle {
  background-color: #fff
}

.p-faq-item .subject.is-active .toggle span,
.p-method-flow__item .subject.is-active .toggle span {
  background-color: #2261a8
}

.p-faq-item .subject.is-active .toggle span:nth-child(2),
.p-method-flow__item .subject.is-active .toggle span:nth-child(2) {
  opacity: 0
}

.p-faq-item .desc,
.p-method-flow__item .desc {
  padding: 1.411764705882353em 1.882352941176471em;
  font-size: min(1.46551724137931vw, 17px);
  background-color: #f1faff
}

.p-method-merit {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
  gap: 1.80952380952381em 1.523809523809524em
}

.p-faq-item .subject:before {
  content: 'Q.'
}

.p-voice {
  position: relative
}

.p-voice-nav__btn {
  width: 2.476190476190476em;
  height: 2.476190476190476em;
  border-radius: 50%;
  z-index: 5
}

.p-voice-nav__btn:after {
  display: none
}

.swiper-button-prev {
  left: -1.904761904761905em
}

.swiper-button-next {
  right: -1.904761904761905em;
  -webkit-transform: scaleX(-1);
  -ms-transform: scaleX(-1);
  transform: scaleX(-1)
}

.p-flow {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  -ms-grid-rows: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 1.80952380952381em 1.80952380952381em
}

.p-company-table {
  border-spacing: 0.19047619047619em;
  border-collapse: separate;
  width: 100%
}

.p-company-table .col,
.p-company-table .label {
  padding: 1.647058823529412em 1em;
  font-size: min(1.46551724137931vw, 17px)
}

.p-company-table .label {
  width: 20.357142857142858%;
  font-weight: 700;
  text-align: center;
  color: #fff;
  background-color: #2261a8
}

.p-company-table .col {
  background-color: #fff
}

@media (max-width:768px) {
  .l-stack-top:before {
    -webkit-clip-path: polygon(0 53.912507701786815%, 100% 45.594577942082566%, 100% 100%, 0 100%);
    clip-path: polygon(0 53.912507701786815%, 100% 45.594577942082566%, 100% 100%, 0 100%)
  }

  .l-stack-grad {
    background-image: url("../images/bg-survey_sp.png")
  }

  .p-cta-head {
    padding: 0.178571428571429em 0;
    font-size: min(3.733333333333334vw, 14px)
  }

  .p-cta-body {
    padding: 0.714285714285714em 4vw 0.535714285714286em
  }

  .p-cta-nav .c-btn {
    margin-bottom: 0.642857142857143em
  }

  .p-cta-infomation {
    margin-top: 0.642857142857143em;
    padding: 0.714285714285714em 0;
    border-top-width: 0.071428571428571em;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }

  .p-cta-infomation .caption {
    margin-right: 0;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    font-size: min(2.666666666666667vw, 10px);
    text-align: left
  }

  .p-cta-infomation .call {
    padding-left: 0.8em;
    font-size: min(6.666666666666667vw, 25px);
    background-size: contain
  }

  .l-section {
    padding: 3.214285714285714em 0 3.214285714285714em
  }

  .l-section-header .subject {
    font-size: min(9.333333333333334vw, 35px)
  }

  .l-section-header .caption {
    margin-bottom: 0.470588235294118em;
    line-height: 1.235294117647059;
    font-size: min(4.533333333333333vw, 17px)
  }

  .l-section-header .ul {
    padding-bottom: 0.571428571428571em
  }

  .l-section-header .ul-type1,
  .l-section-header .ul-type2,
  .l-section-header .ul-type3,
  .l-section-header .ul-type4,
  .l-section-header .ul-type6 {
    display: block;
    width: 100%;
    background-size: 8.285714285714286em auto
  }

  .l-section-header .ul-type1,
  .l-section-header .ul-type2 {
    background-image: url("../images/ul-type1_sp.png")
  }

  .l-section-header .ul-type3,
  .l-section-header .ul-type4 {
    background-image: url("../images/ul-type3_sp.png")
  }

  .l-section-content {
    margin-top: 1.428571428571429em
  }

  .l-section-equip+.l-cta {
    padding: 0
  }

  .p-trouble {
    max-width: initial
  }

  .p-trouble-list {
    margin-top: 1.785714285714286em
  }

  .p-trouble-item {
    margin-top: 0.857142857142857em;
    padding: 0.857142857142857em 0.857142857142857em 0.857142857142857em 2.142857142857143em;
    border-width: 0.071428571428571em;
    border-radius: 2.5em
  }

  .p-trouble-item:before {
    width: 1.214285714285714em;
    height: 1.214285714285714em;
    left: 0.5em
  }

  .p-merit {
    margin-top: 3.571428571428572em;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    -ms-grid-rows: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    gap: 2.142857142857143em 0.714285714285714em
  }

  .p-feature {
    margin-top: 2.285714285714286em;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    -ms-grid-rows: -webkit-max-content -webkit-max-content -webkit-max-content -webkit-max-content;
    -ms-grid-rows: max-content max-content max-content max-content;
    grid-template-rows: -webkit-max-content -webkit-max-content -webkit-max-content -webkit-max-content;
    grid-template-rows: max-content max-content max-content max-content;
    gap: 1.714285714285714em 0.857142857142857em
  }

  .p-price {
    padding: 1.428571428571429em 0 1.428571428571429em
  }

  .p-price-content {
    max-width: 30.5em;
    margin: auto
  }

  .p-price-meta__subject {
    margin-bottom: 0.5em;
    padding: 0 0.714285714285714em;
    border-bottom-width: 0.071428571428571em;
    font-size: min(3.733333333333334vw, 14px)
  }

  .p-price-meta__subject .label {
    display: block
  }

  .p-price-meta__subject .price {
    margin-left: 0;
    font-size: min(5.866666666666666vw, 22px)
  }

  .p-price-meta__subject .price .--strong {
    font-size: min(9.866666666666667vw, 37px)
  }

  .p-price-meta__desc {
    padding: 0 0.714285714285714em
  }

  .p-price-meta__desc .desc {
    margin-top: 0.357142857142857em;
    font-size: min(3.733333333333334vw, 14px)
  }

  .p-price-case {
    margin-top: 1.071428571428571em;
    padding: 0 0.714285714285714em
  }

  .p-about-meta,
  .p-message-meta {
    max-width: 89.85507246376811%;
    -webkit-box-shadow: 0.107142857142857em 0.107142857142857em 0.214285714285714em rgba(5, 4, 129, 0.14);
    box-shadow: 0.107142857142857em 0.107142857142857em 0.214285714285714em rgba(5, 4, 129, 0.14)
  }

  .p-about-meta .--mark,
  .p-message-meta .--mark {
    line-height: 1.75
  }

  .p-about {
    padding-top: 10.714285714285714em
  }

  .p-about-media {
    max-width: 91.30434782608695%;
    aspect-ratio: 630/342
  }

  .p-about-meta {
    padding: 0.857142857142857em 1.428571428571429em
  }

  .p-message {
    padding-top: 17.142857142857142em
  }

  .p-message-media {
    max-width: 90.72463768115942%
  }

  .p-message-meta {
    padding: 0.857142857142857em 1.142857142857143em
  }

  .p-message-meta .subject {
    font-weight: 700
  }

  .p-message-meta .desc {
    font-size: min(3.733333333333334vw, 14px)
  }

  .p-message-meta .desc p {
    margin-top: 1em
  }

  .p-diff {
    margin: 0 -4vw;
    overflow-x: auto
  }

  .p-diff-wrapper {
    padding: 0 4vw;
    width: 41.42857142857143em
  }

  .p-diff-thead {
    gap: 0.071428571428571em
  }

  .p-diff-thead .label {
    width: 27.327586206896555%;
    border-top-left-radius: 0.285714285714286em;
    border-top-right-radius: 0.285714285714286em;
    font-size: min(3.733333333333334vw, 14px)
  }

  .p-diff-thead .label-other {
    font-size: min(3.2vw, 12px);
    border-radius: 0
  }

  .p-diff-table .row {
    margin-bottom: 0.071428571428571em;
    gap: 0.071428571428571em
  }

  .p-diff-table .row:last-child .cell {
    border-bottom-width: 0.071428571428571em
  }

  .p-diff-table .item {
    width: 13.448275862068964%
  }

  .p-diff-table .cell {
    width: 27.327586206896555%;
    padding: 0.714285714285714em 0.357142857142857em
  }

  .p-diff-table .cell:after,
  .p-diff-table .cell:before {
    width: 0.071428571428571em
  }

  .p-diff-table .cell img {
    width: 1.071428571428571em
  }

  .p-diff-table .cell .desc {
    margin-top: 0.5em;
    font-size: min(3.733333333333334vw, 14px)
  }

  .p-diff-caption {
    padding: 0 4vw
  }

  .p-equip {
    margin-top: 1.428571428571429em;
    display: block
  }

  .p-method+.p-method {
    margin-top: 1.428571428571429em
  }

  .p-method-subject {
    padding: 0.285714285714286em;
    font-size: min(3.733333333333334vw, 14px)
  }

  .p-method-frame {
    padding: 1.142857142857143em 0.714285714285714em
  }

  .p-method-flow:before {
    width: 0.357142857142857em
  }

  .p-method-flow__item:nth-child(n+2) {
    margin-top: 0.714285714285714em
  }

  .p-method-flow__item .subject {
    padding: 0.535714285714286em 0.857142857142857em 0.428571428571429em
  }

  .p-method-flow__item .subject:before {
    font-size: min(4.533333333333333vw, 17px)
  }

  .p-method-flow__item .subject .toggle {
    border-width: 0.071428571428571em;
    right: 0.428571428571429em
  }

  .p-method-flow__item .desc {
    padding: 0.714285714285714em 1.142857142857143em;
    font-size: min(3.733333333333334vw, 14px)
  }

  .p-method-merit {
    display: block
  }

  .p-result-desc .--mark {
    line-height: 1.75
  }

  .p-result-media {
    margin-top: 1.071428571428571em
  }

  .p-flow {
    display: block;
    gap: 0 2.380952380952381em
  }

  .p-faq {
    padding: 0 0.714285714285714em
  }

  .p-faq-item:nth-child(n+2) {
    margin-top: 0.714285714285714em
  }

  .p-faq-item .subject {
    padding: 0.535714285714286em 2.5em 0.428571428571429em;
    position: relative
  }

  .p-faq-item .subject:before {
    font-size: min(4.533333333333333vw, 17px);
    position: absolute;
    left: 0.823529411764706em;
    content: 'Q.'
  }

  .p-faq-item .subject .toggle {
    outline-width: 0.071428571428571em;
    right: 0.428571428571429em
  }

  .p-faq-item .desc {
    padding: 0.714285714285714em 1.142857142857143em;
    font-size: min(3.733333333333334vw, 14px)
  }

  .p-company-table {
    border-spacing: 0.142857142857143em
  }

  .p-company-table .col,
  .p-company-table .label {
    padding: 1em 0.714285714285714em;
    font-size: min(3.733333333333334vw, 14px)
  }

  .p-company-table .label {
    width: 31.01449275362319%
  }

  .p-voice {
    padding: 0 0.803571428571429em
  }

  .p-voice-nav__btn {
    width: 2.142857142857143em;
    height: 2.142857142857143em
  }

  .swiper-button-prev {
    left: -0.642857142857143em
  }

  .swiper-button-next {
    right: -0.642857142857143em
  }
}

.u-ratio-1x1,
.u-ratio-2x3,
.u-ratio-3x2,
.u-ratio-4x3,
.u-ratio-16x9,
.u-ratio-any,
.u-ratio-gold {
  position: relative;
  width: 100%
}

.u-ratio-1x1>img,
.u-ratio-2x3>img,
.u-ratio-3x2>img,
.u-ratio-4x3>img,
.u-ratio-16x9>img,
.u-ratio-any>img,
.u-ratio-gold>img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.u-ratio-1x1>iframe,
.u-ratio-2x3>iframe,
.u-ratio-3x2>iframe,
.u-ratio-4x3>iframe,
.u-ratio-16x9>iframe,
.u-ratio-any>iframe,
.u-ratio-gold>iframe {
  position: absolute;
  top: 0;
  left: 0
}

.u-ratio-1x1 {
  aspect-ratio: 1/1
}

.u-ratio-4x3 {
  aspect-ratio: 4/3
}

.u-ratio-3x4 {
  aspect-ratio: 3/4
}

.u-ratio-3x2 {
  aspect-ratio: 3/2
}

.u-ratio-2x3 {
  aspect-ratio: 2/3
}

.u-ratio-16x9,
.u-ratio-youtube {
  aspect-ratio: 16/9
}

.u-ratio-gold {
  aspect-ratio: 1.618/1
}

.is-safari .u-ratio-youtube {
  padding-top: 56.25%
}

.is-safari .u-ratio-youtube>iframe,
.is-safari .u-ratio-youtube>img {
  position: absolute;
  top: 0;
  left: 0
}

.u-font-black {
  font-weight: 900
}

.u-font-bold {
  font-weight: 700
}

.u-font-semibold {
  font-weight: 600
}

.u-font-medium {
  font-weight: 500
}

.u-font-normal {
  font-weight: 400
}

.u-color-white {
  color: #fff !important
}

.u-color-yellow {
  color: #f0ff00 !important
}

.u-color-orange {
  color: #ff7133 !important
}

.u-color-pink {
  color: color-pink !important
}

.u-align-center {
  text-align: center
}

.u-align-left {
  text-align: left
}

.u-align-right {
  text-align: right
}

.u-fs-xs {
  font-size: min(0.862068965517241vw, 10px)
}

@media (max-width:768) {
  .u-fs-xs {
    font-size: min(1.333333333333333vw, 5px)
  }
}

.u-fs-sm {
  font-size: min(1.206896551724138vw, 14px)
}

@media (max-width:768) {
  .u-fs-sm {
    font-size: min(1.866666666666667vw, 7px)
  }
}

.u-fs-md {
  font-size: min(1.551724137931034vw, 18px)
}

@media (max-width:768) {
  .u-fs-md {
    font-size: min(2.4vw, 9px)
  }
}

.u-fs-lg {
  font-size: min(1.724137931034483vw, 20px)
}

@media (max-width:768) {
  .u-fs-lg {
    font-size: min(2.666666666666667vw, 10px)
  }
}

.u-fs-xl {
  font-size: min(2.068965517241379vw, 24px)
}

@media (max-width:768) {
  .u-fs-xl {
    font-size: min(3.2vw, 12px)
  }
}

@media (max-width:768px) {
  .md-align-center {
    text-align: center
  }

  .md-align-left {
    text-align: left
  }

  .md-align-right {
    text-align: right
  }

  .md-fs-xs {
    font-size: min(1.333333333333333vw, 5px)
  }

  .md-fs-sm {
    font-size: min(1.333333333333333vw, 5px)
  }

  .md-fs-md {
    font-size: min(1.333333333333333vw, 5px)
  }

  .md-fs-lg {
    font-size: min(1.333333333333333vw, 5px)
  }

  .md-fs-xl {
    font-size: min(1.333333333333333vw, 5px)
  }
}

.l-section-company {
  padding: 5.714285714285714em 0 1.714285714285714em;
}

.l-section-company .copy {
  margin-top: 4em;
}



@media (max-width: 768px) {
  .l-section-company {
    padding: 3.214285714285714em 0 1.214285714285714em;
  }

  .l-section-company .copy {
    margin-top: 2em;
  }

}

.u-block {
	display: block;
}
