@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

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

svg,
img {
  max-width: 100%;
  vertical-align: middle;
}

li {
  list-style: none;
}

h1, h2, h3, h4, h5, h6, th, dt {
  font-weight: inherit;
}

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

address {
  font-style: normal;
}

:root {
  --color: #444444;
  --color-accent: #2173c4;
  --color-accent-dark: #0F3C86;
  --color-midashi: #222;
  --gradient: linear-gradient(to right, #2a9bd7 0%, #0a35c6 100%);
  --gradient-hover: linear-gradient(to right, #0a35c6 0, #2a9bd7 50%, #0a35c6 100%);
  --header-height: 5.125rem;
  --gap: 1rem;
  --gap-lg: 1.25rem;
  --padding-block: 1.875rem;
  --padding-section: 3.125rem;
  --padding-section-md: 4.375rem;
  --padding-section-lg: 5.25rem;
  --padding-page: 6.25rem;
}
@media screen and (min-width: 1024px) {
  :root {
    --header-height: 6.25rem;
  }
}
@media screen and (min-width: 1024px) {
  :root {
    --gap-lg: 1.875rem;
    --padding-block: 2.5rem;
    --padding-section: 4.375rem;
    --padding-section-md: 6.25rem;
    --padding-section-lg: 9.25rem;
    --padding-page: 12.5rem;
  }
}

.is-section-dark {
  --color: #fff;
  --color-midashi: #fff;
}

/*----------------------------------------------------
	フォーム
----------------------------------------------------*/
[hidden] {
  display: none !important;
}

[disabled] {
  cursor: not-allowed;
}

:focus:not(:focus-visible) {
  outline: none;
}

.sr-only {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  left: -9999px;
  top: -9999px;
}

input,
select,
label {
  vertical-align: middle;
  color: #444444;
}

[type=text] {
  line-height: normal;
}

input[type=text],
input[type=email],
input[type=tel],
button {
  -webkit-appearance: none;
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
  color: #444444;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
}

input[type=submit],
button {
  cursor: pointer;
}

textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  resize: none;
  padding: 0;
  border: 0;
  border-radius: 0;
  outline: none;
  background: transparent;
}

*:focus {
  outline: none;
}

/*----------------------------------------------------
	フォント
----------------------------------------------------*/
html {
  font-size: 16px;
}
@media screen and (max-width: 640px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  html {
    font-size: 2.1333333333vw;
  }
}
@media screen and (min-width: 1024px) {
  html {
    font-size: 1.1111111111vw;
  }
}
@media screen and (min-width: 1681px) {
  html {
    font-size: 18.6666666667px;
  }
}

body {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  word-wrap: break-word;
  font-weight: 500;
  color: var(--color);
}

.serif {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ 明朝", serif;
}

/*----------------------------------------------------
	レスポンシブ
----------------------------------------------------*/
@media screen and (min-width: 641px) {
  .sp {
    display: none;
  }
}

@media screen and (min-width: 1024px) {
  .sp-tab {
    display: none;
  }
}

@media screen and (max-width: 1023px) {
  .pc {
    display: none;
  }
}

@media screen and (max-width: 640px) {
  .pc-tab {
    display: none;
  }
}

@media screen and (max-width: 640px) {
  .tab {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .tab {
    display: none;
  }
}

/*----------------------------------------------------
	リンク
----------------------------------------------------*/
a {
  color: var(--color);
  text-decoration: none;
  -webkit-transition: color 0.3s cubic-bezier(0.37, 0, 0.63, 1), background 0.3s cubic-bezier(0.37, 0, 0.63, 1), border 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: color 0.3s cubic-bezier(0.37, 0, 0.63, 1), background 0.3s cubic-bezier(0.37, 0, 0.63, 1), border 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: color 0.3s cubic-bezier(0.37, 0, 0.63, 1), background 0.3s cubic-bezier(0.37, 0, 0.63, 1), border 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: color 0.3s cubic-bezier(0.37, 0, 0.63, 1), background 0.3s cubic-bezier(0.37, 0, 0.63, 1), border 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  will-change: color, background, border, opacity, shadow;
}
a img {
  -webkit-transition: color 0.3s cubic-bezier(0.37, 0, 0.63, 1), background 0.3s cubic-bezier(0.37, 0, 0.63, 1), border 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: color 0.3s cubic-bezier(0.37, 0, 0.63, 1), background 0.3s cubic-bezier(0.37, 0, 0.63, 1), border 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: color 0.3s cubic-bezier(0.37, 0, 0.63, 1), background 0.3s cubic-bezier(0.37, 0, 0.63, 1), border 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1), transform 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: color 0.3s cubic-bezier(0.37, 0, 0.63, 1), background 0.3s cubic-bezier(0.37, 0, 0.63, 1), border 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1), transform 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0, 0.63, 1);
}
@media (hover: hover) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
@media (hover: none) {
  a, button {
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
  }
}
[data-scroll-target] {
  content: "";
  display: block;
  position: relative;
  pointer-events: none;
  top: calc(-1 * var(--header-height));
}
.c-card-office [data-scroll-target] {
  top: calc(-1 * var(--header-height) - 1.875rem);
}

/*----------------------------------------------------
	コンテナ
----------------------------------------------------*/
.l-container {
  margin-inline: auto;
  width: 100%;
  max-width: 1680px;
}
@media screen and (max-width: 640px) {
  .l-container {
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .l-container {
    padding-left: 10.6666666667vw;
    padding-right: 10.6666666667vw;
  }
}
@media screen and (min-width: 1024px) {
  .l-container {
    padding-left: 9.8611111111vw;
    padding-right: 9.8611111111vw;
  }
}
@media screen and (min-width: 1681px) {
  .l-container {
    padding-left: 165.6666666667px;
    padding-right: 165.6666666667px;
  }
}

/*----------------------------------------------------
	body
----------------------------------------------------*/
html {
  height: 100%;
}

body {
  position: relative;
  height: 100%;
}
body.no-scroll {
  overflow: hidden;
  height: 100vh;
}

.l-body-wrap {
  width: 100%;
  min-height: 100%;
  background: #fff;
  -webkit-transition: opacity 0.2s cubic-bezier(0.5, 1, 0.89, 1), background 0.25s cubic-bezier(0.5, 1, 0.89, 1);
  transition: opacity 0.2s cubic-bezier(0.5, 1, 0.89, 1), background 0.25s cubic-bezier(0.5, 1, 0.89, 1);
  opacity: 0;
}
.loadedLower .l-body-wrap {
  opacity: 1;
}
.l-body-wrap.is-hide {
  opacity: 0;
}
@media screen and (max-width: 1023px) {
  .l-body-wrap {
    overflow: hidden;
  }
  .l-body-wrap:has(.c-btn-group-aside), .l-body-wrap:has(.p-about) {
    overflow: initial;
  }
}

/*----------------------------------------------------
	l-header-drawer
----------------------------------------------------*/
.l-header-drawer {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 500;
  width: 100%;
  height: 100dvh;
  overflow: auto;
  background-color: #fff;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.is-nav-open .l-header-drawer {
  opacity: 1;
  pointer-events: auto;
}
@media screen and (min-width: 1024px) {
  .l-header-drawer {
    display: none;
  }
}

.l-header-drawer__wrap {
  padding: 6.25rem 2.5rem;
}
.l-header-drawer-nav__list {
  margin-inline: -2.5rem;
  padding: 1.25rem 2.5rem;
  color: var(--color);
}
.l-header-drawer-nav__list:has(.is-open) {
  background: var(--gradient);
  --color: #fff;
}

.l-header-drawer-nav__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
}
.l-header-drawer-nav__link i {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1.375rem;
  height: 1.375rem;
  background: #fff;
  border: 1px solid #0F3C86;
  pointer-events: none;
  border-radius: 100%;
}
.l-header-drawer-nav__link i:before, .l-header-drawer-nav__link i:after {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.125rem;
  position: absolute;
  pointer-events: none;
  background: var(--color-accent-dark);
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.l-header-drawer-nav__link i:after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.l-header-drawer-nav__link i._external {
  border: none;
  margin-left: -0.625rem;
}
.l-header-drawer-nav__link i._external svg {
  width: 100%;
  height: auto;
}
.l-header-drawer-nav__link i._external:before, .l-header-drawer-nav__link i._external:after {
  display: none;
}
.l-header-drawer-nav__link.is-open i:after, .is-open .l-header-drawer-nav__link i:after {
  width: 0;
}
.l-header-drawer-subnav {
  display: none;
}
.l-header-drawer-subnav__top {
  margin-top: 0.625rem;
}
.l-header-drawer-subnav__list {
  margin-top: 1.25rem;
  display: -ms-grid;
  display: grid;
  gap: 0.875rem 1.125rem;
  -ms-grid-columns: 1fr 1.125rem 1fr;
  grid-template-columns: 1fr 1fr;
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .l-header-drawer-subnav__list .c-btn-subnav {
    width: 100%;
  }
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	ヘッダー メニュー
----------------------------------------------------*/
.l-header-menu {
  position: fixed;
  right: 15px;
  top: 10px;
  width: 3.75rem;
  height: 3.75rem;
  cursor: pointer;
  z-index: 550;
}
.l-header-menu div {
  position: relative;
}
.l-header-menu span {
  display: block;
  position: absolute;
  height: 4px;
  width: 1.875rem;
  background: #005bac;
  left: 1.875rem;
  -webkit-transition: top 0.35s cubic-bezier(0.5, 1, 0.89, 1), -webkit-transform 0s cubic-bezier(0.5, 1, 0.89, 1);
  transition: top 0.35s cubic-bezier(0.5, 1, 0.89, 1), -webkit-transform 0s cubic-bezier(0.5, 1, 0.89, 1);
  transition: top 0.35s cubic-bezier(0.5, 1, 0.89, 1), transform 0s cubic-bezier(0.5, 1, 0.89, 1);
  transition: top 0.35s cubic-bezier(0.5, 1, 0.89, 1), transform 0s cubic-bezier(0.5, 1, 0.89, 1), -webkit-transform 0s cubic-bezier(0.5, 1, 0.89, 1);
}
.l-header-menu span:nth-child(2) {
  top: calc(50% - 0.5rem);
}
.l-header-menu span:nth-child(3) {
  top: calc(50% + 0.5rem);
}
.l-header-menu.is-nav-open span {
  -webkit-transition: top 0.2s cubic-bezier(0.5, 1, 0.89, 1), -webkit-transform 0.3s 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  transition: top 0.2s cubic-bezier(0.5, 1, 0.89, 1), -webkit-transform 0.3s 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  transition: top 0.2s cubic-bezier(0.5, 1, 0.89, 1), transform 0.3s 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  transition: top 0.2s cubic-bezier(0.5, 1, 0.89, 1), transform 0.3s 0.2s cubic-bezier(0.5, 1, 0.89, 1), -webkit-transform 0.3s 0.2s cubic-bezier(0.5, 1, 0.89, 1);
}
.l-header-menu.is-nav-open span:nth-child(1) {
  top: 50%;
  -webkit-transform: scale(-1, -1) rotate(-45deg);
          transform: scale(-1, -1) rotate(-45deg);
}
.l-header-menu.is-nav-open span:nth-child(2) {
  top: 50%;
  -webkit-transform: scale(-1, -1) rotate(45deg);
          transform: scale(-1, -1) rotate(45deg);
}
@media screen and (min-width: 1024px) {
  .l-header-menu {
    display: none;
  }
}

/*----------------------------------------------------
	ヘッダー
----------------------------------------------------*/
body:not(.page-mv) .l-header {
  position: fixed;
  width: 100%;
  height: var(--header-height);
  background: #fff;
  z-index: 500;
  -webkit-transition: opacity 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: opacity 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
body.is-footer-view.is-scrolled .l-header {
  opacity: 0;
  pointer-events: none;
}
.l-header-logo {
  position: fixed;
  left: 1.4375rem;
  top: 1.125rem;
  z-index: 550;
  -webkit-transition: opacity 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: opacity 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.l-header-logo img {
  width: 4.8125rem;
}
.is-footer-view.is-scrolled .l-header-logo {
  opacity: 0;
}
@media screen and (min-width: 1024px) {
  .l-header-logo {
    left: 2.75rem;
    top: 1.5rem;
  }
  .l-header-logo img {
    width: 6.125rem;
  }
}

.l-header-nav {
  display: none;
}
@media (hover: hover) {
  .l-header-nav a.is-not-hover {
    opacity: 0.6;
  }
  .l-header-nav a.is-hover {
    color: #fff;
  }
}
@media screen and (min-width: 1024px) {
  .l-header-nav {
    display: block;
  }
}

.l-header-nav__nav {
  position: fixed;
  mix-blend-mode: exclusion;
  right: 15.25rem;
  top: 2.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  z-index: 500;
  -webkit-transition: opacity 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: opacity 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.l-header-nav__nav a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 0.3125rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-size: 1rem;
  letter-spacing: 0.1em;
}
.l-header-nav__nav i {
  width: 1rem;
  font-size: 0;
}
.l-header-nav__nav i svg {
  width: 100%;
  height: auto;
  stroke: #fff;
  fill: #fff;
}
.is-footer-view.is-scrolled .l-header-nav__nav {
  opacity: 0;
}
.l-header-nav__cta {
  display: block;
  position: fixed;
  top: 1.625rem;
  right: 2.75rem;
  z-index: 500;
  width: 9.375rem;
  -webkit-transition: opacity 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: opacity 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.is-footer-view.is-scrolled .l-header-nav__cta {
  opacity: 0;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.l-header-mgegamenu {
  display: none;
  width: 100%;
  min-height: 23.125rem;
  background: -webkit-gradient(linear, left top, right top, from(#2a9bd7), to(#0a35c6));
  background: linear-gradient(to right, #2a9bd7 0%, #0a35c6 100%);
  color: var(--color);
  opacity: 0;
  pointer-events: none;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.is-megamenu-open .l-header-mgegamenu {
  opacity: 1;
  pointer-events: auto;
}
@media screen and (min-width: 1024px) {
  .l-header-mgegamenu {
    display: block;
    padding: 5.625rem 0 1.5rem;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 450;
  }
}

.l-header-mgegamenu-section {
  padding: 0 1.25rem;
  display: none;
}
.l-header-mgegamenu-section.is-open {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.l-header-mgegamenu-section__head {
  padding-top: 2.5rem;
  width: 15.875rem;
}

.l-header-mgegamenu-section__title ._en {
  font-family: "Roboto", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 1.75rem;
  text-transform: uppercase;
}
.l-header-mgegamenu-section__title ._title {
  font-weight: bold;
  font-size: 1.25rem;
  letter-spacing: 0.1em;
}

.l-header-mgegamenu-section__more {
  margin-top: 0.75rem;
}

.l-header-mgegamenu-section__list {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1.625rem 1fr 1.625rem 1fr 1.625rem 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 1rem 1.625rem;
}

.l-header-mgegamenu-section--compnay .l-header-mgegamenu-section__list {
  padding-left: 14.5rem;
  -ms-grid-columns: 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	main
----------------------------------------------------*/
.l-main {
  position: relative;
  background: #fff;
  z-index: 2;
}
.l-main:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  background: var(--gradient);
}
.is-page-gradient .l-main:before {
  opacity: 1;
}
@media screen and (min-width: 1024px) {
  .l-main {
    min-height: 100vh;
  }
}
.l-main-container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  gap: 4.375rem;
  margin-inline: auto;
  width: 100%;
  max-width: 1680px;
  padding-left: 5.3333333333vw;
  padding-right: 5.3333333333vw;
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .l-main-container {
    padding-left: 10.6666666667vw;
    padding-right: 10.6666666667vw;
  }
}
@media screen and (min-width: 1024px) {
  .l-main-container {
    gap: 8.5rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding-left: 0;
    padding-right: 8.875rem;
  }
}

@media screen and (min-width: 1024px) {
  .l-main-container__aside {
    margin-left: 1.875rem;
    width: 16.875rem;
  }
}

@media screen and (min-width: 1024px) {
  .l-main-container__content {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

/*----------------------------------------------------
	フッター
----------------------------------------------------*/
.l-footer {
  position: relative;
  color: var(--color);
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .l-footer {
    height: 100vh;
  }
}

.l-footer__bg {
  position: relative;
}
@media screen and (max-width: 1023px) {
  .l-footer__bg ._type {
    display: block;
    position: absolute;
    right: -12px;
    top: -40px;
    width: 32.5rem;
    z-index: 2;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
  }
  .l-footer__bg ._type img {
    width: 100%;
  }
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .l-footer__bg {
    height: 100vh;
    min-height: 37.5rem;
  }
  .l-footer__bg picture img {
    width: 100%;
    height: 100vh;
    min-height: 37.5rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (min-width: 1024px) {
  .l-footer__bg picture img {
    width: 100%;
    height: 100vh;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .l-footer__bg ._type {
    display: block;
    position: absolute;
    left: calc(50% - 45rem);
    bottom: 0;
    width: 90rem;
    z-index: 2;
  }
  .l-footer__bg ._type img {
    width: 100%;
  }
}

.l-footer__wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.l-footer__wrap .l-container {
  height: 100%;
}

.l-footer__inner {
  position: relative;
  padding-top: 4.5rem;
  height: 100%;
}
@media screen and (min-width: 1024px) {
  .l-footer__inner {
    padding-top: 7.5vw;
    display: -ms-grid;
    display: grid;
        grid-template-areas: "logo nav1" "nav2 nav1" "copyright copyright";
    -ms-grid-columns: auto 1fr;
    grid-template-columns: auto 1fr;
    -ms-grid-rows: 10.875rem auto 1fr;
    grid-template-rows: 10.875rem auto 1fr;
    height: calc(100vh - 20rem);
  }
}

.l-footer-logo figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
.l-footer-logo img {
  width: 11.375rem;
}
.l-footer-logo figcaption {
  font-size: 1rem;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1024px) {
  .l-footer-logo {
    grid-area: logo;
  }
}

@media screen and (max-width: 1023px) {
  .l-footer-nav1 {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .l-footer-nav1 {
    grid-area: nav1;
    display: -ms-grid;
    display: grid;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
        grid-template-areas: "nav1 nav3 nav4" "nav2 nav3 nav5" "nav2 nav3 nav6";
    -ms-grid-rows: auto 1.125rem auto 1.125rem 1fr;
    grid-template-rows: auto auto 1fr;
    gap: 1.125rem 3.875rem;
  }
  .l-footer-nav1 .l-footer-nav1-item:nth-child(1) {
    grid-area: nav1;
  }
  .l-footer-nav1 .l-footer-nav1-item:nth-child(2) {
    grid-area: nav2;
  }
  .l-footer-nav1 .l-footer-nav1-item:nth-child(3) {
    grid-area: nav3;
  }
  .l-footer-nav1 .l-footer-nav1-item:nth-child(4) {
    grid-area: nav4;
  }
  .l-footer-nav1 .l-footer-nav1-item:nth-child(5) {
    grid-area: nav5;
  }
  .l-footer-nav1 .l-footer-nav1-item:nth-child(6) {
    grid-area: nav6;
  }
}

.l-footer-nav1-item__nav {
  font-weight: bold;
  font-size: 1rem;
  letter-spacing: 0.1em;
}
.l-footer-nav1-item__nav a svg {
  fill: var(--color);
}
.l-footer-nav1-item__nav a:hover {
  color: #2173c4;
}
.l-footer-nav1-item__nav a:hover svg {
  fill: #2173c4;
}
.l-footer-nav1-item__sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 0.875rem;
  line-height: 2;
}
.l-footer-nav1-item__sub a:hover {
  color: #2173c4;
}
@media screen and (min-width: 1024px) {
  .l-footer-nav1-item__sub {
    padding: 6px 0 0 6px;
  }
}

.l-footer-nav2 {
  margin-top: 4.375rem;
  -ms-flex-item-align: start;
      align-self: flex-start;
}
.l-footer-nav2 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.l-footer-nav2 li {
  font-size: 0.875rem;
  line-height: 2.625rem;
}
.l-footer-nav2 a:hover {
  color: #2173c4;
}
@media screen and (min-width: 1024px) {
  .l-footer-nav2 {
    margin-top: 0;
    grid-area: nav2;
  }
  .l-footer-nav2 li {
    font-size: 0.75rem;
    line-height: 1.75rem;
  }
}

.l-footer-copyright {
  position: absolute;
  right: 0;
  bottom: 1.25rem;
  font-family: "Roboto", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: normal;
  font-size: 0.6875rem;
  line-height: 1;
}
@media screen and (min-width: 1024px) {
  .l-footer-copyright {
    bottom: 0;
    grid-area: copyright;
    font-size: 0.8125rem;
  }
}
@media screen and (min-width: 1024px){
  .l-footer-logo {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .l-footer-nav1 {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 2;
  }
  .l-footer-nav1 > .l-footer-nav1 {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  .l-footer-nav1 .l-footer-nav1-item:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 2;
  }
  .l-footer-nav1 > .l-footer-nav1-item:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
  }
  .l-footer-nav1 .l-footer-nav1-item:nth-child(2) {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .l-footer-nav1 > .l-footer-nav1-item:nth-child(2) {
    -ms-grid-row: 3;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .l-footer-nav1 .l-footer-nav1-item:nth-child(3) {
    -ms-grid-row: 1;
    -ms-grid-row-span: 5;
    -ms-grid-column: 3;
  }
  .l-footer-nav1 .l-footer-nav1-item:nth-child(4) {
    -ms-grid-row: 1;
    -ms-grid-column: 5;
  }
  .l-footer-nav1 .l-footer-nav1-item:nth-child(5) {
    -ms-grid-row: 3;
    -ms-grid-column: 5;
  }
  .l-footer-nav1 .l-footer-nav1-item:nth-child(6) {
    -ms-grid-row: 5;
    -ms-grid-column: 5;
  }
  .l-footer-nav2 {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .l-footer-nav1 > .l-footer-nav2 {
    -ms-grid-row: 3;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .l-footer-copyright {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	...
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-about
----------------------------------------------------*/
.p-about {
  position: relative;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-about__top {
  position: relative;
}
.p-about__bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  -webkit-transition: opacity 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: opacity 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  overflow: hidden;
}
.p-about__bg:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 1;
}
.p-about__bg iframe,
.p-about__bg video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  aspect-ratio: 16/9;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.is-footer-show .p-about__bg {
  opacity: 0;
}

.p-about__bgVideo {
  position: sticky;
  left: 0;
  top: 0;
  width: 100%;
  height: 100dvh;
  -o-object-fit: cover;
     object-fit: cover;
  vertical-align: bottom;
  -webkit-filter: blur(4.9648799896px);
          filter: blur(4.9648799896px);
  overflow: hidden;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-about-mv {
  position: relative;
  z-index: 2;
  color: var(--color);
}
.p-about-mv__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  text-align: center;
}
.p-about-mv__type {
  font-family: "Roboto", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 1.5rem;
  line-height: 1;
}
.p-about-mv__type:after {
  content: "";
  display: block;
  margin: 1.875rem auto 0;
  width: 2.9375rem;
  height: 0;
  border-top: 1px solid #e0e0e0;
  pointer-events: none;
}
@media screen and (min-width: 1024px) {
  .p-about-mv__type {
    font-size: 1.375rem;
  }
  .p-about-mv__type:after {
    margin-top: 1rem;
  }
}

.p-about-mv__body {
  margin-top: 2.625rem;
}
.p-about-mv__body:after {
  margin: 2.5rem auto 2.5rem;
  content: "";
  display: block;
  width: 0;
  height: 9.0625rem;
  pointer-events: none;
  border-left: 1px solid #e0e0e0;
  -webkit-transition: 0.5s 1.8s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.5s 1.8s cubic-bezier(0.5, 1, 0.89, 1);
  -webkit-transform: scale(1, 0);
          transform: scale(1, 0);
  -webkit-transform-origin: center top;
          transform-origin: center top;
}
.is-visible .p-about-mv__body:after {
  -webkit-transform: scale(1);
          transform: scale(1);
}
@media screen and (min-width: 1024px) {
  .p-about-mv__body {
    margin-top: 4.5rem;
  }
  .p-about-mv__body:after {
    margin: 8.1111111111vh auto 5.6666666667vh;
    height: 27.2222222222vh;
  }
}

.p-about-mv__title {
  font-weight: bold;
  font-size: 1.5rem;
  line-height: 1.9166666667;
}
@media screen and (min-width: 1024px) {
  .p-about-mv__title {
    font-size: 2.25rem;
    letter-spacing: 0.1em;
    line-height: 1.8333333333;
  }
}

.p-about-mv__en {
  margin-top: 0.625rem;
  font-family: "Roboto", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: normal;
  font-size: 0.8125rem;
  opacity: 0;
}
.is-visible .p-about-mv__en {
  -webkit-transition: 0.5s 1.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.5s 1.5s cubic-bezier(0.5, 1, 0.89, 1);
  opacity: 1;
}
@media screen and (min-width: 1024px) {
  .p-about-mv__en {
    margin-top: 0.75rem;
    font-size: 1.25rem;
    letter-spacing: 0.05em;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-about-list {
  position: relative;
  z-index: 2;
  color: var(--color);
}
@media screen and (max-width: 1023px) {
  .p-about-list {
    top: -6rem;
  }
}
.p-about-list__items {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 7.5rem;
}
@media screen and (min-width: 1024px) {
  .p-about-list__items {
    gap: 17.5rem;
  }
}

.p-about-list-item {
  position: relative;
  padding: 0 1.4375rem 2.875rem 2.3125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 0.625rem;
  background: -webkit-gradient(linear, left top, right top, from(#2a9bd7), to(#0a35c6));
  background: linear-gradient(to right, #2a9bd7 0%, #0a35c6 100%);
}
@media screen and (min-width: 1024px) {
  .p-about-list-item {
    padding: 0;
    margin-inline: auto;
    width: 62.5rem;
    height: 28.125rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-about-list-item:after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: calc(100% + 1.25rem);
  pointer-events: none;
  width: 0;
  height: 0;
  border-left: 1px solid #e0e0e0;
  -webkit-transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
}
.p-about-list-item.is-visible:after {
  height: 5rem;
}
@media screen and (min-width: 1024px) {
  .p-about-list-item:after {
    top: calc(100% + 3.75rem);
  }
  .p-about-list-item.is-visible:after {
    height: 9.8125rem;
  }
}

.p-about-list-item__pic {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: center;
}
.p-about-list-item__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--gap);
}
@media screen and (min-width: 1024px) {
  .p-about-list-item__content {
    width: 31.25rem;
  }
}

.p-about-list-item__title {
  font-weight: bold;
  font-size: 1.375rem;
  line-height: 1.6363636364;
}
@media screen and (min-width: 1024px) {
  .p-about-list-item__title {
    font-size: 1.75rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
  }
}

.p-about-list-item:nth-child(1) .p-about-list-item__pic {
  margin: 0 -1.4375rem 0 -2.3125rem;
}
.p-about-list-item:nth-child(1) .p-about-list-item__pic img {
  width: 100%;
  height: 12rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.625rem 0.625rem 0 0;
}
@media screen and (min-width: 1024px) {
  .p-about-list-item:nth-child(1) .p-about-list-item__pic {
    margin: 0;
    text-align: right;
  }
  .p-about-list-item:nth-child(1) .p-about-list-item__pic img {
    width: 18.75rem;
    height: auto;
    -o-object-fit: initial;
       object-fit: initial;
    border-radius: 0 0.625rem 0.625rem 0;
  }
}
.p-about-list-item:nth-child(1) .p-about-list-item__pic2 {
  position: absolute;
  top: 4.25rem;
  width: 16.3125rem;
  left: calc(50% - 8.125rem);
}
@media screen and (min-width: 1024px) {
  .p-about-list-item:nth-child(1) .p-about-list-item__pic2 {
    width: 31.5rem;
    right: -0.375rem;
    left: auto;
    top: auto;
    bottom: 1.875rem;
  }
}
.p-about-list-item:nth-child(1) .p-about-list-item__content {
  padding-top: 3.9375rem;
}
@media screen and (min-width: 1024px) {
  .p-about-list-item:nth-child(1) .p-about-list-item__content {
    padding-top: 0;
    padding-left: 4.625rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-about-list-item:nth-child(1) .p-about-list-item__title {
    font-size: 2rem;
    line-height: 1.3125;
    margin-right: -18.75rem;
  }
}
.p-about-list-item:nth-child(2) {
  background: -webkit-gradient(linear, right top, left top, from(#2a9bd7), to(#0a35c6));
  background: linear-gradient(to left, #2a9bd7 0%, #0a35c6 100%);
}
@media screen and (min-width: 1024px) {
  .p-about-list-item:nth-child(2) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.p-about-list-item:nth-child(2) .p-about-list-item__pic {
  z-index: 5;
  padding: 0 0 1.5rem;
  margin-inline: -0.625rem;
}
@media screen and (min-width: 1024px) {
  .p-about-list-item:nth-child(2) .p-about-list-item__pic {
    padding: 0;
    margin: -2.5rem 0 0;
  }
  .p-about-list-item:nth-child(2) .p-about-list-item__pic img {
    width: 26.125rem;
  }
}
.p-about-list-item:nth-child(2) .p-about-list-item__pic2 {
  position: absolute;
  top: -1.25rem;
  left: 1.25rem;
}
.p-about-list-item:nth-child(2) .p-about-list-item__pic2 img {
  width: 18.75rem;
}
@media screen and (min-width: 1024px) {
  .p-about-list-item:nth-child(2) .p-about-list-item__pic2 {
    top: -1.25rem;
    left: 1.25rem;
  }
  .p-about-list-item:nth-child(2) .p-about-list-item__pic2 img {
    width: 28.875rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-about-list-item:nth-child(2) .p-about-list-item__content {
    padding-right: 4.625rem;
  }
}

.p-about-list-item:nth-child(3) .p-about-list-item__pic {
  margin: 0 -1.4375rem 0 -2.3125rem;
}
.p-about-list-item:nth-child(3) .p-about-list-item__pic img {
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .p-about-list-item:nth-child(3) .p-about-list-item__pic {
    margin: 0;
  }
}
@media screen and (min-width: 1024px) {
  .p-about-list-item:nth-child(3) .p-about-list-item__content {
    padding-left: 4.625rem;
  }
}

.p-about-partner {
  padding: 10.625rem 0 8rem;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .p-about-partner {
    padding: 20.625rem 0 22.5rem;
  }
}

.p-about-partner__bg {
  position: absolute;
  top: 6.25rem;
  left: calc(50% - 21.375rem);
}
.p-about-partner__bg img {
  width: 43.375rem;
  max-width: none;
  opacity: 0;
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
  -webkit-transition: 0.8s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.8s cubic-bezier(0.5, 1, 0.89, 1);
}
.is-visible .p-about-partner__bg img {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}
@media screen and (min-width: 1024px) {
  .p-about-partner__bg {
    left: 0;
    top: 14.625rem;
    width: 100%;
  }
  .p-about-partner__bg img {
    width: 100%;
  }
}

.p-about-partner__wrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--gap);
}
.p-about-partner__title {
  font-weight: bold;
  font-size: 1.25rem;
  letter-spacing: 0.1em;
  line-height: 1.6;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-about-partner__title {
    font-size: 2rem;
    line-height: 1.3125;
  }
}

@media screen and (min-width: 1024px) {
  .p-about-partner__body {
    text-align: center;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-about-group {
  position: relative;
  padding: var(--padding-section-md) 0 var(--padding-section-md);
  background: #fff;
}
.p-about-group__head:after {
  margin: 2.1875rem auto 0;
  content: "";
  display: block;
  width: 2.5rem;
  height: 0.3125rem;
  background: #2173c4;
  pointer-events: none;
}
@media screen and (min-width: 1024px) {
  .p-about-group__head .c-heading {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-about-group__logo {
  margin-top: 3.5rem;
  text-align: center;
}
.p-about-group__logo img {
  width: 11.916875rem;
}
@media screen and (min-width: 1024px) {
  .p-about-group__logo {
    margin-top: 3.9375rem;
  }
  .p-about-group__logo img {
    width: 16.611875rem;
  }
}

.p-about-group-company {
  margin-top: 2.9375rem;
}
.p-about-group-company__line {
  display: none;
}
@media screen and (min-width: 1024px) {
  .p-about-group-company__line {
    display: block;
    text-align: center;
  }
  .p-about-group-company__line svg {
    width: 51.625rem;
  }
}
.p-about-group-company__line.--border-pc {
  display: none;
}
@media screen and (min-width: 1024px) {
  .p-about-group-company__line.--border-pc {
    display: block;
  }
  .p-about-group-company__line.--border-pc svg {
    translate: -0.1875rem 0;
  }
}
.p-about-group-company__line.--border-sp {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (max-width: 640px) {
  .p-about-group-company__line.--border-sp svg {
    width: auto;
    height: 10.6666666667vw;
  }
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-about-group-company__line.--border-sp svg {
    width: auto;
    height: 5.3333333333vw;
  }
}
@media screen and (min-width: 1024px) {
  .p-about-group-company__line.--border-sp {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  .p-about-group-company__line.--line-pc {
    display: none;
  }
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-about-group-company__line.--line-pc {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .p-about-group-company__line.--line-pc {
    display: block;
  }
}
@media screen and (max-width: 640px) {
  .p-about-group-company__line.--line-sp {
    display: block;
  }
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-about-group-company__line.--line-sp {
    display: block;
  }
}
@media screen and (min-width: 1024px) {
  .p-about-group-company__line.--line-sp {
    display: none;
  }
}
.p-about-group-company__line.--line-sp svg {
  width: auto;
}
@media screen and (max-width: 640px) {
  .p-about-group-company__line.--line-sp svg {
    height: 96vw;
  }
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-about-group-company__line.--line-sp svg {
    height: 48vw;
  }
}

@media screen and (max-width: 640px) {
  .p-about-group-company__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: 1.875rem;
  }
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-about-group-company__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: 4vw;
  }
}

.p-about-group-company__line.--border-pc {
  display: none;
}

@media screen and (min-width: 1024px) {
  .p-about-group-company__line.--border-pc {
    display: block;
  }
  .p-about-group-company__line.--border-pc svg {
    translate: -0.1875rem 0;
  }
}
.p-about-group-company__line.--border-sp {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

@media screen and (max-width: 640px) {
  .p-about-group-company__line.--border-sp svg {
    width: auto;
    height: 10.6666666667vw;
  }
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-about-group-company__line.--border-sp svg {
    width: auto;
    height: 5.3333333333vw;
  }
}
@media screen and (min-width: 1024px) {
  .p-about-group-company__line.--border-sp {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  .p-about-group-company__line.--line-pc {
    display: none;
  }
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-about-group-company__line.--line-pc {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .p-about-group-company__line.--line-pc {
    display: block;
  }
}
@media screen and (max-width: 640px) {
  .p-about-group-company__line.--line-sp {
    display: block;
  }
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-about-group-company__line.--line-sp {
    display: block;
  }
}
@media screen and (min-width: 1024px) {
  .p-about-group-company__line.--line-sp {
    display: none;
  }
}
.p-about-group-company__line.--line-sp svg {
  width: auto;
}

@media screen and (max-width: 640px) {
  .p-about-group-company__line.--line-sp svg {
    height: 96vw;
  }
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-about-group-company__line.--line-sp svg {
    height: 48vw;
  }
}
@media screen and (max-width: 640px) {
  .p-about-group-company__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: 1.875rem;
  }
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-about-group-company__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: 4vw;
  }
}
.p-about-group-company__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (max-width: 640px) {
  .p-about-group-company__items {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-top: 2.375rem;
  }
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-about-group-company__items {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-top: 5.3333333333vw;
    gap: 2.6666666667vw;
  }
}
@media screen and (min-width: 1024px) {
  .p-about-group-company__items {
    gap: 4.6875rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media screen and (max-width: 640px) {
  .p-about-group-company__items .p-about-group-company-item {
    padding: 4.8vw 7.4666666667vw;
    text-align: left;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin-right: auto;
    width: 100%;
  }
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-about-group-company__items .p-about-group-company-item {
    padding: 2.6666666667vw 3.7333333333vw;
    text-align: left;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin-right: auto;
    width: 100%;
  }
}

.p-about-group-company-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  height: 7.1875rem;
  gap: 0.25rem;
  border-radius: 0.625rem;
  border: 1px solid #ccc;
}
@media screen and (max-width: 640px) {
  .p-about-group-company-item {
    border-width: 2px;
  }
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-about-group-company-item {
    border-width: 2px;
  }
}
@media screen and (min-width: 1024px) {
  .p-about-group-company-item {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    height: 7.875rem;
    gap: 0.5rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 640px) {
  .p-about-group-company-item.--center {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 6.25rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-about-group-company-item.--center {
    width: 20.9375rem;
    margin-inline: auto;
  }
}

.p-about-group-company-item__title {
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  color: #2173c4;
}
.p-about-group-company-item__desc {
  font-size: 0.8125rem;
  line-height: 1.5384615385;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-bath
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-boiler
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-contact
----------------------------------------------------*/
.p-contact {
  padding-bottom: var(--padding-page);
}
.p-contact-form {
  max-width: 800px;
  margin-inline: auto;
}
.p-contact-form__form {
  margin-top: var(--gap-lg);
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-cooling
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-facility
----------------------------------------------------*/
@media screen and (min-width: 1024px) {
  .p-facility__container {
    padding-bottom: var(--padding-page);
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-facility-content {
  padding-top: var(--padding-section);
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-facility__section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--padding-section);
}
.p-facility-section {
  padding-top: var(--padding-block);
  border-top: 2px solid #d2e3f6;
}
.p-facility-section__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.875rem;
}
.p-facility-section__title h2 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 1.875rem;
  padding: 0 0.875rem;
  border-radius: 0.375rem;
  background: #2173c4;
  letter-spacing: 0;
  font-size: 0.875rem;
  color: #fff;
}
.p-facility-section__wrap {
  display: -ms-grid;
  display: grid;
  gap: 1.125rem;
}
@media screen and (min-width: 1024px) {
  .p-facility-section__wrap {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 3.5rem 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 3.5rem;
  }
}

.p-facility-section-item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.p-facility-section-item__name {
  padding-top: var(--gap-lg);
  font-size: 1.375rem;
  letter-spacing: 0.05em;
  color: #2173c4;
}
@media screen and (min-width: 1024px) {
  .p-facility-section-item__name {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.p-facility-section-item__gallery {
  padding: var(--padding-block) 0 0;
  position: relative;
}
.p-facility-section-item__gallery figure {
  display: block;
}
.p-facility-section-item__gallery figure img {
  border-radius: 10px;
}
.p-facility-section-item__gallery figcaption {
  margin-top: var(--gap);
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  color: #222;
}
.p-facility-section-item__gallery .swiper-ctrl button {
  position: absolute;
  top: 4rem;
  z-index: 10;
}
.p-facility-section-item__gallery .swiper-ctrl button.prev {
  left: -0.625rem;
}
.p-facility-section-item__gallery .swiper-ctrl button.next {
  right: -0.625rem;
}
@media screen and (max-width: 1023px) {
  .p-facility-section-item__gallery figcaption {
    text-align: center;
  }
}
@media screen and (min-width: 1024px) {
  .p-facility-section-item__gallery {
    width: 25.1875rem;
    padding: var(--padding-block) 0 0;
    margin-top: -6px;
    margin-inline: auto;
  }
  .p-facility-section-item__gallery .swiper-ctrl button {
    top: 5rem;
  }
  .p-facility-section-item__gallery .swiper-ctrl button.prev {
    left: -1.75rem;
  }
  .p-facility-section-item__gallery .swiper-ctrl button.next {
    right: -1.75rem;
  }
}

.p-facility-section__info {
  padding-top: var(--padding-block);
  display: -ms-grid;
  display: grid;
  gap: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .p-facility-section__info {
    gap: 1.25rem 3.375rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-history
----------------------------------------------------*/
@media screen and (min-width: 1024px) {
  .p-history__container {
    padding-bottom: var(--padding-page);
  }
}

.p-history__wrap {
  position: relative;
  padding: 19.375rem 0 0;
}
@media screen and (min-width: 1024px) {
  .p-history__wrap {
    padding: 21.875rem 0 0;
  }
}

.p-history__gallery {
  position: absolute;
  width: auto;
  left: calc(50% - 50vw);
  right: calc(50% - 50vw);
  top: 0;
  overflow: hidden;
  pointer-events: none;
}
@media screen and (min-width: 641px) {
  .p-history__gallery {
    top: 5rem;
    left: -25.3125rem;
    right: -8.875rem;
  }
}

@media screen and (min-width: 641px) {
  .p-history__gallerySP {
    display: none;
  }
}

.p-history__galleryWrap {
  display: none;
}
@media screen and (min-width: 641px) {
  .p-history__galleryWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-inline: 11.25rem -8.875rem;
  }
}
.p-history__galleryWrap figure {
  will-change: transform;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-history__galleryWrap figure img {
  width: auto;
  max-width: none;
  height: 12.5rem;
}
@media screen and (min-width: 641px) {
  .p-history__galleryWrap figure img {
    height: 13.3125rem;
  }
}

.p-history__lead {
  position: relative;
}
.p-history__title {
  font-weight: bold;
  font-size: 1.75rem;
  letter-spacing: 0.1em;
  line-height: 1.5714285714;
  color: var(--color-midashi);
}
@media screen and (min-width: 1024px) {
  .p-history__title {
    font-size: 2.625rem;
  }
}

.p-history__since {
  position: absolute;
  right: -8.875rem;
  top: -1.75rem;
}
.p-history__since svg {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 1024px) {
  .p-history__since {
    width: 37.3275rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-history-data {
  padding-top: var(--padding-section);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 1024px) {
  .p-history-data {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 3.125rem;
  }
}

.p-history-data__aside {
  display: none;
}
@media screen and (min-width: 1024px) {
  .p-history-data__aside {
    width: 17.375rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.25rem;
  }
}

.p-history-data__list {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-history-data-aside {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.125rem;
}
.p-history-data-aside__pic {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0.625rem 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 0.625rem;
  padding-bottom: 0.625rem;
}
.p-history-data-aside__pic img {
  -webkit-box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
          box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
}
.p-history-data-aside[data-year="1971"] {
  padding-top: 10rem;
}

.p-history-data-aside[data-year="1975"] {
  padding-top: 3.125rem;
}

.p-history-data-aside[data-year="1981"] {
  padding-top: 14.375rem;
}

.p-history-data-aside[data-year="1983"] {
  padding-top: 3.125rem;
}

.p-history-data-aside[data-year="1989"] {
  padding-top: 20.875rem;
}

.p-history-data-aside[data-year="1992"] {
  padding-top: 0.625rem;
}

.p-history-data-aside[data-year="1996"] {
  padding-top: 2.5rem;
}

.p-history-data-aside[data-year="2001"] {
  padding-top: 17.75rem;
}

.p-history-data-aside[data-year="2005"] {
  padding-top: 6.25rem;
}

.p-history-data-aside[data-year="2007"] {
  padding-top: 3.125rem;
}

.p-history-data-aside[data-year="2011"] {
  padding-top: 10.625rem;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-history-data-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.125rem;
  padding-bottom: 1.25rem;
  position: relative;
}
.p-history-data-item:not(:last-child):before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 2.0625rem;
  top: 0;
  pointer-events: none;
  border-left: 1px solid #e0e0e0;
}
.p-history-data-item__year {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  background: #fff;
  border: 1px solid #707070;
  border-radius: 100%;
  font-weight: 500;
  font-size: 1.125rem;
  color: #7e7e7e;
}
@media screen and (min-width: 1024px) {
  .p-history-data-item__year {
    width: 4.125rem;
    height: 4.125rem;
    font-size: 1.375rem;
  }
}

.p-history-data-item__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-top: 1.25rem;
}
.p-history-data-item__content dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
.p-history-data-item__content dl dt {
  width: 2.5rem;
  font-weight: bold;
}
.p-history-data-item__content dl dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (min-width: 1024px) {
  .p-history-data-item__content dl {
    font-size: 1rem;
  }
}

.p-history-data-item__block {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
  padding: 0.8125rem 0.9375rem;
  border-radius: 0.375rem;
  background: #efefef;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 1.2857142857;
  margin-top: 0.5rem;
}
.p-history-data-item__block:first-child {
  margin-top: -0.5rem;
}
@media screen and (min-width: 1024px) {
  .p-history-data-item__block {
    font-size: 0.875rem;
  }
}

@media screen and (min-width: 1024px) {
  .p-history-data-item__catalog {
    display: none;
  }
}

.p-history-data-item__catalogPic {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0.625rem 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 0.625rem;
  padding-bottom: 0.625rem;
}
.p-history-data-item__catalogPic img {
  -webkit-box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
          box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
}
.p-history-data-item__block ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-medical
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-message
----------------------------------------------------*/
@media screen and (min-width: 1024px) {
  .p-message__container {
    padding-bottom: var(--padding-page);
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-message-content {
  padding-top: var(--padding-section);
}
.p-message-content-mv {
  position: relative;
  margin-top: 6.25rem;
  margin-inline: -1.25rem;
  mix-blend-mode: multiply;
}
@media screen and (min-width: 1024px) {
  .p-message-content-mv {
    margin-top: 0;
    margin-inline: 0 -8.875rem;
  }
}

.p-message-content-mv__wrap {
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  pointer-events: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  padding: 0 0 3.75rem;
  opacity: 0;
  -webkit-transform: translateY(2.5rem);
          transform: translateY(2.5rem);
}
.p-message-content-mv__wrap.is-visible {
  -webkit-transition: 1s ease-out;
  transition: 1s ease-out;
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
@media screen and (min-width: 1024px) {
  .p-message-content-mv__wrap {
    padding: 0 0 12.5rem;
  }
}

.p-message-content-mv__shadow {
  position: absolute;
}
@media screen and (min-width: 1024px) {
  .p-message-content-mv__shadow img {
    width: 44.625rem;
  }
}

.p-message-content-mv__type1 {
  position: relative;
  z-index: 2;
}
.p-message-content-mv__type1 p {
  width: 15rem;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.p-message-content-mv__type1 p:nth-child(1) {
  -webkit-transition: -webkit-mask-size 2.4s ease-out 1s;
  transition: -webkit-mask-size 2.4s ease-out 1s;
  transition: mask-size 2.4s ease-out 1s;
  transition: mask-size 2.4s ease-out 1s, -webkit-mask-size 2.4s ease-out 1s;
  -webkit-mask-size: 50rem 50rem;
          mask-size: 50rem 50rem;
  -webkit-mask-image: url(../img/p-top-loading-mask1.png);
          mask-image: url(../img/p-top-loading-mask1.png);
}
.is-visible .p-message-content-mv__type1 p:nth-child(1) {
  -webkit-mask-size: 1875rem 1875rem;
          mask-size: 1875rem 1875rem;
}
.p-message-content-mv__type1 p:nth-child(2) {
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
  -webkit-mask-image: url(../img/p-top-loading-mask2.png);
          mask-image: url(../img/p-top-loading-mask2.png);
  -webkit-mask-size: 0 0;
          mask-size: 0 0;
  -webkit-transition: -webkit-transform 1.4s 1.2s, -webkit-mask-size 1.4s 1s;
  transition: -webkit-transform 1.4s 1.2s, -webkit-mask-size 1.4s 1s;
  transition: transform 1.4s 1.2s, mask-size 1.4s 1s;
  transition: transform 1.4s 1.2s, mask-size 1.4s 1s, -webkit-transform 1.4s 1.2s, -webkit-mask-size 1.4s 1s;
}
.is-visible .p-message-content-mv__type1 p:nth-child(2) {
  -webkit-mask-size: 112.5rem 112.5rem;
          mask-size: 112.5rem 112.5rem;
  -webkit-transform: scale(1);
          transform: scale(1);
}
@media screen and (min-width: 1024px) {
  .p-message-content-mv__type1 p {
    width: 31.75rem;
  }
}

.p-message-content-mv__line {
  margin-top: -1rem;
  clip-path: polygon(50% 0, 50% 0, 50% 100%, 50% 100%);
}
.is-visible .p-message-content-mv__line {
  -webkit-transition: clip-path 2s 1s;
  transition: clip-path 2s 1s;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
@media screen and (min-width: 1024px) {
  .p-message-content-mv__line {
    margin-top: -0.625rem;
  }
  .p-message-content-mv__line img {
    width: 43.75rem;
  }
}

.p-message-content-mv__type2 {
  margin-top: -0.375rem;
  opacity: 0;
}
.p-message-content-mv__type2 img {
  width: 12.5rem;
}
.is-visible .p-message-content-mv__type2 {
  -webkit-transition: opacity 2s 2s;
  transition: opacity 2s 2s;
  opacity: 1;
}
@media screen and (min-width: 1024px) {
  .p-message-content-mv__type2 {
    margin-top: 0.5rem;
  }
  .p-message-content-mv__type2 img {
    width: 23.75rem;
  }
}

.p-message-content__wrap {
  padding-top: var(--padding-section);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 1024px) {
  .p-message-content__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-message-content__body {
    margin-inline: -1.25rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-message-content__body {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-right: -0.625rem;
  }
}

@media screen and (max-width: 1023px) {
  .p-message-content__aside {
    padding-top: var(--padding-section);
    text-align: right;
    -ms-flex-item-align: end;
        align-self: flex-end;
  }
}
@media screen and (min-width: 1024px) {
  .p-message-content__aside {
    width: 15.25rem;
  }
  .p-message-content__aside:before {
    content: "";
    display: block;
    margin-bottom: 2.3125rem;
    width: 5rem;
    height: 0.3125rem;
    background: #d2e3f6;
  }
}

.p-message-content__job {
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
}
.p-message-content__name {
  padding-top: 0.375rem;
  font-size: 1.625rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .p-message-content__name {
    padding-top: 1.125rem;
  }
}

.p-message-content__nameEn {
  font-family: "Roboto", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 0.8125rem;
  color: #2173c4;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-news
----------------------------------------------------*/
.p-news {
  padding-bottom: var(--padding-page);
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-news-list__nav {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0.625rem 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 0.625rem;
}
.p-news-list__nav a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 2.5rem;
  border-radius: 1.25rem;
  background: #fff;
  border: 1px solid #2173c4;
  font-weight: bold;
  font-size: 1rem;
  letter-spacing: 0.05em;
  overflow: hidden;
  position: relative;
}
.p-news-list__nav a:before {
  content: "";
  display: block;
  width: 0.625rem;
  height: 0.625rem;
  position: absolute;
  border-radius: 100%;
  pointer-events: none;
  background: var(--gradient);
  opacity: 0;
  -webkit-transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
}
.p-news-list__nav a span {
  position: relative;
}
.p-news-list__nav a:hover,
.p-news-list__nav a.is-current {
  color: #fff;
}
.p-news-list__nav a:hover:before,
.p-news-list__nav a.is-current:before {
  opacity: 1;
  -webkit-transform: scale(30, 30);
          transform: scale(30, 30);
}
@media screen and (min-width: 1024px) {
  .p-news-list__nav {
    -ms-grid-columns: 1fr 1.25rem 1fr 1.25rem 1fr 1.25rem 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 1.25rem;
  }
  .p-news-list__nav a {
    height: 3.6875rem;
    border-radius: 1.84375rem;
  }
}

.p-news-list__list {
  padding-top: var(--padding-section);
  display: -ms-grid;
  display: grid;
  gap: 1.875rem;
}
@media screen and (min-width: 1024px) {
  .p-news-list__list {
    -ms-grid-columns: 1fr 4.75rem 1fr 4.75rem 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2.5rem 4.75rem;
  }
}

.p-news-list__foot {
  padding-top: var(--padding-block);
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-news-detail {
  padding: var(--padding-section-lg) 0 0;
  width: 100%;
  max-width: 50rem;
  margin-inline: auto;
}
.p-news-detail-eyecatch img {
  width: 100%;
}

.p-news-detail-head {
  padding-top: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .p-news-detail-head {
    padding-top: 1.875rem;
  }
}

.p-news-detail-head__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
}
@media screen and (min-width: 1024px) {
  .p-news-detail-head__meta {
    gap: 0.9375rem;
  }
}

.p-news-detail-head__date {
  font-family: "Helvetica", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 0.8125rem;
}
.p-news-detail-head__category {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 4.75rem;
  height: 1.3125rem;
  padding: 0 0.75rem;
  border-radius: 0.25rem;
  background: #0050BE;
  font-weight: bold;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  color: #fff;
}
.p-news-detail-head__title {
  margin-top: 0.375rem;
  font-weight: bold;
  font-size: 1.5rem;
  line-height: 1.375;
}
@media screen and (min-width: 1024px) {
  .p-news-detail-head__title {
    margin-top: 0.625rem;
    font-size: 2rem;
  }
}

.p-news-detail-entry {
  padding-top: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .p-news-detail-entry {
    padding-top: 1.875rem;
  }
}

.p-news-detail-foot {
  padding-top: var(--padding-section);
  text-align: center;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-office
----------------------------------------------------*/
@media screen and (min-width: 1024px) {
  .p-office__container {
    padding-bottom: var(--padding-page);
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-office-content {
  padding-top: var(--padding-section);
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-office__section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--padding-section);
}
.p-office-section {
  padding-top: var(--padding-block);
  border-top: 2px solid #d2e3f6;
}
.p-office-section__title {
  font-size: 1.375rem;
  letter-spacing: 0.05em;
  color: #2173c4;
}
.p-office-section__list {
  margin-top: 1.25rem;
  display: -ms-grid;
  display: grid;
  gap: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .p-office-section__list {
    margin-top: 1.875rem;
    -ms-grid-columns: 1fr 3.375rem 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem 3.375rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-outline
----------------------------------------------------*/
@media screen and (min-width: 1024px) {
  .p-outline__container {
    padding-bottom: var(--padding-page);
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-outline-content {
  padding-top: var(--padding-section);
}
.p-outline__data {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--padding-section);
}

.p-outline-data {
  padding-top: var(--padding-block);
  border-top: 2px solid #d2e3f6;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.875rem;
}
.p-outline-data dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-outline-data dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.375rem;
}
@media screen and (max-width: 1023px) {
  .p-outline-data dt {
    -ms-flex-item-align: start;
        align-self: flex-start;
    font-size: 1rem;
  }
  .p-outline-data dd {
    padding-left: 0.5rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-outline-data {
    gap: 1.25rem;
    font-size: 1rem;
    line-height: 1.375;
  }
  .p-outline-data dl {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .p-outline-data dt, .p-outline-data dd {
    padding: 0.375rem 0 0.375rem;
  }
  .p-outline-data dt {
    width: 9.1875rem;
    border-right: 1px dashed #707070;
  }
  .p-outline-data dd {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding-left: 2.5rem;
  }
}

.p-outline-data__logo {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.375;
}
.p-outline-data__logo img {
  width: 7.5rem;
}
.p-outline-data__logo figcaption {
  margin-top: 1rem;
}
@media screen and (min-width: 1024px) {
  .p-outline-data__logo {
    font-size: 1rem;
  }
  .p-outline-data__logo img {
    width: 10rem;
  }
}

.p-outline-data__map iframe {
  margin-top: 1.25rem;
  width: 100%;
  height: 11.25rem;
  border: 1px solid #ccc !important;
}
@media screen and (min-width: 1024px) {
  .p-outline-data__map iframe {
    height: 21.875rem;
  }
}

.p-outline-data__area {
  margin-top: 1.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
.p-outline-data__area ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
}
.p-outline-data__area a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 1.25rem;
  height: 2.25rem;
  border-radius: 1.125rem;
  background: #2173c4;
  font-weight: bold;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  color: #fff;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.p-outline-data__area a:active {
  -webkit-transform: scale(0.965);
          transform: scale(0.965);
}
@media (hover: hover) {
  .p-outline-data__area a:hover, a:hover .p-outline-data__area a {
    opacity: 0.6;
  }
}
@media screen and (min-width: 1024px) {
  .p-outline-data__area a {
    min-width: 7.9375rem;
    padding: 0 1.25rem;
    height: 2.625rem;
    border-radius: 1.3125rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-pool
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-privacy
----------------------------------------------------*/
.p-privacy {
  padding-bottom: var(--padding-page);
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-rain
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-site-policy
----------------------------------------------------*/
.p-site-policy {
  padding-bottom: var(--padding-page);
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-sitemap
----------------------------------------------------*/
.p-sitemap {
  padding-bottom: var(--padding-page);
}
.p-sitemap-content {
  max-width: 50rem;
  margin-inline: auto;
}
.p-sitemap-item {
  padding: 1.25rem 0;
  border-top: 1px solid #e0e0e0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-sitemap-item h3 a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  font-weight: bold;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  color: #2173c4;
}
.p-sitemap-item h3 a svg {
  width: 1.25rem;
  height: auto;
  fill: #2173c4;
}
@media screen and (min-width: 1024px) {
  .p-sitemap-item {
    padding: 1.25rem 1.25rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0;
  }
  .p-sitemap-item h3 {
    width: 12.5rem;
  }
}

.p-sitemap-item__list {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-sitemap-item__list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  font-size: 1rem;
  letter-spacing: 0.05em;
}
.p-sitemap-item__list a:hover {
  color: #2173c4;
}
.p-sitemap-item__sub {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-sitemap-item__sub ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
.p-sitemap-item__sub li {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  font-weight: bold;
  font-size: 1rem;
  letter-spacing: 0.05em;
}
.p-sitemap-item__sub li:before {
  content: "";
  display: block;
  pointer-events: none;
  width: 0.4375rem;
  height: 0.4375rem;
  background: #2173c4;
  border-radius: 100%;
}
.p-sitemap-item__sub a:hover {
  color: #2173c4;
}
@media screen and (min-width: 1024px) {
  .p-sitemap-item__sub ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2.5rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-subcritical
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-technology
----------------------------------------------------*/
.p-technology-top {
  padding-bottom: var(--padding-page);
}
.p-technology-top-service {
  padding-top: 2.5rem;
}
@media screen and (min-width: 1024px) {
  .p-technology-top-service {
    padding-top: 11.25rem;
  }
}

.p-technology-top-service__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.25rem;
}
@media screen and (min-width: 1024px) {
  .p-technology-top-service__wrap {
    gap: 3.4375rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.p-technology-top-service__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .p-technology-top-service__content {
    margin-top: -1.25rem;
    gap: 1.5rem;
  }
}

.p-technology-top-service__title {
  font-weight: bold;
  font-size: 1.5rem;
  line-height: 1.5;
  color: var(--color-midashi);
}
@media screen and (min-width: 1024px) {
  .p-technology-top-service__title {
    font-size: 2.875rem;
    letter-spacing: 0.1em;
    line-height: 1.652173913;
  }
}

.p-technology-top-service__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .p-technology-top-service__list {
    margin-right: -2.25rem;
    width: 39.9375rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0.375rem;
  }
}

.p-technology-top-service__type {
  position: absolute;
  bottom: 3.125rem;
  left: 0.625rem;
  z-index: 2;
  pointer-events: none;
}
.p-technology-top-service__type svg {
  max-width: none;
  width: 23.954375rem;
  height: auto;
}
@media screen and (min-width: 1024px) {
  .p-technology-top-service__type {
    left: -1.25rem;
    top: 1.875rem;
  }
  .p-technology-top-service__type svg {
    width: 45.281875rem;
  }
}

.p-technology-top-service-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 9.75rem;
  border-radius: 0.625rem;
  background: -webkit-gradient(linear, left top, right top, from(#2a9bd7), to(#0a35c6));
  background: linear-gradient(to right, #2a9bd7 0%, #0a35c6 100%);
  text-align: center;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .p-technology-top-service-item {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    height: 23.5rem;
    background: -webkit-gradient(linear, left bottom, left top, from(#2a9bd7), color-stop(4.35%, #2997d6), to(#0a35c6));
    background: linear-gradient(to top, #2a9bd7 0%, #2997d6 4.35%, #0a35c6 100%);
  }
}

@media screen and (min-width: 1024px) {
  .p-technology-top-service-item:nth-child(2) {
    background: -webkit-gradient(linear, left top, left bottom, from(#2a9bd7), color-stop(4.35%, #2997d6), to(#0a35c6));
    background: linear-gradient(to bottom, #2a9bd7 0%, #2997d6 4.35%, #0a35c6 100%);
  }
}

.p-technology-top-service-item:nth-child(3) {
  background: -webkit-gradient(linear, right top, left top, from(#2a9bd7), to(#0a35c6));
  background: linear-gradient(to left, #2a9bd7 0%, #0a35c6 100%);
}
.p-technology-top-service-item__ja {
  font-weight: bold;
  font-size: 1rem;
}
@media screen and (min-width: 1024px) {
  .p-technology-top-service-item__ja {
    font-size: 1rem;
  }
}

.p-technology-top-service-item__en {
  font-family: "Roboto", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 1.75rem;
  text-transform: uppercase;
}
@media screen and (min-width: 1024px) {
  .p-technology-top-service-item__en {
    font-size: 1.75rem;
  }
}

.p-technology-top-service-item__desc {
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
  line-height: 1.3846153846;
}
@media screen and (min-width: 1024px) {
  .p-technology-top-service-item__desc {
    font-size: 0.75rem;
    line-height: 1.5;
  }
  .p-technology-top-service-item__desc:before {
    content: "";
    display: block;
    pointer-events: none;
    margin: 0.625rem auto 0.875rem;
    width: 0;
    height: 2.5rem;
    border-left: 1px solid var(--color);
  }
}

.p-technology-top-professional {
  margin-top: var(--padding-section);
  padding-top: var(--padding-section);
  border-top: 1px solid #e0e0e0;
}
.p-technology-top-professional__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .p-technology-top-professional__wrap {
    gap: 1.875rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-technology-top-professional__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--gap);
}
.p-technology-top-professional__pic {
  margin: -1.25rem 0 -2.5rem;
}
@media screen and (min-width: 1024px) {
  .p-technology-top-professional__pic {
    margin: 0 0 0 -4rem;
    width: 40.75rem;
  }
}

.p-technology-top-list {
  margin-top: var(--padding-section);
  padding-top: var(--padding-section);
  border-top: 1px solid #e0e0e0;
}
.p-technology-top-list__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--gap);
}
.p-technology-top-list__title {
  font-weight: bold;
  font-size: 1.375rem;
  color: var(--color-midashi);
}
@media screen and (min-width: 1024px) {
  .p-technology-top-list__title {
    font-size: 1.625rem;
    letter-spacing: 0.1em;
  }
}

.p-technology-top-list__items {
  margin-top: 1.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.75rem;
}
@media screen and (min-width: 1024px) {
  .p-technology-top-list__items {
    margin-top: 3.75rem;
    gap: 2.5rem;
  }
}

.p-technology-top-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 1024px) {
  .p-technology-top-list-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2.4375rem;
  }
}

.p-technology-top-list-item__pic {
  position: relative;
}
.p-technology-top-list-item__pic img {
  width: 100%;
  height: 12.5rem;
  border-radius: 0.625rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-technology-top-list-item__pic figcaption {
  content: "";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  font-family: "Roboto", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  line-height: 1.2222222222;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
}
@media screen and (min-width: 1024px) {
  .p-technology-top-list-item__pic {
    width: 33.6875rem;
  }
  .p-technology-top-list-item__pic img {
    height: 18.75rem;
  }
  .p-technology-top-list-item__pic figcaption {
    font-size: 1.125rem;
  }
}

.p-technology-top-list-item__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--gap);
}
.p-technology-top-list-item__more {
  margin-top: 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 1024px) {
  .p-technology-top-list-item__more {
    margin-top: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 1.25rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-technology {
  position: relative;
}
.p-technology__aside {
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-technology__aside .c-btn-group-aside {
  position: sticky;
  right: 0;
  top: calc(100vh - 4.0625rem);
  z-index: 50;
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .p-technology__aside {
    pointer-events: none;
  }
  .scrollDown .p-technology__aside {
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s;
    opacity: 1;
    pointer-events: auto;
  }
  .p-technology__aside .c-btn-group-aside {
    opacity: 0;
    width: 100vw;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .scrollDown .p-technology__aside .c-btn-group-aside {
    -webkit-transition: 0.6s;
    transition: 0.6s;
    opacity: 1;
  }
}

.p-technology-head {
  position: relative;
  padding-top: var(--header-height);
  padding-bottom: var(--padding-section-lg);
  background: url(../img/cm-technology-head-bg-sp.webp) center center/cover;
  color: var(--color);
  overflow: hidden;
}

@media screen and (min-width: 1024px) {
  .p-technology-head--cooling {
    background-image: url(../img/cm-technology-cooling-bg.webp);
  }
}

@media screen and (min-width: 1024px) {
  .p-technology-head--boiler {
    background-image: url(../img/cm-technology-boiler-bg.webp);
  }
}

@media screen and (min-width: 1024px) {
  .p-technology-head--bath {
    background-image: url(../img/cm-technology-bath-bg.webp);
  }
}

@media screen and (min-width: 1024px) {
  .p-technology-head--pool {
    background-image: url(../img/cm-technology-pool-bg.webp);
  }
}

@media screen and (min-width: 1024px) {
  .p-technology-head--rain {
    background-image: url(../img/cm-technology-rain-bg.webp);
  }
}

@media screen and (min-width: 1024px) {
  .p-technology-head--medical {
    background-image: url(../img/cm-technology-medical-bg.webp);
  }
}

.p-technology-head--subcritical {
  background-image: url(../img/cm-technology-subcritical-bg-sp.webp);
}
@media screen and (min-width: 1024px) {
  .p-technology-head--subcritical {
    background-image: url(../img/cm-technology-subcritical-bg.webp);
  }
}

.p-technology-head__lead {
  padding-top: var(--padding-section);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--gap);
}
.p-technology-head__pic {
  margin-top: var(--padding-section);
  border-radius: 0.625rem;
  background: #fff;
  padding: 1.25rem 0rem;
}
@media screen and (max-width: 640px) {
  .p-technology-head__pic img {
    max-width: none;
    height: 18.75rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-technology-head__pic {
    padding: 3.125rem 2.375rem;
  }
}

.p-technology-head__pics {
  padding-top: var(--padding-section);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
}
.p-technology-head__pics figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 0.375rem;
  overflow: hidden;
}
.p-technology-head__pics figure img {
  margin: auto;
}
.p-technology-head__pics figcaption {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: calc(100% - 1.875rem);
  border-radius: 0.375rem 0.375rem 0 0;
  gap: 0.875rem;
  background: #2173c4;
  padding: 0.4375rem 0.375rem;
  font-weight: bold;
  font-size: 0.9375rem;
  text-align: center;
  color: #fff;
}
.p-technology-head__pics figcaption sup {
  font-size: 0.8em;
}
@media screen and (min-width: 1024px) {
  .p-technology-head__pics {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2.5rem;
  }
  .p-technology-head__pics figcaption {
    width: calc(100% - 3.125rem);
    height: 3.125rem;
    font-size: 1.25rem;
  }
}

.p-technology-head--subcritical {
  padding-bottom: 12.5rem;
}
@media screen and (min-width: 1024px) {
  .p-technology-head--subcritical {
    padding-bottom: 5.375rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-technology-head--subcritical .p-technology-head__wrap {
    width: 43.0625rem;
  }
}
.p-technology-head--subcritical .p-technology-head__lead {
  margin-top: 2.125rem;
}
@media screen and (max-width: 1023px) {
  .p-technology-head--subcritical .p-technology-head__lead .c-heading-sm {
    font-size: 1.75rem;
    line-height: 1.5;
    padding-left: 1.25rem;
  }
  .p-technology-head--subcritical .p-technology-head__lead .c-heading-sm strong {
    display: block;
    margin-left: -1.875rem;
    font-size: 2.5rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-technology-head--subcritical .p-technology-head__lead {
    margin-top: -1.5rem;
  }
  .p-technology-head--subcritical .p-technology-head__lead .c-heading-sm {
    margin-right: -1.25rem;
    font-size: 2.625rem;
    line-height: 1.7142857143;
  }
}
.p-technology-head--subcritical .p-technology-head__pic {
  margin-top: 1.875rem;
  padding: 0;
  border-radius: 0;
  background: none;
}
.p-technology-head--subcritical .p-technology-head__pic img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 1024px) {
  .p-technology-head--subcritical .p-technology-head__pic {
    margin-top: 2.875rem;
  }
}
.p-technology-head--subcritical .p-technology-head__type {
  position: absolute;
  bottom: 3.125rem;
  left: calc(50% - 8.9375rem);
}
.p-technology-head--subcritical .p-technology-head__type img {
  width: 17.9375rem;
}
@media screen and (min-width: 1024px) {
  .p-technology-head--subcritical .p-technology-head__type {
    left: calc(50% + 25.6875rem);
    bottom: auto;
    top: 15rem;
  }
  .p-technology-head--subcritical .p-technology-head__type img {
    width: 15.0725rem;
  }
}
.p-technology-head--subcritical .p-technology-head__pic2 {
  display: none;
  pointer-events: none;
}
@media screen and (min-width: 1024px) {
  .p-technology-head--subcritical .p-technology-head__pic2 {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .p-technology-head--subcritical .p-technology-head__pic2 img {
    width: 20.6225rem;
  }
}

/*:::type:::*/
.p-technology-head-type {
  margin-top: 0.625rem;
  border-radius: 0.625rem;
  padding: 1.25rem;
  background: #fff;
}
@media screen and (min-width: 1024px) {
  .p-technology-head-type {
    padding: 2.5rem 3.75rem;
  }
}

.p-technology-head-type__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0 0 0 1.25rem;
  position: relative;
  font-weight: bold;
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  color: #222;
}
.p-technology-head-type__head:before {
  content: "";
  display: block;
  width: 0.375rem;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  background: #2173c4;
}
.p-technology-head-type__head small {
  font-weight: 500;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  color: #444444;
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-technology-head-type__head small {
    font-size: 0.75rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-technology-head-type__head {
    padding: 0 0 0 1.625rem;
  }
  .p-technology-head-type__head small {
    font-size: 1rem;
  }
}

.p-technology-head-type__list {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid #e0e0e0;
  display: -ms-grid;
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 1024px) {
  .p-technology-head-type__list {
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.p-technology-head-type-list {
  position: relative;
  padding-left: 1.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 1024px) {
  .p-technology-head-type-list {
    padding-left: 2.1875rem;
    gap: 1rem;
  }
  .p-technology-head-type-list.is-row2 {
    -ms-grid-row-span: 2;
    grid-row: span 2;
  }
}

.p-technology-head-type-list__no {
  position: absolute;
  left: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  background: #2173c4;
  border-radius: 100%;
  font-weight: bold;
  font-size: 0.75rem;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .p-technology-head-type-list__no {
    width: 1.625rem;
    height: 1.625rem;
    font-size: 0.9375rem;
  }
}

.p-technology-head-type-list__data dt {
  padding-top: 0.05em;
  font-weight: bold;
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #222;
}
.p-technology-head-type-list__data dd {
  padding-top: 0.375rem;
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.2857142857;
}
@media screen and (min-width: 1024px) {
  .p-technology-head-type-list__data dt {
    padding-top: 0.25em;
    font-size: 1.125rem;
  }
  .p-technology-head-type-list__data dd {
    padding-top: 0.625rem;
    font-size: 0.875rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-technology-problem {
  position: relative;
  padding-top: var(--padding-section-md);
  padding-bottom: var(--padding-section);
  background: #fff;
  -webkit-transition: background 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: background 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  overflow: hidden;
}
.is-page-gradient .p-technology-problem {
  background: transparent;
}
.p-technology-problem__head {
  padding-bottom: var(--padding-block);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  border-bottom: 1px solid #e0e0e0;
}
@media screen and (min-width: 1024px) {
  .p-technology-problem__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.p-technology-problem__headLead {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
}
@media screen and (min-width: 1024px) {
  .p-technology-problem__headLead {
    width: 47.75rem;
    padding-bottom: 0.75rem;
    -ms-flex-item-align: end;
        align-self: flex-end;
  }
}

.p-technology-case {
  padding-top: var(--padding-section-md);
}
.p-technology-case.has-border {
  margin-top: var(--padding-section-md);
  border-top: 1px solid #e0e0e0;
}
.p-technology-case__headWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .p-technology-case__headWrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2.9375rem;
  }
}

.p-technology-case__headPic img {
  border-radius: 0.625rem;
}
.p-technology-case__headPic figcaption {
  margin-top: 0.25rem;
  text-align: right;
  font-size: 0.8125rem;
}
@media screen and (min-width: 1024px) {
  .p-technology-case__headPic {
    width: 33.75rem;
  }
}

.p-technology-case__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--gap);
}
.p-technology-case__head .c-heading-case {
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 1024px) {
  .p-technology-case__head {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .p-technology-case__head .c-heading-case {
    margin-bottom: 0.9375rem;
  }
}

.p-technology-case__body {
  padding-top: var(--padding-section);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--padding-section);
}
.p-technology-reason {
  background: #fff;
  -webkit-transition: background 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: background 0.5s cubic-bezier(0.5, 1, 0.89, 1);
}
.is-page-gradient .p-technology-reason {
  background: transparent;
}
.p-technology-reason--facility {
  background: var(--gradient);
  color: #fff;
}
.p-technology-reason--facility .c-heading-sm {
  color: #fff;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-technology-facility {
  position: relative;
  padding: var(--padding-section) 0;
  background: #fff;
}
.p-technology-facility__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--padding-section);
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-technology-test-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  padding: 3.75rem 0 3.125rem;
  color: var(--color);
  background: -webkit-gradient(linear, left top, left bottom, from(#172450), to(#1a5fa7));
  background: linear-gradient(to bottom, #172450 0%, #1a5fa7 100%);
}
@media screen and (min-width: 1024px) {
  .p-technology-test-detail {
    height: 49.4375rem;
    padding: 0;
  }
}

.p-technology-test-detail__bg {
  display: none;
}
@media screen and (min-width: 1024px) {
  .p-technology-test-detail__bg {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
  }
  .p-technology-test-detail__bg img {
    height: 100%;
  }
}

@media screen and (min-width: 1024px) {
  .p-technology-test-detail__wrap {
    padding-left: 12.875rem;
  }
}

.p-technology-test-detail__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem;
}
.p-technology-test-detail__title {
  font-weight: bold;
  font-size: 1.75rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-technology-test-detail__title {
    font-size: 2.625rem;
    text-align: left;
  }
}

.p-technology-test-detail__list {
  margin-top: 1.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .p-technology-test-detail__list {
    gap: 1.4375rem;
    margin-top: 2.5rem;
  }
}

.p-technology-test-detail-item {
  border-radius: 0.625rem;
  background: #f2f2f2;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  color: #444444;
}
@media screen and (min-width: 1024px) {
  .p-technology-test-detail-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-technology-test-detail-item__pic img {
  width: 100%;
  height: 10.8125rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 1024px) {
  .p-technology-test-detail-item__pic {
    width: 15.0625rem;
  }
  .p-technology-test-detail-item__pic img {
    height: auto;
  }
}

.p-technology-test-detail-item__body {
  padding: 1.25rem 2.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
@media screen and (min-width: 1024px) {
  .p-technology-test-detail-item__body {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 1.25rem 2.875rem;
  }
}

.p-technology-test-detail-item__title {
  font-weight: bold;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  line-height: 1.4;
  color: #222;
}
@media screen and (min-width: 1024px) {
  .p-technology-test-detail-item__title {
    font-size: 1.375rem;
    letter-spacing: 0.1em;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-technology-test-flow {
  padding: var(--padding-section) 0;
  background: #e7f7ff;
}
.p-technology-test-flow__head {
  font-weight: bold;
  font-size: 1.375rem;
  letter-spacing: 0.1em;
  color: var(--color-midashi);
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-technology-test-flow__head {
    font-size: 2rem;
  }
}

.p-technology-test-flow__list {
  margin-top: 1.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.875rem;
}
@media screen and (min-width: 1024px) {
  .p-technology-test-flow__list {
    margin-top: 2.5rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 1.25rem;
  }
}

.p-technology-test-flow-item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.375rem;
  position: relative;
  border-radius: 0.625rem;
  background: #fff;
  -webkit-box-shadow: 0 0 1.25rem rgba(33, 115, 196, 0.23);
          box-shadow: 0 0 1.25rem rgba(33, 115, 196, 0.23);
  padding: 2.5rem 2.125rem 2.125rem;
}
@media screen and (min-width: 1024px) {
  .p-technology-test-flow-item {
    padding: 3.5rem 1.5rem 1.5rem;
    gap: 0.625rem;
  }
}

.p-technology-test-flow-item__no {
  position: absolute;
  left: 0;
  top: -1.875rem;
  width: 100%;
  text-align: center;
  font-family: "Helvetica", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 3.5625rem;
  color: #2173c4;
}
.p-technology-test-flow-item__title {
  font-weight: bold;
  font-size: 1.375rem;
  letter-spacing: 0.1em;
  text-align: center;
  color: #2173c4;
}
.p-technology-test-flow-item__desc {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
}
@media screen and (min-width: 1024px) {
  .p-technology-test-flow-item__desc {
    font-size: 0.875rem;
    letter-spacing: 0.05em;
    line-height: 1.5714285714;
  }
}

.p-technology-test-flow-item__after {
  position: absolute;
  left: calc(50% - 1.8125rem);
  top: calc(100% - 1rem);
  width: 3.625rem;
  pointer-events: none;
  z-index: 2;
}
.p-technology-test-flow-item__after svg {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 1024px) {
  .p-technology-test-flow-item__after {
    left: calc(100% - 0.75rem);
    top: 50%;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-top
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
#canvas_mv {
  width: 100vw;
  height: 100vh;
}

.p-top-loading {
  width: 100%;
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 600;
  pointer-events: none;
}
.p-top-loading__bg {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #fff url(../img/p-top-loading-bg.jpg) center center/cover;
}
.p-top-loading__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-top-loading__wrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  text-align: center;
  padding: 0 1.25rem;
}
@media screen and (min-width: 1024px) {
  .p-top-loading__wrap {
    padding: 0;
  }
}

.p-top-loading__type1 {
  position: relative;
  opacity: 0;
}
.p-top-loading__type1 p {
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.p-top-loading__type1 p:nth-child(1) {
  -webkit-transition: -webkit-mask-size 2.4s ease-out;
  transition: -webkit-mask-size 2.4s ease-out;
  transition: mask-size 2.4s ease-out;
  transition: mask-size 2.4s ease-out, -webkit-mask-size 2.4s ease-out;
  -webkit-mask-size: 32.5rem 6.25rem;
          mask-size: 32.5rem 6.25rem;
  -webkit-mask-image: url(../img/p-top-loading-mask1.png);
          mask-image: url(../img/p-top-loading-mask1.png);
}
.anime .p-top-loading__type1 p:nth-child(1) {
  -webkit-mask-size: 1875rem 1875rem;
          mask-size: 1875rem 1875rem;
}
.p-top-loading__type1 p:nth-child(2) {
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
  -webkit-mask-image: url(../img/p-top-loading-mask2.png);
          mask-image: url(../img/p-top-loading-mask2.png);
  -webkit-mask-size: 0 0;
          mask-size: 0 0;
  -webkit-transition: -webkit-transform 1.4s 0.2s, -webkit-mask-size 1.4s;
  transition: -webkit-transform 1.4s 0.2s, -webkit-mask-size 1.4s;
  transition: transform 1.4s 0.2s, mask-size 1.4s;
  transition: transform 1.4s 0.2s, mask-size 1.4s, -webkit-transform 1.4s 0.2s, -webkit-mask-size 1.4s;
}
.anime .p-top-loading__type1 p:nth-child(2) {
  -webkit-mask-size: 87.5rem 87.5rem;
          mask-size: 87.5rem 87.5rem;
  -webkit-transform: scale(1);
          transform: scale(1);
}
@media screen and (min-width: 1024px) {
  .p-top-loading__type1 img {
    width: 31.25rem;
    height: auto;
  }
}

.p-top-loading__type2 {
  opacity: 0;
}
@media screen and (min-width: 1024px) {
  .p-top-loading__type2 img {
    width: 22.8125rem;
    height: auto;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-top__bg {
  position: relative;
  overflow: hidden;
  background: url(../img/p-top-bg.webp) 0 0/auto 382.1333333333vw no-repeat;
}
@media screen and (min-width: 641px) {
  .p-top__bg {
    background-size: cover;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-top-mv {
  position: relative;
  color: var(--color);
}
.p-top-mv__bg {
  position: relative;
  height: 25rem;
  overflow: hidden;
  pointer-events: none;
}
.p-top-mv__bg iframe,
.p-top-mv__bg video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  aspect-ratio: 16/9;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.p-top-mv__bg video,
.p-top-mv__bg img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  vertical-align: bottom;
}
@media screen and (min-width: 1024px) {
  .p-top-mv__bg {
    height: 100dvh;
  }
}

.p-top-mv__head {
  position: absolute;
  width: 100%;
  bottom: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .p-top-mv__head {
    gap: 0 1.5rem;
    bottom: 8.75rem;
  }
}

.p-top-mv__type {
  font-family: "Roboto", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 5.625rem;
  line-height: 0.9;
  color: transparent;
  -webkit-text-stroke: 0.0625rem #fff;
}
@media screen and (min-width: 1024px) {
  .p-top-mv__type {
    grid-area: type;
    font-size: 11.75rem;
  }
}

.p-top-mv__ja {
  padding-top: 0.625rem;
  font-weight: bold;
  font-size: 1.1875rem;
  line-height: 1.5;
  opacity: 0;
}
.is-loading-end .p-top-mv__ja {
  opacity: 1;
  -webkit-transition: opacity 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: opacity 0.5s cubic-bezier(0.5, 1, 0.89, 1);
}
@media screen and (min-width: 1024px) {
  .p-top-mv__ja {
    padding-top: 1.25rem;
    grid-area: ja;
    font-size: 1.75rem;
    letter-spacing: 0.1em;
    line-height: 1.6428571429;
  }
}

.p-top-mv__en {
  margin-top: 0.375rem;
  font-family: "Roboto", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 0.8125rem;
  opacity: 0;
}
.is-loading-end .p-top-mv__en {
  opacity: 1;
  -webkit-transition: opacity 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: opacity 0.5s cubic-bezier(0.5, 1, 0.89, 1);
}
@media screen and (min-width: 1024px) {
  .p-top-mv__en {
    margin: 0.375rem 0 0 0.375rem;
    grid-area: en;
    letter-spacing: 0.05em;
  }
}

.p-top-mv-info {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
}
.p-top-mv-info:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(#000));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, #000 100%);
}
@media screen and (max-width: 1023px) {
  .p-top-mv-info {
    display: none;
  }
}
.p-top-mv-info__link {
  position: relative;
  display: -ms-grid;
  display: grid;
  height: 6.25rem;
  padding: 0.75rem 1.25rem;
  background: transparent;
      grid-template-areas: "meta meta" "category title";
  -ms-grid-columns: auto 0.6875rem 1fr;
  grid-template-columns: auto 1fr;
  -ms-grid-rows: auto 0.8125rem 1fr;
  grid-template-rows: auto 1fr;
  gap: 0.8125rem 0.6875rem;
}
.p-top-mv-info__line {
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  border-top: 1.5px solid rgba(255, 255, 255, 0.5);
}
.is-loading-end .p-top-mv-info__line {
  width: 100%;
  -webkit-transition: width 2s cubic-bezier(0.5, 1, 0.89, 1);
  transition: width 2s cubic-bezier(0.5, 1, 0.89, 1);
}
.p-top-mv-info__line:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  position: absolute;
  left: 0;
  top: -1.5px;
  border-top: 1.5px solid white;
  -webkit-animation: pTopNewsLine 2s cubic-bezier(0.5, 1, 0.89, 1) infinite;
          animation: pTopNewsLine 2s cubic-bezier(0.5, 1, 0.89, 1) infinite;
}

@-webkit-keyframes pTopNewsLine {
  0% {
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: left top;
            transform-origin: left top;
  }
  40% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: left top;
            transform-origin: left top;
  }
  41% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: right top;
            transform-origin: right top;
  }
  100% {
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: right top;
            transform-origin: right top;
  }
}

@keyframes pTopNewsLine {
  0% {
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: left top;
            transform-origin: left top;
  }
  40% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: left top;
            transform-origin: left top;
  }
  41% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: right top;
            transform-origin: right top;
  }
  100% {
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: right top;
            transform-origin: right top;
  }
}
.p-top-mv-info__meta {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-area: meta;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5em;
  font-family: "Helvetica", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 0.75rem;
  opacity: 0;
}
.p-top-mv-info__meta dt {
  font-family: "Roboto", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
}
.is-loading-end .p-top-mv-info__meta {
  opacity: 1;
  -webkit-transition: opacity 0.5s 2s cubic-bezier(0.5, 1, 0.89, 1);
  transition: opacity 0.5s 2s cubic-bezier(0.5, 1, 0.89, 1);
}
.p-top-mv-info__category {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: category;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 1.25rem;
  border-radius: 0.25rem;
  background: #00a8be;
  margin-top: 0.3125rem;
  padding: 0 0.75rem;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  opacity: 0;
}
.is-loading-end .p-top-mv-info__category {
  opacity: 1;
  -webkit-transition: opacity 0.5s 2s cubic-bezier(0.5, 1, 0.89, 1);
  transition: opacity 0.5s 2s cubic-bezier(0.5, 1, 0.89, 1);
}
.p-top-mv-info__title {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  grid-area: title;
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  opacity: 0;
}
.is-loading-end .p-top-mv-info__title {
  opacity: 1;
  -webkit-transition: opacity 0.5s 2s cubic-bezier(0.5, 1, 0.89, 1);
  transition: opacity 0.5s 2s cubic-bezier(0.5, 1, 0.89, 1);
}
.p-top-mv-info__more {
  position: absolute;
  right: 1.25rem;
  top: calc(50% - 1.5625rem);
  opacity: 0;
}
.p-top-mv-info__more .c-btn-more {
  opacity: 0;
  -webkit-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
  -webkit-transition-delay: 0.15s;
          transition-delay: 0.15s;
}
.p-top-mv-info__more .c-btn-circle {
  position: absolute;
  right: 0;
  top: 0;
  -webkit-animation: 0.5s cubic-bezier(0.5, 1, 0.89, 1) cardTechnologyBtnOut forwards;
          animation: 0.5s cubic-bezier(0.5, 1, 0.89, 1) cardTechnologyBtnOut forwards;
  pointer-events: none;
}
.is-loading-end .p-top-mv-info__more {
  opacity: 1;
  -webkit-transition: opacity 0.5s 2s cubic-bezier(0.5, 1, 0.89, 1);
  transition: opacity 0.5s 2s cubic-bezier(0.5, 1, 0.89, 1);
}

@media screen and (min-width: 1024px) {
  .p-top-mv-info__link:hover .c-btn-more {
    opacity: 1;
    -webkit-transition-delay: 0.5s;
            transition-delay: 0.5s;
  }
  .p-top-mv-info__link:hover .c-btn-circle {
    -webkit-animation: 1s cubic-bezier(0.5, 1, 0.89, 1) cardTechnologyBtn forwards;
            animation: 1s cubic-bezier(0.5, 1, 0.89, 1) cardTechnologyBtn forwards;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-top-technology {
  position: relative;
  padding-top: 3.625rem;
  overflow: hidden;
  z-index: 2;
}
@media screen and (min-width: 1024px) {
  .p-top-technology {
    padding-top: 10.25rem;
  }
}

.p-top-technology__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 1024px) {
  .p-top-technology__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}

@media screen and (max-width: 1023px) {
  .p-top-technology__more {
    display: none;
  }
}
.p-top-technology-list__lead {
  display: none;
  margin-top: 2.5rem;
  font-size: 1rem;
  letter-spacing: 0.1em;
  text-align: center;
}
.p-top-technology-list__lead p {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-top-technology-list__lead p > span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  padding: 0 1rem;
}
.p-top-technology-list__lead p > span span {
  position: relative;
}
.p-top-technology-list__lead p #technologyIndicator {
  position: absolute;
  z-index: 2;
  color: #fff;
  --indicator: 0%;
  clip-path: polygon(0% 0%, var(--indicator) 0%, var(--indicator) 100%, 0% 100%);
}
.p-top-technology-list__lead p #technologyIndicator i {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  background: var(--gradient);
}
@media screen and (min-width: 1024px) {
  .p-top-technology-list__lead {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-top-technology-list__items {
  margin-top: 2.5rem;
}
@media screen and (min-width: 1024px) {
  .p-top-technology-list__items {
    margin-top: 3.125rem;
    height: 31.25rem;
  }
}

.p-top-technology-list-items {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1.25rem 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .p-top-technology-list-items {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-top-company {
  position: relative;
  padding-top: 7.25rem;
}
.p-top-company .l-container {
  position: relative;
  z-index: 5;
}
@media screen and (min-width: 1024px) {
  .p-top-company {
    padding-top: 12.5vw;
  }
}

.p-top-company__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 44.8vw;
  pointer-events: none;
  z-index: 1;
  mix-blend-mode: multiply;
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-top-company__bg {
    top: 0;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-company__bg {
    top: 7.2222222222vw;
  }
}

@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-top-company__bg picture img {
    width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-company__bg picture img {
    margin-left: -20vw;
    max-width: none;
    height: 48.125vw;
  }
}

.p-top-company__bg ._water1 {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0.6;
}
.p-top-company__bg ._water1 img {
  -webkit-transform: scale(2.5);
          transform: scale(2.5);
  -webkit-filter: blur(0.0625rem);
          filter: blur(0.0625rem);
}
@media screen and (max-width: 1023px) {
  .p-top-company__bg ._water1 {
    width: 75rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-company__bg ._water1 {
    top: 0;
  }
}

.p-top-company__bg ._water2 {
  position: absolute;
  left: 0;
  top: 50%;
  opacity: 0.6;
}
.p-top-company__bg ._water2 img {
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
  -webkit-filter: blur(0.03125rem);
          filter: blur(0.03125rem);
}
@media screen and (max-width: 1023px) {
  .p-top-company__bg ._water2 {
    width: 75rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-company__bg ._water2 {
    top: 50%;
  }
}

.p-top-company__bg ._water3 {
  position: absolute;
  left: 0;
  top: 50%;
  opacity: 0.6;
}
@media screen and (max-width: 1023px) {
  .p-top-company__bg ._water3 {
    width: 75rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-company__bg ._water3 {
    top: 50%;
  }
}

@media screen and (min-width: 1024px) {
  .p-top-company__headWrap {
    height: 12.5vw;
  }
}

.p-top-company__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 1024px) {
  .p-top-company__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}

@media screen and (max-width: 1023px) {
  .p-top-company__more {
    display: none;
  }
}
.p-top-company__lead {
  margin-top: 1.5rem;
}
@media screen and (min-width: 1024px) {
  .p-top-company__lead {
    margin-top: 1.375rem;
  }
}

.p-top-company__list {
  margin-top: 10.875rem;
  display: -ms-grid;
  display: grid;
  gap: 1.25rem;
}
@media screen and (max-width: 1023px) {
  .p-top-company__list .c-card-news:nth-child(4) {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-company__list {
    margin-top: 17.5rem;
    margin-inline: -2.375rem;
    gap: 4.875rem;
    -ms-grid-columns: 1fr 4.875rem 1fr 4.875rem 1fr;
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.p-top-company__foot {
  position: relative;
  z-index: 0;
  margin-top: -178.6666666667vw;
  pointer-events: none;
}
@media screen and (min-width: 1024px) {
  .p-top-company__foot {
    margin-top: -46.5277777778vw;
  }
}

.p-top-company-foot {
  position: relative;
  z-index: 0;
  margin-top: -178.6666666667vw;
  pointer-events: none;
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-top-company-foot {
    margin-top: -93.0555555556vw;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-company-foot {
    margin-top: -41.875rem;
  }
}

.p-top-company-foot__wrap {
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  pointer-events: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  padding: 0 0 6.25rem;
  opacity: 0;
  -webkit-transform: translateY(2.5rem);
          transform: translateY(2.5rem);
}
.p-top-company-foot__wrap.is-visible {
  -webkit-transition: 1s ease-out;
  transition: 1s ease-out;
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-top-company-foot__wrap {
    padding: 0 0 15rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-company-foot__wrap {
    padding: 0 0 17.125rem;
  }
}

.p-top-company-foot__shadow {
  position: absolute;
}
@media screen and (min-width: 1024px) {
  .p-top-company-foot__shadow img {
    width: 44.625rem;
  }
}

.p-top-company-foot__type1 {
  position: relative;
  z-index: 2;
}
.p-top-company-foot__type1 p {
  width: 21rem;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
.p-top-company-foot__type1 p:nth-child(1) {
  -webkit-transition: -webkit-mask-size 2.4s ease-out 1s;
  transition: -webkit-mask-size 2.4s ease-out 1s;
  transition: mask-size 2.4s ease-out 1s;
  transition: mask-size 2.4s ease-out 1s, -webkit-mask-size 2.4s ease-out 1s;
  -webkit-mask-size: 50rem 50rem;
          mask-size: 50rem 50rem;
  -webkit-mask-image: url(../img/p-top-loading-mask1.png);
          mask-image: url(../img/p-top-loading-mask1.png);
}
.is-visible .p-top-company-foot__type1 p:nth-child(1) {
  -webkit-mask-size: 1875rem 1875rem;
          mask-size: 1875rem 1875rem;
}
.p-top-company-foot__type1 p:nth-child(2) {
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
  -webkit-mask-image: url(../img/p-top-loading-mask2.png);
          mask-image: url(../img/p-top-loading-mask2.png);
  -webkit-mask-size: 0 0;
          mask-size: 0 0;
  -webkit-transition: -webkit-transform 1.4s 1.2s, -webkit-mask-size 1.4s 1s;
  transition: -webkit-transform 1.4s 1.2s, -webkit-mask-size 1.4s 1s;
  transition: transform 1.4s 1.2s, mask-size 1.4s 1s;
  transition: transform 1.4s 1.2s, mask-size 1.4s 1s, -webkit-transform 1.4s 1.2s, -webkit-mask-size 1.4s 1s;
}
.is-visible .p-top-company-foot__type1 p:nth-child(2) {
  -webkit-mask-size: 112.5rem 112.5rem;
          mask-size: 112.5rem 112.5rem;
  -webkit-transform: scale(1);
          transform: scale(1);
}
@media screen and (min-width: 1024px) {
  .p-top-company-foot__type1 p {
    width: 46.53125rem;
  }
}

.p-top-company-foot__line {
  margin-top: -1rem;
  clip-path: polygon(50% 0, 50% 0, 50% 100%, 50% 100%);
}
.is-visible .p-top-company-foot__line {
  -webkit-transition: clip-path 2s 1s;
  transition: clip-path 2s 1s;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
@media screen and (min-width: 1024px) {
  .p-top-company-foot__line {
    margin-top: -0.875rem;
  }
  .p-top-company-foot__line img {
    width: 44.625rem;
  }
}

.p-top-company-foot__type2 {
  margin-top: -0.375rem;
  opacity: 0;
}
.p-top-company-foot__type2 img {
  width: 17.5rem;
}
.is-visible .p-top-company-foot__type2 {
  -webkit-transition: opacity 2s 2s;
  transition: opacity 2s 2s;
  opacity: 1;
}
@media screen and (min-width: 1024px) {
  .p-top-company-foot__type2 {
    margin-top: 0.875rem;
  }
  .p-top-company-foot__type2 img {
    width: 34.09375rem;
  }
}

.p-top-company-foot__bg img {
  width: 100%;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-top-news {
  padding: 4.125rem 0 3.5rem;
}
@media screen and (min-width: 1024px) {
  .p-top-news {
    padding: 5.375rem 0 7.6875rem;
  }
}

.p-top-news__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 1024px) {
  .p-top-news__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}

@media screen and (max-width: 1023px) {
  .p-top-news__more {
    display: none;
  }
}
.p-top-news__list {
  margin-top: 2.75rem;
  display: -ms-grid;
  display: grid;
  gap: 1.25rem;
}
@media screen and (max-width: 1023px) {
  .p-top-news__list .c-card-news:nth-child(4) {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-news__list {
    margin-top: 3.4375rem;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
}

.p-top-news__moreSp {
  margin-top: 1.25rem;
  text-align: center;
}
.p-top-news__moreSp a {
  width: 9.75rem;
}
@media screen and (min-width: 1024px) {
  .p-top-news__moreSp {
    display: none;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-top-recruit {
  padding: 2.5rem 0 5rem;
  background: var(--gradient);
  color: var(--color);
}
@media screen and (min-width: 1024px) {
  .p-top-recruit {
    padding: 7.5rem 0;
  }
}

.p-top-recruit__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.125rem;
}
@media screen and (min-width: 1024px) {
  .p-top-recruit__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0;
  }
}

.p-top-recruit__head {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (min-width: 1024px) {
  .p-top-recruit__head {
    padding-top: 5rem;
  }
}

.p-top-recruit__lead {
  margin-top: 1.875rem;
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  line-height: 1.6111111111;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-top-recruit__lead {
    padding-top: 1.875rem;
    font-size: 1.25rem;
    line-height: 1.6;
    text-align: left;
  }
}

.p-top-recruit__more {
  margin-top: 1.25rem;
  text-align: center;
}
.p-top-recruit__more a {
  width: 9.75rem;
}
@media screen and (min-width: 1024px) {
  .p-top-recruit__more {
    margin-top: 1.75rem;
    text-align: left;
  }
  .p-top-recruit__more a {
    width: 14.8125rem;
  }
}

@media screen and (min-width: 1024px) {
  .p-top-recruit__bnr {
    width: 44.375rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	...
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	cm-aside
----------------------------------------------------*/
.cm-aside-nav {
  background: -webkit-gradient(linear, left top, right top, from(#2a9bd7), to(#0a35c6));
  background: linear-gradient(to right, #2a9bd7 0%, #0a35c6 100%);
  color: var(--color);
  margin-inline: calc(50% - 50vw);
}
@media screen and (min-width: 1024px) {
  .cm-aside-nav {
    margin: -1.25rem 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 16.875rem;
    gap: 3.75rem;
    border-radius: 0.625rem;
    position: sticky;
    padding: 6.25rem 0;
    left: 0;
    top: calc(var(--header-height) + 1.25rem);
    z-index: 50;
  }
}

@media screen and (max-width: 1023px) {
  .cm-aside-nav__head {
    display: none;
  }
}
.cm-aside-nav__list {
  width: 100%;
}
.cm-aside-nav__list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1023px) {
  .cm-aside-nav__list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    border-bottom: 1px solid transparent;
    border-color: #fff;
  }
  .cm-aside-nav__list li {
    position: relative;
    border-top: 1px solid transparent;
    border-color: #fff;
  }
  .cm-aside-nav__list li:nth-child(even):before {
    content: "";
    display: block;
    width: 0;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    border-left: 1px solid transparent;
    border-color: #fff;
    z-index: 2;
  }
  .cm-aside-nav__list a {
    position: relative;
    height: 3.6875rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: var(--gradient);
    font-size: 1rem;
    letter-spacing: 0.1em;
  }
  .cm-aside-nav__list a i {
    font-size: 0;
    position: absolute;
    right: 0.625rem;
    width: 0.75rem;
  }
  .cm-aside-nav__list a svg {
    width: 100%;
    height: auto;
    fill: #fff;
  }
  .cm-aside-nav__list .cm-aside-nav__listTop a {
    font-family: "Roboto", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    font-weight: bold;
    font-size: 1.5rem;
    pointer-events: none;
  }
}
@media screen and (min-width: 1024px) {
  .cm-aside-nav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.9375rem;
  }
  .cm-aside-nav__list a {
    padding-left: 3.5rem;
    -webkit-transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
    transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  }
  .cm-aside-nav__list a span {
    color: #d2e3f6;
    -webkit-transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
    transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  }
  .cm-aside-nav__list a:before {
    content: "";
    display: block;
    width: 0.9375rem;
    height: 0;
    border-top: 1px solid var(--color);
    -webkit-transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
    transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  }
  .cm-aside-nav__list a i {
    display: none;
  }
  .cm-aside-nav__list a.is-current {
    padding-left: 0;
    font-weight: bold;
  }
  .cm-aside-nav__list a.is-current span {
    color: #fff;
  }
  .cm-aside-nav__list a.is-current:before {
    width: 2.5625rem;
  }
  .cm-aside-nav__list a:hover {
    padding-left: 0;
    font-weight: bold;
  }
  .cm-aside-nav__list a:hover span {
    color: #fff;
  }
  .cm-aside-nav__list a:hover:before {
    width: 2.5625rem;
  }
  .cm-aside-nav__list .cm-aside-nav__listTop {
    display: none;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	cm-company
----------------------------------------------------*/
.cm-company-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  padding-bottom: 1.875rem;
}
@media screen and (min-width: 1024px) {
  .cm-company-nav {
    gap: 2.8125rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.cm-company-nav--col3 {
  display: -ms-grid;
  display: grid;
}
@media screen and (max-width: 1023px) {
  .cm-company-nav--col3 {
    -ms-grid-columns: auto auto;
    grid-template-columns: auto auto;
  }
}
@media screen and (min-width: 1024px) {
  .cm-company-nav--col3 {
    -ms-grid-columns: 1fr 1.25rem 1fr 1.25rem 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1.5rem 1.25rem;
  }
}

.cm-company-nav--col4 {
  display: -ms-grid;
  display: grid;
}
@media screen and (min-width: 1024px) {
  .cm-company-nav--col4 {
    -ms-grid-columns: 1fr 1.25rem 1fr 1.25rem 1fr 1.25rem 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 1.5rem 1.25rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	cm-entry
----------------------------------------------------*/
body figure {
  margin-bottom: 0;
}

.cm-entry {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--gap);
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
  word-break: break-all;
}
@media screen and (min-width: 1024px) {
  .cm-entry {
    font-size: 1rem;
    line-height: 2;
  }
}
.cm-entry h1 {
  font-weight: bold;
  font-size: 1.5rem;
  line-height: 1.375;
}
@media screen and (min-width: 1024px) {
  .cm-entry h1 {
    font-size: 2rem;
  }
}
.cm-entry h2:not(:first-child) {
  position: relative;
  margin-top: 3.75rem;
}
.cm-entry h2:not(:first-child):after {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  position: absolute;
  left: 0;
  top: -2.5rem;
  pointer-events: none;
  border-top: 1px solid #e0e0e0;
}
@media screen and (min-width: 1024px) {
  .cm-entry h2:not(:first-child) {
    margin-top: 6.25rem;
  }
  .cm-entry h2:not(:first-child):after {
    top: -3.75rem;
  }
}
.cm-entry h3 {
  padding-top: 0.2em;
  font-weight: bold;
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.7777777778;
  color: #444;
}
@media screen and (min-width: 1024px) {
  .cm-entry h3 {
    font-size: 1.125rem;
  }
}
.cm-entry h4 {
  font-size: 1em;
  margin-top: 1.33em;
  font-weight: bold;
}
.cm-entry h5 {
  font-size: 0.83em;
  margin-top: 1.67em;
  font-weight: bold;
}
.cm-entry ul {
  margin-top: 0.625rem;
  padding: 1rem 1rem;
  background: #ededed;
}
@media screen and (min-width: 1024px) {
  .cm-entry ul {
    padding: 1.25rem 1.75rem;
  }
}
.cm-entry strong {
  font-weight: bold;
}
.cm-entry em {
  font-style: italic;
}
.cm-entry ol {
  margin-left: 1.5em;
}
.cm-entry ol li {
  list-style: decimal;
}
.cm-entry table th {
  font-weight: bold;
}
.cm-entry table th,
.cm-entry table td {
  padding: 0.5em 0.5em;
  border: 0.0625rem solid #ccc;
}
.cm-entry a {
  color: #1DA1F2;
  text-decoration: underline;
}
.cm-entry a:hover {
  text-decoration: none;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.editor-styles-wrapper.editor-styles-wrapper.editor-styles-wrapper .wp-block-gallery,
.cm-entry .wp-block-gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 1023px) {
  .editor-styles-wrapper.editor-styles-wrapper.editor-styles-wrapper .wp-block-gallery,
  .cm-entry .wp-block-gallery {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	cm-form
----------------------------------------------------*/
.cm-form {
  padding: 2.5rem 1.25rem;
  border-radius: 0.625rem;
  background: #f2f2f2;
  margin-inline: calc(50% - 50vw);
}
@media screen and (min-width: 1024px) {
  .cm-form {
    margin-inline: initial;
    padding: 3.125rem 5.4375rem;
  }
}

.cm-form__inputs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
.cm-form__inputs input[type=text],
.cm-form__inputs input[type=email],
.cm-form__inputs select,
.cm-form__inputs textarea {
  width: 100%;
  height: 2.8125rem;
  padding: 0 1.25rem;
  border-radius: 0.25rem;
  background: #fff;
  border: 1px solid transparent;
}
.cm-form__inputs input[type=text]:focus,
.cm-form__inputs input[type=email]:focus,
.cm-form__inputs select:focus,
.cm-form__inputs textarea:focus {
  border: 1px solid #2173c4;
}
.cm-form__inputs textarea {
  padding: 1rem 1.25rem;
  height: 10.75rem;
}
@media screen and (min-width: 1024px) {
  .cm-form__inputs {
    gap: 1.875rem;
  }
}

.cm-form__privacy {
  padding-top: var(--padding-block);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--gap);
  text-align: center;
}
.cm-form__privacy p {
  font-size: 0.875rem;
}
.cm-form__privacy a {
  color: #2173c4;
  text-decoration: underline;
}
.cm-form__privacy label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.cm-form__privacy label input[type=checkbox] {
  width: 1.2em;
  height: 1.2em;
}

.cm-form__action {
  padding-top: var(--padding-block);
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  gap: 1.25rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 641px) {
  .cm-form__action {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.cm-form-input {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.875rem;
}
.cm-form-input dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  font-weight: bold;
  font-size: 1rem;
}
.cm-form-input dt ._required {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2.1875rem;
  height: 1.125rem;
  border-radius: 0.5625rem;
  background: #e14f48;
  font-weight: bold;
  font-size: 0.625rem;
  color: #fff;
}
.cm-form-input__ex {
  margin-bottom: 0.875rem;
}

.cm-form-input__select {
  position: relative;
}
.cm-form-input__select:after {
  content: "";
  display: block;
  width: 2.1875rem;
  height: 2.8125rem;
  position: absolute;
  right: 0;
  top: 0;
  pointer-events: none;
  background: url(../img/ico-select-down.webp) center center/cover;
}
.cm-form-input__select select {
  padding: 0 3.125rem 0 1.25rem;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-form-input__zip {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.25rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.cm-form-input__zip > div:nth-child(1),
.cm-form-input__zip > div:nth-child(3) {
  font-weight: bold;
  font-size: 0.8125rem;
}
.cm-form-input__zip > div:nth-child(2),
.cm-form-input__zip > div:nth-child(4) {
  width: 6.875rem;
}
.cm-form-input__zip > div:last-child {
  margin-left: 1rem;
}
.cm-form-input-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.9375rem;
}
.cm-form-input-group .cm-form-input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.mw_wp_form_input .cm-form-mw-confirm {
  display: none;
}
.mw_wp_form_input .cm-form-mw-submit {
  display: none;
}
.mw_wp_form_input button[data-button=back] {
  display: none;
}
.mw_wp_form_input button[data-button=submit] {
  display: none;
}

.mw_wp_form_confirm .cm-form-mw-input {
  display: none;
}
.mw_wp_form_confirm .cm-form-input dt ._required {
  display: none;
}
.mw_wp_form_confirm .cm-form__privacy {
  display: none;
}
.mw_wp_form_confirm .cm-form-mw-submit {
  display: none;
}
.mw_wp_form_confirm .c-btn-zip {
  display: none;
}
.mw_wp_form_confirm .cm-form-input__select:after {
  display: none;
}
.mw_wp_form_confirm button[data-button=confirm] {
  display: none;
}

.mw_wp_form_complete .cm-form-mw-input {
  display: none;
}
.mw_wp_form_complete .cm-form-mw-confirm {
  display: none;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	cm-main
----------------------------------------------------*/
.cm-main-header {
  position: relative;
  color: var(--color);
}
.cm-main-header__bg img {
  border-radius: 0.625rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-header__bg {
    margin-inline: -6.125rem;
  }
}

.cm-main-header-tec .cm-main-header__bg {
  overflow: hidden;
  height: 37.5rem;
  border-radius: 0.625rem;
  margin-left: -1.25rem;
  margin-right: -1.25rem;
}
.cm-main-header-tec .cm-main-header__bg img {
  width: 100%;
  height: 50rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 1024px) {
  .cm-main-header-tec .cm-main-header__bg {
    margin-left: -7.5rem;
    margin-right: -7.5rem;
  }
}

.cm-main-header__container {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.875rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.cm-main-header__title {
  text-align: center;
}
.cm-main-header__ja {
  font-weight: bold;
  font-size: 1.625rem;
  letter-spacing: 0.1em;
  text-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
}
@media screen and (min-width: 1024px) {
  .cm-main-header__ja {
    font-size: 2.625rem;
  }
}

.cm-main-header__en {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-family: "Roboto", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  line-height: 1.2222222222;
  text-transform: uppercase;
}
@media screen and (min-width: 1024px) {
  .cm-main-header__en {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    font-size: 1.375rem;
  }
  .cm-main-header__en li + li:before {
    content: " / ";
    margin-left: 0.5em;
  }
}

.cm-main-header__breadcrumb {
  display: none;
  font-weight: bold;
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
  gap: 1.75rem;
  position: absolute;
  left: 0;
  bottom: 2.75rem;
}
.cm-main-header__breadcrumb li {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.cm-main-header__breadcrumb li:not(:first-child):before {
  content: "";
  display: block;
  position: absolute;
  left: -1.25rem;
  pointer-events: none;
  width: 0.6875rem;
  height: 0;
  background: transparent;
  border: 1px solid transparent;
  border-color: var(--color);
}
.cm-main-header__breadcrumb a:before,
.cm-main-header__breadcrumb span:before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  bottom: -0.5rem;
  pointer-events: none;
  width: 100%;
  height: 0.125rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#2a9bd7), to(#0a35c6));
  background: linear-gradient(#2a9bd7 0%, #0a35c6 100%);
  -webkit-transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
}
.cm-main-header__breadcrumb a:before {
  width: 0;
}
.cm-main-header__breadcrumb a:hover:before {
  width: 100%;
  right: auto;
  left: 0;
}
@media screen and (min-width: 1024px) {
  .cm-main-header__breadcrumb {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: -3.625rem;
  }
}

.cm-main-header--sub .cm-main-header__container {
  padding-top: 2.5rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-header--sub .cm-main-header__container {
    padding-top: 5rem;
  }
}
.cm-main-header--sub .cm-main-header__bg {
  margin-inline: calc(50% - 50vw);
}
.cm-main-header--sub .cm-main-header__bg img {
  border-radius: 0;
}
@media screen and (max-width: 1023px) {
  .cm-main-header--sub .cm-main-header__bg img {
    width: 100%;
    height: 30.125rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.cm-main-header--sub .cm-main-header__breadcrumb {
  color: var(--color);
}

@media screen and (max-width: 1023px) {
  .cm-main-header--company .cm-main-header__bg {
    margin-bottom: -9.375rem;
  }
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-main-headerB {
  padding: var(--padding-section-lg) 0 var(--padding-section-md);
  margin-inline: -1.25rem;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-main-paginate {
  max-width: 62.5rem;
  width: 100%;
  margin-inline: auto;
}
.cm-main-paginate__list {
  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;
  gap: 0.625rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-paginate__list {
    gap: 1.25rem;
  }
}

.cm-main-paginate__ctrl:first-child {
  margin-right: auto;
}
.cm-main-paginate__ctrl:last-child {
  margin-left: auto;
}
.cm-main-paginate__ctrl a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 3.75rem;
  height: 2.25rem;
  border-radius: 0.375rem;
  background: #fff;
  border: 0.125rem solid #c9c9c9;
  font-weight: bold;
  font-size: 0.875rem;
  text-align: center;
}
.cm-main-paginate__ctrl a:hover {
  background: #2173c4;
  border-color: #2173c4;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .cm-main-paginate__ctrl a {
    width: 6.25rem;
    height: 2.5rem;
  }
}

.cm-main-paginate__page span,
.cm-main-paginate__page a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2.5rem;
  height: 2.25rem;
  border-radius: 0.375rem;
  background: #fff;
  border: 0.125rem solid #c9c9c9;
  font-weight: bold;
  font-size: 0.875rem;
  text-align: center;
}
.cm-main-paginate__page.is-current span,
.cm-main-paginate__page a:hover {
  background: #2173c4;
  border-color: #2173c4;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .cm-main-paginate__page span,
  .cm-main-paginate__page a {
    width: 3.125rem;
    height: 2.5rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	cm-policy
----------------------------------------------------*/
.cm-policy {
  max-width: 50rem;
  margin-inline: auto;
  font-size: 0.875rem;
  line-height: 2;
}
@media screen and (min-width: 1024px) {
  .cm-policy {
    font-size: 1rem;
    letter-spacing: 0.05em;
  }
}

.cm-policy__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.625rem;
  margin-top: var(--padding-block);
  padding-top: var(--padding-block);
  border-top: 1px solid #707070;
}
.cm-policy__body h3:not(:first-child) {
  margin-top: 0.625rem;
}
.cm-policy__body h3 + * {
  margin-top: -0.25rem;
}
.cm-policy__body blockquote {
  margin-top: -0.625rem;
  padding: 1.25rem 1.25rem;
  border-radius: 0.625rem;
  background: #f2f2f2;
}
@media screen and (min-width: 1024px) {
  .cm-policy__body blockquote {
    padding: 1.25rem 2.5rem;
  }
}

.cm-policy__sign {
  margin-top: var(--padding-block);
  text-align: right;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	cm-technology
----------------------------------------------------*/
.cm-technology-cta {
  padding: 3.625rem 0 3.875rem;
  color: var(--color);
  min-height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #fff;
  -webkit-transition: background 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: background 0.5s cubic-bezier(0.5, 1, 0.89, 1);
}
.is-page-gradient .cm-technology-cta {
  background: transparent;
}
@media screen and (min-width: 1024px) {
  .cm-technology-cta {
    padding: 3.75rem 0 3rem;
  }
}

.cm-technology-cta__head {
  font-weight: bold;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  line-height: 1.6;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .cm-technology-cta__head {
    font-size: 1.75rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
  }
}

.cm-technology-cta__list {
  margin-top: 1.875rem;
  display: -ms-grid;
  display: grid;
  gap: 0.625rem;
}
.cm-technology-cta__list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.0625rem 1.125rem;
  border-radius: 0.625rem;
  background: rgba(255, 255, 255, 0.2);
  border: 0.125rem solid #fff;
  font-weight: bold;
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 1.625;
}
.cm-technology-cta__list li small {
  font-size: 0.7777777778em;
}
.cm-technology-cta__list li i {
  width: 1.5rem;
  font-size: 0;
  position: relative;
  top: -0.25rem;
}
.cm-technology-cta__list li p {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (min-width: 1024px) {
  .cm-technology-cta__list {
    margin: 1.25rem auto 0;
    max-width: 60rem;
    -ms-grid-columns: 1fr 1.25rem 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
  }
  .cm-technology-cta__list li {
    font-size: 1.125rem;
    line-height: 1.4444444444;
  }
}

.cm-technology-cta__action {
  margin-top: 2.5rem;
  text-align: center;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-technology-reason {
  padding: 3.125rem 0 5rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-reason {
    padding: 5rem 0 6.25rem;
  }
}

.cm-technology-reason__lead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--gap);
}
@media screen and (min-width: 1024px) {
  .cm-technology-reason__lead {
    text-align: center;
  }
}

.cm-technology-reason__list {
  margin-top: 1.875rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0.75rem 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem 0.75rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-reason__list {
    margin-top: 2.5rem;
    -ms-grid-columns: 1fr 1.25rem 1fr 1.25rem 1fr 1.25rem 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 1.25rem;
  }
}

.cm-technology-reason-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
  border-radius: 0.625rem;
  background: #fff;
  -webkit-box-shadow: 0 0 1.25rem rgba(33, 115, 196, 0.23);
          box-shadow: 0 0 1.25rem rgba(33, 115, 196, 0.23);
  padding: 0.875rem 0.625rem 1rem;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .cm-technology-reason-item {
    padding: 1.25rem 1.25rem;
    height: 20rem;
  }
}

.cm-technology-reason-item__no {
  font-family: "Helvetica", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 1.25rem;
  color: #2173c4;
  -ms-flex-item-align: start;
      align-self: flex-start;
}
@media screen and (min-width: 1024px) {
  .cm-technology-reason-item__no {
    font-size: 1.375rem;
  }
}

.cm-technology-reason-item__desc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 1.5rem;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  line-height: 1;
  color: var(--color-midashi);
}
@media screen and (min-width: 1024px) {
  .cm-technology-reason-item__desc {
    min-height: 3rem;
    font-size: 1rem;
    line-height: 1.5;
  }
}

.cm-technology-reason-item__pic img {
  width: 4.625rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-reason-item__pic img {
    width: 5.875rem;
  }
}

.cm-technology-reason-item__title {
  font-weight: bold;
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 1.375;
  color: var(--color-accent);
}
@media screen and (min-width: 1024px) {
  .cm-technology-reason-item__title {
    font-size: 1.25rem;
    line-height: 1.3;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-technology-blockA__before {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
.cm-technology-blockA__before li {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.cm-technology-blockA__before + .cm-technology-blockA__before {
  margin-top: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-blockA__before {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 4.75rem;
  }
}

.cm-technology-blockA__after {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.75rem;
}
.cm-technology-blockA__after li {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (min-width: 1024px) {
  .cm-technology-blockA__after {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 4.75rem;
  }
}

.cm-technology-blockA__after2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.875rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-blockA__after2 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2.375rem;
  }
}

.cm-technology-blockA__after2Body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.cm-technology-blockA__after2Body .cm-technology-blockA__figure2 {
  gap: 0.375rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-blockA__after2Body .cm-technology-blockA__figure2 {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.cm-technology-blockA__after2Pic {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border-radius: 0.375rem;
  overflow: hidden;
}
.cm-technology-blockA__after2Pic figcaption {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.875rem;
  background: #2173c4;
  padding: 0.4375rem 0.375rem;
  font-weight: bold;
  font-size: 0.9375rem;
  text-align: center;
  color: #fff;
}
.cm-technology-blockA__after2Pic figcaption sup {
  font-size: 0.8em;
}
@media screen and (min-width: 1024px) {
  .cm-technology-blockA__after2Pic {
    width: 33.75rem;
    border-radius: 0.625rem;
  }
  .cm-technology-blockA__after2Pic figure {
    padding: 1.25rem;
  }
  .cm-technology-blockA__after2Pic figcaption {
    height: 3.125rem;
    font-size: 1.25rem;
  }
}

.cm-technology-blockA__flow {
  padding: 2.5rem 0 3.5rem;
  text-align: center;
}
.cm-technology-blockA__flow img {
  width: 18rem;
}
.cm-technology-blockA__flow:first-child {
  padding-top: 0;
}
@media screen and (min-width: 1024px) {
  .cm-technology-blockA__flow {
    padding: 3.75rem 0 3.75rem;
  }
  .cm-technology-blockA__flow img {
    width: 21.875rem;
  }
}

.cm-technology-blockA__figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.cm-technology-blockA__figure img {
  border-radius: 0.625rem;
  border: 1px solid #c4c4c4;
}
@media screen and (max-width: 1023px) {
  .cm-technology-blockA__figure img {
    height: 9.375rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.cm-technology-blockA__figure2 {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}
.cm-technology-blockA__figure2 img {
  border-radius: 0.625rem;
  border: 1px solid #c4c4c4;
}
@media screen and (max-width: 1023px) {
  .cm-technology-blockA__figure2 img {
    height: 12.5rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (min-width: 1024px) {
  .cm-technology-blockA__figure2.has-arrow:before {
    content: "";
    display: block;
    width: 6.25rem;
    height: 1.6875rem;
    position: absolute;
    left: calc(50% - 3.125rem);
    top: calc(100% + 1.25rem);
    background: url(../img/ico-triangle-down--wide.svg) center center/contain no-repeat;
  }
}

.cm-technology-blockA__caption {
  padding-top: 0.5rem;
  margin-inline: -0.625rem;
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 1.375;
  text-align: center;
  color: #222;
}
.cm-technology-blockA__caption small {
  font-size: 0.75rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-blockA__caption {
    padding-top: 0.625rem;
  }
}

.cm-technology-blockA__caption2 {
  padding-top: 0.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.375rem;
}
.cm-technology-blockA__caption2 h3 {
  font-weight: bold;
  font-size: 1.25rem;
  letter-spacing: 0.1em;
  color: #222;
}
.cm-technology-blockA__caption2 .u-sup {
  color: #2173c4;
}
@media screen and (min-width: 1024px) {
  .cm-technology-blockA__caption2 {
    padding-top: 1.5rem;
  }
  .cm-technology-blockA__caption2 h3 {
    margin-right: -1.5rem;
    font-size: 1.5rem;
  }
  .cm-technology-blockA__caption2 ._ex {
    font-size: 0.8125rem;
  }
  .cm-technology-blockA__caption2 ._row2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 3.25em;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-technology-blockB {
  position: relative;
  padding: 1.5rem 1.125rem;
  border-radius: 0.625rem;
  background: #e7f7ff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.75rem;
}
.cm-technology-blockB:before {
  content: "";
  display: block;
  width: 6.25rem;
  height: 1.6875rem;
  position: absolute;
  left: calc(50% - 3.125rem);
  top: -1.0625rem;
  pointer-events: none;
  background: url(../img/ico-technology-blockB-up.svg) center center/contain;
}
.cm-technology-blockB li {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (min-width: 1024px) {
  .cm-technology-blockB {
    padding: 2.5rem 3.75rem;
    gap: 4.1875rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .cm-technology-blockB:before {
    left: 51.5625rem;
    top: -1.6875rem;
  }
}
.cm-technology-blockB li:not(:first-child):before {
  content: "";
  display: block;
  width: 2.5rem;
  height: 1.6875rem;
  position: absolute;
  left: calc(50% - 1.25rem);
  top: -3rem;
  pointer-events: none;
  background: url(../img/ico-triangle-down.svg) center center/contain no-repeat;
}
@media screen and (min-width: 1024px) {
  .cm-technology-blockB li:not(:first-child):before {
    width: 2.5rem;
    height: 2.1875rem;
    background: url(../img/ico-triangle-right.svg) center center/contain no-repeat;
    top: 4.625rem;
    left: -3.25rem;
  }
}

.cm-technology-blockB__figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
}
.cm-technology-blockB__figure img {
  border-radius: 0.625rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-blockB__figure {
    gap: 1rem;
  }
}

.cm-technology-blockB__caption {
  font-weight: bold;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  color: #222;
  text-align: center;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-technology-blockC {
  padding: 1.5rem 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.875rem;
  border-radius: 0.625rem;
  background: #e7f7ff;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .cm-technology-blockC {
    padding: 3.125rem 3.75rem 3.75rem;
    gap: 2.5rem;
  }
  .cm-technology-blockC.has-arrow1:before, .cm-technology-blockC.has-arrow2:before, .cm-technology-blockC.has-arrow3:before {
    content: "";
    display: block;
    width: 6.25rem;
    height: 1.6875rem;
    position: absolute;
    left: calc(50% - 3.125rem);
    top: -1.0625rem;
    pointer-events: none;
    background: url(../img/ico-technology-blockB-up.svg) center center/contain;
  }
  .cm-technology-blockC.has-arrow1:before {
    left: 13.75rem;
  }
}

@media screen and (min-width: 1024px) {
  .cm-technology-blockC--50p {
    width: 50%;
  }
}

.cm-technology-blockC-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.875rem;
}
.cm-technology-blockC-item .c-heading-border .u-sup, .cm-technology-blockC-item .p-history-data-aside__year .u-sup, .cm-technology-blockC-item .p-history-data-item__block h4 .u-sup, .p-history-data-item__block .cm-technology-blockC-item h4 .u-sup, .cm-technology-blockC-item .p-history-data-item__catalogYear .u-sup, .cm-technology-blockC-item .cm-entry h2 .u-sup, .cm-entry .cm-technology-blockC-item h2 .u-sup, .cm-technology-blockC-item .cm-policy__body h3 .u-sup, .cm-policy__body .cm-technology-blockC-item h3 .u-sup {
  color: #2173c4;
}
@media screen and (min-width: 1024px) {
  .cm-technology-blockC-item {
    gap: 1.25rem;
  }
}

.cm-technology-blockC-item__pics {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
}
.cm-technology-blockC-item__pics figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border-radius: 0.375rem;
  background: #fff;
  overflow: hidden;
  padding: 0.9375rem;
}
.cm-technology-blockC-item__pics figure img {
  margin: auto;
}
.cm-technology-blockC-item__pics figcaption {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.875rem;
  background: #2173c4;
  padding: 0.4375rem 0.375rem;
  margin: -0.9375rem -0.9375rem 0.9375rem -0.9375rem;
  font-weight: bold;
  font-size: 0.9375rem;
  text-align: center;
  color: #fff;
}
.cm-technology-blockC-item__pics figcaption sup {
  font-size: 0.8em;
}
@media screen and (max-width: 640px) {
  .cm-technology-blockC-item__pics .js-scrollable img {
    max-width: none;
    height: 17.5rem;
  }
}
@media screen and (min-width: 1024px) {
  .cm-technology-blockC-item__pics {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0.375rem;
  }
  .cm-technology-blockC-item__pics figure {
    padding: 1.25rem 0.3125rem;
  }
  .cm-technology-blockC-item__pics figcaption {
    height: 3.125rem;
    font-size: 1.25rem;
    margin: -1.25rem -0.3125rem 1.25rem -0.3125rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-technology-relative {
  padding: 5rem 0 9.375rem;
  position: relative;
  background: #e7f7ff;
}
.cm-technology-relative:before {
  content: "";
  display: block;
  width: 100%;
  height: 0.25rem;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  background: -webkit-gradient(linear, right top, left top, from(#2a9bd7), to(#0a35c6));
  background: linear-gradient(to left, #2a9bd7 0%, #0a35c6 100%);
}
.cm-technology-relative__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem;
  text-align: center;
}
.cm-technology-relative__items {
  margin-top: 1.25rem;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .cm-technology-relative__items {
    margin-top: 1.875rem;
  }
}

.cm-technology-relative-items__slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.cm-technology-relative-item {
  border-radius: 0.625rem;
  overflow: hidden;
  background: #fff;
}
.cm-technology-relative-item__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 2.5rem;
  background: #2173c4;
  font-weight: bold;
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .cm-technology-relative-item__head {
    font-size: 0.9375rem;
  }
}

.cm-technology-relative-item__body {
  padding: 1.25rem 1.1875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .cm-technology-relative-item__body {
    height: calc(100% - 2.5rem);
    padding: 2.1875rem 1.1875rem;
  }
}

.cm-technology-relative-item__pic {
  padding: 0 1.25rem 1.25rem;
  border-bottom: 1px solid #e0e0e0;
}
.cm-technology-relative-item__pic figcaption img {
  position: absolute;
  left: 0;
  top: 0;
  width: 3.6875rem;
}
.cm-technology-relative-item__title {
  padding-top: 0.5rem;
  font-weight: bold;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  line-height: 1.2727272727;
  text-align: center;
  color: #2173c4;
}
@media screen and (min-width: 1024px) {
  .cm-technology-relative-item__title {
    margin-inline: -0.75rem;
    font-size: 1.375rem;
  }
}

.cm-technology-relative-item__desc {
  padding-bottom: 0.5rem;
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
}
@media screen and (min-width: 1024px) {
  .cm-technology-relative-item__desc {
    padding: 0.125rem 0.625rem 0.5rem;
    font-size: 0.875rem;
  }
}

.cm-technology-relative-item__btn {
  margin-top: auto;
  text-align: center;
}
.cm-technology-relative-items__ctrl .swiper-button-disabled {
  opacity: 0;
}
.cm-technology-relative-items__ctrl button {
  position: absolute;
  top: 12.5rem;
  z-index: 10;
}
.cm-technology-relative-items__ctrl button:nth-child(1) {
  left: -0.625rem;
}
.cm-technology-relative-items__ctrl button:nth-child(2) {
  right: -0.625rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-relative-items__ctrl button {
    top: 14.75rem;
  }
  .cm-technology-relative-items__ctrl button:nth-child(1) {
    left: -6.25rem;
  }
  .cm-technology-relative-items__ctrl button:nth-child(2) {
    right: -6.25rem;
  }
}

.cm-technology-relative-other {
  margin-top: 2.5rem;
  border-radius: 0.625rem;
  background: #fff;
  overflow: hidden;
}
.cm-technology-relative-other__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 2.5rem;
  background: #777;
  font-weight: bold;
  font-size: 1rem;
  letter-spacing: 0.1em;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .cm-technology-relative-other__head {
    height: 3.375rem;
    font-size: 1.5rem;
  }
}

.cm-technology-relative-other__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 1.875rem 1.25rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-relative-other__body {
    gap: 1.875rem;
    padding: 2.5rem 2.5rem 3.125rem;
  }
}

.cm-technology-relative-other__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5em;
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
}
.cm-technology-relative-other__list > li {
  position: relative;
  padding-left: 1.25rem;
}
.cm-technology-relative-other__list > li:before {
  content: "●";
  display: block;
  position: absolute;
  left: 0;
  top: 0.5em;
  pointer-events: none;
  font-size: 0.625rem;
  color: #2173c4;
}
@media screen and (min-width: 1024px) {
  .cm-technology-relative-other__list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    font-size: 1.125rem;
  }
  .cm-technology-relative-other__list > li {
    padding-left: 1.375rem;
    -webkit-column-break-inside: avoid;
       -moz-column-break-inside: avoid;
            break-inside: avoid;
  }
  .cm-technology-relative-other__list > li:before {
    top: 0.5em;
    font-size: 0.75rem;
  }
}

.cm-technology-relative-other__sub {
  position: absolute;
  bottom: calc(100% + 0.625rem);
  padding: 0.5rem 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.125rem;
  border-radius: 0.625rem;
  background: #fff;
  border: 2px solid #2173c4;
  z-index: 2;
  font-size: 0.75rem;
  opacity: 0;
  pointer-events: none;
}
.cm-technology-relative-other__sub:before {
  content: "";
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  position: absolute;
  left: calc(50% - 0.5625rem);
  top: calc(100% - 0.0625rem);
  pointer-events: none;
  background: url(../img/ico-fukidashi-down.png) center center/contain no-repeat;
}
.is-open .cm-technology-relative-other__sub {
  opacity: 1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  pointer-events: auto;
}
.cm-technology-relative-other__sub li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.cm-technology-relative-other__sub li:before {
  content: "・";
}
@media screen and (min-width: 1024px) {
  .cm-technology-relative-other__sub {
    font-size: 1rem;
  }
}

.cm-technology-relative__cta {
  margin-top: 2.5rem;
  text-align: center;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-technology-example {
  padding: 5rem 0 9.375rem;
  position: relative;
}
.cm-technology-example:before {
  content: "";
  display: block;
  width: 100%;
  height: 0.25rem;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  background: var(--gradient);
}
.cm-technology-example__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem;
  text-align: center;
}
.cm-technology-example__list {
  padding-top: var(--padding-block);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.875rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-example__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 4.25rem;
  }
}

.cm-technology-example-item {
  border-radius: 0.625rem;
  background: #f2f2f2;
  overflow: hidden;
}
.cm-technology-example-item__pic img {
  width: 100%;
}
.cm-technology-example-item__body {
  padding: 1.25rem 1.25rem 1.25rem;
}
.cm-technology-example-item__title {
  font-weight: bold;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  color: #2173c4;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .cm-technology-example-item__title {
    text-align: left;
    padding: 0 1.25rem;
  }
  .cm-technology-example-item__title._pd0 {
    padding: 0;
  }
}

.cm-technology-example-item__data {
  margin-top: 0.375rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.5714285714;
}
.cm-technology-example-item__data dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1em;
}
.cm-technology-example-item__data dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 5.4em;
}
.cm-technology-example-item__data dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (min-width: 1024px) {
  .cm-technology-example-item__data {
    padding: 0 1.25rem;
  }
}

.cm-technology-example__action {
  padding-top: var(--padding-block);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-example__action {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2.25rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-technology-service {
  position: relative;
  padding: 6.25rem 0 3.75rem;
  background: #f4fdff;
}
@media screen and (min-width: 1024px) {
  .cm-technology-service {
    padding: 11.25rem 0 4.625rem;
  }
}

.cm-technology-service__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: -10rem;
  pointer-events: none;
  mix-blend-mode: multiply;
}
.cm-technology-service__bg img {
  width: 100%;
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .cm-technology-service__bg {
    top: -20rem;
  }
}
@media screen and (min-width: 1024px) {
  .cm-technology-service__bg {
    top: -20.8333333333vw;
  }
}

.cm-technology-service__wrap {
  position: relative;
}
@media screen and (max-width: 640px) {
  .cm-technology-service__head {
    margin-inline: -0.9375rem;
  }
}

.cm-technology-service__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem 1.25rem;
  text-align: center;
}
.cm-technology-service__title p {
  padding: 0.1em 0.5em;
  background: #1f89c1;
  font-size: 0.875rem;
  color: #fff;
}
.cm-technology-service__title.pc {
  display: none;
}
@media screen and (min-width: 1024px) {
  .cm-technology-service__title {
    gap: 0.625rem;
  }
  .cm-technology-service__title.sp-tab {
    display: none;
  }
  .cm-technology-service__title.pc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .cm-technology-service__title p {
    font-size: 1.375rem;
    letter-spacing: 0.1em;
  }
}

.cm-technology-service__lead {
  padding-top: var(--padding-block);
}
@media screen and (min-width: 1024px) {
  .cm-technology-service__lead {
    text-align: center;
  }
}

.cm-technology-service__body {
  padding-top: 3.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.125rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-service__body {
    padding-top: 4.375rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 4.25rem;
  }
}

.cm-technology-service__cta {
  padding-top: var(--padding-section);
  text-align: center;
}

.cm-technology-service-item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-service-item {
    gap: 1.25rem;
  }
}

.cm-technology-service-item__pic img {
  width: 100%;
  border-radius: 0.625rem;
}
@media screen and (max-width: 640px) {
  .cm-technology-service-item__pic img {
    height: 11.565625rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.cm-technology-service-item__caption {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.375rem;
}
.cm-technology-service-item__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: bold;
  font-size: 1.25rem;
  letter-spacing: 0.1em;
  line-height: 1.6;
  color: #222;
}
.cm-technology-service-item__title small {
  font-size: 0.875rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-service-item__title {
    font-size: 1.5rem;
  }
  .cm-technology-service-item__title small {
    font-size: 1rem;
  }
  .cm-technology-service-item__title._row2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 2.8em;
  }
}

.cm-technology-service-item__title--sm {
  letter-spacing: 0;
}

@media screen and (min-width: 1024px) {
  .cm-technology-service--test .cm-technology-service__title p {
    font-size: 2rem;
  }
}
@media screen and (min-width: 1024px) {
  .cm-technology-service--test .cm-technology-service-item__title {
    font-size: 1.25rem;
    line-height: 1.6;
    letter-spacing: 0;
  }
  .cm-technology-service--test .cm-technology-service-item__title._row2 {
    height: 3.2em;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-technology-subcritical-case {
  padding: 0 0 9.375rem;
  background: url(../img/p-subcritical-case-bg.webp) center center/cover;
}
.cm-technology-subcritical-case__pic {
  position: relative;
  top: -7.75rem;
  margin-bottom: -6.875rem;
  text-align: center;
}
.cm-technology-subcritical-case__pic img {
  width: 8.86125rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-subcritical-case__pic {
    top: -4.25rem;
    margin-bottom: -3rem;
  }
  .cm-technology-subcritical-case__pic img {
    width: 10.18rem;
  }
}

.cm-technology-subcritical-case__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--gap);
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .cm-technology-subcritical-case__head .c-heading-sm {
    font-size: 1.75rem;
    line-height: 1.5;
  }
  .cm-technology-subcritical-case__head p {
    text-align: left;
  }
}
.cm-technology-subcritical-case__items {
  padding-top: var(--padding-block);
  display: -ms-grid;
  display: grid;
  gap: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-subcritical-case__items {
    -ms-grid-columns: 1fr 4.8125rem 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 3.125rem 4.8125rem;
  }
}

.cm-technology-subcritical-case-item {
  position: relative;
  border-radius: 0.625rem;
  background: #fff;
  padding: 1.75rem 0.625rem 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-subcritical-case-item {
    padding: 3.125rem 1.375rem;
  }
}

.cm-technology-subcritical-case-item__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.375rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.cm-technology-subcritical-case-item__title {
  font-weight: bold;
  font-size: 1.25rem;
  letter-spacing: 0.1em;
  color: #347fc9;
}
@media screen and (min-width: 1024px) {
  .cm-technology-subcritical-case-item__title {
    font-size: 1.75rem;
  }
}

.cm-technology-subcritical-case-item__pic {
  padding-bottom: 0.375rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-subcritical-case-item__pic {
    padding-bottom: 1.5rem;
  }
}

@media screen and (max-width: 640px) {
  .cm-technology-subcritical-case-item__wrap {
    display: none;
    padding-bottom: 3.75rem;
  }
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .cm-technology-subcritical-case-item__wrap {
    padding-bottom: 3.75rem;
  }
}

.cm-technology-subcritical-case-item__sub {
  padding: 0 1.25rem var(--gap);
  font-weight: bold;
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  color: #222;
}
@media screen and (min-width: 1024px) {
  .cm-technology-subcritical-case-item__sub {
    padding: 0;
    font-size: 1.375rem;
    text-align: center;
  }
}

.cm-technology-subcritical-case-item__body {
  padding: 0 1.25rem;
}
.cm-technology-subcritical-case-item__ctrl {
  padding-top: 1.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 5.5rem;
  border-radius: 0.625rem;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(80%, #fff));
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #fff 80%);
  position: absolute;
  left: 0;
  bottom: 0;
}
.cm-technology-subcritical-case-item__ctrl span {
  font-weight: bold;
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 1.625rem;
  color: #385d9a;
}
.cm-technology-subcritical-case-item__ctrl span:nth-child(1) {
  opacity: 0;
}
.cm-technology-subcritical-case-item__ctrl span:nth-child(2) {
  position: absolute;
}
.cm-technology-subcritical-case-item__ctrl i {
  position: absolute;
  right: 2rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1.375rem;
  height: 1.375rem;
  pointer-events: none;
  border: 1px solid #2173c4;
  border-radius: 100%;
}
.cm-technology-subcritical-case-item__ctrl i:before, .cm-technology-subcritical-case-item__ctrl i:after {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0;
  position: absolute;
  pointer-events: none;
  border-top: 0.125rem solid #2173c4;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.cm-technology-subcritical-case-item__ctrl i:after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.cm-technology-subcritical-case-item__ctrl.is-open span:nth-child(1), .is-open .cm-technology-subcritical-case-item__ctrl span:nth-child(1) {
  opacity: 1;
}
.cm-technology-subcritical-case-item__ctrl.is-open span:nth-child(2), .is-open .cm-technology-subcritical-case-item__ctrl span:nth-child(2) {
  opacity: 0;
}
.cm-technology-subcritical-case-item__ctrl.is-open i:after, .is-open .cm-technology-subcritical-case-item__ctrl i:after {
  width: 0;
}
@media screen and (min-width: 641px) {
  .cm-technology-subcritical-case-item__ctrl {
    display: none;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-technology-design__headWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  gap: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-design__headWrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2.375rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.cm-technology-design__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--gap);
}
@media screen and (min-width: 1024px) {
  .cm-technology-design__head {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.cm-technology-design__headPic img {
  border-radius: 0.625rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-design__headPic {
    width: 33.75rem;
  }
}

.cm-technology-design-system {
  margin-top: var(--padding-section);
  border-radius: 0.625rem;
  background: #e7f7ff;
  overflow: hidden;
}
.cm-technology-design-system__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 3.125rem;
  background: #2173c4;
  font-weight: bold;
  font-size: 1.125rem;
  color: #fff;
}
.cm-technology-design-system__body {
  padding: 1.25rem 0.9375rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-design-system__body {
    padding: 3.125rem 3.75rem 4.375rem;
  }
}

.cm-technology-design-system__point {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
.cm-technology-design-system__point dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
}
.cm-technology-design-system__point dt {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1.875rem;
  height: 1.875rem;
  background: #fff;
  -webkit-filter: drop-shadow(0rem 0rem 1.25rem rgba(33, 115, 196, 0.23));
          filter: drop-shadow(0rem 0rem 1.25rem rgba(33, 115, 196, 0.23));
  border-radius: 100%;
  font-size: 0.875rem;
  font-weight: bold;
  color: #2173c4;
  font-family: "Helvetica", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
}
.cm-technology-design-system__point dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 0.75rem;
  line-height: 1.8571428571;
}
.cm-technology-design-system__point dd h3 {
  font-weight: bold;
  font-size: 1rem;
  color: var(--color-midashi);
}
.cm-technology-design-system__point dd ul {
  margin-top: 0.5rem;
  letter-spacing: 0.05em;
  line-height: 1.625;
}
@media screen and (min-width: 1024px) {
  .cm-technology-design-system__point dl {
    gap: 1.25rem;
  }
  .cm-technology-design-system__point dt {
    width: 2.625rem;
    height: 2.625rem;
    font-size: 1rem;
  }
  .cm-technology-design-system__point dd {
    font-size: 0.875rem;
    letter-spacing: 0.05em;
  }
  .cm-technology-design-system__point dd h3 {
    letter-spacing: 0.1em;
    font-size: 1.125rem;
  }
  .cm-technology-design-system__point dd ul {
    margin-top: 0.5rem;
    font-size: 1rem;
  }
}

.cm-technology-design-system__figure {
  margin-top: var(--padding-block);
}
@media screen and (max-width: 640px) {
  .cm-technology-design-system__figure img {
    max-width: none;
    height: 25rem;
  }
}
.cm-technology-design-system__cta {
  padding-top: var(--gap-lg);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.875rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-design-system__cta {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-technology-data__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--gap);
}
.cm-technology-data__body {
  padding-top: var(--padding-block);
}
.cm-technology-data__table table {
  width: 100%;
}
@media screen and (max-width: 640px) {
  .cm-technology-data__table {
    margin-inline: calc(50% - 50vw);
  }
  .cm-technology-data__table .js-scrollable {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .cm-technology-data__table table {
    width: 58.4375rem;
  }
}
@media screen and (min-width: 641px) {
  .cm-technology-data__table table {
    table-layout: fixed;
  }
}

.cm-technology-data__caution {
  padding-top: var(--gap);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--gap);
}
@media screen and (min-width: 1024px) {
  .cm-technology-data__caution {
    margin-right: -0.625rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-technology-point__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--gap);
}
.cm-technology-point__body {
  padding-top: var(--padding-block);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.75rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-point__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 4.75rem;
  }
}

.cm-technology-point-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.cm-technology-point-item img {
  border-radius: 0.625rem;
}
.cm-technology-point-item figcaption {
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  line-height: 1.375;
  color: var(--color-midashi);
}
@media screen and (min-width: 1024px) {
  .cm-technology-point-item figcaption {
    font-size: 1rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
@media screen and (max-width: 1023px) {
  .cm-technology-test-facility {
    margin-inline: calc(50% - 50vw);
  }
}
.cm-technology-test-facility__head {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 3.6875rem;
  background: var(--gradient);
  font-weight: bold;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .cm-technology-test-facility__head {
    height: 5.125rem;
    font-weight: bold;
    font-size: 2rem;
  }
}

.cm-technology-test-facility__headPic {
  position: absolute;
  left: 1.25rem;
}
.cm-technology-test-facility__headPic img {
  width: 4.754375rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-test-facility__headPic {
    left: 2.5rem;
    top: -2.5rem;
  }
  .cm-technology-test-facility__headPic img {
    width: 9.83625rem;
  }
}

.cm-technology-test-facility__body {
  padding: 1.875rem 1.25rem 3.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  border-radius: 0 0 0.625rem 0.625rem;
  background: #e7f7ff;
}
@media screen and (min-width: 1024px) {
  .cm-technology-test-facility__body {
    padding: 2.5rem 3.75rem 3.25rem;
    gap: 2.5rem;
  }
}

@media screen and (min-width: 1024px) {
  .cm-technology-test-facility__lead {
    text-align: center;
  }
}

.cm-technology-test-facility__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.875rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-test-facility__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2.25rem;
  }
}

.cm-technology-test-facility-item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border-radius: 0.375rem;
  background: #fff;
  overflow: hidden;
}
.cm-technology-test-facility-item:nth-child(2) .cm-technology-test-facility-item__title {
  background: #34c4c4;
}
.cm-technology-test-facility-item__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #55b7ff;
  height: 3.625rem;
  font-weight: bold;
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .cm-technology-test-facility-item__title {
    height: 5.4375rem;
    font-size: 1.375rem;
  }
}

.cm-technology-test-facility-item__body {
  padding: 0.625rem 2.125rem 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-test-facility-item__body {
    padding: 0.625rem 1.875rem 1.25rem;
    gap: 1.5rem;
  }
}

.cm-technology-test-facility-item__pic {
  margin-inline: -1.5rem;
}
.cm-technology-test-facility-item__pic img {
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .cm-technology-test-facility-item__pic {
    margin-inline: -0.625rem;
  }
}

.cm-technology-test-facility-item__data {
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 2.1666666667;
}
.cm-technology-test-facility-item__data h4 {
  margin-bottom: 0.375rem;
}
.cm-technology-test-facility-item__data dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.cm-technology-test-facility-item__data dt {
  width: 9em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.cm-technology-test-facility-item__data dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (min-width: 1024px) {
  .cm-technology-test-facility-item__data {
    font-size: 1rem;
    line-height: 1.625;
  }
}

.cm-technology-test-facility__action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
.cm-technology-test-facility__action p {
  width: 100%;
}
.cm-technology-test-facility__action ._lead {
  font-weight: bold;
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.4375;
}
@media screen and (min-width: 1024px) {
  .cm-technology-test-facility__action ._lead {
    font-size: 1.375rem;
    letter-spacing: 0.1em;
    line-height: 1.4545454545;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-technology-test-other__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--gap);
}
@media screen and (max-width: 1023px) {
  .cm-technology-test-other__head {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.cm-technology-test-other__body {
  margin-top: var(--padding-block);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5625rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-test-other__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 4.25rem;
  }
}

.cm-technology-test-other-item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border-radius: 0.625rem;
  background: #f2f2f2;
  overflow: hidden;
}
.cm-technology-test-other-item > img {
  width: 100%;
}
.cm-technology-test-other-item__body {
  padding: 1.25rem 2.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-test-other-item__body {
    padding: 1.25rem 1.5625rem;
  }
}

.cm-technology-test-other-item__title {
  font-weight: bold;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  line-height: 1.4;
  color: #2173c4;
}
.cm-technology-test-other-item__desc {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
}
.cm-technology-test-other-item__desc small {
  font-size: 0.75rem;
}
@media screen and (min-width: 1024px) {
  .cm-technology-test-other-item__desc {
    line-height: 1.5714285714;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	...
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	c-btn
----------------------------------------------------*/
.c-btn-circle {
  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;
  position: relative;
  width: 3.125rem;
  height: 3.125rem;
  background: var(--gradient);
  border-radius: 1.5625rem;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-btn-circle:before {
  content: "";
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  position: absolute;
  pointer-events: none;
  border-radius: 100%;
  background: #fff;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-btn-cta {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  width: 100%;
  height: 5.625rem;
  border-radius: 2.8125rem;
  background: #fff;
  border: 0.125rem solid #2173c4;
  font-weight: bold;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  color: #2173c4;
}
@media screen and (min-width: 1024px) {
  .c-btn-cta {
    width: 31.25rem;
    height: 6.25rem;
    border-radius: 3.125rem;
    font-size: 1.375rem;
  }
}

.c-btn-cta__txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
}
.c-btn-cta__txt small {
  font-weight: normal;
  font-size: 0.75rem;
  color: #333;
  -webkit-transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
}
@media screen and (min-width: 1024px) {
  .c-btn-cta__txt small {
    font-size: 0.875rem;
  }
}

.c-btn-cta__triangle {
  position: absolute;
  right: 1.125rem;
  width: 1rem;
  font-size: 0;
}
.c-btn-cta__triangle svg {
  width: 100%;
  height: auto;
  fill: #1C57CB;
  -webkit-transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
}
@media screen and (min-width: 1024px) {
  .c-btn-cta__triangle {
    width: 1.25rem;
    right: 2.375rem;
  }
}

.c-btn-cta--pdf .c-btn-cta__txt {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
}
.c-btn-cta--pdf .c-btn-cta__txt img {
  width: 1.75rem;
}
@media screen and (min-width: 1024px) {
  .c-btn-cta--pdf .c-btn-cta__txt {
    gap: 0.5rem;
  }
  .c-btn-cta--pdf .c-btn-cta__txt img {
    width: 2.4375rem;
  }
}

.c-btn-square {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 1.25rem;
  height: 2.25rem;
  border-radius: 0.375rem;
  background: #fff;
  border: 0.125rem solid #c9c9c9;
  font-weight: bold;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  text-align: center;
}
.c-btn-square:hover, a:hover .c-btn-square {
  background: #2173c4;
  border-color: #2173c4;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .c-btn-square {
    padding: 0 5.3125rem;
    height: 2.5rem;
  }
}

.c-btn-cta {
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-btn-cta:active {
  -webkit-transform: scale(0.965);
          transform: scale(0.965);
}
@media (hover: hover) {
  .c-btn-cta:hover, a:hover .c-btn-cta {
    background: #2173c4;
    color: #fff;
  }
  .c-btn-cta:hover .c-btn-cta__txt small, a:hover .c-btn-cta .c-btn-cta__txt small {
    color: #fff;
  }
  .c-btn-cta:hover .c-btn-cta__triangle svg, a:hover .c-btn-cta .c-btn-cta__triangle svg {
    fill: #fff;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-btn-round {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 3.75rem;
  position: relative;
  border-radius: 1.875rem;
  background: var(--gradient-hover);
  background-size: 200%;
  background-position: 100%;
  font-family: "Roboto", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 1rem;
  color: #fff;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-btn-round:active {
  -webkit-transform: scale(0.965);
          transform: scale(0.965);
}
@media (hover: hover) {
  .c-btn-round:hover, a:hover .c-btn-round {
    background-position: 0;
  }
}
@media screen and (min-width: 1024px) {
  .c-btn-round {
    width: 26.25rem;
  }
}

.c-btn-round__ico {
  position: absolute;
  right: 1.3125rem;
  width: 1rem;
  font-size: 0;
}
.c-btn-round__ico svg {
  width: 100%;
  height: auto;
  fill: #fff;
}
@media screen and (min-width: 1024px) {
  .c-btn-round__ico {
    width: 1.25rem;
    right: 2.375rem;
  }
}

.c-btn-round__map {
  padding-right: 0.75rem;
  text-transform: capitalize;
  font-family: "Roboto", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 0.75rem;
}

.c-btn-round--map {
  width: 8.6875rem;
  height: 2.25rem;
  border-radius: 1.125rem;
}
.c-btn-round--map .c-btn-round__ico {
  right: 1rem;
  width: 0.75rem;
  font-size: 0;
}
.c-btn-round--map .c-btn-round__ico svg {
  width: 100%;
  height: auto;
  fill: #fff;
}
@media screen and (min-width: 1024px) {
  .c-btn-round--map .c-btn-round__ico {
    width: 0.75rem;
    right: 1rem;
  }
}

.c-btn-round--back {
  width: 10.625rem;
}
@media screen and (min-width: 1024px) {
  .c-btn-round--back {
    width: 10.625rem;
  }
}
.c-btn-round--back .c-btn-round__ico {
  left: 1.3125rem;
  right: auto;
}
@media screen and (min-width: 1024px) {
  .c-btn-round--back .c-btn-round__ico {
    right: auto;
    left: 1.3125rem;
  }
}

@media screen and (min-width: 641px) and (max-width: 1023px) {
  .c-btn-round--confirm {
    width: 26.25rem;
  }
}

@media screen and (min-width: 641px) and (max-width: 1023px) {
  .c-btn-round--send {
    width: 10.625rem;
  }
}
@media screen and (min-width: 1024px) {
  .c-btn-round--send {
    width: 10.625rem;
  }
}
.c-btn-round--send .c-btn-round__ico {
  right: 1.3125rem;
}
@media screen and (min-width: 1024px) {
  .c-btn-round--send .c-btn-round__ico {
    right: 1.3125rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-btn-more {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 18.75rem;
  min-width: 8.75rem;
  height: 3.75rem;
  position: relative;
  border-radius: 1.875rem;
  background: var(--gradient-hover);
  background-size: 200%;
  background-position: 100%;
  font-size: 1rem;
  letter-spacing: 0.05em;
  color: #fff;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-btn-more:active {
  -webkit-transform: scale(0.965);
          transform: scale(0.965);
}
@media (hover: hover) {
  .c-btn-more:hover, a:hover .c-btn-more {
    background-position: 0;
  }
}
@media screen and (min-width: 1024px) {
  .c-btn-more {
    width: auto;
    height: 3.125rem;
    border-radius: 1.5625rem;
    padding: 0 2.4375rem 0 1.5625rem;
    font-size: 0.75rem;
  }
}

.c-btn-more--en {
  font-family: "Roboto", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 1.125rem;
  letter-spacing: 0;
}
@media screen and (min-width: 1024px) {
  .c-btn-more--en {
    font-size: 0.75rem;
  }
}

.c-btn-more__ico {
  position: absolute;
  right: 1.3125rem;
  width: 1rem;
  font-size: 0;
}
.c-btn-more__ico svg {
  width: 100%;
  height: auto;
  fill: #fff;
}
@media screen and (max-width: 1023px) {
  .c-btn-more__ico {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .c-btn-more__ico {
    width: 0.875rem;
    right: 1.125rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-btn-group {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 0.3125rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 3.75rem;
  padding: 0 0.625rem 0 1.25rem;
  position: relative;
  border-radius: 1.875rem;
  background: var(--gradient);
  font-weight: 500;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .c-btn-group {
    padding: 0 0.625rem 0 1.25rem;
    width: 24.8125rem;
    height: 3.125rem;
    border-radius: 1.5625rem;
  }
}

.c-btn-group__title {
  margin-right: auto;
  color: #fff;
}
.c-btn-group__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 5.25rem;
  height: 1.875rem;
  border-radius: 0.9375rem;
  position: relative;
  padding: 0 0.375rem 0 0;
  background: #fff;
  color: var(--color-midashi);
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-btn-group__link span {
  position: relative;
  top: -0.1em;
}
.c-btn-group__link i {
  font-size: 0;
  position: absolute;
  width: 0.875rem;
  right: 0.625rem;
}
.c-btn-group__link i svg {
  width: 100%;
  height: auto;
  fill: #1c57cb;
}
.c-btn-group__link:active {
  -webkit-transform: scale(0.965);
          transform: scale(0.965);
}
@media (hover: hover) {
  .c-btn-group__link:hover, a:hover .c-btn-group__link {
    background: #bcbcbc;
  }
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-btn-group-aside {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  padding: 0 1.125rem 0.1875rem 1.125rem;
  height: 3.75rem;
  background: #fff;
  border: 1px solid #ccc;
  font-weight: bold;
  font-size: 0.9375rem;
}
.c-btn-group-aside:before {
  content: "";
  display: block;
  width: calc(100% + 0.125rem);
  height: 0.375rem;
  position: absolute;
  left: -0.0625rem;
  bottom: 100%;
  pointer-events: none;
  background: var(--gradient);
  border-radius: 0.625rem 0 0 0;
}
@media screen and (max-width: 1023px) {
  .c-btn-group-aside {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (min-width: 1024px) {
  .c-btn-group-aside {
    gap: 0.75rem;
    letter-spacing: 0.05em;
    padding: 0 1.125rem 0.1875rem 1.875rem;
  }
}

.c-btn-group-aside__title strong {
  color: #E95433;
  text-decoration: underline;
  text-underline-offset: 0.3125rem;
  text-decoration-color: #444;
  text-decoration-thickness: 0.09375rem;
}
@media screen and (max-width: 1023px) {
  .c-btn-group-aside__title {
    margin-right: auto;
  }
}
.c-btn-group-aside__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 1.875rem;
  border-radius: 0.9375rem;
  position: relative;
  width: 6.25rem;
  padding: 0 1.6875rem 0 1.125rem;
  background: #1c57cb;
  color: #fff;
  font-weight: bold;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-btn-group-aside__link.is-large {
  width: auto;
  white-space: nowrap;
  padding: 0 1.6875rem 0 0.625rem;
}
.c-btn-group-aside__link span {
  position: relative;
  top: -0.1em;
}
.c-btn-group-aside__link i {
  font-size: 0;
  position: absolute;
  width: 0.625rem;
  right: 0.625rem;
}
.c-btn-group-aside__link i svg {
  width: 100%;
  height: auto;
  fill: #fff;
}
.c-btn-group-aside__link:active {
  -webkit-transform: scale(0.965);
          transform: scale(0.965);
}
@media (hover: hover) {
  .c-btn-group-aside__link:hover, a:hover .c-btn-group-aside__link {
    background: #bcbcbc;
  }
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-btn-header-cta {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 2.8125rem;
  border-radius: 1.40625rem;
  background: -webkit-gradient(linear, left top, right top, from(#2a9bd7), to(#0a35c6));
  background: linear-gradient(to right, #2a9bd7 0%, #0a35c6 100%);
  font-size: 1rem;
  letter-spacing: 0.1em;
  color: #fff;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-btn-header-cta span {
  will-change: transform;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-btn-header-cta:active {
  -webkit-transform: scale(0.965);
          transform: scale(0.965);
}
@media (hover: hover) {
  .c-btn-header-cta:hover, a:hover .c-btn-header-cta {
    -webkit-transform: scale(1.1, 1);
            transform: scale(1.1, 1);
  }
  .c-btn-header-cta:hover span, a:hover .c-btn-header-cta span {
    -webkit-transform: scale(0.909, 1);
            transform: scale(0.909, 1);
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-btn-subnav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: 8.75rem;
  height: 8.75rem;
  color: #fff;
  text-align: center;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-btn-subnav:active {
  -webkit-transform: scale(0.965);
          transform: scale(0.965);
}
@media (hover: hover) {
  .c-btn-subnav:hover .c-btn-subnav__bg, a:hover .c-btn-subnav .c-btn-subnav__bg {
    opacity: 0.6;
  }
}
@media screen and (min-width: 1024px) {
  .c-btn-subnav {
    width: 12.875rem;
    height: 7.5rem;
  }
  .l-header-mgegamenu .c-btn-subnav {
    height: 8.125rem;
  }
}

.c-btn-subnav__bg {
  position: relative;
  border-radius: 0.375rem;
  overflow: hidden;
  width: 100%;
  height: 100%;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-btn-subnav__bg:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  background: #000;
  opacity: 0.1;
}
.c-btn-subnav__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-btn-subnav__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.c-btn-subnav__ja {
  font-weight: bold;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  line-height: 1.2777777778;
}
@media screen and (max-width: 640px) {
  .c-btn-subnav__ja:has(._separator) {
    line-height: 0.9375rem;
  }
  .c-btn-subnav__ja ._separator {
    display: block;
  }
}
@media screen and (min-width: 1024px) {
  .c-btn-subnav__ja {
    font-size: 1.125rem;
  }
}

.c-btn-subnav__en {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-family: "Roboto", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 0.625rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-transform: uppercase;
  opacity: 0.8;
}
@media screen and (min-width: 1024px) {
  .c-btn-subnav__en {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .c-btn-subnav__en li + li:before {
    content: " / ";
    margin-left: 0.5em;
  }
}

.c-btn-subnav .c-btn-circle {
  display: none;
}
@media screen and (min-width: 1024px) {
  .c-btn-subnav .c-btn-circle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    right: 1.875rem;
    bottom: 1.875rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-btn-circle-triangle {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 100%;
  background: #2173c4;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-btn-circle-triangle svg {
  width: 1.25rem;
  height: auto;
  fill: #fff;
}
.c-btn-circle-triangle:active {
  -webkit-transform: scale(0.965);
          transform: scale(0.965);
}
@media (hover: hover) {
  .c-btn-circle-triangle:hover, a:hover .c-btn-circle-triangle {
    opacity: 0.6;
  }
}
@media screen and (min-width: 1024px) {
  .c-btn-circle-triangle {
    width: 5rem;
    height: 5rem;
  }
}

@media screen and (min-width: 1024px) {
  .c-btn-circle-triangle--sm {
    width: 3.5rem;
    height: 3.5rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-btn-sm {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 1.4375rem;
  height: 2rem;
  border-radius: 1rem;
  background-color: #2173c4;
  font-family: "Roboto", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: normal;
  font-size: 0.75rem;
  color: #fff;
  text-transform: uppercase;
}
@media (hover: hover) {
  .c-btn-sm:hover {
    background: #bcbcbc;
  }
}
.c-btn-sm__txt {
  position: relative;
  top: 0.1em;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-btn-zip {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 1.25rem;
  height: 2.8125rem;
  border-radius: 1.40625rem;
  background: #b7b7b7;
  border: none;
  font-weight: bold;
  font-size: 0.875rem;
  color: #fff;
  text-transform: uppercase;
}
@media (hover: hover) {
  .c-btn-zip:hover {
    background-color: #2173c4;
  }
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-btn-pdf {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.375rem;
  width: 15rem;
  height: 3.125rem;
  border-radius: 1.5625rem;
  background: #ededed;
  font-weight: bold;
  font-size: 1rem;
  letter-spacing: 0.1em;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-btn-pdf:active {
  -webkit-transform: scale(0.965);
          transform: scale(0.965);
}
@media (hover: hover) {
  .c-btn-pdf:hover, a:hover .c-btn-pdf {
    color: #fff;
    background-color: #2173c4;
  }
  .c-btn-pdf:hover .c-btn-pdf__ex svg, a:hover .c-btn-pdf .c-btn-pdf__ex svg {
    fill: #fff;
  }
}
.c-btn-pdf__ico {
  width: 1.9375rem;
  margin-right: 0.25rem;
}
.c-btn-pdf__ex {
  padding-top: 0.25rem;
  width: 1.25rem;
  font-size: 0;
}
.c-btn-pdf__ex svg {
  width: 100%;
  height: auto;
  fill: #777;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	c-card
----------------------------------------------------*/
.c-card-news {
  height: 100%;
}
.c-card-news__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem;
  height: 100%;
  padding: 0.375rem 0.3125rem;
  border-radius: 0.375rem;
  background: #fff;
  border: 1px solid #dbdbdb;
  -webkit-box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.1);
}
.c-card-news__pic {
  overflow: hidden;
  -webkit-transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  will-change: transform;
}
.c-card-news__pic img {
  -webkit-transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  will-change: transform;
}
.c-card-news__body {
  padding: 0 0.9375rem 1.25rem;
}
@media screen and (min-width: 1024px) {
  .c-card-news__body {
    padding: 0 0.9375rem 1.25rem;
  }
}

.c-card-news__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
}
@media screen and (min-width: 1024px) {
  .c-card-news__meta {
    gap: 0.9375rem;
  }
}

.c-card-news__date {
  font-family: "Helvetica", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 0.8125rem;
}
.c-card-news__category {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 4.75rem;
  height: 1.3125rem;
  padding: 0 0.75rem;
  border-radius: 0.25rem;
  background: #0050BE;
  font-weight: bold;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  color: #fff;
}
.c-card-news__title {
  margin-top: 0.25rem;
  font-weight: bold;
  font-size: 0.875rem;
  line-height: 1.8571428571;
}
@media screen and (min-width: 1024px) {
  .c-card-news__title {
    margin-top: 0.4375rem;
  }
}

.c-card-news__link {
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-card-news__link:active {
  -webkit-transform: scale(0.965);
          transform: scale(0.965);
}
@media (hover: hover) {
  .c-card-news__link:hover .c-card-news__pic, a:hover .c-card-news__link .c-card-news__pic {
    -webkit-transform: scale(0.97);
            transform: scale(0.97);
    border-radius: 0.375rem;
  }
  .c-card-news__link:hover .c-card-news__pic img, a:hover .c-card-news__link .c-card-news__pic img {
    opacity: 0.6;
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-card-news-top__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 9.0625rem;
  padding: 1.625rem 1.125rem 0.625rem 1.625rem;
  border-radius: 0.625rem;
  background: #fff;
  border: 1px solid #ccc;
}
@media screen and (min-width: 1024px) {
  .c-card-news-top__link {
    height: 8.125rem;
  }
}

.c-card-news-top__date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 4.4375rem;
  gap: 0.5rem;
  padding-top: 0.375rem;
  font-family: "Helvetica", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  line-height: 1;
  font-weight: bold;
  color: #222;
  -webkit-transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
}
.c-card-news-top__ym {
  font-size: 0.8125rem;
}
.c-card-news-top__d {
  font-size: 2.8125rem;
}
.c-card-news-top__wrap {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (min-width: 1024px) {
  .c-card-news-top__wrap {
    margin-top: -0.25rem;
  }
}

.c-card-news-top__category {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 0.75rem;
  height: 1.3125rem;
  border-radius: 0.25rem;
  background: #00a8be;
  font-weight: bold;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .c-card-news-top__category {
    padding: 0.1em 0.75rem 0;
  }
}

.c-card-news-top__subject {
  margin-top: 0.25rem;
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 1.25;
}
@media screen and (min-width: 1024px) {
  .c-card-news-top__subject {
    margin-top: 0.625rem;
    font-size: 1rem;
    letter-spacing: 0.1em;
    line-height: 1.25;
  }
}

.c-card-news-top__link {
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-card-news-top__link:active {
  -webkit-transform: scale(0.965);
          transform: scale(0.965);
}
@media (hover: hover) {
  .c-card-news-top__link:hover, a:hover .c-card-news-top__link {
    color: #fff;
    background: #2173c4;
  }
  .c-card-news-top__link:hover .c-card-news-top__date, a:hover .c-card-news-top__link .c-card-news-top__date {
    color: #fff;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-card-technology__wrap,
.c-card-technology__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  height: 13.75rem;
  color: #fff;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .c-card-technology__wrap,
  .c-card-technology__link {
    width: 41.625rem;
    height: 31.25rem;
  }
}

.c-card-technology__bg {
  position: relative;
  border-radius: 0.625rem;
  overflow: hidden;
  width: 100%;
  height: 100%;
  -webkit-transition: 1s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 1s cubic-bezier(0.37, 0, 0.63, 1);
  will-change: transform, filter;
}
.c-card-technology__bg:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  background: #000;
  opacity: 0.1;
}
.c-card-technology__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.625rem;
  -webkit-transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  will-change: transform;
}
.c-card-technology__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
@media screen and (min-width: 1024px) {
  .c-card-technology__inner {
    padding: 2.5rem 2.5rem;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.c-card-technology__ja {
  font-weight: bold;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  line-height: 1.2777777778;
}
@media screen and (max-width: 1023px) {
  .c-card-technology__ja:has(._separator) {
    line-height: 0.9375rem;
  }
  .c-card-technology__ja ._separator {
    display: block;
  }
}
@media screen and (min-width: 1024px) {
  .c-card-technology__ja {
    font-size: 2rem;
  }
}

.c-card-technology__en {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-family: "Roboto", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 0.625rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-transform: uppercase;
  opacity: 0.8;
}
@media screen and (min-width: 1024px) {
  .c-card-technology__en {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    font-size: 1.125rem;
  }
  .c-card-technology__en li + li:before {
    content: " / ";
    margin-left: 0.5em;
  }
}

.c-card-technology__link-sp {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}
@media screen and (min-width: 1024px) {
  .c-card-technology__link-sp {
    display: none;
  }
}

.c-card-technology__more {
  display: none;
  position: relative;
}
.c-card-technology__more ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
}
@media screen and (min-width: 1024px) {
  .c-card-technology__more {
    display: block;
    position: absolute;
    right: 1.875rem;
    bottom: 1.875rem;
    z-index: 5;
  }
}

.c-card-technology .c-btn-circle {
  display: none;
}
@media screen and (min-width: 1024px) {
  .c-card-technology .c-card-technology__more ul {
    opacity: 0;
    -webkit-transition: 0.2s ease-out;
    transition: 0.2s ease-out;
    -webkit-transition-delay: 0.15s;
            transition-delay: 0.15s;
  }
  .c-card-technology .c-btn-circle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    right: 0;
    bottom: 0;
    -webkit-animation: 0.5s cubic-bezier(0.5, 1, 0.89, 1) cardTechnologyBtnOut forwards;
            animation: 0.5s cubic-bezier(0.5, 1, 0.89, 1) cardTechnologyBtnOut forwards;
    pointer-events: none;
  }
  .c-card-technology.is-hover .c-btn-circle {
    -webkit-animation: 1s cubic-bezier(0.5, 1, 0.89, 1) cardTechnologyBtn forwards;
            animation: 1s cubic-bezier(0.5, 1, 0.89, 1) cardTechnologyBtn forwards;
  }
  .c-card-technology.is-hover .c-card-technology__bg img {
    -webkit-filter: blur(5.475590229px);
            filter: blur(5.475590229px);
  }
  .c-card-technology.is-hover .c-card-technology__more ul {
    opacity: 1;
    -webkit-transition-delay: 0.5s;
            transition-delay: 0.5s;
  }
}

@-webkit-keyframes cardTechnologyBtnOut {
  0% {
    width: 100%;
    opacity: 0;
  }
  20%, 40% {
    width: 100%;
    opacity: 1;
  }
  100% {
    width: 3.125rem;
  }
}

@keyframes cardTechnologyBtnOut {
  0% {
    width: 100%;
    opacity: 0;
  }
  20%, 40% {
    width: 100%;
    opacity: 1;
  }
  100% {
    width: 3.125rem;
  }
}
@-webkit-keyframes cardTechnologyBtn {
  0% {
    width: 3.125rem;
  }
  40%, 60% {
    width: 100%;
    opacity: 1;
  }
  100% {
    width: 100%;
    opacity: 0;
  }
}
@keyframes cardTechnologyBtn {
  0% {
    width: 3.125rem;
  }
  40%, 60% {
    width: 100%;
    opacity: 1;
  }
  100% {
    width: 100%;
    opacity: 0;
  }
}
.c-card-technology__link {
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-card-technology__link:active {
  -webkit-transform: scale(0.965);
          transform: scale(0.965);
}
@media (hover: hover) {
  .c-card-technology__link:hover .c-card-technology__bg, a:hover .c-card-technology__link .c-card-technology__bg {
    -webkit-transform: scale(0.97);
            transform: scale(0.97);
  }
  .c-card-technology__link:hover .c-card-technology__bg img, a:hover .c-card-technology__link .c-card-technology__bg img {
    opacity: 0.6;
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-card-link__link {
  display: block;
  position: relative;
  color: #fff;
}
.c-card-link__pic {
  width: 100%;
  height: 11.25rem;
  border-radius: 0.625rem;
  overflow: hidden;
  -webkit-transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  will-change: transform;
}
.c-card-link__pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.625rem;
  -webkit-transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  will-change: transform;
}
@media screen and (min-width: 1024px) {
  .c-card-link__pic {
    height: 29.0625rem;
  }
}

.c-card-link__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.c-card-link__en {
  font-family: "Roboto", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 1.375rem;
}
@media screen and (min-width: 1024px) {
  .c-card-link__en {
    font-size: 2.25rem;
  }
}

.c-card-link__ja {
  font-weight: bold;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .c-card-link__ja {
    font-size: 1rem;
  }
}

.c-card-link-btn {
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  width: 8.75rem;
  height: 3.125rem;
  border-radius: 1.5625rem;
  background: var(--gradient);
  position: absolute;
  right: 1.25rem;
  bottom: 1.25rem;
  font-family: "Roboto", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 400;
  font-size: 0.75rem;
}
@media screen and (min-width: 1024px) {
  .c-card-link-btn {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
  }
}

.c-card-link-btn__txt {
  padding-left: 0.5rem;
}
.c-card-link-btn__ico {
  width: 0.75rem;
  font-size: 0;
}
.c-card-link-btn__ico svg {
  width: 100%;
  height: auto;
  fill: #fff;
}
.c-card-link__link {
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-card-link__link:active {
  -webkit-transform: scale(0.965);
          transform: scale(0.965);
}
@media (hover: hover) {
  .c-card-link__link:hover .c-card-link__pic, a:hover .c-card-link__link .c-card-link__pic {
    -webkit-transform: scale(0.97);
            transform: scale(0.97);
  }
  .c-card-link__link:hover .c-card-link__pic img, a:hover .c-card-link__link .c-card-link__pic img {
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-card-office {
  padding: 1.5rem 1.5625rem 1.25rem;
  border-radius: 0.625rem;
  background: #fff;
  border: 1px solid #ccc;
  font-size: 0.8125rem;
  line-height: 1.5384615385;
}
.c-card-office__title {
  position: relative;
  font-weight: 500;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  color: #222;
}
.c-card-office__title:before {
  content: "";
  display: block;
  width: 0.3125rem;
  height: 1.625rem;
  position: absolute;
  left: -1.5625rem;
  top: 0;
  pointer-events: none;
  background: #2173c4;
}
.c-card-office__address {
  margin-top: 0.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.375rem;
}
.c-card-office__info:nth-child(2) {
  margin-top: 0.25rem;
}
ul.c-card-office__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.25rem;
}
@media screen and (min-width: 1024px) {
  ul.c-card-office__info {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 1.25rem;
  }
}

.c-card-office__map {
  margin-top: 0.75rem;
  margin-right: -0.375rem;
  text-align: right;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0.75rem;
}
.c-card-office--lg {
  position: relative;
}
@media screen and (min-width: 1024px) {
  .c-card-office--lg {
    padding: 1.25rem 1.5625rem 1.25rem;
  }
  .c-card-office--lg .c-card-office__address {
    gap: 0;
  }
  .c-card-office--lg .c-card-office__info:nth-child(2) {
    margin-top: 0;
  }
  .c-card-office--lg .c-card-office__map {
    margin: 0;
    position: absolute;
    right: 2.125rem;
    top: calc(50% - 1.125rem);
  }
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	c-heading
----------------------------------------------------*/
.c-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.125rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: var(--color-midashi);
}
@media screen and (min-width: 1024px) {
  .c-heading {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.c-heading__en {
  font-family: "Roboto", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1;
  text-transform: uppercase;
}
@media screen and (min-width: 1024px) {
  .c-heading__en {
    font-size: 2.625rem;
  }
}

.c-heading__ja {
  font-size: 1rem;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1024px) {
  .c-heading__ja {
    margin-top: 0.625rem;
  }
}

.c-heading__sub {
  font-family: "Roboto", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
@media screen and (min-width: 1024px) {
  .c-heading__sub {
    font-size: 1.375rem;
  }
}

.c-heading--mv {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
.c-heading--mv .c-heading__en {
  font-size: 2.875rem;
  color: #2173c4;
}
@media screen and (min-width: 1024px) {
  .c-heading--mv .c-heading__en {
    font-size: 3.25rem;
  }
}
.c-heading--mv .c-heading__ja {
  font-weight: bold;
  font-size: 1.5rem;
  line-height: 1.25;
}
@media screen and (min-width: 1024px) {
  .c-heading--mv .c-heading__ja {
    margin-top: 0.25rem;
    font-size: 2rem;
  }
}

.c-heading--facility {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
.c-heading--facility .c-heading__en {
  font-size: 2.875rem;
  color: #2173c4;
}
@media screen and (min-width: 1024px) {
  .c-heading--facility .c-heading__en {
    font-size: 3.25rem;
  }
}
.c-heading--facility .c-heading__ja {
  margin-top: 0.25rem;
  font-weight: bold;
  font-size: 1.625rem;
  line-height: 1.25;
}
@media screen and (min-width: 1024px) {
  .c-heading--facility .c-heading__ja {
    margin-top: 1.125rem;
    font-size: 2.625rem;
  }
}

.c-heading--aside {
  color: rgba(210, 227, 246, 0.5);
}
.c-heading--aside .c-heading__en {
  font-size: 1.5rem;
}
@media screen and (min-width: 1024px) {
  .c-heading--aside .c-heading__en {
    font-size: 2rem;
  }
}
.c-heading--aside .c-heading__ja {
  margin-top: 0.125rem;
}
.c-heading--lg .c-heading__en {
  font-size: 2.875rem;
}
@media screen and (min-width: 1024px) {
  .c-heading--lg .c-heading__en {
    font-size: 4.125rem;
  }
}
.c-heading--lg .c-heading__ja {
  font-weight: bold;
  font-size: 1rem;
  color: #777;
}
@media screen and (min-width: 1024px) {
  .c-heading--lg .c-heading__ja {
    font-size: 1rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-heading-sm {
  font-weight: bold;
  font-size: 1.375rem;
  letter-spacing: 0.1em;
  color: var(--color-midashi);
}
.c-heading-sm small {
  font-weight: 500;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  color: var(--color);
}
@media screen and (min-width: 1024px) {
  .c-heading-sm {
    font-size: 2rem;
  }
  .c-heading-sm small {
    font-size: 0.875rem;
  }
}

.c-heading-sm.has-sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 1024px) {
  .c-heading-sm.has-sub {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-heading-case {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
}
.c-heading-case img {
  width: auto;
  height: 2.576875rem;
}
.c-heading-case ._gap {
  margin-left: 0.5rem;
}
.c-heading-case span {
  -webkit-transform: translateY(110%);
          transform: translateY(110%);
  -webkit-transition: 1.4s cubic-bezier(0.87, 0, 0.13, 1);
  transition: 1.4s cubic-bezier(0.87, 0, 0.13, 1);
}
.c-heading-case span:nth-child(1) {
  -webkit-transition-delay: 0.02s;
          transition-delay: 0.02s;
}
.c-heading-case span:nth-child(2) {
  -webkit-transition-delay: 0.04s;
          transition-delay: 0.04s;
}
.c-heading-case span:nth-child(3) {
  -webkit-transition-delay: 0.06s;
          transition-delay: 0.06s;
}
.c-heading-case span:nth-child(4) {
  -webkit-transition-delay: 0.08s;
          transition-delay: 0.08s;
}
.c-heading-case span:nth-child(5) {
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}
.c-heading-case span:nth-child(6) {
  -webkit-transition-delay: 0.12s;
          transition-delay: 0.12s;
}
.c-heading-case.is-visible span {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.c-heading-case ._txt {
  font-family: "Roboto", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 3.5rem;
  color: transparent;
  -webkit-text-stroke: 0.0625rem #1739c7;
  line-height: 0.8;
}
@media screen and (min-width: 1024px) {
  .c-heading-case img {
    height: 3.6525rem;
  }
  .c-heading-case ._gap {
    margin-left: 0.75rem;
  }
  .c-heading-case ._txt {
    font-size: 5rem;
  }
}

.c-heading-case--sm img {
  height: 2.1875rem;
}
.c-heading-case--sm ._txt {
  margin-left: 0.5rem;
  font-family: "Roboto", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 2.9375rem;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
@media screen and (min-width: 1024px) {
  .c-heading-case--sm img {
    height: 2.0625rem;
  }
  .c-heading-case--sm ._txt {
    margin-left: 0.75rem;
    font-size: 2.8125rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-heading-border, .p-history-data-aside__year, .p-history-data-item__block h4, .p-history-data-item__catalogYear, .cm-entry h2, .cm-policy__body h3 {
  position: relative;
  padding-left: 1.0625rem;
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.75;
}
.c-heading-border:before, .p-history-data-aside__year:before, .p-history-data-item__block h4:before, .p-history-data-item__catalogYear:before, .cm-entry h2:before, .cm-policy__body h3:before {
  content: "";
  display: block;
  width: 0.375rem;
  height: 1em;
  position: absolute;
  left: 0;
  top: 0.375em;
  pointer-events: none;
  background: #2173c4;
}

.c-heading-border--sm, .p-history-data-item__block h4, .p-history-data-item__catalogYear {
  padding-left: 0.75rem;
  font-size: 0.75rem;
}
.c-heading-border--sm:before, .p-history-data-item__block h4:before, .p-history-data-item__catalogYear:before {
  position: absolute;
  height: 1.75em;
  top: 0;
}

.c-heading-border--md {
  padding-left: 0.9375rem;
  font-size: 1.125rem;
  line-height: 1.5;
  font-weight: bold;
}
.c-heading-border--md:before {
  position: absolute;
  height: 1.5em;
  top: 0;
}

.c-heading-border--lg, .cm-entry h2 {
  padding-left: 1.0625rem;
  line-height: 1.5;
  font-weight: bold;
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  color: #222;
}
.c-heading-border--lg small, .cm-entry h2 small {
  display: block;
  font-weight: 500;
  font-size: 0.6428571429em;
}
.c-heading-border--lg:before, .cm-entry h2:before {
  position: absolute;
  top: 0.1em;
  height: calc(100% - 0.1em);
  pointer-events: none;
  background: #2173c4;
}
@media screen and (min-width: 1024px) {
  .c-heading-border--lg, .cm-entry h2 {
    padding-left: 1.625rem;
    font-size: 1.75rem;
  }
  .c-heading-border--lg:before, .cm-entry h2:before {
    width: 0.375rem;
  }
}

.c-heading-border--policy, .cm-policy__body h3 {
  padding-left: 1.0625rem;
  font-size: 1.125rem;
  line-height: 1.5;
  font-weight: bold;
}
.c-heading-border--policy:before, .cm-policy__body h3:before {
  width: 0.375rem;
  height: calc(100% + 0.4em);
  top: -0.2em;
}
@media screen and (min-width: 1024px) {
  .c-heading-border--policy, .cm-policy__body h3 {
    padding-left: 1.375rem;
  }
  .c-heading-border--policy:before, .cm-policy__body h3:before {
    width: 0.5625rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	c-link
----------------------------------------------------*/
.c-link-triangle {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Roboto", "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: normal;
  text-decoration: underline;
  font-size: 12px;
  text-transform: uppercase;
}
.c-link-triangle:hover {
  text-decoration: none;
}
.c-link-triangle i {
  width: 12px;
  font-size: 0;
}
.c-link-triangle i svg {
  width: 100%;
  height: auto;
  fill: var(--color);
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-link-down {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 9px;
}
.c-link-down i {
  width: 20px;
  font-size: 0;
}
.c-link-down i svg {
  width: 100%;
  height: auto;
}
.c-link-down:hover {
  color: var(--color-accent);
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-link-pdf {
  display: inline-block;
  gap: 0.625rem;
  text-decoration: underline;
}
.c-link-pdf i {
  display: inline-block;
  margin-left: 0.625rem;
  width: 1.4375rem;
  height: 0.6875rem;
  background: url(../img/ico-pdf.svg) center center/contain no-repeat;
}
.c-link-pdf:hover {
  text-decoration: none;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-link-accent, .cm-policy__body a {
  color: var(--color-accent);
  text-decoration: underline;
}
.c-link-accent:hover, .cm-policy__body a:hover {
  text-decoration: none;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	c-list
----------------------------------------------------*/
.c-list-caution {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
}
.c-list-caution li {
  padding-left: 2em;
  text-indent: -2em;
}
.c-list-disc, .cm-entry ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
}
.c-list-disc li, .cm-entry ul li {
  position: relative;
  padding-left: 1.4em;
}
.c-list-disc li:before, .cm-entry ul li:before {
  content: "●";
  display: block;
  position: absolute;
  left: 0;
  top: 0.25em;
  font-size: 0.75em;
  pointer-events: none;
  color: #2173c4;
}
@media screen and (min-width: 1024px) {
  .c-list-disc, .cm-entry ul {
    font-size: 1rem;
    line-height: 1.625;
  }
}

.c-list-disc--entry, .cm-entry ul {
  gap: 0.375rem;
  font-size: 0.875rem;
}
@media screen and (min-width: 1024px) {
  .c-list-disc--entry, .cm-entry ul {
    font-size: 1rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-list-table {
  min-width: 100%;
  border-bottom: 1px solid #c4c4c4;
}
.c-list-table ._gray {
  background: #777;
}
.c-list-table ._sky {
  background: #55b7ff;
}
.c-list-table ._line {
  position: relative;
  background-image: linear-gradient(to right top, transparent calc(50% - 0.5px), #fff 50%, #fff calc(50% + 0.5px), transparent calc(50% + 1px));
}
.c-list-table ._line span {
  position: absolute;
  display: inline-block;
}
.c-list-table ._line span:nth-child(1) {
  top: calc(50% - 1em);
  right: 0.75em;
}
.c-list-table ._line span:nth-child(2) {
  top: calc(50% - 0.25em);
  left: 0.75em;
}
@media screen and (min-width: 1024px) {
  .c-list-table {
    table-layout: fixed;
  }
}

.c-list-table__head {
  font-weight: bold;
  font-size: 0.75rem;
  line-height: 1.375;
  text-align: center;
  color: #fff;
  background: #2173c4;
}
.c-list-table__head th {
  white-space: nowrap;
}
.c-list-table__head th small {
  font-size: 0.75rem;
}
.c-list-table__head th sup {
  font-size: 0.625rem;
}
.c-list-table__head th, .c-list-table__head td {
  padding: 0.5rem 0.625rem;
  vertical-align: middle;
}
.c-list-table__head th:not(:first-child) {
  border-left: 1px solid #fff;
}
.c-list-table__head th:not(:last-child) {
  border-right: 1px solid #fff;
}
.c-list-table__head th:empty {
  height: 2rem;
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .c-list-table__head th {
    white-space: initial;
  }
}
@media screen and (min-width: 1024px) {
  .c-list-table__head {
    font-size: 1rem;
    letter-spacing: 0.1em;
  }
  .c-list-table__head th small {
    font-size: 0.8125rem;
  }
  .c-list-table__head th sup {
    font-size: 0.625rem;
  }
  .c-list-table__head th, .c-list-table__head td {
    padding: 0.75rem 0.625rem;
    vertical-align: middle;
  }
}

.c-list-table__body {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.375;
  text-align: center;
}
.c-list-table__body small {
  font-size: 0.75rem;
}
.c-list-table__body sup {
  font-size: 0.625rem;
}
.c-list-table__body tr:nth-child(odd) {
  background: #f2f2f2;
}
.c-list-table__body th:first-child {
  width: 11.25rem;
}
.c-list-table__body th, .c-list-table__body td {
  padding: 0.5rem 0.5rem;
  vertical-align: middle;
  border-left: 1px solid #c4c4c4;
  border-right: 1px solid #c4c4c4;
}
.c-list-table__body th:first-child {
  position: relative;
}
.c-list-table__body th:first-child:after {
  content: "";
  display: block;
  width: 0;
  height: 100%;
  position: absolute;
  right: 0.0625rem;
  top: 0;
  pointer-events: none;
  border-right: 1px solid #c4c4c4;
}
.c-list-table__body .u-left {
  vertical-align: top;
}
@media screen and (min-width: 1024px) {
  .c-list-table__body {
    font-size: 1rem;
    letter-spacing: 0.1em;
  }
  .c-list-table__body small {
    font-size: 0.75rem;
  }
  .c-list-table__body sup {
    font-size: 0.625rem;
  }
  .c-list-table__body th:first-child {
    width: 14.4375rem;
  }
  .c-list-table__body th, .c-list-table__body td {
    padding: 0.75rem 0.5rem;
  }
  .c-list-table__body .u-left {
    font-size: 0.875rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	c-paragraph
----------------------------------------------------*/
.c-paragraph, .p-about-list-item__body, .p-about-partner__body, .p-contact-form__lead, .p-message-content__body, .p-top-company__lead, .cm-form-input__ex, .cm-technology-blockA__caption2, .cm-technology-service__lead, .cm-technology-service-item__caption {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
}
@media screen and (min-width: 1024px) {
  .c-paragraph, .p-about-list-item__body, .p-about-partner__body, .p-contact-form__lead, .p-message-content__body, .p-top-company__lead, .cm-form-input__ex, .cm-technology-blockA__caption2, .cm-technology-service__lead, .cm-technology-service-item__caption {
    font-size: 1rem;
    line-height: 1.625;
  }
}

.c-paragraph--lg {
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
}
@media screen and (min-width: 1024px) {
  .c-paragraph--lg {
    font-size: 1.5rem;
    line-height: 1.625;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  */
}

/* Common Styles */
/* Bullets */
/* Progress */
/*----------------------------------------------------
	汎用クラス
----------------------------------------------------*/
.bold,
.strong {
  font-weight: bold;
}

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

.u-indent li {
  padding-left: 1em;
  text-indent: -1.1em;
}

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

.u-red {
  color: #e95433;
}

.u-hide {
  display: none;
}

.u-breakLine {
  display: inline-block;
}

.u-only-sp {
  display: block !important;
}
@media screen and (min-width: 641px) {
  .u-only-sp {
    display: none !important;
  }
}

.u-only-pc {
  display: none !important;
}
@media screen and (min-width: 641px) {
  .u-only-pc {
    display: block !important;
  }
}

.js-fadein {
  opacity: 0.2;
  -webkit-filter: blur(0.3125rem);
          filter: blur(0.3125rem);
}
.js-fadein.is-visible {
  will-change: filter, opacity;
  -webkit-filter: blur(0);
          filter: blur(0);
  opacity: 1;
  -webkit-transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
}

.js-fadein-up {
  opacity: 0;
  -webkit-transform: translateY(1.875rem);
          transform: translateY(1.875rem);
}
.js-fadein-up.is-visible {
  will-change: transform, opacity;
  opacity: 1;
  -webkit-transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.js-fadein-side {
  opacity: 0;
  -webkit-transform: translateX(1.25rem);
          transform: translateX(1.25rem);
}
.js-fadein-side.is-visible {
  will-change: transform, opacity;
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
}

.u-fadein-sides > * {
  opacity: 0;
  -webkit-transform: translateX(1.25rem);
          transform: translateX(1.25rem);
  -webkit-transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
}
.u-fadein-sides > *:nth-child(2) {
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}
.u-fadein-sides > *:nth-child(3) {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
.u-fadein-sides > *:nth-child(4) {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
.u-fadein-sides > *:nth-child(5) {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}
.u-fadein-sides > *:nth-child(6) {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}
.u-fadein-sides.is-visible > * {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

[data-delay="0.1"] {
  -webkit-transition-delay: 0.1s !important;
          transition-delay: 0.1s !important;
}

[data-delay="0.2"] {
  -webkit-transition-delay: 0.2s !important;
          transition-delay: 0.2s !important;
}

[data-delay="0.3"] {
  -webkit-transition-delay: 0.3s !important;
          transition-delay: 0.3s !important;
}

[data-delay="0.4"] {
  -webkit-transition-delay: 0.4s !important;
          transition-delay: 0.4s !important;
}

[data-delay="0.5"] {
  -webkit-transition-delay: 0.5s !important;
          transition-delay: 0.5s !important;
}

[data-delay="0.6"] {
  -webkit-transition-delay: 0.6s !important;
          transition-delay: 0.6s !important;
}

[data-delay="0.7"] {
  -webkit-transition-delay: 0.7s !important;
          transition-delay: 0.7s !important;
}

[data-delay="0.8"] {
  -webkit-transition-delay: 0.8s !important;
          transition-delay: 0.8s !important;
}

[data-delay="0.9"] {
  -webkit-transition-delay: 0.9s !important;
          transition-delay: 0.9s !important;
}

[data-delay="1"] {
  -webkit-transition-delay: 1s !important;
          transition-delay: 1s !important;
}

[data-delay="1.1"] {
  -webkit-transition-delay: 1.1s !important;
          transition-delay: 1.1s !important;
}

[data-delay="1.2"] {
  -webkit-transition-delay: 1.2s !important;
          transition-delay: 1.2s !important;
}

[data-delay="1.3"] {
  -webkit-transition-delay: 1.3s !important;
          transition-delay: 1.3s !important;
}

[data-delay="1.4"] {
  -webkit-transition-delay: 1.4s !important;
          transition-delay: 1.4s !important;
}

[data-delay="1.5"] {
  -webkit-transition-delay: 1.5s !important;
          transition-delay: 1.5s !important;
}

[data-delay="1.6"] {
  -webkit-transition-delay: 1.6s !important;
          transition-delay: 1.6s !important;
}

[data-delay="1.7"] {
  -webkit-transition-delay: 1.7s !important;
          transition-delay: 1.7s !important;
}

[data-delay="1.8"] {
  -webkit-transition-delay: 1.8s !important;
          transition-delay: 1.8s !important;
}

[data-delay="1.9"] {
  -webkit-transition-delay: 1.9s !important;
          transition-delay: 1.9s !important;
}

[data-delay="2"] {
  -webkit-transition-delay: 2s !important;
          transition-delay: 2s !important;
}

[data-delay="2.1"] {
  -webkit-transition-delay: 2.1s !important;
          transition-delay: 2.1s !important;
}

[data-delay="2.2"] {
  -webkit-transition-delay: 2.2s !important;
          transition-delay: 2.2s !important;
}

[data-delay="2.3"] {
  -webkit-transition-delay: 2.3s !important;
          transition-delay: 2.3s !important;
}

[data-delay="2.4"] {
  -webkit-transition-delay: 2.4s !important;
          transition-delay: 2.4s !important;
}

[data-delay="2.5"] {
  -webkit-transition-delay: 2.5s !important;
          transition-delay: 2.5s !important;
}

[data-delay="2.6"] {
  -webkit-transition-delay: 2.6s !important;
          transition-delay: 2.6s !important;
}

[data-delay="2.7"] {
  -webkit-transition-delay: 2.7s !important;
          transition-delay: 2.7s !important;
}

[data-delay="2.8"] {
  -webkit-transition-delay: 2.8s !important;
          transition-delay: 2.8s !important;
}

[data-delay="2.9"] {
  -webkit-transition-delay: 2.9s !important;
          transition-delay: 2.9s !important;
}

[data-delay="3"] {
  -webkit-transition-delay: 3s !important;
          transition-delay: 3s !important;
}

.u-template {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5rem;
  padding-bottom: 6.25rem;
}
.u-template > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}

.u-gap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: var(--gap);
}

.is-disabled {
  opacity: 0.4;
  pointer-events: none;
}

.__loop {
  -webkit-animation: loopLeft linear 30s infinite;
          animation: loopLeft linear 30s infinite;
  will-change: transform;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.__loop img {
  width: auto;
  max-width: none;
  height: 18.75rem;
}
@media screen and (min-width: 1024px) {
  .__loop {
    -webkit-animation: loopLeft linear 50s infinite;
            animation: loopLeft linear 50s infinite;
  }
  .__loop img {
    height: 32.875rem;
  }
}

@-webkit-keyframes loopLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}

@keyframes loopLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}
@-webkit-keyframes loopRight {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes loopRight {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
[data-anime=fadein-up] {
  opacity: 0;
  -webkit-transform: translateY(3.125rem);
          transform: translateY(3.125rem);
  will-change: opacity, transform;
}
.is-visible [data-anime=fadein-up], [data-anime=fadein-up].is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

[data-anime=fadein] {
  opacity: 0;
  will-change: opacity, transform;
}
.is-visible [data-anime=fadein], [data-anime=fadein].is-visible {
  opacity: 1;
}

[data-anime-delay="0.1"] {
  -webkit-transition-delay: 0.1s !important;
          transition-delay: 0.1s !important;
}

[data-anime-delay="0.2"] {
  -webkit-transition-delay: 0.2s !important;
          transition-delay: 0.2s !important;
}

[data-anime-delay="0.3"] {
  -webkit-transition-delay: 0.3s !important;
          transition-delay: 0.3s !important;
}

[data-anime-delay="0.4"] {
  -webkit-transition-delay: 0.4s !important;
          transition-delay: 0.4s !important;
}

[data-anime-delay="0.5"] {
  -webkit-transition-delay: 0.5s !important;
          transition-delay: 0.5s !important;
}

[data-anime-delay="0.6"] {
  -webkit-transition-delay: 0.6s !important;
          transition-delay: 0.6s !important;
}

[data-anime-delay="0.7"] {
  -webkit-transition-delay: 0.7s !important;
          transition-delay: 0.7s !important;
}

[data-anime-delay="0.8"] {
  -webkit-transition-delay: 0.8s !important;
          transition-delay: 0.8s !important;
}

[data-anime-delay="0.9"] {
  -webkit-transition-delay: 0.9s !important;
          transition-delay: 0.9s !important;
}

[data-anime-delay="1.0"] {
  -webkit-transition-delay: 1s !important;
          transition-delay: 1s !important;
}

.u-bg-load {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  overflow: hidden;
}
.u-bg-load svg {
  position: absolute;
  max-width: none;
  height: auto;
}

.u-sup {
  padding-left: 0.625em;
  font-size: 0.5714285714em;
  vertical-align: middle;
}

.u-sub {
  font-size: 0.75em;
}