@charset "UTF-8";
/* =====================================================
  0.0 - Foundation
===================================================== */
/*
index
-----------------------------------------------------*/
/*
i-functions
-----------------------------------------------------*/
/*
i-setting
-----------------------------------------------------*/
/*
i-mixin
-----------------------------------------------------*/
/* ------------------------- 使い方 ----------------------------------------------------------

    @include sizing(width, wide, 365px, sp, 276px);
    ==> width: clamp(276px, 7.46vw + 248px, 365px);
    （ビューポートがwide(1568px)のとき365px, sp(375px)のとき276pxになる自動補完値を上限下限をつけて設定）

    @include sizing(width, wide, 365px, sp, 276px, noClamp);
    ==> width: calc(7.46vw + 248px);
    （ビューポートがwide(1568px)のとき365px, sp(375px)のとき276pxになる自動補完値を設定）

    @include sizingRem(font-size, wide, 14px, sp, 12px);
    ==> font-size: clamp(0.75rem, 0.17vw + 0.70625rem, 0.875rem;
    （ビューポートがwide(1568px)のとき14px, sp(375px)のとき12pxになる自動補完値をremに変換して設定）
　　
    ※使いたいsassファイル上で@useしてください。
    ※scssファイル上での読みやすさ重視のため、mixinの引数に単位[px]が必要な仕様にしてあります。

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

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
  font-family: "Noto Sans JP", serif;
  width: 100vw;
}
html.mobile {
  overflow-x: hidden;
}

body {
  overflow-x: hidden; /* 横スクロールを防止 */
  width: 100%;
  max-width: 100%;
  text-rendering: optimizeLegibility;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  font-family: "Noto Sans JP";
  font-weight: 500;
  font-optical-sizing: auto;
  font-display: swap;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  font-size: clamp(0.9375rem, 0.16vw + 0.90625rem, 1rem);
  line-height: 2;
  color: #333333;
  position: relative;
  margin: 0;
  padding-top: 90px;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1080px) {
  body {
    padding-top: 164px;
    line-height: 1.8;
    letter-spacing: 0.06em;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: inherit;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  -ms-interpolation-mode: nearest-neighbor;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: -moz-crisp-edges;
  image-rendering: -o-crisp-edges;
}

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

a,
a:link,
a:visited {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

a:active,
a:hover {
  color: inherit;
  text-decoration: none;
}

ul,
ol,
li {
  list-style-type: none;
}

dl,
dt,
dd {
  margin: 0;
  padding: 0;
}

p {
  margin: 0;
  padding: 0;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  p {
    line-height: 2;
  }
}
p a {
  text-decoration: underline !important;
}

p + p {
  margin-top: 2rem;
}

p + ul {
  margin-top: 1.5rem;
}

p + ol {
  margin-top: 1.5rem;
}

img {
  border: 0;
  line-height: 0;
  vertical-align: bottom;
}

img {
  width: 100%;
  max-width: 100%; /* 1 */
  height: auto; /* 1 */
  vertical-align: middle; /* 2 */
  font-style: italic; /* 3 */
  background-repeat: no-repeat; /* 4 */
  background-size: cover; /* 4 */
  shape-margin: 0.75rem; /* 5 */
  display: block;
}
img.-center {
  margin: auto;
}

svg {
  vertical-align: bottom;
}

hr {
  display: none;
}

table {
  margin: 0;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
  margin: 0;
}

td {
  margin: 0;
}

em {
  font-weight: bold;
  font-style: normal;
}

form {
  margin: 0;
  padding: 0;
}

label {
  margin: 0;
  padding: 0;
}

input.btn {
  margin: 0 0.5em;
  padding: 0 1em;
}

button {
  border: none;
  font: inherit;
  line-height: inherit;
  background: none;
  margin: 0;
}

/* キーボード操作"以外"でフォーカスされた際はoutlineを消す */
.js-focus-visible :focus:not(.focus-visible) {
  outline: 0;
}

.-center {
  text-align: center;
}

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
/* アニメーション用のスタイル */
.animated-path {
  opacity: 0;
}

.-mT0 {
  margin-top: 0 !important;
}

/* //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

RESET CSS

html5doctor.com Reset Stylesheet

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
abbr,
address,
article,
aside,
audio,
b,
blockquote,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}

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

nav ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  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: 700;
}

del {
  text-decoration: line-through;
}

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

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

button {
  padding: 0;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

em {
  font-weight: normal;
}

/* =====================================================
  1.0 - inc
===================================================== */
/* =====================================================
  2.0 - Layout
===================================================== */
/*
 container
-----------------------------------------------------*/
.l-container {
  width: 100%;
  max-width: 100%;
  position: relative;
}
.l-container--zeroOrder {
  width: 86vw;
  margin: 0 auto;
}
@media screen and (min-width: 960px) {
  .l-container--zeroOrder {
    max-width: 100%;
    width: 82%;
    margin-left: 11.76%;
  }
}
@media screen and (min-width: 960px) {
  .l-container--zeroOrder.-right {
    margin-left: 11.86%;
    margin-right: unset;
  }
}
@media screen and (min-width: 960px) {
  .l-container--zeroOrder.-right.-knowlage {
    margin-left: 24.8%;
    margin-right: unset;
  }
}
.l-container--primary {
  width: 86vw;
  margin: 0 auto;
}
@media screen and (min-width: 960px) {
  .l-container--primary {
    max-width: 100%;
    padding: 0 48px;
    width: 83.5%;
  }
}
@media screen and (min-width: 960px) {
  .l-container--primary.-right {
    margin-left: 11.86%;
    margin-right: unset;
  }
}
.l-container--primary.-large {
  width: 100%;
  padding: clamp(32px, 5vw + 16px, 64px);
  padding-left: clamp(32px, 5vw + 16px, 64px);
}
@media screen and (min-width: 960px) {
  .l-container--primary.-large {
    max-width: 100%;
    padding: 0 48px;
    width: 88.78%;
    margin: 0 auto;
    padding: clamp(64px, 3.88vw + 26.8px, 90px);
    padding-left: clamp(64px, 3.88vw + 26.8px, 90px);
    padding-right: clamp(64px, 3.88vw + 26.8px, 90px);
  }
}
.l-container--primary.-large.-consul {
  background: #A8DBF4;
  border-radius: 1rem;
}
.l-container--primary.-large.-system {
  margin-top: 50px;
  background: #B1CBF1;
  border-radius: 1rem;
}
.l-container--primary.-flex {
  padding: 0;
  padding-bottom: clamp(80px, 4.05vw + 67px, 133px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.5rem 0;
}
.l-container--primary.-flex .-L {
  width: 22%;
}
.l-container--primary.-flex .-L h2 {
  font-size: clamp(20px, 0.31vw + 18.9px, 24px);
  font-weight: 700;
  color: #005AAA;
}
.l-container--primary.-flex .-R {
  width: 69%;
}
@media screen and (min-width: 960px) {
  .l-container--secondary {
    padding-left: 23%;
  }
}
.l-container--secondary.-flex {
  padding: 0;
  padding-bottom: clamp(80px, 4.05vw + 67px, 133px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.5rem 0;
}
.l-container--secondary.-flex .-L {
  width: 100%;
}
@media screen and (min-width: 1080px) {
  .l-container--secondary.-flex .-L {
    width: 20%;
  }
}
.l-container--secondary.-flex .-L h2 {
  font-size: clamp(20px, 0.31vw + 18.9px, 24px);
  font-weight: 700;
  color: #005AAA;
}
.l-container--secondary.-flex .-R {
  width: 100%;
}
@media screen and (min-width: 1080px) {
  .l-container--secondary.-flex .-R {
    width: 71.2%;
  }
}
.l-container--secondary.-flex .-R.-recruit {
  font-size: clamp(15px, 0.23vw + 14.3px, 18px);
}
.l-container--tertiary {
  width: 86vw;
  margin: 0 auto;
}
@media screen and (min-width: 960px) {
  .l-container--tertiary {
    max-width: 100%;
    padding: 0 48px;
    width: 77.4%;
  }
}
.l-container--tertiary.-flex {
  padding: 0;
  padding-bottom: clamp(80px, 4.05vw + 67px, 133px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.5rem 0;
}
.l-container--tertiary.-flex .-L {
  width: 100%;
}
@media screen and (min-width: 960px) {
  .l-container--tertiary.-flex .-L {
    width: 22%;
  }
}
.l-container--tertiary.-flex .-L h2 {
  font-size: clamp(20px, 0.31vw + 18.9px, 24px);
  font-weight: 700;
  color: #005AAA;
}
.l-container--tertiary.-flex .-R {
  width: 100%;
}
@media screen and (min-width: 960px) {
  .l-container--tertiary.-flex .-R {
    width: 69%;
  }
}
.l-container--quaternary {
  width: 86vw;
  margin: 0 auto;
}
@media screen and (min-width: 960px) {
  .l-container--quaternary {
    max-width: 100%;
    padding: 0 48px;
    width: 61.7%;
  }
}

/*
contents
-----------------------------------------------------*/
/*
footer
-----------------------------------------------------*/
.l-footer {
  background: #005AAA;
  padding-top: clamp(56px, 1.83vw + 50.2px, 80px);
}
.l-footer--nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 4rem 0;
}
.l-footer--nav .-L {
  width: 100%;
}
@media screen and (min-width: 1080px) {
  .l-footer--nav .-L {
    width: 30%;
    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: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.l-footer--nav .-L .-logo {
  display: block;
  aspect-ratio: 194/185;
  width: 194px;
  width: clamp(9.3125rem, 5.92vw + 8.13125rem, 12.125rem);
  height: auto;
  margin-bottom: 2rem;
}
@media screen and (min-width: 1080px) {
  .l-footer--nav .-L .-logo {
    width: 194px;
  }
}
.l-footer--nav .-L .-sns {
  width: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-footer--nav .-L .-sns a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .l-footer--nav .-L .-sns a:hover {
    cursor: pointer;
    opacity: 0.7;
  }
}
.l-footer--nav .-L .-sns .-instagram {
  width: 20px;
  height: auto;
}
.l-footer--nav .-L .-sns .-linkedin {
  width: 20px;
  height: auto;
}
.l-footer--nav .-L .-sns .-facebook {
  width: 20px;
  height: auto;
}
.l-footer--nav .-R {
  width: 100%;
}
@media screen and (min-width: 1080px) {
  .l-footer--nav .-R {
    width: 70%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1.5rem 0;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.l-footer--nav_dl {
  width: 100%;
}
@media screen and (min-width: 1080px) {
  .l-footer--nav_dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: right;
        -ms-flex-pack: right;
            justify-content: right;
    gap: clamp(24px, 10.18vw - 85.9px, 80px);
  }
}
.l-footer--nav_dl h2 {
  font-size: clamp(15px, 0.08vw + 14.7px, 16px);
  line-height: 1;
  color: #81BAEB;
  font-weight: 700;
  margin-bottom: 6px;
}
@media screen and (min-width: 1080px) {
  .l-footer--nav_dl h2 {
    margin-bottom: 20px;
  }
}
.l-footer--nav_dl dl dt {
  font-size: clamp(15px, 0vw + 15px, 15px);
  color: #fff;
  font-weight: 700;
}
.l-footer--nav_dl dl dt a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  display: block;
  padding: 1rem 2rem 1rem 0;
}
@media screen and (min-width: 1080px) {
  .l-footer--nav_dl dl dt a {
    padding: 0;
  }
}
.l-footer--nav_dl dl dt a.-arwS {
  background: url(../img/common/icon_arwS.svg) no-repeat 98% 52%/13px;
}
@media screen and (min-width: 1080px) {
  .l-footer--nav_dl dl dt a.-arwS {
    background: none;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-footer--nav_dl dl dt a:hover {
    cursor: pointer;
    color: #81BAEB;
  }
}
.l-footer--nav_dl dl .-accordion dt a {
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (min-width: 1080px) and (hover: hover) and (pointer: fine) {
  .l-footer--nav_dl dl .-accordion dt a {
    cursor: pointer;
  }
}
.l-footer--nav_dl dl .-accordion dt a i {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  position: absolute;
  right: 2%;
  top: 52%;
  -webkit-transform: translate(0%, -50%);
          transform: translate(0%, -50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.l-footer--nav_dl dl .-accordion dt a i:before, .l-footer--nav_dl dl .-accordion dt a i:after {
  content: "";
  display: block;
  width: 13px;
  height: 2px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border-radius: 9999px;
}
.l-footer--nav_dl dl .-accordion dt a i:after {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg); /* Plus sign */
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media screen and (min-width: 1080px) {
  .l-footer--nav_dl dl .-accordion dt a i {
    display: none;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-footer--nav_dl dl .-accordion dt a:hover {
    cursor: pointer;
    color: #81BAEB;
  }
}
.l-footer--nav_dl dl .-accordion dt.-active a i:after {
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
          transform: translate(-50%, -50%) rotate(0deg); /* Minus sign */
}
.l-footer--nav_dl dl .-accordion div {
  display: none;
  padding: 0 0 1.4rem;
}
@media screen and (min-width: 1080px) {
  .l-footer--nav_dl dl .-accordion div {
    display: block;
    padding: 0;
  }
}
.l-footer--nav_dl dl > div + div {
  margin-top: 0;
}
@media screen and (min-width: 1080px) {
  .l-footer--nav_dl dl > div + div {
    margin-top: 10px;
  }
}
.l-footer--nav_dl dl > div + .-development {
  margin-top: 0;
}
@media screen and (min-width: 1080px) {
  .l-footer--nav_dl dl > div + .-development {
    margin-top: 30px;
  }
}
.l-footer--nav_dl dl dt + dt,
.l-footer--nav_dl dl dt + dd {
  margin-top: 10px;
}
.l-footer--nav_dl dl dd {
  font-size: clamp(13px, 0vw + 13px, 13px);
  color: #fff;
  margin-top: 7px;
  font-weight: 400;
}
.l-footer--nav_dl dl dd.-sp {
  display: block;
}
@media screen and (min-width: 1080px) {
  .l-footer--nav_dl dl dd.-sp {
    display: none;
  }
}
.l-footer--nav_dl dl > div {
  border-bottom: 1px solid #81BAEB;
}
@media screen and (min-width: 1080px) {
  .l-footer--nav_dl dl > div {
    border: none;
  }
}
.l-footer--nav_dl div + div {
  margin-top: 48px;
}
@media screen and (min-width: 1080px) {
  .l-footer--nav_dl div + div {
    margin-top: 0px;
  }
}
.l-footer-bottom {
  position: relative;
  margin-top: 40px;
}
@media screen and (min-width: 1080px) {
  .l-footer-bottom {
    margin-top: 54px;
    border-top: 1px solid #81BAEB;
    padding: 3rem 0;
  }
}
@media screen and (min-width: 1080px) {
  .l-footer-bottom .-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    width: 380px;
  }
}
.l-footer-bottom .-flex a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  color: #fff;
  line-height: 1;
  font-size: 12px;
  margin-top: 2px;
}
@media (hover: hover) and (pointer: fine) {
  .l-footer-bottom .-flex a:hover {
    cursor: pointer;
    color: #81BAEB;
  }
}
.l-footer-bottom .-Back_to_Top {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 111px;
  height: 12px;
  position: absolute;
  right: 0;
  bottom: 92px;
}
@media screen and (min-width: 1080px) {
  .l-footer-bottom .-Back_to_Top {
    bottom: 52px;
  }
}
.l-footer-bottom .-Back_to_Top img {
  width: 111px;
  height: 12px;
}
@media (hover: hover) and (pointer: fine) {
  .l-footer-bottom .-Back_to_Top:hover {
    cursor: pointer;
    opacity: 0.7;
  }
}
.l-footer-copyright {
  font-size: 12px;
  color: #81BAEB;
  border-top: 1px solid #81BAEB;
  margin-top: 1.5rem;
  padding: 1.5rem 0;
}
@media screen and (min-width: 1080px) {
  .l-footer-copyright {
    border-top: none;
    margin-top: 0;
    padding: 0;
  }
}

/*
 header
-----------------------------------------------------*/
.l-header {
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 100%;
  padding: 0 4%;
  height: 90px;
  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;
}
@media screen and (min-width: 1080px) {
  .l-header {
    height: 164px;
  }
}
@media screen and (min-width: 1080px) {
  .l-header {
    padding: 0 44px;
    height: 164px;
    left: 0px;
  }
}
.l-header-wrapper {
  position: relative;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-header-logo {
  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;
}
.l-header-logo a {
  display: block;
  aspect-ratio: 150/70;
  width: 150px;
  height: auto;
  width: clamp(5.625rem, 4.61vw + 4.7rem, 7.8125rem);
}
@media screen and (min-width: 1080px) {
  .l-header-logo a {
    width: clamp(7.8125rem, 4.55vw + 4.7375rem, 9.375rem);
  }
}
@media screen and (min-width: 1080px) {
  .l-header.-scroll {
    height: 110px;
    padding: 0 25px;
  }
  .l-header.-scroll .l-header-logo a {
    width: 130px;
    width: clamp(5.625rem, 3.29vw + 4.96875rem, 7.1875rem);
  }
}
@media screen and (min-width: 1080px) and (min-width: 1080px) {
  .l-header.-scroll .l-header-logo a {
    width: clamp(7.1875rem, 2.73vw + 5.34375rem, 8.125rem);
  }
}

/*
main
-----------------------------------------------------*/
main {
  position: relative;
}

.l-main.-home {
  width: 100%;
}
@media screen and (min-width: 960px) {
  .l-main.-home {
    width: 94.6%;
    padding-top: 50px;
  }
}
.l-main.-sub {
  width: 100%;
  border-radius: 0 1rem 1rem 0;
  background: #DDEAF5;
  padding: 4rem 0 3rem;
}
@media screen and (min-width: 960px) {
  .l-main.-sub {
    width: 94.6%;
    padding: 5rem 0 4rem;
  }
}
.l-main.-sub.-consulting {
  background: #A8DBF4;
  padding: 4.6rem 0 3.2rem;
}
@media screen and (min-width: 960px) {
  .l-main.-sub.-consulting {
    padding: 7.8rem 0 5rem;
  }
}
.l-main.-sub.-engineering {
  background: #B1CBF1;
  padding: 4.6rem 0 3.2rem;
}
@media screen and (min-width: 960px) {
  .l-main.-sub.-engineering {
    padding: 7.8rem 0 5rem;
  }
}
.l-main.-third {
  width: 100%;
  border-radius: 0 1rem 0 0;
  background: #DDEAF5;
  padding: 4.6rem 0 3.2rem;
}
@media screen and (min-width: 960px) {
  .l-main.-third {
    width: 94.6%;
    padding: 7.8rem 0 5rem;
  }
}
.l-main.-third.-consulting {
  background: #A8DBF4;
}
.l-main.-third.-engineering {
  background: #B1CBF1;
}
.l-main.-third.-projects {
  background: #DDEAF5;
}

/*
spacer
-----------------------------------------------------*/
/* =====================================================
  3.0 - Object
===================================================== */
/*
  3.1 - Component
-----------------------------------------------------*/
/*
breadcrumb
-----------------------------------------------------*/
.c-breadcrumb {
  display: none;
}
@media screen and (min-width: 960px) {
  .c-breadcrumb {
    display: block;
    position: absolute;
    right: 2.1%;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    text-orientation: sideways-right;
    font-size: 13px;
  }
  .c-breadcrumb ol {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .c-breadcrumb a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    display: inline-block;
    margin-bottom: 2rem;
    position: relative;
  }
  .c-breadcrumb a::before {
    content: "";
    display: block;
    background: url(../img/common/icon_breadcrumb.svg) no-repeat 0 0/contain;
    width: 12px;
    height: 8px;
    position: absolute;
    bottom: -1.2rem;
    left: 50%;
    -webkit-transform: translate(-40%, 0);
            transform: translate(-40%, 0);
  }
}
@media screen and (min-width: 960px) and (hover: hover) and (pointer: fine) {
  .c-breadcrumb a:hover {
    cursor: pointer;
    color: #005AAA;
  }
}
@media screen and (min-width: 960px) {
  .c-breadcrumb span {
    color: #858C93;
  }
}

/*
button
-----------------------------------------------------*/
a.-send {
  background: #005AAA;
  border-radius: 0.5rem;
  width: 100%;
  height: clamp(44px, 2.75vw + 35.2px, 80px);
  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;
  color: #fff;
  margin: 3.5rem 0;
}
a.-send.-large {
  margin-top: clamp(60px, 2.29vw + 52.7px, 90px);
  margin-bottom: 0;
}
a.-send span {
  position: relative;
  display: block;
  width: 90%;
  font-weight: 700;
}
@media screen and (min-width: 1080px) {
  a.-send span {
    width: auto;
  }
}
a.-send i {
  width: 33px;
  height: auto;
  aspect-ratio: 1/1;
  line-height: 1;
  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;
  position: absolute;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  right: -4%;
  top: 52%;
  -webkit-transform: translate(0%, -50%);
          transform: translate(0%, -50%);
}
@media screen and (min-width: 1080px) {
  a.-send i {
    width: 44px;
  }
}
@media screen and (min-width: 1080px) {
  a.-send i {
    top: 52%;
    right: -50px;
    -webkit-transform: translate(0%, -50%);
            transform: translate(0%, -50%);
  }
}
a.-send i svg {
  width: 15px;
  height: auto;
}
a.-send i {
  overflow: hidden;
  width: 33px;
  line-height: 1;
}
@media screen and (min-width: 1080px) {
  a.-send i {
    width: 44px;
  }
}
a.-send i:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
  width: 33px;
  height: 33px;
  background: url(../img/common/arrowW.svg) no-repeat 50% 50%/13px;
}
@media screen and (min-width: 1080px) {
  a.-send i:before {
    width: 44px;
    height: 44px;
  }
}
a.-send i:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
  width: 33px;
  height: 33px;
  background: url(../img/common/arrowW.svg) no-repeat 50% 50%/13px;
}
@media screen and (min-width: 1080px) {
  a.-send i:after {
    width: 44px;
    height: 44px;
  }
}
a.-send i:after {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
@media (hover: hover) and (pointer: fine) {
  a.-send:hover {
    cursor: pointer;
  }
  a.-send:hover i:before {
    -webkit-animation-name: transformRightLeft;
            animation-name: transformRightLeft; /* 修正: hover時のアニメーションを指定 */
    -webkit-animation-delay: 0s;
            animation-delay: 0s;
  }
  a.-send:hover i:after {
    -webkit-animation-name: transformLeftRight;
            animation-name: transformLeftRight; /* 修正: hover時のアニメーションを指定 */
    -webkit-animation-delay: 0.2s;
            animation-delay: 0.2s;
  }
  @-webkit-keyframes transformLeftRight {
    0% {
      -webkit-transform: translateX(-100%);
              transform: translateX(-100%);
    }
    100% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
  }
  @keyframes transformLeftRight {
    0% {
      -webkit-transform: translateX(-100%);
              transform: translateX(-100%);
    }
    100% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
  }
  @-webkit-keyframes transformRightLeft {
    0% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
    100% {
      -webkit-transform: translateX(100%);
              transform: translateX(100%);
    }
  }
  @keyframes transformRightLeft {
    0% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
    100% {
      -webkit-transform: translateX(100%);
              transform: translateX(100%);
    }
  }
}

input[type=submit].-send {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border-radius: 0.5rem;
  width: 100%;
  height: clamp(44px, 2.75vw + 35.2px, 80px);
  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;
  color: #fff;
  margin: 1.5rem 0;
  border: none;
  font-size: 16px;
  font-weight: 700;
  background-color: #005AAA;
  background-image: url(../img/common/arrowW.svg);
  background-repeat: no-repeat;
  background-size: 13px;
  border: 1px solid #005AAA;
  background-position: 94% 50%;
  text-align: left;
  padding: 0 6%;
}
@media screen and (min-width: 768px) {
  input[type=submit].-send {
    background-size: 13px;
    background-position: calc(50% + 3rem) 50%;
    text-align: center;
  }
}
@media (hover: hover) and (pointer: fine) {
  input[type=submit].-send:hover {
    cursor: pointer;
    color: #005AAA;
    background-color: #fff;
    background-image: url(../img/common/arrowB.svg);
    background-repeat: no-repeat;
  }
}

/*
cta
-----------------------------------------------------*/
.c-cta {
  margin-top: clamp(64px, 9.16vw + 34.7px, 184px);
  position: relative;
  padding-top: clamp(114px, 7.33vw + 90.5px, 210px);
  padding-bottom: 60px;
  background: url(../img/common/bluedge_footer_sp.png) no-repeat 50% 0/cover;
}
@media screen and (min-width: 768px) {
  .c-cta {
    background: url(../img/common/bluedge_footer_pc.png) no-repeat 50% 0/cover;
    padding-bottom: 0;
  }
}
.c-cta-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.5rem 4%;
}
.c-cta-flex .-L,
.c-cta-flex .-R {
  width: 100%;
  background: #fff;
  border-radius: 1.25rem;
  padding: clamp(32px, 7.14vw + 9.2px, 64px);
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (min-width: 960px) {
  .c-cta-flex .-L,
  .c-cta-flex .-R {
    width: 48%;
  }
}
@media screen and (min-width: 960px) {
  .c-cta-flex .-L,
  .c-cta-flex .-R {
    padding: clamp(24px, 5.97vw - 33.3px, 64px);
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-cta-flex .-L:hover,
  .c-cta-flex .-R:hover {
    cursor: pointer;
    border-radius: 1.25rem;
  }
  .c-cta-flex .-L:hover i,
  .c-cta-flex .-R:hover i {
    fill: #005AAA;
    background: #fff;
  }
}
.c-cta-flex .-L a,
.c-cta-flex .-R a {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border-radius: 1.25rem;
  z-index: 1;
}
.c-cta-flex .-L h2 {
  aspect-ratio: 210/30;
  height: auto;
  line-height: 1;
  margin-bottom: clamp(16px, 1.22vw + 12.1px, 32px);
}
.c-cta-flex .-L h2 img {
  width: 210px;
  width: clamp(160px, 3.82vw + 147.7px, 210px);
}
.c-cta-flex .-L h2 span {
  display: block;
  color: #005AAA;
  font-size: clamp(15px, 0.08vw + 14.7px, 16px);
  font-weight: 700;
  line-height: 1;
  margin-top: clamp(12px, 0.61vw + 10.1px, 20px);
}
.c-cta-flex .-L p {
  padding-bottom: 3rem;
}
@media screen and (min-width: 960px) {
  .c-cta-flex .-L p {
    padding-bottom: 3.5rem;
  }
}
.c-cta-flex .-L i {
  fill: #fff;
  width: 44px;
  height: auto;
  aspect-ratio: 1/1;
  line-height: 1;
  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;
  background: #005AAA;
  border-radius: 0.75rem;
  border: 1px solid #005AAA;
  position: absolute;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  right: clamp(28px, 6.7vw + 6.5px, 58px);
  bottom: clamp(28px, 6.7vw + 6.5px, 58px);
}
@media screen and (min-width: 768px) {
  .c-cta-flex .-L i {
    right: clamp(20px, 4.41vw - 13.9px, 58px);
    bottom: clamp(20px, 4.41vw - 13.9px, 58px);
  }
}
.c-cta-flex .-L i svg {
  width: 15px;
  height: auto;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-cta-flex .-L i {
  overflow: hidden;
  width: 44px;
  line-height: 1;
}
.c-cta-flex .-L i:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
  width: 44px;
  height: 44px;
  background: url(../img/common/arrowW.svg) no-repeat 50% 50%/13px;
}
.c-cta-flex .-L i:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
  width: 44px;
  height: 44px;
  background: url(../img/common/arrowB.svg) no-repeat 50% 50%/13px;
}
.c-cta-flex .-L i:after {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
.c-cta-flex .-L:hover i:before {
  -webkit-animation-name: transformRightLeft;
          animation-name: transformRightLeft; /* 修正: hover時のアニメーションを指定 */
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
.c-cta-flex .-L:hover i:after {
  -webkit-animation-name: transformLeftRight;
          animation-name: transformLeftRight; /* 修正: hover時のアニメーションを指定 */
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.c-cta-flex .-R {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2rem 4%;
}
.c-cta-flex .-R div {
  width: 100%;
  background: url(../img/common/img_noteSP.png) no-repeat 100% 100%;
  background-size: clamp(122px, 1.56vw + 117px, 132px);
}
@media screen and (min-width: 960px) {
  .c-cta-flex .-R div {
    width: 48%;
    background: none;
  }
}
.c-cta-flex .-R figure {
  width: 100%;
  display: none;
}
@media screen and (min-width: 960px) {
  .c-cta-flex .-R figure {
    width: 48%;
    display: block;
  }
}
.c-cta-flex .-R figure img {
  border-radius: 0.75rem;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1;
}
@media screen and (min-width: 960px) {
  .c-cta-flex .-R figure img {
    aspect-ratio: 8/9;
  }
}
.c-cta-flex .-R h2 {
  aspect-ratio: 116/28;
  width: 116px;
  width: clamp(91px, 1.91vw + 84.9px, 116px);
  height: auto;
  line-height: 1;
  margin-bottom: clamp(16px, 1.22vw + 12.1px, 32px);
}
.c-cta-flex .-R i {
  width: 44px;
  height: auto;
  aspect-ratio: 1/1;
  line-height: 1;
  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;
  background: #005AAA;
  border-radius: 0.75rem;
  border: 1px solid #005AAA;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  position: absolute;
  right: clamp(28px, 6.7vw + 6.5px, 58px);
  bottom: clamp(28px, 6.7vw + 6.5px, 58px);
}
@media screen and (min-width: 768px) {
  .c-cta-flex .-R i {
    right: clamp(20px, 4.41vw - 13.9px, 58px);
    bottom: clamp(20px, 4.41vw - 13.9px, 58px);
  }
}
.c-cta-flex .-R i:before {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background: url(../img/common/icon_blankW.svg) no-repeat 50% 50%/contain;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-cta-flex .-R i:after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background: url(../img/common/icon_blank.svg) no-repeat 50% 50%/contain;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.c-cta-flex .-R:hover i:before {
  opacity: 0;
}
.c-cta-flex.-FULL {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
  padding: clamp(24px, 8.93vw - 4.6px, 64px);
  padding-bottom: 100px;
  background: #fff;
  border-radius: 1.25rem;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .c-cta-flex.-FULL {
    padding: clamp(32px, 16.67vw - 96px, 64px);
  }
}
@media screen and (min-width: 960px) {
  .c-cta-flex.-FULL {
    padding: 100px 130px;
  }
}
.c-cta-flex.-FULL .-L,
.c-cta-flex.-FULL .-R {
  width: 100%;
  background: none;
  border-radius: none;
  padding: 0;
}
@media screen and (min-width: 960px) {
  .c-cta-flex.-FULL .-L,
  .c-cta-flex.-FULL .-R {
    width: 44%;
  }
}
.c-cta-flex.-FULL i {
  position: absolute;
}
.c-cta-flex.-FULL a {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border-radius: 1.25rem;
  z-index: 1;
}
.c-cta-flex.-FULL h2 span {
  display: block;
  color: #005AAA;
  font-size: clamp(15px, 0.08vw + 14.7px, 16px);
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: clamp(12px, 0.61vw + 10.1px, 20px);
}
.c-cta-flex.-FULL p {
  line-height: 1.92;
}
@media screen and (min-width: 960px) {
  .c-cta-flex.-FULL p {
    line-height: 2;
  }
}
.c-cta-flex.-FULL p .-pc {
  display: none;
}
@media screen and (min-width: 960px) {
  .c-cta-flex.-FULL p .-pc {
    display: block;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-cta-flex.-FULL:hover {
    cursor: pointer;
    border-radius: 1.25rem;
  }
  .c-cta-flex.-FULL:hover i {
    fill: #005AAA;
    background: #fff;
  }
}
.c-cta-flex.-FULL i {
  fill: #fff;
  width: 44px;
  height: auto;
  aspect-ratio: 1/1;
  line-height: 1;
  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;
  background: #005AAA;
  border-radius: 0.75rem;
  border: 1px solid #005AAA;
  position: absolute;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  right: clamp(28px, 6.7vw + 6.5px, 58px);
  bottom: clamp(28px, 6.7vw + 6.5px, 58px);
}
@media screen and (min-width: 768px) {
  .c-cta-flex.-FULL i {
    right: clamp(20px, 4.41vw - 13.9px, 58px);
    bottom: clamp(20px, 4.41vw - 13.9px, 58px);
  }
}
.c-cta-flex.-FULL i svg {
  width: 15px;
  height: auto;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-cta-flex.-FULL i {
  overflow: hidden;
  width: 44px;
  line-height: 1;
}
.c-cta-flex.-FULL i:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
  width: 44px;
  height: 44px;
  background: url(../img/common/arrowW.svg) no-repeat 50% 50%/13px;
}
.c-cta-flex.-FULL i:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
  width: 44px;
  height: 44px;
  background: url(../img/common/arrowB.svg) no-repeat 50% 50%/13px;
}
.c-cta-flex.-FULL i:after {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
.c-cta-flex.-FULL:hover i:before {
  -webkit-animation-name: transformRightLeft;
          animation-name: transformRightLeft; /* 修正: hover時のアニメーションを指定 */
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
.c-cta-flex.-FULL:hover i:after {
  -webkit-animation-name: transformLeftRight;
          animation-name: transformLeftRight; /* 修正: hover時のアニメーションを指定 */
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

/*
layout
-----------------------------------------------------*/
.c-distance {
  position: relative;
}

.c-distance + .c-distance {
  margin-top: clamp(80px, 2.44vw + 72.2px, 112px);
}

.c-distance + .c-distance.-middle {
  margin-top: clamp(80px, 7.18vw + 57px, 174px);
}

.c-distance + .c-distance.-short {
  margin-top: clamp(54px, 1.98vw + 47.7px, 80px);
}

.c-distance + .c-distance.-large {
  margin-top: clamp(82px, 12.11vw + 43.2px, 174px);
}
@media screen and (min-width: 1080px) {
  .c-distance + .c-distance.-large {
    margin-top: clamp(180px, 10.91vw + 62.2px, 240px);
  }
}

/*
gmenu
-----------------------------------------------------*/
.c-gmenu {
  display: none;
  position: relative;
  -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;
}
@media screen and (min-width: 1080px) {
  .c-gmenu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.c-gmenu-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.c-gmenu--primary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
}
@media screen and (min-width: 1080px) {
  .c-gmenu--primary {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 735px;
  }
}
@media screen and (min-width: 1080px) {
  .c-gmenu--primary.-compact {
    width: 680px;
  }
}
.c-gmenu--primary > li {
  position: relative;
  line-height: 1;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  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;
}
.c-gmenu--primary > li > a, .c-gmenu--primary > li > div {
  -webkit-transition: 0.4s;
  transition: 0.4s;
  display: block;
  line-height: 1;
  font-size: clamp(13px, 0.3vw + 10.1px, 15px);
  font-weight: 600;
}
@media (hover: hover) and (pointer: fine) {
  .c-gmenu--primary > li > a:hover, .c-gmenu--primary > li > div:hover {
    cursor: pointer;
    color: #005AAA;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-gmenu--primary > li.-service:hover {
    cursor: pointer;
    color: #005AAA;
  }
}
.c-gmenu--primary > li.-service button {
  pointer-events: none;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  padding-right: 1.1rem;
}
.c-gmenu--primary > li.-service button i {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translate(0%, -50%);
          transform: translate(0%, -50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-gmenu--primary > li.-service button i:before, .c-gmenu--primary > li.-service button i:after {
  content: "";
  display: block;
  width: 11px;
  height: 2px;
  background: #005AAA;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border-radius: 9999px;
}
.c-gmenu--primary > li.-service button i:after {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg); /* Plus sign */
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.c-gmenu--primary > li.-contact a {
  width: 180px;
  height: 70px;
  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;
  color: #fff;
  font-size: 15px;
  line-height: 1;
  background: #005AAA;
  border: 1px solid #005AAA;
  border-radius: 0.75rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .c-gmenu--primary > li.-contact a:hover {
    cursor: pointer;
    color: #005AAA;
    background: #fff;
  }
}
.c-gmenu--secondary .-nav {
  width: 84%;
  margin: 0 auto;
  padding-bottom: 4rem;
}
.c-gmenu--secondary .-nav h2 {
  font-size: clamp(15px, 0.08vw + 14.7px, 16px);
  line-height: 1;
  color: #81BAEB;
  font-weight: 600;
  margin-bottom: 6px;
}
.c-gmenu--secondary .-nav dl dt {
  font-size: clamp(15px, 0vw + 15px, 15px);
  color: #fff;
  font-weight: 600;
}
.c-gmenu--secondary .-nav dl dt a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  display: block;
  padding: 1rem 2rem 1rem 0;
}
.c-gmenu--secondary .-nav dl dt a.-arwS {
  background: url(../img/common/icon_arwS.svg) no-repeat 98% 52%/13px;
}
@media (hover: hover) and (pointer: fine) {
  .c-gmenu--secondary .-nav dl dt a:hover {
    cursor: pointer;
    color: #81BAEB;
  }
}
.c-gmenu--secondary .-nav dl .-accordion dt a {
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-gmenu--secondary .-nav dl .-accordion dt a i {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  position: absolute;
  right: 2%;
  top: 52%;
  -webkit-transform: translate(0%, -50%);
          transform: translate(0%, -50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-gmenu--secondary .-nav dl .-accordion dt a i:before, .c-gmenu--secondary .-nav dl .-accordion dt a i:after {
  content: "";
  display: block;
  width: 13px;
  height: 2px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border-radius: 9999px;
}
.c-gmenu--secondary .-nav dl .-accordion dt a i:after {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg); /* Plus sign */
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .c-gmenu--secondary .-nav dl .-accordion dt a:hover {
    cursor: pointer;
    color: #81BAEB;
  }
}
.c-gmenu--secondary .-nav dl .-accordion dt.-active a i:after {
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
          transform: translate(-50%, -50%) rotate(0deg); /* Minus sign */
}
.c-gmenu--secondary .-nav dl .-accordion div {
  display: none;
  padding: 0 0 1.4rem;
}
.c-gmenu--secondary .-nav dl > div + div {
  margin-top: 0;
}
.c-gmenu--secondary .-nav dl dt + dt,
.c-gmenu--secondary .-nav dl dt + dd {
  margin-top: 10px;
}
.c-gmenu--secondary .-nav dl dd {
  font-size: clamp(13px, 0vw + 13px, 13px);
  color: #fff;
  margin-top: 7px;
}
.c-gmenu--secondary .-nav dl dd a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .c-gmenu--secondary .-nav dl dd a:hover {
    cursor: pointer;
    color: #81BAEB;
  }
}
.c-gmenu--secondary .-nav dl > div {
  border-bottom: 1px solid #81BAEB;
}
.c-gmenu--secondary .-nav div + div {
  margin-top: 48px;
}
.c-gmenu--hamburger {
  width: 55px;
  height: auto;
  aspect-ratio: 1/1;
  background: #005AAA;
  border-radius: 50%;
  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;
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 999999;
}
@media screen and (min-width: 1080px) {
  .c-gmenu--hamburger {
    display: none;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-gmenu--hamburger {
    cursor: pointer;
  }
}
.c-gmenu--hamburger .bar01 {
  height: 3px;
  width: 26px;
  border-radius: 9999px;
  background: #fff;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.c-gmenu--hamburger .bar02 {
  height: 3px;
  width: 20px;
  border-radius: 9999px;
  background: #fff;
  position: absolute;
  top: 50%;
  margin-left: -6px;
  margin-top: -1px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.c-gmenu--hamburger .bar03 {
  height: 3px;
  width: 14px;
  border-radius: 9999px;
  background: #fff;
  position: absolute;
  top: 50%;
  margin-left: -12px;
  margin-top: 7px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.c-gmenu--hamburger.-open .bar02 {
  width: 0;
  margin-left: 0;
}
.c-gmenu--hamburger.-open .bar01 {
  margin-top: 0px;
  margin-left: 26px;
  -webkit-transform: translate(-50%, -50%) rotate(40deg);
          transform: translate(-50%, -50%) rotate(40deg);
}
.c-gmenu--hamburger.-open .bar03 {
  margin-top: 0px;
  margin-left: 26px;
  width: 26px;
  -webkit-transform: translate(-50%, -50%) rotate(-40deg);
          transform: translate(-50%, -50%) rotate(-40deg);
}
.c-gmenu--hamburger--bg {
  display: none;
  pointer-events: none;
  background: #005AAA;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.c-gmenu--hamburger--bg.-open {
  pointer-events: unset;
}
.c-gmenu--hamburger--nav {
  -webkit-transition: 0.4s;
  transition: 0.4s;
  position: fixed;
  z-index: 999;
  width: 100vw;
  top: 0;
  right: -3000px;
  height: 100%;
  padding-top: clamp(116px, 3.16vw + 105.9px, 140px);
  overflow-x: auto;
}
@media screen and (min-width: 960px) {
  .c-gmenu--hamburger--nav {
    padding-top: 125px;
  }
}
.c-gmenu.-open .c-gmenu--primary li:not(.c-gmenu-sp) {
  opacity: 0;
}
.c-gmenu.-open .c-gmenu--primary li:not(.c-gmenu-sp) a {
  pointer-events: none;
}
.c-gmenu--popup--bg {
  pointer-events: none;
  display: none;
  background: #005AAA;
  opacity: 0.5;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.c-gmenu--popup--bg.-open {
  pointer-events: unset;
}
.c-gmenu--popup--nav {
  pointer-events: none;
  opacity: 0;
  position: fixed;
  z-index: 100;
  top: 190px;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  width: 876px;
  max-width: 88%;
  background: #fff;
  border-radius: 0.75rem;
  padding: 2.3rem;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.c-gmenu--popup--nav.-scroll {
  top: 130px;
}
.c-gmenu--popup--nav.-open {
  pointer-events: unset;
  opacity: 1;
}
.c-gmenu--popup--nav .-conts + .-conts {
  margin-top: 2rem;
}
.c-gmenu--popup--nav .-conts h2 {
  font-size: 16px;
  color: #005AAA;
  font-weight: 700;
  line-height: 1;
  margin: 0 0 1rem;
}
.c-gmenu--popup--nav .-conts .-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.c-gmenu--popup--nav .-conts .-flex > div {
  width: 48%;
}
.c-gmenu--popup--nav .-conts .-flex > div dt a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  position: relative;
  border: 1px solid #C0CEDB;
  border-radius: 0.75rem;
  display: block;
  line-height: 1;
  height: 70px;
  font-size: 16px;
  font-weight: 700;
  padding: 0 2.5rem 0 1.3rem;
  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;
}
.c-gmenu--popup--nav .-conts .-flex > div dt a i {
  position: absolute;
  right: 1.3rem;
  display: block;
  width: 18px;
  height: 18px;
  border-radius: 5px;
  background: #005AAA;
  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;
}
.c-gmenu--popup--nav .-conts .-flex > div dt a i:before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: url(../img/common/icon_arrowW.svg) no-repeat 50% 50%/contain;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-gmenu--popup--nav .-conts .-flex > div dt a i:after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: url(../img/common/icon_arrow.svg) no-repeat 50% 50%/contain;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media (hover: hover) and (pointer: fine) {
  .c-gmenu--popup--nav .-conts .-flex > div dt a:hover {
    cursor: pointer;
    border: 1px solid #005AAA;
    background: #005AAA;
    color: #fff;
  }
  .c-gmenu--popup--nav .-conts .-flex > div dt a:hover i {
    background: #fff;
  }
  .c-gmenu--popup--nav .-conts .-flex > div dt a:hover i:before {
    opacity: 0;
  }
}
.c-gmenu--popup--nav .-conts .-flex > div dt + div {
  margin-top: 1rem;
}
.c-gmenu--popup--nav .-conts .-flex > div dd {
  padding-left: 1.3rem;
}
.c-gmenu--popup--nav .-conts .-flex > div dd a {
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.c-gmenu--popup--nav .-conts .-flex > div dd a span {
  font-size: 15px;
  font-weight: 600;
  position: relative;
  padding-right: 22px;
}
.c-gmenu--popup--nav .-conts .-flex > div dd a span::after {
  content: "";
  display: block;
  width: 12px;
  height: 9px;
  background: url(../img/common/icon_down.svg) no-repeat 100% 50%/12px;
  position: absolute;
  right: 0;
  top: 32%;
  -webkit-transform: translate(0%, -50%);
          transform: translate(0%, -50%);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
@media (hover: hover) and (pointer: fine) {
  .c-gmenu--popup--nav .-conts .-flex > div dd a:hover {
    cursor: pointer;
    color: #005AAA;
  }
}
.c-gmenu--popup--nav .-conts .-flex > div dd + dd {
  margin-top: 8px;
}
.c-gmenu--popup--nav .-close {
  position: absolute;
  top: 1.2rem;
  right: 2.3rem;
  font-size: 15px;
  font-weight: 500;
  border-bottom: 1px solid #333;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .c-gmenu--popup--nav .-close:hover {
    cursor: pointer;
    border-bottom: none;
  }
}

/*
distance
-----------------------------------------------------*/
/*
list
-----------------------------------------------------*/
.c-list-dl {
  counter-reset: number 0;
}
.c-list-dl div + div {
  margin-top: 2.6rem;
}
.c-list-dl dt {
  font-size: clamp(20px, 0.15vw + 19.6px, 22px);
  counter-increment: number;
  font-weight: 600;
}
.c-list-dl dd {
  margin-top: 1rem;
  line-height: 2;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.c-list-dl.-counter dt::before {
  content: counter(number) ".";
  padding-right: 0.6rem;
}
.c-list-dl.-counter dd {
  padding-left: 1.6rem;
}
.c-list-dl_table > div {
  padding: 0;
  padding-bottom: clamp(18px, 1.07vw + 14.6px, 32px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem 1rem;
}
.c-list-dl_table > div + div {
  padding-top: clamp(18px, 1.07vw + 14.6px, 32px);
}
.c-list-dl_table > div > dt {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-list-dl_table > div > dt {
    width: 20%;
  }
}
.c-list-dl_table > div > dd {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-list-dl_table > div > dd {
    width: calc(100% - (20% + 1rem));
  }
}
.c-list-dl_table > div > dd span {
  font-size: clamp(12px, 0.15vw + 11.6px, 14px);
  display: block;
}
.c-list-dl_table + * {
  margin-top: 1.5rem;
}
.c-list-dl_contact div {
  padding: 1rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 1080px) {
  .c-list-dl_contact div {
    padding: 2rem 0;
  }
}
.c-list-dl_contact dt {
  width: 100%;
  padding-bottom: 0.6rem;
}
@media screen and (min-width: 1080px) {
  .c-list-dl_contact dt {
    width: 23%;
    padding-bottom: 0;
  }
}
.c-list-dl_contact dd {
  width: 100%;
}
@media screen and (min-width: 1080px) {
  .c-list-dl_contact dd {
    width: 70.67%;
  }
}
.c-list-dl_contact dd span {
  font-size: clamp(12px, 0.15vw + 11.6px, 14px);
}
.c-list-dot {
  padding-left: 2em;
}
.c-list-dot li {
  line-height: 1.6;
  position: relative;
  list-style-type: disc;
}
.c-list-dot li + li {
  margin-top: 0.5rem;
}
.c-list-dot2 li {
  line-height: 1.6;
  position: relative;
  list-style-type: none;
  padding-left: 2.4rem;
}
.c-list-dot2 li::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #005AAA;
  position: absolute;
  left: 6px;
  top: 0.6rem;
}
.c-list-dot2 li + li {
  margin-top: 0.6rem;
}
.c-list-num {
  padding-left: 2em;
}
.c-list-num li {
  line-height: 1.6;
  position: relative;
  list-style-type: decimal;
}
.c-list-num li + li {
  margin-top: 0.5rem;
}

p + .c-list-dot,
.c-list-dot + p,
p + .c-list-num,
.c-list-num + p {
  margin-top: 0.5rem;
}

/*
menu
-----------------------------------------------------*/
/*
post
-----------------------------------------------------*/
/*
table
-----------------------------------------------------*/
/*
text
-----------------------------------------------------*/
.pc_br {
  display: none;
}
@media screen and (min-width: 1080px) {
  .pc_br {
    display: block;
  }
}

/*
title
-----------------------------------------------------*/
.c-title-pageTitle h1 {
  font-size: clamp(40px, 0.61vw + 38.1px, 48px);
  line-height: 1;
  font-family: "Lexend Deca";
  color: #005AAA;
  margin-bottom: clamp(60px, 6.72vw + 38.5px, 148px);
}
.c-title-pageTitle h1 span {
  display: block;
  font-size: clamp(15px, 0.23vw + 14.3px, 18px);
  line-height: 1;
  font-family: "Noto Sans JP";
  position: relative;
  font-weight: 700;
  margin: 0 0 0.8rem 0;
}
@media screen and (min-width: 1080px) {
  .c-title-pageTitle h1 span {
    margin: 0 0 1.5rem 0;
  }
}
.c-title-pageTitle h1.-privacy img {
  display: block;
  aspect-ratio: 705/78;
  max-width: 705px;
  width: 58%;
}
.c-title-pageTitle h1.-small {
  margin-bottom: clamp(50px, 0vw + 50px, 50px);
}
.c-title-h2 {
  text-box: trim-both text;
  margin-bottom: 1.5rem;
  font-size: clamp(20px, 0.31vw + 18.9px, 24px);
  font-weight: 700;
}
.c-title-h3 {
  text-box: trim-both text;
  font-size: clamp(18px, 0.92vw + 15px, 30px);
  color: #005AAA;
  font-weight: 700;
  margin-bottom: clamp(16px, 0.61vw + 14.1px, 24px);
}
.c-title-h4 {
  text-box: trim-both text;
  font-size: clamp(16px, 0vw + 16px, 16px);
  margin-bottom: clamp(24px, 0vw + 24px, 24px);
}

p + .c-title-h3 {
  margin-top: clamp(54px, 0.76vw + 51.6px, 64px);
}

p + .c-title-h4 {
  margin-top: clamp(42px, 0vw + 42px, 42px);
}

/* アニメーション用のスタイル */
.animated-path {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition: none;
  transition: none;
}

#animated-svg-container {
  width: 80%;
  max-width: 706px;
}

@media screen and (max-width: 960px) {
  #animated-svg-container {
    width: 100%;
    max-width: 315px;
  }
}
.st0 {
  fill: #005aaa;
}

/*
  3.2 - Project
-----------------------------------------------------*/
/*
p-pagenav
-----------------------------------------------------*/
.pagenate-wrap {
  margin-top: clamp(64px, 1.22vw + 60.1px, 80px);
}
.pagenate-wrap .pagenate-list .wp-pagenavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.4rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  position: relative;
  font-family: "Lexend Deca";
  font-weight: 700;
  font-size: 14px;
  color: #005AAA;
}
.pagenate-wrap .pagenate-list .wp-pagenavi a,
.pagenate-wrap .pagenate-list .wp-pagenavi span {
  border: none !important;
}
.pagenate-wrap .pagenate-list .wp-pagenavi span.current,
.pagenate-wrap .pagenate-list .wp-pagenavi span.extend {
  border: none !important;
  padding: 0;
  margin: 0;
  line-height: 1;
  width: clamp(2.1875rem, 0.76vw + 2.0375rem, 2.8125rem);
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #fff;
  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;
}
.pagenate-wrap .pagenate-list .wp-pagenavi span.current {
  color: #fff;
  background: #005AAA;
}
.pagenate-wrap .pagenate-list .wp-pagenavi a.page {
  border: none !important;
  padding: 0;
  margin: 0;
  line-height: 1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: clamp(2.1875rem, 0.76vw + 2.0375rem, 2.8125rem);
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #fff;
  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;
}
@media (hover: hover) and (pointer: fine) {
  .pagenate-wrap .pagenate-list .wp-pagenavi a.page:hover {
    color: #fff;
    background: #005AAA;
  }
}
.pagenate-wrap .pagenate-list .wp-pagenavi .previouspostslink {
  display: block;
  position: relative;
  font-size: clamp(0.9375rem, 0vw + 0.9375rem, 0.9375rem);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.pagenate-wrap .pagenate-list .wp-pagenavi .previouspostslink span {
  position: relative;
  padding-left: 0px;
  width: 40px;
  height: 45px;
  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;
}
.pagenate-wrap .pagenate-list .wp-pagenavi .previouspostslink span span {
  display: none;
  padding: 0;
}
@media screen and (min-width: 1080px) {
  .pagenate-wrap .pagenate-list .wp-pagenavi .previouspostslink span {
    padding-left: 60px;
    width: auto;
  }
  .pagenate-wrap .pagenate-list .wp-pagenavi .previouspostslink span span {
    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;
    padding: 0;
  }
}
.pagenate-wrap .pagenate-list .wp-pagenavi .previouspostslink i {
  fill: #fff;
  width: 40px;
  margin-top: -8px;
  height: auto;
  aspect-ratio: 1/1;
  line-height: 1;
  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;
  background: #005AAA;
  border: 1px solid #005AAA;
  border-radius: 0.75rem;
  position: absolute;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (min-width: 1080px) {
  .pagenate-wrap .pagenate-list .wp-pagenavi .previouspostslink i {
    width: 44px;
    margin-top: 0;
  }
}
@media screen and (min-width: 1080px) {
  .pagenate-wrap .pagenate-list .wp-pagenavi .previouspostslink i {
    top: 50%;
    -webkit-transform: translate(0%, -50%);
            transform: translate(0%, -50%);
    left: 0;
  }
}
.pagenate-wrap .pagenate-list .wp-pagenavi .previouspostslink i svg {
  width: 15px;
  height: auto;
}
.pagenate-wrap .pagenate-list .wp-pagenavi .previouspostslink i {
  overflow: hidden;
  width: 40px;
  line-height: 1;
}
@media screen and (min-width: 1080px) {
  .pagenate-wrap .pagenate-list .wp-pagenavi .previouspostslink i {
    width: 44px;
  }
}
.pagenate-wrap .pagenate-list .wp-pagenavi .previouspostslink i:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
  width: 40px;
  height: 40px;
  background: url(../img/common/arrowW_R.svg) no-repeat 50% 50%/13px;
}
@media screen and (min-width: 1080px) {
  .pagenate-wrap .pagenate-list .wp-pagenavi .previouspostslink i:before {
    width: 44px;
    height: 44px;
  }
}
.pagenate-wrap .pagenate-list .wp-pagenavi .previouspostslink i:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
  width: 40px;
  height: 40px;
  background: url(../img/common/arrowB_R.svg) no-repeat 50% 50%/13px;
}
@media screen and (min-width: 1080px) {
  .pagenate-wrap .pagenate-list .wp-pagenavi .previouspostslink i:after {
    width: 44px;
    height: 44px;
  }
}
.pagenate-wrap .pagenate-list .wp-pagenavi .previouspostslink i:after {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}
@media (hover: hover) and (pointer: fine) {
  .pagenate-wrap .pagenate-list .wp-pagenavi .previouspostslink:hover {
    cursor: pointer;
  }
  .pagenate-wrap .pagenate-list .wp-pagenavi .previouspostslink:hover i {
    fill: #005AAA;
    background: #fff;
  }
  .pagenate-wrap .pagenate-list .wp-pagenavi .previouspostslink:hover i:before {
    -webkit-animation-name: transformRightLeftR;
            animation-name: transformRightLeftR; /* 修正: hover時のアニメーションを指定 */
    -webkit-animation-delay: 0s;
            animation-delay: 0s;
  }
  .pagenate-wrap .pagenate-list .wp-pagenavi .previouspostslink:hover i:after {
    -webkit-animation-name: transformLeftRightR;
            animation-name: transformLeftRightR; /* 修正: hover時のアニメーションを指定 */
    -webkit-animation-delay: 0.2s;
            animation-delay: 0.2s;
  }
  @-webkit-keyframes transformLeftRightR {
    0% {
      -webkit-transform: translateX(100%);
              transform: translateX(100%);
    }
    100% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
  }
  @keyframes transformLeftRightR {
    0% {
      -webkit-transform: translateX(100%);
              transform: translateX(100%);
    }
    100% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
  }
  @-webkit-keyframes transformRightLeftR {
    0% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
    100% {
      -webkit-transform: translateX(-100%);
              transform: translateX(-100%);
    }
  }
  @keyframes transformRightLeftR {
    0% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
    100% {
      -webkit-transform: translateX(-100%);
              transform: translateX(-100%);
    }
  }
}
.pagenate-wrap .pagenate-list .wp-pagenavi .nextpostslink {
  display: block;
  position: relative;
  font-size: clamp(1rem, 0vw + 1rem, 1rem);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.pagenate-wrap .pagenate-list .wp-pagenavi .nextpostslink span {
  position: relative;
  padding-right: 0px;
  width: 40px;
  height: clamp(2.5rem, 0.38vw + 2.425rem, 2.8125rem);
  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;
}
.pagenate-wrap .pagenate-list .wp-pagenavi .nextpostslink span span {
  display: none;
  padding: 0;
}
@media screen and (min-width: 1080px) {
  .pagenate-wrap .pagenate-list .wp-pagenavi .nextpostslink span {
    padding-right: 60px;
    width: auto;
  }
  .pagenate-wrap .pagenate-list .wp-pagenavi .nextpostslink span span {
    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;
    padding: 0;
  }
}
.pagenate-wrap .pagenate-list .wp-pagenavi .nextpostslink i {
  fill: #fff;
  width: 40px;
  margin-top: -8px;
  height: auto;
  aspect-ratio: 1/1;
  line-height: 1;
  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;
  background: #005AAA;
  border: 1px solid #005AAA;
  border-radius: 0.75rem;
  position: absolute;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (min-width: 1080px) {
  .pagenate-wrap .pagenate-list .wp-pagenavi .nextpostslink i {
    width: 44px;
    margin-top: 0;
  }
}
@media screen and (min-width: 1080px) {
  .pagenate-wrap .pagenate-list .wp-pagenavi .nextpostslink i {
    top: 50%;
    -webkit-transform: translate(0%, -50%);
            transform: translate(0%, -50%);
    right: 0;
  }
}
.pagenate-wrap .pagenate-list .wp-pagenavi .nextpostslink i svg {
  width: 15px;
  height: auto;
}
.pagenate-wrap .pagenate-list .wp-pagenavi .nextpostslink i {
  overflow: hidden;
  width: 40px;
  line-height: 1;
}
@media screen and (min-width: 1080px) {
  .pagenate-wrap .pagenate-list .wp-pagenavi .nextpostslink i {
    width: 44px;
  }
}
.pagenate-wrap .pagenate-list .wp-pagenavi .nextpostslink i:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
  width: 40px;
  height: 40px;
  background: url(../img/common/arrowW.svg) no-repeat 50% 50%/13px;
}
@media screen and (min-width: 1080px) {
  .pagenate-wrap .pagenate-list .wp-pagenavi .nextpostslink i:before {
    width: 44px;
    height: 44px;
  }
}
.pagenate-wrap .pagenate-list .wp-pagenavi .nextpostslink i:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
  width: 40px;
  height: 40px;
  background: url(../img/common/arrowB.svg) no-repeat 50% 50%/13px;
}
@media screen and (min-width: 1080px) {
  .pagenate-wrap .pagenate-list .wp-pagenavi .nextpostslink i:after {
    width: 44px;
    height: 44px;
  }
}
.pagenate-wrap .pagenate-list .wp-pagenavi .nextpostslink i:after {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
@media (hover: hover) and (pointer: fine) {
  .pagenate-wrap .pagenate-list .wp-pagenavi .nextpostslink:hover {
    cursor: pointer;
  }
  .pagenate-wrap .pagenate-list .wp-pagenavi .nextpostslink:hover i {
    fill: #005AAA;
    background: #fff;
  }
  .pagenate-wrap .pagenate-list .wp-pagenavi .nextpostslink:hover i:before {
    -webkit-animation-name: transformRightLeft;
            animation-name: transformRightLeft; /* 修正: hover時のアニメーションを指定 */
    -webkit-animation-delay: 0s;
            animation-delay: 0s;
  }
  .pagenate-wrap .pagenate-list .wp-pagenavi .nextpostslink:hover i:after {
    -webkit-animation-name: transformLeftRight;
            animation-name: transformLeftRight; /* 修正: hover時のアニメーションを指定 */
    -webkit-animation-delay: 0.2s;
            animation-delay: 0.2s;
  }
  @-webkit-keyframes transformLeftRight {
    0% {
      -webkit-transform: translateX(-100%);
              transform: translateX(-100%);
    }
    100% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
  }
  @keyframes transformLeftRight {
    0% {
      -webkit-transform: translateX(-100%);
              transform: translateX(-100%);
    }
    100% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
  }
  @-webkit-keyframes transformRightLeft {
    0% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
    100% {
      -webkit-transform: translateX(100%);
              transform: translateX(100%);
    }
  }
  @keyframes transformRightLeft {
    0% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
    }
    100% {
      -webkit-transform: translateX(100%);
              transform: translateX(100%);
    }
  }
}
.pagenate-wrap .pagenate-list .wp-pagenavi .previouspostslink {
  position: absolute;
  left: 0;
  top: 0;
}
.pagenate-wrap .pagenate-list .wp-pagenavi .nextpostslink {
  position: absolute;
  right: 0;
  top: 0;
}

/*
  3.3 - Utility
-----------------------------------------------------*/
/*# sourceMappingURL=common.css.map */