@charset "UTF-8";

/*
Theme Name: REMAST Theme
Version: 1.0
Author: LinkPeer
*/
/*---------------------------------*
* foundation
*----------------------------------*/
:root {
  --liquid-htmlroot: calc(100vw / 375);
}

@media (min-width: 769px) {
  :root {
    --liquid-htmlroot: calc(100vw / 1440);
  }
}

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

html {
  font-size: var(--liquid-htmlroot);
  height: 100%;
  scroll-behavior: smooth;
}

body {
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em;
  min-width: 320px;
  width: 100%;
  overflow-x: hidden;
}

body.is-navOpen {
  height: 100%;
  overflow: hidden;
}

img,
video {
  max-width: 100%;
  height: auto;
  border: none;
  display: block;
}

a {
  text-decoration: none;
}

@media (min-width: 769px) {
  a:hover {
    text-decoration: none;
  }
}

main {
  width: 100%;
}

.fadeUpTrigger {
  opacity: 0;
}

.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 0.7s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/*---------------------------------*
* layout
*----------------------------------*/
.l-header {
  padding: 16.5rem 0;
  width: 100%;
  height: 60rem;
  display: block;
  background-color: rgba(255, 255, 255, 0.8);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  backdrop-filter: blur(15px) saturate(180%);
  transition: transform 0.3s ease-in-out;
}

@media (min-width: 769px) {
  .l-header {
    padding: 16.5rem 0;
    height: 80rem;
  }
}

.l-header.is-hidden {
  display: none;
}

.l-header.is-scroll-hidden {
  transform: translateY(-100%);
}

.l-header__wrapper {
  margin: 0 auto;
  width: 87.201%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media (min-width: 769px) {
  .l-header__wrapper {
    width: 1280rem;
  }
}

.l-header__wrapper .l-header__logo {
  width: 124rem;
}

@media (min-width: 769px) {
  .l-header__wrapper .l-header__logo {
    width: 176rem;
  }
}

.l-header__wrapper .l-header__logo img {
  width: 100%;
}

.l-header__wrapper .l-header__container {
  display: block;
}

.l-header__wrapper .l-header__container .l-header__navigation {
  display: none;
}

@media (min-width: 769px) {
  .l-header__wrapper .l-header__container .l-header__navigation {
    padding-bottom: 0;
    width: 640rem;
    display: block;
    border-radius: 0;
    position: static;
  }
}

@media (min-width: 769px) {
  .l-header__wrapper .l-header__container .l-header__navigation img {
    display: none;
  }
}

@media (min-width: 769px) {
  .l-header__wrapper .l-header__container .l-header__navigation nav {
    margin: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
}

@media (min-width: 769px) {
  .l-header__wrapper .l-header__container .l-header__navigation nav .l-header__navigation--items {
    padding: 0;
    width: 372rem;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}

@media (min-width: 769px) {
  .l-header__wrapper .l-header__container .l-header__navigation nav .l-header__navigation--items li:first-of-type {
    display: none;
  }
}

@media (min-width: 769px) {
  .l-header__wrapper .l-header__container .l-header__navigation nav .l-header__navigation--items li a {
    font-size: 14rem;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0.05em;
    color: #333;
  }
}

@media (min-width: 769px) {
  .l-header__wrapper .l-header__container .l-header__navigation nav .l-header__navigation--items li:hover a {
    color: #0690C0;
  }
}

@media (min-width: 769px) {
  .l-header__wrapper .l-header__container .l-header__navigation nav a.c-nav-btn {
    display: none;
  }
}

.l-header__wrapper .l-header__container .l-header__navigation nav a.c-nav-btn.pc {
  display: none;
}

@media (min-width: 769px) {
  .l-header__wrapper .l-header__container .l-header__navigation nav a.c-nav-btn.pc {
    width: 195rem;
    height: 47rem;
    display: flex;
  }
}

@media (min-width: 769px) {
  .l-header__wrapper .l-header__container .l-header__navigation nav address {
    display: none;
  }
}

.l-header__wrapper .l-header__container .l-header__navigation.is-open {
  padding-bottom: 67rem;
  width: 336rem;
  display: block;
  background-color: #fff;
  border-radius: 8rem;
  position: absolute;
  top: 8rem;
  right: 6rem;
  z-index: 10;
}

.l-header__wrapper .l-header__container .l-header__navigation.is-open img {
  margin-top: 17rem;
  margin-left: 19rem;
  width: 69rem;
  display: block;
}

.l-header__wrapper .l-header__container .l-header__navigation.is-open nav {
  margin-top: 31rem;
  padding-left: 48rem;
  width: 301rem;
  display: block;
}

.l-header__wrapper .l-header__container .l-header__navigation.is-open nav .l-header__navigation--items {
  padding-left: 10rem;
  width: 118rem;
  display: flex;
  flex-direction: column;
}

.l-header__wrapper .l-header__container .l-header__navigation.is-open nav .l-header__navigation--items li {
  margin: 16rem 0;
  width: 100%;
  display: block;
}

.l-header__wrapper .l-header__container .l-header__navigation.is-open nav .l-header__navigation--items li a {
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.05em;
}

.l-header__wrapper .l-header__container .l-header__navigation.is-open nav a.c-nav-btn {
  margin-top: 32rem;
}

.l-header__wrapper .l-header__container .l-header__navigation.is-open nav address {
  margin-top: 32rem;
  display: block;
}

.l-header__wrapper .l-header__container .l-header__navigation.is-open nav address p {
  font-size: 16rem;
  font-weight: 400;
}

.l-header__wrapper .l-header__container .l-header__navigation.is-open nav address span {
  font-size: 14rem;
  font-weight: 400;
}

.l-header__wrapper .l-header__container .l-header__navigation--bg {
  display: none;
}

.l-header__wrapper .l-header__container .l-header__navigation--bg.is-active {
  width: 100%;
  height: 100%;
  display: block;
  background-color: rgba(0, 0, 0, 0.4);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 5;
}

footer {
  width: 100%;
  display: block;
  color: #fff;
  background-color: #3b3b3b;
  position: relative;
}

footer .l-footer {
  padding-top: 80rem;
  padding-bottom: 48rem;
}

@media (min-width: 769px) {
  footer .l-footer {
    padding-top: 144rem;
    padding-bottom: 80rem;
  }
}

footer .l-footer .l-footer__wrapper {
  padding-bottom: 48rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  border-bottom: solid 0.6rem rgba(255, 255, 255, 0.7);
}

@media (min-width: 769px) {
  footer .l-footer .l-footer__wrapper {
    width: 1200rem;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
  }
}

footer .l-footer .l-footer__wrapper .l-footer__address {
  width: 100%;
  display: block;
}

@media (min-width: 769px) {
  footer .l-footer .l-footer__wrapper .l-footer__address {
    width: 441rem;
  }
}

footer .l-footer .l-footer__wrapper .l-footer__address h2 {
  width: 235.9rem;
  display: block;
}

@media (min-width: 769px) {
  footer .l-footer .l-footer__wrapper .l-footer__address h2 {
    width: 281rem;
  }
}

footer .l-footer .l-footer__wrapper .l-footer__address-head {
  margin-top: 32rem;
}

footer .l-footer .l-footer__wrapper .l-footer__address-group {
  margin-top: 12rem;
}

@media (min-width: 769px) {
  footer .l-footer .l-footer__wrapper .l-footer__address-group {
    margin-top: 24rem;
  }
}

footer .l-footer .l-footer__wrapper .l-footer__address strong {
  font-size: 16rem;
  font-weight: 700;
}

footer .l-footer .l-footer__wrapper .l-footer__address address {
  font-size: 14rem;
  font-weight: 400;
}

footer .l-footer .l-footer__wrapper .l-footer__address dl {
  margin-top: 12rem;
  display: block;
}

@media (min-width: 769px) {
  footer .l-footer .l-footer__wrapper .l-footer__address dl {
    margin-top: 32rem;
    display: flex;
  }
}

footer .l-footer .l-footer__wrapper .l-footer__address dl dt,
footer .l-footer .l-footer__wrapper .l-footer__address dl dd {
  font-size: 12rem;
  font-weight: 400;
  line-height: 1.2;
}

footer .l-footer .l-footer__wrapper .l-footer__address dl dd {
  margin-top: 8rem;
}

@media (min-width: 769px) {
  footer .l-footer .l-footer__wrapper .l-footer__address dl dd {
    margin-top: 0;
    margin-left: 16rem;
  }
}

footer .l-footer .l-footer__wrapper .l-footer__menu {
  margin-top: 40rem;
  display: block;
}

@media (min-width: 769px) {
  footer .l-footer .l-footer__wrapper .l-footer__menu {
    margin-top: 0;
    width: 428rem;
  }
}

footer .l-footer .l-footer__wrapper .l-footer__menu--btn {
  margin-top: 16rem;
}

@media (min-width: 769px) {
  footer .l-footer .l-footer__wrapper .l-footer__menu--btn {
    margin-top: 40rem;
  }
}

footer .l-footer__copyright {
  width: 100%;
  display: block;
}

@media (min-width: 769px) {
  footer .l-footer__copyright {
    margin-top: 24rem;
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
}

footer .l-footer__copyright-policy {
  margin-top: 24rem;
  display: flex;
  flex-wrap: wrap;
  gap: 16rem;
}

@media (min-width: 769px) {
  footer .l-footer__copyright-policy {
    margin-top: 0;
    gap: 0 40rem;
  }
}

footer .l-footer__copyright-policy a {
  display: block;
  font-size: 13rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0;
}

footer .l-footer__copyright small {
  margin-top: 40rem;
  display: block;
  font-size: 13rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0;
}

@media (min-width: 769px) {
  footer .l-footer__copyright small {
    margin-top: 0;
  }
}

footer .l-footer__top-button {
  width: 36rem;
  height: 87rem;
  display: block;
  position: absolute;
  bottom: 65rem;
  right: 24rem;
}

@media (min-width: 769px) {
  footer .l-footer__top-button {
    right: 48rem;
  }
}

footer .l-footer__top-button a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  border: solid 1rem #fff;
  border-radius: 18rem;
  transition: background-color 0.3s ease;
}

footer .l-footer__top-button a:hover {
  background-color: rgba(255, 255, 255, 0.2);
}

footer .l-footer__top-button a img {
  margin-top: 16rem;
  width: 8rem;
  height: 20rem;
  display: block;
}

.c-inner {
  margin: 0 auto;
  max-width: 87.201%;
}

@media (min-width: 769px) {
  .c-inner {
    max-width: 83.333%;
  }
}

.c-btn {
  width: 100%;
  height: 56rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #0690C0;
  border-radius: 8rem;
  position: relative;
  opacity: 1;
  transition: opacity 0.3s ease;
}

.c-btn span {
  font-size: 14rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #fff;
  display: flex;
  align-items: center;
  transition: background-color 0.3s ease;
}

.c-btn span::after {
  content: "";
  margin-left: 20rem;
  width: 23rem;
  height: 23rem;
  display: inline-block;
  border-radius: 50%;
  background-image: url(./images/ico_arrow_right-wt.svg);
  background-position: center;
  background-size: 12rem 10rem;
  background-repeat: no-repeat;
  background-color: #fff;
  transform: scale(0.3);
  position: relative;
  transition: transform 0.3s ease;
}

@media (min-width: 769px) {
  .c-btn:hover span::after {
    transform: scale(1);
    background-image: url(./images/ico_arrow_right-bl.svg);
  }
}

.c-btn.footer {
  border: solid 1.5rem rgba(255, 255, 255, 0.6);
  background-color: transparent;
  transition: background-color 0.3s ease;
}

@media (min-width: 769px) {
  .c-btn.footer:hover {
    background-color: rgba(255, 255, 255, 0.2);
  }
}

.c-btn.footer span {
  color: #fff;
}

.c-btn.footer span::after {
  background-color: #fff;
  background-image: url(./images/ico_arrow_right-gr.svg);
}

@media (min-width: 769px) {
  .c-btn.contact-tel:hover {
    opacity: 0.8;
  }
}

.c-btn.return span::before {
  content: "";
  margin-right: 20rem;
  width: 23rem;
  height: 23rem;
  display: inline-block;
  border-radius: 50%;
  background-image: url(./images/ico_arrow_left-wt.svg);
  background-position: center;
  background-size: 12rem 10rem;
  background-repeat: no-repeat;
  background-color: #fff;
  transform: scale(0.3);
  position: relative;
  transition: transform 0.3s ease;
}
.c-btn.return span::after {
  display: none;
}
@media (min-width: 769px) {
  .c-btn.return:hover span::before {
    background-image: url(./images/ico_arrow_left-bl.svg);
    transform: scale(1);
  }
}
div.wpcf7 form.wpcf7-form a.c-btn.contact-confirm {
  margin: 40rem auto 0;
  width: 251rem;
  height: 56rem;
  display: flex !important;
}
div.wpcf7 form.wpcf7-form a.c-btn.contact-confirm span {
  display: flex !important;
}
.c-btn.contact-confirm span::before {
  content: "";
  margin-right: 20rem;
  width: 23rem;
  height: 23rem;
  display: inline-block;
  border-radius: 50%;
  background-image: url(./images/ico_arrow_left-wt.svg);
  background-position: center;
  background-size: 12rem 10rem;
  background-repeat: no-repeat;
  background-color: #fff;
  transform: scale(0.3);
  position: relative;
  transition: transform 0.3s ease;
}

.c-btn.contact-confirm span::after {
  display: none;
}

@media (min-width: 769px) {
  .c-btn.contact-confirm:hover span::before {
    background-image: url(./images/ico_arrow_left-bl.svg);
    transform: scale(1);
  }
}

.c-btn.inversion {
  background-color: #fff;
  border-radius: 8rem;
}

.c-btn.inversion span {
  color: #0690C0;
}

.c-btn.inversion span::after {
  content: "";
  background-image: url(./images/ico_arrow_right-bl.svg);
  background-color: #0690C0;
}

@media (min-width: 769px) {
  .c-btn.inversion:hover span::after {
    background-image: url(./images/ico_arrow_right-wt.svg);
    transform: scale(1);
  }
}

.c-nav-btn {
  width: 100%;
  height: 56rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #0690C0;
  border-radius: 8rem;
  position: relative;
  z-index: 1;
}

.c-nav-btn span {
  font-size: 14rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #fff;
  transition: background-color 0.3s ease;
  display: flex;
  align-items: center;
}

.c-nav-btn span::after {
  content: "";
  margin-left: 20rem;
  width: 23rem;
  height: 23rem;
  display: inline-block;
  border-radius: 50%;
  background-image: url(./images/ico_arrow_right-wt.svg);
  background-position: center;
  background-size: 12rem 10rem;
  background-repeat: no-repeat;
  background-color: #fff;
  transform: scale(0.3);
  position: relative;
  transition: transform 0.3s ease;
}

@media (min-width: 769px) {
  .c-nav-btn:hover span::after {
    background-image: url(./images/ico_arrow_right-bl.svg);
    transform: scale(1);
  }
}

.c-button__hamburger-menu {
  width: 34rem;
  height: 16rem;
  position: relative;
  z-index: 20;
}

@media (min-width: 769px) {
  .c-button__hamburger-menu {
    display: none;
  }
}

.c-button__hamburger-menu--icon {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
}

.c-button__hamburger-menu--icon span {
  height: 2rem;
  background-color: #0690C0;
  transition: transform 0.3s ease;
}

.c-button__hamburger-menu--icon span:nth-child(1) {
  width: 24rem;
}

.c-button__hamburger-menu--icon span:nth-child(2) {
  width: 30rem;
}

.c-button__hamburger-menu--icon span:nth-child(3) {
  width: 34rem;
}

.c-button__hamburger-menu.is-open .c-button__hamburger-menu--icon span:first-of-type {
  transform: rotate(45deg) translate(6rem, 6rem);
}

.c-button__hamburger-menu.is-open .c-button__hamburger-menu--icon span:nth-of-type(2) {
  display: none;
}

.c-button__hamburger-menu.is-open .c-button__hamburger-menu--icon span:last-of-type {
  transform: rotate(-45deg) translate(4rem, -4rem);
  width: 24rem;
}

a.c-btn__btn-animation::after {
  content: "";
  width: 23rem;
  height: 23rem;
  display: inline-block;
  border-radius: 50%;
  background-color: #0690C0;
  transform: scale(0.3);
  position: relative;
  transition: transform 0.3s ease;
  background-image: url(./images/ico_arrow_right-bl.svg);
  background-position: center;
  background-size: 12rem 10rem;
  background-repeat: no-repeat;
}

@media (min-width: 769px) {
  a.c-btn__btn-animation:hover {
    background-color: rgba(6, 144, 192, 0.04);
  }
}

@media (min-width: 769px) {
  a.c-btn__btn-animation:hover::after {
    transform: scale(1);
    background-image: url(./images/ico_arrow_right-wt.svg);
  }
}

nav {
  width: 100%;
  display: block;
}

nav .c-nav__menu-list {
  display: block;
}

@media (min-width: 769px) {
  nav .c-nav__menu-list {
    display: grid;
    grid-template-columns: 70rem 1fr;
    grid-template-rows: repeat(3, auto);
    grid-template-areas: "a a" "b c" "d e";
    gap: 16rem 24rem;
  }
}

nav .c-nav__menu-list--item {
  padding: 16rem 0;
  display: block;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.05em;
  color: #fff;
}

@media (min-width: 769px) {
  nav .c-nav__menu-list--item {
    padding: 0;
  }
}

nav .c-nav__menu-list--item:first-of-type {
  margin-top: 0;
}

@media (min-width: 769px) {
  nav .c-nav__menu-list--item:first-of-type {
    grid-area: a;
  }
}

@media (min-width: 769px) {
  nav .c-nav__menu-list--item:hover {
    color: #0690C0;
  }
}

nav .c-nav__menu-list--item .c-nav__sublist {
  padding-left: 24rem;
  display: none;
}

@media (min-width: 769px) {
  nav .c-nav__menu-list--item .c-nav__sublist {
    margin-top: 16rem;
    padding-left: 0;
    display: block;
  }
}

nav .c-nav__menu-list--item .c-nav__sublist li {
  margin-top: 16rem;
  font-size: 14rem;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.05em;
  color: #fff;
}

@media (min-width: 769px) {
  nav .c-nav__menu-list--item .c-nav__sublist li {
    margin-top: 9rem;
  }
}

nav .c-nav__menu-list--item .c-nav__sublist li::before {
  content: "-";
  margin-right: 2rem;
  display: inline-block;
}

@media (min-width: 769px) {
  nav .c-nav__menu-list--item .c-nav__sublist li:hover {
    color: #0690C0;
  }
}

nav .c-nav__menu-list--item .c-nav__sublist.hidden {
  display: none;
}

@media (min-width: 769px) {
  nav .c-nav__menu-list--item .c-nav__sublist.hidden {
    display: block;
  }
}

.c-breadcrumbs {
  width: 100%;
  display: block;
}

.c-breadcrumbs li {
  display: inline-block;
  font-size: 14rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0;
}

.c-breadcrumbs li.home span,
.c-breadcrumbs li.news-root span a span {
  color: #0690C0;
  border-bottom: solid 1rem #0690C0;
}

.c-breadcrumbs li:last-of-type span.current-item::before {
  content: "";
  margin: 0 4rem;
  width: 12rem;
  aspect-ratio: 1/1;
  display: inline-block;
  background-image: url(./images/ico_chevron_right.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.c-breadcrumbs li .news-root::before {
  content: "";
  margin: 0 8rem 0 4rem;
  display: inline-block;
  width: 12rem;
  aspect-ratio: 1/1;
  display: inline-block;
  background-image: url(./images/ico_chevron_right.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.c-breadcrumbs.single {
  padding: 0 24rem 72rem;
}

@media (min-width: 769px) {
  .c-breadcrumbs.single {
    padding: 0 168rem 112rem;
  }
}

.c-mask__svg {
  width: 100vw;
  height: 100vh;
  display: block;
  background-image: url(./images/img_kv_mask-sp.png);
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 600;
}

@media (min-width: 769px) {
  .c-mask__svg {
    background-image: url(./images/img_kv_mask-pc.webp);
  }
}

.c-mask__bg-overlay {
  width: 100vw;
  height: 100vh;
  display: block;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 500;
}

.c-mask__overlay {
  width: 100vw;
  height: 100vh;
  display: block;
  background-color: transparent;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 700;
}

.c-mask__overlay::after {
  content: "";
  width: 100vw;
  height: 100vh;
  display: block;
  background-color: #1B90C0;
  position: absolute;
  top: 0;
  right: 0;
  transform-origin: right center;
}

.c-mask__kv-logo {
  width: 185rem;
  display: block;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 800;
}

@media (min-width: 769px) {
  .c-mask__kv-logo {
    width: 336rem;
  }
}

.p-mv_message-txt {
  position: relative;
}

.p-mv_rect {
  display: block;
  width: 0;
  height: 5.8vw;
  overflow: hidden;
  background-color: black;
  transform-origin: left center;
  position: absolute;
  top: 8rem;
  left: 0;
  transform: skew(-20deg, 0) translateX(-4rem);
  border-radius: 8rem;
}

@media (min-width: 769px) {
  .p-mv_rect {
    height: 2.4vw;
  }
}

.p-mv_rect.text-jp {
  height: 10.8vw;
}

@media (min-width: 769px) {
  .p-mv_rect.text-jp {
    height: 5.3vw;
  }
}

.c-heading {
  padding-left: 24rem;
}

.c-heading h2,
.c-heading h1 {
  font-size: 16rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  font-family: "Noto Sans JP", sans-serif;
  color: #0690C0;
}

.c-heading h2 span:first-of-type::before,
.c-heading h1 span:first-of-type::before {
  content: "";
  margin-right: 12rem;
  width: 25rem;
  height: 1rem;
  display: inline-block;
  background-color: #0690C0;
  vertical-align: middle;
}

.c-heading h2 span[lang=en],
.c-heading h1 span[lang=en] {
  display: block;
  font-size: 48rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.01em;
  font-family: "Roboto Flex", sans-serif;
  font-style: italic;
  color: #191D43;
}

@media (min-width: 769px) {

  .c-heading h2 span[lang=en],
  .c-heading h1 span[lang=en] {
    font-size: 56rem;
  }
}

@media (min-width: 769px) {

  .c-heading h2 span[lang=en].fz-lrg,
  .c-heading h1 span[lang=en].fz-lrg {
    font-size: 72rem;
  }
}

.c-heading p {
  font-size: 16rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #191D43;
}

.c-heading.inversion {
  padding-left: 24rem;
}

.c-heading.inversion h2 {
  font-size: 30rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.09em;
  font-family: "Noto Sans JP", sans-serif;
  color: #fff;
}

@media (min-width: 769px) {
  .c-heading.inversion h2 {
    font-size: 40rem;
  }
}

.c-heading.inversion h2 span:first-of-type::before {
  content: "";
  margin-right: 12rem;
  width: 25rem;
  height: 1rem;
  display: inline-block;
  background-color: #fff;
  vertical-align: middle;
}

.c-heading.inversion h2 span[lang=en] {
  display: block;
  font-size: 16rem;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.04em;
  font-family: "Roboto Flex", sans-serif;
  font-style: italic;
  color: #fff;
}

.c-heading.inversion p {
  font-size: 16rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #fff;
}

.c-heading__jp-title h2 span {
  font-size: 28rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  font-family: "Noto Sans JP", sans-serif;
  color: #191D43;
}

.c-heading__jp-title h2 span:first-of-type::before {
  content: "";
  margin-right: 12rem;
  width: 25rem;
  height: 1rem;
  display: inline-block;
  background-color: #0690C0;
  vertical-align: middle;
}

.c-heading__jp-title h2 span[lang=en] {
  display: block;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  font-family: "Roboto Flex", sans-serif;
  font-style: italic;
  color: #0690C0;
}

@media (min-width: 769px) {
  .c-heading__jp-title h2 span {
    font-size: 36rem;
  }
}

.c-heading__jp-title p {
  margin-top: 40rem;
  font-size: 14rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #333;
}

@media (min-width: 769px) {
  .c-heading__jp-title p {
    font-size: 16rem;
  }
}

.c-contents {
  padding: 104rem 24rem;
  width: 100%;
  background-image: url(./images/bg_parts-contents-sp.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

@media (min-width: 769px) {
  .c-contents {
    padding: 152rem 120rem 192rem;
    background-image: url(./images/bg_parts-contents-pc.png);
  }
}

.c-contents ul.c-contents__list {
  margin-top: 40rem;
  width: 327rem;
  display: flex;
  flex-direction: column;
  gap: 16rem 0;
}

@media (min-width: 769px) {
  .c-contents ul.c-contents__list {
    margin-top: 60rem;
    width: 1200rem;
    height: 187rem;
    flex-direction: row;
    justify-content: space-between;
  }
}

.c-contents ul.c-contents__list li.c-contents__item {
  width: 100%;
  display: block;
  border-radius: 8rem;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
  box-shadow: -1rem -1rem 4rem rgba(25, 29, 67, 0.15);
}

@media (min-width: 769px) {
  .c-contents ul.c-contents__list li.c-contents__item {
    width: 377rem;
    position: relative;
  }
}

.c-contents ul.c-contents__list li.c-contents__item.service {
  background-image: url(./images/bg_contents_buttonImage2-sp.png);
}

@media (min-width: 769px) {
  .c-contents ul.c-contents__list li.c-contents__item.service {
    background-image: url(./images/bg_contents_buttonImage2-pc.png);
  }
}

.c-contents ul.c-contents__list li.c-contents__item.recruit {
  background-image: url(./images/bg_contents_buttonImage3-sp.png);
}

@media (min-width: 769px) {
  .c-contents ul.c-contents__list li.c-contents__item.recruit {
    background-image: url(./images/bg_contents_buttonImage3-pc.png);
  }
}

.c-contents ul.c-contents__list li.c-contents__item.news {
  background-image: url(./images/bg_contents_buttonImage1-sp.png);
}

@media (min-width: 769px) {
  .c-contents ul.c-contents__list li.c-contents__item.news {
    background-image: url(./images/bg_contents_buttonImage1-pc.png);
  }
}

.c-contents ul.c-contents__list li.c-contents__item.company {
  background-image: url(./images/bg_contents_buttonImage4-sp.png);
}

@media (min-width: 769px) {
  .c-contents ul.c-contents__list li.c-contents__item.company {
    background-image: url(./images/bg_contents_buttonImage4-pc.png);
  }
}

@media (min-width: 769px) {
  .c-contents ul.c-contents__list li.c-contents__item::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: linear-gradient(to bottom, rgba(25, 29, 67, 0.55), rgba(6, 144, 192, 0.55));
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
  }
}

.c-contents ul.c-contents__list li.c-contents__item a {
  padding: 73rem 0 53rem 40rem;
  width: 100%;
  height: 100%;
  display: block;
}

@media (min-width: 769px) {
  .c-contents ul.c-contents__list li.c-contents__item a {
    padding: 92rem 0 75rem 40rem;
  }
}

.c-contents ul.c-contents__list li.c-contents__item a span {
  height: 23rem;
  font-size: 20rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  display: inline-block;
  color: #fff;
  position: relative;
  z-index: 10;
}

.c-contents ul.c-contents__list li.c-contents__item a span::after {
  content: "";
  margin-left: 16rem;
  width: 23rem;
  height: 23rem;
  display: inline-block;
  border-radius: 50%;
  background-image: url(./images/ico_arrow_right-wt.svg);
  background-position: center;
  background-size: 12rem 11rem;
  background-repeat: no-repeat;
  background-color: #fff;
  transform: scale(0.3) translateY(14rem);
  transition: transform 0.3s ease;
}

@media (min-width: 769px) {
  .c-contents ul.c-contents__list li.c-contents__item:hover {
    box-shadow: -1rem -1rem 4rem rgba(25, 29, 67, 0.35);
  }
}

@media (min-width: 769px) {
  .c-contents ul.c-contents__list li.c-contents__item:hover a span::after {
    transform: scale(1) translateY(5rem);
    background-image: url(./images/ico_arrow_right-bl.svg);
  }
}

@media (min-width: 769px) {
  .c-contents ul.c-contents__list li.c-contents__item:hover::after {
    background: linear-gradient(to bottom, rgba(25, 29, 67, 0.2), rgba(6, 144, 192, 0.2));
  }
}

.c-post-list {
  width: 100%;
  display: block;
  border-top: solid 1rem #ddd;
}

@media (min-width: 769px) {
  .c-post-list {
    width: 788rem;
  }
}

.c-post-list .c-post-list__item {
  width: 100%;
  display: block;
  border-bottom: solid 1rem #ddd;
}

.c-post-list .c-post-list__item a {
  padding: 22rem 0 20rem;
  width: 100%;
  display: block;
}

@media (min-width: 769px) {
  .c-post-list .c-post-list__item a {
    padding: 24.5rem 0 22.5rem 24rem;
    display: flex;
    align-items: center;
  }
}

.c-post-list .c-post-list__item a .c-post-list__item--info {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

@media (min-width: 769px) {
  .c-post-list .c-post-list__item a .c-post-list__item--info {
    width: auto;
  }
}

.c-post-list .c-post-list__item a .c-post-list__item--info span.date {
  font-size: 16rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.04em;
  color: rgba(25, 29, 67, 0.48);
}

.c-post-list .c-post-list__item a .c-post-list__item--info ul.cat {
  margin-left: 16rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0 8rem;
}

.c-post-list .c-post-list__item a .c-post-list__item--info ul.cat li {
  padding: 8rem 16rem;
  display: block;
  font-size: 14rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #0690C0;
  border: solid 1rem #0690C0;
  border-radius: 20rem;
}

.c-post-list .c-post-list__item a .c-post-list__item--info ul.cat li.ico-service {
  color: #0690C0;
  border-color: #0690C0;
}

.c-post-list .c-post-list__item a h3 {
  margin-top: 8rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.04em;
  color: #333;
}

@media (min-width: 769px) {
  .c-post-list .c-post-list__item a h3 {
    margin-top: 0;
    margin-left: 24rem;
  }
}

@media (min-width: 769px) {
  .c-post-list .c-post-list__item:hover a h3 {
    color: #0690C0;
  }
}

.c-post-list .js-no-posts-message {
  margin: 22rem 0 20rem;
  width: 100%;
  font-size: 16rem;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.04em;
  color: #333;
  border-bottom: solid 1rem #ddd;
}

.c-pagenavi {
  margin: 56rem auto 0;
  width: 100rem;
}

@media (min-width: 769px) {
  .c-pagenavi {
    margin: 112rem auto 0;
  }
}

.c-pagenavi .wp-pagenavi {
  width: 100%;
  display: flex;
  justify-content: space-evenly;
}

.c-pagenavi .wp-pagenavi span,
.c-pagenavi .wp-pagenavi a {
  font-size: 20rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  font-family: "Roboto Flex", sans-serif;
  color: rgba(51, 51, 51, 0.3);
  user-select: none;
  cursor: pointer;
}

.c-pagenavi .wp-pagenavi span.current,
.c-pagenavi .wp-pagenavi a.current {
  color: #0690C0;
}

.c-pagenavi__link--nav {
  margin-top: 16rem;
  padding: 0 24rem;
  width: 100%;
  display: flex;
  flex-direction: column;
}

@media (min-width: 769px) {
  .c-pagenavi__link--nav {
    margin-top: 0;
    padding: 24rem 0 0;
    width: 600rem;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 40rem;
  }
}

.c-pagenavi__link--nav li.nav-item {
  padding-top: 8rem;
  padding-bottom: 8rem;
  width: 280rem;
  border-bottom: solid 1rem rgba(25, 29, 67, 0.15);
}

@media (min-width: 769px) {
  .c-pagenavi__link--nav li.nav-item {
    margin-top: 16rem;
    padding-top: 0;
    padding-bottom: 16rem;
  }
}

.c-pagenavi__link--nav li.nav-item a {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}

.c-pagenavi__link--nav li.nav-item a span {
  padding-top: 0;
  padding-bottom: 0;
  display: inline-block;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}

@media (min-width: 769px) {
  .c-pagenavi__link--nav li.nav-item a span {
    width: auto;
    border-bottom: none;
  }
}

.c-pagenavi__link--nav li.nav-item a::after {
  content: "";
  width: 23rem;
  height: 23rem;
  display: inline-block;
  border-radius: 50%;
  background-image: url(./images/ico_arrow_down-bl.svg);
  background-position: center;
  background-size: 12rem 11rem;
  background-repeat: no-repeat;
  background-color: #0690C0;
  transform: scale(0.3);
  transition: transform 0.3s ease;
}

@media (min-width: 769px) {
  .c-pagenavi__link--nav li.nav-item a:hover span {
    color: #0690C0;
  }
}

@media (min-width: 769px) {
  .c-pagenavi__link--nav li.nav-item a:hover::after {
    transform: scale(1);
    background-image: url(./images/ico_arrow_down-wt.svg);
  }
}

.p-parts-recruit {
  padding: 112rem 0;
  width: 100%;
  display: block;
  background-image: linear-gradient(-85deg, rgba(25, 29, 67, 0.75) 0%, rgba(15, 144, 191, 0.75) 50%, rgba(144, 196, 227, 0.75) 100%);
  border-radius: 16rem;
}

@media (min-width: 769px) {
  .p-parts-recruit {
    margin: 0 45rem;
    padding: 96rem 138rem 96rem 179rem;
    width: auto;
    display: flex;
    align-items: center;
  }
}

.p-parts-recruit__container {
  width: 100%;
}

@media (min-width: 769px) {
  .p-parts-recruit__container {
    display: grid;
    grid-template-columns: 482rem 1fr;
    grid-template-rows: 403rem 163rem;
    grid-template-areas: "a b" "c b";
    gap: 0 56rem;
  }
}

.p-parts-recruit__container .c-heading {
  padding: 24rem;
}

@media (min-width: 769px) {
  .p-parts-recruit__container .c-heading {
    margin-top: 91rem;
    padding: 0;
    width: 483rem;
    grid-area: a;
  }
}

.p-parts-recruit__container .c-heading p {
  margin-top: 48rem;
}

.p-parts-recruit__container img {
  margin: 40rem auto 0;
  width: 359rem;
  height: 349rem;
  display: block;
}

@media (min-width: 769px) {
  .p-parts-recruit__container img {
    margin: 0;
    width: 494rem;
    height: 534rem;
    grid-area: b;
  }
}

.p-parts-recruit__container a.p-parts-recruit__link {
  margin: 64rem auto 0;
  width: 234rem;
}

@media (min-width: 769px) {
  .p-parts-recruit__container a.p-parts-recruit__link {
    margin: 0;
    grid-area: c;
  }
}

div.wpcf7 {
  width: 100%;
}

div.wpcf7 form.wpcf7-form p {
  margin-top: 40rem;
}

@media (min-width: 769px) {
  div.wpcf7 form.wpcf7-form p:first-of-type {
    width: 347rem;
  }
}

div.wpcf7 form.wpcf7-form p label {
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #333;
}

div.wpcf7 form.wpcf7-form p label span.required-mark {
  padding: 2rem 10rem;
  display: inline-block;
  background-color: #0690C0;
  font-size: 12rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #fff;
  border-radius: 5rem;
}

@media (min-width: 769px) {
  div.wpcf7 form.wpcf7-form p label span.required-mark {
    margin-left: 16rem;
  }
}

div.wpcf7 form.wpcf7-form p label span.required-mark.ml-16 {
  margin-left: 16rem;
}

div.wpcf7 form.wpcf7-form p label span.wpcf7-form-control-wrap select.wpcf7-form-control {
  margin-top: 8rem;
  padding: 14rem 16rem;
  width: 100%;
  display: block;
  border: solid 1rem rgba(51, 51, 51, 0.3);
  border-radius: 5rem;
  appearance: none;
  -webkit-appearance: none;
  background: white url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M8 12L2 6h12z" fill="%23666"/></svg>') no-repeat right 12px center;
  background-size: 16px;
}

div.wpcf7 form.wpcf7-form p label span.wpcf7-form-control-wrap input.wpcf7-text,
div.wpcf7 form.wpcf7-form p label span.wpcf7-form-control-wrap textarea.wpcf7-textarea {
  margin-top: 8rem;
  padding: 10rem 16rem;
  width: 100%;
  display: block;
  background-color: rgba(236, 236, 236, 0.6);
  border-radius: 5rem;
}

div.wpcf7 form.wpcf7-form p label span.wpcf7-form-control-wrap select option,
div.wpcf7 form.wpcf7-form p label span.wpcf7-form-control-wrap input,
div.wpcf7 form.wpcf7-form p label span.wpcf7-form-control-wrap textarea {
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
  color: #333;
}

div.wpcf7 form.wpcf7-form .form-submit .wpcf7-acceptance .wpcf7-list-item {
  margin-left: 0;
  user-select: none;
}

div.wpcf7 form.wpcf7-form .form-submit .wpcf7-acceptance .wpcf7-list-item::before {
  content: "";
  position: absolute;
  left: 7rem;
  top: 3rem;
  width: 6rem;
  height: 12rem;
  border: solid #0690C0;
  border-width: 0 3rem 3rem 0;
  transform: rotate(45deg);
  opacity: 1;
  pointer-events: none;
}

div.wpcf7 form.wpcf7-form .form-submit .wpcf7-acceptance .wpcf7-list-item label {
  display: flex;
  align-items: center;
}

div.wpcf7 form.wpcf7-form .form-submit .wpcf7-acceptance .wpcf7-list-item label input {
  margin-right: 16rem;
  width: 15rem;
  aspect-ratio: 1/1;
  display: inline-block;
  background-color: #fff;
  border: solid 1rem #999;
  border-radius: 2rem;
}

div.wpcf7 form.wpcf7-form .form-submit .wpcf7-acceptance .wpcf7-list-item label span.wpcf7-list-item-label {
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
  color: #333;
}

div.wpcf7 form.wpcf7-form .form-submit .wpcf7-acceptance .wpcf7-list-item label span.wpcf7-list-item-label a {
  color: #0690C0;
  display: inline-block;
  border-bottom: solid 1rem #0690C0;
}

div.wpcf7 form.wpcf7-form .form-submit:has(:disabled) .form-acceptance span.wpcf7-list-item::before {
  opacity: 0;
}

div.wpcf7 form.wpcf7-form .form-submit p input.wpcf7-submit,
div.wpcf7 form.wpcf7-form .form-confirm p input.wpcf7-submit,
div.wpcf7 form.wpcf7-form .form-prev p input.wpcf7-previous {
  font-size: 14rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  text-align: center;
}

div.wpcf7 form.wpcf7-form .form-submit p:has(.wpcf7-submit),
div.wpcf7 form.wpcf7-form .form-confirm p:has(.wpcf7-submit),
div.wpcf7 form.wpcf7-form .form-prev p:has(.wpcf7-previous) {
  margin: 64rem auto 0;
  width: 251rem;
  height: 56rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #0690C0;
  border-radius: 8rem;
  position: relative;
  color: #fff;
  transition: background-color 0.3s ease;
}

div.wpcf7 form.wpcf7-form .form-submit p:has(.wpcf7-submit) span.wpcf7-spinner,
div.wpcf7 form.wpcf7-form .form-confirm p:has(.wpcf7-submit) span.wpcf7-spinner,
div.wpcf7 form.wpcf7-form .form-prev p:has(.wpcf7-previous) span.wpcf7-spinner {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

div.wpcf7 form.wpcf7-form .form-submit p:has(.wpcf7-submit)::after,
div.wpcf7 form.wpcf7-form .form-confirm p:has(.wpcf7-submit)::after {
  content: "";
  margin-left: 20rem;
  width: 23rem;
  height: 23rem;
  display: inline-block;
  border-radius: 50%;
  background-image: url(./images/ico_arrow_right-wt.svg);
  background-position: center;
  background-size: 12rem 10rem;
  background-repeat: no-repeat;
  background-color: #fff;
  transform: scale(0.3);
  transition: transform 0.3s ease;
  position: absolute;
  top: 30%;
  right: 11%;
}

div.wpcf7 form.wpcf7-form .form-prev p:has(.wpcf7-previous)::after {
  content: "";
  margin-left: 20rem;
  width: 23rem;
  height: 23rem;
  display: inline-block;
  border-radius: 50%;
  background-image: url(./images/ico_arrow_left-wt.svg);
  background-position: center;
  background-size: 12rem 10rem;
  background-repeat: no-repeat;
  background-color: #fff;
  transform: scale(0.3);
  transition: transform 0.3s ease;
  position: absolute;
  top: 30%;
  right: 11%;
}

@media (min-width: 769px) {
  div.wpcf7 form.wpcf7-form .form-submit p:has(.wpcf7-submit):hover::after,
  div.wpcf7 form.wpcf7-form .form-confirm p:has(.wpcf7-submit):hover::after {
    background-image: url(./images/ico_arrow_right-bl.svg);
    transform: scale(1);
  }

  div.wpcf7 form.wpcf7-form .form-prev p:has(.wpcf7-previous):hover::after {
    background-image: url(./images/ico_arrow_left-bl.svg);
    transform: scale(1);
  }
}

div.wpcf7 form.wpcf7-form .wpcf7-response-output {
  margin: 0;
  padding: 0;
  border-color: transparent;
}
@media (min-width: 769px) {
  div.wpcf7 form.wpcf7-form .wpcf7-response-output {
    text-align: center;
  }
}

.p-index {
  padding: 60rem 0 138rem;
  width: 100%;
  display: block;
  position: relative;
  z-index: 0;
}

@media (min-width: 769px) {
  .p-index {
    padding: 80rem 0 120rem;
  }
}

.p-index__wrapper {
  margin-top: 138rem;
  display: block;
}

@media (min-width: 769px) {
  .p-index__wrapper {
    margin-top: 160rem;
  }
}

.p-index__content {
  margin-top: 48rem;
}

.p-index__content p {
  margin-top: 16rem;
  font-size: 15rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  letter-spacing: 0;
}

@media (min-width: 769px) {
  .p-index__content p {
    text-align: center;
  }
}

.p-index__content p:first-of-type {
  margin-top: 0;
}

.p-index__content--link {
  margin: 48rem auto 0;
  width: 225rem;
}

.p-top-hero {
  width: 100vw;
  height: 100vh;
  display: block;
  position: relative;
}

.p-top-hero__bg {
  width: 100%;
  display: block;
  background-image: url(./images/bg_kv-sp.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 80px;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
}

@media (min-width: 769px) {
  .p-top-hero__bg {
    background-image: url(./images/bg_kv-pc.webp);
  }
}

.p-top-hero__message {
  padding-left: 24rem;
  width: 100%;
  display: block;
  position: absolute;
  top: 20%;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1100;
  pointer-events: none;
}

@media (min-width: 769px) {
  .p-top-hero__message {
    display: none;
  }
}

.p-top-hero__message .p-top-hero__message-txt {
  width: 338rem;
  display: block;
  position: relative;
}

.p-top-hero__message .p-top-hero__message-txt p {
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.05em;
  color: #191D43;
  font-family: "Roboto Flex", sans-serif;
  opacity: 0;
  font-style: italic;
}

.p-top-hero__message .p-top-hero__message-txt p.kv-txt-jp {
  font-size: 32rem;
  font-weight: 700;
  line-height: 1.7;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
}

.p-top-hero__message:last-of-type {
  margin-top: 16rem;
}

@media (min-width: 769px) {
  .p-top-hero__message:last-of-type {
    margin-top: 24rem;
  }
}

.p-top-hero__message.pc {
  display: none;
}

@media (min-width: 769px) {
  .p-top-hero__message.pc {
    padding-top: 80rem;
    padding-left: 120rem;
    display: block;
    top: 30%;
  }
}

@media (min-width: 769px) {
  .p-top-hero__message.pc .p-top-hero__message-txt {
    width: 568rem;
  }
}

@media (min-width: 769px) {
  .p-top-hero__message.pc .p-top-hero__message-txt p {
    font-size: 24rem;
  }
}

@media (min-width: 769px) {
  .p-top-hero__message.pc .p-top-hero__message-txt p.kv-txt-jp {
    font-size: 54rem;
  }
}

.p-top-hero__mission {
  padding: 0 14rem;
  width: 100%;
  display: flex;
  align-items: center;
  opacity: 0;
  background-color: rgba(0, 0, 0, 0.55);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

@media (min-width: 769px) {
  .p-top-hero__mission {
    padding-left: 240rem;
    padding-right: 263rem;
  }
}

.p-top-hero__mission.is-show {
  opacity: 1;
}

.p-top-hero__mission-heading {
  width: 100%;
  opacity: 0;
}

@media (min-width: 769px) {
  .p-top-hero__mission-heading {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
  }
}

.p-top-hero__mission-heading h2 {
  width: 100%;
  color: #fff;
}

.p-top-hero__mission-heading h2 .p-top-hero__mission-heading--ja {
  margin-top: 16rem;
}

@media (min-width: 769px) {
  .p-top-hero__mission-heading h2 .p-top-hero__mission-heading--ja {
    margin-top: 0;
  }
}

.p-top-hero__mission-heading h2 .p-top-hero__mission-heading--ja span {
  font-size: 19rem;
  font-weight: 700;
  line-height: 1.9;
  letter-spacing: 0.07em;
  display: block;
  font-family: "Noto Sans JP", sans-serif;
}

@media (min-width: 769px) {
  .p-top-hero__mission-heading h2 .p-top-hero__mission-heading--ja span {
    font-size: 32rem;
  }
}

.p-top-hero__mission-desc {
  margin-top: 56rem;
  width: 100%;
  display: block;
}

@media (min-width: 769px) {
  .p-top-hero__mission-desc {
    margin-top: 72rem;
  }
}

.p-top-hero__mission-desc p {
  margin-top: 16rem;
  font-size: 15rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #fff;
}

@media (min-width: 769px) {
  .p-top-hero__mission-desc p {
    margin-top: 40rem;
  }
}

.p-top-hero__mission-desc p:first-of-type {
  margin-top: 0;
}

.p-top-hero__mission-desc a.c-btn {
  margin-top: 72rem;
  margin-left: auto;
  width: 209rem;
}

@media (min-width: 769px) {
  .p-top-hero__mission-desc a.c-btn {
    margin-top: 126rem;
  }
}

.p-top-hero .scrolldown2 {
  width: 10rem;
  height: 140rem;
  display: block;
  position: absolute;
  bottom: -73rem;
  right: 44rem;
  z-index: 1000;
  opacity: 0;
}

@media (min-width: 769px) {
  .p-top-hero .scrolldown2 {
    right: 100rem;
  }
}

.p-top-hero .scrolldown2.hidden {
  display: none;
}

.p-top-hero .scrolldown2 span {
  position: absolute;
  left: 4rem;
  top: 0;
  color: #000;
  font-size: 15rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  font-family: "Raleway", sans-serif;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}

.p-top-hero .scrolldown2::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: -4rem;
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  background: #000;
  animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite;
}

@keyframes circlemove {
  0% {
    bottom: 140rem;
  }

  100% {
    bottom: -5rem;
  }
}

@keyframes cirlemovehide {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  80% {
    opacity: 0.9;
  }

  100% {
    opacity: 0;
  }
}

.p-top-hero .scrolldown2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 2rem;
  height: 140rem;
  background: #000;
}

.p-top-service {
  width: 100vw;
  display: block;
}

.p-top-service__container {
  margin: 96rem 0 88rem;
}

@media (min-width: 769px) {
  .p-top-service__container {
    margin: 160rem 0 144rem auto;
    width: 1320rem;
    display: grid;
    grid-template-columns: 363rem 1fr;
    grid-template-rows: 175rem 1fr;
    grid-template-areas: "a b" "c b";
    gap: 0 56rem;
  }
}

@media (min-width: 769px) {
  .p-top-service__container .p-top-service__content {
    padding: 0;
    width: 363rem;
    grid-area: a;
  }
}

.p-top-service__container .p-top-service__content p {
  margin-top: 16rem;
}

.p-top-service__container ul {
  margin-top: 40rem;
  margin-left: 16rem;
  display: block;
}

@media (min-width: 769px) {
  .p-top-service__container ul {
    margin: 0;
    width: 901rem;
    grid-area: b;
  }
}

.p-top-service__container ul li {
  margin-top: 8rem;
  display: block;
  border-top: solid 2rem rgba(255, 255, 255, 0);
  border-left: solid 2rem rgba(255, 255, 255, 0);
  border-radius: 24rem 0 0 0;
  box-shadow: -1rem -1rem 4rem rgba(25, 29, 67, 0.15);
}

.p-top-service__container ul li:first-of-type {
  margin-top: 0;
}

.p-top-service__container ul li a {
  padding: 24rem 0 24rem 22rem;
  width: 100%;
  display: block;
  background-color: rgba(255, 255, 255, 0.02);
}

@media (min-width: 769px) {
  .p-top-service__container ul li a {
    padding: 40rem 0 40rem 48rem;
  }
}

.p-top-service__container ul li a .p-top-service__subheading {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.p-top-service__container ul li a .p-top-service__subheading span {
  margin-right: 20rem;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.06em;
  display: inline-block;
  color: #0690C0;
  font-family: "Roboto Flex", sans-serif;
  vertical-align: middle;
}

@media (min-width: 769px) {
  .p-top-service__container ul li a .p-top-service__subheading span {
    margin-right: 24rem;
  }
}

.p-top-service__container ul li a .p-top-service__subheading h3 {
  max-width: 244rem;
  display: inline-block;
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #191D43;
}

@media (min-width: 769px) {
  .p-top-service__container ul li a .p-top-service__subheading h3 {
    max-width: none;
    font-size: 24rem;
  }
}

.p-top-service__container ul li a .p-top-service__subheading::after {
  content: "";
  margin-left: 10rem;
  width: 23rem;
  height: 23rem;
  display: inline-block;
  border-radius: 50%;
  background-color: #0690C0;
  transform: scale(0.3);
  position: relative;
  transition: transform 0.3s ease;
  background-image: url(./images/ico_arrow_right-bl.svg);
  background-position: center;
  background-size: 12rem 10rem;
  background-repeat: no-repeat;
}

@media (min-width: 769px) {
  .p-top-service__container ul li a .p-top-service__subheading::after {
    margin-left: 24rem;
  }
}

@media (min-width: 769px) {
  .p-top-service__container ul li a:hover {
    background-color: rgba(6, 144, 192, 0.04);
  }
}

@media (min-width: 769px) {
  .p-top-service__container ul li a:hover .p-top-service__subheading::after {
    transform: scale(1);
    background-image: url(./images/ico_arrow_right-wt.svg);
  }
}

@media (min-width: 769px) {
  .p-top-service__container ul li a:hover .p-top-service__subheading h3 {
    color: #0690C0;
  }
}

.p-top-service__container ul li a p {
  margin-top: 16rem;
  width: 311rem;
  font-size: 14rem;
  font-weight: 400;
  color: #333;
}

@media (min-width: 769px) {
  .p-top-service__container ul li a p {
    width: auto;
  }
}

.p-top-service__container a.p-top-service__link {
  margin: 56rem auto 0;
  width: 224rem;
}

@media (min-width: 769px) {
  .p-top-service__container a.p-top-service__link {
    margin: 56rem auto 0 0;
    grid-area: c;
  }
}

.p-top-company {
  padding-top: 88rem;
  padding-bottom: 96rem;
  width: 100%;
  display: block;
  background-image: url(./images/bg_top_company-sp.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

@media (min-width: 769px) {
  .p-top-company {
    padding: 160rem 0 192rem 120rem;
    display: flex;
    justify-content: space-between;
    background-image: url(./images/bg_top_company-pc.webp);
  }
}

.p-top-company__article {
  width: 100%;
}

@media (min-width: 769px) {
  .p-top-company__article {
    width: 516rem;
  }
}

.p-top-company__article div.c-heading {
  padding-left: 24rem;
}

@media (min-width: 769px) {
  .p-top-company__article div.c-heading {
    padding-left: 0;
  }
}

.p-top-company__article p {
  margin-top: 16rem;
  width: 327rem;
  line-height: 2;
  color: #333;
}

@media (min-width: 769px) {
  .p-top-company__article p {
    margin-top: 32rem;
    width: 100%;
  }
}

.p-top-company__article ul {
  margin-top: 32rem;
  margin-left: 16rem;
  display: block;
}

@media (min-width: 769px) {
  .p-top-company__article ul {
    margin-top: 48rem;
    margin-left: 0;
  }
}

.p-top-company__article ul li {
  margin-top: 8rem;
  display: block;
  border-top: solid 2rem rgba(255, 255, 255, 0);
  border-left: solid 2rem rgba(255, 255, 255, 0);
  border-radius: 16rem 0 0 0;
  box-shadow: -1rem -1rem 4rem rgba(25, 29, 67, 0.15);
  overflow: hidden;
  background-color: #fff;
}

.p-top-company__article ul li:first-of-type {
  margin-top: 0;
}

.p-top-company__article ul li a.p-top-company__subheading {
  padding: 37rem 0 37rem 34rem;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

@media (min-width: 769px) {
  .p-top-company__article ul li a.p-top-company__subheading:hover h3 {
    color: #0690C0;
  }
}

.p-top-company__article ul li a.p-top-company__subheading h3 {
  display: inline-block;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #191D43;
  transition: color 0.3s ease;
}

@media (min-width: 769px) {
  .p-top-company__article ul li a.p-top-company__subheading h3 {
    margin-left: 32rem;
    font-size: 18rem;
  }
}

.p-top-company__article ul li a.p-top-company__subheading::after {
  content: "";
  margin-left: 16rem;
}

@media (min-width: 769px) {
  .p-top-company__article ul li a.p-top-company__subheading::after {
    margin-left: 24rem;
  }
}

.p-top-company__image {
  margin-top: 48rem;
  width: 100%;
  overflow-x: hidden;
}

@media (min-width: 769px) {
  .p-top-company__image {
    margin-top: 0;
    padding: 0;
    width: 667rem;
  }
}

.p-top-company__image picture {
  padding-left: 16rem;
  width: 359rem;
  display: block;
}

@media (min-width: 769px) {
  .p-top-company__image picture {
    padding-left: 0;
    width: 100%;
  }
}

.p-top-company__image picture img {
  width: 100%;
  display: block;
  border-radius: 6rem 0 0 6rem;
  object-fit: cover;
}

.p-top-company__image a.p-top-company__image--link {
  margin: 48rem auto 0;
  width: 223rem;
}

@media (min-width: 769px) {
  .p-top-company__image a.p-top-company__image--link {
    margin: 56rem 0 0 324rem;
    display: flex;
  }
}

.p-top-news {
  padding: 88rem 0;
  width: 100%;
}

@media (min-width: 769px) {
  .p-top-news {
    padding: 152rem 168rem 184rem 232rem;
    display: grid;
    grid-template-columns: 195rem 1fr;
    grid-template-rows: 100rem 1fr;
    grid-template-areas: "a b" "c b";
    gap: 0 80rem;
  }
}

@media (min-width: 769px) {
  .p-top-news .c-heading {
    grid-area: a;
  }
}

.p-top-news__content {
  margin-top: 32rem;
  padding: 0 24rem;
  width: 100%;
}

@media (min-width: 769px) {
  .p-top-news__content {
    margin: 0;
    padding: 0;
    width: 765rem;
    grid-area: b;
  }
}

.p-top-news a.p-top-news__link {
  margin: 56rem auto 0;
  width: 195rem;
}

@media (min-width: 769px) {
  .p-top-news a.p-top-news__link {
    margin: 64rem 0 0;
    grid-area: c;
  }
}

.p-top-contact {
  padding: 112rem 24rem;
  width: 100%;
  display: block;
  background-image: url(./images/bg_top_contact-sp.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 48rem 48rem 0 0;
}

@media (min-width: 769px) {
  .p-top-contact {
    padding: 144rem 0 136rem;
    background-image: url(./images/bg_top_contact-pc.webp);
  }
}

.p-top-contact__container {
  width: 100%;
}

@media (min-width: 769px) {
  .p-top-contact__container {
    margin: 0 auto;
    width: 840rem;
  }
}

.p-top-contact__container .p-top-contact__content {
  padding-left: 0;
  width: 100%;
}

@media (min-width: 769px) {
  .p-top-contact__container .p-top-contact__content {
    width: 100%;
    padding: 0 67.5rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
}

.p-top-contact__container .p-top-contact__content p {
  margin-top: 16rem;
  font-weight: 700;
  line-height: 1.5;
}

@media (min-width: 769px) {
  .p-top-contact__container .p-top-contact__content p {
    line-height: 4.3;
  }
}

.p-top-contact__container .p-top-contact__links {
  margin-top: 48rem;
  display: block;
}

@media (min-width: 769px) {
  .p-top-contact__container .p-top-contact__links {
    margin-top: 32rem;
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
}

.p-top-contact__container .p-top-contact__links li {
  width: 100%;
}

@media (min-width: 769px) {
  .p-top-contact__container .p-top-contact__links li {
    width: 400rem;
  }
}

.p-top-contact__container .p-top-contact__links li:last-of-type {
  margin-top: 24rem;
}

@media (min-width: 769px) {
  .p-top-contact__container .p-top-contact__links li:last-of-type {
    margin-top: 0;
  }
}

.p-top-contact__container .p-top-contact__links li:last-of-type a {
  width: 100%;
  height: 105rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.p-top-contact__container .p-top-contact__links li:last-of-type a span.tel {
  padding: 7rem 0 3rem;
  font-size: 24rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
  display: block;
}

.p-top-contact__container .p-top-contact__links li:last-of-type a span.tel::before {
  content: "";
  margin: 0 12rem 0 0;
  width: 24rem;
  aspect-ratio: 1/1;
  display: inline-block;
  background-image: url(./images/ico_telephone-wt.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: static;
  opacity: 1;
  transform: translateY(3rem);
}

.p-top-contact__container .p-top-contact__links li:last-of-type a span.tel::after {
  display: none;
}

.p-top-contact__container .p-top-contact__links li:last-of-type a span.hour {
  font-size: 14rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.13em;
  display: block;
}

.p-top-contact__container .p-top-contact__links li:last-of-type a span.hour::before,
.p-top-contact__container .p-top-contact__links li:last-of-type a span.hour::after {
  display: none;
}

.p-top-contact__container .p-top-contact__links li a.contact {
  width: 100%;
  height: 105rem;
}

.p-top-contact__container .p-top-contact__links li a.contact span {
  font-size: 18rem;
}

@media (min-width: 769px) {
  .p-top-contact__container .p-top-contact__links li a.contact span {
    font-size: 20rem;
  }
}

.p-policy {
  padding: 60rem 24rem 96rem;
  width: 100%;
  display: block;
}

@media (min-width: 769px) {
  .p-policy {
    padding: 80rem 164rem 144rem;
  }
}

.p-policy header {
  margin-top: 52rem;
  width: 317rem;
  display: block;
}

@media (min-width: 769px) {
  .p-policy header {
    margin-top: 160rem;
    width: 650rem;
  }
}

.p-policy-page {
  margin-top: 40rem;
  display: block;
}

@media (min-width: 769px) {
  .p-policy-page {
    margin-top: 56rem;
  }
}

.p-policy-page__container {
  margin-top: 40rem;
  display: block;
}

@media (min-width: 769px) {
  .p-policy-page__container {
    margin-top: 56rem;
    margin-left: 76rem;
    width: 960rem;
  }
}

@media (min-width: 769px) {
  .p-policy-page__container p.p-policy-page__policy-desc {
    width: 100%;
  }
}

.p-policy-page__container .p-policy-page__policy-section {
  margin-top: 40rem;
}

@media (min-width: 769px) {
  .p-policy-page__container .p-policy-page__policy-section:first-of-type {
    margin-top: 64rem;
  }
}

.p-policy-page__container .p-policy-page__policy-section--heading {
  margin-bottom: 16rem;
}

.p-policy-page__container .p-policy-page__policy-section--list {
  margin-top: 16rem;
}

.p-policy-page__container .p-policy-page__policy-section--list ul.purpose {
  margin: 25.2rem 0;
}

.p-service {
  width: 100%;
  display: block;
}

.p-service__heading {
  padding: 120rem 0 48rem;
  width: 100%;
  background-image: url(./images/bg_lowerLayer-sp.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

@media (min-width: 769px) {
  .p-service__heading {
    padding: 168rem 0 48rem 144rem;
    background-image: url(./images/bg_lowerLayer-pc.webp);
  }
}

.p-service__heading--main {
  width: 100%;
  display: block;
}

@media (min-width: 769px) {
  .p-service__heading--main {
    padding-bottom: 20rem;
    width: 1128rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}

@media (min-width: 769px) {
  .p-service__heading--main header.c-heading {
    padding-left: 0;
    width: 291rem;
  }
}

.p-service__heading--main-nav {
  margin-top: 16rem;
  padding: 0 24rem;
  width: 100%;
  display: flex;
  flex-direction: column;
}

@media (min-width: 769px) {
  .p-service__heading--main-nav {
    margin-top: 0;
    padding: 0;
    width: 626rem;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 40rem;
  }
}

.p-service__heading--main-nav li.nav-item {
  padding-top: 8rem;
  padding-bottom: 8rem;
  width: 100%;
  border-bottom: solid 1rem rgba(25, 29, 67, 0.15);
}

@media (min-width: 769px) {
  .p-service__heading--main-nav li.nav-item {
    padding-top: 0;
    padding-bottom: 16rem;
    width: auto;
    min-width: 280rem;
  }
}

.p-service__heading--main-nav li.nav-item a {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}

.p-service__heading--main-nav li.nav-item a span {
  padding-top: 0;
  padding-bottom: 0;
  width: 280rem;
  display: inline-block;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}

@media (min-width: 769px) {
  .p-service__heading--main-nav li.nav-item a span {
    width: auto;
    border-bottom: none;
  }
}

.p-service__heading--main-nav li.nav-item a::after {
  content: "";
  margin-left: 24rem;
  width: 23rem;
  height: 23rem;
  display: inline-block;
  border-radius: 50%;
  background-image: url(./images/ico_arrow_down-bl.svg);
  background-position: center;
  background-size: 12rem 11rem;
  background-repeat: no-repeat;
  background-color: #0690C0;
  transform: scale(0.3) translateY(14rem);
  transition: transform 0.3s ease;
}

@media (min-width: 769px) {
  .p-service__heading--main-nav li.nav-item a:hover span {
    color: #0690C0;
  }
}

@media (min-width: 769px) {
  .p-service__heading--main-nav li.nav-item a:hover::after {
    transform: scale(1) translateY(5rem);
    background-image: url(./images/ico_arrow_down-wt.svg);
  }
}

.p-service__heading .c-breadcrumbs {
  display: none;
}

@media (min-width: 769px) {
  .p-service__heading .c-breadcrumbs {
    display: block;
  }
}

.p-service__container {
  width: 100%;
}

.p-service__container .p-service__subheading {
  padding: 120rem 0 128rem 25rem;
  width: 100%;
  display: block;
  background-image: url(./images/bg_service_head-sp.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

@media (min-width: 769px) {
  .p-service__container .p-service__subheading {
    padding: 132rem 424rem 148rem 283rem;
    background-image: url(./images/bg_service_head-pc.webp);
  }
}

.p-service__container .p-service__subheading h2.p-service__subheading--title {
  font-size: 22rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.09em;
  color: #fff;
}

@media (min-width: 769px) {
  .p-service__container .p-service__subheading h2.p-service__subheading--title {
    font-size: 40rem;
  }
}

.p-service__container .p-service__subheading .p-service__subheading--text {
  margin-top: 40rem;
  width: 325rem;
  display: block;
}

@media (min-width: 769px) {
  .p-service__container .p-service__subheading .p-service__subheading--text {
    width: 100%;
  }
}

.p-service__container .p-service__subheading .p-service__subheading--text p {
  margin-top: 16rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.04em;
  font-family: "Noto Sans JP", sans-serif;
  color: #fff;
  font-feature-settings: normal;
}

.p-service__container .p-service__subheading .p-service__subheading--text p:first-of-type {
  margin-top: 0;
}

.p-service__content {
  width: 100%;
}

@media (min-width: 769px) {
  .p-service__content {
    padding: 0 120rem 160rem;
    display: flex;
    justify-content: space-between;
  }
}

.p-service__content .p-service__menu {
  display: none;
}

@media (min-width: 769px) {
  .p-service__content .p-service__menu {
    width: 326rem;
    height: 100%;
    display: block;
    position: sticky;
    top: 0;
  }
}

@media (min-width: 769px) {
  .p-service__content .p-service__menu ul {
    padding: 224rem 0 150rem;
    width: 100%;
    display: block;
  }
}

@media (min-width: 769px) {
  .p-service__content .p-service__menu ul li {
    margin-top: 16rem;
    width: 100%;
  }
}

@media (min-width: 769px) {
  .p-service__content .p-service__menu ul li:first-of-type {
    margin-top: 0;
  }
}

@media (min-width: 769px) {
  .p-service__content .p-service__menu ul li span {
    display: inline-block;
    font-size: 18rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.04em;
    color: rgba(51, 51, 51, 0.3);
  }
}

@media (min-width: 769px) {
  .p-service__content .p-service__menu ul li span::before {
    content: "";
    margin-right: 16rem;
    width: 7rem;
    height: 7rem;
    display: inline-block;
    background-color: rgba(51, 51, 51, 0.3);
    border-radius: 4rem;
    vertical-align: middle;
  }
}

@media (min-width: 769px) {
  .p-service__content .p-service__menu ul li.is-active span {
    color: #0690C0;
  }
}

@media (min-width: 769px) {
  .p-service__content .p-service__menu ul li.is-active span::before {
    background-color: #0690C0;
  }
}

@media (min-width: 769px) {
  .p-service__content .p-service__business {
    padding-top: 160rem;
    width: 795rem;
    display: block;
  }
}

.p-service__content .p-service__business .p-service__item {
  margin: 40rem 8rem 0 16rem;
  padding: 40rem 32rem 56rem;
  display: block;
  background-color: #fff;
  border-top: solid 1rem rgba(255, 255, 255, 0);
  border-left: solid 1rem rgba(255, 255, 255, 0);
  border-radius: 16rem 0 0 0;
  box-shadow: -1rem -1rem 4rem rgba(25, 29, 67, 0.03);
  overflow: hidden;
}

@media (min-width: 769px) {
  .p-service__content .p-service__business .p-service__item {
    margin: 40rem 0 0;
    padding: 64rem 0 56rem 64rem;
  }
}

@media (min-width: 769px) {
  .p-service__content .p-service__business .p-service__item:first-of-type {
    margin-top: 0;
  }
}

.p-service__content .p-service__business .p-service__item-heading {
  padding-right: 16rem;
  padding-bottom: 24rem;
  width: 100%;
  display: block;
  border-bottom: solid 1rem #ddd;
}

@media (min-width: 769px) {
  .p-service__content .p-service__business .p-service__item-heading {
    padding-bottom: 40rem;
  }
}

.p-service__content .p-service__business .p-service__item-heading--ttl {
  display: block;
}

@media (min-width: 769px) {
  .p-service__content .p-service__business .p-service__item-heading--ttl {
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
}

.p-service__content .p-service__business .p-service__item-heading--ttl span {
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.06em;
  color: #0690C0;
  font-family: "Roboto Flex", sans-serif;
}

.p-service__content .p-service__business .p-service__item-heading--ttl h2 {
  width: 287rem;
  font-size: 22rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.04em;
  font-family: "Noto Sans JP", sans-serif;
  color: #191D43;
}

@media (min-width: 769px) {
  .p-service__content .p-service__business .p-service__item-heading--ttl h2 {
    margin-left: 24rem;
    width: auto;
    font-size: 28rem;
  }
}

.p-service__content .p-service__business .p-service__item-heading p {
  margin-top: 8rem;
  width: 287rem;
  font-size: 18rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.04em;
  font-language-override: "Noto Sans JP", sans-serif;
  color: #333;
}

@media (min-width: 769px) {
  .p-service__content .p-service__business .p-service__item-heading p {
    width: auto;
  }
}

.p-service__content .p-service__business .p-service__item-content {
  margin-top: 24rem;
  width: 287rem;
  display: block;
}

@media (min-width: 769px) {
  .p-service__content .p-service__business .p-service__item-content {
    margin-top: 40rem;
    width: 691rem;
  }
}

.p-service__content .p-service__business .p-service__item-content picture {
  width: 100%;
  display: block;
  border-radius: 8rem;
  overflow: hidden;
}

.p-service__content .p-service__business .p-service__item-content picture img {
  width: 100%;
  display: block;
}

.p-service__content .p-service__business .p-service__item-content p {
  margin-top: 16rem;
  font-size: 14rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #333;
}

@media (min-width: 769px) {
  .p-service__content .p-service__business .p-service__item-content p {
    font-size: 16rem;
  }
}

@media (min-width: 769px) {
  .p-service__content .p-service__business .p-service__item.is-active {
    background-color: rgba(6, 144, 192, 0.04);
    border-top: solid 1rem rgba(6, 144, 192, 0.05);
    border-left: solid 1rem rgba(6, 144, 192, 0.05);
    box-shadow: -1rem -1rem 4rem rgba(6, 144, 192, 0.15);
  }
}

@media (min-width: 769px) {
  .p-service__content .p-service__business .p-service__item.is-active h2 {
    color: #0690C0;
  }
}

.p-news {
  padding-bottom: 48rem;
  width: 100%;
  display: block;
}

@media (min-width: 769px) {
  .p-news {
    padding-bottom: 120rem;
  }
}

.p-news__heading {
  padding: 120rem 0 48rem;
  background-image: url(./images/bg_lowerLayer-sp.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

@media (min-width: 769px) {
  .p-news__heading {
    padding: 168rem 0 48rem 120rem;
    background-image: url(./images/bg_lowerLayer-pc.webp);
  }
}

.p-news__heading .c-breadcrumbs {
  display: none;
}

@media (min-width: 769px) {
  .p-news__heading .c-breadcrumbs {
    padding-top: 93rem;
    margin-left: 24rem;
    display: block;
  }
}

.p-news__container {
  margin: 0 auto;
  padding: 56rem 0 40rem;
  width: 327rem;
}

@media (min-width: 769px) {
  .p-news__container {
    padding: 128rem 0 0;
    width: 1104rem;
  }
}

@media (min-width: 769px) {
  .p-news__container .p-news__content {
    display: flex;
    justify-content: space-between;
  }
}

.p-news__container .p-news__content .p-news__category-list {
  padding: 16rem 0 56rem;
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12rem 19rem;
}

@media (min-width: 769px) {
  .p-news__container .p-news__content .p-news__category-list {
    padding: 16rem 0 0;
    width: 252rem;
    height: 100%;
    flex-direction: column;
    flex-wrap: nowrap;
  }
}

.p-news__container .p-news__content .p-news__category-list--item {
  width: 154rem;
  display: inline-block;
  user-select: none;
  cursor: pointer;
}

@media (min-width: 769px) {
  .p-news__container .p-news__content .p-news__category-list--item {
    width: auto;
  }
}

@media (min-width: 769px) {
  .p-news__container .p-news__content .p-news__category-list--item:hover span {
    color: #0690C0;
  }
}

@media (min-width: 769px) {
  .p-news__container .p-news__content .p-news__category-list--item:hover span::before {
    background-color: #0690C0;
  }
}

.p-news__container .p-news__content .p-news__category-list--item span {
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: rgba(51, 51, 51, 0.3);
}

@media (min-width: 769px) {
  .p-news__container .p-news__content .p-news__category-list--item span {
    font-size: 16rem;
  }
}

.p-news__container .p-news__content .p-news__category-list--item span::before {
  content: "";
  margin-right: 14rem;
  width: 7rem;
  height: 7rem;
  display: inline-block;
  background-color: transparent;
  border-radius: 4rem;
  vertical-align: middle;
}

.p-news__container .p-news__content .p-news__category-list--item.current-category span {
  color: #0690C0;
}

.p-news__container .p-news__content .p-news__category-list--item.current-category span::before {
  background-color: #0690C0;
}

@media (min-width: 769px) {
  .p-news__container .p-news__content.single {
    padding-top: 64rem;
    display: flex;
    flex-direction: row-reverse;
  }
}

.p-news__container .p-news__content.single .p-news-single__content {
  padding: 84rem 0 56rem;
  width: 100%;
  display: block;
}

@media (min-width: 769px) {
  .p-news__container .p-news__content.single .p-news-single__content {
    padding: 0 0 112rem;
    width: 760rem;
  }
}

.p-news__container .p-news__content.single .p-news-single__content .p-news-single__date-cat {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

@media (min-width: 769px) {
  .p-news__container .p-news__content.single .p-news-single__content .p-news-single__date-cat {
    width: auto;
  }
}

.p-news__container .p-news__content.single .p-news-single__content .p-news-single__date-cat span.date {
  font-size: 16rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.04em;
  color: rgba(25, 29, 67, 0.48);
}

.p-news__container .p-news__content.single .p-news-single__content .p-news-single__date-cat ul.cat {
  margin-left: 16rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0 8rem;
}

.p-news__container .p-news__content.single .p-news-single__content .p-news-single__date-cat ul.cat li {
  padding: 8rem 16rem;
  display: block;
  font-size: 14rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #0690C0;
  border: solid 1rem #0690C0;
  border-radius: 20rem;
}

.p-news__container .p-news__content.single .p-news-single__content .p-news-single__date-cat ul.cat li.ico-service {
  color: #0690C0;
  border-color: #0690C0;
}

.p-news__container .p-news__content.single .p-news-single__content h1 {
  margin-top: 16rem;
  font-size: 24rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #333;
}

@media (min-width: 769px) {
  .p-news__container .p-news__content.single .p-news-single__content h1 {
    font-size: 32rem;
  }
}

.p-news__container .p-news__content.single .p-news-single__content .p-news-single__item {
  margin-top: 40rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16rem;
}

.p-news__container .p-news__content.single .p-news-single__content .p-news-single__item h2 {
  font-size: 18rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #333;
}

@media (min-width: 769px) {
  .p-news__container .p-news__content.single .p-news-single__content .p-news-single__item h2 {
    font-size: 24rem;
  }
}

.p-news__container .p-news__content.single .p-news-single__content .p-news-single__item h3 {
  font-size: 16rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #333;
}

@media (min-width: 769px) {
  .p-news__container .p-news__content.single .p-news-single__content .p-news-single__item h3 {
    font-size: 18rem;
  }
}

.p-news__container .p-news__content.single .p-news-single__content .p-news-single__item p {
  font-size: 14rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #333;
}

@media (min-width: 769px) {
  .p-news__container .p-news__content.single .p-news-single__content .p-news-single__item p {
    font-size: 16rem;
  }
}

.p-news__container .p-news__content.single .p-news-single__content .p-news-single__item img {
  width: 100%;
  display: block;
}

.p-news__container a.single {
  margin: 16rem auto 32rem;
  width: 239rem;
}

@media (min-width: 769px) {
  .p-news__container a.single {
    margin: 0 auto 112rem;
  }
}

.p-news__container a.single span {
  display: flex;
  align-items: center;
  transform: translateY(0);
}

.p-news__container a.single span::before {
  content: "";
  margin-right: 20rem;
  width: 23rem;
  height: 23rem;
  display: inline-block;
  border-radius: 50%;
  background-image: url(./images/ico_arrow_left-wt.svg);
  background-position: center;
  background-size: 12rem 10rem;
  background-repeat: no-repeat;
  background-color: #fff;
  transform: scale(0.3) translateY(0);
  position: relative;
  transition: transform 0.3s ease;
}

.p-news__container a.single span::after {
  display: none;
}

@media (min-width: 769px) {
  .p-news__container a.single:hover span::before {
    background-image: url(./images/ico_arrow_left-bl.svg);
    transform: scale(1) translateY(0);
  }
}

.p-company {
  width: 100%;
  display: block;
}

.p-company__heading {
  padding: 120rem 0 48rem;
  width: 100%;
  background-image: url(./images/bg_lowerLayer-sp.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

@media (min-width: 769px) {
  .p-company__heading {
    padding: 168rem 0 48rem 144rem;
    background-image: url(./images/bg_lowerLayer-pc.webp);
  }
}

.p-company__heading--main {
  width: 100%;
  display: block;
}

@media (min-width: 769px) {
  .p-company__heading--main {
    padding-bottom: 20rem;
    width: 1128rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}

@media (min-width: 769px) {
  .p-company__heading--main header.c-heading {
    padding-left: 0;
    width: 291rem;
  }
}

.p-company__heading--main-nav {
  margin-top: 16rem;
  padding: 0 24rem;
  width: 100%;
  display: flex;
  flex-direction: column;
}

@media (min-width: 769px) {
  .p-company__heading--main-nav {
    margin-top: 0;
    padding: 0;
    width: 600rem;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 40rem;
  }
}

.p-company__heading--main-nav li.nav-item {
  padding-top: 8rem;
  padding-bottom: 8rem;
  width: 100%;
  border-bottom: solid 1rem rgba(25, 29, 67, 0.15);
}

@media (min-width: 769px) {
  .p-company__heading--main-nav li.nav-item {
    padding-top: 0;
    padding-bottom: 16rem;
    width: auto;
    min-width: 280rem;
  }
}

.p-company__heading--main-nav li.nav-item a {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}

.p-company__heading--main-nav li.nav-item a span {
  padding-top: 0;
  padding-bottom: 0;
  width: 280rem;
  display: inline-block;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}

@media (min-width: 769px) {
  .p-company__heading--main-nav li.nav-item a span {
    width: auto;
    border-bottom: none;
  }
}

.p-company__heading--main-nav li.nav-item a::after {
  content: "";
  margin-left: 24rem;
  width: 23rem;
  height: 23rem;
  display: inline-block;
  border-radius: 50%;
  background-image: url(./images/ico_arrow_down-bl.svg);
  background-position: center;
  background-size: 12rem 11rem;
  background-repeat: no-repeat;
  background-color: #0690C0;
  transform: scale(0.3) translateY(14rem);
  transition: transform 0.3s ease;
}

@media (min-width: 769px) {
  .p-company__heading--main-nav li.nav-item a:hover span {
    color: #0690C0;
  }
}

@media (min-width: 769px) {
  .p-company__heading--main-nav li.nav-item a:hover::after {
    transform: scale(1) translateY(5rem);
    background-image: url(./images/ico_arrow_down-wt.svg);
  }
}

.p-company__heading .c-breadcrumbs {
  display: none;
}

@media (min-width: 769px) {
  .p-company__heading .c-breadcrumbs {
    display: block;
  }
}

.p-company__picture {
  width: 100%;
  display: block;
}

.p-company__picture picture {
  width: 100%;
  display: block;
}

.p-company__picture picture img {
  width: 100%;
  display: block;
}

.p-company__content {
  padding-bottom: 96rem;
  width: 100%;
  display: block;
}

.p-company__content .p-company__philosophy {
  padding: 96rem 0 88rem;
  width: 100%;
  background-image: url(./images/bg_company_philosophy-sp.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

@media (min-width: 769px) {
  .p-company__content .p-company__philosophy {
    padding: 160rem 0 160rem 84rem;
    display: grid;
    grid-template-columns: 471rem 1fr;
    grid-template-rows: 364rem 1fr;
    grid-template-areas: "a b" "c b";
    gap: 0 114rem;
    background-image: url(./images/bg_company_philosophy-pc.webp);
  }
}

@media (min-width: 769px) {
  .p-company__content .p-company__philosophy div.p-company__message-heading {
    margin: 0 auto;
    padding: 0;
    width: fit-content;
    grid-area: a;
  }
}

.p-company__content .p-company__philosophy div.p-company__message-heading h2.message-title span[lang=en].small {
  margin-top: 8rem;
  font-size: 32rem !important;
}

@media (min-width: 769px) {
  .p-company__content .p-company__philosophy div.p-company__message-heading h2.message-title span[lang=en].small {
    font-size: 44rem !important;
  }
}

.p-company__content .p-company__philosophy-topic {
  margin-top: 40rem;
  padding: 0 24rem;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
}

@media (min-width: 769px) {
  .p-company__content .p-company__philosophy-topic {
    margin: 0;
    padding: 0;
    width: 651rem;
    grid-area: b;
  }
}

.p-company__content .p-company__philosophy-topic--ttl {
  margin-top: 24rem;
  display: block;
  font-size: 24rem;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.04em;
  font-family: "Roboto Flex", sans-serif;
  font-style: italic;
  color: #0690C0;
}

@media (min-width: 769px) {
  .p-company__content .p-company__philosophy-topic--ttl {
    margin-top: 56rem;
  }
}

.p-company__content .p-company__philosophy-topic--ttl:first-of-type {
  margin-top: 0;
}

.p-company__content .p-company__philosophy-topic--txt {
  padding-bottom: 24rem;
  font-size: 22rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.04em;
  display: block;
  border-bottom: solid 1rem rgba(25, 29, 67, 0.15);
}

@media (min-width: 769px) {
  .p-company__content .p-company__philosophy-topic--txt {
    font-size: 28rem;
    padding-bottom: 56rem;
  }
}

.p-company__content .p-company__philosophy-topic--list ol {
  margin-top: 8rem;
  width: 100%;
  display: block;
  counter-reset: item;
}

.p-company__content .p-company__philosophy-topic--list ol li {
  margin-top: 32rem;
  width: 100%;
  display: block;
  counter-increment: item;
}

.p-company__content .p-company__philosophy-topic--list ol li:first-of-type {
  margin-top: 0;
}

.p-company__content .p-company__philosophy-topic--list ol li h3 {
  width: fit-content;
  font-size: 20rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #333;
}

@media (min-width: 769px) {
  .p-company__content .p-company__philosophy-topic--list ol li h3 {
    font-size: 22rem;
  }
}

.p-company__content .p-company__philosophy-topic--list ol li h3::before {
  content: counter(item) ". ";
}

.p-company__content .p-company__philosophy-topic--list ol li h3::after {
  content: "";
  width: 100%;
  height: 9rem;
  display: block;
  background-color: rgba(6, 144, 192, 0.13);
  border-radius: 5rem;
  transform: translateY(-14rem);
}

.p-company__content .p-company__philosophy-topic--list ol li span {
  margin-top: -6rem;
  font-size: 16rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #333;
  display: block;
}

.p-company__content .p-company__philosophy-topic--list ol li p {
  font-size: 14rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #333;
}

.p-company__content .p-company__philosophy-images {
  margin-top: 40rem;
  padding: 24rem 17rem 0;
  width: 100%;
  display: block;
}

@media (min-width: 769px) {
  .p-company__content .p-company__philosophy-images {
    margin-top: 0;
    padding: 0;
    grid-area: c;
  }
}

.p-company__content .p-company__philosophy-images img {
  margin-top: 0;
  width: 100%;
  display: block;
}

.p-company__content .p-company__message,
.p-company__content .p-company__introduction,
.p-company__content .p-company__overview {
  padding: 88rem 16rem;
  width: 100%;
}

.p-company__content .p-company__message div.p-company__message-heading,
.p-company__content .p-company__introduction div.p-company__message-heading,
.p-company__content .p-company__overview div.p-company__message-heading {
  padding-left: 0;
}

.p-company__content .p-company__message div.p-company__message-heading h2.message-title span[lang=en].small,
.p-company__content .p-company__introduction div.p-company__message-heading h2.message-title span[lang=en].small,
.p-company__content .p-company__overview div.p-company__message-heading h2.message-title span[lang=en].small {
  margin-top: 8rem;
  font-size: 32rem !important;
}

@media (min-width: 769px) {

  .p-company__content .p-company__message div.p-company__message-heading h2.message-title span[lang=en].small,
  .p-company__content .p-company__introduction div.p-company__message-heading h2.message-title span[lang=en].small,
  .p-company__content .p-company__overview div.p-company__message-heading h2.message-title span[lang=en].small {
    font-size: 44rem !important;
  }
}

@media (min-width: 769px) {
  .p-company__content .p-company__message {
    padding: 160rem 0;
    display: grid;
    grid-template-columns: 695rem 1fr;
    grid-template-rows: 130rem 1fr;
    grid-template-areas: "a b" "a c";
  }
}

@media (min-width: 769px) {
  .p-company__content .p-company__message div.p-company__message-heading {
    grid-area: b;
  }
}

.p-company__content .p-company__message .p-company__image {
  margin-top: 32rem;
  width: 100%;
  display: block;
}

@media (min-width: 769px) {
  .p-company__content .p-company__message .p-company__image {
    margin-top: 77rem;
    margin-left: 136rem;
    width: 468rem;
    grid-area: a;
  }
}

.p-company__content .p-company__message .p-company__image img {
  width: 100%;
  display: block;
  border-radius: 16rem;
}

@media (min-width: 769px) {
  .p-company__content .p-company__message .p-company__image img {
    margin: 0 auto;
    width: 462rem;
    aspect-ratio: 462/569;
    object-fit: cover;
  }
}

.p-company__content .p-company__message .p-company__image figcaption {
  margin-top: 32rem;
  text-align: center;
}

@media (min-width: 769px) {
  .p-company__content .p-company__message .p-company__image figcaption {
    margin-top: 24rem;
  }
}

.p-company__content .p-company__message .p-company__image figcaption span {
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #333;
  display: block;
}

@media (min-width: 769px) {
  .p-company__content .p-company__message .p-company__image figcaption span {
    font-size: 20rem;
    display: inline-block;
  }
}

.p-company__content .p-company__message .p-company__message-main {
  width: 100%;
}

@media (min-width: 769px) {
  .p-company__content .p-company__message .p-company__message-main {
    width: 609rem;
  }
}

.p-company__content .p-company__message .p-company__message-main h2.wp-block-heading,
.p-company__content .p-company__message .p-company__message-main h3.wp-block-heading {
  margin-top: 16rem;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
  color: #0690C0;
}

@media (min-width: 769px) {

  .p-company__content .p-company__message .p-company__message-main h2.wp-block-heading,
  .p-company__content .p-company__message .p-company__message-main h3.wp-block-heading {
    margin-top: 0;
    font-size: 28rem;
  }
}

.p-company__content .p-company__message .p-company__message-main p {
  padding: 0 8rem;
  margin-top: 16rem;
  font-size: 15rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #333;
}

@media (min-width: 769px) {
  .p-company__content .p-company__message .p-company__message-main p {
    margin-top: 24rem;
  }
}

@media (min-width: 769px) {
  .p-company__content .p-company__message .p-company__message-main p:first-of-type {
    margin-top: 40rem;
  }
}

.p-company__content .p-company__message .p-company__message-main p.tagline {
  width: 100%;
  font-weight: 700;
  color: #0690C0;
}

@media (min-width: 769px) {
  .p-company__content .p-company__message .p-company__message-main p.tagline {
    width: 100%;
    font-size: 18rem;
  }
}

.p-company__content .p-company__introduction {
  width: 100%;
  background-color: #f6f6f6;
}

@media (min-width: 769px) {
  .p-company__content .p-company__introduction {
    padding: 144rem 128rem;
  }
}

.p-company__content .p-company__introduction .p-company__member-list {
  margin-top: 40rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 48rem;
}

@media (min-width: 769px) {
  .p-company__content .p-company__introduction .p-company__member-list {
    flex-direction: row;
  }
}

.p-company__content .p-company__introduction .p-company__member-list .p-company__member {
  width: 100%;
  display: block;
}

@media (min-width: 769px) {
  .p-company__content .p-company__introduction .p-company__member-list .p-company__member {
    width: 362.7rem;
  }
}

@media (min-width: 769px) {
  .p-company__content .p-company__introduction .p-company__member-list .p-company__member:nth-of-type(2) {
    margin-top: 30rem;
  }
}

.p-company__content .p-company__introduction .p-company__member-list .p-company__member figure {
  width: 100%;
  display: block;
}

.p-company__content .p-company__introduction .p-company__member-list .p-company__member figure img {
  margin: 0 auto;
  width: 312rem;
  height: 247rem;
  display: block;
  border-radius: 16rem;
  object-fit: cover;
}

@media (min-width: 769px) {
  .p-company__content .p-company__introduction .p-company__member-list .p-company__member figure img {
    height: 354rem;
  }
}

.p-company__content .p-company__introduction .p-company__member-list .p-company__member figure figcaption {
  margin-top: 24rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.04em;
  text-align: center;
}

.p-company__content .p-company__introduction .p-company__member-list .p-company__member figure figcaption p.p-company__member--job-title {
  font-size: 14rem;
  color: #0690C0;
}

.p-company__content .p-company__introduction .p-company__member-list .p-company__member figure figcaption h3 {
  font-size: 24rem;
  color: #333;
}

@media (min-width: 769px) {
  .p-company__content .p-company__introduction .p-company__member-list .p-company__member figure figcaption h3 {
    font-size: 28rem;
  }
}

.p-company__content .p-company__introduction .p-company__member-list .p-company__member p.p-company__member--biography {
  margin-top: 8rem;
  font-size: 15rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0;
  color: #333;
}

.p-company__content .p-company__overview {
  padding-bottom: 0;
}

@media (min-width: 769px) {
  .p-company__content .p-company__overview {
    padding: 136rem 120rem 112rem;
    display: flex;
    justify-content: space-between;
  }
}

.p-company__content .p-company__overview .p-company__overview--list {
  margin-top: 32rem;
  width: 100%;
  display: block;
}

@media (min-width: 769px) {
  .p-company__content .p-company__overview .p-company__overview--list {
    margin-top: 0;
    width: 847rem;
  }
}

.p-company__content .p-company__overview .p-company__overview--list .p-company__overview--item {
  padding: 16rem 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16rem 0;
  border-bottom: solid 1rem rgba(25, 29, 67, 0.15);
}

@media (min-width: 769px) {
  .p-company__content .p-company__overview .p-company__overview--list .p-company__overview--item {
    padding: 24rem 0;
    flex-direction: row;
    gap: 0 96rem;
  }
}

.p-company__content .p-company__overview .p-company__overview--list .p-company__overview--item:last-of-type {
  border-bottom: none;
}

.p-company__content .p-company__overview .p-company__overview--list .p-company__overview--item .p-company__overview--label {
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #0690C0;
}

@media (min-width: 769px) {
  .p-company__content .p-company__overview .p-company__overview--list .p-company__overview--item .p-company__overview--label {
    width: 100rem;
    display: block;
  }
}

.p-company__content .p-company__overview .p-company__overview--list .p-company__overview--item .p-company__overview--value {
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #191D43;
}

@media (min-width: 769px) {
  .p-company__content .p-company__overview .p-company__overview--list .p-company__overview--item .p-company__overview--value {
    width: 651rem;
    display: block;
  }
}

.p-company__content .p-company__overview .p-company__overview--list .p-company__overview--item .p-company__overview--sublist {
  width: 100%;
  display: block;
}

.p-company__content .p-company__overview .p-company__overview--list .p-company__overview--item .p-company__overview--sublist .p-company__sublist-item--ourcompany {
  display: block;
  border-bottom: solid 1rem rgba(25, 29, 67, 0.15);
}

.p-company__content .p-company__overview .p-company__overview--list .p-company__overview--item .p-company__overview--sublist .p-company__sublist-item--ourcompany.group {
  margin-top: 32rem;
  padding-bottom: 16rem;
  border-bottom: none;
}

@media (min-width: 769px) {
  .p-company__content .p-company__overview .p-company__overview--list .p-company__overview--item .p-company__overview--sublist .p-company__sublist-item--ourcompany.group {
    padding-bottom: 0;
  }
}

.p-company__content .p-company__overview .p-company__overview--list .p-company__overview--item .p-company__overview--sublist .p-company__sublist-item--ourcompany p {
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #0690C0;
}

.p-company__content .p-company__overview .p-company__overview--list .p-company__overview--item .p-company__overview--sublist .p-company__sublist-item--ourcompany span {
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #191D43;
}

@media (min-width: 769px) {
  .p-company__content .p-company__overview .p-company__overview--list .p-company__overview--item .p-company__overview--sublist .p-company__sublist-item--ourcompany span {
    margin-top: 4rem;
  }
}

.p-company__content .p-company__overview .p-company__overview--list .p-company__overview--item .p-company__overview--sublist .p-company__sublist-item--ourcompany .map-container {
  margin-top: 15rem;
  padding-bottom: 24rem;
  width: 327rem;
  display: block;
  border-radius: 8rem;
  overflow: hidden;
}

@media (min-width: 769px) {
  .p-company__content .p-company__overview .p-company__overview--list .p-company__overview--item .p-company__overview--sublist .p-company__sublist-item--ourcompany .map-container {
    width: 651rem;
  }
}

.p-company__content .p-company__overview .p-company__overview--list .p-company__overview--item .p-company__overview--sublist .p-company__sublist-item--ourcompany .map-container iframe {
  width: 100% !important;
  height: 299rem;
}

.p-recruit {
  width: 100%;
  display: block;
}

.p-recruit__heading {
  padding: 120rem 0 48rem;
  width: 100%;
  background-image: url(./images/bg_lowerLayer-sp.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

@media (min-width: 769px) {
  .p-recruit__heading {
    padding: 168rem 0 48rem 144rem;
    background-image: url(./images/bg_lowerLayer-pc.webp);
  }
}

.p-recruit__heading--main {
  width: 100%;
  display: block;
}

@media (min-width: 769px) {
  .p-recruit__heading--main {
    padding-bottom: 91rem;
    width: 1128rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}

.p-recruit__heading .c-breadcrumbs {
  display: none;
}

@media (min-width: 769px) {
  .p-recruit__heading .c-breadcrumbs {
    display: block;
  }
}

.p-recruit__container {
  width: 100%;
  overflow: hidden;
}

.p-recruit__container .p-recruit__subheading {
  padding: 85.5rem 31rem 309.5rem;
  width: 100%;
  display: block;
  background-image: url(./images/bg_recruit_head-sp.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}

@media (min-width: 769px) {
  .p-recruit__container .p-recruit__subheading {
    padding: 160rem 0 202rem 790rem;
    background-image: url(./images/bg_recruit_head-pc.webp);
  }
}

.p-recruit__container .p-recruit__subheading h2.p-recruit__subheading--title {
  font-size: 22rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.09em;
  color: #fff;
}

@media (min-width: 769px) {
  .p-recruit__container .p-recruit__subheading h2.p-recruit__subheading--title {
    font-size: 40rem;
  }
}

.p-recruit__container .p-recruit__subheading .p-recruit__subheading--text {
  margin-top: 40rem;
  width: 100%;
}

@media (min-width: 769px) {
  .p-recruit__container .p-recruit__subheading .p-recruit__subheading--text {
    width: 580rem;
  }
}

.p-recruit__container .p-recruit__subheading .p-recruit__subheading--text p {
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #fff;
}

@media (min-width: 769px) {
  .p-recruit__container .p-recruit__subheading .p-recruit__subheading--text p {
    font-size: 18rem;
  }
}

.p-recruit__idealprofile {
  padding: 104rem 24rem 16rem;
  width: 100%;
  display: block;
  position: relative;
}

@media (min-width: 769px) {
  .p-recruit__idealprofile {
    padding: 143rem 262rem 128rem;
  }
}

.p-recruit__idealprofile::before {
  content: "";
  width: 630rem;
  aspect-ratio: 630/533;
  display: block;
  background-image: url(./images/bg_recruit_section_shape_union.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  right: -315rem;
  z-index: -1;
}

@media (min-width: 769px) {
  .p-recruit__idealprofile::before {
    top: 103rem;
    right: 0;
  }
}

@media (min-width: 769px) {
  .p-recruit__idealprofile div.c-heading__jp-title h2 {
    margin: 0 auto;
    width: 225rem;
  }
}

.p-recruit__idealprofile p {
  font-size: 14rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.04em;
}

@media (min-width: 769px) {
  .p-recruit__idealprofile p {
    font-size: 16rem;
    text-align: center;
  }
}

.p-recruit__idealprofile p span {
  font-size: 18rem;
  font-weight: 700;
  display: block;
  margin: 14rem 0;
}

.p-recruit__aboutus {
  padding: 64rem 24rem 144rem;
  width: 100%;
  display: block;
  position: relative;
}

@media (min-width: 769px) {
  .p-recruit__aboutus {
    padding: 0 120rem 248rem;
  }
}

.p-recruit__aboutus::after {
  content: "";
  width: 100%;
  aspect-ratio: 25/3;
  display: block;
  background-image: url(./images/bg_recruit_section_shape_buttom-sp.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media (min-width: 769px) {
  .p-recruit__aboutus::after {
    aspect-ratio: 288/19;
    background-image: url(./images/bg_recruit_section_shape_buttom-pc.svg);
  }
}

.p-recruit__aboutus--link {
  margin-top: 32rem;
  width: 100%;
  display: block;
}

@media (min-width: 769px) {
  .p-recruit__aboutus--link {
    margin-top: 60rem;
    width: 1200rem;
    display: flex;
    justify-content: space-between;
  }
}

.p-recruit__aboutus--link li {
  width: 327rem;
  height: 200rem;
  display: block;
  border-radius: 8rem;
  overflow: hidden;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  box-shadow: -1rem -1rem 4rem rgba(25, 29, 67, 0.15);
}

@media (min-width: 769px) {
  .p-recruit__aboutus--link li {
    width: 588rem;
    height: 240rem;
  }
}

.p-recruit__aboutus--link li:first-of-type {
  background-image: url(./images/img_recruit_aboutus1-sp.webp);
}

@media (min-width: 769px) {
  .p-recruit__aboutus--link li:first-of-type {
    background-image: url(./images/img_recruit_aboutus1-pc.webp);
  }
}

.p-recruit__aboutus--link li:last-of-type {
  margin-top: 24rem;
  background-image: url(./images/img_recruit_aboutus2-sp.webp);
}

@media (min-width: 769px) {
  .p-recruit__aboutus--link li:last-of-type {
    margin-top: 0;
    background-image: url(./images/img_recruit_aboutus2-pc.webp);
  }
}

@media (min-width: 769px) {
  .p-recruit__aboutus--link li::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: linear-gradient(to bottom, rgba(25, 29, 67, 0.55), rgba(6, 144, 192, 0.55));
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
  }
}

.p-recruit__aboutus--link li a {
  padding: 130rem 155rem 0 40rem;
  width: 100%;
  height: 100%;
  display: block;
}

@media (min-width: 769px) {
  .p-recruit__aboutus--link li a {
    padding: 170rem 416rem 0 40rem;
  }
}

.p-recruit__aboutus--link li a span {
  font-size: 22rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #fff;
  position: relative;
  z-index: 10;
}

.p-recruit__aboutus--link li a span::after {
  content: "";
  margin-left: 16rem;
  width: 23rem;
  height: 23rem;
  display: inline-block;
  border-radius: 50%;
  background-image: url(./images/ico_arrow_right-wt.svg);
  background-position: center;
  background-size: 12rem 11rem;
  background-repeat: no-repeat;
  background-color: #fff;
  transform: scale(0.3) translateY(6rem);
  transition: transform 0.3s ease;
}

@media (min-width: 769px) {
  .p-recruit__aboutus--link li:hover {
    box-shadow: -1rem -1rem 4rem rgba(25, 29, 67, 0.35);
  }
}

@media (min-width: 769px) {
  .p-recruit__aboutus--link li:hover a span::after {
    transform: scale(1) translateY(4rem);
    background-image: url(./images/ico_arrow_right-bl.svg);
  }
}

@media (min-width: 769px) {
  .p-recruit__aboutus--link li:hover::after {
    background: linear-gradient(to bottom, rgba(25, 29, 67, 0.2), rgba(6, 144, 192, 0.2));
  }
}

.p-recruit__guidelines {
  padding: 40rem 0 0 24rem;
  width: 100%;
  display: block;
  background-color: #f6f6f6;
}

@media (min-width: 769px) {
  .p-recruit__guidelines {
    padding: 64rem 120rem 0 144rem;
    position: relative;
    overflow-x: hidden;
  }
}

@media (min-width: 769px) {
  .p-recruit__guidelines .p-recruit__container {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
}

@media (min-width: 769px) {
  .p-recruit__guidelines .p-recruit__container .p-recruit__title {
    width: 164rem;
  }
}

.p-recruit__guidelines .p-recruit__container .p-recruit__no-positions {
  margin-top: 40rem;
  width: 100%;
  padding-right: 24rem;
  display: block;
}

@media (min-width: 769px) {
  .p-recruit__guidelines .p-recruit__container .p-recruit__no-positions {
    width: 847rem;
  }
}

.p-recruit__guidelines .p-recruit__container .p-recruit__no-positions p {
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em;
  text-align: center;
  color: #191D43;
}

@media (min-width: 769px) {
  .p-recruit__guidelines .p-recruit__container .p-recruit__no-positions p {
    font-size: 18rem;
  }
}

.p-recruit__guidelines .p-recruit__container dl.p-recruit__lists {
  margin-top: 40rem;
  padding-right: 24rem;
  width: 100%;
}

@media (min-width: 769px) {
  .p-recruit__guidelines .p-recruit__container dl.p-recruit__lists {
    margin-top: 0;
    padding-right: 0;
    width: 847rem;
  }
}

.p-recruit__guidelines .p-recruit__container dl.p-recruit__lists .p-recruit__item {
  border-bottom: solid 1rem rgba(25, 29, 67, 0.15);
}

@media (min-width: 769px) {
  .p-recruit__guidelines .p-recruit__container dl.p-recruit__lists .p-recruit__item {
    padding: 24rem 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
}

.p-recruit__guidelines .p-recruit__container dl.p-recruit__lists .p-recruit__item dt {
  margin-top: 16rem;
  display: block;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #0690C0;
}

@media (min-width: 769px) {
  .p-recruit__guidelines .p-recruit__container dl.p-recruit__lists .p-recruit__item dt {
    margin-top: 0;
    width: 196rem;
  }
}

.p-recruit__guidelines .p-recruit__container dl.p-recruit__lists .p-recruit__item dd {
  margin-top: 8rem;
  padding-bottom: 16rem;
  display: block;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

@media (min-width: 769px) {
  .p-recruit__guidelines .p-recruit__container dl.p-recruit__lists .p-recruit__item dd {
    margin-top: 0;
    padding-bottom: 0;
  }
}

.p-recruit__guidelines .p-recruit__images {
  margin-top: 85rem;
  padding-bottom: 63rem;
  padding-right: 11rem;
  width: 100%;
  display: block;
}

@media (min-width: 769px) {
  .p-recruit__guidelines .p-recruit__images {
    margin-top: 0;
    padding: 0;
    width: 340rem;
    position: absolute;
    top: 475rem;
    left: -17rem;
  }
}

.p-recruit__guidelines .p-recruit__images.no-positions {
  display: none;
}

.p-recruit__guidelines .p-recruit__images img {
  display: block;
}

.p-recruit__guidelines .p-recruit__images img:first-of-type {
  width: 100%;
}

.p-recruit__guidelines .p-recruit__images img:last-of-type {
  margin-top: 40rem;
  margin-left: 32rem;
  width: 158rem;
  aspect-ratio: 79/76;
}

@media (min-width: 769px) {
  .p-recruit__guidelines .p-recruit__images img:last-of-type {
    margin-top: 79rem;
    margin-left: 49rem;
  }
}

.p-recruit__guidelines a.p-recruit__link {
  margin: 72rem 0 72rem 2rem;
  width: 323rem;
  height: 76rem;
}

@media (min-width: 769px) {
  .p-recruit__guidelines a.p-recruit__link {
    margin: 132rem 0 144rem 414.5rem;
    height: 75rem;
  }
}

.p-recruit__guidelines a.p-recruit__link.no-positions {
  background-color: rgba(51, 51, 51, 0.3);
  pointer-events: none;
}

.p-contact {
  padding: 64rem 24rem 16rem;
  width: 100%;
}

@media (min-width: 769px) {
  .p-contact {
    padding: 160rem 320rem 40rem;
  }
}

.p-contact h2.wp-block-heading {
  font-size: 24rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #191D43;
}

@media (min-width: 769px) {
  .p-contact h2.wp-block-heading {
    font-size: 36rem;
  }
}

.p-contact p.form-desc {
  margin-top: 40rem;
  font-size: 14rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0;
}

@media (min-width: 769px) {
  .p-contact p.form-desc {
    font-size: 16rem;
  }
}

.p-contact div#wpcf7-f137-o1 {
  margin-top: 40rem;
}

/*---------------------------------*
* utility
*----------------------------------*/
.u-inline-block {
  display: inline-block;
}

.u-br-sp {
  display: block;
}

@media (min-width: 769px) {
  .u-br-sp {
    display: none;
  }
}

.u-br-pc {
  display: none;
}

@media (min-width: 769px) {
  .u-br-pc {
    display: block;
  }
}

.u-font__heading {
  font-size: 24rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.05em;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
}

@media (min-width: 769px) {
  .u-font__heading {
    font-size: 40rem;
  }
}

.u-font__heading--policy {
  font-size: 24rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.05em;
  font-family: "Noto Sans JP", sans-serif;
}

@media (min-width: 769px) {
  .u-font__heading--policy {
    font-size: 38rem;
  }
}

.u-font__subheading--policy {
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
  font-family: "Noto Sans JP", sans-serif;
}

@media (min-width: 769px) {
  .u-font__subheading--policy {
    font-size: 24rem;
  }
}

.u-font__paragraph {
  font-size: 14rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0;
  font-family: "Noto Sans JP", sans-serif;
}

@media (min-width: 769px) {
  .u-font__paragraph {
    font-size: 14rem;
  }
}