@charset "UTF-8";
/*----------------------------------------------------------------------------------------------------------
writing-mode mixin
    Usage:
        $orientation    v (vertical)
                        h (horizontal)
		$direction      rl (right to left)
						lr (left to right)
----------------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------------------------------------
writing-mode mixin
    Usage:
        $orientation    v (vertical)
                        h (horizontal)
		$direction      rl (right to left)
						lr (left to right)
----------------------------------------------------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

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

a img {
  border: none;
}

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

@media only screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}

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

html {
  font-size: 62.5%;
  font-family: "Zen Kaku Gothic New", sans-serif;
}

* {
  font-size: 14px;
  font-size: 1.4rem;
  box-sizing: border-box;
}

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

a {
  color: inherit;
  text-decoration: none;
}

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

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

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

#__bs_notify__ {
  display: none !important;
}

.inner {
  max-width: 1240px;
  padding: 0 40px;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .inner {
    padding: 0 18px;
  }
}

[data-trigger] {
  position: relative;
  transform: translate(0, 20px);
  opacity: 0;
  transition: opacity 0.6s, transform 0.6s;
}
[data-trigger].visible {
  transform: translate(0, 0px);
  opacity: 1;
}
[data-trigger].delay01 {
  transition-delay: 0.2s;
}
[data-trigger].delay02 {
  transition-delay: 0.4s;
}
[data-trigger].delay03 {
  transition-delay: 0.6s;
}
[data-trigger].delay04 {
  transition-delay: 0.8s;
}

main {
  padding-top: 80px;
}
@media only screen and (max-width: 767px) {
  main {
    padding-top: 60px;
  }
}

.footer {
  background: #fff;
  padding: 60px 43px 24px;
  border-top: 1px solid #E0E0E0;
}
@media only screen and (max-width: 767px) {
  .footer {
    padding: 64px 18px 40px;
  }
}
.footer__top {
  padding-bottom: 50px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 40px;
}
@media only screen and (max-width: 767px) {
  .footer__top {
    padding-bottom: 40px;
    flex-direction: column;
    gap: 0;
  }
}
.footer__left {
  width: 455px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .footer__left {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .footer__left .info {
    margin-top: 32px;
  }
}
.footer__left .info address {
  margin-bottom: 32px;
}
@media only screen and (max-width: 767px) {
  .footer__left .info address {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.75;
  }
}
.footer__left .info address strong {
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: 0.02em;
  line-height: 1.6;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  .footer__left .info address strong {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 2.1;
  }
}
.footer__left .info .btn-col {
  display: flex;
  gap: 24px;
}
@media only screen and (max-width: 767px) {
  .footer__left .info .btn-col {
    gap: 12px;
  }
}
.footer__left .info .btn-col .c-btn {
  width: calc((100% - 24px) / 2);
}
@media only screen and (max-width: 767px) {
  .footer__left .info .btn-col .c-btn {
    width: calc((100% - 12px) / 2);
    height: 38px;
    font-size: 14px;
    font-size: 1.4rem;
  }
}
.footer__logo {
  display: block;
  width: 319px;
}
@media only screen and (max-width: 767px) {
  .footer__logo {
    width: 220px;
  }
}
.footer__logo img {
  width: 100%;
}
.footer__right {
  width: 615px;
  display: flex;
  justify-content: flex-end;
  gap: 64px;
}
@media only screen and (max-width: 767px) {
  .footer__right {
    width: 100%;
    flex-direction: column;
    gap: 0;
  }
}
.footer__right .recruit-banner {
  width: 240px;
  display: block;
  background: linear-gradient(110deg, #185B99 39%, #938AFF 100%);
}
@media only screen and (max-width: 767px) {
  .footer__right .recruit-banner {
    width: 100%;
    display: flex;
    margin-top: 40px;
  }
}
.footer__right .recruit-banner .image {
  aspect-ratio: 240/133;
}
@media only screen and (max-width: 767px) {
  .footer__right .recruit-banner .image {
    width: 39.82300885%;
    aspect-ratio: 135/151;
  }
}
.footer__right .recruit-banner .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.footer__right .recruit-banner .text {
  padding: 12px 14px 20px;
}
@media only screen and (max-width: 767px) {
  .footer__right .recruit-banner .text {
    width: 60.17699115%;
    padding: 16px;
  }
}
.footer__right .recruit-banner .text strong {
  color: #fff;
  display: block;
  font-size: 24px;
  font-size: 2.4rem;
  letter-spacing: 0.03em;
  line-height: 1.3;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
  margin-bottom: 7px;
}
@media only screen and (max-width: 767px) {
  .footer__right .recruit-banner .text strong {
    font-size: 22px;
    font-size: 2.2rem;
    margin-bottom: 4px;
  }
}
.footer__right .recruit-banner .text .c-text01 {
  color: #fff;
  margin-bottom: 16px;
}
@media only screen and (max-width: 767px) {
  .footer__right .recruit-banner .text .c-text01 {
    font-size: 12px;
    font-size: 1.2rem;
    letter-spacing: -0.01em;
    line-height: 1.75;
    margin-bottom: 12px;
  }
}
.footer__right .recruit-banner .text .c-more-btn {
  width: 100%;
  font-size: 16px;
  font-size: 1.6rem;
  padding: 8px 80px 9px 44px;
}
@media only screen and (max-width: 767px) {
  .footer__right .recruit-banner .text .c-more-btn {
    font-size: 13px;
    font-size: 1.3rem;
    padding: 7px 65px 7px 35px;
  }
}
.footer__right .recruit-banner .text .c-more-btn svg {
  width: 36px;
  height: 36px;
}
@media only screen and (max-width: 767px) {
  .footer__right .recruit-banner .text .c-more-btn svg {
    width: 30px;
    height: 30px;
  }
}
.footer__menu {
  width: 311px;
  display: flex;
  justify-content: space-between;
  padding-top: 24px;
  border-top: 1px solid #E0E0E0;
}
@media only screen and (max-width: 767px) {
  .footer__menu {
    width: 100%;
    padding-top: 32px;
    border: none;
    display: block;
  }
}
.footer__menu > ul {
  min-width: 89px;
}
@media only screen and (max-width: 767px) {
  .footer__menu > ul:last-of-type > li:last-of-type {
    border-bottom: 1px solid #E0E0E0;
  }
}
.footer__menu > ul > li {
  font-size: 17px;
  font-size: 1.7rem;
  letter-spacing: 0.05em;
  line-height: 1.47058824;
  font-weight: 500;
  margin-bottom: 24px;
}
@media only screen and (max-width: 767px) {
  .footer__menu > ul > li {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: -0.01em;
    line-height: 1.5;
    margin: 0;
    border-top: 1px solid #E0E0E0;
  }
}
.footer__menu > ul > li:last-of-type {
  margin-bottom: 0;
}
.footer__menu > ul > li > a {
  transition: color 0.3s;
}
@media only screen and (max-width: 767px) {
  .footer__menu > ul > li > a {
    display: block;
    padding: 16px 0;
    padding-left: 6px;
  }
}
.footer__menu > ul > li > a:hover {
  color: #185B99;
}
@media only screen and (max-width: 767px) {
  .footer__menu > ul > li > span.c-trigger {
    display: block;
    padding-top: 16px;
    padding-bottom: 16px;
    padding-left: 6px;
    position: relative;
  }
  .footer__menu > ul > li > span.c-trigger.active:after {
    transform: translate(0%, -50%) rotate(180deg);
  }
  .footer__menu > ul > li > span.c-trigger:after {
    content: "";
    width: 14px;
    height: 8px;
    display: inline-block;
    background: url(../img/common/arrow.svg) center center/cover no-repeat;
    position: absolute;
    top: 50%;
    right: 6px;
    transform: translate(0%, -50%);
    transition: transform 0.3s;
  }
}
.footer__menu > ul > li ul {
  margin-top: 16px;
}
@media only screen and (max-width: 767px) {
  .footer__menu > ul > li ul {
    margin-top: 0;
    margin-bottom: 16px;
    margin-left: 6px;
  }
}
.footer__menu > ul > li ul li {
  padding-left: 14px;
  position: relative;
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 1.21428571;
  font-weight: 500;
  margin-bottom: 16px;
}
@media only screen and (max-width: 767px) {
  .footer__menu > ul > li ul li {
    border: none;
  }
}
.footer__menu > ul > li ul li a {
  transition: color 0.3s;
}
@media only screen and (max-width: 767px) {
  .footer__menu > ul > li ul li a {
    padding: 0;
  }
}
.footer__menu > ul > li ul li a:hover {
  color: #185B99;
}
.footer__menu > ul > li ul li:last-of-type {
  margin-bottom: 0;
}
.footer__menu > ul > li ul li:before {
  content: "";
  width: 8px;
  height: 1px;
  display: inline-block;
  background: #185B99;
  position: absolute;
  top: 8px;
  left: 0;
}
.footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 24px;
}
@media only screen and (max-width: 767px) {
  .footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    padding: 0;
  }
}
@media only screen and (max-width: 767px) {
  .footer__bottom .info {
    order: 2;
  }
}
.footer__bottom .info ul {
  margin-bottom: 19px;
}
@media only screen and (max-width: 767px) {
  .footer__bottom .info ul {
    margin-bottom: 12px;
  }
}
.footer__bottom .info ul li {
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 1.42857143;
  font-weight: 500;
  margin-bottom: 0.8em;
}
@media only screen and (max-width: 767px) {
  .footer__bottom .info ul li {
    font-size: 13px;
    font-size: 1.3rem;
    letter-spacing: 0.03em;
    line-height: 1.6;
    margin-right: 20px;
  }
}
.footer__bottom .info p {
  font-size: 12px;
  font-size: 1.2rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
  font-weight: 500;
}
.footer__bottom .certification {
  width: 200px;
}
@media only screen and (max-width: 767px) {
  .footer__bottom .certification {
    margin-bottom: 24px;
  }
}

.header {
  width: 100%;
  height: 80px;
  position: fixed;
  top: 0;
  left: 0;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  z-index: 999;
  transition: background-color 0.3s, color 0.3s, transform 0.3s, opacity 0.3s;
}
@media only screen and (max-width: 767px) {
  .header {
    height: 60px;
    padding: 0 8px 0 18px;
  }
  .header.is-active:before {
    opacity: 1;
  }
  .header:before {
    content: "";
    width: 100%;
    height: 60px;
    background: #fff;
    border-bottom: 1px solid #E0E0E0;
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity 0.3s;
    z-index: 1;
    opacity: 0;
  }
}
.header.is-active {
  transform: translate(0, 0px) !important;
}
.header.downMove {
  transform: translate(0, 0);
}
.header.upMove {
  transform: translate(0, -80px);
}
@media only screen and (max-width: 767px) {
  .header.upMove {
    transform: translate(0, -60px);
  }
}
.header__logo {
  display: block;
  width: 190px;
}
@media only screen and (max-width: 767px) {
  .header__logo {
    width: 130px;
    position: relative;
    z-index: 2;
  }
}
.header .gnav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
@media only screen and (max-width: 767px) {
  .header .gnav {
    width: 100%;
    height: 100vh;
    overflow-y: scroll;
    position: fixed;
    top: 0;
    left: 0;
    visibility: hidden;
    opacity: 0;
    pointer-events: none; /* 閉じているときは背面へクリックが通るようにする */
    transition: visibility 0.3s, opacity 0.3s;
    padding: 100px 18px 64px;
    background: #fff;
    flex-direction: column;
    justify-content: flex-start; /* flex-endが引き継がれると上部がスクロール領域外にはみ出すため上揃えに上書き */
    align-items: stretch; /* 必要に応じて中央揃え(center)や左揃え(flex-start)に変更してください */
  }
  .header .gnav.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}
.header .gnav__list {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-right: 16px;
}
@media only screen and (max-width: 767px) {
  .header .gnav__list {
    order: 2;
    display: block;
    margin-right: 0;
    margin-top: 30px;
  }
}
.header .gnav__list > li {
  margin-left: 24px;
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 1.42857143;
  font-weight: 500;
  padding-bottom: 30px;
  margin-top: 30px;
}
@media only screen and (max-width: 767px) {
  .header .gnav__list > li {
    padding: 0;
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: 0.01em;
    line-height: 1.6;
    margin: 0;
    border-bottom: 1px solid #E0E0E0;
    font-family: "Zen Kaku Gothic New", sans-serif;
  }
}
@media only screen and (max-width: 767px) {
  .header .gnav__list > li:first-of-type {
    border-top: 1px solid #E0E0E0;
  }
}
@media only screen and (max-width: 767px) {
  .header .gnav__list > li.trigger {
    display: flex;
    justify-content: space-between;
  }
}
.header .gnav__list > li.trigger:hover > span {
  color: #185B99;
}
.header .gnav__list > li.trigger:hover > span svg path {
  fill: #185B99;
}
.header .gnav__list > li.trigger:hover .hover {
  opacity: 1;
  visibility: visible;
}
.header .gnav__list > li > span {
  transition: color 0.3s;
  display: inline-block;
}
@media only screen and (max-width: 767px) {
  .header .gnav__list > li > span {
    padding: 16px 6px;
    position: relative;
    display: block;
  }
}
.header .gnav__list > li > span svg {
  display: inline-block;
  position: relative;
  top: -1px;
  margin-left: 3px;
}
.header .gnav__list > li > span svg path {
  transition: fill 0.3s;
}
.header .gnav__list > li > a {
  transition: color 0.3s;
}
@media only screen and (max-width: 767px) {
  .header .gnav__list > li > a {
    padding: 20px 6px;
    position: relative;
    display: block;
  }
  .header .gnav__list > li > a:after {
    content: "";
    width: 8px;
    height: 13px;
    display: inline-block;
    background: url(../img/common/arrow_right.svg) center center/cover no-repeat;
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translate(0%, -50%);
  }
}
.header .gnav__list > li > a:hover {
  color: #185B99;
}
.header .gnav__list > li > a:hover svg path {
  fill: #185B99;
}
.header .gnav__list > li > a svg {
  display: inline-block;
  position: relative;
  top: -1px;
  margin-left: 3px;
}
.header .gnav__list > li > a svg path {
  transition: fill 0.3s;
}
.header .gnav__list > li .hover {
  width: 100%;
  background: #fff;
  padding: 24px;
  position: absolute;
  top: 80px;
  left: 0;
  border-top: 1px solid #E0E0E0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s, visibility 0.3s;
  opacity: 0;
  visibility: hidden;
}
@media only screen and (max-width: 767px) {
  .header .gnav__list > li .hover {
    width: auto;
    padding: 16px 0;
    border-top: none;
    display: block;
    opacity: 1;
    visibility: visible;
    position: static;
    padding-right: 24px;
  }
}
.header .gnav__list > li .hover__title {
  display: flex;
  align-items: center;
  margin-right: 64px;
}
.header .gnav__list > li .hover__title .en {
  font-size: 32px;
  font-size: 3.2rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
  margin-right: 12px;
}
.header .gnav__list > li .hover__title .jp {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 500;
  position: relative;
  top: 3px;
}
.header .gnav__list > li .hover__list {
  display: flex;
  gap: 50px;
}
@media only screen and (max-width: 767px) {
  .header .gnav__list > li .hover__list {
    flex-direction: column;
    gap: 16px;
  }
}
.header .gnav__list > li .hover__list li {
  width: 180px;
  position: relative;
}
.header .gnav__list > li .hover__list li:hover:before {
  opacity: 1;
}
.header .gnav__list > li .hover__list li:hover:after {
  opacity: 0;
}
@media only screen and (max-width: 767px) {
  .header .gnav__list > li .hover__list li {
    width: auto;
    padding-left: 14px;
  }
}
.header .gnav__list > li .hover__list li:before {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background: linear-gradient(to right, #185B99 59%, #938AFF 100%);
  position: absolute;
  left: 0;
  bottom: 0;
  transition: opacity 0.3s;
  opacity: 0;
}
@media only screen and (max-width: 767px) {
  .header .gnav__list > li .hover__list li:before {
    content: none;
  }
}
.header .gnav__list > li .hover__list li:after {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background: #E0E0E0;
  position: absolute;
  left: 0;
  bottom: 0;
  transition: opacity 0.3s;
}
@media only screen and (max-width: 767px) {
  .header .gnav__list > li .hover__list li:after {
    width: 8px;
    background: #185B99;
    bottom: auto;
    top: 50%;
    transform: translate(0, -50%);
  }
}
.header .gnav__list > li .hover__list li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 10px;
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 1.21428571;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  .header .gnav__list > li .hover__list li a {
    padding: 0;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.2;
  }
}
.header .gnav__list > li .hover__list li a svg {
  display: block;
  width: 24px;
  height: auto;
}
.header .gnav .btn-col {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
@media only screen and (max-width: 767px) {
  .header .gnav .btn-col {
    order: 1;
    flex-direction: column;
  }
}
.header .gnav .btn-col .c-btn {
  width: 140px;
  height: 32px;
  font-size: 13px;
  font-size: 1.3rem;
  margin-left: 12px;
  font-family: "Noto Sans JP", sans-serif;
}
@media only screen and (max-width: 767px) {
  .header .gnav .btn-col .c-btn {
    width: 100%;
    font-size: 15px;
    font-size: 1.5rem;
    height: 48px;
    margin-left: 0;
    margin-bottom: 16px;
    font-family: "Zen Kaku Gothic New", sans-serif;
  }
}
@media only screen and (max-width: 767px) {
  .header .gnav .btn-col .c-btn:last-of-type {
    margin-bottom: 0;
  }
}
.header .gnav__bottom {
  margin-top: 24px;
  order: 3;
}
.header .gnav__bottom a {
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: -0.01em;
  line-height: 1.75;
  font-weight: 500;
  display: block;
  width: max-content;
  margin-bottom: 0.6em;
}
.header .gnav__bottom p {
  font-size: 12px;
  font-size: 1.2rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
  font-weight: 500;
  margin-top: 6px;
}
.header .contact-btn {
  width: 100px;
  height: 32px;
  font-size: 13px;
  font-size: 1.3rem;
  letter-spacing: 0.05em;
  font-family: "Noto Sans JP", sans-serif;
  position: absolute;
  top: 14px;
  right: 57px;
  z-index: 1;
}
.header .hamburger {
  width: 43px;
  height: 35px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s;
  position: relative;
  z-index: 1;
}
.header .hamburger.is-active .hamburger__inner span:nth-of-type(1) {
  transform: rotate(135deg);
  top: 7px;
}
.header .hamburger.is-active .hamburger__inner span:nth-of-type(2) {
  opacity: 0;
}
.header .hamburger.is-active .hamburger__inner span:nth-of-type(3) {
  transform: rotate(-135deg);
  bottom: 7px;
}
.header .hamburger__inner {
  width: 23px;
  height: 15px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.header .hamburger__inner span {
  width: 23px;
  height: 1px;
  display: block;
  background: #000;
  transition: opacity 0.3s, transform 0.3s, top 0.3s, bottom 0.3s, background-color 0.3s;
}
.header .hamburger__inner span:nth-of-type(1) {
  position: absolute;
  top: 0;
  left: 0;
}
.header .hamburger__inner span:nth-of-type(3) {
  position: absolute;
  bottom: 0;
  left: 0;
}

.c-title01 {
  font-size: 96px;
  font-size: 9.6rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
  font-weight: 500;
}

.c-title02 {
  font-size: 46px;
  font-size: 4.6rem;
  line-height: 1.6;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  .c-title02 {
    font-size: 26px;
    font-size: 2.6rem;
  }
}

.c-title03 {
  font-size: 36px;
  font-size: 3.6rem;
  line-height: 1.6;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  .c-title03 {
    font-size: 22px;
    font-size: 2.2rem;
  }
}

.c-title04 {
  font-size: 24px;
  font-size: 2.4rem;
  letter-spacing: 0.01em;
  line-height: 1.6;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  .c-title04 {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

.c-title05 {
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: 0.02em;
  line-height: 1.6;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  .c-title05 {
    font-size: 15px;
    font-size: 1.5rem;
    letter-spacing: 0.01em;
  }
}

.c-text01 {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  line-height: 1.75;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  .c-text01 {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: -0.01em;
  }
}

.c-annotation {
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  .c-annotation {
    font-size: 12px;
    font-size: 1.2rem;
    letter-spacing: -0.01em;
    line-height: 1.75;
  }
}

.c-color-text {
  background: linear-gradient(to right, #185B99 59%, #938AFF 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  padding-bottom: 0.1em; /* yなどのディセンダーが見切れるのを防ぐ */
}

.c-coming-soon {
  text-align: center;
  font-size: 60px;
  font-size: 6rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
  color: #BCBCBC;
}
@media only screen and (max-width: 767px) {
  .c-coming-soon {
    font-size: 32px;
    font-size: 3.2rem;
  }
}

.c-title {
  display: flex;
  align-items: flex-end;
}
@media only screen and (max-width: 767px) {
  .c-title {
    flex-direction: column;
    align-items: flex-start;
  }
}
.c-title .en {
  font-size: 56px;
  font-size: 5.6rem;
  letter-spacing: 0.03em;
  line-height: 1;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
}
@media only screen and (max-width: 767px) {
  .c-title .en {
    font-size: 40px;
    font-size: 4rem;
  }
}
.c-title .jp {
  font-size: 20px;
  font-size: 2rem;
  letter-spacing: 0.05em;
  line-height: 1.6;
  font-weight: 500;
  margin-bottom: 5px;
  margin-left: 24px;
}
@media only screen and (max-width: 767px) {
  .c-title .jp {
    font-size: 16px;
    font-size: 1.6rem;
    margin-bottom: 0;
    margin-left: 0;
    margin-top: 0px;
  }
}

.c-sub-title {
  padding-left: 20px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .c-sub-title {
    padding-left: 16px;
  }
}
.c-sub-title:before {
  content: "";
  width: 12px;
  height: 12px;
  display: inline-block;
  border-radius: 50%;
  background: linear-gradient(45deg, #185B99 0%, #8A80FF 70%);
  position: absolute;
  top: 5px;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .c-sub-title:before {
    width: 8px;
    height: 8px;
    top: 6px;
  }
}
.c-sub-title .en {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
}
@media only screen and (max-width: 767px) {
  .c-sub-title .en {
    font-size: 20px;
    font-size: 2rem;
  }
}
.c-sub-title .jp {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 500;
  margin-left: 24px;
}
.c-sub-title.big {
  padding-left: 32px;
}
@media only screen and (max-width: 767px) {
  .c-sub-title.big {
    padding-left: 14px;
  }
}
.c-sub-title.big:before {
  width: 16px;
  height: 16px;
  top: 11px;
}
@media only screen and (max-width: 767px) {
  .c-sub-title.big:before {
    width: 8px;
    height: 8px;
    top: 8px;
  }
}
.c-sub-title.big .en {
  font-size: 36px;
  font-size: 3.6rem;
  letter-spacing: 0.03em;
}
@media only screen and (max-width: 767px) {
  .c-sub-title.big .en {
    font-size: 24px;
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-sub-title.big .jp {
    font-size: 14px;
    font-size: 1.4rem;
    margin-left: 16px;
  }
}

.c-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  line-height: 1.44444444;
  font-weight: 500;
  width: 100%;
  max-width: 384px;
  height: 56px;
  transition: color 0.3s, background-color 0.3s, border-color 0.3s;
}
@media only screen and (max-width: 767px) {
  .c-btn {
    height: 46px;
    font-size: 15px;
    font-size: 1.5rem;
  }
}
.c-btn.white {
  background: #fff;
  border: 1px solid #185B99;
  color: #185B99;
}
.c-btn.white:hover {
  background: #185B99;
  color: #fff;
}
.c-btn.green {
  background: #46E2B6;
  border: 1px solid #46E2B6;
  color: #000;
}
.c-btn.green:hover {
  background: #fff;
  color: #000;
}
.c-more-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  max-width: 100%;
  padding: 14px 68px 14px 20px;
  position: relative;
  border: 1px solid #E0E0E0;
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  font-weight: 500;
  transition: border 0.3s, color 0.3s;
  background: #fff;
}
@media only screen and (max-width: 767px) {
  .c-more-btn {
    font-size: 15px;
    font-size: 1.5rem;
    padding: 13px 62px 13px 20px;
  }
}
.c-more-btn:hover {
  border: 1px solid #185B99;
  color: #185B99;
}
.c-more-btn svg {
  width: 48px;
  height: 48px;
  position: absolute;
  top: -1px;
  right: -1px;
}
@media only screen and (max-width: 767px) {
  .c-more-btn svg {
    width: 43px;
    height: 43px;
  }
}

.c-border {
  display: block;
  border: none;
  width: 100%;
  height: 1px;
  background: #E0E0E0;
  margin: 0;
}

.c-breadcrumb .inner {
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  .c-breadcrumb .inner {
    padding: 0 43px;
  }
}
.c-breadcrumb ul {
  display: flex;
}
.c-breadcrumb ul li {
  font-size: 13px;
  font-size: 1.3rem;
  letter-spacing: 0.8px;
  line-height: 1.75;
  font-weight: 500;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .c-breadcrumb ul li {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
.c-breadcrumb ul li:last-of-type {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}
.c-breadcrumb ul li:last-of-type:after {
  content: none;
}
.c-breadcrumb ul li a {
  color: #000000;
}
.c-breadcrumb ul li span {
  color: #909090;
}
.c-breadcrumb ul li:after {
  content: "";
  width: 4px;
  height: 6px;
  display: inline-block;
  background: url(../img/common/arrow_right_small.svg) center center/cover no-repeat;
  margin: 0 8px 0 5px;
  position: relative;
  top: -2px;
}
@media only screen and (max-width: 767px) {
  .c-breadcrumb ul li:after {
    width: 5px;
    height: 7px;
    margin: 0 7px 0 2px;
    top: -1px;
  }
}

.c-cate-list ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
@media only screen and (max-width: 767px) {
  .c-cate-list ul {
    gap: 10px;
  }
}
.c-cate-list ul li:hover a {
  border: 1px solid #185B99;
  color: #185B99;
}
.c-cate-list ul li.current a {
  border: 1px solid #185B99;
  background: #185B99;
  color: #fff;
}
.c-cate-list ul li a {
  display: inline-block;
  padding: 12px 14px;
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.03em;
  font-weight: 500;
  border: 1px solid #A4B6DC;
  border-radius: 2px;
  transition: color 0.3s, background-color 0.3s, border 0.3s;
  background: #fff;
}
@media only screen and (max-width: 767px) {
  .c-cate-list ul li a {
    font-size: 15px;
    font-size: 1.5rem;
    padding: 10px 10px;
    border-radius: 3px;
  }
}

.c-trigger-modal {
  cursor: pointer;
}

.c-shadow {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
  transition: opacity 0.3s, visibility 0.3s;
  opacity: 0;
  visibility: hidden;
  z-index: 1000;
}
.c-shadow.is-active {
  opacity: 1;
  visibility: visible;
}

.c-modal {
  background: #fff;
  width: calc(100% - 80px);
  max-width: 1080px;
  max-height: calc(100vh - 156px);
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1001;
  transition: opacity 0.3s, visibility 0.3s;
  opacity: 0;
  visibility: hidden;
}
@media only screen and (max-width: 767px) {
  .c-modal {
    width: calc(100% - 36px);
    max-height: calc(100vh - 80px);
  }
}
.c-modal.is-active {
  opacity: 1;
  visibility: visible;
}
.c-modal__wrap {
  padding: 60px;
  max-height: calc(100vh - 156px);
  overflow-y: scroll;
}
@media only screen and (max-width: 767px) {
  .c-modal__wrap {
    padding: 56px 20px 32px;
    max-height: calc(100svh - 80px);
  }
}
.c-modal__close {
  width: 32px;
  height: 32px;
  position: absolute;
  top: 20px;
  right: 20px;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .c-modal__close {
    width: 24px;
    height: 24px;
  }
}
.c-modal__close svg {
  display: block;
  width: 100%;
  height: auto;
}
.c-modal__top {
  margin-bottom: 32px;
}
@media only screen and (max-width: 767px) {
  .c-modal__top {
    margin-bottom: 20px;
  }
}
.c-modal__top__title {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
.c-modal__top__title:after {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background: #BCBCBC;
}
.c-modal__top__title svg {
  flex-shrink: 0;
  margin-right: 6px;
}
.c-modal__top__title span {
  flex-shrink: 0;
  color: #185B99;
  margin-right: 16px;
}
.c-modal__top .c-title05 {
  margin-bottom: 7px;
}
@media only screen and (max-width: 767px) {
  .c-modal__top .c-title05 {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.75;
  }
}
.c-modal__col {
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .c-modal__col {
    flex-direction: column;
    gap: 14px;
    margin-bottom: 12px;
  }
}
.c-modal__col .title {
  width: 33.64583333%;
  border-top: 1px solid #BCBCBC;
  padding-top: 16px;
}
@media only screen and (max-width: 767px) {
  .c-modal__col .title {
    width: 100%;
  }
}
.c-modal__col .title .c-title04 {
  margin-bottom: 10px;
}
.c-modal__col .title .cate {
  display: inline-block;
  padding: 2px 7px;
  border: 1px solid #BCBCBC;
  color: #5B5B5B;
  margin-right: 8px;
  margin-bottom: 8px;
}
.c-modal__col .title .tags span {
  display: inline-block;
  margin-right: 8px;
  margin-bottom: 8px;
  color: #5B5B5B;
}
@media only screen and (max-width: 767px) {
  .c-modal__col .title .tags span {
    margin-right: 6px;
    margin-bottom: 6px;
  }
}
.c-modal__col .description {
  width: 63.64583333%;
}
@media only screen and (max-width: 767px) {
  .c-modal__col .description {
    width: 100%;
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: 0.02em;
  }
}
.c-modal__col .description dl {
  display: flex;
  padding: 20px;
  background: #F5F6F9;
}
@media only screen and (max-width: 767px) {
  .c-modal__col .description dl {
    display: block;
  }
}
.c-modal__col .description dl dt {
  flex-shrink: 0;
  color: #185B99;
  margin-right: 16px;
}
@media only screen and (max-width: 767px) {
  .c-modal__col .description dl dt {
    margin-bottom: 8px;
  }
}
.c-modal .c-btn {
  width: 100%;
  max-width: 100%;
}

.c-case-post {
  display: block;
  padding-top: 24px;
  border-top: 1px solid #BCBCBC;
  position: relative;
}
.c-case-post:after {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background: #000;
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 0.3s;
  transform: scaleX(0);
  transform-origin: right;
}
.c-case-post:hover:after {
  transform: scaleX(1);
  transform-origin: left;
}
.c-case-post:hover .image img {
  transform: scale(1.05);
}
.c-case-post:hover .text .c-title05 {
  color: #185B99;
}
.c-case-post .image {
  width: 100%;
  aspect-ratio: 628/353;
  overflow: hidden;
}
.c-case-post .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transition: transform 0.3s;
}
.c-case-post .text {
  margin-top: 20px;
}
.c-case-post .text .c-title04 {
  transition: color 0.3s;
}
@media only screen and (max-width: 767px) {
  .c-case-post .text .c-title04 {
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: 0.02em;
    line-height: 1.6;
  }
}
.c-case-post .text .c-title05 {
  transition: color 0.3s;
}
@media only screen and (max-width: 767px) {
  .c-case-post .text .c-title05 {
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: 0.02em;
    line-height: 1.6;
  }
}
.c-case-post .text p {
  margin-bottom: 12px;
}
.c-case-post .text .c-text01 {
  color: #5B5B5B;
}
.c-case-post .text .tags {
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.c-case-post .text .tags span {
  display: inline-block;
  background: #fff;
  border: 1px solid #BCBCBC;
  border-radius: 2px;
  padding: 2px 6px;
  font-size: 13px;
  font-size: 1.3rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
  font-weight: 500;
  color: #5B5B5B;
}

.c-case-list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
@media only screen and (max-width: 767px) {
  .c-case-list {
    flex-direction: column;
    gap: 32px;
  }
}
.c-case-list li {
  width: calc((100% - 24px) / 2);
  margin-top: 16px;
}
@media only screen and (max-width: 767px) {
  .c-case-list li {
    width: 100%;
    margin-top: 0;
  }
}
.c-case-list li:nth-of-type(-n + 2) {
  margin-top: 0;
}

.c-logo-slider {
  overflow: hidden;
}
/* 端でロゴが切れて見えないよう左右をフェードさせる（CSS で流すスライダーのみ。Swiper 式の販売代理店ページには掛けない） */
.c-logo-slider.is-marquee {
  -webkit-mask-image: linear-gradient(to right, transparent, #000 80px, #000 calc(100% - 80px), transparent);
          mask-image: linear-gradient(to right, transparent, #000 80px, #000 calc(100% - 80px), transparent);
}
@media only screen and (max-width: 767px) {
  .c-logo-slider.is-marquee {
    -webkit-mask-image: linear-gradient(to right, transparent, #000 24px, #000 calc(100% - 24px), transparent);
            mask-image: linear-gradient(to right, transparent, #000 24px, #000 calc(100% - 24px), transparent);
  }
}
.c-logo-slider__list {
  display: flex;
  align-items: center;
  white-space: nowrap;
  width: auto;
  gap: 20px;
  margin-right: 20px;
}
@media only screen and (max-width: 767px) {
  .c-logo-slider__list {
    gap: 10px;
    margin-right: 10px;
  }
}
.c-logo-slider__list li {
  width: 160px;
}
@media only screen and (max-width: 767px) {
  .c-logo-slider__list li {
    width: 80px;
  }
}
.c-logo-slider__list li.is-wide {
  width: 240px;
}
@media only screen and (max-width: 767px) {
  .c-logo-slider__list li.is-wide {
    width: 120px;
  }
}
.c-logo-slider__list li.is-narrow {
  width: 100px;
}
@media only screen and (max-width: 767px) {
  .c-logo-slider__list li.is-narrow {
    width: 50px;
  }
}
.c-logo-slider .swiper {
  overflow: visible;
}
.c-logo-slider .swiper .swiper-wrapper {
  transition-timing-function: linear !important;
}
.c-logo-slider .swiper .swiper-slide {
  width: auto;
}
.c-logo-slider.delay .swiper .swiper-wrapper {
  margin-left: 100px;
}
/* CSSアニメーションで一定速度に流す（リストを4周分並べ、1周分＝25%ずつ送る） */
.c-logo-slider__track {
  display: flex;
  width: max-content;
  animation: logoMarquee 18.7s linear infinite;
  animation-play-state: paused;
}
/* 帯が画面に入ったら流し始める（logo-slider.js） */
.c-logo-slider.is-running .c-logo-slider__track {
  animation-play-state: running;
}
.c-logo-slider__track .c-logo-slider__list li {
  flex-shrink: 0;
}
/* 先頭（KIRIN）をスライダー中央から流し始める */
.c-logo-slider.is-center-start .c-logo-slider__track {
  margin-left: calc(50% - 80px);
}
@media only screen and (max-width: 767px) {
  .c-logo-slider.is-center-start .c-logo-slider__track {
    margin-left: calc(50% - 40px);
  }
}
/* 先頭が横長ロゴ（li.is-wide）のときは、その幅の半分でずらす */
.c-logo-slider.is-center-start.is-first-wide .c-logo-slider__track {
  margin-left: calc(50% - 120px);
}
@media only screen and (max-width: 767px) {
  .c-logo-slider.is-center-start.is-first-wide .c-logo-slider__track {
    margin-left: calc(50% - 60px);
  }
}
@keyframes logoMarquee {
  from {
    transform: translateX(-25%);
  }
  to {
    transform: translateX(-50%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .c-logo-slider__track {
    animation: none;
    transform: translateX(-25%);
  }
}

.c-news-list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
@media only screen and (max-width: 767px) {
  .c-news-list {
    flex-direction: column;
    gap: 32px;
  }
}
.c-news-list li {
  width: calc((100% - 48px) / 3);
  border-top: 1px solid #BCBCBC;
}
@media only screen and (min-width: 768px) {
  .c-news-list li {
    margin-top: 16px;
  }
  .c-news-list li:nth-of-type(-n + 3) {
    margin-top: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-news-list li {
    width: 100%;
  }
}
.c-news-list li a {
  display: block;
  padding-top: 24px;
  position: relative;
}
.c-news-list li a:after {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background: #000;
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 0.3s;
  transform: scaleX(0);
  transform-origin: right;
}
.c-news-list li a:hover:after {
  transform: scaleX(1);
  transform-origin: left;
}
.c-news-list li a:hover .image img {
  transform: scale(1.05);
}
.c-news-list li a:hover .text .c-title05 {
  color: #185B99;
}
.c-news-list li .image {
  aspect-ratio: 410/214;
  overflow: hidden;
}
.c-news-list li .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transition: transform 0.3s;
}
.c-news-list li .text {
  margin-top: 12px;
}
@media only screen and (max-width: 767px) {
  .c-news-list li .text {
    margin-top: 16px;
  }
}
.c-news-list li .text .date-cate {
  margin-bottom: 12px;
}
@media only screen and (max-width: 767px) {
  .c-news-list li .text .date-cate {
    margin-bottom: 8px;
  }
}
.c-news-list li .text .date-cate .date {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  line-height: 1.75;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
}
@media only screen and (max-width: 767px) {
  .c-news-list li .text .date-cate .date {
    font-size: 13px;
    font-size: 1.3rem;
  }
}
.c-news-list li .text .date-cate .cate {
  font-size: 13px;
  font-size: 1.3rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
  font-weight: 500;
  display: inline-block;
  background: #fff;
  color: #5B5B5B;
  padding: 2px 6px 1px;
  border: 1px solid #BCBCBC;
  border-radius: 2px;
  margin-left: 16px;
  position: relative;
  top: -1px;
}
.c-news-list li .text .c-title05 {
  transition: color 0.3s;
}

.c-form-area {
  background: #F7F7F7;
  padding: 64px;
}
@media only screen and (max-width: 767px) {
  .c-form-area {
    padding: 40px 24px;
  }
}
.c-form-area table {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .c-form-area table {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .c-form-area table tbody {
    display: block;
  }
}
.c-form-area table tbody tr {
  border-bottom: 1px solid #E0E0E0;
}
@media only screen and (max-width: 767px) {
  .c-form-area table tbody tr {
    padding: 16px 0;
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .c-form-area table tbody tr.first {
    padding-top: 0;
    padding-bottom: 4px;
  }
}
.c-form-area table tbody tr.first th {
  padding-top: 0;
}
.c-form-area table tbody tr.first td {
  padding-top: 0;
  padding-bottom: 8px;
}
@media only screen and (max-width: 767px) {
  .c-form-area table tbody tr.first td {
    padding-bottom: 0;
  }
}
.c-form-area table tbody tr th {
  padding: 30px 0;
  width: 238px;
  vertical-align: top;
}
@media only screen and (max-width: 767px) {
  .c-form-area table tbody tr th {
    padding: 0;
    width: 100%;
    display: block;
    margin-bottom: 12px;
  }
}
.c-form-area table tbody tr th em {
  font-size: 12px;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  display: inline-block;
  color: #fff;
  background: #185B99;
  border-radius: 2px;
  padding: 2px 7px;
  margin-left: 4px;
}
@media only screen and (max-width: 767px) {
  .c-form-area table tbody tr th em {
    font-size: 11px;
    font-size: 1.1rem;
  }
}
.c-form-area table tbody tr td {
  padding: 24px 0;
  width: calc(100% - 238px);
  position: relative;
}
@media only screen and (max-width: 767px) {
  .c-form-area table tbody tr td {
    padding: 0;
    width: 100%;
    display: block;
  }
}
.c-form-area table tbody tr td p {
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0.02em;
  line-height: 1.75;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  .c-form-area table tbody tr td p {
    font-size: 13px;
    font-size: 1.3rem;
  }
}
.c-form-area table tbody tr td input[type=text] {
  width: 100%;
  height: 40px;
  border-radius: 2px;
  background: #fff;
  padding: 7px 12px;
  border: 1px solid #E0E0E0;
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0.02em;
  line-height: 1.75;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  .c-form-area table tbody tr td input[type=text] {
    font-size: 13px;
    font-size: 1.3rem;
  }
}
.c-form-area table tbody tr td input[type=text]::placeholder {
  color: #BCBCBC;
}
.c-form-area table tbody tr td textarea {
  width: 100%;
  height: 174px;
  border-radius: 2px;
  background: #fff;
  padding: 7px 12px;
  border: 1px solid #E0E0E0;
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0.02em;
  line-height: 1.75;
  font-weight: 500;
  resize: none;
}
@media only screen and (max-width: 767px) {
  .c-form-area table tbody tr td textarea {
    font-size: 13px;
    font-size: 1.3rem;
  }
}
.c-form-area table tbody tr td textarea::placeholder {
  color: #BCBCBC;
}
.c-form-area table tbody tr td .radio-list {
  display: flex;
  flex-wrap: wrap;
}
.c-form-area table tbody tr td .radio-list li {
  position: relative;
  margin-right: 16px;
  margin-bottom: 16px;
}
@media only screen and (max-width: 767px) {
  .c-form-area table tbody tr td .radio-list li {
    margin-right: 12px;
    margin-bottom: 12px;
  }
}
.c-form-area table tbody tr td .radio-list li input[type=radio] {
  width: 1px;
  height: 1px;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
}
.c-form-area table tbody tr td .radio-list li input[type=radio]:checked + label > i:after {
  opacity: 1;
}
.c-form-area table tbody tr td .radio-list li label {
  display: flex;
  align-items: center;
}
.c-form-area table tbody tr td .radio-list li label i {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #000;
  position: relative;
  margin-right: 8px;
}
.c-form-area table tbody tr td .radio-list li label i:after {
  content: "";
  width: 10px;
  height: 10px;
  display: inline-block;
  background: #185B99;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  opacity: 0;
}
.c-form-area .privacy {
  text-align: center;
  font-size: 12px;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  line-height: 2.66666667;
  font-family: "Noto Sans JP", sans-serif;
  margin: 24px 0 0;
}
@media only screen and (max-width: 767px) {
  .c-form-area .privacy {
    line-height: 1.6;
  }
}
.c-form-area .privacy a {
  text-decoration: underline;
}
.c-form-area .btn {
  width: 100%;
  max-width: 398px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 20px auto 0;
  border: 1px solid #185B99;
  background: #185B99;
  color: #fff;
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  font-weight: 500;
  transition: color 0.3s, background-color 0.3s;
}
@media only screen and (max-width: 767px) {
  .c-form-area .btn {
    height: 44px;
    font-size: 15px;
    font-size: 1.5rem;
  }
}
.c-form-area .btn:hover {
  background: #fff;
  color: #185B99;
}

.c-pickup-slider {
  max-width: 963px;
  margin: 0 auto;
}
.c-pickup-slider .swiper {
  overflow: visible;
}
.c-pickup-slider .swiper .swiper-slide {
  display: flex;
  justify-content: space-between;
  padding-top: 24px;
  border-top: 1px solid #BCBCBC;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .c-pickup-slider .swiper .swiper-slide {
    display: block;
  }
}
.c-pickup-slider .swiper .swiper-slide:after {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background: #000;
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 0.3s;
  transform: scaleX(0);
  transform-origin: right;
}
.c-pickup-slider .swiper .swiper-slide:hover:after {
  transform: scaleX(1);
  transform-origin: left;
}
.c-pickup-slider .swiper .swiper-slide:hover .image img {
  transform: scale(1.05);
}
.c-pickup-slider .swiper .swiper-slide:hover .text .c-title04 {
  color: #185B99;
}
.c-pickup-slider .swiper .swiper-slide .image {
  width: 58.15160955%;
  aspect-ratio: 560/389;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .c-pickup-slider .swiper .swiper-slide .image {
    width: 100%;
    aspect-ratio: 339/235;
  }
}
.c-pickup-slider .swiper .swiper-slide .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transition: transform 0.3s;
}
.c-pickup-slider .swiper .swiper-slide .text {
  width: 41.84839045%;
  padding: 50px 40px 50px 40px;
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .c-pickup-slider .swiper .swiper-slide .text {
    width: 100%;
    padding: 20px 20px 24px;
  }
}
.c-pickup-slider .swiper .swiper-slide .text .c-title04 {
  margin-bottom: 20px;
  transition: color 0.3s;
}
@media only screen and (max-width: 767px) {
  .c-pickup-slider .swiper .swiper-slide .text .c-title04 {
    margin-bottom: 10px;
  }
}
.c-pickup-slider .swiper .swiper-slide .text .c-text01 {
  color: #5B5B5B;
  margin-bottom: 8px;
}
.c-pickup-slider .swiper .swiper-slide .text .cate {
  color: #5B5B5B;
  font-size: 13px;
  font-size: 1.3rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
  font-weight: 500;
}
.c-pickup-slider .swiper .swiper-slide .text .cate span {
  display: inline-block;
  padding: 3px 7px;
  border: 1px solid #BCBCBC;
  margin: 0 12px 12px 0;
}
.c-pickup-slider .swiper .swiper-slide .text .tags {
  color: #5B5B5B;
  font-size: 12px;
  font-size: 1.2rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
  font-weight: 500;
}
.c-pickup-slider .swiper .swiper-slide .text .tags span {
  display: inline-block;
  margin-right: 8px;
  margin-bottom: 8px;
}
.c-pickup-slider .swiper .swiper-slide .text .c-more-btn {
  margin-top: 16px;
  padding: 9px 48px 9px 12px;
  font-size: 16px;
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .c-pickup-slider .swiper .swiper-slide .text .c-more-btn {
    margin: 16px auto 0;
    padding: 10px 56px 10px 20px;
    font-size: 15px;
    font-size: 1.5rem;
  }
}
.c-pickup-slider .swiper .swiper-slide .text .c-more-btn svg {
  width: 36px;
  height: 36px;
}
.c-pickup-slider__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 20px;
}
@media only screen and (max-width: 767px) {
  .c-pickup-slider__nav {
    justify-content: center;
    gap: 24px;
    margin-top: 40px;
  }
}
.c-pickup-slider__nav .swiper-pagination {
  position: static;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  width: auto;
}
.c-pickup-slider__nav .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #C1C1C1;
  margin: 0;
  opacity: 1;
  transition: width 0.3s, height 0.3s, background-color 0.3s, transform 0.3s;
}
.c-pickup-slider__nav .swiper-pagination .swiper-pagination-bullet-active {
  transform: scale(1.33333333);
  background: #185B99;
}
.c-pickup-slider__nav .prev-next {
  display: flex;
  gap: 24px;
}
.c-pickup-slider__nav .swiper-button-prev, .c-pickup-slider__nav .swiper-button-next {
  position: static;
  width: 36px;
  height: 36px;
  border: 1px solid #185B99;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  margin: 0;
  transition: background-color 0.3s;
}
.c-pickup-slider__nav .swiper-button-prev:hover, .c-pickup-slider__nav .swiper-button-next:hover {
  background: #185B99;
}
.c-pickup-slider__nav .swiper-button-prev:hover svg path, .c-pickup-slider__nav .swiper-button-next:hover svg path {
  fill: #fff;
}
.c-pickup-slider__nav .swiper-button-prev:after, .c-pickup-slider__nav .swiper-button-next:after {
  content: none;
}
.c-pickup-slider__nav .swiper-button-prev svg path, .c-pickup-slider__nav .swiper-button-next svg path {
  transition: fill 0.3s;
}
.c-search-box__tab {
  display: flex;
  gap: 24px;
  position: relative;
  z-index: 1;
  top: 1px;
}
@media only screen and (max-width: 767px) {
  .c-search-box__tab {
    gap: 12px;
  }
}
.c-search-box__tab > div {
  width: 272px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #5B5B5B;
  border: 1px solid #E0E0E0;
  border-bottom: 1px solid #185B99;
  background: #fff;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .c-search-box__tab > div {
    width: calc((100% - 12px) / 2);
  }
}
.c-search-box__tab > div.current {
  border-bottom: none;
  border-color: #185B99;
  background: #F5F6F9;
  color: #185B99;
}
.c-category-search {
  padding: 20px 40px;
  background: #F5F6F9;
  border: 1px solid #185B99;
  display: none;
}
@media only screen and (max-width: 767px) {
  .c-category-search {
    padding: 16px;
  }
}
.c-category-search__list {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
@media only screen and (max-width: 767px) {
  .c-category-search__list {
    gap: 10px;
  }
}
.c-category-search__list li.current a {
  border-color: #185B99 !important;
  background: #185B99 !important;
  color: #fff !important;
}
.c-category-search__list li a {
  padding: 5px 12px;
  display: inline-block;
  background: #fff;
  border: 1px solid #BCBCBC;
  color: #5B5B5B;
  transition: color 0.3s, background-color 0.3s, border-color 0.3s;
}
@media only screen and (max-width: 767px) {
  .c-category-search__list li a {
    padding: 3px 10px;
  }
}
.c-category-search__list li a:hover {
  border-color: #185B99;
  color: #185B99;
}

.wp-pagenavi {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 80px;
}
@media only screen and (max-width: 767px) {
  .wp-pagenavi {
    gap: 10px;
    margin-top: 60px;
  }
}
.wp-pagenavi span, .wp-pagenavi a {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #BCBCBC;
  transition: color 0.3s, background-color 0.3s, border-color 0.3s;
  font-size: 20px;
  font-size: 2rem;
  letter-spacing: 0.02em;
  font-weight: 500;
  color: #5B5B5B;
  font-family: "Montserrat", sans-serif;
  order: 2;
}
@media only screen and (max-width: 767px) {
  .wp-pagenavi span, .wp-pagenavi a {
    width: 32px;
    height: 32px;
    font-size: 15px;
    font-size: 1.5rem;
  }
}
.wp-pagenavi .page:hover {
  background: #185B99;
  border-color: #185B99;
  color: #fff;
}
.wp-pagenavi .first:hover {
  background: #185B99;
  border-color: #185B99;
  color: #fff;
}
.wp-pagenavi .current {
  background: #185B99;
  border-color: #185B99;
  color: #fff;
}
.wp-pagenavi .extend {
  color: #BCBCBC;
  width: auto;
  height: auto;
  border: none;
}
.wp-pagenavi .pages {
  order: 3;
}
.wp-pagenavi .prev:after, .wp-pagenavi .next:after {
  content: "";
  width: 8px;
  height: 12px;
  display: inline-block;
}
.wp-pagenavi .previouspostslink {
  border: none;
  background: #F2F2F2;
  order: 1;
  margin-right: 12px;
}
@media only screen and (max-width: 767px) {
  .wp-pagenavi .previouspostslink {
    margin-right: 14px;
  }
}
.wp-pagenavi .previouspostslink .prev:after {
  background: url(../img/common/nav_arrow_left.svg) center center/cover no-repeat;
}
.wp-pagenavi .nextpostslink {
  border: none;
  background: #F2F2F2;
  order: 4;
  margin-left: 12px;
}
@media only screen and (max-width: 767px) {
  .wp-pagenavi .nextpostslink {
    margin-left: 14px;
  }
}
.wp-pagenavi .nextpostslink .next:after {
  background: url(../img/common/nav_arrow_right.svg) center center/cover no-repeat;
}

.c-model {
  padding: 40px;
  color: #fff;
  background: url(../img-webp/consulting/model_bg.jpg.webp) center center/cover no-repeat;
  margin-top: 64px;
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .c-model {
    padding: 24px 19px 40px 24px;
    flex-direction: column;
    background: url(../img-webp/consulting/model_bg_sp.jpg.webp) center center/cover no-repeat;
  }
}
.c-model .en {
  display: block;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
  margin-bottom: 12px;
}
@media only screen and (max-width: 767px) {
  .c-model .en {
    font-size: 20px;
    font-size: 2rem;
  }
}
.c-model .c-title02 {
  display: block;
  margin-bottom: 12px;
}
.c-model .c-text01 {
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .c-model .c-text01 {
    margin-bottom: 32px;
  }
}
.c-model .c-more-btn {
  background: none;
  transition: border 0.3s, color 0.3s, background-color 0.3s;
}
.c-model .c-more-btn svg rect {
  transition: fill 0.3s;
}
.c-model .c-more-btn svg path {
  transition: fill 0.3s;
}
.c-model .c-more-btn:hover {
  background: #fff;
  color: #185B99;
  border-color: #fff;
}
.c-model .c-more-btn:hover svg rect {
  fill: #185B99;
}
.c-model .c-more-btn:hover svg path {
  fill: #fff;
}
.c-model__text {
  width: 51.11111111%;
}
@media only screen and (max-width: 767px) {
  .c-model__text {
    width: 100%;
    max-width: 291px;
    order: 2;
  }
}
.c-model__image {
  width: 47.96296296%;
  aspect-ratio: 518/313;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .c-model__image {
    width: 100%;
    margin-bottom: 16px;
  }
}
.c-model__image .comment-01 {
  top: 0;
  left: 13.8996139%;
}
.c-model__image .comment-02 {
  top: 26.8370607%;
  right: 0;
}
.c-model__image .comment-03 {
  top: 52.39616613%;
  left: 0;
}
.c-model__image .comment-04 {
  right: 9.84555985%;
  bottom: 0;
}
.c-model__image .comment {
  padding: 15px 22px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  background: #4679BB;
  position: absolute;
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0.02em;
  line-height: 1.4;
  font-weight: 500;
  border-radius: 100px;
  text-align: center;
  opacity: 1;
  transition: opacity 0.35s, transform 0.35s, visibility 0.35s;
}
.c-model__image .comment:before {
  content: "";
  width: 21px;
  height: 17px;
  display: inline-block;
  background: rgba(255, 255, 255, 0.5);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  bottom: -17px;
  left: 50%;
  transform: translate(-50%, 0%);
}
@media only screen and (max-width: 767px) {
  .c-model__image .comment:before {
    content: none;
  }
}
.c-model__image .comment:after {
  content: "";
  width: 17px;
  height: 15px;
  display: inline-block;
  background: #4679BB;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translate(-50%, 0%);
}
@media only screen and (max-width: 767px) {
  .c-model__image .comment:after {
    content: none;
  }
}

.c-ware-slider {
  position: relative;
}
.c-ware-slider__nav {
  position: absolute;
  right: 0;
  top: -68px;
  display: flex;
  justify-content: flex-end;
  gap: 24px;
}
@media only screen and (max-width: 767px) {
  .c-ware-slider__nav {
    top: -52px;
    gap: 16px;
  }
}
.c-ware-slider__nav .swiper-button-prev, .c-ware-slider__nav .swiper-button-next {
  position: static;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid #185B99;
  margin: 0;
}
.c-ware-slider__nav .swiper-button-prev:after, .c-ware-slider__nav .swiper-button-next:after {
  content: none;
}
.c-ware-slider .swiper {
  overflow: visible;
}
.c-ware-slider .swiper .swiper-slide {
  aspect-ratio: 371/440;
  position: relative;
  border-radius: 4px;
  border: 1px solid #E0E0E0;
  padding: 25px 30px;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .c-ware-slider .swiper .swiper-slide {
    aspect-ratio: 296/360;
    padding: 20px 20px;
  }
}
.c-ware-slider .swiper .swiper-slide .c-title04 {
  color: #185B99;
  margin-bottom: 4px;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .c-ware-slider .swiper .swiper-slide .c-title04 {
    margin-bottom: 5px;
  }
}
.c-ware-slider .swiper .swiper-slide .c-annotation {
  position: relative;
  z-index: 1;
}
.c-ware-slider .swiper .swiper-slide .image {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.c-ware-slider .swiper .swiper-slide .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.c-head {
  padding: 20px 0 56px;
}
@media only screen and (max-width: 767px) {
  .c-head {
    padding: 10px 0 40px;
  }
}
.c-head__title {
  margin-top: 64px;
}
@media only screen and (max-width: 767px) {
  .c-head__title {
    margin-top: 40px;
  }
}
.c-head__title .inner {
  max-width: 1240px;
}

.c-cv-area {
  padding: 50px 43px;
  background: url(../img-webp/common/cv-area_bg.jpg.webp) center center/cover no-repeat;
  position: relative;
  color: #fff;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .c-cv-area {
    padding: 32px 25px 0 18px;
    background: url(../img-webp/common/cv-area_bg_sp.jpg.webp) center center/cover no-repeat;
  }
}
.c-cv-area__text {
  width: 68.28125%;
}
@media only screen and (max-width: 767px) {
  .c-cv-area__text {
    width: 100%;
  }
}
.c-cv-area__text strong {
  font-size: min(3.66032211vw, 64px);
  letter-spacing: 0.03em;
  line-height: 1.6;
  font-weight: 500;
  display: block;
  margin-right: -5px;
  margin-bottom: 24px;
}
@media only screen and (max-width: 767px) {
  .c-cv-area__text strong {
    font-size: 26px;
    font-size: 2.6rem;
    letter-spacing: 0;
    margin-bottom: 12px;
  }
}
.c-cv-area__text p {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.75;
  font-weight: 500;
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .c-cv-area__text p {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: -0.01em;
    margin-bottom: 20px;
  }
}
.c-cv-area__text .btn-col {
  display: flex;
  justify-content: flex-start !important;
  gap: 24px !important;
  margin: 0 !important;
}
@media only screen and (max-width: 767px) {
  .c-cv-area__text .btn-col {
    flex-direction: column;
    gap: 16px !important;
  }
}
.c-cv-area__text .btn-col > div {
  width: calc((100% - 24px) / 2) !important;
  text-align: center;
  max-width: 425px !important;
}
@media only screen and (max-width: 767px) {
  .c-cv-area__text .btn-col > div {
    width: 100% !important;
  }
}
.c-cv-area__text .btn-col > div .c-btn {
  max-width: 100%;
  width: 100%;
}
.c-cv-area__text .btn-col > div small {
  display: block;
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 0.03em;
  line-height: 1.75;
  font-weight: 500;
  margin-top: 8px;
}
@media only screen and (max-width: 767px) {
  .c-cv-area__text .btn-col > div small {
    margin-top: 4px;
  }
}
.c-cv-area__image {
  width: 36.5159129%;
  position: absolute;
  right: 1.02489019%;
  bottom: -10%;
  max-width: 436px;
}
@media only screen and (max-width: 767px) {
  .c-cv-area__image {
    width: 100%;
    position: static;
    max-width: none;
    position: relative;
    right: auto;
    margin-top: 4px;
  }
}
.c-cv-area__image .image {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 767px) {
  .c-cv-area__image .image {
    width: 80%;
    margin-left: 0;
  }
}
.c-cv-area__image .image video {
  display: block;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .c-cv-area__image .image video {
    position: relative;
    left: -24%;
  }
}
.c-cv-area__image .comment {
  position: absolute;
  bottom: 105%;
  left: 50%;
  transform: translate(-50%, 0%);
  width: max-content;
  background: #4679BB;
  padding: 8px 14px 10px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: 0.03em;
  line-height: 1.3;
  border-radius: 100px;
  text-align: center;
  opacity: 0;
  visibility: hidden;
}
@media only screen and (max-width: 767px) {
  .c-cv-area__image .comment {
    width: auto;
    top: auto;
    bottom: 110px;
    left: 136px;
    right: auto;
    transform: translate(0%, 0%);
    padding: 11px 24px;
    border-radius: 50px 50px 50px 0px;
    font-size: 14px;
    font-size: 1.4rem;
    background: rgba(255, 255, 255, 0.2);
  }
}
.c-cv-area__image .comment span {
  display: inline-block;
}
@media only screen and (max-width: 767px) {
  .c-cv-area__image .comment span {
    max-width: 144px;
    display: block;
  }
}
.c-cv-area__image .comment span.is-typing::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 1em;
  background: currentColor;
  margin-left: 2px;
  vertical-align: -0.1em;
  animation: cvTypingCaret 1s steps(1) infinite;
}
.c-cv-area__image .comment.is-typing-init {
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 6px);
}
@media only screen and (max-width: 767px) {
  .c-cv-area__image .comment.is-typing-init {
    transform: translate(0%, 6px);
  }
}
.c-cv-area__image .comment.is-typing-active {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
  animation: cvCommentFadeIn 0.4s ease both;
}
@media only screen and (max-width: 767px) {
  .c-cv-area__image .comment.is-typing-active {
    transform: translate(0%, 0);
  }
}
.c-cv-area__image .comment:before {
  content: "";
  width: 15px;
  height: 12px;
  display: inline-block;
  background: rgba(255, 255, 255, 0.5);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  bottom: -12px;
  left: 50%;
  transform: translate(-50%, 0%);
}
@media only screen and (max-width: 767px) {
  .c-cv-area__image .comment:before {
    content: none;
  }
}
.c-cv-area__image .comment:after {
  content: "";
  width: 11px;
  height: 10px;
  display: inline-block;
  background: #4679BB;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translate(-50%, 0%);
}
@media only screen and (max-width: 767px) {
  .c-cv-area__image .comment:after {
    content: none;
  }
}

@keyframes cvCommentFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes cvTypingCaret {
  0%, 49% {
    opacity: 1;
  }
  50%, 100% {
    opacity: 0;
  }
}
.c-post {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  line-height: 1.75;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  .c-post {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: -0.01em;
    font-weight: 500;
  }
}
.c-post p {
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  .c-post p {
    margin-bottom: 24px;
  }
}
.c-post img {
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .c-post img {
    margin-bottom: 24px;
  }
}
.c-post .has-small-font-size {
  font-size: 14px !important;
  line-height: 1.6;
  letter-spacing: 0.03em;
  color: #676767;
}
@media only screen and (max-width: 767px) {
  .c-post .has-small-font-size {
    font-size: 12px !important;
    line-height: 1.75;
    letter-spacing: -0.01em;
  }
}
.c-post em {
  background: linear-gradient(to right, #185B99 59%, #938AFF 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  padding-bottom: 0.1em;
}
.c-post h2 {
  font-size: 32px;
  font-size: 3.2rem;
  letter-spacing: 0.01em;
  line-height: 1.6;
  font-weight: 500;
  position: relative;
  padding-bottom: 32px;
  border-bottom: 1px solid #E0E0E0;
  margin-bottom: 40px;
  margin-top: 80px;
}
@media only screen and (max-width: 767px) {
  .c-post h2 {
    font-size: 20px;
    font-size: 2rem;
    padding-bottom: 24px;
    margin-bottom: 24px;
    margin-top: 64px;
  }
}
.c-post h3 {
  font-size: 24px;
  font-size: 2.4rem;
  letter-spacing: 0.01em;
  line-height: 1.6;
  font-weight: 500;
  margin-top: 20px;
  margin-bottom: 20px;
  padding-left: 22px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .c-post h3 {
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: 0.01em;
    padding-left: 28px;
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
.c-post h3:before {
  content: "";
  width: 12px;
  height: 12px;
  display: block;
  background: #185B99;
  border-radius: 50%;
  position: absolute;
  top: 14px;
  left: 0px;
}
@media only screen and (max-width: 767px) {
  .c-post h3:before {
    top: 12px;
    left: 4px;
  }
}
.c-post h4 {
  font-size: 20px;
  font-size: 2rem;
  letter-spacing: 0.02em;
  line-height: 1.6;
  font-weight: 500;
  padding-left: 47px;
  position: relative;
  color: #185B99;
  margin-bottom: 20px;
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  .c-post h4 {
    font-size: 15px;
    font-size: 1.5rem;
    letter-spacing: 0.01em;
    line-height: 1.6;
    margin-bottom: 24px;
    margin-top: 28px;
  }
}
.c-post h4:before {
  content: "";
  width: 40px;
  height: 1px;
  display: block;
  background: #185B99;
  position: absolute;
  top: 16px;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .c-post h4:before {
    top: 12px;
  }
}
.c-post h5 {
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
  font-weight: 600;
  margin-bottom: 24px;
}
@media only screen and (max-width: 767px) {
  .c-post h5 {
    font-size: 15px;
    font-size: 1.5rem;
    letter-spacing: 0.01em;
    line-height: 1.75;
    margin-bottom: 10px;
  }
}
.c-post h5:after {
  content: "";
  width: 20px;
  height: 2px;
  display: block;
  background: #0143CA;
  margin: 2px 0 0;
}
@media only screen and (max-width: 767px) {
  .c-post h5:after {
    width: 10px;
    margin-top: 1px;
  }
}
.c-post ul {
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  .c-post ul {
    margin-bottom: 24px;
  }
}
.c-post ul li {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  line-height: 1.75;
  font-weight: 500;
  padding-left: 1.2em;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .c-post ul li {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.75;
    letter-spacing: -0.01em;
  }
}
.c-post ul li:before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.c-post ol {
  counter-reset: number 0;
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  .c-post ol {
    margin-bottom: 24px;
  }
}
.c-post ol li {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  line-height: 1.75;
  font-weight: 500;
  padding-left: 1.2em;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .c-post ol li {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.75;
    letter-spacing: -0.01em;
  }
}
.c-post ol li:before {
  counter-increment: number 1;
  content: counter(number) ".";
  position: absolute;
  top: 0;
  left: 0.1em;
}
.c-post a {
  color: #428AC9;
  text-decoration: underline;
}
.c-post strong {
  font-weight: 700;
}
.c-post small {
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
  font-weight: 500;
  color: #676767;
}
@media only screen and (max-width: 767px) {
  .c-post small {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.6;
    font-weight: 400;
  }
}
.c-post hr {
  border: none;
  outline: none;
  display: block;
  width: 100%;
  height: 1px;
  display: block;
  background: #C1C1C1;
  margin: 50px auto;
}
@media only screen and (max-width: 767px) {
  .c-post hr {
    margin: 32px auto;
  }
}
.c-post figure {
  margin-top: 40px;
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .c-post figure {
    margin-bottom: 20px;
  }
}
.c-post figure img {
  margin-bottom: 0;
}
.c-post figure figcaption {
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
  font-weight: 500;
  color: #676767;
  margin-top: 12px;
}
@media only screen and (max-width: 767px) {
  .c-post figure figcaption {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.75;
    letter-spacing: -0.01em;
    margin-top: 12px;
  }
}
@media only screen and (max-width: 767px) {
  .c-post :where(.wp-block-columns.is-layout-flex) {
    gap: 10px;
  }
}
.c-post .wp-block-columns {
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .c-post .wp-block-columns {
    margin-bottom: 20px;
  }
}
.c-post .wp-block-columns .wp-block-buttons {
  margin-bottom: 0px;
}
.c-post .wp-block-buttons {
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .c-post .wp-block-buttons {
    margin-bottom: 20px;
  }
}
.c-post .wp-block-column p {
  margin-bottom: 0;
}
.c-post .wp-block-column .wp-block-button {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .c-post .wp-block-column .wp-block-button {
    width: auto;
  }
}
.c-post .wp-block-column .wp-block-button__link {
  min-width: 0;
}
.c-post .wp-block-button__link {
  padding: 14px 35px;
  background: #185B99;
  border-radius: 4px;
  min-width: 240px;
  max-width: 100%;
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  line-height: 1.44444444;
  color: #fff;
  text-decoration: none;
  border: 1px solid #185B99;
  transition: color 0.3s, background-color 0.3s;
}
@media only screen and (max-width: 767px) {
  .c-post .wp-block-button__link {
    font-size: 15px;
    font-size: 1.5rem;
    border-radius: 2px;
    padding: 8px 20px;
  }
}
.c-post .wp-block-button__link:after {
  content: "";
  width: 9px;
  height: 14px;
  display: inline-block;
  background: url(../img/common/arrow_right_white.svg) center center/cover no-repeat;
  margin-left: 24px;
  position: relative;
  top: 0px;
  transition: background-image 0.3s;
}
@media only screen and (max-width: 767px) {
  .c-post .wp-block-button__link:after {
    width: 4px;
    height: 9px;
    margin-left: 12px;
    top: -1px;
  }
}
.c-post .wp-block-button__link:hover {
  background: #fff;
  color: #185B99;
}
.c-post .wp-block-button__link:hover:after {
  background: url(../img/common/arrow_right_blue.svg) center center/cover no-repeat;
}
.c-post .wp-block-quote {
  padding: 32px 32px 32px 56px;
  border-radius: 4px;
  background: #F7F7F7;
  position: relative;
  margin-top: 80px;
  margin-bottom: 80px;
}
@media only screen and (max-width: 767px) {
  .c-post .wp-block-quote {
    padding: 20px 20px 20px 44px;
    margin-top: 40px;
    margin-bottom: 60px;
  }
}
.c-post .wp-block-quote:before {
  content: "";
  width: 1px;
  height: calc(100% - 64px);
  display: inline-block;
  background: #185B99;
  position: absolute;
  top: 32px;
  left: 32px;
}
@media only screen and (max-width: 767px) {
  .c-post .wp-block-quote:before {
    height: calc(100% - 40px);
    top: 20px;
    left: 20px;
  }
}
.c-post .wp-block-quote p {
  margin-bottom: 24px;
}
.c-post .wp-block-quote p:last-of-type {
  margin-bottom: 0;
}
.c-post .wp-block-preformatted {
  padding: 32px;
  border-radius: 4px;
  background: #E9F6FF;
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .c-post .wp-block-preformatted {
    padding: 20px;
    border-radius: 2px;
    margin-bottom: 20px;
  }
}
.c-post .wp-block-preformatted p {
  margin-bottom: 0;
}
.c-post .wp-block-embed {
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-post .wp-block-table {
    overflow-x: scroll;
  }
}
.c-post .wp-block-table table {
  border-top: 1px solid #C1C1C1;
  border-left: 1px solid #C1C1C1;
  border-radius: 4px;
}
.c-post .wp-block-table table thead {
  border-bottom: none;
}
.c-post .wp-block-table table thead tr th, .c-post .wp-block-table table thead tr td {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  line-height: 1.75;
  font-weight: 500;
  border: none;
  border-right: 1px solid #C1C1C1;
  border-bottom: 1px solid #C1C1C1;
  padding: 18px 12px;
}
@media only screen and (max-width: 767px) {
  .c-post .wp-block-table table thead tr th, .c-post .wp-block-table table thead tr td {
    font-size: 15px;
    font-size: 1.5rem;
    letter-spacing: 0.01em;
    padding: 15px 10px;
  }
}
.c-post .wp-block-table table thead tr th {
  background: #185B99;
  color: #fff;
}
.c-post .wp-block-table table tbody tr th, .c-post .wp-block-table table tbody tr td {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  line-height: 1.75;
  font-weight: 500;
  border: none;
  border-right: 1px solid #C1C1C1;
  border-bottom: 1px solid #C1C1C1;
  padding: 18px 12px;
}
@media only screen and (max-width: 767px) {
  .c-post .wp-block-table table tbody tr th, .c-post .wp-block-table table tbody tr td {
    font-size: 15px;
    font-size: 1.5rem;
    letter-spacing: 0.01em;
    padding: 15px 10px;
  }
}
.c-post .wp-block-group.is-vertical {
  padding: 32px 24px;
  background: #F5F6F9;
  display: block;
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .c-post .wp-block-group.is-vertical {
    padding: 20px 16px;
    margin-bottom: 40px;
  }
}
.c-post .wp-block-group.is-vertical h4 {
  color: #185B99;
  position: relative;
  font-size: 20px;
  font-size: 2rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
  font-weight: 600;
  padding-left: 0px;
  margin-left: 8px;
  margin-bottom: 12px;
}
@media only screen and (max-width: 767px) {
  .c-post .wp-block-group.is-vertical h4 {
    font-size: 15px;
    font-size: 1.5rem;
    letter-spacing: 0.01em;
    font-weight: 500;
    margin-left: 0;
    margin-bottom: 6px;
  }
}
.c-post .wp-block-group.is-vertical h4:before {
  content: none;
}
.c-post .wp-block-group.is-vertical ul {
  margin-left: 8px;
}
@media only screen and (max-width: 767px) {
  .c-post .wp-block-group.is-vertical ul {
    margin-left: 0;
  }
}
.c-post .wp-block-group.is-vertical ul li {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  line-height: 1.75;
  margin-bottom: 6px;
}
@media only screen and (max-width: 767px) {
  .c-post .wp-block-group.is-vertical ul li {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: -0.01em;
    font-weight: 500;
    margin-bottom: 4px;
  }
}
.c-post .wp-block-group.is-vertical ul li:last-of-type {
  margin-bottom: 0;
}
.c-post .wp-block-group.is-vertical hr {
  margin: 32px 0;
}
@media only screen and (max-width: 767px) {
  .c-post .wp-block-group.is-vertical hr {
    margin: 24px 0;
  }
}

.wp-block-embed-entaar {
  margin: 80px 0 !important;
}
@media only screen and (max-width: 767px) {
  .wp-block-embed-entaar {
    margin: 60px 0 !important;
  }
}

.custom-blog-card__link {
  border: 1px solid #E0E0E0;
  padding: 32px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  text-decoration: none;
}
@media only screen and (max-width: 430px) {
  .custom-blog-card__link {
    padding: 24px;
    display: block;
  }
}
.custom-blog-card__link:hover .custom-blog-card__image img {
  transform: scale(1.06);
}
.custom-blog-card__link:hover .custom-blog-card__image:after {
  opacity: 1;
}
.custom-blog-card__link:hover .custom-blog-card__body:after {
  background: url(../img/common/arrow_right_hover.svg) center center/cover no-repeat;
}
.custom-blog-card__image {
  width: 41.37931034%;
  aspect-ratio: 288/162;
  pointer-events: none;
  overflow: hidden;
  position: relative;
}
.custom-blog-card__image:after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background: rgba(255, 255, 255, 0.3);
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.3s;
}
@media only screen and (max-width: 430px) {
  .custom-blog-card__image {
    width: 100%;
    aspect-ratio: 291/163;
    margin-bottom: 20px;
  }
}
.custom-blog-card__image img {
  margin: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.3s;
}
.custom-blog-card__body {
  width: 55.17241379%;
  text-align: left;
  pointer-events: none;
}
@media only screen and (max-width: 430px) {
  .custom-blog-card__body {
    width: 100%;
  }
}
.custom-blog-card__body__title {
  color: #185B99;
  margin-bottom: 12px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
@media only screen and (max-width: 430px) {
  .custom-blog-card__body__title {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.6;
    margin-bottom: 14px;
  }
}
.custom-blog-card__body__description {
  color: #000;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 4;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.6;
  letter-spacing: 0.03em;
  font-weight: 500;
}
@media only screen and (max-width: 430px) {
  .custom-blog-card__body__description {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.6;
  }
}

.wp-embedded-content {
  width: 100%;
}

.wp-embedded-content {
  width: 100% !important;
}

.c-whats-next {
  padding: 80px 0 160px;
}
@media only screen and (max-width: 767px) {
  .c-whats-next {
    padding: 80px 0 100px;
  }
}
.c-whats-next .c-sub-title {
  margin-bottom: 24px;
}
@media only screen and (max-width: 767px) {
  .c-whats-next .c-sub-title {
    margin-bottom: 12px;
  }
}
.c-whats-next .text-image {
  margin-top: 40px;
  display: flex;
}
@media only screen and (max-width: 767px) {
  .c-whats-next .text-image {
    flex-direction: column;
  }
}
.c-whats-next .text-image .text {
  width: 50%;
  padding: 47px 32px;
  background: #F7F7F7;
}
@media only screen and (max-width: 767px) {
  .c-whats-next .text-image .text {
    width: 100%;
    order: 2;
    padding: 24px;
  }
}
.c-whats-next .text-image .text .en {
  font-size: 50px;
  font-size: 5rem;
  line-height: 1.6;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
  display: inline-block;
  margin-bottom: 12px;
}
@media only screen and (max-width: 767px) {
  .c-whats-next .text-image .text .en {
    font-size: 28px;
    font-size: 2.8rem;
  }
}
.c-whats-next .text-image .text .c-text01 {
  max-width: 454px;
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .c-whats-next .text-image .text .c-text01 {
    margin-bottom: 32px;
  }
}
.c-whats-next .text-image .image {
  width: 50%;
}
@media only screen and (min-width: 768px) {
  .c-whats-next .text-image .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }
}
@media only screen and (max-width: 767px) {
  .c-whats-next .text-image .image {
    width: 100%;
  }
}

.c-security {
  padding: 100px 0 160px;
  background: #F7F7F7;
}
@media only screen and (max-width: 767px) {
  .c-security {
    padding: 80px 0 100px;
  }
}
.c-security .c-sub-title {
  margin-bottom: 16px;
}
@media only screen and (max-width: 767px) {
  .c-security .c-sub-title {
    margin-bottom: 12px;
  }
}
.c-security .c-title02 {
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .c-security .c-title02 {
    margin-bottom: 24px;
  }
}
.c-security__list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
@media only screen and (max-width: 767px) {
  .c-security__list {
    flex-direction: column;
  }
}
.c-security__list li {
  width: calc((100% - 72px) / 4);
  background: #fff;
  padding: 24px;
}
@media only screen and (max-width: 767px) {
  .c-security__list li {
    width: 100%;
    padding: 20px;
  }
}
.c-security__list li .image {
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .c-security__list li .image {
    width: 80px;
    height: 80px;
    position: absolute;
    top: 20px;
    left: 20px;
  }
}
.c-security__list li .image img {
  width: auto;
  height: 120px;
}
@media only screen and (max-width: 767px) {
  .c-security__list li .image img {
    width: 100%;
    height: auto;
  }
}
.c-security__list li .text {
  margin-top: 20px;
}
@media only screen and (max-width: 767px) {
  .c-security__list li .text {
    margin-top: 0;
  }
}
.c-security__list li .text .c-title04 {
  text-align: center;
  margin-bottom: 12px;
}
@media only screen and (max-width: 767px) {
  .c-security__list li .text .c-title04 {
    padding-left: 100px;
    text-align: left;
    min-height: 80px;
    display: flex;
    align-items: center;
  }
}

/* Z-INDEX */
.formError {
  z-index: 990;
}

.formError .formErrorContent {
  z-index: 991;
}

.formError .formErrorArrow {
  z-index: 996;
}

.ui-dialog .formError {
  z-index: 5000;
}

.ui-dialog .formError .formErrorContent {
  z-index: 5001;
}

.ui-dialog .formError .formErrorArrow {
  z-index: 5006;
}

.inputContainer {
  position: relative;
  float: left;
}

.formError {
  position: absolute;
  top: 300px;
  left: 300px;
  display: block;
  cursor: pointer;
  text-align: left;
}

.formError.inline {
  position: relative;
  top: 0;
  left: 0;
  display: inline-block;
}

.ajaxSubmit {
  padding: 20px;
  background: #55ea55;
  border: 1px solid #999;
  display: none;
}

.formError .formErrorContent {
  width: 100%;
  background: #ee0101;
  position: relative;
  color: #fff;
  min-width: 120px;
  font-size: 11px;
  border: 2px solid #ddd;
  box-shadow: 0 0 6px #000;
  -moz-box-shadow: 0 0 6px #000;
  -webkit-box-shadow: 0 0 6px #000;
  -o-box-shadow: 0 0 6px #000;
  padding: 4px 10px 4px 10px;
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  -o-border-radius: 6px;
}

.formError.inline .formErrorContent {
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  -o-box-shadow: none;
  border: none;
  border-radius: 0;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  -o-border-radius: 0;
}

.greenPopup .formErrorContent {
  background: #33be40;
}

.blackPopup .formErrorContent {
  background: #393939;
  color: #FFF;
}

.formError .formErrorArrow {
  width: 15px;
  margin: -2px 0 0 13px;
  position: relative;
}

body[dir=rtl] .formError .formErrorArrow,
body.rtl .formError .formErrorArrow {
  margin: -2px 13px 0 0;
}

.formError .formErrorArrowBottom {
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  -o-box-shadow: none;
  margin: 0px 0 0 12px;
  top: 2px;
}

.formError .formErrorArrow div {
  border-left: 2px solid #ddd;
  border-right: 2px solid #ddd;
  box-shadow: 0 2px 3px #444;
  -moz-box-shadow: 0 2px 3px #444;
  -webkit-box-shadow: 0 2px 3px #444;
  -o-box-shadow: 0 2px 3px #444;
  font-size: 0px;
  height: 1px;
  background: #ee0101;
  margin: 0 auto;
  line-height: 0;
  font-size: 0;
  display: block;
}

.formError .formErrorArrowBottom div {
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  -o-box-shadow: none;
}

.greenPopup .formErrorArrow div {
  background: #33be40;
}

.blackPopup .formErrorArrow div {
  background: #393939;
  color: #FFF;
}

.formError .formErrorArrow .line10 {
  width: 13px;
  border: none;
}

.formError .formErrorArrow .line9 {
  width: 11px;
  border: none;
}

.formError .formErrorArrow .line8 {
  width: 11px;
}

.formError .formErrorArrow .line7 {
  width: 9px;
}

.formError .formErrorArrow .line6 {
  width: 7px;
}

.formError .formErrorArrow .line5 {
  width: 5px;
}

.formError .formErrorArrow .line4 {
  width: 3px;
}

.formError .formErrorArrow .line3 {
  width: 1px;
  border-left: 2px solid #ddd;
  border-right: 2px solid #ddd;
  border-bottom: 0 solid #ddd;
}

.formError .formErrorArrow .line2 {
  width: 3px;
  border: none;
  background: #ddd;
}

.formError .formErrorArrow .line1 {
  width: 1px;
  border: none;
  background: #ddd;
}

main.case_detail .cont {
  padding-bottom: 120px;
}
@media only screen and (max-width: 767px) {
  main.case_detail .cont {
    padding-bottom: 100px;
  }
}
main.case_detail .cont .col {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  main.case_detail .cont .col {
    display: block;
  }
}
main.case_detail .cont .col .post {
  width: 65.60344828%;
}
@media only screen and (max-width: 767px) {
  main.case_detail .cont .col .post {
    width: 100%;
  }
}
main.case_detail .cont .col .post .cate span {
  display: inline-block;
  color: #185B99;
  border: 1px solid #185B99;
  padding: 2px 15px;
  background: #F5F6F9;
  margin-right: 16px;
  margin-bottom: 16px;
}
@media only screen and (max-width: 767px) {
  main.case_detail .cont .col .post .cate span {
    margin-right: 12px;
    margin-bottom: 12px;
  }
}
main.case_detail .cont .col .post .c-title03 {
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  main.case_detail .cont .col .post .c-title03 {
    margin-bottom: 24px;
  }
}
main.case_detail .cont .col .post .thumbnail {
  margin-bottom: 40px;
}
main.case_detail .cont .col .post .cta {
  padding: 32px;
  background: #185B99;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  main.case_detail .cont .col .post .cta {
    padding: 24px;
    text-align: center;
  }
}
main.case_detail .cont .col .post .cta .c-title03 {
  display: block;
  margin-bottom: 12px;
}
@media only screen and (max-width: 767px) {
  main.case_detail .cont .col .post .cta .c-title03 {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.6;
  }
}
main.case_detail .cont .col .post .cta .c-text01 {
  margin-bottom: 28px;
}
main.case_detail .cont .col .post .cta .btn-col {
  display: flex;
  gap: 24px;
}
@media only screen and (max-width: 767px) {
  main.case_detail .cont .col .post .cta .btn-col {
    flex-direction: column;
  }
}
main.case_detail .cont .col .post .cta .btn-col .c-btn {
  width: calc((100% - 24px) / 2);
}
@media only screen and (max-width: 767px) {
  main.case_detail .cont .col .post .cta .btn-col .c-btn {
    width: 100%;
    height: 56px;
    font-size: 18px;
    font-size: 1.8rem;
  }
}
main.case_detail .cont .col .post .cta .btn-col .c-btn.white:hover {
  border-color: #fff;
}
main.case_detail .cont .col .sidebar {
  width: 31.03448276%;
}
@media only screen and (max-width: 767px) {
  main.case_detail .cont .col .sidebar {
    width: 100%;
  }
}
main.case_detail .cont .col .sidebar .cta {
  padding: 24px;
  background: #185B99;
  color: #fff;
  text-align: center;
  position: sticky;
  top: 80px;
}
main.case_detail .cont .col .sidebar .cta .c-title04 {
  display: block;
  margin-bottom: 12px;
}
main.case_detail .cont .col .sidebar .cta p {
  font-size: 12px;
  font-size: 1.2rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
  font-weight: 500;
  margin-bottom: 32px;
}
main.case_detail .cont .col .sidebar .cta .c-btn {
  margin-top: 16px;
}
main.case_detail .cont .col .sidebar .cta .c-btn.white:hover {
  border-color: #fff;
}
main.case_detail .cont .col .detail {
  padding: 24px;
  border: 1px solid #E0E0E0;
  margin-bottom: 24px;
}
@media only screen and (max-width: 767px) {
  main.case_detail .cont .col .detail {
    margin-bottom: 40px;
  }
}
main.case_detail .cont .col .detail .logo {
  margin-bottom: 21px;
}
@media only screen and (max-width: 767px) {
  main.case_detail .cont .col .detail .logo {
    margin-bottom: 16px;
  }
}
main.case_detail .cont .col .detail dl {
  display: flex;
  margin-bottom: 4px;
}
@media only screen and (max-width: 767px) {
  main.case_detail .cont .col .detail dl {
    margin-bottom: 0;
  }
}
main.case_detail .cont .col .detail dl:last-of-type {
  margin-bottom: 0;
}
main.case_detail .cont .col .detail dl.row {
  display: block;
}
main.case_detail .cont .col .detail dl.row dt {
  margin-bottom: 8px;
}
@media only screen and (max-width: 767px) {
  main.case_detail .cont .col .detail dl.row dt {
    margin-bottom: 4px;
  }
}
main.case_detail .cont .col .detail dl dt {
  color: #185B99;
  flex-shrink: 0;
  margin-right: 8px;
}
main.case_detail .cont .col .detail dl dd ul li {
  margin-bottom: 10px;
  padding-left: 1.4em;
  position: relative;
}
@media only screen and (max-width: 767px) {
  main.case_detail .cont .col .detail dl dd ul li {
    margin-bottom: 4px;
  }
}
main.case_detail .cont .col .detail dl dd ul li:last-of-type {
  margin-bottom: 0;
}
main.case_detail .cont .col .detail dl dd ul li:before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0.2em;
}
main.case_detail .cont .col .detail hr {
  border: none;
  width: 100%;
  height: 1px;
  display: block;
  background: #E0E0E0;
  margin: 20px 0;
}
@media only screen and (max-width: 767px) {
  main.case_detail .cont .col .detail hr {
    margin: 24px 0;
  }
}
main.case_detail .more-case {
  background: #F7F7F7;
  padding: 100px 0;
}
@media only screen and (max-width: 767px) {
  main.case_detail .more-case {
    padding: 64px 0;
  }
}
main.case_detail .more-case .c-sub-title {
  margin-bottom: 12px;
}
main.case_detail .more-case .c-title03 {
  margin-bottom: 24px;
}
main.case_detail .more-case .c-more-btn {
  margin: 64px auto 0;
}
@media only screen and (max-width: 767px) {
  main.case_detail .more-case .c-case-list {
    gap: 40px;
  }
}
main.case_detail .more-case .c-case-list li {
  width: calc((100% - 48px) / 3);
  margin-top: 16px;
}
@media only screen and (max-width: 767px) {
  main.case_detail .more-case .c-case-list li {
    width: 100%;
    margin-top: 0;
  }
}

main.case .bg-gray {
  overflow: hidden;
  padding-bottom: 80px;
}
@media only screen and (max-width: 767px) {
  main.case .bg-gray {
    padding-bottom: 60px;
  }
}
@media only screen and (max-width: 767px) {
  main.case .bg-gray .c-head {
    padding-bottom: 10px;
  }
}
@media only screen and (max-width: 767px) {
  main.case .bg-gray .c-sub-title {
    width: max-content;
    margin-left: auto;
  }
}
main.case .bg-gray .c-pickup-slider {
  margin-top: 24px;
}
@media only screen and (max-width: 767px) {
  main.case .bg-gray .c-pickup-slider {
    margin-top: 16px;
  }
}
main.case .c-head {
  padding-bottom: 0;
}
main.case .c-head__title h1 {
  display: flex;
  align-items: flex-end;
}
@media only screen and (max-width: 767px) {
  main.case .c-head__title h1 {
    align-items: flex-start;
  }
}
main.case .c-head__title h1 .category-name {
  font-size: 24px;
  font-size: 2.4rem;
  letter-spacing: 0.01em;
  font-weight: 500;
  color: #185B99;
  padding-left: 12px;
  border-left: 3px solid #185B99;
  display: inline-block;
  margin-left: 28px;
  position: relative;
  top: -12px;
}
@media only screen and (max-width: 767px) {
  main.case .c-head__title h1 .category-name {
    font-size: 15px;
    font-size: 1.5rem;
    padding-left: 8px;
    border-left: 2px solid #185B99;
    margin-left: 24px;
    top: -6px;
  }
}
main.case .cont {
  padding-top: 80px;
  padding-bottom: 160px;
}
@media only screen and (max-width: 767px) {
  main.case .cont {
    padding: 60px 0 100px;
  }
}
main.case .cont .c-search-box {
  margin-bottom: 48px;
}
@media only screen and (max-width: 767px) {
  main.case .cont .c-search-box {
    margin-bottom: 50px;
  }
}
main.case .cont.pt0 {
  padding-top: 0;
}
@media only screen and (max-width: 767px) {
  main.case .c-case-list {
    gap: 40px;
  }
}
main.case .c-case-list li {
  width: calc((100% - 48px) / 3);
  margin-top: 16px;
}
@media only screen and (max-width: 767px) {
  main.case .c-case-list li {
    width: 100%;
    margin-top: 0;
  }
}

main.company .main-visual {
  padding: 0 20px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  main.company .main-visual {
    padding: 0 18px;
  }
}
main.company .main-visual__image {
  height: 450px;
}
@media only screen and (max-width: 767px) {
  main.company .main-visual__image {
    height: 264px;
  }
}
main.company .main-visual__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
main.company .main-visual__text {
  background: #fff;
  padding: 18px 38px 0 23px;
  position: absolute;
  left: 20px;
  bottom: 0;
}
@media only screen and (max-width: 767px) {
  main.company .main-visual__text {
    padding: 13px 18px 0 0px;
    left: 18px;
  }
}
main.company .c-breadcrumb {
  padding: 24px 0;
}
main.company .message {
  padding: 32px 0 80px;
}
@media only screen and (max-width: 767px) {
  main.company .message {
    padding-bottom: 40px;
  }
}
main.company .about-us {
  padding: 16px 0 112px;
}
@media only screen and (max-width: 767px) {
  main.company .about-us {
    padding-bottom: 60px;
  }
}
main.company .about-us__top {
  padding-bottom: 92px;
}
@media only screen and (max-width: 767px) {
  main.company .about-us__top {
    padding-bottom: 31px;
  }
}
main.company .about-us__top dl {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  main.company .about-us__top dl {
    display: block;
  }
}
main.company .about-us__top dl dt {
  width: 24.39655172%;
}
@media only screen and (max-width: 767px) {
  main.company .about-us__top dl dt {
    width: 100%;
  }
}
main.company .about-us__top dl dd {
  width: 75.60344828%;
  padding-left: 88px;
  margin-top: -20px;
}
@media only screen and (max-width: 767px) {
  main.company .about-us__top dl dd {
    width: 100%;
    margin-top: 20px;
    padding-left: 0;
  }
}
main.company .about-us__mission dl {
  margin-top: 64px;
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  main.company .about-us__mission dl {
    margin-top: 40px;
    display: block;
  }
}
main.company .about-us__mission dl dt {
  width: 24.39655172%;
}
@media only screen and (max-width: 767px) {
  main.company .about-us__mission dl dt {
    width: 100%;
    margin-bottom: 16px;
  }
}
main.company .about-us__mission dl dt h3 {
  font-size: 48px;
  font-size: 4.8rem;
  letter-spacing: 0.03em;
  line-height: 1.2;
  font-weight: 500;
  display: inline-block;
}
@media only screen and (max-width: 767px) {
  main.company .about-us__mission dl dt h3 {
    font-size: 32px;
    font-size: 3.2rem;
  }
}
main.company .about-us__mission dl dd {
  width: 75.60344828%;
  padding-left: 88px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  main.company .about-us__mission dl dd {
    width: 100%;
    padding-left: 0;
  }
}
main.company .about-us__mission dl dd:before {
  content: "";
  width: 1px;
  height: calc(100% - 0px);
  display: block;
  background: #E0E0E0;
  position: absolute;
  top: 0px;
  left: 0;
}
@media only screen and (max-width: 767px) {
  main.company .about-us__mission dl dd:before {
    content: none;
  }
}
main.company .about-us__mission dl dd p {
  font-size: 20px;
  font-size: 2rem;
  line-height: 2;
  font-weight: 500;
  margin-top: 24px;
}
@media only screen and (max-width: 767px) {
  main.company .about-us__mission dl dd p {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: -0.01em;
    line-height: 1.75;
    margin-top: 16px;
  }
}
main.company .about-us__mission dl dd p + p {
  margin-top: 1.5em;
}
main.company .bg-gray {
  background: #F7F7F7;
  padding: 100px 0 120px;
}
@media only screen and (max-width: 767px) {
  main.company .bg-gray {
    padding: 60px 0;
  }
}
main.company .message__col {
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
  margin-bottom: 60px;
}
@media only screen and (max-width: 767px) {
  main.company .message__col {
    margin-top: 24px;
    display: block;
  }
}
main.company .message__col .text {
  width: 59.56896552%;
}
@media only screen and (max-width: 767px) {
  main.company .message__col .text {
    width: 100%;
  }
}
main.company .message__col .text .c-title02 {
  margin: 40px 0 24px;
}
@media only screen and (max-width: 767px) {
  main.company .message__col .text .c-title02 {
    margin: 24px 0;
  }
}
main.company .message__col .text p {
  font-size: 17px;
  font-size: 1.7rem;
  letter-spacing: 0.01em;
  line-height: 2;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  main.company .message__col .text p {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: -0.01em;
    line-height: 1.75;
  }
}
main.company .message__col .image {
  width: 34.05172414%;
}
@media only screen and (max-width: 767px) {
  main.company .message__col .image {
    width: 100%;
    margin-top: 24px;
  }
}
main.company .message__col .image figure figcaption {
  margin-top: 23px;
}
@media only screen and (max-width: 767px) {
  main.company .message__col .image figure figcaption {
    margin-top: 24px;
  }
}
main.company .board-members {
  padding: 80px 0 0;
}
@media only screen and (max-width: 767px) {
  main.company .board-members {
    padding: 60px 0 0;
  }
}
main.company .board-members__list {
  margin-top: 40px;
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
@media only screen and (max-width: 767px) {
  main.company .board-members__list {
    margin-top: 24px;
    flex-direction: column;
  }
}
main.company .board-members__list li {
  width: calc((100% - 48px) / 3);
  background: #fff;
}
@media only screen and (max-width: 767px) {
  main.company .board-members__list li {
    width: 100%;
    padding: 16px 16px 24px;
  }
}
main.company .board-members__list li .image {
  aspect-ratio: 371/243;
}
@media only screen and (max-width: 767px) {
  main.company .board-members__list li .image {
    aspect-ratio: 117/145;
  }
}
main.company .board-members__list li .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
main.company .board-members__list li .text {
  padding: 24px;
}
@media only screen and (max-width: 767px) {
  main.company .board-members__list li .text {
    padding: 0;
  }
}
@media only screen and (max-width: 767px) {
  main.company .board-members__list li .text .info {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media only screen and (max-width: 767px) {
  main.company .board-members__list li .text .info .image {
    width: 38.11074919%;
  }
}
@media only screen and (max-width: 767px) {
  main.company .board-members__list li .text .info > div {
    width: 56.67752443%;
  }
}
main.company .board-members__list li .text span {
  display: block;
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.03em;
  line-height: 1.25;
  font-weight: 500;
  color: #5B5B5B;
}
@media only screen and (max-width: 767px) {
  main.company .board-members__list li .text span {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: -0.01em;
    line-height: 1.75;
  }
}
main.company .board-members__list li .text strong {
  display: block;
  margin: 10px 0 7px;
}
@media only screen and (max-width: 767px) {
  main.company .board-members__list li .text strong {
    margin: 4px 0;
  }
}
main.company .board-members__list li .text .c-annotation {
  margin-top: 16px;
}
@media only screen and (max-width: 767px) {
  main.company .board-members__list li .text .c-annotation {
    margin-top: 20px;
  }
}
main.company .shareholders {
  margin-top: 80px;
}
@media only screen and (max-width: 767px) {
  main.company .shareholders {
    margin-top: 60px;
  }
}
main.company .shareholders .c-sub-title {
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  main.company .shareholders .c-sub-title {
    margin-bottom: 24px;
  }
}
main.company .shareholders__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
main.company .shareholders__list li {
  background: #fff;
}
@media only screen and (max-width: 767px) {
  main.company .shareholders__list li {
    padding: 16px;
  }
}
main.company .shareholders__list li .col {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
main.company .shareholders__list li .col i {
  width: 28px;
  height: 28px;
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translate(0%, -50%);
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  main.company .shareholders__list li .col i {
    width: 20px;
    height: 20px;
    right: 0px;
  }
}
main.company .shareholders__list li .col i.active:after {
  opacity: 0;
}
main.company .shareholders__list li .col i:before {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background: #185B99;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
main.company .shareholders__list li .col i:after {
  content: "";
  width: 1px;
  height: 100%;
  display: block;
  background: #185B99;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: opacity 0.3s;
}
main.company .shareholders__list li .col .image {
  width: 31.44508671%;
}
@media only screen and (max-width: 767px) {
  main.company .shareholders__list li .col .image {
    width: 29.96742671%;
  }
}
main.company .shareholders__list li .col .text {
  width: 68.55491329%;
  padding: 0 24px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  main.company .shareholders__list li .col .text {
    width: 63.51791531%;
    padding: 0;
    padding-right: 60px;
  }
}
main.company .shareholders__list li .col .text .logo {
  margin-bottom: 12px;
  margin-left: -24px;
}
@media only screen and (max-width: 767px) {
  main.company .shareholders__list li .col .text .logo {
    margin-bottom: 6px;
    margin-left: -16px;
  }
}
main.company .shareholders__list li .col .text .logo img {
  height: 52px;
}
@media only screen and (max-width: 767px) {
  main.company .shareholders__list li .col .text .logo img {
    height: 34px;
  }
}
@media only screen and (max-width: 767px) {
  main.company .shareholders__list li .col .text .c-title05 {
    font-size: 12px;
    font-size: 1.2rem;
    letter-spacing: -0.01em;
    line-height: 1.5;
  }
}
main.company .shareholders__list li .col .text .name {
  margin-top: 7px;
}
@media only screen and (max-width: 767px) {
  main.company .shareholders__list li .col .text .name {
    margin-top: 4px;
  }
}
main.company .shareholders__list li .col .text .name span {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.03em;
  line-height: 1.25;
  font-weight: 500;
  color: #5B5B5B;
  display: inline-block;
  margin-right: 12px;
}
@media only screen and (max-width: 767px) {
  main.company .shareholders__list li .col .text .name span {
    font-size: 11px;
    font-size: 1.1rem;
    letter-spacing: -0.01em;
    line-height: 1.75;
    margin: 0;
    display: block;
  }
}
main.company .shareholders__list li .contents {
  padding: 32px 24px 24px;
  display: none;
}
@media only screen and (max-width: 767px) {
  main.company .shareholders__list li .contents {
    padding: 20px 0 0;
  }
}
main.company .shareholders__list li .contents .c-annotation {
  margin-bottom: 10px;
}
main.company .shareholders__list li .contents a {
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 2px;
  word-break: break-all;
}
main.company .shareholders dl {
  display: flex;
  justify-content: space-between;
  margin-bottom: 35px;
}
@media only screen and (max-width: 767px) {
  main.company .shareholders dl {
    display: block;
  }
}
main.company .shareholders dl:last-of-type {
  margin-bottom: 0;
}
main.company .shareholders dl dt {
  width: 272px;
  border-top: 1px solid #BCBCBC;
  padding-top: 24px;
}
@media only screen and (max-width: 767px) {
  main.company .shareholders dl dt {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-bottom: 24px;
  }
}
main.company .shareholders dl dt .c-title05 {
  padding-left: 24px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  main.company .shareholders dl dt .c-title05 {
    padding-left: 14px;
  }
}
main.company .shareholders dl dt .c-title05.border:before {
  content: "";
  width: 12px;
  height: 1px;
  display: block;
  background: #185B99;
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translate(0%, -50%);
}
@media only screen and (max-width: 767px) {
  main.company .shareholders dl dt .c-title05.border:before {
    width: 8px;
  }
}
main.company .shareholders dl dd {
  width: calc(100% - 296px);
}
@media only screen and (max-width: 767px) {
  main.company .shareholders dl dd {
    width: 100%;
  }
}
main.company .profile {
  padding: 120px 0 160px;
}
@media only screen and (max-width: 767px) {
  main.company .profile {
    padding: 60px 0 80px;
  }
}
main.company .profile .col {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  main.company .profile .col {
    display: block;
  }
}
main.company .profile .c-sub-title {
  width: 24.39655172%;
}
@media only screen and (max-width: 767px) {
  main.company .profile .c-sub-title {
    width: 100%;
  }
}
main.company .profile__cont {
  width: 75.60344828%;
}
@media only screen and (max-width: 767px) {
  main.company .profile__cont {
    width: 100%;
    margin-top: 24px;
  }
}
main.company .profile__cont table {
  width: 100%;
}
main.company .profile__cont table tbody tr {
  border-top: 1px solid #E0E0E0;
}
main.company .profile__cont table tbody tr:last-of-type {
  border-bottom: 1px solid #E0E0E0;
}
main.company .profile__cont table tbody tr th {
  width: 38.42592593%;
  padding: 24px 0;
  vertical-align: top;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  main.company .profile__cont table tbody tr th {
    width: 38.3480826%;
    padding: 16px 0;
  }
}
main.company .profile__cont table tbody tr td {
  width: 61.57407407%;
  padding: 24px 0;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  main.company .profile__cont table tbody tr td {
    width: 61.6519174%;
    padding: 16px 0;
  }
}
main.company .recruit-banner {
  display: block;
  width: 100%;
  padding: 40px 40px 72px;
  position: relative;
  margin-top: 105px;
}
@media only screen and (max-width: 767px) {
  main.company .recruit-banner {
    aspect-ratio: 339/550;
    padding: 40px 16px;
    margin-top: 72px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
}
main.company .recruit-banner:hover .c-more-btn {
  background-color: rgba(255, 255, 255, 0.3);
}
main.company .recruit-banner__image {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
main.company .recruit-banner__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
main.company .recruit-banner__text {
  color: #fff;
  max-width: 443px;
  position: relative;
}
main.company .recruit-banner__text .title {
  display: block;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 500;
  margin-bottom: 4px;
}
@media only screen and (max-width: 767px) {
  main.company .recruit-banner__text .title {
    font-size: 15px;
    font-size: 1.5rem;
    letter-spacing: 0.01em;
    margin-bottom: 0;
  }
}
main.company .recruit-banner__text strong {
  display: block;
  font-size: 56px;
  font-size: 5.6rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
  margin-bottom: 4px;
}
@media only screen and (max-width: 767px) {
  main.company .recruit-banner__text strong {
    font-size: 36px;
    font-size: 3.6rem;
  }
}
main.company .recruit-banner__text p {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  line-height: 1.75;
  font-weight: 500;
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  main.company .recruit-banner__text p {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: -0.01em;
    line-height: 1.75;
    margin-bottom: 24px;
  }
}
main.company .recruit-banner__text .c-more-btn {
  background: none;
  border-color: #fff;
  transition: background-color 0.3s, color 0.3s;
}
main.company .recruit-banner__text .c-more-btn:hover {
  color: #fff;
}

main.consulting {
  overflow: hidden;
}
main.consulting .btn-col {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 64px;
}
@media only screen and (max-width: 767px) {
  main.consulting .btn-col {
    flex-direction: column;
    gap: 16px;
    margin-top: 64px;
  }
}
main.consulting .btn-col > div {
  max-width: 384px;
  width: calc((100% - 40px) / 2);
}
@media only screen and (max-width: 767px) {
  main.consulting .btn-col > div {
    width: 100%;
    max-width: 100%;
  }
}
main.consulting .btn-col > div .c-btn {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  main.consulting .btn-col > div .c-btn {
    height: 46px;
    font-size: 15px;
    font-size: 1.5rem;
  }
}
main.consulting .btn-col > div small {
  margin-top: 8px;
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0.03em;
  line-height: 1.75;
  font-weight: 500;
  display: block;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  main.consulting .btn-col > div small {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: -0.01em;
    margin-top: 4px;
  }
}
main.consulting .main-visual {
  padding: 0 1.46412884vw 1.46412884vw;
  position: relative;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  main.consulting .main-visual {
    padding: 0 18px 54px;
  }
}
main.consulting .main-visual__bg {
  width: 100%;
  aspect-ratio: 1326/668;
}
@media only screen and (max-width: 767px) {
  main.consulting .main-visual__bg {
    aspect-ratio: 339/534;
  }
}
main.consulting .main-visual__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
main.consulting .main-visual__line {
  position: absolute;
  width: 52.63543192vw;
  top: -6.88140556vw;
  right: -5.92972182vw;
}
@media only screen and (max-width: 767px) {
  main.consulting .main-visual__line {
    width: 95.2%;
    top: auto;
    right: -4%;
    bottom: 5%;
  }
}
main.consulting .main-visual__line img {
  width: 100%;
}
main.consulting .main-visual__image {
  width: 37.04245974vw;
  aspect-ratio: 506/573;
  position: absolute;
  top: 3.22108346vw;
  right: 6.88140556vw;
}
@media only screen and (max-width: 767px) {
  main.consulting .main-visual__image {
    width: 69.33333333%;
    aspect-ratio: 260/290;
    top: auto;
    left: 50.3%;
    bottom: 13.0952381%;
    transform: translate(-50%, 0%);
  }
}
main.consulting .main-visual__image.is-active .parts {
  opacity: 1;
  transform: translate(0, 0);
}
main.consulting .main-visual__image .parts {
  position: absolute;
  opacity: 0;
  transform: translate(0, 20px);
  transition: opacity 0.6s, transform 0.6s;
}
main.consulting .main-visual__image .parts-01 {
  width: 82.60869565%;
  top: 6.63176265%;
  left: 8.69565217%;
}
@media only screen and (max-width: 767px) {
  main.consulting .main-visual__image .parts-01 {
    width: 92.69230769%;
    top: 3.44827586%;
    left: 3.46153846%;
  }
}
main.consulting .main-visual__image .parts-02 {
  width: 50.64031621%;
  top: -4.46684119%;
  right: 4.52411067%;
  transition-delay: 0.2s;
}
@media only screen and (max-width: 767px) {
  main.consulting .main-visual__image .parts-02 {
    width: 55.84615385%;
    top: -5.50344828%;
    right: -0.24615385%;
  }
}
main.consulting .main-visual__image .parts-03 {
  width: 54.59288538%;
  top: 10.51640489%;
  right: -10.89328063%;
  transition-delay: 0.2s;
}
@media only screen and (max-width: 767px) {
  main.consulting .main-visual__image .parts-03 {
    width: 57.46153846%;
    top: 8.08965517%;
    right: -11.38461538%;
  }
}
main.consulting .main-visual__image .parts-04 {
  width: 65.8458498%;
  left: -25.3083004%;
  bottom: 8.64572426%;
  transition-delay: 0.4s;
}
@media only screen and (max-width: 767px) {
  main.consulting .main-visual__image .parts-04 {
    width: 61.15384615%;
    left: -11.61538462%;
    bottom: 18.34482759%;
  }
}
main.consulting .main-visual__character {
  width: 18.88726208vw;
  position: absolute;
  right: 2.41581259vw;
  bottom: 1.46412884vw;
  transition-delay: 0.6s;
}
@media only screen and (max-width: 767px) {
  main.consulting .main-visual__character {
    width: 127px;
    right: 30px;
    bottom: 54px;
  }
}
main.consulting .main-visual__character video {
  display: block;
  width: 150%;
  position: relative;
  left: -23%;
}
@media only screen and (max-width: 767px) {
  main.consulting .main-visual__character video {
    width: 165%;
  }
}
main.consulting .main-visual__text {
  position: absolute;
  top: 6.66178624vw;
  left: 6.73499268vw;
  width: 38.72620791vw;
}
@media only screen and (max-width: 767px) {
  main.consulting .main-visual__text {
    top: 24px;
    left: 33px;
    width: 304px;
  }
}
main.consulting .main-visual__text h1 {
  margin-bottom: 2.19619327vw;
}
main.consulting .main-visual__text h1 .en {
  font-size: 2.92825769vw;
  letter-spacing: 0.03em;
  line-height: 1.6;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
  display: inline-block;
  margin-bottom: 0.87847731vw;
}
@media only screen and (max-width: 767px) {
  main.consulting .main-visual__text h1 .en {
    font-size: 20px;
    font-size: 2rem;
    margin-bottom: 4px;
  }
}
main.consulting .main-visual__text h1 .jp {
  font-size: 3.66032211vw;
  line-height: 1.6;
  font-weight: 500;
  display: block;
}
@media only screen and (max-width: 767px) {
  main.consulting .main-visual__text h1 .jp {
    font-size: 28px;
    font-size: 2.8rem;
  }
}
main.consulting .main-visual__text .c-text01 {
  font-size: 1.17130307vw;
}
main.consulting .main-visual__cv {
  position: absolute;
  left: 0;
  bottom: 0;
  background: #fff;
  padding: 1.46412884vw;
  display: flex;
  gap: 1.46412884vw;
}
@media only screen and (max-width: 767px) {
  main.consulting .main-visual__cv {
    left: 0;
    right: 0;
    bottom: 0px;
    padding: 12px 18px 0;
    gap: 12px;
  }
}
main.consulting .main-visual__cv .c-btn {
  width: 15.59297218vw;
  height: 4.75841874vw;
}
@media only screen and (max-width: 767px) {
  main.consulting .main-visual__cv .c-btn {
    width: calc((100% - 12px) / 2);
    height: 42px;
    font-size: 16px;
    font-size: 1.6rem;
  }
}
main.consulting .read {
  padding: 78px 0 72px;
}
@media only screen and (max-width: 767px) {
  main.consulting .read {
    padding: 64px 0 100px;
  }
}
main.consulting .read .inner {
  max-width: 1360px;
}
main.consulting .read__title {
  font-size: 56px;
  font-size: 5.6rem;
  line-height: 1.6;
  font-weight: 500;
  margin-bottom: 16px;
}
@media only screen and (max-width: 767px) {
  main.consulting .read__title {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.45;
    letter-spacing: 0.05em;
    margin-bottom: 20px;
    white-space: nowrap;
  }
}
main.consulting .read .article {
  margin: 34px 0 63px;
}
@media only screen and (max-width: 767px) {
  main.consulting .read .article {
    margin: 24px 0 40px;
  }
}
main.consulting .read .article img {
  width: 100%;
}
main.consulting .read__list {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
main.consulting .read__list li {
  width: calc((100% - 40px) / 2);
  padding: 20px 20px 28px;
  border: 1px solid #E0E0E0;
}
@media only screen and (max-width: 767px) {
  main.consulting .read__list li {
    width: 100%;
  }
}
main.consulting .read__list li .image {
  aspect-ratio: 580/280;
  background: linear-gradient(to top, #F5F8FF 50%, #F5F7FF 100%);
  margin-bottom: 24px;
}
main.consulting .read__list li .text .c-title04 {
  color: #185B99;
  margin-bottom: 16px;
}
@media only screen and (max-width: 767px) {
  main.consulting .read__list li .text .c-title04 {
    margin-bottom: 12px;
  }
}
main.consulting .how-it-works {
  background: #F7F7F7;
  padding: 100px 0;
}
@media only screen and (max-width: 767px) {
  main.consulting .how-it-works {
    padding: 80px 0;
  }
}
main.consulting .how-it-works .inner {
  max-width: 1240px;
}
main.consulting .how-it-works .c-sub-title {
  margin-bottom: 24px;
}
@media only screen and (max-width: 767px) {
  main.consulting .how-it-works .c-sub-title {
    margin-bottom: 16px;
  }
}
main.consulting .how-it-works .c-title02 {
  margin-bottom: 40px;
}
main.consulting .how-it-works .text-image {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 64px 0;
  border-top: 1px solid #BCBCBC;
}
@media only screen and (max-width: 767px) {
  main.consulting .how-it-works .text-image {
    padding: 40px 0;
    flex-direction: column;
  }
}
main.consulting .how-it-works .text-image:last-of-type {
  border-bottom: 1px solid #BCBCBC;
}
main.consulting .how-it-works .text-image .text {
  width: 48.27586207%;
}
@media only screen and (max-width: 767px) {
  main.consulting .how-it-works .text-image .text {
    width: 100%;
    order: 2;
    margin-top: 40px;
  }
}
main.consulting .how-it-works .text-image .text .number {
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #185B99;
  color: #fff;
  font-size: 32px;
  font-size: 3.2rem;
  letter-spacing: 0.03em;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  main.consulting .how-it-works .text-image .text .number {
    width: 40px;
    height: 40px;
    font-size: 20px;
    font-size: 2rem;
    margin-bottom: 16px;
  }
}
main.consulting .how-it-works .text-image .text .c-title03 {
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  main.consulting .how-it-works .text-image .text .c-title03 {
    margin-bottom: 16px;
  }
}
main.consulting .how-it-works .text-image .image {
  width: 48.27586207%;
  aspect-ratio: 560/340;
  position: relative;
}
@media only screen and (max-width: 767px) {
  main.consulting .how-it-works .text-image .image {
    width: 100%;
    aspect-ratio: 339/318;
  }
}
main.consulting .how-it-works .text-image .image.is-active .parts {
  opacity: 1;
  transform: translate(0, 0);
}
main.consulting .how-it-works .text-image .image .parts {
  position: absolute;
  opacity: 0;
  transform: translate(0, 20px);
  transition: opacity 0.6s, transform 0.6s;
}
main.consulting .how-it-works .text-image .image .parts-02 {
  transition-delay: 0.2s;
}
main.consulting .how-it-works .text-image .image .parts-03 {
  transition-delay: 0.4s;
}
main.consulting .how-it-works .text-image .image .parts-04 {
  transition-delay: 0.6s;
}
main.consulting .how-it-works .text-image .image-01 .parts-01 {
  width: 42.21428571%;
  right: -2%;
  bottom: -2%;
}
@media only screen and (max-width: 767px) {
  main.consulting .how-it-works .text-image .image-01 .parts-01 {
    width: 47.2079646%;
    right: -4%;
    bottom: -4%;
  }
}
main.consulting .how-it-works .text-image .image-01 .parts-02 {
  width: 71.5%;
  top: -5%;
  left: -5.19285714%;
}
@media only screen and (max-width: 767px) {
  main.consulting .how-it-works .text-image .image-01 .parts-02 {
    width: 90.8259587%;
    left: -2%;
    z-index: 1;
  }
}
main.consulting .how-it-works .text-image .image-01 .parts-03 {
  width: 3.57142857%;
  top: 39.75882353%;
  left: 26.5%;
}
main.consulting .how-it-works .text-image .image-01 .parts-04 {
  width: 62.92857143%;
  left: -2.5%;
  bottom: -1.95%;
}
@media only screen and (max-width: 767px) {
  main.consulting .how-it-works .text-image .image-01 .parts-04 {
    width: 62.45722714%;
    left: -2.8%;
    bottom: -4.1%;
  }
}
main.consulting .how-it-works .text-image .image-01 .parts-05 {
  width: 39.64285714%;
  top: 17.5%;
  right: -0.71428571%;
}
@media only screen and (max-width: 767px) {
  main.consulting .how-it-works .text-image .image-01 .parts-05 {
    width: 40.7079646%;
    top: auto;
    bottom: 0%;
    right: 0%;
  }
}
main.consulting .how-it-works .text-image .image-01 .parts-05 video {
  width: 100%;
  display: block;
  object-fit: cover;
  object-position: top center;
  aspect-ratio: 222/275;
}
@media only screen and (max-width: 767px) {
  main.consulting .how-it-works .text-image .image-01 .parts-05 video {
    aspect-ratio: 138/148;
  }
}
main.consulting .how-it-works .text-image .image-02 .parts-01 {
  width: 92.5%;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 767px) {
  main.consulting .how-it-works .text-image .image-02 .parts-01 {
    width: 91.74041298%;
    top: auto;
    bottom: 0;
  }
}
main.consulting .how-it-works .text-image .image-02 .parts-02 {
  width: 53.25%;
  top: 3.25882353%;
  right: -5.01428571%;
}
@media only screen and (max-width: 767px) {
  main.consulting .how-it-works .text-image .image-02 .parts-02 {
    width: 69.71681416%;
    top: -4%;
    right: -4%;
  }
}
main.consulting .how-it-works .text-image .image-02 .parts-03 {
  width: 52.57857143%;
  top: 30.58823529%;
  right: 0.67857143%;
}
@media only screen and (max-width: 767px) {
  main.consulting .how-it-works .text-image .image-02 .parts-03 {
    width: 57.03244838%;
    top: 28.93081761%;
    right: 0;
  }
}
main.consulting .how-it-works .text-image .image-03 .parts-01 {
  width: 100%;
  top: 0;
  left: 0;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  main.consulting .how-it-works .text-image .image-03 .parts-01 {
    width: 104%;
    top: -2%;
    left: -2%;
  }
}
main.consulting .how-it-works .text-image .image-03 .parts-02 {
  width: 34.64285714%;
  top: 42.20588235%;
  left: 32.67857143%;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  main.consulting .how-it-works .text-image .image-03 .parts-02 {
    width: 36.57817109%;
    top: 44.49685535%;
    left: 31.85840708%;
  }
}
main.consulting .how-it-works .text-image .image-03 .parts-03 {
  width: 73.92857143%;
  top: -10.88235294%;
  left: 13.03571429%;
}
@media only screen and (max-width: 767px) {
  main.consulting .how-it-works .text-image .image-03 .parts-03 {
    width: 100%;
    top: -3.13479624%;
    left: 0;
  }
}
main.consulting .coverage {
  padding: 120px 0 0;
}
@media only screen and (max-width: 767px) {
  main.consulting .coverage {
    padding: 100px 0 0;
  }
}
main.consulting .coverage .col {
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  main.consulting .coverage .col {
    flex-direction: column;
  }
}
main.consulting .coverage .col .text {
  width: 48.27586207%;
}
@media only screen and (max-width: 767px) {
  main.consulting .coverage .col .text {
    width: 100%;
  }
}
main.consulting .coverage .col .text .c-sub-title {
  margin-bottom: 24px;
}
main.consulting .coverage .col .text .c-title02 {
  margin-bottom: 24px;
}
@media only screen and (max-width: 767px) {
  main.consulting .coverage .col .text .c-title02 {
    margin-bottom: 16px;
  }
}
main.consulting .coverage .col .image {
  width: 48.27586207%;
}
@media only screen and (max-width: 767px) {
  main.consulting .coverage .col .image {
    width: 100%;
    margin-bottom: 20px;
  }
}
main.consulting .coverage__list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
@media only screen and (max-width: 767px) {
  main.consulting .coverage__list {
    flex-direction: column;
    gap: 20px;
  }
}
main.consulting .coverage__list.is-active li {
  opacity: 1;
  transform: translate(0, 0);
}
main.consulting .coverage__list > li {
  width: calc((100% - 48px) / 3);
  border: 1px solid #E0E0E0;
  opacity: 0;
  transform: translate(0, 20px);
  transition: opacity 0.6s, transform 0.6s;
}
@media only screen and (max-width: 767px) {
  main.consulting .coverage__list > li {
    width: 100%;
  }
}
main.consulting .coverage__list > li:nth-of-type(2) {
  transition-delay: 0.2s;
}
main.consulting .coverage__list > li:nth-of-type(3) {
  transition-delay: 0.4s;
}
main.consulting .coverage__list > li:nth-of-type(4) {
  transition-delay: 0.6s;
}
main.consulting .coverage__list > li:nth-of-type(5) {
  transition-delay: 0.8s;
}
main.consulting .coverage__list > li:nth-of-type(6) {
  transition-delay: 1s;
}
main.consulting .coverage__list > li dl dt {
  background: #F7F7F7;
  display: flex;
  align-items: center;
  padding: 10px 20px;
}
@media only screen and (max-width: 767px) {
  main.consulting .coverage__list > li dl dt {
    padding: 8px 20px;
  }
}
main.consulting .coverage__list > li dl dt i {
  width: 80px;
  margin-right: 24px;
}
@media only screen and (max-width: 767px) {
  main.consulting .coverage__list > li dl dt i {
    width: 64px;
  }
}
main.consulting .coverage__list > li dl dt .c-title05 {
  color: #185B99;
}
main.consulting .coverage__list > li dl dd {
  padding: 20px;
}
@media only screen and (max-width: 767px) {
  main.consulting .coverage__list > li dl dd {
    padding: 16px 20px;
  }
}
main.consulting .coverage__list > li dl dd .right {
  text-align: right;
}
@media only screen and (max-width: 767px) {
  main.consulting .coverage__list > li dl dd .right {
    margin-top: -2px;
  }
}
main.consulting .use-cases {
  padding: 80px 0 120px;
}
@media only screen and (max-width: 767px) {
  main.consulting .use-cases {
    padding: 80px 0;
  }
}
main.consulting .use-cases .c-sub-title {
  margin-bottom: 24px;
}
@media only screen and (max-width: 767px) {
  main.consulting .use-cases .c-sub-title {
    margin-bottom: 12px;
  }
}
main.consulting .use-cases .c-title02 {
  margin-bottom: 16px;
}
@media only screen and (max-width: 767px) {
  main.consulting .use-cases .c-title02 {
    margin-bottom: 24px;
  }
}
main.consulting .use-cases__box {
  display: flex;
  gap: 40px;
}
@media only screen and (max-width: 767px) {
  main.consulting .use-cases__box {
    gap: 24px;
    flex-wrap: wrap;
  }
}
main.consulting .use-cases__box dl {
  width: calc((100% - 80px) / 3);
}
@media only screen and (max-width: 767px) {
  main.consulting .use-cases__box dl {
    width: 100%;
  }
}
main.consulting .use-cases__box dl dt {
  border-bottom: 1px solid #BCBCBC;
  padding-bottom: 20px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  main.consulting .use-cases__box dl dt.is-active:after {
    opacity: 0;
  }
}
@media only screen and (max-width: 767px) {
  main.consulting .use-cases__box dl dt:before {
    content: "";
    width: 21px;
    height: 1px;
    display: block;
    background: #185B99;
    position: absolute;
    bottom: 49px;
    right: 6px;
  }
}
@media only screen and (max-width: 767px) {
  main.consulting .use-cases__box dl dt:after {
    content: "";
    width: 1px;
    height: 21px;
    display: block;
    background: #185B99;
    position: absolute;
    bottom: 39px;
    right: 16px;
  }
}
main.consulting .use-cases__box dl dt small {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.03em;
  line-height: 1.25;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
  color: #185B99;
  display: block;
  margin-bottom: 12px;
}
main.consulting .use-cases__box dl dt .c-title04 {
  padding-left: 17px;
  position: relative;
}
main.consulting .use-cases__box dl dt .c-title04:before {
  content: "";
  width: 5px;
  height: calc(100% - 14px);
  display: inline-block;
  background: #185B99;
  position: absolute;
  top: 8px;
  left: 0;
}
@media only screen and (max-width: 767px) {
  main.consulting .use-cases__box dl dt .c-title04:before {
    height: 100%;
    top: 0;
  }
}
main.consulting .use-cases__box dl dd {
  padding-top: 24px;
}
@media only screen and (max-width: 767px) {
  main.consulting .use-cases__box dl dd {
    padding-top: 20px;
    padding-bottom: 20px;
    display: none;
  }
}
main.consulting .use-cases__box dl dd .label {
  display: inline-block;
  background: #185B99;
  color: #fff;
  padding: 1px 12px;
  margin-bottom: 12px;
}
@media only screen and (max-width: 767px) {
  main.consulting .use-cases__box dl dd .label {
    padding: 2px 8px;
  }
}
main.consulting .use-cases__box dl dd .blue {
  color: #185B99;
}
main.consulting .use-cases__box dl dd ul {
  margin-bottom: 24px;
}
main.consulting .use-cases__box dl dd ul li {
  padding-left: 1.4em;
  position: relative;
}
main.consulting .use-cases__box dl dd ul li:before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0.2em;
}
main.consulting .case {
  padding: 80px 0;
  background: #F5F5F5;
}
main.consulting .case .c-sub-title {
  margin-bottom: 24px;
}
@media only screen and (max-width: 767px) {
  main.consulting .case .c-sub-title {
    margin-bottom: 12px;
  }
}
main.consulting .case .c-title02 {
  margin-bottom: 16px;
}
@media only screen and (max-width: 767px) {
  main.consulting .case .c-title02 {
    margin-bottom: 24px;
  }
}
main.consulting .case .c-more-btn {
  margin: 40px auto 0;
}
@media only screen and (max-width: 767px) {
  main.consulting .c-case-list {
    gap: 40px;
  }
}
main.consulting .c-case-list li {
  width: calc((100% - 48px) / 3);
  margin-top: 16px;
}
@media only screen and (max-width: 767px) {
  main.consulting .c-case-list li {
    width: 100%;
    margin-top: 0;
  }
}

main.contact {
  padding-bottom: 160px;
}
@media only screen and (max-width: 767px) {
  main.contact {
    padding-bottom: 80px;
  }
}
main.contact .c-head__title .c-text01 {
  margin: 56px 0 16px;
  max-width: 539px;
}
@media only screen and (max-width: 767px) {
  main.contact .c-head__title .c-text01 {
    margin: 40px 0 16px;
  }
}
main.contact .c-head__title .c-more-btn {
  margin-top: 80px;
}
@media only screen and (max-width: 767px) {
  main.contact .c-head__title .c-more-btn {
    margin-top: 50px;
  }
}
main.contact .cont .inner {
  max-width: 980px;
}

main.downloads {
  padding-bottom: 160px;
}
@media only screen and (max-width: 767px) {
  main.downloads {
    padding-bottom: 80px;
  }
}
main.downloads .cont .inner {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  main.downloads .cont .inner {
    display: block;
  }
}
main.downloads .cont .inner .left {
  width: 47.5862069%;
}
@media only screen and (max-width: 767px) {
  main.downloads .cont .inner .left {
    width: 100%;
  }
}
main.downloads .cont .inner .left .c-text01 {
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  main.downloads .cont .inner .left .c-text01 {
    margin-bottom: 24px;
  }
}
main.downloads .cont .inner .left .image {
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  main.downloads .cont .inner .left .image {
    margin-bottom: 24px;
  }
}
main.downloads .cont .inner .left .c-title04 {
  margin-bottom: 16px;
}
main.downloads .cont .inner .right {
  width: 48.96551724%;
}
@media only screen and (max-width: 767px) {
  main.downloads .cont .inner .right {
    width: 100%;
    margin-top: 40px;
  }
}
main.downloads .cont .inner .right .c-form-area {
  padding: 40px;
}
@media only screen and (max-width: 767px) {
  main.downloads .cont .inner .right .c-form-area {
    padding: 40px 24px;
  }
}
main.downloads .cont .inner .right .c-form-area table {
  display: block;
}
main.downloads .cont .inner .right .c-form-area table tbody {
  display: block;
}
main.downloads .cont .inner .right .c-form-area table tbody tr {
  display: block;
  padding: 24px 0;
}
@media only screen and (max-width: 767px) {
  main.downloads .cont .inner .right .c-form-area table tbody tr {
    padding: 16px 0;
  }
}
main.downloads .cont .inner .right .c-form-area table tbody tr:first-of-type {
  padding-top: 0;
}
main.downloads .cont .inner .right .c-form-area table tbody tr th {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 12px;
}
main.downloads .cont .inner .right .c-form-area table tbody tr td {
  display: block;
  width: 100%;
  padding: 0;
}

main.feature .main-visual {
  padding: 0 20px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  main.feature .main-visual {
    padding: 0 18px;
  }
}
main.feature .main-visual__image {
  height: 450px;
}
@media only screen and (max-width: 767px) {
  main.feature .main-visual__image {
    height: 264px;
  }
}
main.feature .main-visual__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
main.feature .main-visual__text {
  background: #fff;
  padding: 18px 38px 0 23px;
  position: absolute;
  left: 20px;
  bottom: 0;
}
@media only screen and (max-width: 767px) {
  main.feature .main-visual__text {
    padding: 13px 18px 0 0px;
    left: 18px;
  }
}
main.feature .c-breadcrumb {
  padding: 24px 0;
}
main.feature .btn-col {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 64px;
}
@media only screen and (max-width: 767px) {
  main.feature .btn-col {
    flex-direction: column;
    gap: 16px;
    margin-top: 50px;
  }
}
main.feature .btn-col > div {
  max-width: 384px;
  width: calc((100% - 40px) / 2);
}
@media only screen and (max-width: 767px) {
  main.feature .btn-col > div {
    width: 100%;
    max-width: 100%;
  }
}
main.feature .btn-col > div .c-btn {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  main.feature .btn-col > div .c-btn {
    height: 46px;
    font-size: 15px;
    font-size: 1.5rem;
  }
}
main.feature .btn-col > div small {
  margin-top: 8px;
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0.03em;
  line-height: 1.75;
  font-weight: 500;
  display: block;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  main.feature .btn-col > div small {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: -0.01em;
    margin-top: 4px;
  }
}
main.feature .read {
  padding: 16px 0 100px;
}
@media only screen and (max-width: 767px) {
  main.feature .read {
    padding-bottom: 80px;
  }
}
main.feature .read .col {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
  main.feature .read .col {
    flex-direction: column;
    gap: 24px;
    margin-bottom: 24px;
  }
}
main.feature .read .col h2 {
  width: calc(100% - 371px);
  font-size: 46px;
  font-size: 4.6rem;
  line-height: 1.6;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  main.feature .read .col h2 {
    width: 100%;
    font-size: 26px;
    font-size: 2.6rem;
  }
}
main.feature .read .col .c-text01 {
  width: 100%;
  max-width: 457px;
  margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
  main.feature .read .col .c-text01 {
    margin-bottom: 0;
  }
}
main.feature .read .article {
  margin: 50px auto 50px;
}
@media only screen and (max-width: 767px) {
  main.feature .read .article {
    margin: 24px auto 40px;
  }
}
main.feature .read .text-image {
  display: flex;
  align-items: flex-start;
  gap: 50px;
  margin-bottom: 60px;
}
@media only screen and (max-width: 767px) {
  main.feature .read .text-image {
    flex-direction: column;
    gap: 20px;
    margin-bottom: 40px;
  }
}
main.feature .read .text-image .text {
  width: 40.34482759%;
  padding-top: 55px;
}
@media only screen and (max-width: 767px) {
  main.feature .read .text-image .text {
    width: 100%;
    padding-top: 0;
  }
}
main.feature .read .text-image .text .c-title03 {
  margin-bottom: 24px;
}
main.feature .read .text-image .image {
  width: 55.34482759%;
  position: relative;
  aspect-ratio: 642/420;
}
@media only screen and (max-width: 767px) {
  main.feature .read .text-image .image {
    width: 100%;
  }
}
main.feature .read .text-image .image.is-active .parts {
  opacity: 1;
  transform: translate(0, 0);
}
main.feature .read .text-image .image .parts {
  position: absolute;
  opacity: 0;
  transform: translate(0, 20px);
  transition: opacity 0.6s, transform 0.6s;
}
main.feature .read .text-image .image .parts-01 {
  width: 96.105919%;
  left: 0;
  bottom: -2.38095238%;
}
main.feature .read .text-image .image .parts-02 {
  width: 47.105919%;
  top: -6.47619048%;
  left: 14.33021807%;
  transition-delay: 0.2s;
}
main.feature .read .text-image .image .parts-03 {
  width: 39.16199377%;
  top: 3.66190476%;
  right: -1.6576324%;
  transition-delay: 0.2s;
}
main.feature .read .text-image .image .parts-04 {
  width: 31.8411215%;
  right: 0.5%;
  bottom: 7.14285714%;
  transition-delay: 0.2s;
}
main.feature .read .point dl {
  border-top: 1px solid #E0E0E0;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  main.feature .read .point dl {
    display: block;
    padding: 24px 16px;
    position: relative;
  }
}
main.feature .read .point dl:last-of-type {
  border-bottom: 1px solid #E0E0E0;
}
main.feature .read .point dl dt {
  width: 176px;
  padding: 0 24px;
}
@media only screen and (max-width: 767px) {
  main.feature .read .point dl dt {
    width: auto;
    padding: 0;
    position: absolute;
    top: 20px;
    left: 16px;
  }
}
main.feature .read .point dl dt span {
  font-size: 90px;
  font-size: 9rem;
  letter-spacing: 0.11em;
  line-height: 1.6;
  font-weight: 300;
  font-family: "Montserrat", sans-serif;
  color: #185B99;
}
@media only screen and (max-width: 767px) {
  main.feature .read .point dl dt span {
    font-size: 40px;
    font-size: 4rem;
    letter-spacing: 0.07em;
  }
}
main.feature .read .point dl dd {
  width: calc(100% - 176px);
  padding: 40px 24px 40px 0;
}
@media only screen and (max-width: 767px) {
  main.feature .read .point dl dd {
    width: 100%;
    padding: 0;
  }
}
main.feature .read .point dl dd .c-title04 {
  margin-bottom: 10px;
  color: #185B99;
}
@media only screen and (max-width: 767px) {
  main.feature .read .point dl dd .c-title04 {
    padding-left: 64px;
  }
}
main.feature .bg-gray {
  background: #F7F7F7;
  padding: 100px 0;
}
@media only screen and (max-width: 767px) {
  main.feature .bg-gray {
    padding: 80px 0;
  }
}
main.feature .what-we-do .c-title02 {
  margin: 12px 0 40px;
}
@media only screen and (max-width: 767px) {
  main.feature .what-we-do .c-title02 {
    margin-bottom: 24px;
  }
}
main.feature .what-we-do__list {
  display: flex;
  gap: 24px;
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  main.feature .what-we-do__list {
    flex-direction: column;
    gap: 40px;
    margin-top: 24px;
  }
}
main.feature .what-we-do__list li {
  width: calc((100% - 48px) / 3);
  background: #fff;
}
@media only screen and (max-width: 767px) {
  main.feature .what-we-do__list li {
    width: 100%;
  }
}
main.feature .what-we-do__list li .text {
  background: #fff;
  padding: 24px;
}
@media only screen and (max-width: 767px) {
  main.feature .what-we-do__list li .text {
    padding: 16px 20px 20px;
  }
}
main.feature .what-we-do__list li .text .en {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
  display: inline-block;
  margin-bottom: 12px;
}
main.feature .what-we-do__list li .text .c-title04 {
  margin-bottom: 12px;
}
main.feature .what-we-do__list li .text .c-more-btn {
  margin-top: 24px;
  padding: 9px 48px 9px 12px;
}
main.feature .what-we-do__list li .text .c-more-btn span {
  font-size: 16px;
  font-size: 1.6rem;
}
main.feature .what-we-do__list li .text .c-more-btn svg {
  width: 36px;
  height: 36px;
}
main.feature .coverage {
  margin-top: 100px;
}
@media only screen and (max-width: 767px) {
  main.feature .coverage {
    margin-top: 64px;
  }
}
main.feature .coverage .c-sub-title {
  margin-bottom: 12px;
}
main.feature .coverage .c-border {
  margin: 40px 0;
}
@media only screen and (max-width: 767px) {
  main.feature .coverage .c-border {
    margin: 24px 0;
  }
}
main.feature .coverage .col {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 50px;
}
@media only screen and (max-width: 767px) {
  main.feature .coverage .col {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }
}
main.feature .coverage .col .c-text01 {
  width: 100%;
  max-width: 371px;
}
@media only screen and (max-width: 767px) {
  main.feature .coverage .col .c-text01 {
    max-width: 100%;
  }
}
main.feature .coverage .article {
  margin: 50px 0 60px;
}
@media only screen and (max-width: 767px) {
  main.feature .coverage .article {
    margin: 24px 0 64px;
  }
}
main.feature .coverage__list {
  display: flex;
  flex-wrap: wrap;
  gap: 26px 24px;
}
@media only screen and (max-width: 767px) {
  main.feature .coverage__list {
    flex-direction: column;
    gap: 24px;
  }
}
main.feature .coverage__list.is-active li {
  transform: translate(0, 0px);
  opacity: 1;
}
main.feature .coverage__list > li {
  padding: 25px 24px 20px;
  border: 1px solid #E0E0E0;
  border-top: none;
  background: #fff;
  width: calc((100% - 48px) / 3);
  position: relative;
  transform: translate(0, 20px);
  opacity: 0;
  transition: opacity 0.6s, transform 0.6s;
}
@media only screen and (max-width: 767px) {
  main.feature .coverage__list > li {
    padding-top: 22px;
    width: 100%;
  }
}
main.feature .coverage__list > li:before {
  content: "";
  width: calc(100% + 2px);
  height: 10px;
  display: block;
  background: #185B99;
  position: absolute;
  top: 0;
  left: -1px;
}
main.feature .coverage__list > li:nth-of-type(2) {
  transition-delay: 0.2s;
}
main.feature .coverage__list > li:nth-of-type(3) {
  transition-delay: 0.4s;
}
main.feature .coverage__list > li:nth-of-type(4) {
  transition-delay: 0.6s;
}
main.feature .coverage__list > li:nth-of-type(5) {
  transition-delay: 0.8s;
}
main.feature .coverage__list > li:nth-of-type(6) {
  transition-delay: 1s;
}
main.feature .coverage__list > li dl dt {
  padding-bottom: 20px;
  border-bottom: 1px solid #E0E0E0;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  main.feature .coverage__list > li dl dt {
    padding-bottom: 12px;
  }
}
main.feature .coverage__list > li dl dt i {
  width: 90px;
  margin-right: 24px;
}
@media only screen and (max-width: 767px) {
  main.feature .coverage__list > li dl dt i {
    width: 64px;
    margin-right: 16px;
  }
}
main.feature .coverage__list > li dl dt .c-title04 {
  color: #185B99;
}
main.feature .coverage__list > li dl dd {
  padding-top: 20px;
}
@media only screen and (max-width: 767px) {
  main.feature .coverage__list > li dl dd {
    padding-top: 12px;
  }
}
main.feature .coverage__list > li dl dd ul li {
  padding-left: 1.2em;
  position: relative;
  margin-bottom: 8px;
}
@media only screen and (max-width: 767px) {
  main.feature .coverage__list > li dl dd ul li {
    margin-bottom: 2px;
  }
}
main.feature .coverage__list > li dl dd ul li:last-of-type {
  margin-bottom: 0;
}
main.feature .coverage__list > li dl dd ul li:before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
main.feature .coverage__list > li dl dd p {
  text-align: right;
  margin-top: 4px;
}
@media only screen and (max-width: 767px) {
  main.feature .coverage__list > li dl dd p {
    margin-top: 0;
  }
}
main.feature .how-we-compare {
  padding: 100px 0 124px;
}
@media only screen and (max-width: 767px) {
  main.feature .how-we-compare {
    padding: 80px 0;
  }
}
main.feature .how-we-compare .c-title02 {
  margin: 16px 0 40px;
}
@media only screen and (max-width: 767px) {
  main.feature .how-we-compare .c-title02 {
    margin: 12px 0 24px;
  }
}
@media only screen and (min-width: 768px) {
  main.feature .how-we-compare .image-wrap {
    overflow: hidden;
  }
}
@media only screen and (max-width: 767px) {
  main.feature .how-we-compare .image-wrap {
    padding-bottom: 26px;
    margin-left: -18px;
    margin-right: -18px;
  }
}
@media only screen and (max-width: 767px) {
  main.feature .how-we-compare .image-wrap .image {
    padding: 0 18px;
    width: 836px;
  }
}
@media only screen and (max-width: 767px) {
  main.feature .how-we-compare .simplebar-track.simplebar-horizontal {
    background: #F7F7F7;
    overflow: visible;
    margin: 0 auto;
    width: calc(100% - 36px);
    height: 6px;
  }
}
@media only screen and (max-width: 767px) {
  main.feature .how-we-compare .simplebar-scrollbar {
    cursor: pointer;
    height: 6px !important;
    top: 0px !important;
    background: #E0E0E0 !important;
  }
}
@media only screen and (max-width: 767px) {
  main.feature .how-we-compare .simplebar-scrollbar:before {
    background: #E0E0E0 !important;
  }
}
main.feature .flow .c-border {
  background: #BCBCBC;
  margin: 80px 0;
}
main.feature .flow .c-sub-title {
  margin-bottom: 16px;
}
main.feature .flow .c-title03 {
  margin-bottom: 72px;
}
main.feature .flow__list {
  display: flex;
  gap: 25px;
}
main.feature .flow__list li {
  position: relative;
  padding: 38px 16px 24px;
  border-left: 2px solid #185B99;
  width: calc((100% - 75px) / 4);
  background: #fff;
}
main.feature .flow__list li:last-of-type:after {
  content: none;
}
main.feature .flow__list li:after {
  content: "";
  width: 12px;
  height: 14px;
  display: inline-block;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background: linear-gradient(to right, #185B99 59%, #938AFF 100%);
  position: absolute;
  top: 50%;
  right: -18px;
  transform: translate(0%, -50%);
}
main.feature .flow__list li .number {
  font-size: 72px;
  font-size: 7.2rem;
  letter-spacing: 0.03em;
  line-height: 1;
  font-family: "Montserrat", sans-serif;
  position: absolute;
  top: -44px;
  left: 11px;
}
main.feature .flow__list li p {
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0.03em;
  line-height: 1.75;
  margin-top: 12px;
}

main.model {
  overflow: hidden;
}
main.model .main-visual {
  padding: 0 20px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  main.model .main-visual {
    padding: 0 18px;
  }
}
main.model .main-visual__image {
  height: 450px;
}
@media only screen and (max-width: 767px) {
  main.model .main-visual__image {
    height: 264px;
  }
}
main.model .main-visual__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
main.model .main-visual__text {
  background: #fff;
  padding: 18px 38px 0 23px;
  position: absolute;
  left: 20px;
  bottom: 0;
}
@media only screen and (max-width: 767px) {
  main.model .main-visual__text {
    padding: 13px 18px 0 0px;
    left: 18px;
  }
}
main.model .c-breadcrumb {
  padding: 24px 0;
}
main.model .lead {
  padding: 16px 0 32px;
}
@media only screen and (max-width: 767px) {
  main.model .lead {
    padding-bottom: 25px;
  }
}
main.model .lead__col {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 48px;
  margin-bottom: 75px;
}
@media only screen and (max-width: 767px) {
  main.model .lead__col {
    display: block;
    margin-bottom: 40px;
  }
}
main.model .lead__col .c-title02 {
  width: 52%;
}
@media only screen and (max-width: 767px) {
  main.model .lead__col .c-title02 {
    width: 100%;
    margin-bottom: 24px;
  }
}
main.model .lead__col .c-text01 {
  width: 436px;
}
@media only screen and (max-width: 767px) {
  main.model .lead__col .c-text01 {
    width: 100%;
  }
}
main.model .model-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media only screen and (max-width: 767px) {
  main.model .model-list {
    grid-template-columns: 1fr;
  }
}
main.model .model-card {
  height: 100%;
  min-height: 408px;
  padding: 24px;
  border: 1px solid #E0E0E0;
  background: #fff;
}
@media only screen and (max-width: 767px) {
  main.model .model-card {
    height: auto;
    min-height: 0;
    padding: 20px 20px 16px;
  }
}
main.model .model-card__head {
  display: flex;
  justify-content: space-between;
  gap: 11px;
  margin-bottom: 16px;
}
@media only screen and (max-width: 767px) {
  main.model .model-card__head {
    margin-bottom: 12px;
  }
}
main.model .model-card__num {
  display: block;
  font-size: 20px;
  font-size: 2rem;
  letter-spacing: 0.03em;
  line-height: 1;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
  color: #185B99;
  margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
  main.model .model-card__num {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.25;
    margin-bottom: 4px;
  }
}
main.model .model-card__icon {
  width: 68px;
  height: 68px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  main.model .model-card__icon {
    width: 56px;
    height: 56px;
  }
}
main.model .model-card__icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
main.model .model-card > .c-text01 {
  margin-bottom: 16px;
}
@media only screen and (max-width: 767px) {
  main.model .model-card > .c-text01 {
    margin-bottom: 12px;
  }
}
main.model .model-card__target {
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0.02em;
  line-height: 1.75;
  font-weight: 500;
  color: #185B99;
  min-height: 42px;
  display: flex;
  align-items: center;
  background: #F7F7F7;
  border-left: 6px solid #185B99;
  padding: 7px 16px;
  margin-bottom: 16px;
}
@media only screen and (max-width: 767px) {
  main.model .model-card__target {
    font-size: 14px;
    font-size: 1.4rem;
    min-height: 42px;
    padding: 8px 13px;
    border-left: 3px solid #185B99;
  }
}
main.model .model-card__body h4 {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  line-height: 1.75;
  font-weight: 500;
  color: #185B99;
  margin-bottom: 12px;
}
@media only screen and (max-width: 767px) {
  main.model .model-card__body h4 {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: -0.01em;
    margin-bottom: 6px;
  }
}
main.model .model-card__body ul {
  margin-bottom: 0;
}
main.model .model-card__body li {
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
  font-weight: 500;
  color: #222;
  position: relative;
  padding-left: 16px;
  margin-bottom: 4px;
}
@media only screen and (max-width: 767px) {
  main.model .model-card__body li {
    font-size: 12px;
    font-size: 1.2rem;
    margin-bottom: 2px;
  }
}
main.model .model-card__body li:last-child {
  margin-bottom: 0;
}
main.model .model-card__body li:before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #000;
  position: absolute;
  top: 9px;
  left: 0;
}
@media only screen and (max-width: 767px) {
  main.model .model-card__body li:before {
    top: 8px;
  }
}
main.model .model-card__body span {
  display: block;
  font-size: 17.251px;
  font-size: 1.7251rem;
  letter-spacing: 0.02em;
  line-height: 1.75;
  font-weight: 500;
  text-align: right;
}
@media only screen and (max-width: 767px) {
  main.model .model-card__body span {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
main.model .plans {
  padding: 32px 0;
}
@media only screen and (max-width: 767px) {
  main.model .plans {
    padding: 25px 0;
  }
}
main.model .plans .inner {
  display: flex;
  justify-content: space-between;
  gap: 24px;
}
@media only screen and (max-width: 767px) {
  main.model .plans .inner {
    display: block;
  }
}
main.model .plans__text {
  width: 48.96551724%;
}
@media only screen and (max-width: 767px) {
  main.model .plans__text {
    width: 100%;
    margin-bottom: 24px;
  }
}
main.model .plans__text .c-sub-title {
  margin-bottom: 24px;
}
@media only screen and (max-width: 767px) {
  main.model .plans__text .c-sub-title {
    margin-bottom: 12px;
  }
}
main.model .plans__text .c-title03 {
  margin-bottom: 24px;
}
@media only screen and (max-width: 767px) {
  main.model .plans__text .c-title03 {
    margin-bottom: 12px;
  }
}
main.model .plans__figure {
  width: 48.96551724%;
  padding: 40px 39px 39.8px;
  background: #F5F8FF;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
@media only screen and (max-width: 767px) {
  main.model .plans__figure {
    width: 100%;
    padding: 23px;
  }
}
main.model .plans__figure i {
  display: block;
  width: 20px;
  margin: 21px auto;
  position: relative;
}
@media only screen and (max-width: 767px) {
  main.model .plans__figure i {
    width: 12px;
    margin: 13px auto;
  }
}
main.model .plans__figure i svg {
  display: block;
  width: 100%;
  height: auto;
}
main.model .plans .fee-box {
  width: 100%;
  min-height: 92px;
  padding: 12px 20px 12px;
  border: 1px solid transparent;
  border-image: linear-gradient(to right, #185B99 58.653%, #938AFF 100%) 1;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 2px 2px 10px rgba(24, 91, 153, 0.2);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  main.model .plans .fee-box {
    width: 100%;
    min-height: 54px;
    padding: 7px 12px;
  }
}
main.model .plans .fee-box small {
  display: block;
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.01em;
  line-height: 1.6;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
  color: #185B99;
  margin-bottom: 4px;
}
@media only screen and (max-width: 767px) {
  main.model .plans .fee-box small {
    font-size: 10px;
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 2px;
  }
}
main.model .plans .fee-box strong {
  display: inline-block;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  main.model .plans .fee-box strong {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
main.model .model-cta {
  padding: 32px 0 100px;
}
@media only screen and (max-width: 767px) {
  main.model .model-cta {
    padding: 25px 0 100px;
  }
}
main.model .model-cta__inner {
  min-height: 340px;
  padding: 32px;
  color: #fff;
  text-align: center;
  background: url(../img-webp/common/cv-area_bg.jpg.webp) center center/cover no-repeat;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  main.model .model-cta__inner {
    padding: 32px 18px 40px;
    background: url(../img-webp/common/cv-area_bg_sp.jpg.webp) center center/cover no-repeat;
  }
}
main.model .model-cta .c-title02 {
  margin-bottom: 16px;
}
@media only screen and (max-width: 767px) {
  main.model .model-cta .c-title02 {
    margin-bottom: 12px;
  }
}
@media only screen and (max-width: 767px) {
  main.model .model-cta .c-text01 {
    text-align: left;
  }
}
main.model .model-cta .btn-col {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin: 32px auto 0;
  width: 100%;
  max-width: 874px;
}
@media only screen and (max-width: 767px) {
  main.model .model-cta .btn-col {
    flex-direction: column;
    gap: 16px;
    margin-top: 20px;
  }
}
main.model .model-cta .btn-col > div {
  width: calc((100% - 24px) / 2);
}
@media only screen and (max-width: 767px) {
  main.model .model-cta .btn-col > div {
    width: 100%;
  }
}
main.model .model-cta .btn-col .c-btn {
  max-width: none;
}
main.model .model-cta .btn-col small {
  display: block;
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 0.03em;
  line-height: 1.75;
  font-weight: 500;
  margin-top: 8px;
}
@media only screen and (max-width: 767px) {
  main.model .model-cta .btn-col small {
    letter-spacing: -0.01em;
    margin-top: 4px;
  }
}
main.model .bg-gray {
  background: #F7F7F7;
}
main.model .flow {
  padding: 100px 0;
}
@media only screen and (max-width: 767px) {
  main.model .flow {
    padding: 60px 0;
  }
}
main.model .flow .inner {
  display: flex;
  align-items: flex-start;
  gap: 70px;
}
@media only screen and (max-width: 767px) {
  main.model .flow .inner {
    display: block;
  }
}
main.model .flow__title {
  width: 325px;
}
@media only screen and (max-width: 767px) {
  main.model .flow__title {
    width: 100%;
    margin-bottom: 32px;
  }
}
main.model .flow__title .c-sub-title {
  margin-bottom: 16px;
}
@media only screen and (max-width: 767px) {
  main.model .flow__title .c-sub-title {
    margin-bottom: 12px;
  }
}
main.model .flow__list {
  width: calc(100% - 395px);
  position: relative;
}
@media only screen and (max-width: 767px) {
  main.model .flow__list {
    width: 100%;
  }
}
main.model .flow__list li {
  display: flex;
  align-items: center;
  position: relative;
  padding: 24px 0;
}
@media only screen and (max-width: 767px) {
  main.model .flow__list li {
    padding: 24px 0 22px;
    flex-wrap: wrap;
  }
}
main.model .flow__list li:before {
  content: "";
  width: 1px;
  height: calc(100% - 0px);
  display: block;
  background: #185B99;
  position: absolute;
  top: 24px;
  left: 28px;
}
@media only screen and (max-width: 767px) {
  main.model .flow__list li:before {
    top: 50%;
    left: 18px;
  }
}
main.model .flow__list li:after {
  content: "";
  width: calc(100% - 82px);
  height: 1px;
  display: block;
  background: #BCBCBC;
  position: absolute;
  right: 0;
  bottom: 0;
}
@media only screen and (max-width: 767px) {
  main.model .flow__list li:after {
    width: calc(100% - 52px);
  }
}
main.model .flow__list li:first-child {
  padding-top: 0;
}
main.model .flow__list li:last-child {
  padding-bottom: 0;
}
main.model .flow__list li:last-child:before {
  content: none;
}
main.model .flow__list li:last-child:after {
  content: none;
}
main.model .flow__list li > div {
  width: calc(100% - 82px);
  display: flex;
}
@media only screen and (max-width: 767px) {
  main.model .flow__list li > div {
    width: calc(100% - 52px);
    flex-direction: column;
  }
}
main.model .flow__list .num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  font-size: 32px;
  font-size: 3.2rem;
  line-height: 1;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
  color: #fff;
  background: #185B99;
  position: relative;
  z-index: 1;
  margin-right: 26px;
}
@media only screen and (max-width: 767px) {
  main.model .flow__list .num {
    width: 36px;
    height: 36px;
    font-size: 24px;
    font-size: 2.4rem;
    margin-right: 16px;
  }
}
main.model .flow__list .c-title04 {
  color: #185B99;
  width: 257px;
}
@media only screen and (max-width: 767px) {
  main.model .flow__list .c-title04 {
    width: 100%;
    margin-bottom: 2px;
  }
}
main.model .flow__list .c-text01 {
  width: calc(100% - 257px);
}
@media only screen and (max-width: 767px) {
  main.model .flow__list .c-text01 {
    width: 100%;
  }
}
main.model .faq {
  padding: 100px 0 140px;
}
@media only screen and (max-width: 767px) {
  main.model .faq {
    padding: 60px 0 100px;
  }
}
main.model .faq .inner {
  display: flex;
  align-items: flex-start;
  gap: 70px;
}
@media only screen and (max-width: 767px) {
  main.model .faq .inner {
    display: block;
  }
}
main.model .faq__title {
  width: 325px;
}
@media only screen and (max-width: 767px) {
  main.model .faq__title {
    width: 100%;
    margin-bottom: 32px;
  }
}
main.model .faq__title .c-sub-title {
  margin-bottom: 16px;
}
@media only screen and (max-width: 767px) {
  main.model .faq__title .c-sub-title {
    margin-bottom: 12px;
  }
}
main.model .faq__list {
  width: calc(100% - 395px);
}
@media only screen and (max-width: 767px) {
  main.model .faq__list {
    width: 100%;
  }
}
main.model .faq__list dl {
  padding: 24px 12px;
  border-bottom: 1px solid #E0E0E0;
}
@media only screen and (max-width: 767px) {
  main.model .faq__list dl {
    padding: 16px 12px;
  }
}
main.model .faq__list dl:first-child {
  border-top: 1px solid #E0E0E0;
}
main.model .faq__list dt,
main.model .faq__list dd {
  display: flex;
  gap: 12px;
}
main.model .faq__list dt {
  align-items: center;
  margin-bottom: 12px;
}
@media only screen and (max-width: 767px) {
  main.model .faq__list dt {
    align-items: flex-start;
  }
}
main.model .faq__list dt p {
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: 0.02em;
  line-height: 1.6;
  font-weight: 500;
  color: #185B99;
}
@media only screen and (max-width: 767px) {
  main.model .faq__list dt p {
    font-size: 15px;
    font-size: 1.5rem;
  }
}
main.model .faq__list dd {
  align-items: flex-start;
}
main.model .faq__list dd p {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  line-height: 1.75;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  main.model .faq__list dd p {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: -0.01em;
  }
}
main.model .faq__list span {
  flex: 0 0 26px;
  font-size: 24px;
  font-size: 2.4rem;
  letter-spacing: 0.0125em;
  line-height: 1.2;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
  color: #185B99;
}
@media only screen and (max-width: 767px) {
  main.model .faq__list span {
    flex: 0 0 22px;
    font-size: 20px;
    font-size: 2rem;
    letter-spacing: -0.3px;
    line-height: 1.44;
    position: relative;
    top: -2px;
  }
}

main.news_detail .cont {
  padding: 20px 0 120px;
}
@media only screen and (max-width: 767px) {
  main.news_detail .cont {
    padding: 0 0 100px;
  }
}
main.news_detail .cont .inner {
  max-width: 980px;
}
main.news_detail .cont .date-cate {
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  main.news_detail .cont .date-cate {
    margin-bottom: 12px;
  }
}
main.news_detail .cont .date-cate .date {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  line-height: 1.75;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
  color: #5B5B5B;
}
@media only screen and (max-width: 767px) {
  main.news_detail .cont .date-cate .date {
    font-size: 13px;
    font-size: 1.3rem;
  }
}
main.news_detail .cont .date-cate .cate {
  margin-left: 16px;
  background: #185B99;
  color: #fff;
  display: inline-block;
  padding: 4px 8px;
}
@media only screen and (max-width: 767px) {
  main.news_detail .cont .date-cate .cate {
    padding: 2px 6px;
  }
}
main.news_detail .cont .c-title03 {
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  main.news_detail .cont .c-title03 {
    margin-bottom: 24px;
  }
}
main.news_detail .cont .thumbnail {
  margin-bottom: 40px;
}
main.news_detail .cont .thumbnail img {
  width: 100%;
}

main.news .cont {
  padding-bottom: 160px;
}
@media only screen and (max-width: 767px) {
  main.news .cont {
    padding-bottom: 100px;
  }
}
main.news .cont .c-cate-list {
  margin-bottom: 24px;
}
@media only screen and (max-width: 767px) {
  main.news .cont .c-cate-list {
    margin-bottom: 32px;
  }
}

main.ontology {
  overflow: hidden;
}
main.ontology .btn-col {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 64px;
}
@media only screen and (max-width: 767px) {
  main.ontology .btn-col {
    flex-direction: column;
    gap: 16px;
    margin-top: 64px;
  }
}
main.ontology .btn-col > div {
  max-width: 384px;
  width: calc((100% - 40px) / 2);
}
@media only screen and (max-width: 767px) {
  main.ontology .btn-col > div {
    width: 100%;
    max-width: 100%;
  }
}
main.ontology .btn-col > div .c-btn {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  main.ontology .btn-col > div .c-btn {
    height: 46px;
    font-size: 15px;
    font-size: 1.5rem;
  }
}
main.ontology .btn-col > div small {
  margin-top: 8px;
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0.03em;
  line-height: 1.75;
  font-weight: 500;
  display: block;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  main.ontology .btn-col > div small {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: -0.01em;
    margin-top: 4px;
  }
}
main.ontology .main-visual {
  padding: 0 1.46412884vw 1.46412884vw;
  position: relative;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  main.ontology .main-visual {
    padding: 0 18px 54px;
  }
}
main.ontology .main-visual__bg {
  width: 100%;
  aspect-ratio: 1326/668;
}
@media only screen and (max-width: 767px) {
  main.ontology .main-visual__bg {
    aspect-ratio: 339/534;
  }
}
main.ontology .main-visual__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
main.ontology .main-visual__line {
  position: absolute;
  width: 62.73792094vw;
  top: 3.22108346vw;
  right: -18.81405564vw;
}
@media only screen and (max-width: 767px) {
  main.ontology .main-visual__line {
    width: 109.86666667%;
    top: 35.37414966%;
    right: -23.46666667%;
  }
}
main.ontology .main-visual__line img {
  width: 100%;
}
main.ontology .main-visual__image {
  width: 37.04245974vw;
  aspect-ratio: 506/573;
  position: absolute;
  top: 3.22108346vw;
  right: 6.88140556vw;
}
@media only screen and (max-width: 767px) {
  main.ontology .main-visual__image {
    width: 69.33333333%;
    aspect-ratio: 260/290;
    top: 37.5%;
    left: 52%;
    transform: translate(-50%, 0%);
  }
}
main.ontology .main-visual__image.is-active .parts {
  opacity: 1;
  transform: translate(0, 0);
}
main.ontology .main-visual__image .parts {
  position: absolute;
  opacity: 0;
  transform: translate(0, 20px);
  transition: opacity 0.6s, transform 0.6s;
}
main.ontology .main-visual__image .parts-01 {
  width: 61.71936759%;
  top: 37.52181501%;
  left: 3.92885375%;
}
@media only screen and (max-width: 767px) {
  main.ontology .main-visual__image .parts-01 {
    width: 59%;
    top: 38%;
    left: 8%;
  }
}
main.ontology .main-visual__image .parts-02 {
  width: 49.64031621%;
  top: 35.17277487%;
  left: -12.04347826%;
  transition-delay: 0.2s;
}
@media only screen and (max-width: 767px) {
  main.ontology .main-visual__image .parts-02 {
    width: 46%;
    left: -7%;
  }
}
main.ontology .main-visual__image .parts-03 {
  width: 73.93675889%;
  top: 12.26352531%;
  left: -22.72727273%;
  transition-delay: 0.6s;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  main.ontology .main-visual__image .parts-03 {
    width: 70%;
    left: -16%;
  }
}
main.ontology .main-visual__image .parts-04 {
  width: 51.61660079%;
  top: 9.47120419%;
  right: 9.45059289%;
  transition-delay: 0.2s;
}
@media only screen and (max-width: 767px) {
  main.ontology .main-visual__image .parts-04 {
    width: 48%;
    top: 10%;
    right: 8.5%;
  }
}
main.ontology .main-visual__image .parts-05 {
  width: 57.77865613%;
  top: 28.66841187%;
  right: -13.69565217%;
  transition-delay: 0.2s;
}
main.ontology .main-visual__image .parts-06 {
  width: 68.40316206%;
  right: 2.75494071%;
  bottom: 9.29668412%;
  transition-delay: 0.4s;
}
main.ontology .main-visual__image .parts-07 {
  width: 68.40316206%;
  right: 10.06719368%;
  bottom: 17.84816754%;
  transition-delay: 0.6s;
}
main.ontology .main-visual__text {
  position: absolute;
  top: 6.66178624vw;
  left: 6.73499268vw;
  width: 38.72620791vw;
}
@media only screen and (max-width: 767px) {
  main.ontology .main-visual__text {
    top: 24px;
    left: 33px;
    width: 304px;
  }
}
main.ontology .main-visual__text h1 {
  margin-bottom: 2.19619327vw;
}
main.ontology .main-visual__text h1 .en {
  font-size: 2.92825769vw;
  letter-spacing: 0.03em;
  line-height: 1.6;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
  display: inline-block;
  margin-bottom: 0.87847731vw;
}
@media only screen and (max-width: 767px) {
  main.ontology .main-visual__text h1 .en {
    font-size: 20px;
    font-size: 2rem;
    margin-bottom: 4px;
  }
}
main.ontology .main-visual__text h1 .jp {
  font-size: 3.66032211vw;
  line-height: 1.6;
  font-weight: 500;
  display: block;
}
@media only screen and (max-width: 767px) {
  main.ontology .main-visual__text h1 .jp {
    font-size: 28px;
    font-size: 2.8rem;
  }
}
main.ontology .main-visual__text .c-text01 {
  font-size: 1.17130307vw;
}
main.ontology .main-visual__cv {
  position: absolute;
  left: 0;
  bottom: 0;
  background: #fff;
  padding: 1.46412884vw;
  display: flex;
  gap: 1.46412884vw;
}
@media only screen and (max-width: 767px) {
  main.ontology .main-visual__cv {
    left: 0;
    right: 0;
    bottom: 0px;
    padding: 12px 18px 0;
    gap: 12px;
  }
}
main.ontology .main-visual__cv .c-btn {
  width: 15.59297218vw;
  height: 4.75841874vw;
}
@media only screen and (max-width: 767px) {
  main.ontology .main-visual__cv .c-btn {
    width: calc((100% - 12px) / 2);
    height: 42px;
    font-size: 16px;
    font-size: 1.6rem;
  }
}
main.ontology .read {
  padding: 58px 0 100px;
}
@media only screen and (max-width: 767px) {
  main.ontology .read {
    padding: 64px 0 100px;
  }
}
main.ontology .read .inner {
  max-width: 1360px;
}
main.ontology .read .col {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 66px;
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  main.ontology .read .col {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 24px;
  }
}
main.ontology .read .col .c-text01 {
  max-width: 486px;
}
main.ontology .read__title {
  font-size: 56px;
  font-size: 5.6rem;
  line-height: 1.6;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  main.ontology .read__title {
    font-size: 28px;
    font-size: 2.8rem;
    letter-spacing: 0.05em;
    line-height: 1.45;
  }
}
main.ontology .read .article {
  margin: 0 auto 100px;
}
@media only screen and (max-width: 767px) {
  main.ontology .read .article {
    margin-bottom: 40px;
  }
}
main.ontology .read__list li {
  display: flex;
  justify-content: space-between;
  padding: 64px 0;
  border-top: 1px solid #E0E0E0;
}
@media only screen and (max-width: 767px) {
  main.ontology .read__list li {
    padding: 40px 0;
    flex-direction: column;
  }
}
main.ontology .read__list li:last-of-type {
  border-bottom: 1px solid #E0E0E0;
}
main.ontology .read__list li .text {
  width: 48%;
}
@media only screen and (max-width: 767px) {
  main.ontology .read__list li .text {
    width: 100%;
    order: 2;
    margin-top: 40px;
  }
}
main.ontology .read__list li .text .number {
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #185B99;
  color: #fff;
  font-size: 32px;
  font-size: 3.2rem;
  letter-spacing: 0.03em;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  main.ontology .read__list li .text .number {
    width: 40px;
    height: 40px;
    font-size: 20px;
    font-size: 2rem;
    margin-bottom: 16px;
  }
}
main.ontology .read__list li .text .c-title03 {
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  main.ontology .read__list li .text .c-title03 {
    margin-bottom: 16px;
  }
}
main.ontology .read__list li .image {
  width: 47.5%;
  aspect-ratio: 608/340;
}
@media only screen and (max-width: 767px) {
  main.ontology .read__list li .image {
    width: 100%;
    aspect-ratio: 339/220;
  }
}
main.ontology .read__list li .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
main.ontology .c-security .c-model {
  margin-top: 80px;
}
@media only screen and (max-width: 767px) {
  main.ontology .c-security .c-model {
    margin-top: 60px;
  }
}

main.privacy-policy .cont {
  padding-bottom: 160px;
}
@media only screen and (max-width: 767px) {
  main.privacy-policy .cont {
    padding-bottom: 76px;
  }
}
main.privacy-policy .cont .inner {
  max-width: 980px;
}
main.privacy-policy .cont dl {
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  main.privacy-policy .cont dl {
    margin-top: 32px;
  }
}
main.privacy-policy .cont dl dt {
  color: #185B99;
  padding-bottom: 20px;
  border-bottom: 1px solid #185B99;
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  main.privacy-policy .cont dl dt {
    padding-bottom: 16px;
    margin-bottom: 16px;
  }
}
main.privacy-policy .cont dl dd table {
  margin-top: 20px;
  width: 100%;
  border-bottom: 1px solid #C1C1C1;
  border-left: 1px solid #C1C1C1;
}
@media only screen and (max-width: 767px) {
  main.privacy-policy .cont dl dd table {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  main.privacy-policy .cont dl dd table tbody {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  main.privacy-policy .cont dl dd table tr {
    display: block;
  }
}
main.privacy-policy .cont dl dd table tr th {
  width: 224px;
  font-weight: 500;
  background: #F7F7F7;
  padding: 18px 12px;
  border-top: 1px solid #C1C1C1;
  border-right: 1px solid #C1C1C1;
}
@media only screen and (max-width: 767px) {
  main.privacy-policy .cont dl dd table tr th {
    width: 100%;
    display: block;
  }
}
main.privacy-policy .cont dl dd table tr td {
  width: calc(100% - 224px);
  font-weight: 500;
  padding: 18px 12px;
  border-top: 1px solid #C1C1C1;
  border-right: 1px solid #C1C1C1;
}
@media only screen and (max-width: 767px) {
  main.privacy-policy .cont dl dd table tr td {
    width: 100%;
    display: block;
  }
}
main.privacy-policy .cont dl dd table tr td ol {
  margin-bottom: 0;
}
main.privacy-policy .cont dl dd p {
  margin-top: 20px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  main.privacy-policy .cont dl dd p {
    margin-top: 16px;
  }
}
main.privacy-policy .cont dl dd p:first-child {
  margin-top: 0;
}
main.privacy-policy .cont dl dd p span {
  position: absolute;
  top: 0;
  left: 0;
}
main.privacy-policy .cont dl dd p.pl {
  padding-left: 2.4em;
}
main.privacy-policy .cont dl dd ul {
  margin-top: 12px;
}
@media only screen and (max-width: 767px) {
  main.privacy-policy .cont dl dd ul {
    margin-top: 6px;
  }
}
main.privacy-policy .cont dl dd ul:first-child {
  margin-top: 0;
}
main.privacy-policy .cont dl dd ul li {
  padding-left: 1.4em;
  position: relative;
}
main.privacy-policy .cont dl dd ul li:before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0.2em;
}
main.privacy-policy .cont dl dd ol {
  counter-reset: number 0;
  margin-top: 20px;
  margin-left: 0.5em;
  margin-bottom: 32px;
}
@media only screen and (max-width: 767px) {
  main.privacy-policy .cont dl dd ol {
    margin-top: 10px;
  }
}
main.privacy-policy .cont dl dd ol:first-child {
  margin-top: 0;
}
main.privacy-policy .cont dl dd ol li {
  padding-left: 1.4em;
  position: relative;
}
main.privacy-policy .cont dl dd ol li:before {
  counter-increment: number 1;
  content: counter(number) ".";
  position: absolute;
  top: 0;
  left: 0.2em;
}
main.privacy-policy .cont dl dd blockquote {
  background: #F7F7F7;
  border-radius: 4px;
  padding: 24px;
  margin: 40px 0;
}
@media only screen and (max-width: 767px) {
  main.privacy-policy .cont dl dd blockquote {
    padding: 16px;
  }
}
main.privacy-policy .cont dl dd blockquote .c-title05 {
  color: #185B99;
}

main.reseller {
  overflow: hidden;
}
main.reseller .btn-col {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 64px;
}
@media only screen and (max-width: 767px) {
  main.reseller .btn-col {
    flex-direction: column;
    gap: 16px;
    margin-top: 64px;
  }
}
main.reseller .btn-col > div {
  max-width: 384px;
  width: calc((100% - 40px) / 2);
}
@media only screen and (max-width: 767px) {
  main.reseller .btn-col > div {
    width: 100%;
    max-width: 100%;
  }
}
main.reseller .btn-col > div .c-btn {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  main.reseller .btn-col > div .c-btn {
    height: 46px;
    font-size: 15px;
    font-size: 1.5rem;
  }
}
main.reseller .btn-col > div small {
  margin-top: 8px;
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0.03em;
  line-height: 1.75;
  font-weight: 500;
  display: block;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  main.reseller .btn-col > div small {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: -0.01em;
    margin-top: 4px;
  }
}
main.reseller .main-visual {
  padding: 0 1.46412884vw 1.46412884vw;
  position: relative;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  main.reseller .main-visual {
    padding: 0 18px 54px;
  }
}
main.reseller .main-visual:after {
  content: "";
  width: 1.46412884vw;
  height: 100%;
  display: block;
  background: #fff;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  main.reseller .main-visual:after {
    content: "";
  }
}
main.reseller .main-visual__bg {
  width: 100%;
  aspect-ratio: 1326/668;
}
@media only screen and (max-width: 767px) {
  main.reseller .main-visual__bg {
    aspect-ratio: 339/534;
  }
}
main.reseller .main-visual__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
main.reseller .main-visual__line {
  position: absolute;
  width: 52.63543192vw;
  top: 3.22108346vw;
  right: 5.5636896vw;
}
@media only screen and (max-width: 767px) {
  main.reseller .main-visual__line {
    width: 103.46666667%;
    top: 35.37414966%;
    right: 10.4%;
  }
}
main.reseller .main-visual__line img {
  width: 100%;
}
main.reseller .main-visual__image {
  width: 54.46559297vw;
  aspect-ratio: 693/440;
  position: absolute;
  top: 8.33308931vw;
  right: -2.26939971vw;
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.8s;
  transition-delay: 0.4s;
}
main.reseller .main-visual__image.is-active {
  opacity: 1;
}
@media only screen and (max-width: 767px) {
  main.reseller .main-visual__image {
    width: calc(100vw - 36px);
    aspect-ratio: 339/270;
    top: auto;
    left: 50%;
    bottom: calc(54px + 6.1037415%);
    transform: translate(-50%, 0%);
  }
}
main.reseller .main-visual__image .reseller-slider {
  width: 33.80241935%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media only screen and (max-width: 767px) {
  main.reseller .main-visual__image .reseller-slider {
    width: 45.53097345%;
  }
}
main.reseller .main-visual__image .reseller-slider .swiper {
  overflow: visible;
}
main.reseller .main-visual__image .reseller-slider .swiper .swiper-slide {
  filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25));
  will-change: filter;
  padding: 0 12px;
}
@media only screen and (max-width: 767px) {
  main.reseller .main-visual__image .reseller-slider .swiper .swiper-slide {
    padding: 0;
  }
}
main.reseller .main-visual__image .reseller-slider .swiper .swiper-slide img {
  transition: transform 0.8s;
}
main.reseller .main-visual__image .reseller-slider .swiper .swiper-slide-duplicate-active, main.reseller .main-visual__image .reseller-slider .swiper .swiper-slide-active {
  z-index: 2;
}
main.reseller .main-visual__image .reseller-slider .swiper .swiper-slide-duplicate-active img, main.reseller .main-visual__image .reseller-slider .swiper .swiper-slide-active img {
  transform: scale(1.2875);
}
main.reseller .main-visual__text {
  position: absolute;
  top: 6.66178624vw;
  left: 6.73499268vw;
  width: 38.72620791vw;
}
@media only screen and (max-width: 767px) {
  main.reseller .main-visual__text {
    top: 24px;
    left: 33px;
    width: 304px;
  }
}
main.reseller .main-visual__text h1 {
  margin-bottom: 2.19619327vw;
}
main.reseller .main-visual__text h1 .en {
  font-size: 2.92825769vw;
  letter-spacing: 0.03em;
  line-height: 1.6;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
  display: inline-block;
  margin-bottom: 0.87847731vw;
}
@media only screen and (max-width: 767px) {
  main.reseller .main-visual__text h1 .en {
    font-size: 20px;
    font-size: 2rem;
    margin-bottom: 4px;
  }
}
main.reseller .main-visual__text h1 .jp {
  font-size: 3.66032211vw;
  line-height: 1.6;
  font-weight: 500;
  display: block;
}
@media only screen and (max-width: 767px) {
  main.reseller .main-visual__text h1 .jp {
    font-size: 28px;
    font-size: 2.8rem;
  }
}
main.reseller .main-visual__text .c-text01 {
  font-size: 1.17130307vw;
}
main.reseller .main-visual__cv {
  position: absolute;
  left: 0;
  bottom: 0;
  background: #fff;
  padding: 1.46412884vw;
  display: flex;
  gap: 1.46412884vw;
}
@media only screen and (max-width: 767px) {
  main.reseller .main-visual__cv {
    left: 0;
    right: 0;
    bottom: 0px;
    padding: 12px 18px 0;
    gap: 12px;
  }
}
main.reseller .main-visual__cv .c-btn {
  width: 15.59297218vw;
  height: 4.75841874vw;
}
@media only screen and (max-width: 767px) {
  main.reseller .main-visual__cv .c-btn {
    width: calc((100% - 12px) / 2);
    height: 42px;
    font-size: 16px;
    font-size: 1.6rem;
  }
}
main.reseller .read {
  padding: 58px 0 100px;
}
@media only screen and (max-width: 767px) {
  main.reseller .read {
    padding: 64px 0 100px;
  }
}
main.reseller .read .inner {
  max-width: 1360px;
}
main.reseller .read__title {
  font-size: 56px;
  font-size: 5.6rem;
  line-height: 1.6;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  main.reseller .read__title {
    font-size: 28px;
    font-size: 2.8rem;
    letter-spacing: 0.05em;
    line-height: 1.45;
  }
}
main.reseller .read .col {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 66px;
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  main.reseller .read .col {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 24px;
  }
}
main.reseller .read .col .c-text01 {
  max-width: 478px;
}
main.reseller .read .article {
  margin: 0 auto 63px;
}
@media only screen and (max-width: 767px) {
  main.reseller .read .article {
    margin-bottom: 40pxs;
  }
}
main.reseller .read__list {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
@media only screen and (max-width: 767px) {
  main.reseller .read__list {
    flex-direction: column;
  }
}
main.reseller .read__list li {
  width: calc((100% - 40px) / 2);
  padding: 20px 20px 28px;
  border: 1px solid #E0E0E0;
}
@media only screen and (max-width: 767px) {
  main.reseller .read__list li {
    width: 100%;
  }
}
main.reseller .read__list li .image {
  aspect-ratio: 580/280;
  background: linear-gradient(to top, #F5F8FF 50%, #F5F7FF 100%);
  margin-bottom: 24px;
}
main.reseller .read__list li .text .c-title04 {
  color: #185B99;
  margin-bottom: 16px;
}
@media only screen and (max-width: 767px) {
  main.reseller .read__list li .text .c-title04 {
    margin-bottom: 12px;
  }
}
main.reseller .bg-gray {
  background: #F7F7F7;
  padding: 100px 0;
}
@media only screen and (max-width: 767px) {
  main.reseller .bg-gray {
    padding: 80px 0;
  }
}
main.reseller .bg-gray .partner-network {
  margin-bottom: 80px;
}
@media only screen and (max-width: 767px) {
  main.reseller .bg-gray .partner-network {
    margin-bottom: 60px;
  }
}
main.reseller .bg-gray .partner-network .c-sub-title {
  margin-bottom: 24px;
}
@media only screen and (max-width: 767px) {
  main.reseller .bg-gray .partner-network .c-sub-title {
    margin-bottom: 16px;
  }
}
main.reseller .bg-gray .partner-network .c-title02 {
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  main.reseller .bg-gray .partner-network .c-title02 {
    margin-bottom: 32px;
  }
}
main.reseller .bg-gray .partner-network .slider-area {
  background: #fff;
  margin-bottom: 64px;
}
@media only screen and (max-width: 767px) {
  main.reseller .bg-gray .partner-network .slider-area {
    margin-bottom: 40px;
  }
}
main.reseller .bg-gray .partner-network__col {
  display: flex;
  gap: 24px;
}
@media only screen and (max-width: 767px) {
  main.reseller .bg-gray .partner-network__col {
    flex-direction: column;
  }
}
main.reseller .bg-gray .partner-network__col__box {
  width: calc(100% - 24px);
  background: #fff;
  border-radius: 2px;
  padding: 36px;
  text-align: center;
  filter: drop-shadow(2px 2px 5px rgba(24, 91, 153, 0.2));
  border: 1px solid;
  border-image: linear-gradient(to right, #185B99 59%, #938AFF 100%) 1;
}
@media only screen and (max-width: 767px) {
  main.reseller .bg-gray .partner-network__col__box {
    width: 100%;
    padding: 16px;
  }
}
main.reseller .bg-gray .partner-network__col__box .c-title04 {
  color: #185B99;
  margin-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  main.reseller .bg-gray .partner-network__col__box .c-title04 {
    margin-bottom: 24px;
  }
}
main.reseller .bg-gray .partner-network__col__box strong {
  font-size: 100px;
  font-size: 10rem;
  letter-spacing: -2.45px;
  line-height: 0.4;
  font-family: "Montserrat", sans-serif;
}
@media only screen and (max-width: 767px) {
  main.reseller .bg-gray .partner-network__col__box strong {
    font-size: 56px;
    font-size: 5.6rem;
  }
}
main.reseller .bg-gray .partner-network__col__box em {
  font-size: 90px;
  font-size: 9rem;
  letter-spacing: -2.45px;
  line-height: 0.44444444;
}
@media only screen and (max-width: 767px) {
  main.reseller .bg-gray .partner-network__col__box em {
    font-size: 48px;
    font-size: 4.8rem;
  }
}
main.reseller .bg-gray .partner-network__col__box small {
  font-size: 22px;
  font-size: 2.2rem;
  letter-spacing: 0.01em;
  line-height: 1.16363636;
  font-weight: 500;
  color: #185B99;
  margin-left: 4px;
}
@media only screen and (max-width: 767px) {
  main.reseller .bg-gray .partner-network__col__box small {
    font-size: 18px;
    font-size: 1.8rem;
    margin-left: 2px;
  }
}
main.reseller .bg-gray .ware {
  padding-bottom: 64px;
}
@media only screen and (max-width: 767px) {
  main.reseller .bg-gray .ware {
    padding-bottom: 60px;
  }
}
main.reseller .bg-gray .ware .c-sub-title {
  margin-bottom: 32px;
}
@media only screen and (max-width: 767px) {
  main.reseller .bg-gray .ware .c-sub-title {
    margin-bottom: 24px;
  }
}
main.reseller .bg-gray .solution {
  padding: 16px 0 0;
}
@media only screen and (max-width: 767px) {
  main.reseller .bg-gray .solution {
    padding: 0;
  }
}
main.reseller .bg-gray .solution .c-sub-title {
  margin-bottom: 24px;
}
@media only screen and (max-width: 767px) {
  main.reseller .bg-gray .solution .c-sub-title {
    margin-bottom: 16px;
  }
}
main.reseller .bg-gray .solution .c-title02 {
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  main.reseller .bg-gray .solution .c-title02 {
    margin-bottom: 32px;
  }
}
main.reseller .bg-gray .solution__list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
@media only screen and (max-width: 767px) {
  main.reseller .bg-gray .solution__list {
    flex-direction: column;
  }
}
main.reseller .bg-gray .solution__list dl {
  width: calc((100% - 48px) / 3);
  border: 1px solid #E0E0E0;
  background: #fff;
}
@media only screen and (max-width: 767px) {
  main.reseller .bg-gray .solution__list dl {
    width: 100%;
  }
}
main.reseller .bg-gray .solution__list dl dt {
  background: #F8F9FF;
  padding: 10px 20px;
  border-bottom: 1px solid #E0E0E0;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  main.reseller .bg-gray .solution__list dl dt {
    padding: 8px 16px;
  }
}
main.reseller .bg-gray .solution__list dl dt i {
  width: 80px;
  height: 80px;
  display: inline-block;
  margin-right: 24px;
}
@media only screen and (max-width: 767px) {
  main.reseller .bg-gray .solution__list dl dt i {
    width: 64px;
    height: 64px;
  }
}
main.reseller .bg-gray .solution__list dl dt .c-title05 {
  color: #185B99;
}
main.reseller .bg-gray .solution__list dl dd {
  padding: 20px;
}
@media only screen and (max-width: 767px) {
  main.reseller .bg-gray .solution__list dl dd {
    padding: 12px 16px;
  }
}
main.reseller .bg-gray .solution__list dl dd ul li {
  padding-left: 1.2em;
  position: relative;
  margin-bottom: 4px;
}
@media only screen and (max-width: 767px) {
  main.reseller .bg-gray .solution__list dl dd ul li {
    margin-bottom: 2px;
  }
}
main.reseller .bg-gray .solution__list dl dd ul li:before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0.1em;
}
main.reseller .bg-gray .solution__list dl dd p {
  text-align: right;
  margin-top: 4px;
}
@media only screen and (max-width: 767px) {
  main.reseller .bg-gray .solution__list dl dd p {
    margin-top: 0;
  }
}
main.reseller .flow {
  padding: 120px 0;
}
@media only screen and (max-width: 767px) {
  main.reseller .flow {
    padding: 100px 0 20px;
  }
}
main.reseller .flow .c-sub-title {
  margin-bottom: 16px;
}
main.reseller .flow .c-title02 {
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  main.reseller .flow .c-title02 {
    margin-bottom: 32px;
  }
}
main.reseller .flow__list {
  display: flex;
}
@media only screen and (max-width: 767px) {
  main.reseller .flow__list {
    flex-direction: column;
    gap: 20px;
  }
}
main.reseller .flow__list li {
  width: 20%;
  padding: 0 31px 0 14px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  main.reseller .flow__list li {
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 0 0 35px;
  }
}
@media only screen and (max-width: 767px) {
  main.reseller .flow__list li:last-of-type {
    padding-bottom: 0;
  }
}
main.reseller .flow__list li:last-of-type:after {
  content: "";
  width: 1px;
  height: calc(100% - 40px);
  display: block;
  background: #185B99;
  position: absolute;
  right: 0;
  bottom: 0;
  clip-path: none;
  top: auto;
  left: auto;
  transform: translate(0%, 0%);
}
@media only screen and (max-width: 767px) {
  main.reseller .flow__list li:last-of-type:after {
    content: none;
  }
}
main.reseller .flow__list li:before {
  content: "";
  width: 1px;
  height: calc(100% - 40px);
  display: block;
  background: #185B99;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media only screen and (max-width: 767px) {
  main.reseller .flow__list li:before {
    height: calc(100% - 45px);
    left: 30px;
  }
}
main.reseller .flow__list li:after {
  content: "";
  width: 12px;
  height: 14px;
  display: inline-block;
  background: #BCBCBC;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  position: absolute;
  top: 53%;
  right: 6px;
  transform: translate(0%, -50%);
}
@media only screen and (max-width: 767px) {
  main.reseller .flow__list li:after {
    width: 18px;
    height: 15px;
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    right: auto;
    top: auto;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 0);
  }
}
main.reseller .flow__list li .number {
  display: inline-block;
  font-size: 64px;
  font-size: 6.4rem;
  letter-spacing: 0.03em;
  font-family: "Montserrat", sans-serif;
  margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
  main.reseller .flow__list li .number {
    font-size: 44px;
    font-size: 4.4rem;
    margin-bottom: 0;
    width: 76px;
    position: relative;
    top: -8px;
    padding-left: 4px;
  }
}
main.reseller .flow__list li .c-title05 {
  color: #185B99;
  margin-bottom: 12px;
}
@media only screen and (max-width: 767px) {
  main.reseller .flow__list li .c-title05 {
    margin-bottom: 8px;
  }
}
@media only screen and (max-width: 767px) {
  main.reseller .flow__list li > div {
    width: calc(100% - 76px);
  }
}
@media only screen and (max-width: 767px) {
  main.reseller .flow .c-model {
    margin-top: 60px;
  }
}
main.reseller .c-whats-next {
  background: #F7F7F7;
}
main.reseller .c-whats-next .text-image .text {
  background: #fff;
}

main.top {
  overflow: hidden;
}
main.top .inner {
  max-width: 100vw;
  padding: 0 3.14787701vw;
}
@media only screen and (max-width: 767px) {
  main.top .inner {
    padding: 0 18px;
  }
}
main.top .c-title02 {
  font-size: min(3.36749634vw, 60px);
}
@media only screen and (max-width: 767px) {
  main.top .c-title02 {
    font-size: 26px;
    font-size: 2.6rem;
  }
}
main.top .main-visual {
  position: relative;
}
main.top .main-visual__wrap {
  padding: 0 1.46412884vw 1.46412884vw;
  position: relative;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  main.top .main-visual__wrap {
    padding: 0 18px 20px;
  }
}
main.top .main-visual__image {
  width: 100%;
  aspect-ratio: 1326/668;
}
@media only screen and (max-width: 767px) {
  main.top .main-visual__image {
    aspect-ratio: 339/511;
  }
}
main.top .main-visual__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
main.top .main-visual__movie {
  width: 70.05856515vw;
  position: absolute;
  top: -1.02489019vw;
  right: -3.07467057vw;
}
@media only screen and (max-width: 767px) {
  main.top .main-visual__movie {
    width: 131.73333333vw;
    top: 31.46666667vw;
    right: -10.93333333vw;
  }
}
main.top .main-visual__text {
  color: #fff;
  position: absolute;
  top: 0.58565154vw;
  left: 4.61200586vw;
}
@media only screen and (max-width: 767px) {
  main.top .main-visual__text {
    top: 6px;
    left: 33px;
  }
}
main.top .main-visual__text strong {
  font-size: 7.4670571vw;
  letter-spacing: 0.05em;
  line-height: 1.23;
  font-weight: 500;
  display: block;
}
@media only screen and (max-width: 767px) {
  main.top .main-visual__text strong {
    font-size: 54px;
    font-size: 5.4rem;
  }
}
main.top .main-visual__text strong em {
  font-size: 8.12591508vw;
}
@media only screen and (max-width: 767px) {
  main.top .main-visual__text strong em {
    font-size: 59px;
    font-size: 5.9rem;
  }
}
main.top .main-visual__text small {
  font-size: 1.68374817vw;
  letter-spacing: 0.03em;
  line-height: 1.2;
  font-family: "Montserrat", sans-serif;
  display: block;
  margin-top: 0.87847731vw;
}
@media only screen and (max-width: 767px) {
  main.top .main-visual__text small {
    font-size: 12px;
    font-size: 1.2rem;
    letter-spacing: 0.01em;
    margin-top: 4px;
  }
}
main.top .main-visual__character {
  position: absolute;
  left: 4.39238653vw;
  bottom: 7.68667643vw;
}
@media only screen and (max-width: 767px) {
  main.top .main-visual__character {
    left: 44px;
    bottom: 20px;
  }
}
main.top .main-visual__character__image {
  width: 25.91508053vw;
  position: relative;
  left: -20%;
}
@media only screen and (max-width: 767px) {
  main.top .main-visual__character__image {
    width: 180px;
    left: calc(-21% + 5px);
  }
}
main.top .main-visual__character__image video {
  display: block;
  width: 100%;
  height: auto;
}
main.top .main-visual__character__comment {
  width: max-content;
  position: absolute;
  height: 4.31918009vw;
  bottom: 12.66471449vw;
  left: 13.10395315vw;
  background: rgba(255, 255, 255, 0.1);
  padding: 0.53vw 1.75695461vw;
  border: 1px solid rgba(255, 255, 255, 0.5);
  color: #fff;
  font-size: 1.09809663vw;
  letter-spacing: 0.03em;
  line-height: 1.4;
  border-radius: 2.63543192vw 2.63543192vw 2.63543192vw 0;
  position: absolute;
  min-height: 2.8em;
}
main.top .main-visual__character__comment > div {
  display: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
main.top .main-visual__character__comment > div.is-typing-active {
  display: block;
  position: relative;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  animation: mvCommentFadeIn 0.35s ease both;
}
main.top .main-visual__character__comment .typing {
  position: relative;
  display: inline-block;
}
main.top .main-visual__character__comment .typing.is-typing::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 1em;
  background: currentColor;
  margin-left: 2px;
  vertical-align: -0.1em;
  animation: mvTypingCaret 1s steps(1) infinite;
}
main.top .main-visual__character__comment.is-bubble-hidden {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s, visibility 0.35s;
}
@media only screen and (max-width: 767px) {
  main.top .main-visual__character__comment {
    height: 40px;
    bottom: 154px;
    left: calc(30% + 10px);
    transform: translate(-50%, 0);
    padding: 4px 14px;
    font-size: 11px;
    font-size: 1.1rem;
    font-feature-settings: "palt";
    letter-spacing: 0;
    line-height: 1.4;
    border-radius: 100px;
    text-align: center;
    background: #4679BB;
  }
  main.top .main-visual__character__comment:before {
    content: "";
    width: 15px;
    height: 12px;
    display: inline-block;
    background: rgba(255, 255, 255, 0.5);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    position: absolute;
    bottom: -12px;
    left: 50%;
    transform: translate(-50%, 0%);
  }
  main.top .main-visual__character__comment:after {
    content: "";
    width: 11px;
    height: 10px;
    display: inline-block;
    background: #4679BB;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translate(-50%, 0%);
  }
}
main.top .main-visual__cv {
  position: absolute;
  left: 0;
  bottom: 0;
  background: #fff;
  padding: 1.46412884vw;
  display: flex;
  gap: 1.46412884vw;
}
@media only screen and (max-width: 767px) {
  main.top .main-visual__cv {
    left: auto;
    right: 18px;
    bottom: 20px;
    padding: 11px 0 0 11px;
    display: block;
  }
}
main.top .main-visual__cv .c-btn {
  width: 15.59297218vw;
  height: 4.75841874vw;
}
@media only screen and (max-width: 767px) {
  main.top .main-visual__cv .c-btn {
    width: 160px;
    height: 42px;
    margin-bottom: 12px;
    font-size: 16px;
    font-size: 1.6rem;
  }
  main.top .main-visual__cv .c-btn:last-of-type {
    margin-bottom: 0;
  }
}
main.top .main-visual__pickup {
  padding: 8px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(20px);
  position: absolute;
  width: 340px;
  right: 2.92825769vw;
  bottom: 2.92825769vw;
  border: 1px solid transparent;
  transition: background-color 0.3s, border-color 0.3s;
}
@media only screen and (max-width: 767px) {
  main.top .main-visual__pickup {
    position: static;
    width: calc(100% - 36px);
    background: #F7F7F7;
    border-color: #E0E0E0;
    align-items: center;
    margin: 0 auto 0px;
  }
}
main.top .main-visual__pickup:hover {
  background: rgba(255, 255, 255, 0.5);
  border-color: #fff;
}
main.top .main-visual__pickup .image {
  width: 44.75308642%;
  aspect-ratio: 145/82;
}
@media only screen and (max-width: 767px) {
  main.top .main-visual__pickup .image {
    width: 37.15170279%;
    aspect-ratio: 120/68;
  }
}
main.top .main-visual__pickup .image img {
  width: 100%;
  height: 100%;
}
main.top .main-visual__pickup .text {
  width: 52.16049383%;
}
@media only screen and (max-width: 767px) {
  main.top .main-visual__pickup .text {
    width: 59.75232198%;
  }
}
main.top .main-visual__pickup .text .title {
  font-size: 13px;
  font-size: 1.3rem;
  letter-spacing: 0.03em;
  line-height: 1.45;
  font-weight: 500;
  margin-bottom: 3px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3;
}
@media only screen and (max-width: 767px) {
  main.top .main-visual__pickup .text .title {
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.5;
    margin-bottom: 4px;
  }
}
main.top .main-visual__pickup .text .date {
  font-size: 12px;
  font-size: 1.2rem;
  letter-spacing: 0.02em;
  line-height: 1.75;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
}
@media only screen and (max-width: 767px) {
  main.top .main-visual__pickup .text .date {
    font-size: 10px;
    font-size: 1rem;
  }
}
main.top .main-visual__pickup .text svg {
  position: absolute;
  right: 8px;
  bottom: 14px;
}
@media only screen and (max-width: 767px) {
  main.top .main-visual__pickup .text svg {
    bottom: 18px;
  }
}
main.top .logo-slider-area {
  border-top: 1px solid #E3E3E3;
  border-bottom: 1px solid #E3E3E3;
}
@media only screen and (max-width: 767px) {
  /* MV 下端のピックアップ記事とロゴ帯が接しないよう間を空ける（記事が無いときは MV の下余白で足りるので空けない） */
  main.top .main-visual:has(.main-visual__pickup) + .logo-slider-area {
    margin-top: 24px;
  }
}
@keyframes mvCommentFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mvTypingCaret {
  0%, 49% {
    opacity: 1;
  }
  50%, 100% {
    opacity: 0;
  }
}
main.top .read {
  padding: 4.6852123vw 0 3.66032211vw;
}
@media only screen and (max-width: 767px) {
  main.top .read {
    padding: 40px 0 48px;
  }
}
main.top .read__catch {
  font-size: min(5.85651537vw, 100px);
  letter-spacing: 0.05em;
  line-height: 1.6;
  font-weight: 500;
  margin-top: 2.92825769vw;
  margin-bottom: 2.92825769vw;
}
@media only screen and (max-width: 767px) {
  main.top .read__catch {
    font-size: 40px;
    font-size: 4rem;
    line-height: 1.45;
    margin-top: 40px;
    margin-bottom: 40px;
  }
}
main.top .read__number {
  padding: 3.36749634vw 2.34260615vw 3.07467057vw;
  background: url(../img-webp/top/bg_blue.jpg.webp) center center/cover no-repeat;
}
@media only screen and (max-width: 767px) {
  main.top .read__number {
    padding: 20px;
    background: url(../img-webp/top/bg_blue_sp.jpg.webp) center center/cover no-repeat;
  }
}
main.top .read__number .number-list {
  display: flex;
  gap: 1.68374817vw;
}
@media only screen and (max-width: 767px) {
  main.top .read__number .number-list {
    flex-direction: column;
    gap: 12px;
  }
}
main.top .read__number .number-list li {
  width: calc((100% - 3.36749634vw) / 3);
  color: #fff;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 0.14641288vw;
  backdrop-filter: blur(1.46412884vw);
  padding: 1.83016105vw 1.83016105vw 1.17130307vw;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  main.top .read__number .number-list li {
    width: 100%;
    border-radius: 2px;
    padding: 24px 24px 20px;
    backdrop-filter: blur(20px);
  }
}
main.top .read__number .number-list li .c-title04 {
  display: block;
}
@media only screen and (max-width: 767px) {
  main.top .read__number .number-list li .c-title04 {
    font-size: 16px;
    font-size: 1.6rem;
    margin-bottom: 4px;
  }
}
main.top .read__number .number-list li strong {
  font-size: 100px;
  font-size: 10rem;
  letter-spacing: -0.17935578vw;
  font-family: "Montserrat", sans-serif;
}
@media only screen and (max-width: 767px) {
  main.top .read__number .number-list li strong {
    font-size: 56px;
    font-size: 5.6rem;
    letter-spacing: -2.45px;
  }
}
main.top .read__number .number-list li em {
  font-size: 90px;
  font-size: 9rem;
  letter-spacing: -0.17935578vw;
  margin-left: 8px;
  position: relative;
  top: -3px;
}
@media only screen and (max-width: 767px) {
  main.top .read__number .number-list li em {
    font-size: 50px;
    font-size: 5rem;
    letter-spacing: -2.45px;
    margin-left: 7px;
    top: -2px;
  }
}
main.top .read__number .number-list li small {
  font-size: 22px;
  font-size: 2.2rem;
  letter-spacing: 0.01em;
  line-height: 1.16363636;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  main.top .read__number .number-list li small {
    font-size: 16px;
    font-size: 1.6rem;
    margin-left: 5px;
  }
}
main.top .read .image {
  width: 85.78125%;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  main.top .read .image {
    width: 100%;
  }
}
main.top .read .image img {
  width: 100%;
}
main.top .read .c-more-btn {
  margin: 64px auto 0;
}
@media only screen and (max-width: 767px) {
  main.top .read .c-more-btn {
    margin-top: 32px;
  }
}
main.top .issue {
  padding: 3.66032211vw 0;
}
@media only screen and (max-width: 767px) {
  main.top .issue {
    padding: 32px 0 40px;
  }
}
main.top .issue .col {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  main.top .issue .col {
    display: block;
  }
}
main.top .issue .col .c-sub-title {
  width: 23.86530015vw;
}
@media only screen and (max-width: 767px) {
  main.top .issue .col .c-sub-title {
    width: 100%;
    margin-bottom: 20px;
  }
}
main.top .issue__list {
  width: calc(100% - 23.86530015vw);
  display: flex;
  flex-wrap: wrap;
  gap: 0.87847731vw;
}
@media only screen and (max-width: 767px) {
  main.top .issue__list {
    width: 100%;
    flex-direction: column;
    gap: 12px;
  }
}
main.top .issue__list li {
  width: calc((100% - 0.87847731vw) / 2);
  background: #F7F7F7;
  padding: 1.75695461vw;
  position: relative;
}
@media only screen and (max-width: 767px) {
  main.top .issue__list li {
    width: 100%;
    padding: 12px;
  }
}
main.top .issue__list li .num {
  font-size: 110px;
  font-size: 11rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
  font-weight: 300;
  font-family: "Montserrat", sans-serif;
  color: #EDECFF;
  position: absolute;
  top: 50%;
  right: 1.46412884vw;
  transform: translate(0%, -50%);
}
@media only screen and (max-width: 767px) {
  main.top .issue__list li .num {
    font-size: 80px;
    font-size: 8rem;
    right: 14px;
  }
}
main.top .issue__list li .c-title04 {
  color: #185B99;
  margin-bottom: 0.73206442vw;
  position: relative;
}
@media only screen and (max-width: 767px) {
  main.top .issue__list li .c-title04 {
    font-size: 15px;
    font-size: 1.5rem;
    letter-spacing: 0.01em;
    line-height: 1.6;
    margin-bottom: 4px;
  }
}
main.top .issue__list li .c-text01 {
  max-width: 25.47584187vw;
  position: relative;
}
@media only screen and (max-width: 767px) {
  main.top .issue__list li .c-text01 {
    max-width: 251px;
  }
}
main.top .feature {
  padding: 3.66032211vw 0 4.39238653vw;
}
@media only screen and (max-width: 767px) {
  main.top .feature {
    padding: 40px 0 32px;
  }
}
main.top .feature .col {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 2.92825769vw;
  margin-bottom: 2.92825769vw;
}
@media only screen and (max-width: 767px) {
  main.top .feature .col {
    display: block;
    margin: 24px 0 32px;
  }
}
main.top .feature .col .c-title02 {
  width: 60.546875%;
}
@media only screen and (max-width: 767px) {
  main.top .feature .col .c-title02 {
    width: 100%;
    max-width: 260px;
    margin-bottom: 16px;
  }
}
main.top .feature .col .c-text01 {
  max-width: 30.08784773vw;
  width: 39.453125%;
}
@media only screen and (max-width: 767px) {
  main.top .feature .col .c-text01 {
    max-width: 100%;
    width: 100%;
  }
}
main.top .feature .image {
  aspect-ratio: 990/607;
  margin: 4.6852123vw auto 0;
  max-width: 72.47437775vw;
}
@media only screen and (max-width: 767px) {
  main.top .feature .image {
    max-width: 100%;
    aspect-ratio: 339/208;
    margin-top: 32px;
  }
}
main.top .feature .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
main.top .feature .c-more-btn {
  margin: 2.92825769vw auto 0;
}
@media only screen and (max-width: 767px) {
  main.top .feature .c-more-btn {
    margin: 32px auto 0;
  }
}
main.top .service {
  padding: 4.39238653vw 0 7.32064422vw;
}
@media only screen and (max-width: 767px) {
  main.top .service {
    padding: 32px 0 60px;
  }
}
main.top .service .c-sub-title {
  margin-bottom: 2.34260615vw;
  width: 100%;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  main.top .service .c-sub-title {
    margin-bottom: 24px;
  }
}
main.top .service .fixed-area {
  width: 100%;
}
main.top .service__wrap {
  position: relative;
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
@media only screen and (max-width: 1280px) {
  main.top .service__wrap {
    height: auto;
  }
}
@media only screen and (max-width: 767px) {
  main.top .service__wrap {
    display: block;
    height: auto;
  }
}
main.top .service__wrap .progress {
  width: 56.328125%;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 1280px) {
  main.top .service__wrap .progress {
    display: none;
  }
}
main.top .service__wrap .progress:before {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background: #E0E0E0;
  position: absolute;
  top: 0;
  left: 0;
}
main.top .service__wrap .progress span {
  display: block;
  width: 0px;
  height: 1px;
  background: #000;
  position: absolute;
  top: 0;
  left: 0;
}
main.top .service__wrap .progress i {
  width: 0.87847731vw;
  height: 0.87847731vw;
  border: 1px solid #000;
  border-radius: 50%;
  position: absolute;
  top: -0.43923865vw;
  left: -0.43923865vw;
}
main.top .service__wrap .progress i:before {
  content: "";
  width: 0.43923865vw;
  height: 0.43923865vw;
  display: block;
  background: #000;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
main.top .service__content {
  position: relative;
  width: 100%;
  aspect-ratio: 1280/560;
}
@media only screen and (max-width: 767px) {
  main.top .service__content {
    aspect-ratio: auto;
  }
}
main.top .service__content__box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
@media only screen and (max-width: 1280px) {
  main.top .service__content__box {
    position: static;
    margin-bottom: 100px;
    pointer-events: auto;
  }
}
@media only screen and (max-width: 767px) {
  main.top .service__content__box {
    flex-direction: column;
    position: static;
    margin-bottom: 50px;
    border-top: 1px solid #E0E0E0;
    padding-top: 24px;
    pointer-events: auto;
  }
}
main.top .service__content__box.is-active {
  pointer-events: auto;
}
@media only screen and (min-width: 768px) {
  main.top .service__content__box.is-active .service__content__text {
    opacity: 1;
    visibility: visible;
  }
  main.top .service__content__box.is-active .title {
    opacity: 1;
    transform: translate(0, 0);
  }
  main.top .service__content__box.is-active h3 {
    opacity: 1;
    transform: translate(0, 0);
  }
  main.top .service__content__box.is-active .c-title02 {
    opacity: 1;
    transform: translate(0, 0);
  }
  main.top .service__content__box.is-active .c-text01 {
    opacity: 1;
    transform: translate(0, 0);
  }
  main.top .service__content__box.is-active ul {
    opacity: 1;
    transform: translate(0, 0);
  }
  main.top .service__content__box.is-active .btn {
    opacity: 1;
    transform: translate(0, 0);
  }
  main.top .service__content__box.is-active .service__content__image {
    opacity: 1;
  }
}
main.top .service__content__text {
  width: 56.328125%;
  padding: 2.92825769vw 0 0;
  opacity: 0;
  visibility: hidden;
}
@media only screen and (max-width: 1280px) {
  main.top .service__content__text {
    opacity: 1;
    visibility: visible;
    border-top: 1px solid #E0E0E0;
  }
}
@media only screen and (max-width: 767px) {
  main.top .service__content__text {
    width: 100%;
    order: 2;
    padding: 20px 0 0;
    opacity: 1;
    visibility: visible;
    border: none;
  }
}
@media only screen and (max-width: 1280px) {
  main.top .service__content__text.is-active .title {
    opacity: 1;
    transform: translate(0, 0);
  }
  main.top .service__content__text.is-active h3 {
    opacity: 1;
    transform: translate(0, 0);
  }
  main.top .service__content__text.is-active .c-title02 {
    opacity: 1;
    transform: translate(0, 0);
  }
  main.top .service__content__text.is-active .c-text01 {
    opacity: 1;
    transform: translate(0, 0);
  }
  main.top .service__content__text.is-active ul {
    opacity: 1;
    transform: translate(0, 0);
  }
  main.top .service__content__text.is-active .btn {
    opacity: 1;
    transform: translate(0, 0);
  }
  main.top .service__content__text.is-active .service__content__image {
    opacity: 1;
  }
}
@media only screen and (max-width: 767px) {
  main.top .service__content__text.is-active .title {
    opacity: 1;
    transform: translate(0, 0);
  }
  main.top .service__content__text.is-active h3 {
    opacity: 1;
    transform: translate(0, 0);
  }
  main.top .service__content__text.is-active .c-title02 {
    opacity: 1;
    transform: translate(0, 0);
  }
  main.top .service__content__text.is-active .c-text01 {
    opacity: 1;
    transform: translate(0, 0);
  }
  main.top .service__content__text.is-active ul {
    opacity: 1;
    transform: translate(0, 0);
  }
  main.top .service__content__text.is-active .btn {
    opacity: 1;
    transform: translate(0, 0);
  }
  main.top .service__content__text.is-active .service__content__image {
    opacity: 1;
  }
}
main.top .service__content__text h3 {
  display: inline-block;
  font-size: 50px;
  font-size: 5rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
  font-weight: 500;
  font-family: "Montserrat", sans-serif;
  margin-bottom: 0.5124451vw;
  opacity: 0;
  transform: translate(0, 1.46412884vw);
  transition: opacity 0.8s, transform 0.8s;
  transition-delay: 0.1s;
}
@media only screen and (max-width: 767px) {
  main.top .service__content__text h3 {
    font-size: 28px;
    font-size: 2.8rem;
    margin-bottom: 6px;
  }
}
main.top .service__content__text .c-title02 {
  margin-bottom: 1.46412884vw;
  opacity: 0;
  transform: translate(0, 1.46412884vw);
  transition: opacity 0.8s, transform 0.8s;
  transition-delay: 0.2s;
}
@media only screen and (min-width: 768px) {
  main.top .service__content__text .c-title02 {
    font-size: min(3.36749634vw, 60px);
  }
}
@media only screen and (max-width: 767px) {
  main.top .service__content__text .c-title02 {
    margin-bottom: 10px;
  }
}
main.top .service__content__text .c-text01 {
  margin-bottom: 2.92825769vw;
  opacity: 0;
  transform: translate(0, 1.46412884vw);
  transition: opacity 0.8s, transform 0.8s;
  transition-delay: 0.3s;
  max-width: 900px;
}
@media only screen and (max-width: 767px) {
  main.top .service__content__text .c-text01 {
    margin-bottom: 16px;
  }
}
main.top .service__content__text ul {
  max-width: 900px;
  display: flex;
  flex-wrap: wrap;
  gap: 19px;
  opacity: 0;
  transform: translate(0, 1.46412884vw);
  transition: opacity 0.8s, transform 0.8s;
  transition-delay: 0.4s;
}
@media only screen and (max-width: 767px) {
  main.top .service__content__text ul {
    gap: 6px;
  }
}
main.top .service__content__text ul li {
  width: calc((100% - 38px) / 3);
  min-height: 80px;
  background: #F7F7F7;
  padding: 15px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  main.top .service__content__text ul li {
    width: calc((100% - 12px) / 3);
    min-height: 64px;
    padding: 13px 10px;
    font-size: 12px;
    font-size: 1.2rem;
    letter-spacing: 0.02em;
    line-height: 1.6;
  }
}
main.top .service__content__text .btn {
  margin-top: 3.14787701vw;
  opacity: 0;
  transform: translate(0, 1.46412884vw);
  transition: opacity 0.8s, transform 0.8s;
  transition-delay: 0.5s;
}
@media only screen and (max-width: 767px) {
  main.top .service__content__text .btn {
    margin-top: 24px;
  }
}
@media only screen and (max-width: 767px) {
  main.top .service__content__text .btn .c-more-btn {
    margin-left: auto;
  }
}
main.top .service__content__image {
  width: 40.546875%;
  aspect-ratio: 519/560;
  transition: opacity 0.8s;
  opacity: 0;
  position: relative;
  overflow: hidden;
}
@media only screen and (max-width: 1280px) {
  main.top .service__content__image {
    opacity: 1;
  }
}
@media only screen and (max-width: 767px) {
  main.top .service__content__image {
    width: 100%;
    opacity: 1;
  }
}
main.top .service__content__image .bg {
  width: 100%;
  height: 100%;
}
main.top .service__content__image.is-active .image {
  opacity: 1;
  transform: translate(0, 0px);
}
main.top .service__content__image .image {
  position: absolute;
  opacity: 0;
  transform: translate(0, 10px);
  transition: opacity 0.8s, transform 0.8s;
}
main.top .service__content__image .image.delay01 {
  transition-delay: 0.2s;
}
main.top .service__content__image .image.delay02 {
  transition-delay: 0.4s;
}
main.top .service__content__image .image.delay03 {
  transition-delay: 0.6s;
}
main.top .service__content__image .image.delay04 {
  transition-delay: 0.8s;
}
main.top .service__content__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
main.top .service__content__image.service-01 .image-01 {
  width: 76.10789981%;
  top: 11.07142857%;
  left: 11.9460501%;
}
main.top .service__content__image.service-01 .image-02 {
  width: 48.65510597%;
  right: 17.44123314%;
  top: 3.98571429%;
}
main.top .service__content__image.service-01 .image-03 {
  width: 49.0477842%;
  right: 0.11410405%;
  top: 18.44285714%;
}
main.top .service__content__image.service-01 .image-04 {
  width: 53.71098266%;
  left: 0.859749518%;
  bottom: 17.05%;
}
main.top .service__content__image.service-01 .image-05 {
  width: 39.30635838%;
  right: 1.54142582%;
  bottom: 0;
}
main.top .service__content__image.service-01 .image-05 video {
  display: block;
  width: 160%;
  position: relative;
  left: -31%;
}
main.top .service__content__image.service-02.is-active .service-slider {
  opacity: 1;
}
main.top .service__content__image.service-02 .service-slider {
  width: 46.24277457%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.8s;
}
main.top .service__content__image.service-02 .service-slider .swiper {
  overflow: visible;
}
main.top .service__content__image.service-02 .service-slider .swiper .swiper-slide {
  filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25));
  will-change: filter;
}
main.top .service__content__image.service-02 .service-slider .swiper .swiper-slide img {
  transition: transform 0.8s;
}
main.top .service__content__image.service-02 .service-slider .swiper .swiper-slide-duplicate-active, main.top .service__content__image.service-02 .service-slider .swiper .swiper-slide-active {
  z-index: 2;
}
main.top .service__content__image.service-02 .service-slider .swiper .swiper-slide-duplicate-active img, main.top .service__content__image.service-02 .service-slider .swiper .swiper-slide-active img {
  transform: scale(1.2875);
}
main.top .service__content__image.service-03 .image-01 {
  width: 46.31599229%;
  top: 37.64285714%;
  left: 12.5655106%;
}
main.top .service__content__image.service-03 .image-02 {
  width: 38.37764933%;
  left: 10.48265896%;
  top: 32.10714286%;
}
main.top .service__content__image.service-03 .image-03 {
  width: 58.10789981%;
  left: 5.62909441%;
  top: 13.89285714%;
  z-index: 1;
}
main.top .service__content__image.service-03 .image-04 {
  width: 39.91907514%;
  right: 11.21676301%;
  top: 11.85714286%;
}
main.top .service__content__image.service-03 .image-05 {
  width: 42.38535645%;
  right: 3.20134875%;
  bottom: 24.71428571%;
}
main.top .service__content__image.service-03 .image-06 {
  width: 53.91136802%;
  right: 19.27071291%;
  bottom: 11.97321429%;
}
main.top .service__content__image.service-03 .image-07 {
  width: 53.91136802%;
  left: 21.07996146%;
  bottom: 19.97321429%;
}
main.top .service .btn-col {
  display: flex;
  justify-content: center;
  gap: 2.92825769vw;
  margin-top: 4.6852123vw;
}
@media only screen and (max-width: 767px) {
  main.top .service .btn-col {
    flex-direction: column;
    gap: 16px;
    margin-top: 50px;
  }
}
main.top .service .btn-col > div {
  max-width: 384px;
  width: calc((100% - 2.92825769vw) / 2);
}
@media only screen and (max-width: 767px) {
  main.top .service .btn-col > div {
    width: 100%;
    max-width: 100%;
  }
}
main.top .service .btn-col > div .c-btn {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  main.top .service .btn-col > div .c-btn {
    height: 46px;
    font-size: 15px;
    font-size: 1.5rem;
  }
}
main.top .service .btn-col > div small {
  margin-top: 0.58565154vw;
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0.03em;
  line-height: 1.75;
  font-weight: 500;
  display: block;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  main.top .service .btn-col > div small {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: -0.01em;
    margin-top: 4px;
  }
}
main.top .bg-gray {
  padding: 7.32064422vw 0;
  background: #F7F7F7;
}
@media only screen and (max-width: 767px) {
  main.top .bg-gray {
    padding: 64px 0;
  }
}
main.top .bg-gray .c-border {
  margin: 4.6852123vw 0;
}
@media only screen and (max-width: 767px) {
  main.top .bg-gray .c-border {
    margin: 50px 0;
  }
}
main.top .case .c-sub-title {
  margin-bottom: 2.92825769vw;
}
@media only screen and (max-width: 767px) {
  main.top .case .c-sub-title {
    margin-bottom: 24px;
  }
}
main.top .case .c-cate-list {
  margin-bottom: 2.34260615vw;
}
@media only screen and (max-width: 767px) {
  main.top .case .c-cate-list {
    margin-bottom: 32px;
  }
}
main.top .case .col {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  main.top .case .col {
    flex-direction: column;
  }
}
main.top .case .col .left {
  width: calc((100% - 1.75695461vw) / 2);
}
@media only screen and (max-width: 767px) {
  main.top .case .col .left {
    width: 100%;
    margin-bottom: 32px;
  }
}
main.top .case .col .right {
  width: calc((100% - 1.75695461vw) / 2);
}
@media only screen and (max-width: 767px) {
  main.top .case .col .right {
    width: 100%;
  }
}
main.top .case .c-more-btn {
  margin-top: 2.92825769vw;
  margin-left: auto;
}
@media only screen and (max-width: 767px) {
  main.top .case .c-more-btn {
    margin: 40px auto 0;
  }
}
main.top .clients .col {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  main.top .clients .col {
    flex-direction: column;
  }
}
main.top .clients .col .text {
  width: 23.86530015vw;
}
@media only screen and (max-width: 767px) {
  main.top .clients .col .text {
    width: 100%;
    margin-bottom: 22px;
  }
}
main.top .clients .col .text .c-sub-title {
  margin-bottom: 1.46412884vw;
}
main.top .clients .col .text .c-sub-title .jp {
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  main.top .clients .col .text .c-sub-title {
    margin-bottom: 24px;
  }
}
main.top .clients .col .slider-area {
  width: calc(100% - 23.86530015vw);
  background: #fff;
  display: flex;
  align-items: center;
}
main.top .clients .col .slider-area .c-logo-slider {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  main.top .clients .col .slider-area {
    width: 100%;
  }
}
main.top .model {
  padding: 7.32064422vw 0 8.78477306vw;
  padding-top: 3vw;
}
@media only screen and (max-width: 767px) {
  main.top .model {
    padding: 64px 0;
    padding-top: 20px;
  }
}
main.top .model .col {
  margin-top: 2.92825769vw;
  margin-bottom: 8.78477306vw;
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  main.top .model .col {
    margin-top: 24px;
    margin-bottom: 60px;
    flex-direction: column;
  }
}
main.top .model .col .text {
  width: 47.73060029vw;
}
@media only screen and (max-width: 767px) {
  main.top .model .col .text {
    width: 100%;
    order: 2;
    margin-top: 32px;
  }
}
main.top .model .col .text .c-title02 {
  margin-bottom: 1.17130307vw;
}
@media only screen and (max-width: 767px) {
  main.top .model .col .text .c-title02 {
    margin-bottom: 16px;
  }
}
main.top .model .col .text .c-text01 {
  margin-bottom: 2.92825769vw;
  max-width: 24.89019034vw;
}
@media only screen and (max-width: 767px) {
  main.top .model .col .text .c-text01 {
    margin-bottom: 40px;
    max-width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  main.top .model .col .text .c-more-btn {
    margin: 0 auto;
  }
}
main.top .model .col .images {
  width: calc(100% - 47.73060029vw);
  display: flex;
  gap: 1.75695461vw;
  margin-top: 0.73206442vw;
}
@media only screen and (max-width: 767px) {
  main.top .model .col .images {
    width: 100%;
    gap: 12px;
  }
}
main.top .model .col .images .image {
  width: calc((100% - 1.75695461vw) / 2);
}
@media only screen and (max-width: 767px) {
  main.top .model .col .images .image {
    width: calc((100% - 12px) / 2);
  }
}
main.top .model .col .images .image img {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  main.top .model .c-cv-area {
    padding: 32px 18px 0;
  }
}
@media only screen and (min-width: 768px) {
  main.top .model .c-cv-area__text {
    width: 65.49413735%;
  }
}
@media only screen and (min-width: 768px) {
  main.top .model .c-cv-area__text strong {
    font-size: min(3.36749634vw, 46px);
    letter-spacing: 0;
  }
}
@media only screen and (max-width: 767px) {
  main.top .model .c-cv-area__text .btn-col > div small {
    letter-spacing: -0.01em;
    white-space: nowrap;
  }
}
@media only screen and (min-width: 768px) {
  main.top .model .c-cv-area__image {
    width: 34.0625%;
    right: 1.484375%;
  }
}
@media only screen and (max-width: 767px) {
  main.top .model .c-cv-area__image .comment {
    font-size: 13px;
    font-size: 1.3rem;
    padding: 11px 17px;
    right: auto;
    bottom: 95px;
  }
}
@media only screen and (max-width: 767px) {
  main.top .model .c-cv-area__image .image {
    width: 80%;
  }
}
main.top .news {
  padding: 66px 0 140px;
  background: #F0F1F3;
}
@media only screen and (max-width: 767px) {
  main.top .news {
    padding: 4px 0 100px;
  }
}
@media only screen and (max-width: 767px) {
  main.top .news .c-more-btn {
    margin: 32px auto 0;
  }
}
main.top .news__title {
  display: flex;
  justify-content: space-between;
  margin: 64px 0 24px;
}
@media only screen and (max-width: 767px) {
  main.top .news__title {
    margin: 60px 0 24px;
  }
}
main.top .news__title .c-title04 {
  padding-left: 24px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  main.top .news__title .c-title04 {
    padding-left: 18px;
  }
}
main.top .news__title .c-title04:before {
  content: "";
  width: 12px;
  height: 2px;
  display: inline-block;
  background: #185B99;
  position: absolute;
  top: 18px;
  left: 0;
}
@media only screen and (max-width: 767px) {
  main.top .news__title .c-title04:before {
    top: 14px;
  }
}