@charset "UTF-8";
/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  box-sizing: border-box;
  overflow-y: scroll; /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%; /* iOS 8+ */
}

*,
::before,
::after {
  background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0; /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */
/* Add the correct display in iOS 4-7.*/
audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  overflow: visible; /* Show the overflow in Edge and IE */
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

summary {
  display: list-item; /* Add the correct display in all browsers */
}

small {
  font-size: 80%; /* Set font-size to 80% in `small` elements */
}

[hidden],
template {
  display: none; /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: 1px dotted; /* Add a bordered underline effect in all browsers */
  text-decoration: none; /* Remove text decoration in Firefox 40+ */
}

a {
  background-color: transparent; /* Remove the gray background on active links in IE 10 */
  -webkit-text-decoration-skip: objects; /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}

a:active,
a:hover {
  outline-width: 0; /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; /* Specify the font family of code elements */
}

b,
strong {
  font-weight: bolder; /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
  font-style: italic; /* Address styling not present in Safari and Chrome */
}

/* Address styling not present in IE 8/9 */
mark {
  background-color: #ff0;
  color: #000;
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* # =================================================================
   # Forms
   # ================================================================= */
input {
  border-radius: 0;
}

/* Apply cursor pointer to button elements */
button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  cursor: pointer;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

[type=number] {
  width: auto; /* Firefox 36+ */
}

[type=search] {
  -webkit-appearance: textfield; /* Safari 8+ */
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; /* Safari 8 */
}

textarea {
  overflow: auto; /* Internet Explorer 11+ */
  resize: vertical; /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit; /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold; /* Restore the font weight unset by the previous rule. */
}

button {
  overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: 0;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */
}

button,
select {
  text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
}

/* Style select like a standard input */
select {
  -moz-appearance: none; /* Firefox 36+ */
  -webkit-appearance: none; /* Chrome 41+ */
}

select::-ms-expand {
  display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor; /* Internet Explorer 11+ */
}

legend {
  border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
  display: table; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge and IE */
  white-space: normal; /* Correct the text wrapping in Edge and IE */
}

::-webkit-file-upload-button {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS and Safari */
  font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

[type=search] {
  -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px; /* Correct the outline style in Safari */
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */
img {
  border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

svg:not(:root) {
  overflow: hidden; /* Internet Explorer 11- */
}

audio,
canvas,
progress,
video {
  display: inline-block; /* Internet Explorer 11+, Windows Phone 8.1+ */
}

/* # =================================================================
   # Accessibility
   # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~=screen] {
    display: inherit;
  }
  [hidden~=screen]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}
/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

/* # =================================================================
   # Selection
   # ================================================================= */
/* Specify text selection background color and omit drop shadow */
::-moz-selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

:root {
  --font-noto: "Noto Sans JP", system-ui;
  --font-mont: "Montserrat", sans-serif;
  --font-lex: "Lexend", sans-serif;
  --color-main: #032d42;
  --color-blue: #23c9ff;
  --color-point: #62d84e;
  --color-demo: #ff2463;
  --color-contact: #042d42;
  --color-text: #101820;
  --color-bg: #f4f6f8;
}

html {
  font-size: 16px;
  font-weight: 400;
  line-height: 2.1;
  font-family: var(--font-noto);
  color: var(--color-text);
}

.container {
  max-width: 1160px;
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
}
@media screen and (max-width: 1300px) {
  .container {
    padding: 0 15px;
    width: 100%;
  }
}

ul {
  list-style: none;
}

a {
  text-decoration: none;
  transition: all 0.3s ease;
  color: inherit;
}
a:active, a:visited {
  color: inherit;
}
a:hover {
  opacity: 0.8;
}

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

.font-bold {
  font-weight: bold;
}

@media screen and (min-width: 577px) and (max-width:767px) {
  .spnone {
    display: none;
  }
}
@media screen and (max-width: 576px) {
  .spnone {
    display: none;
  }
}

@media screen and (min-width: 1025px) {
  .pcnone {
    display: none;
  }
}

img {
  max-width: 100%;
  height: auto;
}

.rightfix {
  width: 154px;
  position: fixed;
  right: 16px;
  top: 50%;
  display: none;
  z-index: 10;
  transition: all 0.3s ease;
}
.rightfix-inner {
  position: relative;
}
.rightfix-inner img.close {
  position: absolute;
  right: 0;
  top: -10px;
  cursor: pointer;
  z-index: 2;
}
.rightfix-inner .rightfix_btn {
  box-shadow: 10px 10px 30px rgba(8, 45, 96, 0.1);
}
.rightfix-inner .rightfix_btn h2 {
  color: #fff;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 18px;
}
.rightfix-inner .rightfix_btn ul li {
  text-align: left;
}
.rightfix-inner .rightfix_btn ul li a {
  border: 1px solid #fff;
  box-shadow: 0px, 3px, 3px, rgba(16, 16, 114, 0.1);
  display: flex;
  width: 100%;
  height: 49px;
  align-items: center;
  justify-content: flex-start;
  border-radius: 8px;
  position: relative;
  font-size: 11px;
  font-weight: bold;
  padding-left: 40px;
  color: #fff;
}
.rightfix-inner .rightfix_btn ul li a::before {
  position: absolute;
  left: 20px;
  font-size: 0px;
}
.rightfix-inner .rightfix_btn ul li a:hover {
  opacity: 1;
}
.rightfix-inner .rightfix_btn--dl01 {
  background: var(--color-blue);
}
.rightfix-inner .rightfix_btn--dl01::before {
  content: "";
  width: 10px;
  height: 10px;
  background-color: #fff;
  -webkit-mask-image: url(../img/rf-icon-dl.svg);
          mask-image: url(../img/rf-icon-dl.svg);
  margin-right: 10px;
}
.rightfix-inner .rightfix_btn--dl01:hover {
  background: #fff;
  color: var(--color-blue);
}
.rightfix-inner .rightfix_btn--dl01:hover::before {
  background-color: var(--color-blue);
}
.rightfix-inner .rightfix_btn--dl02 {
  background: #0006ff;
}
.rightfix-inner .rightfix_btn--dl02::before {
  content: "";
  width: 10px;
  height: 10px;
  background-color: #fff;
  -webkit-mask-image: url(../img/rf-icon-dl.svg);
          mask-image: url(../img/rf-icon-dl.svg);
  margin-right: 10px;
}
.rightfix-inner .rightfix_btn--dl02:hover {
  background: #fff;
  color: #0006ff;
}
.rightfix-inner .rightfix_btn--dl02:hover::before {
  background-color: #0006ff;
}
.rightfix-inner .rightfix_btn--demo {
  background: var(--color-demo);
}
.rightfix-inner .rightfix_btn--demo::before {
  content: "";
  width: 12px;
  height: 11px;
  background-color: #fff;
  -webkit-mask-image: url(../img/rf-icon-demo.svg);
          mask-image: url(../img/rf-icon-demo.svg);
  margin-right: 10px;
}
.rightfix-inner .rightfix_btn--demo:hover {
  background: #fff;
  color: var(--color-demo);
}
.rightfix-inner .rightfix_btn--demo:hover::before {
  background-color: var(--color-demo);
}
.rightfix-inner .rightfix_btn--mail {
  background: var(--color-main);
  color: #fff;
}
.rightfix-inner .rightfix_btn--mail::before {
  content: "";
  width: 11px;
  height: 9px;
  background-color: #fff;
  -webkit-mask-image: url(../img/rf-icon-mail.svg);
          mask-image: url(../img/rf-icon-mail.svg);
  margin-right: 10px;
}
.rightfix-inner .rightfix_btn--mail:hover {
  background: #fff;
  color: var(--color-contact);
}
.rightfix-inner .rightfix_btn--mail:hover::before {
  background-color: var(--color-contact);
}
.rightfix-inner .rightfix_btn--top {
  background: #aebcc4;
}
.rightfix-inner .rightfix_btn--top::before {
  content: url("../img/easy/Icon_top.svg");
  margin-right: 10px;
}
.rightfix-inner .rightfix_btn--top:hover {
  border: 1px solid #aebcc4;
  background: #fff;
}

.titlewrap {
  margin-bottom: 60px;
}
.titlewrap .title-inner {
  position: relative;
  margin-bottom: 40px;
}
.titlewrap .title-inner h2 {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 17px;
  margin-bottom: 1em;
}
.titlewrap .title-inner h2 span.title-en {
  font-size: 20px;
  display: flex;
  gap: 10px;
  line-height: 1;
  font-family: var(--font-lex);
  font-weight: bold;
}
.titlewrap .title-inner h2 span.title-en::before {
  content: "";
  display: block;
  width: 11px;
  height: 11px;
  background: var(--color-blue);
  transform: translateY(-7px);
}
.titlewrap .title-inner h2 span.title-ja {
  font-weight: 600;
  font-size: clamp(1.875rem, 1.63rem + 1.22vw, 2.625rem);
}
.titlewrap .title-inner p {
  text-align: center;
}
@media screen and (min-width: 577px) and (max-width:767px) {
  .titlewrap .title-inner p br {
    display: none;
  }
}
@media screen and (max-width: 576px) {
  .titlewrap .title-inner p br {
    display: none;
  }
}

/*-------------------------------------------------

header

-----------------------------------------------------*/
header {
  background: #fff;
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 100;
  border-bottom: 1px solid #d9d9d9;
}
@media screen and (max-width: 1326px) {
  header .header-inner.header-inner-second {
    display: none;
  }
}
header .header-inner {
  transition: all 0.4s ease;
  padding: 13px 20px;
  display: flex;
  justify-content: space-between;
}
header .header-inner-second {
  justify-content: center;
  border-top: 1px solid #d9d9d9;
  padding: 10px 0;
}
header .header-inner .logo-wrap a {
  display: flex;
  align-items: center;
  height: 100%;
}
@media screen and (max-width: 1326px) {
  header .header-inner .logo-wrap img.hidden {
    display: none;
  }
}
@media screen and (max-width: 1326px) {
  header .header-inner .header-navi {
    display: none;
  }
}
header .header-inner .header-navi.hidden {
  display: none;
}
header .header-inner .header-navi nav ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 35px;
}
header .header-inner .header-navi nav ul li a {
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 1326px) {
  header .header-inner .header-subnavi {
    display: none;
  }
}
header .header-inner .header-subnavi.js-hidden {
  display: none;
}
header .header-inner .header-subnavi nav {
  display: flex;
  gap: 30px;
}
header .header-inner .header-subnavi nav .btns {
  display: flex;
  align-items: center;
  gap: 7px;
}
header .header-inner .header-subnavi nav .btns li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 125px;
  height: 32px;
  font-size: 10px;
  font-weight: 500;
  border-radius: 100vh;
  color: #fff;
}
header .header-inner .header-subnavi nav .btns li a:hover {
  opacity: 1;
}
header .header-inner .header-subnavi nav .btns li.dl01 a {
  background: var(--color-blue);
  border: 1px solid var(--color-blue);
}
header .header-inner .header-subnavi nav .btns li.dl01 a::before {
  content: "";
  width: 10px;
  height: 10px;
  background-color: #fff;
  -webkit-mask-image: url(../img/icon-dl.svg);
          mask-image: url(../img/icon-dl.svg);
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  margin-right: 10px;
}
header .header-inner .header-subnavi nav .btns li.dl01 a:hover {
  background: #fff;
  color: var(--color-blue);
}
header .header-inner .header-subnavi nav .btns li.dl01 a:hover::before {
  background-color: var(--color-blue);
}
header .header-inner .header-subnavi nav .btns li.dl02 a {
  background: #0006ff;
  border: 1px solid #0006ff;
}
header .header-inner .header-subnavi nav .btns li.dl02 a::before {
  content: "";
  width: 10px;
  height: 10px;
  background-color: #fff;
  -webkit-mask-image: url(../img/icon-dl.svg);
          mask-image: url(../img/icon-dl.svg);
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  margin-right: 10px;
}
header .header-inner .header-subnavi nav .btns li.dl02 a:hover {
  background: #fff;
  color: #0006ff;
}
header .header-inner .header-subnavi nav .btns li.dl02 a:hover::before {
  background-color: #0006ff;
}
header .header-inner .header-subnavi nav .btns li.demo a {
  background: var(--color-demo);
  border: 1px solid var(--color-demo);
}
header .header-inner .header-subnavi nav .btns li.demo a::before {
  content: "";
  width: 12px;
  height: 11px;
  background-color: #fff;
  -webkit-mask-image: url(../img/icon-demo.svg);
          mask-image: url(../img/icon-demo.svg);
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  margin-right: 10px;
}
header .header-inner .header-subnavi nav .btns li.demo a:hover {
  background: #fff;
  color: var(--color-demo);
}
header .header-inner .header-subnavi nav .btns li.demo a:hover::before {
  background-color: var(--color-demo);
}
header .header-inner .header-subnavi nav .btns li.mail a {
  background: var(--color-contact);
  border: 1px solid var(--color-contact);
}
header .header-inner .header-subnavi nav .btns li.mail a::before {
  content: "";
  width: 11px;
  height: 9px;
  background-color: #fff;
  -webkit-mask-image: url(../img/icon-mail.svg);
          mask-image: url(../img/icon-mail.svg);
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  margin-right: 10px;
}
header .header-inner .header-subnavi nav .btns li.mail a:hover {
  background: #fff;
  color: var(--color-contact);
}
header .header-inner .header-subnavi nav .btns li.mail a:hover::before {
  background-color: var(--color-contact);
}
header .btn-trigger {
  display: block;
}
@media screen and (min-width: 1025px) {
  header .btn-trigger {
    display: none;
  }
}
@media screen and (max-width: 1326px) {
  header .btn-trigger {
    position: relative;
    width: 30px;
    height: 30px;
    cursor: pointer;
  }
  header .btn-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: var(--color-main);
    border-radius: 4px;
  }
  header .btn-trigger,
  header .btn-trigger span {
    display: inline-block;
    transition: all 0.5s;
    box-sizing: border-box;
  }
  header .btn-trigger span:nth-of-type(1) {
    top: 0;
  }
  header .btn-trigger span:nth-of-type(2) {
    top: 13px;
  }
  header .btn-trigger span:nth-of-type(3) {
    bottom: 0;
  }
  header #menubtn.active span:nth-of-type(1) {
    transform: translateY(13px) rotate(45deg);
  }
  header #menubtn.active span:nth-of-type(2) {
    opacity: 0;
  }
  header #menubtn.active span:nth-of-type(3) {
    transform: translateY(-13px) rotate(-45deg);
  }
  header .spnavi {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #fff;
    padding-top: 100px;
    z-index: -1;
  }
  header .spnavi nav {
    display: flex;
    flex-direction: column;
    gap: 1em;
    align-items: center;
    justify-content: center;
  }
  header .spnavi nav li {
    margin-bottom: 10px;
  }
  header .spnavi nav li a {
    font-weight: bold;
  }
  header .spnavi nav ul.btns {
    gap: 7px;
  }
  header .spnavi nav ul.btns li a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-left: 20px;
    width: 154px;
    height: 44px;
    font-size: 11px;
    font-weight: bold;
    border-radius: 100vh;
    color: #fff;
  }
  header .spnavi nav ul.btns li a:hover {
    opacity: 1;
  }
  header .spnavi nav ul.btns li.dl01 a {
    background: var(--color-blue);
    border: 1px solid var(--color-blue);
  }
  header .spnavi nav ul.btns li.dl01 a::before {
    content: "";
    width: 10px;
    height: 10px;
    background-color: #fff;
    -webkit-mask-image: url(../img/icon-dl.svg);
            mask-image: url(../img/icon-dl.svg);
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    margin-right: 10px;
  }
  header .spnavi nav ul.btns li.dl01 a:hover {
    background: #fff;
    color: var(--color-blue);
  }
  header .spnavi nav ul.btns li.dl01 a:hover::before {
    background-color: var(--color-blue);
  }
  header .spnavi nav ul.btns li.dl02 a {
    background: #0006ff;
    border: 1px solid #0006ff;
  }
  header .spnavi nav ul.btns li.dl02 a::before {
    content: "";
    width: 10px;
    height: 10px;
    background-color: #fff;
    -webkit-mask-image: url(../img/icon-dl.svg);
            mask-image: url(../img/icon-dl.svg);
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    margin-right: 10px;
  }
  header .spnavi nav ul.btns li.dl02 a:hover {
    background: #fff;
    color: #0006ff;
  }
  header .spnavi nav ul.btns li.dl02 a:hover::before {
    background-color: #0006ff;
  }
  header .spnavi nav ul.btns li.demo a {
    background: var(--color-demo);
    border: 1px solid var(--color-demo);
  }
  header .spnavi nav ul.btns li.demo a::before {
    content: "";
    width: 12px;
    height: 11px;
    background-color: #fff;
    -webkit-mask-image: url(../img/icon-demo.svg);
            mask-image: url(../img/icon-demo.svg);
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    margin-right: 10px;
  }
  header .spnavi nav ul.btns li.demo a:hover {
    background: #fff;
    color: var(--color-demo);
  }
  header .spnavi nav ul.btns li.demo a:hover::before {
    background-color: var(--color-demo);
  }
  header .spnavi nav ul.btns li.mail a {
    background: var(--color-contact);
    border: 1px solid var(--color-contact);
  }
  header .spnavi nav ul.btns li.mail a::before {
    content: "";
    width: 11px;
    height: 9px;
    background-color: #fff;
    -webkit-mask-image: url(../img/icon-mail.svg);
            mask-image: url(../img/icon-mail.svg);
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    margin-right: 10px;
  }
  header .spnavi nav ul.btns li.mail a:hover {
    background: #fff;
    color: var(--color-contact);
  }
  header .spnavi nav ul.btns li.mail a:hover::before {
    background-color: var(--color-contact);
  }
}
@media screen and (min-width: 1025px) {
  header.js-scrolled .logo-wrap a img {
    height: 20px;
    width: auto;
  }
  header.js-scrolled .header-inner.header-inner-second {
    display: none;
  }
  header.js-scrolled .header-inner {
    padding: 6px 20px;
  }
  header.js-scrolled .header-navi.hidden {
    display: block;
  }
  header.js-scrolled .header-subnavi {
    display: none;
  }
}

/*-------------------------------------------------

#mv

-----------------------------------------------------*/
#mv {
  background: url("../img/mvbg.svg") no-repeat center;
  background-size: 96%;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 475px;
  padding-top: 31px;
}
@media screen and (min-width: 768px) and (max-width:1024px) {
  #mv {
    background-position: left center;
    padding-bottom: 10%;
    background-size: auto 100%;
    padding-top: 10%;
    position: relative;
  }
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #mv {
    position: relative;
    margin-bottom: 30px;
    height: 613px;
    align-items: unset;
    padding-top: 9px;
  }
}
@media screen and (max-width: 576px) {
  #mv {
    position: relative;
    margin-bottom: 30px;
    height: 613px;
    align-items: unset;
    padding-top: 9px;
  }
}
#mv .container .mv-inner {
  height: 355px;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  position: relative;
  padding-bottom: 43px;
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #mv .container .mv-inner {
    height: 100%;
    padding: 0 20px;
    justify-content: flex-start;
  }
}
@media screen and (max-width: 576px) {
  #mv .container .mv-inner {
    height: 100%;
    padding: 0 20px;
    justify-content: flex-start;
  }
}
#mv .container .mv-inner .mv-text01 {
  display: flex;
  gap: 15px;
  align-items: center;
  margin-bottom: 28px;
}
#mv .container .mv-inner .mv-text01 h1 {
  font-size: 15px;
  font-weight: 500;
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #mv .container .mv-inner .mv-text01 {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 10px;
  }
  #mv .container .mv-inner .mv-text01 h1 {
    font-size: clamp(0.625rem, 0.208rem + 2.08vw, 0.938rem);
  }
}
@media screen and (max-width: 576px) {
  #mv .container .mv-inner .mv-text01 {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 10px;
  }
  #mv .container .mv-inner .mv-text01 h1 {
    font-size: clamp(0.625rem, 0.208rem + 2.08vw, 0.938rem);
  }
}
#mv .container .mv-inner .mv-text02 {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 10px;
  color: #ff2463;
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #mv .container .mv-inner .mv-text02 {
    font-size: 16px;
  }
}
@media screen and (max-width: 576px) {
  #mv .container .mv-inner .mv-text02 {
    font-size: 16px;
  }
}
#mv .container .mv-inner .mv-text03 {
  font-size: clamp(1.875rem, 1.451rem + 0.88vw, 2.5rem);
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 24px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 576px) {
  #mv .container .mv-inner .mv-text03 {
    font-size: clamp(1.25rem, 0.795rem + 2.27vw, 2.5rem);
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 0;
    position: relative;
    z-index: 1;
  }
  #mv .container .mv-inner .mv-text03 br {
    display: none;
  }
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #mv .container .mv-inner .mv-text03 {
    font-size: clamp(1.25rem, 0.795rem + 2.27vw, 2.5rem);
  }
  #mv .container .mv-inner .mv-text03 br {
    display: none;
  }
}
#mv .container .mv-inner--btns {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) and (max-width:1024px) {
  #mv .container .mv-inner--btns {
    width: 55vw;
  }
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #mv .container .mv-inner--btns {
    position: absolute;
    z-index: 1;
    bottom: 20px;
    left: 0;
    width: 100%;
  }
}
@media screen and (max-width: 576px) {
  #mv .container .mv-inner--btns {
    position: absolute;
    z-index: 1;
    top: auto;
    bottom: 20px;
    left: 0;
    width: 100%;
  }
}
#mv .container .mv-inner--btns ul {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #mv .container .mv-inner--btns ul {
    width: 100%;
    justify-content: center;
  }
}
@media screen and (max-width: 576px) {
  #mv .container .mv-inner--btns ul {
    width: 100%;
    flex-direction: column;
    gap: 10px;
  }
}
#mv .container .mv-inner--btns ul li a {
  height: 56px;
  border-radius: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  line-height: 1.4;
}
#mv .container .mv-inner--btns ul li a:hover {
  opacity: 1;
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #mv .container .mv-inner--btns ul li a {
    width: 100%;
  }
}
@media screen and (max-width: 576px) {
  #mv .container .mv-inner--btns ul li a {
    width: 100%;
  }
}
#mv .container .mv-inner--btns ul li.dl01 {
  width: calc((100% - 13px) / 2);
}
@media screen and (max-width: 576px) {
  #mv .container .mv-inner--btns ul li.dl01 {
    width: 100%;
  }
}
#mv .container .mv-inner--btns ul li.dl01 a {
  background: var(--color-blue);
  border: 1px solid var(--color-blue);
  color: #fff;
}
#mv .container .mv-inner--btns ul li.dl01 a::before {
  content: "";
  width: 15px;
  height: 15px;
  background-color: #fff;
  -webkit-mask-image: url(../img/mv-icon-dl.svg);
          mask-image: url(../img/mv-icon-dl.svg);
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  margin-right: 10px;
}
#mv .container .mv-inner--btns ul li.dl01 a:hover {
  background: #fff;
  color: var(--color-blue);
}
#mv .container .mv-inner--btns ul li.dl01 a:hover::before {
  background-color: var(--color-blue);
}
#mv .container .mv-inner--btns ul li.dl02 {
  width: calc((100% - 13px) / 2);
}
@media screen and (max-width: 576px) {
  #mv .container .mv-inner--btns ul li.dl02 {
    width: 100%;
  }
}
#mv .container .mv-inner--btns ul li.dl02 a {
  background: #0006ff;
  border: 1px solid #0006ff;
  color: #fff;
}
#mv .container .mv-inner--btns ul li.dl02 a::before {
  content: "";
  width: 15px;
  height: 15px;
  background-color: #fff;
  -webkit-mask-image: url(../img/mv-icon-dl.svg);
          mask-image: url(../img/mv-icon-dl.svg);
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  margin-right: 10px;
}
#mv .container .mv-inner--btns ul li.dl02 a:hover {
  background: #fff;
  color: #0006ff;
}
#mv .container .mv-inner--btns ul li.dl02 a:hover::before {
  background-color: #0006ff;
}
#mv .container .mv-inner--btns ul li.mail {
  width: 100%;
}
#mv .container .mv-inner--btns ul li.mail a {
  background: var(--color-contact);
  border: 1px solid var(--color-contact);
  color: #fff;
}
#mv .container .mv-inner--btns ul li.mail a::before {
  content: "";
  width: 16px;
  height: 13px;
  background-color: #fff;
  -webkit-mask-image: url(../img/mv-icon-mail.svg);
          mask-image: url(../img/mv-icon-mail.svg);
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  margin-right: 10px;
}
#mv .container .mv-inner--btns ul li.mail a:hover {
  background: #fff;
  color: var(--color-contact);
}
#mv .container .mv-inner--btns ul li.mail a:hover::before {
  background-color: var(--color-contact);
}
#mv .container .mv-inner .mv-img {
  position: absolute;
  bottom: -43px;
  right: 0;
  z-index: 0;
}
@media screen and (min-width: 768px) and (max-width:1024px) {
  #mv .container .mv-inner .mv-img {
    width: 40vw;
  }
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #mv .container .mv-inner .mv-img {
    width: 100%;
    position: absolute;
    bottom: 125px;
    text-align: center;
  }
  #mv .container .mv-inner .mv-img img {
    width: auto;
    margin: auto;
  }
}
@media screen and (max-width: 576px) {
  #mv .container .mv-inner .mv-img {
    width: 100%;
    position: absolute;
    bottom: 200px;
  }
  #mv .container .mv-inner .mv-img img {
    width: 100%;
  }
}

.banner {
  padding: 70px 0;
}
@media screen and (max-width: 576px) {
  .banner {
    padding: 30px 0;
  }
}
.banner a {
  display: block;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}

/*-------------------------------------------------

#problem

-----------------------------------------------------*/
#problem {
  padding: 0 0 158px;
}
#problem .problem-inner {
  background: var(--color-bg);
  border-radius: 20px;
  padding: 100px 134px;
}
@media screen and (min-width: 1294px) {
  #problem .problem-inner {
    margin-right: -67px;
    margin-left: -67px;
  }
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #problem .problem-inner {
    padding: 100px 20px;
  }
}
@media screen and (max-width: 576px) {
  #problem .problem-inner {
    padding: 100px 20px;
  }
}
#problem .problem-inner .problem-list {
  background: #fff;
  border-radius: 20px;
  padding: 50px 60px;
  box-shadow: 5px 5px 20px rgba(16, 24, 32, 0.08);
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #problem .problem-inner .problem-list {
    padding: 30px;
  }
}
@media screen and (max-width: 576px) {
  #problem .problem-inner .problem-list {
    padding: 30px;
  }
}
#problem .problem-inner .problem-list ul {
  border-bottom: 1px solid var(--color-blue);
}
#problem .problem-inner .problem-list ul li {
  background: url(../img/icon-chk.svg) no-repeat left top 28px;
  font-size: 18px;
  text-align: center;
  padding: 20px 20px 20px 30px;
  line-height: 1.2;
  font-weight: 500;
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #problem .problem-inner .problem-list ul li {
    line-height: 1.5;
  }
}
@media screen and (max-width: 576px) {
  #problem .problem-inner .problem-list ul li {
    line-height: 1.5;
  }
}
#problem .problem-inner .problem-list ul li + li {
  border-top: 1px solid var(--color-blue);
}
#problem .problem-inner .problem-list ul li .textcolor-lightblue {
  color: var(--color-blue);
  font-weight: 600;
}
#problem .problem-inner .problem-arrow {
  position: relative;
}
#problem .problem-inner .problem-arrow img {
  position: absolute;
  top: 34px;
  left: 50%;
  transform: translateX(-50%);
}

/*-------------------------------------------------

#solution

-----------------------------------------------------*/
#solution .solution-items-wrap {
  background-color: #23c9ff;
  padding: 40px 67px 50px;
  border-radius: 20px;
}
@media screen and (min-width: 1294px) {
  #solution .solution-items-wrap {
    margin-right: -67px;
    margin-left: -67px;
  }
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #solution .solution-items-wrap {
    padding-right: 20px;
    padding-left: 20px;
  }
}
@media screen and (max-width: 576px) {
  #solution .solution-items-wrap {
    padding-right: 20px;
    padding-left: 20px;
  }
}
#solution .solution-items-wrap h2.title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 43px;
  padding-bottom: 40px;
  border-bottom: 1px solid #fff;
  margin-bottom: 20px;
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #solution .solution-items-wrap h2.title {
    flex-direction: column;
    gap: 20px;
  }
}
@media screen and (max-width: 576px) {
  #solution .solution-items-wrap h2.title {
    flex-direction: column;
    gap: 20px;
  }
}
#solution .solution-items-wrap h2.title span {
  font-size: 20px;
  padding: 0 35px;
  border-right: 1px solid #101820;
  border-left: 1px solid #101820;
  color: #101820;
  font-weight: 600;
  line-height: 1.7;
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #solution .solution-items-wrap h2.title span {
    border: none;
    padding: 0;
  }
}
@media screen and (max-width: 576px) {
  #solution .solution-items-wrap h2.title span {
    border: none;
    padding: 0;
  }
}
#solution .solution-items-wrap .solution-items {
  display: flex;
  gap: 56px;
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #solution .solution-items-wrap .solution-items {
    flex-direction: column;
  }
}
@media screen and (max-width: 576px) {
  #solution .solution-items-wrap .solution-items {
    flex-direction: column;
  }
}
#solution .solution-items-wrap .solution-items .solution-item_title {
  display: flex;
  align-items: center;
  gap: 20px;
  font-weight: 600;
  color: #fff;
  font-size: 28px;
  margin-bottom: 0.6em;
}
#solution .solution-items-wrap .solution-items .solution-item_title .num {
  background: #101820;
  color: #fff;
  font-family: var(--font-lex);
  font-size: 20px;
  font-weight: bold;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#solution .solution-items-wrap .solution-items .solution-item_img {
  margin-top: 24px;
  background: #fff;
  border-radius: 15px;
  height: 177px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/*-------------------------------------------------

feature

-----------------------------------------------------*/
#feature {
  padding-top: 100px;
}
#feature .text-large {
  font-weight: bold;
  font-size: 24px;
  margin-bottom: 1em;
}

/*-------------------------------------------------

pagelinks

-----------------------------------------------------*/
.pagelinks {
  padding-top: 60px;
  padding-bottom: 60px;
}
.pagelinks nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.pagelinks nav ul li {
  width: calc((100% - 36px) / 4);
}
@media screen and (min-width: 768px) and (max-width:1024px) {
  .pagelinks nav ul li {
    width: calc((100% - 24px) / 3);
  }
}
@media screen and (min-width: 577px) and (max-width:767px) {
  .pagelinks nav ul li {
    width: calc((100% - 12px) / 2);
  }
}
@media screen and (max-width: 576px) {
  .pagelinks nav ul li {
    width: 100%;
  }
}
.pagelinks nav ul li a {
  width: 100%;
  height: 95px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 16px 29px;
  border: 1px solid #d6d6d6;
  border-radius: 10px;
  background: #fff;
  position: relative;
  color: #131427;
  font-weight: 500;
  text-align: center;
  font-size: 16px;
  line-height: 1.5;
}
.pagelinks nav ul li a::after {
  content: url(../img/pagelinks-arrow.svg);
  position: absolute;
  bottom: 16px;
  font-size: 0px;
}
.pagelinks nav ul li a:hover {
  opacity: 1;
  background: #d6d6d6;
}

/*-------------------------------------------------

pickup

-----------------------------------------------------*/
/*pickup-head*/
#pickup-head {
  padding-bottom: 100px;
}
#pickup-head .container {
  border: 3px solid var(--color-blue);
  border-radius: 20px;
  padding: 50px 60px;
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #pickup-head .container {
    padding-right: 20px;
    padding-left: 20px;
    margin-right: 20px;
    margin-left: 20px;
    width: calc(100% - 40px);
  }
}
@media screen and (max-width: 576px) {
  #pickup-head .container {
    padding-right: 20px;
    padding-left: 20px;
    margin-right: 20px;
    margin-left: 20px;
    width: calc(100% - 40px);
  }
}
#pickup-head .container h2 {
  display: flex;
  color: #fff;
  background: var(--color-blue);
  border-radius: 10px;
  width: 180px;
  height: 67px;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 600;
  margin: auto;
  margin-bottom: 24px;
}
#pickup-head .container h2 + p {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 40px;
  text-align: center;
}
#pickup-head .container .pickup-items {
  display: flex;
  gap: 39px;
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #pickup-head .container .pickup-items {
    flex-direction: column;
  }
}
@media screen and (max-width: 576px) {
  #pickup-head .container .pickup-items {
    flex-direction: column;
  }
}
#pickup-head .container .pickup-items .pickup-item {
  flex: 1;
}
#pickup-head .container .pickup-items .pickup-item_img {
  position: relative;
  margin-bottom: 20px;
}
#pickup-head .container .pickup-items .pickup-item_img .img-num {
  position: absolute;
  top: 13px;
  line-height: 1;
  left: 13px;
  font-size: 26px;
  font-weight: bold;
  font-family: var(--font-lex);
  color: var(--color-blue);
}
#pickup-head .container .pickup-items .pickup-item_img img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}
#pickup-head .container .pickup-items .pickup-item_text h3 {
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 20px;
}

/*pickup-body*/
#pickup-body {
  background: var(--color-bg);
  padding: 100px 0;
}
#pickup-body .pickup-body-item_wrap + .pickup-body-item_wrap {
  margin-top: 80px;
}
#pickup-body .pickup-body-item_title {
  margin-bottom: 60px;
}
#pickup-body .pickup-body-item_title h2 {
  font-size: 30px;
  font-weight: 600;
  display: flex;
  gap: 17px;
  line-height: 1.8;
  margin-bottom: 30px;
}
#pickup-body .pickup-body-item_title h2::before {
  content: "";
  width: 19px;
  height: 19px;
  background: #00ffff;
  display: block;
  transform: translateY(6px);
  flex-shrink: 0;
}
#pickup-body .pickup-body-item_title .font-large {
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 19px;
  line-height: 1.2;
}
#pickup-body .pickup-body-item_items {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 56px;
}
#pickup-body .pickup-body-item_items__item {
  background: #fff;
  padding: 34px 32px 40px;
  text-align: center;
  border-radius: 15px;
  width: calc((100% - 112px) / 3);
}
@media screen and (min-width: 768px) and (max-width:1024px) {
  #pickup-body .pickup-body-item_items__item {
    width: calc((100% - 56px) / 2);
  }
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #pickup-body .pickup-body-item_items__item {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
}
@media screen and (max-width: 576px) {
  #pickup-body .pickup-body-item_items__item {
    width: 100%;
  }
}
#pickup-body .pickup-body-item_items__item .icon {
  margin-bottom: 16px;
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #pickup-body .pickup-body-item_items__item .icon {
    width: 102px;
    margin-bottom: 0;
  }
}
#pickup-body .pickup-body-item_items__item h3 {
  margin-bottom: 1em;
  font-size: 20px;
  font-weight: 600;
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #pickup-body .pickup-body-item_items__item h3 {
    width: calc(100% - 102px);
    text-align: left;
    padding-left: 20px;
  }
}
#pickup-body .pickup-body-item_items__item p {
  text-align: left;
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #pickup-body .pickup-body-item_items__item p {
    margin-top: 30px;
    width: 100%;
  }
}
@media screen and (max-width: 576px) {
  #pickup-body .pickup-body-item_items__item p {
    margin-top: 30px;
  }
}
#pickup-body #pickup2 h2::before {
  background: #23c9ff;
}
#pickup-body #pickup3 h2::before {
  background: #0006ff;
}
#pickup-body #pickup4 h2::before {
  background: #7300ff;
}
#pickup-body #pickup5 h2::before {
  background: #ff2463;
}
#pickup-body #pickup6 h2::before {
  background: #ff5e2a;
}
#pickup-body #pickup7 .bgblue {
  background: #dce9f7;
  padding: 80px 67px;
  border-radius: 20px;
}
@media screen and (min-width: 1294px) {
  #pickup-body #pickup7 .bgblue {
    margin-right: -67px;
    margin-left: -67px;
  }
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #pickup-body #pickup7 .bgblue {
    padding-right: 20px;
    padding-left: 20px;
  }
}
@media screen and (max-width: 576px) {
  #pickup-body #pickup7 .bgblue {
    padding-right: 20px;
    padding-left: 20px;
  }
}
#pickup-body #pickup7 h2::before {
  background: #23c9ff;
}

/*-------------------------------------------------

case

-----------------------------------------------------*/
#case {
  padding: 100px 0 120px;
}
#case .titlewrap {
  margin-bottom: 60px;
}
#case .titlewrap h2 + p {
  font-size: 24px;
  font-weight: 600;
}
#case .case-items {
  padding-top: 50px;
  display: flex;
  flex-direction: column;
  gap: 60px;
}
#case .case-items .case-item_title {
  display: flex;
  align-items: center;
  gap: 33px;
  margin-bottom: 30px;
}
@media screen and (max-width: 576px) {
  #case .case-items .case-item_title {
    flex-direction: column;
    gap: 20px;
  }
}
#case .case-items .case-item_title .num {
  width: 106px;
  height: 106px;
  background: var(--color-blue);
  font-family: var(--font-lex);
  font-weight: bold;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1;
  color: #fff;
}
@media screen and (max-width: 576px) {
  #case .case-items .case-item_title .num {
    width: 86px;
    height: 86px;
    margin-right: auto;
  }
}
#case .case-items .case-item_title .num span:nth-child(1) {
  font-size: 17px;
}
#case .case-items .case-item_title .num span:nth-child(2) {
  font-size: 33px;
}
#case .case-items .case-item_title .text {
  flex: 1;
}
#case .case-items .case-item_title .text .subtitle {
  font-size: 18px;
  font-weight: 500;
  display: block;
}
#case .case-items .case-item_title .text .title {
  font-size: 26px;
  font-weight: 600;
}
#case .case-items .case-item_item {
  display: flex;
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #case .case-items .case-item_item {
    flex-direction: column;
  }
}
@media screen and (max-width: 576px) {
  #case .case-items .case-item_item {
    flex-direction: column;
  }
}
#case .case-items .case-item_item h4 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: 48px;
  padding: 0 30px;
  margin: auto;
  border-radius: 40px;
  margin-bottom: 30px;
}
#case .case-items .case-item_item .list {
  background: #fff;
  border-radius: 15px;
  padding: 30px;
  text-align: left;
}
#case .case-items .case-item_item .list ul li {
  padding-left: 1em;
  text-indent: -1.4em;
}
#case .case-items .case-item_item .list ul li + li {
  margin-top: 15px;
}
#case .case-items .case-item_item .before {
  background: #ededed;
  border-radius: 15px;
  padding: 36px 22px 27px;
  flex: 1;
  text-align: center;
}
#case .case-items .case-item_item .before h4 {
  background: #cccccc;
  font-size: 20px;
  font-weight: 600;
}
#case .case-items .case-item_item .before ul {
  list-style: disc;
  list-style-position: inside;
}
#case .case-items .case-item_item .case-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #case .case-items .case-item_item .case-arrow img {
    transform: rotate(90deg);
  }
}
@media screen and (max-width: 576px) {
  #case .case-items .case-item_item .case-arrow img {
    transform: rotate(90deg);
  }
}
#case .case-items .case-item_item .after {
  background: #23c9ff;
  border-radius: 15px;
  padding: 36px 22px 27px;
  flex: 1;
  text-align: center;
}
#case .case-items .case-item_item .after h4 {
  font-size: 24px;
  font-weight: 600;
  color: #fff;
  background: #0006ff;
}
@media screen and (max-width: 576px) {
  #case .case-items .case-item_item .after h4 {
    font-size: clamp(1.125rem, 0.958rem + 0.83vw, 1.25rem);
  }
}
#case .case-items .case-item_item .after .list ul li {
  text-indent: -1.7em;
  padding-left: 1em;
}
#case .case-items .case-item_item .after .list ul li::before {
  content: url(../img/case-chk.svg);
  margin-right: 12px;
}

/*-------------------------------------------------

#support

-----------------------------------------------------*/
#support {
  background: #f4f6f8;
  padding: 96px 0 100px;
}
#support .titlewrap h2 .title-ja {
  text-align: center;
  line-height: 1.5;
}
#support .support-head {
  display: flex;
  gap: 34px;
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #support .support-head {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 576px) {
  #support .support-head {
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 1025px) {
  #support .support-head-item {
    flex: 1;
  }
}
@media screen and (min-width: 768px) and (max-width:1024px) {
  #support .support-head-item {
    flex: 1;
  }
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #support .support-head-item {
    width: calc((100% - 34px) / 2);
  }
}
@media screen and (max-width: 576px) {
  #support .support-head-item {
    width: 100%;
  }
}
#support .support-head-item_img {
  margin-bottom: 20px;
}
#support .support-head-item_img img {
  max-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  border-radius: 15px;
}
#support .support-head-item_text h3 {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 25px;
}
#support .support-body {
  background: #23c9ff;
  padding: 60px 67px;
  border-radius: 20px;
  margin-top: 60px;
}
@media screen and (min-width: 1294px) {
  #support .support-body {
    margin-right: -67px;
    margin-left: -67px;
  }
}
@media screen and (min-width: 577px) and (max-width:767px) {
  #support .support-body {
    padding: 30px;
  }
}
@media screen and (max-width: 576px) {
  #support .support-body {
    padding: 30px;
  }
}
#support .support-body h2 {
  color: #fff;
  font-size: clamp(1.875rem, 1.712rem + 0.82vw, 2.375rem);
  line-height: 1.6;
  font-weight: 600;
  text-align: center;
}
#support .support-body h2 + p.font-large {
  font-size: 24px;
  font-weight: 600;
  text-align: center;
  margin-bottom: 21px;
}
#support .support-body h2 + p.font-large + p {
  text-align: center;
}
#support .support-body .support-table {
  margin-top: 60px;
  position: relative;
  overflow-x: auto;
}
#support .support-body .support-table table {
  width: 100%;
  padding-left: 200px;
  min-width: 1000px;
}
@media screen and (max-width: 576px) {
  #support .support-body .support-table table {
    min-width: 1px;
    padding-left: 0;
    display: block;
    width: 100%;
  }
}
#support .support-body .support-table table caption {
  position: absolute;
  left: 0;
  top: 3px;
  width: 188px;
  height: calc(100% - 6px);
  background: #0006ff;
  color: #fff;
  font-size: 29px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
}
@media screen and (max-width: 576px) {
  #support .support-body .support-table table caption {
    position: static;
    width: 100%;
    display: block;
  }
}
#support .support-body .support-table table th,
#support .support-body .support-table table td {
  border: 3px solid transparent;
  background: #fff;
  padding: 15px 20px;
}
@media screen and (max-width: 576px) {
  #support .support-body .support-table table th,
  #support .support-body .support-table table td {
    display: block;
    width: 100%;
  }
}
#support .support-body .support-table table th {
  border-radius: 10px 0px 0px 10px;
  text-align: left;
}
@media screen and (max-width: 576px) {
  #support .support-body .support-table table th {
    border-radius: 10px 10px 0px 0px;
  }
}
#support .support-body .support-table table td {
  border-radius: 0px 10px 10px 0px;
}
@media screen and (max-width: 576px) {
  #support .support-body .support-table table td {
    border-radius: 0px 0px 10px 10px;
    border-top: 1px solid var(--color-blue);
  }
}
#support .support-body .support-table table td ul li {
  display: flex;
  gap: 12px;
}
#support .support-body .support-table table td ul li::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 10px;
  background: var(--color-blue);
  transform: translateY(0.8em);
  flex-shrink: 0;
}

/*-------------------------------------------------

#faq

-----------------------------------------------------*/
#faq {
  padding: 100px 0 120px;
}
#faq .faq-items {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
#faq .faq-items .faq-item {
  background: #fff;
  padding: 30px 46px;
  border-radius: 40px;
  box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.08);
  cursor: pointer;
}
@media screen and (max-width: 576px) {
  #faq .faq-items .faq-item {
    padding-left: 20px;
  }
}
#faq .faq-items .faq-item .q {
  display: flex;
  gap: 24px;
}
#faq .faq-items .faq-item .q p {
  flex: 1;
  font-size: 18px;
  font-weight: bold;
}
#faq .faq-items .faq-item .q::before {
  content: "Q";
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-lex);
  font-size: 23px;
  font-weight: bold;
  width: 38px;
  height: 38px;
  background: var(--color-blue);
  color: #fff;
}
#faq .faq-items .faq-item .a {
  display: none;
  gap: 24px;
  margin-top: 30px;
}
#faq .faq-items .faq-item .a p {
  flex: 1;
}
#faq .faq-items .faq-item .a::before {
  content: "A";
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-text);
  font-size: 23px;
  font-weight: bold;
  width: 38px;
  height: 38px;
  color: #fff;
  background: var(--color-text);
}
#faq .faq-items .faq-item .a a {
  color: var(--color-blue);
  text-decoration: underline;
}
#faq .faq-items .faq-item .a a:hover {
  opacity: 1;
  text-align: none;
}
#faq .faq-items .faq-item .toggle {
  position: relative;
}
#faq .faq-items .faq-item .toggle span {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 20px;
  height: 3px;
  background: var(--color-blue);
  transition: all 0.3s ease;
}
#faq .faq-items .faq-item .toggle span:nth-child(1) {
  transform: translateY(-50%) rotate(-90deg);
}
#faq .faq-items .faq-item .toggle span:nth-child(2) {
  transform: translateY(-50%) rotate(180deg);
}
#faq .faq-items .faq-item.open .a {
  display: flex;
}
#faq .faq-items .faq-item.open .toggle span:nth-child(1) {
  transform: translateY(-50%) rotate(0);
}
#faq .faq-items .faq-item.open .toggle span:nth-child(2) {
  transform: translateY(-50%) rotate(0);
}

/*-------------------------------------------------

#documents

-----------------------------------------------------*/
#documents {
  background: var(--color-bg);
  padding: 80px 0;
}
#documents .container {
  display: flex;
}
@media screen and (max-width: 1300px) {
  #documents .container {
    flex-direction: column;
    padding-left: 20px;
    padding-right: 20px;
  }
}
#documents .container h2 {
  font-size: 28px;
  font-weight: 600;
  display: flex;
  gap: 18px;
  line-height: 1.6;
  margin-bottom: 30px;
}
#documents .container h2::before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  border-radius: 10px;
  background: var(--color-blue);
  transform: translateY(0.6em);
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  #documents .container h2 br {
    display: none;
  }
}
#documents .container .document-items {
  display: flex;
  gap: 32px;
}
@media screen and (max-width: 767px) {
  #documents .container .document-items {
    flex-direction: column;
  }
}
#documents .container .document-items .document-item a {
  display: block;
  width: 362px;
  gap: 32px;
  height: 590px;
  padding: 34px 34px 54px;
  background: #fff;
  border: 1px solid var(--color-blue);
  border-radius: 15px;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.08);
}
@media screen and (max-width: 1300px) {
  #documents .container .document-items .document-item a {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  #documents .container .document-items .document-item a {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    height: auto;
  }
}
#documents .container .document-items .document-item a h3 {
  margin-bottom: 37px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  #documents .container .document-items .document-item a h3 {
    width: 100%;
    margin-bottom: 20px;
  }
  #documents .container .document-items .document-item a h3 br {
    display: none;
  }
}
#documents .container .document-items .document-item a .doc-img {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 31px;
}
@media screen and (min-width: 577px) and (max-width: 767px) {
  #documents .container .document-items .document-item a .doc-img {
    width: 40%;
    max-width: 222px;
  }
}
@media screen and (max-width: 576px) {
  #documents .container .document-items .document-item a .doc-img {
    width: 100%;
    max-width: 100%;
  }
}
#documents .container .document-items .document-item a p {
  margin-bottom: 31px;
}
@media screen and (min-width: 577px) and (max-width: 767px) {
  #documents .container .document-items .document-item a p {
    width: calc(60% - 20px);
    padding-left: 20px;
  }
}
@media screen and (max-width: 576px) {
  #documents .container .document-items .document-item a p {
    width: 100%;
  }
}
#documents .container .documents-left {
  flex: 1;
}
#documents .container .documents-right {
  width: 362px;
}
@media screen and (max-width: 1300px) {
  #documents .container .documents-right {
    margin-top: 30px;
    width: calc((100% - 32px) / 2);
  }
}
@media screen and (max-width: 767px) {
  #documents .container .documents-right {
    width: 100%;
  }
}
#documents .container .documents-right h3 {
  height: 62px;
  color: #fff;
  border-radius: 5px;
  background: var(--color-demo);
  display: flex;
  align-items: center;
  justify-content: center;
}
#documents .container .documents-right .document-item a {
  border: 1px solid var(--color-demo);
}
#documents .container .documents-right h2::before {
  background: var(--color-demo);
}
#documents .btn-round {
  width: 187px;
  height: 65px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-blue);
  background: var(--color-blue);
  color: #fff;
  font-weight: bold;
  margin: auto auto 0;
  border-radius: 100vh;
  transition: all 0.3s ease;
  gap: 10px;
}
#documents .btn-round::before {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214.909%22%20height%3D%2214.909%22%20viewBox%3D%220%200%2014.909%2014.909%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_4357%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%204357%22%20transform%3D%22translate(-1939.421%200.5)%22%3E%20%3Cg%20id%3D%22Icon_feather-download%22%20data-name%3D%22Icon%20feather-download%22%20transform%3D%22translate(1939.921)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_9670%22%20data-name%3D%22%E3%83%91%E3%82%B9%209670%22%20d%3D%22M18.409%2C22.5v3.091a1.545%2C1.545%2C0%2C0%2C1-1.545%2C1.545H6.045A1.545%2C1.545%2C0%2C0%2C1%2C4.5%2C25.591V22.5%22%20transform%3D%22translate(-4.5%20-13.227)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_9671%22%20data-name%3D%22%E3%83%91%E3%82%B9%209671%22%20d%3D%22M10.5%2C15l3.864%2C3.864L18.227%2C15%22%20transform%3D%22translate(-7.409%20-9.591)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_9672%22%20data-name%3D%22%E3%83%91%E3%82%B9%209672%22%20d%3D%22M18%2C13.773V4.5%22%20transform%3D%22translate(-11.045%20-4.5)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
          mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214.909%22%20height%3D%2214.909%22%20viewBox%3D%220%200%2014.909%2014.909%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_4357%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%204357%22%20transform%3D%22translate(-1939.421%200.5)%22%3E%20%3Cg%20id%3D%22Icon_feather-download%22%20data-name%3D%22Icon%20feather-download%22%20transform%3D%22translate(1939.921)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_9670%22%20data-name%3D%22%E3%83%91%E3%82%B9%209670%22%20d%3D%22M18.409%2C22.5v3.091a1.545%2C1.545%2C0%2C0%2C1-1.545%2C1.545H6.045A1.545%2C1.545%2C0%2C0%2C1%2C4.5%2C25.591V22.5%22%20transform%3D%22translate(-4.5%20-13.227)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_9671%22%20data-name%3D%22%E3%83%91%E3%82%B9%209671%22%20d%3D%22M10.5%2C15l3.864%2C3.864L18.227%2C15%22%20transform%3D%22translate(-7.409%20-9.591)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_9672%22%20data-name%3D%22%E3%83%91%E3%82%B9%209672%22%20d%3D%22M18%2C13.773V4.5%22%20transform%3D%22translate(-11.045%20-4.5)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  background: #fff;
  transition: all 0.3s ease;
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
@media screen and (max-width: 340px) {
  #documents .btn-round {
    max-width: 100%;
  }
}
#documents .btn-round.dl {
  border: 1px solid var(--color-blue);
  background: var(--color-blue);
}
#documents .btn-round.demo {
  border: 1px solid var(--color-demo);
  background: var(--color-demo);
}
#documents .btn-round.demo::before {
  width: 18px;
  height: 16px;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_15261%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2015261%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217.756%22%20height%3D%2216.307%22%20viewBox%3D%220%200%2017.756%2016.307%22%3E%20%3Cdefs%3E%20%3CclipPath%20id%3D%22clip-path%22%3E%20%3Crect%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_15358%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%2015358%22%20width%3D%2217.756%22%20height%3D%2216.306%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%221%22%2F%3E%20%3C%2FclipPath%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_14813%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2014813%22%20transform%3D%22translate(0%200)%22%20clip-path%3D%22url(%23clip-path)%22%3E%20%3Crect%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_15357%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%2015357%22%20width%3D%2216.742%22%20height%3D%2211.915%22%20rx%3D%220.917%22%20transform%3D%22translate(0.507%200.506)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3Cline%20id%3D%22%E7%B7%9A_3249%22%20data-name%3D%22%E7%B7%9A%203249%22%20y1%3D%223.377%22%20x2%3D%222.19%22%20transform%3D%22translate(4.941%2012.421)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3Cline%20id%3D%22%E7%B7%9A_3250%22%20data-name%3D%22%E7%B7%9A%203250%22%20x2%3D%222.19%22%20y2%3D%223.377%22%20transform%3D%22translate(10.625%2012.422)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3Cline%20id%3D%22%E7%B7%9A_3251%22%20data-name%3D%22%E7%B7%9A%203251%22%20x2%3D%2212.379%22%20transform%3D%22translate(2.688%2015.799)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3Cline%20id%3D%22%E7%B7%9A_3252%22%20data-name%3D%22%E7%B7%9A%203252%22%20x2%3D%2216.741%22%20transform%3D%22translate(0.507%208.788)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
          mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_15261%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2015261%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217.756%22%20height%3D%2216.307%22%20viewBox%3D%220%200%2017.756%2016.307%22%3E%20%3Cdefs%3E%20%3CclipPath%20id%3D%22clip-path%22%3E%20%3Crect%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_15358%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%2015358%22%20width%3D%2217.756%22%20height%3D%2216.306%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%221%22%2F%3E%20%3C%2FclipPath%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_14813%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2014813%22%20transform%3D%22translate(0%200)%22%20clip-path%3D%22url(%23clip-path)%22%3E%20%3Crect%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_15357%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%2015357%22%20width%3D%2216.742%22%20height%3D%2211.915%22%20rx%3D%220.917%22%20transform%3D%22translate(0.507%200.506)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3Cline%20id%3D%22%E7%B7%9A_3249%22%20data-name%3D%22%E7%B7%9A%203249%22%20y1%3D%223.377%22%20x2%3D%222.19%22%20transform%3D%22translate(4.941%2012.421)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3Cline%20id%3D%22%E7%B7%9A_3250%22%20data-name%3D%22%E7%B7%9A%203250%22%20x2%3D%222.19%22%20y2%3D%223.377%22%20transform%3D%22translate(10.625%2012.422)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3Cline%20id%3D%22%E7%B7%9A_3251%22%20data-name%3D%22%E7%B7%9A%203251%22%20x2%3D%2212.379%22%20transform%3D%22translate(2.688%2015.799)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3Cline%20id%3D%22%E7%B7%9A_3252%22%20data-name%3D%22%E7%B7%9A%203252%22%20x2%3D%2216.741%22%20transform%3D%22translate(0.507%208.788)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
#documents a:hover .btn-round {
  background: transparent;
}
#documents a:hover .btn-round.dl {
  color: var(--color-blue);
}
#documents a:hover .btn-round.dl::before {
  background: var(--color-blue);
}
#documents a:hover .btn-round.demo {
  color: var(--color-demo);
}
#documents a:hover .btn-round.demo::before {
  background: var(--color-demo);
}

/*-------------------------------------------------

#contact

-----------------------------------------------------*/
#contact {
  padding: 100px 0;
}
#contact h2 {
  margin-bottom: 30px;
}
#contact .contact-btn a.btn-round {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin: auto;
  max-width: 610px;
  width: 100%;
  height: 136px;
  background: #042d42;
  color: #fff;
  font-size: clamp(1rem, 0.918rem + 0.41vw, 1.25rem);
  font-weight: 600;
  letter-spacing: 0.15em;
  border-radius: 100vh;
  border: 1px solid #042d42;
}
@media screen and (max-width: 576px) {
  #contact .contact-btn a.btn-round {
    padding-left: 10px;
    height: 65px;
    font-size: clamp(0.75rem, 0.5rem + 1.25vw, 0.938rem);
  }
}
#contact .contact-btn a.btn-round::before {
  content: "";
  display: block;
  width: 25px;
  height: 20px;
  background: #fff;
  -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2225.141%22%20height%3D%2220.018%22%20viewBox%3D%220%200%2025.141%2020.018%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_14904%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2014904%22%20transform%3D%22translate(-13.613%20-19.25)%22%3E%20%3Crect%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_8061%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%208061%22%20width%3D%2222.367%22%20height%3D%2218.018%22%20rx%3D%221.5%22%20transform%3D%22translate(15%2020.25)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_6079%22%20data-name%3D%22%E3%83%91%E3%82%B9%206079%22%20d%3D%22M15%2C23.25l11.184%2C7.456L37.367%2C23.25%22%20transform%3D%22translate(0%200.728)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
          mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2225.141%22%20height%3D%2220.018%22%20viewBox%3D%220%200%2025.141%2020.018%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_14904%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2014904%22%20transform%3D%22translate(-13.613%20-19.25)%22%3E%20%3Crect%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_8061%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%208061%22%20width%3D%2222.367%22%20height%3D%2218.018%22%20rx%3D%221.5%22%20transform%3D%22translate(15%2020.25)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_6079%22%20data-name%3D%22%E3%83%91%E3%82%B9%206079%22%20d%3D%22M15%2C23.25l11.184%2C7.456L37.367%2C23.25%22%20transform%3D%22translate(0%200.728)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
#contact .contact-btn a.btn-round:hover {
  opacity: 1;
  background: #fff;
  color: #042d42;
}
#contact .contact-btn a.btn-round:hover::before {
  background: #042d42;
}
#contact .contact-btn .tel {
  display: inline-block;
}
#contact .contact-btn .tel a {
  font-family: "Barlow", sans-serif;
  display: inline-block;
}
#contact .contact-btn .tel a span {
  flex: 1;
  font-weight: 500;
  font-style: normal;
  font-size: 40px;
  color: var(--color-main);
  letter-spacing: 0.05em;
  padding-left: 16px;
}
#contact .contact-btn p {
  font-size: 14px;
  font-weight: 500;
}

/*-------------------------------------------------

footer

-----------------------------------------------------*/
footer {
  background: #f4f6f8;
  padding: 40px 0 0;
}
footer .footer-inner .logo {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) and (max-width:1024px) {
  footer .footer-inner .logo {
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 577px) and (max-width:767px) {
  footer .footer-inner .logo {
    margin-bottom: 30px;
    justify-content: center;
  }
}
@media screen and (max-width: 576px) {
  footer .footer-inner .logo {
    margin-bottom: 30px;
    justify-content: center;
  }
}
footer .footer-inner .logo a {
  display: flex;
  align-items: center;
}
footer .footer-primary {
  border-bottom: 1px solid #d5d5d5;
  margin-bottom: 32px;
  display: flex;
  padding-bottom: 21px;
  justify-content: space-between;
}
@media screen and (min-width: 577px) and (max-width:767px) {
  footer .footer-primary {
    flex-direction: column;
  }
}
@media screen and (max-width: 576px) {
  footer .footer-primary {
    flex-direction: column;
  }
}
footer .footer-navi nav {
  display: flex;
  gap: 30px;
}
@media screen and (min-width: 768px) and (max-width:1024px) {
  footer .footer-navi nav {
    flex-direction: column;
  }
}
@media screen and (min-width: 577px) and (max-width:767px) {
  footer .footer-navi nav {
    flex-direction: column;
  }
}
@media screen and (max-width: 576px) {
  footer .footer-navi nav {
    flex-direction: column;
  }
}
footer .footer-navi nav ul {
  display: flex;
  align-items: center;
  gap: 30px;
}
@media screen and (min-width: 768px) and (max-width:1024px) {
  footer .footer-navi nav ul {
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
  }
}
@media screen and (min-width: 577px) and (max-width:767px) {
  footer .footer-navi nav ul {
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px 12px;
  }
}
@media screen and (max-width: 576px) {
  footer .footer-navi nav ul {
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px 12px;
  }
}
footer .footer-navi nav ul li a {
  font-size: 16px;
  font-weight: bold;
}
footer .footer-secondary .btns {
  gap: 7px;
  display: flex;
  justify-content: flex-end;
}
@media screen and (min-width: 577px) and (max-width:767px) {
  footer .footer-secondary .btns {
    justify-content: center;
  }
}
@media screen and (max-width: 576px) {
  footer .footer-secondary .btns {
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
  }
}
@media screen and (max-width: 576px) {
  footer .footer-secondary .btns li {
    width: calc((100% - 7px) / 2);
  }
}
footer .footer-secondary .btns li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 154px;
  height: 44px;
  font-size: 11px;
  font-weight: bold;
  border-radius: 100vh;
}
footer .footer-secondary .btns li a:hover {
  opacity: 1;
}
@media screen and (max-width: 576px) {
  footer .footer-secondary .btns li a {
    width: 100%;
  }
}
footer .footer-secondary .btns li.dl01 a {
  background: var(--color-blue);
  border: 1px solid var(--color-blue);
  color: #fff;
}
footer .footer-secondary .btns li.dl01 a::before {
  content: "";
  width: 10px;
  height: 10px;
  background-color: #fff;
  -webkit-mask-image: url(../img/icon-dl.svg);
          mask-image: url(../img/icon-dl.svg);
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  margin-right: 10px;
}
footer .footer-secondary .btns li.dl01 a:hover {
  background: #fff;
  color: var(--color-blue);
}
footer .footer-secondary .btns li.dl01 a:hover::before {
  background-color: var(--color-blue);
}
footer .footer-secondary .btns li.dl02 a {
  background: #0006ff;
  border: 1px solid #0006ff;
  color: #fff;
}
footer .footer-secondary .btns li.dl02 a::before {
  content: "";
  width: 10px;
  height: 10px;
  background-color: #fff;
  -webkit-mask-image: url(../img/icon-dl.svg);
          mask-image: url(../img/icon-dl.svg);
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  margin-right: 10px;
}
footer .footer-secondary .btns li.dl02 a:hover {
  background: #fff;
  color: #0006ff;
}
footer .footer-secondary .btns li.dl02 a:hover::before {
  background-color: #0006ff;
}
footer .footer-secondary .btns li.demo a {
  background: var(--color-demo);
  border: 1px solid var(--color-demo);
  color: #fff;
}
footer .footer-secondary .btns li.demo a::before {
  content: "";
  width: 12px;
  height: 11px;
  background-color: #fff;
  -webkit-mask-image: url(../img/icon-demo.svg);
          mask-image: url(../img/icon-demo.svg);
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  margin-right: 10px;
}
footer .footer-secondary .btns li.demo a:hover {
  background: #fff;
  color: var(--color-demo);
}
footer .footer-secondary .btns li.demo a:hover::before {
  background-color: var(--color-demo);
}
footer .footer-secondary .btns li.mail a {
  background: var(--color-contact);
  border: 1px solid var(--color-contact);
  color: #fff;
}
footer .footer-secondary .btns li.mail a::before {
  content: "";
  width: 11px;
  height: 9px;
  background-color: #fff;
  -webkit-mask-image: url(../img/icon-mail.svg);
          mask-image: url(../img/icon-mail.svg);
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  margin-right: 10px;
}
footer .footer-secondary .btns li.mail a:hover {
  background: #fff;
  color: var(--color-contact);
}
footer .footer-secondary .btns li.mail a:hover::before {
  background-color: var(--color-contact);
}
footer .copy {
  font-size: 10px;
  padding: 155px 0 11px;
  text-align: center;
}

/*-------------------------------------------------

-----------------------------------------------------*/
/*-------------------------------------------------

-----------------------------------------------------*/
/*-------------------------------------------------

-----------------------------------------------------*/
/*-------------------------------------------------

-----------------------------------------------------*/
/*-------------------------------------------------

-----------------------------------------------------*/

/*# sourceMappingURL=style.css.map */