@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: 71px;
  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;
}
@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;
  font-family: "Noto Sans JP", sans-serif;
  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;
}
.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.42857143;
  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;
}
.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-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;
}
@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-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;
}
.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 .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;
}

.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;
}

.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-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/common/cv-area_bg.jpg) 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/common/cv-area_bg_sp.jpg) center center/cover no-repeat;
  }
}
.c-cv-area__text {
  width: 70%;
}
@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-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;
  gap: 24px;
}
@media only screen and (max-width: 767px) {
  .c-cv-area__text .btn-col {
    flex-direction: column;
    gap: 16px;
  }
}
.c-cv-area__text .btn-col > div {
  width: calc((100% - 24px) / 2);
  text-align: center;
  max-width: 425px;
}
@media only screen and (max-width: 767px) {
  .c-cv-area__text .btn-col > div {
    width: 100%;
  }
}
.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: 24.296875%;
  position: absolute;
  right: 5.63689605%;
  bottom: 0;
  max-width: 311px;
}
@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: 80.7073955%;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 767px) {
  .c-cv-area__image .image {
    width: 52.26204819%;
    margin-right: -5.5753012%;
    margin-left: auto;
  }
}
.c-cv-area__image .comment {
  position: absolute;
  bottom: 310px;
  left: 50%;
  transform: translate(-50%, 0%);
  width: 100%;
  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: 1;
  transition: opacity 0.35s, transform 0.35s, visibility 0.35s;
}
@media only screen and (max-width: 767px) {
  .c-cv-area__image .comment {
    width: auto;
    top: auto;
    bottom: 110px;
    left: auto;
    right: 136px;
    transform: translate(0%, 0%);
    padding: 11px 24px;
    border-radius: 50px 50px 0 50px;
    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);
}
@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 cvTypingCaret {
  0%, 49% {
    opacity: 1;
  }
  50%, 100% {
    opacity: 0;
  }
}
/* 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.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 .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 .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.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;
}
main.feature .read .col {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 50px;
}
main.feature .read .col h2 {
  width: calc(100% - 371px);
  font-size: 46px;
  font-size: 4.6rem;
  line-height: 1.6;
  font-weight: 500;
}
main.feature .read .col .c-text01 {
  width: 100%;
  max-width: 371px;
}
main.feature .read .c-border {
  margin: 40px 0;
}
main.feature .read__list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
main.feature .read__list dl {
  width: calc((100% - 48px) / 3);
}
main.feature .read__list dl dt {
  background: #185B99;
  color: #fff;
  padding: 16px;
  display: flex;
  align-items: center;
}
main.feature .read__list dl dt i {
  width: 80px;
  height: 80px;
  background: #fff;
  margin-right: 24px;
}
main.feature .read__list dl dd {
  background: #F7F7F7;
  padding: 24px;
}
main.feature .read__list dl dd ul li {
  padding-left: 1em;
  position: relative;
  margin-bottom: 8px;
}
main.feature .read__list dl dd ul li:last-of-type {
  margin-bottom: 4px;
}
main.feature .read__list dl dd ul li:before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
main.feature .read__list dl dd span {
  display: block;
  text-align: right;
}
main.feature .bg-gray {
  background: #F7F7F7;
  padding: 100px 0;
}
main.feature .point__col {
  display: flex;
  justify-content: space-between;
  padding: 64px 0;
  border-bottom: 1px solid #BCBCBC;
}
main.feature .point__col:first-of-type {
  border-top: 1px solid #BCBCBC;
  margin-top: 40px;
}
main.feature .point__col .text {
  width: 52.67241379%;
}
main.feature .point__col .text .label {
  background: #185B99;
  color: #fff;
  padding: 11px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: max-content;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1;
  margin-bottom: 32px;
}
main.feature .point__col .text .label small {
  font-size: 17px;
  font-size: 1.7rem;
  display: inline-block;
  margin-right: 8px;
}
main.feature .point__col .text .label span {
  font-size: 40px;
  font-size: 4rem;
}
main.feature .point__col .text .c-title02 {
  margin-bottom: 24px;
}
main.feature .point__col .image {
  width: 40.51724138%;
}
main.feature .service {
  padding: 100px 0 0;
}
main.feature .service .c-sub-title {
  margin-bottom: 12px;
}
main.feature .service__list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 40px;
}
main.feature .service__list li {
  background: #fff;
  width: calc((100% - 48px) / 3);
  display: flex;
  flex-direction: column;
}
main.feature .service__list li .image {
  aspect-ratio: 371/250;
}
main.feature .service__list li .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
main.feature .service__list li .text {
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
}
main.feature .service__list li .text .c-color-text {
  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 .service__list li .text .c-title04 {
  margin-bottom: 12px;
}
main.feature .service__list li .text .c-text01 {
  margin-bottom: 24px;
}
main.feature .service__list li .text .btn {
  width: 136px;
  height: 32px;
  display: flex;
  align-items: center;
}
main.feature .service__list li .text .btn span {
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-right: 10px;
  white-space: nowrap;
}
main.feature .comparison {
  padding: 100px 0 124px;
}
main.feature .comparison .c-sub-title {
  margin-bottom: 16px;
}
main.feature .comparison .c-title03 {
  margin-bottom: 40px;
}
main.feature .comparison .image img {
  width: 100%;
}
main.feature .security .c-sub-title {
  margin-bottom: 16px;
}
main.feature .security .c-title03 {
  margin-bottom: 40px;
}
main.feature .security__list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
main.feature .security__list li {
  width: calc((100% - 72px) / 4);
  background: #fff;
  padding: 24px;
}
main.feature .security__list li .image {
  width: 130px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}
main.feature .security__list li .text {
  margin-top: 20px;
}
main.feature .security__list li .text .c-title04 {
  text-align: center;
  margin-bottom: 12px;
}
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.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.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.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 {
  padding: 0 1.46412884vw 1.46412884vw;
  position: relative;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  main.top .main-visual {
    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/588;
  }
}
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: 14.64128843vw;
}
@media only screen and (max-width: 767px) {
  main.top .main-visual__character__image {
    width: 123px;
  }
}
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;
  transition: opacity 0.35s, visibility 0.35s;
}
main.top .main-visual__character__comment > div.is-typing-active {
  display: block;
  position: relative;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
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: 178px;
    left: 50%;
    transform: translate(-50%, 0);
    padding: 4px 14px;
    font-size: 11px;
    font-size: 1.1rem;
    letter-spacing: 0.03em;
    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 .logo-slider-area {
  border-top: 1px solid #E3E3E3;
  border-bottom: 1px solid #E3E3E3;
}
@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 32px;
  }
}
main.top .read__catch {
  font-size: min(5.85651537vw, 100px);
  letter-spacing: 0.05em;
  line-height: 1.6;
  font-weight: 500;
  margin-bottom: 3.51390922vw;
}
@media only screen and (max-width: 767px) {
  main.top .read__catch {
    font-size: 40px;
    font-size: 4rem;
    line-height: 1.45;
    margin-bottom: 40px;
  }
}
main.top .read__number {
  padding: 3.36749634vw 2.34260615vw 3.07467057vw;
  background: url(../img/top/bg_blue.jpg) center center/cover no-repeat;
}
@media only screen and (max-width: 767px) {
  main.top .read__number {
    padding: 20px;
    background: url(../img/top/bg_blue_sp.jpg) 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 .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;
}
@media only screen and (max-width: 1280px) {
  main.top .service__content__box {
    position: static;
    margin-bottom: 100px;
  }
}
@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;
  }
}
@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 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: 40.65510597%;
  right: 9.44123314%;
  top: 14.28571429%;
}
main.top .service__content__image.service-01 .image-03 {
  width: 40.8477842%;
  right: 1.73410405%;
  top: 27.14285714%;
}
main.top .service__content__image.service-01 .image-04 {
  width: 49.71098266%;
  left: 2.69749518%;
  bottom: 18.75%;
}
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));
}
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: 85.74181118%;
  top: 7.85714286%;
  left: 21.57996146%;
}
main.top .service__content__image.service-03 .image-02 {
  width: 39.49903661%;
  left: 9.44123314%;
  top: 42.14285714%;
}
main.top .service__content__image.service-03 .image-03 {
  width: 45%;
  left: 5.97302505%;
  top: 66.25%;
}
main.top .service__content__image.service-03 .image-04 {
  width: 35.64547206%;
  left: 55.49132948%;
  bottom: 0;
}
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;
}
@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;
}
@media only screen and (max-width: 767px) {
  main.top .clients .col .slider-area {
    width: 100%;
  }
}
main.top .plan {
  padding: 7.32064422vw 0 8.78477306vw;
  padding-top: 3vw;
}
@media only screen and (max-width: 767px) {
  main.top .plan {
    padding: 64px 0;
    padding-top: 20px;
  }
}
main.top .plan .col {
  margin-top: 2.92825769vw;
  margin-bottom: 8.78477306vw;
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  main.top .plan .col {
    margin-top: 24px;
    margin-bottom: 60px;
    flex-direction: column;
  }
}
main.top .plan .col .text {
  width: 27.81844802vw;
}
@media only screen and (max-width: 767px) {
  main.top .plan .col .text {
    width: 100%;
    order: 2;
    margin-top: 32px;
  }
}
main.top .plan .col .text .c-title02 {
  margin-bottom: 1.17130307vw;
}
@media only screen and (max-width: 767px) {
  main.top .plan .col .text .c-title02 {
    margin-bottom: 16px;
  }
}
main.top .plan .col .text .c-text01 {
  margin-bottom: 2.92825769vw;
  max-width: 24.89019034vw;
}
@media only screen and (max-width: 767px) {
  main.top .plan .col .text .c-text01 {
    margin-bottom: 40px;
    max-width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  main.top .plan .col .text .c-more-btn {
    margin: 0 auto;
  }
}
main.top .plan .col .images {
  width: calc(100% - 27.81844802vw);
  display: flex;
  gap: 1.75695461vw;
  margin-top: 0.73206442vw;
}
@media only screen and (max-width: 767px) {
  main.top .plan .col .images {
    width: 100%;
    gap: 12px;
  }
}
main.top .plan .col .images .image {
  width: calc((100% - 3.51390922vw) / 3);
}
@media only screen and (max-width: 767px) {
  main.top .plan .col .images .image {
    width: calc((100% - 12px) / 2);
  }
}
@media only screen and (max-width: 767px) {
  main.top .plan .c-cv-area {
    padding: 32px 18px 0;
  }
}
@media only screen and (min-width: 768px) {
  main.top .plan .c-cv-area__text {
    width: 75%;
  }
}
@media only screen and (max-width: 767px) {
  main.top .plan .c-cv-area__text .btn-col > div small {
    letter-spacing: -0.01em;
    white-space: nowrap;
  }
}
@media only screen and (min-width: 768px) {
  main.top .plan .c-cv-area__image {
    width: 24.3718593%;
    right: 2.2%;
  }
}
@media only screen and (max-width: 767px) {
  main.top .plan .c-cv-area__image .comment {
    font-size: 13px;
    font-size: 1.3rem;
    padding: 11px 17px;
    right: 126px;
    bottom: 95px;
  }
}
@media only screen and (max-width: 767px) {
  main.top .plan .c-cv-area__image .image {
    width: 52.81%;
  }
}
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;
  }
}