/**
 * @file
 * メインCSSファイル
 */

/* global */
* {
  scroll-margin-top: var(--size-80);
}

@media (max-width: 768px) {
  * {
    scroll-margin-top: var(--size-40);
  }
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}
.is-overflow-hidden {
  overflow: hidden;
}
body {
  overflow: visible;
  overflow-x: hidden;
  font-family: "Noto Sans JP", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  color: #333;
}

/* loading */
.l-loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
}
.l-loading__inner {
  position: relative;
  width: 100%;
  height: 100%;
  background: #fff;
}
.l-loading__img01,
.l-loading__img02 {
  visibility: hidden;
  opacity: 0;
}
.l-loading__img01 {
  position: absolute;
  top: 51%;
  left: 46%;
  transform: translate(-50%, -50%);
  width: var(--size-289);
  height: var(--size-296);
  z-index: 1;
}
.l-loading__img02 {
  position: absolute;
  top: 49%;
  left: 55%;
  transform: translate(-50%, -50%);
  width: var(--size-348);
  height: var(--size-236);
}
.l-loading__text {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: var(--size-32);
  font-weight: 700;
  letter-spacing: 0.1em;
  z-index: 1001;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.1s ease-in-out, visibility 0.1s ease-in-out;
}

#mySvg,
#mySvg2,
#mySvg3,
#mySvg4,
#mySvg5,
#mySvg6 {
  transition: transform 3s ease-in-out;
  overflow: visible;
}
@keyframes pseudoRandomDistort {
  0% {
    transform: scale(1) skew(0deg, 0deg);
  }
  20% {
    transform: scale(1.05) skew(1deg, 1deg);
  }
  40% {
    transform: scale(0.95) skew(-1deg, -1deg);
  }
  60% {
    transform: scale(1.05) skew(1deg, -1deg);
  }
  80% {
    transform: scale(0.95) skew(-1deg, 1deg);
  }
  100% {
    transform: scale(1) skew(0deg, 0deg);
  }
}

#mySvg2 {
  display: inline-block;
  animation: pseudoRandomDistort 20s infinite ease-in-out;
}
.c-font-noto {
  font-family: "Noto Sans JP", sans-serif;
}
.c-font-jost {
  font-family: "Jost", sans-serif;
}
.c-font-itc {
  font-family: "itc-avant-garde-gothic-pro", sans-serif;
}
.c-text-blue {
  color: #2298E8;
}
.c-text-link[target="_blank"] {
  margin-right: var(--size-4);
}
.c-text-link[target="_blank"]:after {
  content: "";
  display: inline-block;
  background: url(../img/icon-blank.svg) no-repeat center center / contain;
  width: var(--size-12);
  height: var(--size-10);
  margin-left: var(--size-4);
  background-size: contain;
}

@media (max-width: 768px) {
  .l-loading__img01 {
    width: var(--size-200);
    left: 41%;
    top: 48%;
  }
  .l-loading__img02 {
    width: var(--size-200);
    left: 62%;
    top: 47%;
  }
  .l-loading__text {
    font-size: var(--size-16);
    width: calc(100% - var(--size-32));
    text-align: center;
    top: 48%;
  }
}

/* component */
.c-skip-link {
  position: absolute;
  top: -40px;
  left: 0;
  background: #FFF;
  color: #333;
  padding: 8px;
  z-index: 100;
  transition: top 0.3s ease-in-out;
}
.c-skip-link:focus {
  top: 10px;
  z-index: 302;
}
.c-outer {
  width: 100%;
  padding: 0 var(--size-20);
  overflow: visible;
}
.c-inner {
  width: 100%;
  max-width: calc(var(--size-1280) + var(--size-32) * 2);
  margin: 0 auto;
  padding: 0 var(--size-32);
}
.c-inner-narrow {
  width: 100%;
  max-width: calc(var(--size-1080) + var(--size-32) * 2);
  margin: 0 auto;
  padding: 0 var(--size-32);
}
.u-recruit .c-inner-narrow {
  padding: 0 var(--size-32);
}
.c-bg-gray {
  padding: var(--size-96) 0;
  background: #D6D6D6;
  border-radius: var(--size-24);
}
.c-bg-white {
  background: #fff;
  border-radius: var(--size-24);
}
.c-bg-black {
  background: #333;
  color: #fff;
  border-radius: var(--size-24);
  padding: var(--size-96) 0;
}
.c-bg-dark {
  background: #C7C7C7;
  color: #fff;
}
.c-contents-inner {
  max-width: calc(var(--size-1280) + var(--size-16) * 2);
  margin: 0 auto;
  padding: 0 var(--size-16);
  overflow: visible;
}
.c-bold {
  font-weight: 700;
}
.c-button {
  position: relative;
  display: inline-block;
  padding: var(--size-22) var(--size-68) var(--size-22) var(--size-32);
  border-radius: 100vmax;
  font-size: var(--size-14);
  font-weight: 700;
  background: #333;
  color: #fff;
  transition: color 0.3s ease-in-out;
  overflow: hidden;
  border: 2px solid #333;
  width: fit-content;
  min-width: var(--size-320);
}
.c-button.u-document {
  min-width: unset;
  width: 100%;
}
.c-button:hover {
  color: #333;
}
.c-button:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  /* transform: translateX(-100%); */
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: 100vmax;
  transition: transform 0.3s ease-in-out;
  transform: scaleX(0);
  transform-origin: left;
}
.c-button:hover:before {
  transform: scaleX(1);
}
.c-button:after {
  content: "";
  position: absolute;
  top: 50%;
  right: var(--size-32);
  transform: translateY(-50%);
  display: inline-block;
  width: var(--size-12);
  height: var(--size-12);
  background: #fff;
  border-radius: 50%;
  transition: background 0.3s ease-in-out;
}
.c-button:hover:after {
  background: #333;
}
.c-button.u-header {
  max-width: var(--size-240);
  min-width: var(--size-240);
}
.c-button__text {
  position: relative;
  z-index: 1;
}
.c-button.u-bg-white {
  background: #fff;
  border: 1px solid #333;
  box-shadow: inset 0 0 0 1px #333;
  color: #333;
}
.c-button.u-bg-white:hover {
  color: #fff;
}
.c-button.u-border-white:hover {
  border: 1px solid #fff;
  box-shadow: inset 0 0 0 1px #fff;
}
.c-button.u-bg-white:before {
  background: #333;
  transform: translateX(-100%);
}
.c-button.u-bg-white:hover:before {
  transform: translateX(0);
}
.c-button.u-bg-white:after {
  background: #333;
}
.c-button.u-bg-white:hover:after {
  background: #fff;
}
.c-button.u-w240 {
  min-width: var(--size-240);
}
.c-button-white {
  position: relative;
  padding: var(--size-15) var(--size-38);
  box-shadow: inset 0 0 0 2px #2298E8;
  border-radius: 100vmax;
  background: #fff;
  overflow: hidden;
  text-align: center;
  min-width: var(--size-225);
}
.c-button-white.u-orange {
  box-shadow: inset 0 0 0 2px #FA6F1F;
}
.c-button-white:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #2298E8;
  border-radius: 100vmax;
  transition: transform 0.3s ease-in-out;
  transform: translateX(-100%);
}
.c-button-white.u-orange:before {
  background: #FA6F1F;
}
.c-button-white__inner {
  position: relative;
  z-index: 1;
}
.c-button-white__copy {
  position: relative;
  font-size: var(--size-12);
  font-weight: 500;
  padding-bottom: var(--size-4);
  margin-bottom: var(--size-4);
  transition: color 0.3s ease-in-out;
}
.c-button-white__copy:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background: #9CD0F2;
  transition: background 0.3s ease-in-out;
}
.c-button-white.u-orange .c-button-white__copy:after {
  background: #F29C9C;
}
.c-button-white:hover .c-button-white__copy {
  color: #fff;
}
.c-button-white:hover .c-button-white__copy:after {
  background: #fff;
}
.c-button-white__text-span {
  color: #2298E8;
  font-size: var(--size-18);
  font-weight: 700;
  transition: color 0.3s ease-in-out;
}
.c-button-white.u-orange .c-button-white__text-span {
  color: #FA6F1F;
}
.c-button-white:hover .c-button-white__text-span {
  color: #fff;
}
.c-button-white:hover:before {
  transform: translateX(0);
}
.c-button-white:hover .c-button-white__icon rect#calendar {
  fill: #fff;
}
.c-button-white__text {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: var(--size-6);
}
.c-button-white__icon {
  position: relative;
  top: 2px;
  color: #2298E8;
  transition: color 0.3s ease-in-out;
}
.c-button-white:hover .c-button-white__icon {
  color: #fff;
}
.c-button-white #store rect,
.c-button-white #store path {
  transition: fill 0.3s ease-in-out;
}
.c-button-white:hover #store rect,
.c-button-white:hover #store path {
  fill: #fff;
}
.c-button.u-page {
  box-shadow: unset;
  color: #2298E8;
  min-width: unset;
}
.c-button.u-page:before {
  background: #F1F8F9;
}
.c-button.u-page:after {
  background: #42A8EE;
}
.c-button.u-page:hover {
  background: #42A8EE;
  color: #fff;
}
.c-button.u-page:hover .c-button__text {
  color: #fff;
}
.c-button.u-page:hover:after {
  background: #fff;
}
.c-link-button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  padding: var(--size-22);
  border-radius: 100vmax;
  background: #fff;
  color: #333;
  box-shadow: inset 0 0 0 2px #333;
  transition: color 0.3s ease-in-out;
  overflow: hidden;
  font-size: var(--size-14);
  font-weight: 700;
}
.c-link-button.is-current {
  background: #333;
  color: #fff;
}
.c-link-button-text {
  position: relative;
  z-index: 1;
}
.c-link-button:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #333;
  border-radius: 100vmax;
  transition: transform 0.3s ease-in-out;
  transform: translateX(-100%);
}
.c-link-button:hover {
  color: #fff;
}
.c-link-button:hover:before {
  transform: translateX(0);
}
.c-text-link {
  display: inline;
  transition: opacity 0.3s ease-in-out;
}
.c-text-link:hover {
  opacity: 0.5;
}
.c-title-group {
  display: flex;
  flex-direction: column;
  gap: var(--size-8);
}
.c-title-group__title {
  font-size: var(--size-64);
  font-weight: 700;
  line-height: 1;
  position: relative;
  z-index: 1;
}
.c-title-group__title-dot {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: calc(100% + var(--size-16));
  width: 20px;
  height: 20px;
  border-radius: 50%;
  /* opacity: 0; */
  transition: opacity 0.6s var(--ease-slow-end);
  z-index: -1;
  animation: dotRainbowCircleLeft 10s linear infinite;
}
.c-title-group__title-dot-wrapper {
  position: relative;
  left: var(--size-10);
  top: var(--size-10);
}
.c-title-group__title-dot-inner {
  --circle-size-left: 450px;
  --border-width-left: 1px;
  width: var(--circle-size-left);
  height: var(--circle-size-left);
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0) rotate(-720deg);
  animation: scaleUp 10s var(--ease-slow-end) infinite;
  opacity: 0;
  transition: opacity 0.6s var(--ease-slow-end);
}
@keyframes scaleUp {
  0% {
    transform: translate(-50%, -50%) scale(0) rotate(-720deg);
    opacity: 0;
  }
  50% {
    transform: translate(-50%, -50%) scale(1) rotate(0deg);
    opacity: .56;
  }
  100% {
    transform: translate(-50%, -50%) scale(1) rotate(0deg);
    opacity: 0;
  }
}
.c-title-group__title-dot-inner:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%) scale(1);
  background: linear-gradient(180deg, #ff0000 0%, #ff9900 10%, #ffff00 20%, #00ff00 30%, #00ffff 40%, #0000ff 50%, #9900ff 60%, #ff00ff 70%, #ff0000 80%, #ff9900 90%, #ff0000 100%);
  background-size: 100% 1000%;
  animation: rainbowFlow 50s linear infinite;
  animation-delay: 0.6s;
  border-radius: 50%;
  mask: radial-gradient(circle, transparent calc(var(--circle-size-left) / 2 - var(--border-width-left)), black calc(var(--circle-size-left) / 2 - var(--border-width-left)), black calc(var(--circle-size-left) / 2), transparent calc(var(--circle-size-left) / 2));
  opacity: 1;
  transition: transform 0.6s var(--ease-slow-end);
  pointer-events: none;
}
.c-title-group__text {
  font-size: var(--size-20);
  line-height: 1.8;
  font-weight: 700;
}
.c-title-group__read {
  margin-top: var(--size-32);
  font-size: var(--size-16);
  font-weight: 500;
  line-height: 2;
}
.c-title-has-button {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.c-subtitle-group {
  display: flex;
  flex-direction: column;
  gap: var(--size-8);
}
.c-subtitle-group__title {
  font-size: var(--size-48);
  font-weight: 700;
}
.c-subtitle-group__text {
  font-size: var(--size-16);
  font-weight: 700;
}
.c-swiper-pagination {
  flex-shrink: 1;
  font-size: var(--size-24);
  font-weight: 700;
}
.c-swiper-controls-inner {
  position: relative;
  display: flex;
  gap: var(--size-24);
  align-items: center;
  width: fit-content;
  margin-left: auto;
}
.c-swiper-prev,
.c-swiper-next {
  position: relative;
  width: var(--size-64);
  height: var(--size-64);
  min-width: var(--size-64);
  min-height: var(--size-64);
  background: #FFF;
  border-radius: 50%;
  cursor: pointer;
  box-shadow: inset 0 0 0 2px #333;
  overflow: hidden;
}
.c-swiper-next:after,
.c-swiper-prev:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #333;
  border-radius: 50%;
  transition: transform 0.3s ease-in-out;
}
.c-swiper-prev:hover:after,
.c-swiper-next:hover:after {
  transform: translateX(100%);
}
.c-swiper-prev-img,
.c-swiper-next-img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  z-index: 1;
}
.c-swiper-next-img {
  transform: translate(-50%, -50%) scale(-1, 1);
}
.c-swiper-pagination .custom-delimiter {
  display: inline-block;
  width: var(--size-64);
  height: var(--size-1);
  background-color: #333;
  margin: 0 var(--size-24) var(--size-6);
  vertical-align: middle;
}
.c-swiper-prev:hover .c-swiper-prev-img text,
.c-swiper-next:hover .c-swiper-next-img text {
  fill: #333;
  transition: fill 0.3s ease-in-out;
}
.c-button-close {
  position: absolute;
  top: -8px;
  right: 0;
  z-index: 1001;
  background: #333;
  border-radius: 50%;
  width: var(--size-24);
  height: var(--size-24);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  padding: var(--size-5);
  transition: opacity 0.3s ease-in-out;
}
.c-button-close:hover {
  opacity: 0.5;
}
.c-button-close__icon {
  width: var(--size-24);
}
.c-button.u-service {
  min-width: unset;
  width: 100%;
  padding: var(--size-22) var(--size-48) var(--size-22) var(--size-22);
  box-shadow: unset;
  color: #333;
  background: #DBDBDB;
  transition: background 0.3s ease-in-out, box-shadow 0.3s ease-in-out, color 0.3s ease-in-out;
  border: 0;
}
.c-button.u-page {
  max-width: var(--size-240);
}
.c-button.u-service:before {
  background: #fff;
}
.c-button.u-service:after {
  background: #767676;
}
.c-button.u-service:hover {
  box-shadow: inset 0 0 0 2px #333;
  background: #fff;
}
.c-button.u-service:hover .c-button__text {
  color: #333;
}
.c-button.u-service:hover:before {
  transform: translateX(100%);
}
.c-button.u-service:hover:after {
  background: #333;
}
.c-button.u-w240 {
  width: var(--size-240);
}
.c-only-sp {
  display: none;
}
.c-page-title-group {
  position: relative;
}
.c-page-title-group__title {
  position: relative;
  font-size: var(--size-56);
  font-weight: 700;
  line-height: 1.5;
}
.u-en-small .c-page-title-group__title {
  font-size: var(--size-28);
}
.u-en-small .c-page-title-group__text {
  font-size: var(--size-40);
}
.c-page-title-group__text {
  font-size: var(--size-24);
  font-weight: 700;
  line-height: 1.5;
}
.c-page-title-group__text-small {
  font-size: var(--size-16);
  font-weight: 700;
}
.c-links__card {
  display: block;
  height: 100%;
  padding: var(--size-100);
  position: relative;
  box-shadow: inset 0 0 0 6px #333;
  border-radius: var(--size-24);
  overflow: hidden;
  background: #fff;
}
.u-top .c-links__card {
  padding: var(--size-50) var(--size-100);
}
.c-links__card.u-h300 {
  min-height: var(--size-300);
}
.c-links__card:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #333;
  border-radius: var(--size-24);
  z-index: 1;
  transition: transform 0.3s ease-in-out;
  transform: translateX(-100%);
}
.c-links__card:hover:before {
  transform: translateX(0%);
}
.c-links__card-title-wrapper {
  display: flex;
  align-items: center;
  column-gap: var(--size-24);
  row-gap: var(--size-12);
  flex-wrap: wrap;
}
.c-links__card-title-wrapper.u-column {
  flex-direction: column;
  gap: 0;
  justify-content: flex-start;
  align-items: flex-start;
}
.c-links__card-title {
  font-size: var(--size-64);
  color: #333;
  font-weight: 700;
}
.c-links__card-title-ja {
  font-size: var(--size-28);
  font-weight: 700;
}
.u-top .c-links__card-title {
  font-size: var(--size-48);
}
.u-top .c-links__card-title-ja {
  font-size: var(--size-16);
}
.u-top .c-links__card-title.u-small {
  font-size: var(--size-40);
}
.c-links__card-text-wrapper {
  margin-top: var(--size-38);
}
.c-links__card-text {
  font-size: var(--size-18);
  line-height: 2.22;
  font-weight: 700;
}
.c-links__card-inner {
  position: relative;
  z-index: 2;
}
.c-links__card-inner * {
  transition: color 0.3s ease-in-out;
}
.c-links__card:hover .c-links__card-inner * {
  color: #fff;
}
.c-section__wrapper {
  position: relative;
  margin: var(--size-16) var(--size-20);
  padding-bottom: var(--size-120);
}
.c-section__wrapper:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #EEEEEE;
  border-radius: var(--size-24);
  z-index: -1;
}

@media (max-width: 1420px) {
  .c-button.u-header {
    min-width: unset;
  }
  .u-top .c-links__card-title-ja {
    width: 100%;
  }
}

@media (max-width: 1240px) {
  .c-button.u-header {
    padding: var(--size-12) var(--size-48) var(--size-12) var(--size-24);
    font-size: var(--size-12);
  }
  .c-button:after {
    right: var(--size-16);
  }
  .c-outer {
    padding: 0 var(--size-24);
  }
}

@media (max-width: 1240px) {
  .c-links__card {
    padding: var(--size-64);
  }
  .u-top .c-links__card {
    padding: var(--size-32);
  }
  .c-links__card.u-h408 {
    min-height: unset;
  }
  .c-links__card {
    padding: var(--size-32);
  }
  .c-bg-gray {
    padding: var(--size-80) 0;
  }
}

@media (max-width: 768px) {
  .c-only-pc {
    display: none;
  }
  .c-only-sp {
    display: block;
  }
  .c-outer {
    padding: 0;
  }
  .c-inner {
    padding: 0 var(--size-32);
  }
  .u-recruit .c-inner {
    padding: 0;
  }
  .c-inner.u-sp-full {
    padding: 0;
  }
  .c-inner-narrow {
    padding: 0;
  }
  .c-inner-narrow.u-sp-pd {
    padding: 0 var(--size-32);
  }
  .c-title-group {
    gap: var(--size-8);
  }
  .c-title-group__title {
    font-size: var(--size-48);
  }
  .c-title-group__text {
    font-size: var(--size-16);
  }
  .c-title-group__read {
    margin-top: var(--size-32);
    font-size: var(--size-14);
    line-height: 1.8;
  }
  .c-swiper-pagination .custom-delimiter {
    width: var(--size-48);
    margin: 0 var(--size-16) var(--size-6);
  }
  .c-swiper-pagination {
    font-size: var(--size-20);
  }
  .c-swiper-prev,
  .c-swiper-next {
    width: var(--size-32);
    height: var(--size-32);
    min-width: var(--size-32);
    min-height: var(--size-32);
  }
  .c-swiper-prev {
    margin-left: var(--size-16);
  }
  .c-swiper-prev-img,
  .c-swiper-next-img {
    width: var(--size-8);
  }
  .c-swiper-controls-inner {
    width: fit-content;
    margin-left: 0;
  }
  .c-swiper-controls-inner {
    gap: var(--size-16);
  }
  .c-button.u-header {
    position: relative;
    top: var(--size-2);
    padding: var(--size-5) var(--size-24) var(--size-5) var(--size-12);
    width: fit-content;
  }
  .c-button.u-header:after {
    right: var(--size-12);
    width: var(--size-6);
    height: var(--size-6);
  }
  .c-button {
    width: calc(100% - var(--size-32) * 2);
    max-width: var(--size-400);
    width: 100%;
    min-width: unset;
  }
  .c-button,
  .c-button.u-service {
    padding: var(--size-22) var(--size-80) var(--size-22) var(--size-40);
  }
  .c-button:after,
  .c-button.u-service:after {
    right: var(--size-32);
  }
  .c-subtitle-group__title {
    font-size: var(--size-32);
  }
  .c-subtitle-group__text {
    font-size: var(--size-16);
  }
  .c-bg-gray {
    padding: var(--size-40) 0;
    border-radius: var(--size-16);
  }
  .u-health.c-bg-gray {
    width: calc(100% + var(--size-32) * 2);
    margin-left: calc(var(--size-32) * -1);
    border-radius: 0;
  }
  .u-recruit .c-bg-gray {
    border-radius: 0;
  }
  .c-bg-blue {
    padding: var(--size-64) var(--size-16);
    border-radius: 0;
  }
  .c-bg-gray.u-product {
    padding: var(--size-40) 0;
    border-radius: 0;
  }
  .c-button-white {
    min-width: unset;
    width: 50%;
    padding: var(--size-8);
    white-space: nowrap;
  }
  .c-button-white__copy {
    display: none;
  }
  .c-button-white__text-span {
    font-size: var(--size-12);
  }
  .c-button-white__icon {
    width: var(--size-14);
    height: auto;
  }
  .c-bg-white {
    border-radius: var(--size-12);
  }
  .u-product .c-bg-white {
    border-radius: var(--size-8);
  }
  .c-page-title-group__title {
    font-size: var(--size-32);
  }
  .c-page-title-group__title:before {
    width: var(--size-12);
    height: var(--size-12);
  }
  .c-page-title-group__text {
    font-size: var(--size-16);
  }
  .u-en-small .c-page-title-group__title {
    font-size: var(--size-16);
  }
  .u-en-small .c-page-title-group__text {
    font-size: var(--size-21);
  }
  .c-links__card {
    border-radius: var(--size-16);
    box-shadow: inset 0 0 0 3px #333;
  }
  .c-links__card-title {
    font-size: var(--size-38);
  }
  .c-links__card-title-ja {
    font-size: var(--size-16);
  }
  .c-links__card-text {
    font-size: var(--size-16);
    line-height: 1.8;
  }
  .c-links__card-title-wrapper {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
  .p-links__item.u-half-width {
    width: 100%;
  }
  .c-links__card-text-wrapper {
    margin-top: var(--size-24);
  }
  .c-links__card-text {
    font-size: var(--size-16);
  }
  .c-page-title-group__title:before {
    right: calc(100% + var(--size-4));
  }
  .c-link-button {
    padding: var(--size-12);
    font-size: var(--size-14);
  }
  .p-links__banner-item.u-recruit .c-inner-narrow {
    padding: 0;
  }
  .c-title-group__title-dot {
    width: var(--size-12);
    height: var(--size-12);
    top: calc(.5em * 1.25);
    right: calc(100% + var(--size-7));
  }
  .c-page-title-group.u-en-small .c-title-group__title-dot {
    top: calc(0.40em * 1.75);
  }
  .c-title-group__title-dot-inner {
    --circle-size-left: 260px;
  }
  .c-section__wrapper {
    margin: var(--size-12) 0;
    padding-bottom: var(--size-96);
  }
  .c-button.u-page {
    max-width: 100%;
  }
}

.c-inner-left {
  margin-left: max(0px, calc((100vw - var(--size-1080)) / 2 - var(--size-144)));
  padding-left: var(--size-144);
  max-width: 100%;
}
.c-inner-right {
  margin-right: max(0px, calc((100vw - var(--size-1080)) / 2 - var(--size-144)));
  padding-right: var(--size-144);
  max-width: 100%;
}
@media (max-width: 1240px) {
  .c-inner-left {
    padding-left: var(--size-80);
  }
  .c-inner-right {
    padding-right: var(--size-80);
  }
}
@media (max-width: 768px) {
  .c-inner-left {
    margin-left: 0;
    padding-left: var(--size-32);
  }
  .c-inner-right {
    margin-right: 0;
    padding-right: var(--size-32);
  }
  .c-title-group__title-dot {
    top: calc(0.40em * 1.25);
  }
  .c-page-title-group__title .c-title-group__title-dot {
    top: calc(0.40em * 1.75);
  }
}

.c-title-big {
  font-size: var(--size-44);
  font-weight: 700;
  line-height: 1.48;
}
.c-title-blue {
  position: relative;
  font-size: var(--size-28);
  color: #333;
  font-weight: 700;
  line-height: 1.25;
  height: fit-content;
}
.c-title-blue:before {
  content: '';
  position: absolute;
  top: calc(.5em * 1.25);
  right: calc(100% + var(--size-8));
  width: var(--size-12);
  height: var(--size-12);
  background: #333;
  transform: translateY(-50%);
  border-radius: 50%;
}
.l-article__category-text {
  position: relative;
  font-weight: 700;
  font-size: var(--size-24);
  transition: opacity 0.3s ease-in-out;
}
.c-title-blue.l-article__category-text:before {
  top: calc(.5em * 1.5);
}
.c-title-blue.l-article__category-text:hover {
  opacity: 0.5;
}
.c-title-blue.u-small {
  font-size: var(--size-24);
}
.c-annotation-list__text {
  font-size: var(--size-10);
  line-height: 1.5;
  flex: 1;
}
.u-size-up .c-annotation-list__text {
  font-size: var(--size-14);
}
.c-annotation-list__text-inner {
  display: block;
}
.c-annotation-list__text-sub {
  display: block;
  font-size: var(--size-10);
  line-height: 1.5;
}
.c-annotation-list__text-sub .c-text-link {
  font-size: var(--size-10);
  line-height: 1.5;
}
.c-annotation-list__item {
  list-style-type: none;
  position: relative;
  padding-left: var(--size-10);
}
.c-annotation-list__item.u-red {
  color: #FF0000;
}
.u-size-up .c-annotation-list__item {
  padding-left: var(--size-16);
  margin-bottom: var(--size-8);
}
.c-annotation-list__item:before {
  content: "※";
  position: absolute;
  top: var(--size-6);
  left: 0;
  font-size: var(--size-10);
}
.c-annotation-list__text-small-inner {
  font-size: var(--size-14);
}
.u-size-up .c-annotation-list__item:before {
  top: var(--size-2);
  font-size: var(--size-14);
}
.c-annotation-list__item.u-no-marker:before {
  display: none;
}
.c-annotation-list__item.u-no-marker {
  padding-left: 0;
}
.c-text-link {
  font-size: var(--size-14);
  line-height: 2.5;
  text-decoration: underline;
  color: #2298E8;
}

@media (max-width: 768px) {
  .c-title-big {
    font-size: var(--size-28);
  }
  .c-title-blue {
    font-size: var(--size-24);
  }
  .c-title-blue.u-small {
    font-size: var(--size-20);
  }
  .c-title-blue:before {
    right: calc(100% + var(--size-6));
    width: var(--size-8);
    height: var(--size-8);
  }
  .c-text-link {
    font-size: var(--size-14);
  }
}

.c-table {
  width: 100%;
  border-collapse: collapse;
}
.c-table__row:first-child {
  border-top: 1px solid #C4C4C4;
}
.c-table__row {
  border-bottom: 1px solid #C4C4C4;
}
.c-table__th,
.c-table__td {
  font-size: var(--size-16);
  line-height: 2;
  padding: var(--size-32) var(--size-16) var(--size-32) 0;
}
.c-table__th {
  font-weight: 400;
  width: var(--size-160);
}
.c-table__td {
  font-weight: 700;
}
.c-table__span {
  width: 5.5em;
  display: inline-block;
}
.c-table__small {
  font-size: var(--size-14);
  font-weight: 400;
}
.u-terms .c-table__th,
.u-terms .c-table__td {
  font-size: var(--size-14);
  padding: var(--size-24) 0;
}
.u-terms .c-table__th {
  font-weight: 700;
  padding: var(--size-24) var(--size-16) var(--size-24) 0;
}
.u-has-number .c-table__th {
  display: flex;
  width: var(--size-186);
}
.c-table__th-text {
  flex: 1;
}
.u-terms .c-table__td {
  font-weight: 400;
  padding: var(--size-24) 0 var(--size-24) var(--size-16);
}

@media (max-width: 768px) {
  .c-table__th,
  .c-table__td {
    font-size: var(--size-14);
    width: 100%;
    display: block;
  }
  .c-table__th {
    padding: var(--size-16) 0 0;
  }
  .c-table__td {
    padding: var(--size-16) 0;
  }
  .c-table__span {
    width: 100%;
  }
  .u-terms .c-table__th {
    padding: var(--size-16) 0 0;
    width: 100%;
  }
  .u-terms .c-table__th br {
    display: none;
  }
  .u-terms .c-table__td {
    padding: var(--size-16) 0;
  }
  .c-title-blue.l-article__category-text {
    font-size: var(--size-14);
  }
}

/* header */
.l-header {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 101;
  transition: transform 0.3s ease-in-out;
}
.l-header__logo-img {
  width: var(--size-187);
  height: auto;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.l-header__inner {
  display: flex;
  padding: var(--size-8) var(--size-8) var(--size-8) var(--size-40);
  background: #FFF;
  border-radius: 100vmax;
  justify-content: space-between;
  align-items: center;
  box-shadow: 4px 4px 12px rgba(95, 95, 95, 0.16);
  width: calc(100% - var(--size-36) * 2);
  margin: 0 auto;
}
.l-header__nav-list {
  display: flex;
  gap: var(--size-40);
  align-items: center;
  font-size: var(--size-14);
  font-weight: 700;
}
.l-header__nav-item.u-buttons {
  display: flex;
  gap: var(--size-8);
}
.l-header__nav-sp {
  display: none;
}
.l-header__hamburger-menu {
  display: none;
}
.l-header__nav-link {
  transition: opacity 0.3s ease-in-out;
}
.l-header__nav-link:hover {
  opacity: 0.5;
}
.l-header__nav-item.u-has-child {
  position: relative;
  padding: var(--size-12) 0;
  cursor: pointer;
}
.l-header__nav-child {
  position: absolute;
  top: 100%;
  left: 0;
  background: #FFF;
  padding: var(--size-16);
  border-radius: var(--size-8);
  box-shadow: 4px 4px 12px rgba(95, 95, 95, 0.16);
  z-index: 100;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}
.l-header__nav-child {
  width: var(--size-260);
  padding: var(--size-24);
  opacity: 0;
  visibility: hidden;
  border-radius: var(--size-8);
  background: #FFF;
  box-shadow: var(--size-4) var(--size-4) var(--size-12) rgba(95, 95, 95, 0.16);
}
.l-header__nav-item:hover .l-header__nav-child {
  opacity: 1;
  visibility: visible;
}
.l-header__nav-child-item {
  list-style-type: none;
}
.l-header__nav-child-link {
  font-size: var(--size-14);
  font-weight: 400;
  margin-bottom: var(--size-14);
  display: block;
  transition: opacity 0.3s ease-in-out;
}
.l-header__nav-child-item:last-child .l-header__nav-child-link {
  margin-bottom: 0;
}
.l-header__nav-child-link:hover {
  opacity: 0.5;
}

@media (max-width: 1420px) {
  .l-header__nav-list {
    gap: var(--size-16);
  }
}

@media (max-width: 1240px) {
  .l-header__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--size-105);
    height: var(--size-17);
    overflow: hidden;
  }
  .l-header__logo-img {
    width: var(--size-340);
    /* height: var(--size-64); */
    /* transform: scale(0.25); */
    
  }
  .l-header__nav-list {
    gap: var(--size-12);
    font-size: var(--size-12);
  }
}

@media (max-width: 1024px) {
  .l-header__inner {
    padding: var(--size-8) var(--size-24) var(--size-8) var(--size-24);
    flex-wrap: wrap;
    border-radius: var(--size-24);
  }
  .l-header__nav {
    display: none;
  }
  .l-header__nav-sp {
    display: block;
  }
  .l-header__hamburger-menu {
    display: block;
  }
  .l-header__nav-sp-list {
    display: flex;
    gap: var(--size-16);
    align-items: center;
  }
  .l-hamburger {
    position: relative;
    display: block;
    width: var(--size-28);
    height: var(--size-20);
    border: none;
    background: transparent;
    cursor: pointer;
  }
  .l-hamburger__line {
    position: absolute;
    display: block;
    width: 100%;
    height: var(--size-2);
    background: #333;
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
  }
  .l-hamburger__line:nth-child(1) {
    top: 0;
  }
  .l-hamburger__line:nth-child(2) {
    top: 50%;
    transform: translateY(-50%);
  }
  .l-hamburger__line:nth-child(3) {
    bottom: 0;
  }
  .is-active .l-hamburger__line:nth-child(1) {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
  }
  .is-active .l-hamburger__line:nth-child(2) {
    opacity: 0;
  }
  .is-active .l-hamburger__line:nth-child(3) {
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
  }
  .l-header__hamburger-menu {
    width: 100%;
    max-height: 0;
    height: auto;
    opacity: 0;
    overflow: auto;
    transition: height 0.3s ease-in-out, opacity 0.3s ease-in-out;
  }
  .is-active .l-header__hamburger-menu {
    max-height: calc(100vh - var(--size-156));
    opacity: 1;
    margin-top: var(--size-8);
  }
  .l-header__hamburger-menu-title {
    display: block;
    font-size: var(--size-48);
    margin-bottom: var(--size-24);
    font-weight: 700;
    color: #333;
  }
  .l-header__hamburger-menu-title-ja {
    font-size: var(--size-14);
    color: #333;
    margin-top: var(--size-8);
  }
  .l-header__hamburger-menu-title.u-has-border {
    padding-bottom: var(--size-24);
    border-bottom: 1px solid #B8B8B8;
  }
  .l-header__hamburger-menu-list {
    display: flex;
    flex-direction: column;
    margin: var(--size-24) 0 var(--size-24);
  }
  .l-header__hamburger-menu-subtitle {
    display: block;
    margin-top: var(--size-16);
    font-size: var(--size-16);
    font-weight: 700;
    line-height: 2;
    padding-bottom: var(--size-16);
    margin-bottom: var(--size-16);
    border-bottom: 1px solid #B8B8B8;
  }
  .l-header__hamburger-menu-subtitle.u-not-margin {
    margin-top: 0;
  }
  .l-header__hamburger-menu-link {
    font-size: var(--size-16);
    line-height: 2;
    transition: opacity 0.3s ease-in-out;
    font-weight: 500;
  }
  .l-header__hamburger-menu-link:hover {
    opacity: 0.5;
  }
  .l-header__hamburger-menu-link {
    margin-bottom: var(--size-16);
    display: block;
  }
  .l-header__hamburger-menu-link.u-works h3,
  .l-header__hamburger-menu-link.u-news h3 {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .l-header__hamburger-menu-link.u-bold {
    font-weight: 700;
  }
  .l-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #333;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
    z-index: 100;
  }
  .l-overlay.is-active {
    opacity: 1;
    visibility: visible;
  }
}

@media (max-width: 768px) {
  .l-header__inner {
    padding: var(--size-12) var(--size-16);
    width: calc(100% - var(--size-16) * 2);
  }
  .is-active .l-header__hamburger-menu {
    max-height: calc(100vh - var(--size-132));
    padding-bottom: var(--size-48);
    margin-top: var(--size-12);
  }
}

/* mv */
.l-main {
  position: relative;
}
.l-main.u-hidden {
  overflow: hidden;
}
.l-mv {
  position: relative;
  max-width: 100%;
  overflow: visible;
  overflow-x: clip;
}
.l-mv__inner {
  position: relative;
  padding: var(--size-12) var(--size-12) 0;
  aspect-ratio: 1880 / 860;
}
.l-mv .swiper-wrapper {
  height: 100%;
}
:root {
  --ease-slow-end: cubic-bezier(0.2, 0, 0, 1);
}
.p-mv__inner {
  position: relative;
  width: 100%;
  height: 100vh;
  max-width: 1250px;
  margin-left: auto;
}
.p-mv__circle {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%) scale(1);
  z-index: 2;
}
.p-mv__circle.is-animated {
  animation: circleScaleFade 5s;
}

@keyframes circleScaleFade {
  0% {
    transform: translate(-50%, -50%) scale(0) rotate(-720deg);
    opacity: 0;
  }
  100% {
    transform: translate(-50%, -50%) scale(1) rotate(0);
    opacity: 1;
  }
}
.p-mv__circle.u-left:after {
  --circle-size-left: clamp(8.125rem, 1.083rem + 30.05vw, 28.125rem);
  --border-width-left: clamp(0.063rem, 0.04rem + 0.09vw, 0.125rem);
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0); /* 初期: 縮小 */
  width: var(--circle-size-left);
  height: var(--circle-size-left);
  border-radius: 50%;
  background: linear-gradient(270deg, #0cb1c1, #3948b9);
  background-size: 200% 200%;
  animation: Grad 5s ease infinite;
  mask: radial-gradient(circle, 
    transparent calc(var(--circle-size-left) / 2 - var(--border-width-left)), 
    black calc(var(--circle-size-left) / 2 - var(--border-width-left)), 
    black calc(var(--circle-size-left) / 2), 
    transparent calc(var(--circle-size-left) / 2)
  );
  opacity: 1;
  transition: transform 0.6s var(--ease-slow-end);
}
.p-mv__circle.u-right:after {
  --circle-size-right: clamp(9.688rem, -0.106rem + 41.78vw, 37.5rem);
  --border-width-right: clamp(1.375rem, 0.209rem + 4.98vw, 4.688rem);
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0); /* 初期: 縮小 */
  width: var(--circle-size-right);
  height: var(--circle-size-right);
  border-radius: 50%;
  background: linear-gradient(270deg, #0cb1c1, #3948b9);
  background-size: 200% 200%;
  animation: Grad 5s ease infinite;
  mask: radial-gradient(circle, 
    transparent calc(var(--circle-size-right) / 2 - var(--border-width-right)), 
    black calc(var(--circle-size-right) / 2 - var(--border-width-right)), 
    black calc(var(--circle-size-right) / 2), 
    transparent calc(var(--circle-size-right) / 2)
  );
  opacity: 1;
  transition: transform 0.6s var(--ease-slow-end);
}
@keyframes Grad {
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
.p-mv__circle.u-left.is-animated:after {
  transform: translate(-50%, -50%) scale(1);
  background: linear-gradient(
    180deg,
    #ff0000 0%,
    #ff9900 10%,
    #ffff00 20%,
    #00ff00 30%,
    #00ffff 40%,
    #0000ff 50%,
    #9900ff 60%,
    #ff00ff 70%,
    #ff0000 80%,
    #ff9900 90%,
    #ff0000 100%
  );
  background-size: 100% 1000%;
  animation: rainbowFlow 1000s linear infinite;
  animation-delay: 0.6s;
}
.p-mv__circle.u-right.is-animated:after {
  transform: translate(-50%, -50%) scale(1);
  background: linear-gradient(
    180deg,
    #00ffff 0%,
    #0000ff 10%,
    #9900ff 20%,
    #ff00ff 30%,
    #ff0000 40%,
    #ff9900 50%,
    #ffff00 60%,
    #00ff00 70%,
    #0000ff 80%,  
    #9900ff 90%,
    #00ffff 100%
  );
  background-size: 100% 1000%;
  animation: rainbowFlow 1000s linear infinite;
  animation-delay: 0.6s;
}
@keyframes rainbowFlow {
  0% {
    background-position: 0% 0%;
  }
  100% {
    background-position: 100% 1000%;
  }
}

.u-left { left: calc(clamp(5rem, 0.158rem + 20.66vw, 18.75rem) - 10px); }
.u-right { right: calc(clamp(5rem, 0.158rem + 20.66vw, 18.75rem) - 10px); }
.p-mv__circle-inner {
  position: relative;
  width: 100%;
  height: 100%;
  width: clamp(0.625rem, 0.405rem + 0.94vw, 1.25rem);
  height: clamp(0.625rem, 0.405rem + 0.94vw, 1.25rem);
}
.p-mv__circle-dot {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: clamp(0.625rem, 0.405rem + 0.94vw, 1.25rem);
  height: clamp(0.625rem, 0.405rem + 0.94vw, 1.25rem);
  border-radius: 50%;
  opacity: 0; /* 初期: 非表示 */
  transition: opacity 0.6s var(--ease-slow-end);
  z-index: 3;
}
.p-mv__circle-dot.u-left {
  left: calc(clamp(5rem, 0.158rem + 20.66vw, 18.75rem) - 10px);
  animation: dotRainbowCircleLeft 10s linear infinite;
}
.p-mv__circle-dot.u-right {
  right: calc(clamp(5rem, 0.158rem + 20.66vw, 18.75rem) - 10px);
  animation: dotRainbowCircle 10s linear infinite;
}
@keyframes dotRainbowCircle {
  0%   { background: hsl(0, 70%, 60%); }
  5%   { background: hsl(18, 70%, 60%); }
  10%  { background: hsl(36, 70%, 60%); }
  15%  { background: hsl(54, 70%, 60%); }
  20%  { background: hsl(72, 70%, 60%); }
  25%  { background: hsl(90, 70%, 60%); }
  30%  { background: hsl(108, 70%, 60%); }
  35%  { background: hsl(126, 70%, 60%); }
  40%  { background: hsl(144, 70%, 60%); }
  45%  { background: hsl(162, 70%, 60%); }
  50%  { background: hsl(180, 70%, 60%); }
  55%  { background: hsl(198, 70%, 60%); }
  60%  { background: hsl(216, 70%, 60%); }
  65%  { background: hsl(234, 70%, 60%); }
  70%  { background: hsl(252, 70%, 60%); }
  75%  { background: hsl(270, 70%, 60%); }
  80%  { background: hsl(288, 70%, 60%); }
  85%  { background: hsl(306, 70%, 60%); }
  90%  { background: hsl(324, 70%, 60%); }
  95%  { background: hsl(342, 70%, 60%); }
  100% { background: hsl(360, 70%, 60%); }
}
@keyframes dotRainbowCircleLeft {
  0%   { background: hsl(180, 70%, 60%); }
  5%   { background: hsl(198, 70%, 60%); }
  10%  { background: hsl(216, 70%, 60%); }
  15%  { background: hsl(234, 70%, 60%); }
  20%  { background: hsl(252, 70%, 60%); }
  25%  { background: hsl(270, 70%, 60%); }
  30%  { background: hsl(288, 70%, 60%); }
  35%  { background: hsl(306, 70%, 60%); }
  40%  { background: hsl(324, 70%, 60%); }
  45%  { background: hsl(342, 70%, 60%); }
  50%  { background: hsl(360, 70%, 60%); }
  55%  { background: hsl(18, 70%, 60%); }
  60%  { background: hsl(36, 70%, 60%); }
  65%  { background: hsl(54, 70%, 60%); }
  70%  { background: hsl(72, 70%, 60%); }
  75%  { background: hsl(90, 70%, 60%); }
  80%  { background: hsl(108, 70%, 60%); }
  85%  { background: hsl(126, 70%, 60%); }
  90%  { background: hsl(144, 70%, 60%); }
  95%  { background: hsl(162, 70%, 60%); }
  100% { background: hsl(180, 70%, 60%); }
}
@keyframes dotRainbowCircleRight {
  0%   { background: hsl(0, 70%, 60%); }
  5%   { background: hsl(18, 70%, 60%); }
  10%  { background: hsl(36, 70%, 60%); }
  15%  { background: hsl(54, 70%, 60%); }
  20%  { background: hsl(72, 70%, 60%); }
  25%  { background: hsl(90, 70%, 60%); }
  30%  { background: hsl(108, 70%, 60%); }
  35%  { background: hsl(126, 70%, 60%); }
  40%  { background: hsl(144, 70%, 60%); }
  45%  { background: hsl(162, 70%, 60%); }
  50%  { background: hsl(180, 70%, 60%); }
  55%  { background: hsl(198, 70%, 60%); }
  60%  { background: hsl(216, 70%, 60%); }
  65%  { background: hsl(234, 70%, 60%); }
  70%  { background: hsl(252, 70%, 60%); }
  75%  { background: hsl(270, 70%, 60%); }
  80%  { background: hsl(288, 70%, 60%); }
  85%  { background: hsl(306, 70%, 60%); }
  90%  { background: hsl(324, 70%, 60%); }
  95%  { background: hsl(342, 70%, 60%); }
  100% { background: hsl(360, 70%, 60%); }
}
.p-mv__circle.u-left .p-mv__circle-dot {
  animation: dotRainbowCircleLeft 10s linear infinite;
}
.p-mv__circle.u-right .p-mv__circle-dot {
  animation: dotRainbowCircleRight 10s linear infinite;
  animation-delay: 0.6s;
}
.p-mv__circle-dot.is-visible {
  opacity: 1; /* アニメ後: 表示 */
}
.p-mv__line {
  position: absolute;
  top: 50%;
  width: calc(100% - clamp(5rem, 0.158rem + 20.66vw, 18.75rem) * 2 + 10px);
  transform: translateY(-50%);
  width: 0; /* 初期: 0 */
  height: 1px;
  background: linear-gradient(90deg, hsl(0, 70%, 60%), hsl(180, 70%, 60%));
  left: calc(clamp(5rem, 0.158rem + 20.66vw, 18.75rem) - 10px);
  transition: width 0.8s cubic-bezier(.4,0,.2,1);
  animation: rainbowLine 10s linear infinite;
  z-index: 1;
}
.p-mv__line.is-visible {
  width: calc(100% - clamp(5rem, 0.158rem + 20.66vw, 18.75rem) * 2 + 10px); /* アニメ後: 伸びる */
}
@keyframes rainbowCircleDotRight {
  0% { background: hsl(0, 70%, 60%); }
  5% { background: hsl(18, 70%, 60%); }
  10% { background: hsl(36, 70%, 60%); }
  15% { background: hsl(54, 70%, 60%); }
  20% { background: hsl(72, 70%, 60%); }
  25% { background: hsl(90, 70%, 60%); }
  30% { background: hsl(108, 70%, 60%); }
  35% { background: hsl(126, 70%, 60%); }
  40% { background: hsl(144, 70%, 60%); }
  45% { background: hsl(162, 70%, 60%); }
  50% { background: hsl(180, 70%, 60%); }
  55% { background: hsl(198, 70%, 60%); }
  60% { background: hsl(216, 70%, 60%); }
  65% { background: hsl(234, 70%, 60%); }
  70% { background: hsl(252, 70%, 60%); }
  75% { background: hsl(270, 70%, 60%); }
  80% { background: hsl(288, 70%, 60%); }
  85% { background: hsl(306, 70%, 60%); }
  90% { background: hsl(324, 70%, 60%); }
  95% { background: hsl(342, 70%, 60%); }
  100% { background: hsl(360, 70%, 60%); }
}
@keyframes rainbowLine {
  0% { background: linear-gradient(90deg, hsl(0, 70%, 60%), hsl(180, 70%, 60%)); }
  10% { background: linear-gradient(90deg, hsl(36, 70%, 60%), hsl(216, 70%, 60%)); }
  20% { background: linear-gradient(90deg, hsl(72, 70%, 60%), hsl(252, 70%, 60%)); }
  30% { background: linear-gradient(90deg, hsl(108, 70%, 60%), hsl(288, 70%, 60%)); }
  40% { background: linear-gradient(90deg, hsl(144, 70%, 60%), hsl(324, 70%, 60%)); }
  50% { background: linear-gradient(90deg, hsl(180, 70%, 60%), hsl(360, 70%, 60%)); }
  60% { background: linear-gradient(90deg, hsl(216, 70%, 60%), hsl(36, 70%, 60%)); }
  70% { background: linear-gradient(90deg, hsl(252, 70%, 60%), hsl(72, 70%, 60%)); }
  80% { background: linear-gradient(90deg, hsl(288, 70%, 60%), hsl(108, 70%, 60%)); }
  90% { background: linear-gradient(90deg, hsl(324, 70%, 60%), hsl(144, 70%, 60%)); }
  100% { background: linear-gradient(90deg, hsl(360, 70%, 60%), hsl(180, 70%, 60%)); }
}
@keyframes rainbowCircle {
  0%   { background: linear-gradient(180deg, hsl(0, 70%, 60%), hsl(180, 70%, 60%)); transform: translate(-50%, -50%) }
  10%  { background: linear-gradient(180deg, hsl(36, 70%, 60%), hsl(216, 70%, 60%)); transform: translate(-50%, -50%) }
  20%  { background: linear-gradient(180deg, hsl(72, 70%, 60%), hsl(252, 70%, 60%)); transform: translate(-50%, -50%) }
  30%  { background: linear-gradient(180deg, hsl(108, 70%, 60%), hsl(288, 70%, 60%)); transform: translate(-50%, -50%) }
  40%  { background: linear-gradient(180deg, hsl(144, 70%, 60%), hsl(324, 70%, 60%)); transform: translate(-50%, -50%) }
  50%  { background: linear-gradient(180deg, hsl(180, 70%, 60%), hsl(360, 70%, 60%)); transform: translate(-50%, -50%) }
  60%  { background: linear-gradient(180deg, hsl(216, 70%, 60%), hsl(36, 70%, 60%)); transform: translate(-50%, -50%) }
  70%  { background: linear-gradient(180deg, hsl(252, 70%, 60%), hsl(72, 70%, 60%)); transform: translate(-50%, -50%) }
  80%  { background: linear-gradient(180deg, hsl(288, 70%, 60%), hsl(108, 70%, 60%)); transform: translate(-50%, -50%) }
  90%  { background: linear-gradient(180deg, hsl(324, 70%, 60%), hsl(144, 70%, 60%)); transform: translate(-50%, -50%) }
  100% { background: linear-gradient(180deg, hsl(360, 70%, 60%), hsl(180, 70%, 60%)); transform: translate(-50%, -50%) }
}
@keyframes rainbowCircleLeft {
  0%   { background: linear-gradient(180deg, hsl(180, 70%, 60%), hsl(360, 70%, 60%)); transform: translate(-50%, -50%) }
  10%  { background: linear-gradient(180deg, hsl(198, 70%, 60%), hsl(18, 70%, 60%)); transform: translate(-50%, -50%) }
  20%  { background: linear-gradient(180deg, hsl(216, 70%, 60%), hsl(36, 70%, 60%)); transform: translate(-50%, -50%) }
  30%  { background: linear-gradient(180deg, hsl(252, 70%, 60%), hsl(72, 70%, 60%)); transform: translate(-50%, -50%) }
  40%  { background: linear-gradient(180deg, hsl(288, 70%, 60%), hsl(108, 70%, 60%)); transform: translate(-50%, -50%) }
  50%  { background: linear-gradient(180deg, hsl(324, 70%, 60%), hsl(144, 70%, 60%)); transform: translate(-50%, -50%) }
  60%  { background: linear-gradient(180deg, hsl(360, 70%, 60%), hsl(180, 70%, 60%)); transform: translate(-50%, -50%) }
  70%  { background: linear-gradient(180deg, hsl(36, 70%, 60%), hsl(216, 70%, 60%)); transform: translate(-50%, -50%) }
  80%  { background: linear-gradient(180deg, hsl(72, 70%, 60%), hsl(252, 70%, 60%)); transform: translate(-50%, -50%) }
  90%  { background: linear-gradient(180deg, hsl(108, 70%, 60%), hsl(288, 70%, 60%)); transform: translate(-50%, -50%) }
  100% { background: linear-gradient(180deg, hsl(180, 70%, 60%), hsl(360, 70%, 60%)); transform: translate(-50%, -50%) }
}
.opening-bg {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: #fff;
  z-index: 9999;
  opacity: 1; /* 初期: 白で覆う */
  pointer-events: auto;
  transition: opacity 0.8s cubic-bezier(.4,0,.2,1);
}
.opening-bg.is-hide {
  opacity: 0; /* アニメ後: 消える */
  pointer-events: none;
}
@keyframes verticalRainbowMoveCircle {
  0% {
    background-position: 0% 0%;
  }
  100% {
    background-position: 0% 100%;
  }
}
.is-loaded .l-mv__inner {
  opacity: 1;
}
.l-main__bg-animation {
  width: 100%;
  height: 100%;
  aspect-ratio: 1920 / 820;
  overflow: hidden;
  border-radius: var(--size-24);
  border: 1px solid #f7f7f7;
  background: #eee;
}
.l-main__bg-animation-inner {
  max-width: var(--size-1240);
  width: 100%;
  height: 100%;
  margin-left: auto;
  margin-right: var(--size-144);
  position: relative;
  z-index: 1;
}
.l-mv__contents {
  position: absolute;
  bottom: var(--size-162);
  left: var(--size-118);
  z-index: 3;
  opacity: 0;
}
.is-loaded .l-mv__contents {
  opacity: 1;
}
.l-main__wave1 {
  position: absolute;
  top: 61%;
  right: 73%;
  z-index: 1;
}
.l-main__wave2 {
  position: absolute;
  top: 95%;
  left: -10%;
  z-index: 2;
}
.l-mv__text-en {
  position: relative;
  font-size: var(--size-106);
  font-weight: 700;
  letter-spacing: -0.06em;
  margin-bottom: var(--size-8);
  width: fit-content;
  padding: 0 var(--size-12);
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.l-mv__text-en-inner {
  display: inline-block;
  position: static;
  top: auto;
  left: auto;
  z-index: auto;
  transform: none;
}
.l-mv__text-en .char {
  display: inline-block;
  opacity: var(--opacity, 0);
  transition: opacity 0.6s cubic-bezier(0.77, 0, 0.175, 1);
  transition-delay: calc(0.05s * var(--char-index));
}
.l-mv__text-en.is-active .char {
  --opacity: 1;
}
.l-mv__text-en:before,
.l-mv__text-en:after {
  display: none !important;
}
/* 旧アニメーション・マスク系は無効化 */
.l-mv__text-en-1:before,
.l-mv__text-en-1:after,
.l-mv__text-en-2:before,
.l-mv__text-en-2:after,
.l-mv__text-en-3:before,
.l-mv__text-en-3:after {
  display: none !important;
  animation: none !important;
}
.l-mv__text-en.u-ja {
  font-size: var(--size-21);
  letter-spacing: 0.1em;
  line-height: 1;
  padding: var(--size-5) var(--size-12);
}
.l-mv__text-en-placeholder {
  visibility: hidden;
  display: none;
}

@keyframes slideIn {
  0% {
    transform: translateX(-100%) translateY(-50%);
    opacity: 0;
  }
  25% {
    transform: translateX(0) translateY(-50%);
    opacity: .64;
  }
  100% {
    transform: translateX(0) translateY(-50%);
    opacity: .64;
  }
}
@keyframes slideIn2 {
  0% {
    transform: translateX(-100%) translateY(-50%);
    opacity: 0;
  }
  25% {
    transform: translateX(-100%) translateY(-50%);
    opacity: 0;
  }
  50% {
    transform: translateX(0) translateY(-50%);
    opacity: .64;
  }
  100% {
    transform: translateX(0) translateY(-50%);
    opacity: .64;
  }
}
@keyframes slideIn3 {
  0% {
    transform: translateX(-100%) translateY(-50%);
    opacity: 0;
  }
  50% {
    transform: translateX(-100%) translateY(-50%);
    opacity: 0;
  }
  75% {
    transform: translateX(0) translateY(-50%);
    opacity: .64;
  }
  100% {
    transform: translateX(0) translateY(-50%);
    opacity: .64;
  }
}

@keyframes slideOut {
  0% {
    transform: translateX(-100%) translateY(-50%);
  }
  25% {
    transform: translateX(0) translateY(-50%);
  }
  50% {
    transform: translateX(100%) translateY(-50%);
  }
  100% {
    transform: translateX(100%) translateY(-50%);
  }
}
@keyframes slideOut2 {
  0% {
    transform: translateX(-100%) translateY(-50%);
  }
  25% {
    transform: translateX(-100%) translateY(-50%);
  }
  50% {
    transform: translateX(0) translateY(-50%);
  }
  75% {
    transform: translateX(100%) translateY(-50%);
  }
  100% {
    transform: translateX(100%) translateY(-50%);
  }
}
@keyframes slideOut3 {
  0% {
    transform: translateX(-100%) translateY(-50%);
  }
  50% {
    transform: translateX(-100%) translateY(-50%);
  }
  75% {
    transform: translateX(0) translateY(-50%);
  }
  100% {
    transform: translateX(100%) translateY(-50%);
  }
}

.l-main__text-ja {
  margin-top: var(--size-40);
  font-size: var(--size-32);
  font-weight: 700;
  letter-spacing: 0.1em;
}
.l-mv__news {
  position: absolute;
  left: var(--size-118);
  bottom: var(--size-80);
  border-radius: 100vmax;
  background: #fff;
  padding: var(--size-16) var(--size-32);
  z-index: 3;
  width: calc(100% - var(--size-24) * 2);
  max-width: var(--size-735);
}
.l-mv__news-link {
  display: flex;
  align-items: center;
  gap: var(--size-32);
  transition: opacity 0.3s ease-in-out;
}
.l-mv__news-link:hover {
  opacity: 0.5;
}
.l-mv__news-title {
  font-size: var(--size-18);
  font-weight: 700;
}
.l-mv__news-date {
  font-size: var(--size-16);
}
.l-mv__news-text {
  display: flex;
  gap: var(--size-16);
  font-size: var(--size-16);
  line-height: 1;
}
.l-mv__news-text-inner {
  flex: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.swiper-slide-active .l-mv__swiper-slide-img,
.swiper-slide-duplicate-active .l-mv__swiper-slide-img,
.swiper-slide-prev .l-mv__swiper-slide-img {
  animation: zoomUp 7s linear 0s normal both;
  height: 100%;
}
.l-mv__swiper-slide-img {
  height: auto;
  width: 100%;
  object-fit: cover;
  object-position: top;
}
.l-mv__swiper {
  height: 100%;
}
.l-mv__banner {
  position: absolute;
  z-index: 2;
  bottom: calc(var(--size-185) + var(--size-16));
  right: var(--size-80);
  width: var(--size-399);
  border-radius: var(--size-24);
  overflow: hidden;
  transition: opacity 0.3s ease-in-out;
}
.l-mv__banner:hover {
  opacity: 0.7;
}
.l-mv__banner-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}

@media (max-width: 1470px) {
  .l-mv__text-en {
    font-size: var(--size-72);
  }
}

@media (max-width: 1420px) {
  .l-main__bg-video {
    aspect-ratio: 2.2 / 1;
  }
  .l-mv__swiper,
  .l-mv__swiper-slide-img {
    height: 100%;
  }
  .l-mv__contents {
    transform: translateY(-50%);
  }
}

@media (max-width: 1300px) {
  .l-mv__text-en.u-ja {
    font-size: var(--size-16);
  }
  .l-mv__text-en {
    font-size: var(--size-48);
  }
}

@media (max-width: 1280px) {
  .l-main__bg-video {
    aspect-ratio: 5 / 3;
    min-height: var(--size-550);
  }
  .l-mv__swiper {
    min-height: var(--size-550);
  }
}

@media (max-width: 1024px) {
  .l-mv__inner {
    padding: var(--size-12) var(--size-12) 0;
  }
  .l-mv__news {
    left: var(--size-24);
    bottom: var(--size-24);
  }
  .l-mv__contents {
    bottom: var(--size-100);
    left: var(--size-24);
    transform: unset;
  }
  .l-mv__banner {
    bottom: calc(var(--size-16) + var(--size-105));
    left: var(--size-24);
    right: unset;
  }
  .l-mv__inner {
    padding: var(--size-12) var(--size-12) 0;
    display: flex;
    flex-direction: column-reverse;
    justify-content: center;
  }
}

@media (max-width: 768px) {
  .l-mv__inner {
    aspect-ratio: 355 / 630;
  }
  .l-main__bg-animation-inner {
    height: fit-content;
    padding: var(--size-10);
    top: var(--size-200);
  }
  .l-mv__contents {
    top: var(--size-350);
    left: var(--size-12);
  }
  .l-mv__banner {
    top: var(--size-407);
    left: var(--size-18);
    right: unset;
    width: var(--size-300);
    bottom: unset;
    border-radius: var(--size-18);
  }
  .l-mv__text-en {
    font-size: var(--size-51);
  }
  .l-mv__text-en.u-ja {
    font-size: var(--size-15);
    line-height: 1.5;
  }
  .l-mv__news {
    border-radius: var(--size-24);
    padding: var(--size-24) var(--size-16);
  }
  .l-mv__news-link {
    flex-direction: column;
    gap: var(--size-12);
    align-items: flex-start;
  }
  .l-mv__news-date {
    font-size: var(--size-12);
  }
  .l-mv__news-text {
    font-size: var(--size-12);
    line-height: 1.5;
  }
  .l-mv__news-text-inner {
    white-space: normal;
    -webkit-box-orient: vertical;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
  }
  .l-mv__news-title {
    font-size: var(--size-14);
  }
}
/* cta */
.l-cta__inner {
  display: flex;
  gap: var(--size-24);
  flex-wrap: wrap;
  justify-content: center;
}
.l-cta .c-title-group {
  flex: 1;
}
.l-cta__buttons {
  position: relative;
  display: flex;
  justify-content: center;
  gap: var(--size-86);
  flex: 1;
  min-width: var(--size-710);
}
.l-cta__buttons:after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: var(--size-1);
  height: 100%;
  background: #333;
}
.l-cta__button {
  display: flex;
  flex-direction: column;
}
.l-cta__title-copy {
  font-size: var(--size-18);
  margin-bottom: var(--size-16);
  font-weight: 700;
  line-height: 2;
}
.l-cta__title-link {
  font-size: var(--size-48);
  font-weight: 700;
  color: var(--green);
  transition: opacity 0.3s ease-in-out;
}
.l-cta__title-link:hover {
  opacity: 0.5;
}
.l-cta__title-text {
  font-size: var(--size-14);
  font-weight: 700;
}
@media (max-width: 1100px) {
  .l-cta__inner {
    justify-content: space-between;
  }
  .l-cta .c-title-group {
    flex: unset;
    width: 100%;
    padding-bottom: var(--size-32);
  }
}

@media (max-width: 850px) {
  .l-cta__inner {
    flex-direction: column;
  }
  .l-cta .c-title-group {
    padding-bottom: var(--size-16);
  }
  .l-cta__button {
    border-top: 1px solid #D2D2D2;
    padding-top: var(--size-24);
    margin-top: var(--size-8);
  }
  .l-cta__buttons .l-cta__button {
    border-top: 0;
  }
}

@media (max-width: 768px) {
  .l-cta__buttons {
    flex-direction: column;
    gap: var(--size-24);
    align-items: center;
    min-width: unset;
  }
  .l-cta__buttons .l-cta__button {
    border-top: 1px solid #D2D2D2;
    padding-top: var(--size-24);
    margin-top: var(--size-8);
  }
  .l-cta__buttons:after {
    display: none;
  }
  .l-cta__title-link {
    font-size: var(--size-40);
    line-height: 1;
  }
  .l-cta__title-copy {
    font-size: var(--size-12);
    margin-bottom: var(--size-12);
    line-height: 1;
  }
  .l-cta__button {
    width: 100%;
  }
  .l-cta__inner {
    justify-content: flex-start;
  }
  .l-cta__title-link-text {
    display: block;
    font-size: var(--size-40);
    margin-bottom: var(--size-5);
  }
  .l-cta__title-text {
    font-size: var(--size-12);
  }
}

/* ページ イメージwithテキスト */
.l-page__image-with-text__inner {
  display: flex;
  gap: var(--size-96);
  justify-content: center;
}
.l-page__image-with-text__inner-contents {
}
.l-page__image-with-text__read {
  font-size: var(--size-20);
  font-weight: 700;
  line-height: 2;
  margin: var(--size-64) 0 var(--size-32);
}
.l-page__image-with-text__text {
  font-size: var(--size-16);
  line-height: 2.5;
  margin-bottom: var(--size-32);
}
.l-page__image-with-text__inner-image {
  width: 100%;
  height: 100%;
  flex: 1;
  overflow: hidden;
}
.l-page__image-with-text__inner-image-img {
  border-radius: var(--size-16) 0 0 var(--size-16);
  overflow: hidden;
  position: relative;
  object-fit: cover;
  width: 100%;
  
}
.l-page__image-with-text__inner-image-text {
  margin-top: var(--size-16);
  font-size: var(--size-20);
  font-weight: 700;
  line-height: 2;
}
.l-page__image-with-text__inner-image-sign {
  width: var(--size-150);
  height: auto;
  display: block;
  margin-left: auto;
}
.l-page__image-with-text__inner-image {
  position: relative;
  overflow: visible;
}
.l-page__image-with-text__inner-image .l-main__wave3 {
  position: absolute;
  top: -33%;
  left: -2200px;
  width: 1848px;
  height: 1384px;
  z-index: -1;
}
.l-page__image-with-text__inner-image .l-main__wave3 svg {
  overflow: visible;
}

@media (max-width: 1470px) {
  .l-page__image-with-text__inner-image .l-main__wave3 {
    left: -2500px;
  }
}
@media (max-width: 1024px) {
  .l-page__image-with-text__inner {
    flex-direction: column;
  }
  .l-page__image-with-text__inner-contents {
    width: 100%;
  }
  .l-page__image-with-text__inner-contents {
    max-width: unset;
    padding-right: var(--size-64);
  }
}

@media (max-width: 768px) {
  .l-page__image-with-text__inner {
    gap: var(--size-64);
  }
  .l-page__image-with-text__read {
    font-size: var(--size-16);
  }
  .l-page__image-with-text__text {
    font-size: var(--size-14);
  }
  .l-page__image-with-text__inner-contents {
    padding-right: var(--size-32);
  }
  .l-page__image-with-text__inner-image .l-main__wave3 {
    top: -73%;
    left: -88%;
    width: 500px;
    height: auto;
  }
  .l-page__image-with-text__inner-image .l-main__wave3 svg {
    width: 100%;
    height: 100%;
  }
  .l-page__image-with-text__inner-image-text {
    font-size: var(--size-14);
  }
  .l-page__image-with-text__inner-image-sign {
    width: var(--size-160);
  }
}

/* ページ コンテンツ */
.l-page-read__text {
  font-size: var(--size-20);
  font-weight: 700;
  line-height: 2;
}
.l-page__contents-inner {
  display: flex;
  gap: var(--size-76);
}
.u-reverse .l-page__contents-inner {
  flex-direction: row-reverse;
}
.l-page__contents-image {
  width: 100%;
  aspect-ratio: 764 / 518;
  object-fit: cover;
}
.l-page__contents-image-wrapper {
  aspect-ratio: 764 / 518;
  flex: 1;
}
.l-page__contents-image {
  object-fit: cover;
  object-position: center;
  height: auto;
  min-height: 100%;
}
.l-page__contents-text-wrapper {
  width: var(--size-640);
}
.l-page__contents-image-wrapper.u-has-border {
  border: solid 1px #B8B8B8;
}
.c-inner-right .l-page__contents-image-wrapper.u-has-border {
  border-left: 0;
}
.c-inner-left .l-page__contents-image-wrapper.u-has-border {
  border-right: 0;
}
.l-page__contents-title {
  margin-bottom: var(--size-24);
}
.l-page__contents-title.u-num {
  font-size: var(--size-48);
  font-weight: 700;
  color: #2298E8;
}
.l-page__contents-title-sub {
  display: block;
  font-size: var(--size-16);
  margin-top: var(--size-8);
}
.l-page__contents-read {
  margin-bottom: var(--size-32);
  font-size: var(--size-18);
  font-weight: 700;
  line-height: 2;
}
.l-page-interview .l-page__contents-read {
  margin-bottom: var(--size-12);
}
.l-page__contents-read.u-blue {
  color: #2298E8;
}
.l-page__contents-text {
  margin-bottom: var(--size-64);
  font-size: var(--size-14);
  line-height: 2.28;
}
.l-page-interview .l-page__contents-text {
  margin-bottom: var(--size-24);
}
.l-page__contents-image-wrapper {
  overflow: hidden;
  border-radius: 0 var(--size-16) var(--size-16) 0;
  height: fit-content;
}
.u-reverse .l-page__contents-image-wrapper {
  border-radius: var(--size-16) 0 0 var(--size-16);
}
.u-strengths .l-page__contents-title {
  color: #2298E8;
  font-size: var(--size-24);
  line-height: 1.5;
  font-weight: 700;
  margin-bottom: var(--size-24);
}
.l-page__contents-number {
  font-size: var(--size-48);
  color: #2298E8;
  font-weight: 700;
  margin: var(--size-64) 0 var(--size-8);
}
.u-strengths .l-page__contents-text {
  font-size: var(--size-16);
  line-height: 2;
  font-weight: 700;
}

@media (max-width: 1240px) {
  .l-page__contents-number {
    margin: 0 0 var(--size-8);
  }
}

@media (max-width: 1120px) {
  .l-page__contents-inner {
    flex-direction: column;
  }
  .l-page__contents-text-wrapper {
    width: 100%;
    padding-left: var(--size-32);
  }
  .u-reverse .l-page__contents-text-wrapper {
    padding-left: 0;
    padding-right: var(--size-32);
  }
  .l-page__contents-image-wrapper {
    width: fit-content;
    border-radius: 0 var(--size-8) var(--size-8) 0;
  }
  .u-reverse .l-page__contents-inner {
    flex-direction: column;
  }
  .u-reverse .l-page__contents-image-wrapper {
    margin-left: auto;
    border-radius: var(--size-8) 0 0 var(--size-8);
  }
}

@media (max-width: 768px) {
  .l-page-read__text {
    font-size: var(--size-16);
  }
  .l-page__contents-inner {
    gap: var(--size-24);
  }
  .l-page__contents-title {
    margin-bottom: var(--size-24);
    font-size: var(--size-21);
  }
  .l-page__contents-read {
    font-size: var(--size-14);
    margin-bottom: var(--size-16);
  }
  .l-page__contents-text {
    margin-bottom: var(--size-24);
  }
  .l-service__flow-title.c-title-blue {
    font-size: var(--size-20);
  }
  .l-page__contents-title.u-num {
    font-size: var(--size-32);
  }
  .l-page__contents-number {
    font-size: var(--size-32);
    margin-bottom: var(--size-0);
  }
  .u-strengths .l-page__contents-title {
    font-size: var(--size-20);
    margin-bottom: var(--size-16);
  }
  .u-strengths .l-page__contents-title br {
    display: none;
  }
  .u-strengths .l-page__contents-text {
    font-size: var(--size-14);
    margin-bottom: var(--size-0);
  }
}

/* ページ フロースライダー */
.l-page__number {
  overflow: hidden;
}
.u-pd32 .l-page__number-swiper-container{
  padding-left: var(--size-64);
  padding-right: var(--size-64);
}
.l-page__number-swiper-container {
  width: 100%;
  max-width: calc(var(--size-1280) + var(--size-32) * 2);
  margin: 0 auto;
  padding: 0 var(--size-32);
}
.l-page__flow-swiper,
.l-page__flow-swiper2 {
  overflow: visible;
  margin: var(--size-32) 0;
}
.l-page__flow-swiper-slide {
  width: var(--size-320);
  height: var(--size-220);
  border-radius: var(--size-16);
  border: 1px solid #2298E8;
  background: #FFF;
}
.l-page__flow-swiper-slide.u-link {
  transition: opacity 0.3s ease-in-out;
}
.l-page__flow-swiper-slide.u-link:hover {
  opacity: 0.5;
}
.l-page__flow-swiper-slide-inner {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: var(--size-20);
}
.l-page__flow-swiper-slide-number {
  position: absolute;
  top: var(--size-24);
  left: var(--size-32);
  font-size: var(--size-24);
  color: #2298E8;
}
.l-page-recruit .l-page__flow-swiper-slide-number {
  font-weight: 700;
}
.l-page__flow-swiper-slide-text {
  font-size: var(--size-18);
  font-weight: 700;
  line-height: 1.77;
  text-align: center;
}
.l-page__flow-swiper2 .l-page__flow-swiper-slide-text-small {
  position: absolute;
  display: block;
  text-align: center;
  width: 100%;
  bottom: var(--size-24);
  left: 50%;
  transform: translateX(-50%);
  font-size: var(--size-14);
  font-weight: 500;
  
}
.l-page__flow-swiper-controls {
  width: fit-content;
}
.l-page__flow-swiper-slide-image.u-w168 {
  width: var(--size-168);
  height: auto;
  border-radius: var(--size-8);
}
.l-page__flow-swiper-slide-image.u-w90 {
  width: var(--size-90);
  height: var(--size-70);
}
.l-page__flow-read {
  font-size: var(--size-18);
  line-height: 1.8;
  font-weight: 700;
}
.l-page__flow-text {
  font-size: var(--size-16);
  line-height: 2;
  font-weight: 500;
}

@media (max-width: 768px) {
  .u-pd32 .l-page__number-swiper-container {
    padding-left: var(--size-32);
    padding-right: var(--size-32);
  }
  .l-page__flow-swiper,
  .l-page__flow-swiper2 {
    margin: var(--size-24) 0;
  }
  .l-page__flow-swiper-slide-text {
    font-size: var(--size-16);
  }
  .l-page__flow-swiper-slide-number {
    font-size: var(--size-20);
    top: var(--size-21);
    left: var(--size-24);
  }
  .l-page__flow-swiper-slide {
    height: auto;
    min-height: var(--size-192);
  }
  .l-page__flow-swiper2-slide {
    height: auto;
    min-height: var(--size-192);
  }
  .l-page__flow-read {
    font-size: var(--size-14);
    line-height: 2;
  }
  .l-page__flow-text {
    font-size: var(--size-14);
  }
  .l-page__flow-swiper2 .l-page__flow-swiper-slide-text-small {
    bottom: var(--size-12);
  }
}

/* ページ ナンバリング スライダー */
.l-page__number-swiper {
  overflow: visible;
}
.l-page__number-swiper-slide {
  width: var(--size-320);
  height: var(--size-220);
  border: 1px solid #2298E8;
  border-radius: var(--size-16);
}
.l-page__number-swiper-slide-inner {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex; 
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--size-32);
}
.l-page__number-swiper-slide-number {
  position: absolute;
  top: var(--size-32);
  left: var(--size-32);
  font-size: var(--size-24);
  color: #2298E8;
  font-weight: 700;
}
.l-page__number-swiper-slide-text {
  font-size: var(--size-18);
  font-weight: 700;
  text-align: center;
}
.l-page__number-swiper-controls {
  width: calc(var(--size-1080) + var(--size-32) * 2);
  margin: 0 auto;
  padding: 0 var(--size-32);
}
.l-page__number-swiper-slide-image-wrapper.u-position img {
  position: relative;
  left: 15px;
}
.l-page__number-swiper-slide-image-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
}

@media (max-width: 768px) {
  .l-page__number-swiper-slide {
    width: var(--size-282);
    height: var(--size-192);
    border-radius: var(--size-8);
  }
  .l-page__number-swiper-slide-inner {
    padding: var(--size-32);
  }
  .l-page__number-swiper-slide-number {
    font-size: var(--size-24);
    top: var(--size-32);
    left: var(--size-32);
  }
  .l-page__number-swiper-slide-image-wrapper {
    width: var(--size-93);
    height:auto;
  }
}

/* ページ アーカイブ */
.l-page__archive-tabs-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-20);
  justify-content: flex-start;
  width: fit-content;
  margin: auto;
}
.l-page__archive-tabs-item {
  min-width: var(--size-240);
}
.l-page__archive-list {
  display: flex;
  flex-wrap: wrap;
  row-gap: var(--size-64);
  column-gap: var(--size-40);
}
.l-page__archive-list-item {
  width: calc(33.33% - var(--size-40) * 2 / 3);
}
.l-page__archive-list-link {
  display: block;
  transition: opacity 0.3s ease-in-out;
}
.l-page__archive-list-link:hover {
  opacity: 0.5;
}
.l-page__archive-list-item-inner-image {
  border: 1px solid #B8B8B8;
  border-radius: var(--size-16);
  overflow: hidden;
  padding: var(--size-8);
  aspect-ratio: 330 / 225;
  background: #fff;
}
.l-page__archive-list-item-inner-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  border-radius: var(--size-12);
  object-position: top;
  overflow: hidden;
  border: 1px solid #eee;

}
.l-page__archive-list-item-inner-date {
  margin: var(--size-16) 0;
  font-size: var(--size-18);
  color: #707070;
}
.l-page__archive-list-item-inner-title {
  font-size: var(--size-16);
  font-weight: 700;
  line-height: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
}
.l-page__archive-list-pagination-list {
  display: flex;
  gap: var(--size-24);
  justify-content: center;
}
.l-page__archive-list-pagination-item {
  display: flex;
  align-items: center;
  justify-content: center;
}
.l-page__archive-list-pagination-link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: var(--size-64);
  height: var(--size-64);
  border-radius: 50%;
  border: 1px solid  #B8B8B8;
  font-weight: 700;
  font-size: var(--size-24);
  color: #B8B8B8;
  transition: color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  background: #fff;
}
.l-page__archive-list-pagination-link:hover {
  color: #333;
  border: 1px solid #333;
}
.l-page__archive-list-pagination-link.is-current {
  color: #333;
  border: 1px solid #333;
}
.l-page__archive-list-pagination-link.u-prev,
.l-page__archive-list-pagination-link.u-next {
  position: relative;
  background: #333;
  border: 1px solid #333;
  overflow: hidden;
}
.l-page__archive-list-pagination-link.u-prev:before,
.l-page__archive-list-pagination-link.u-next:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #FFF;
  border-radius: 50%;
  transform: translateX(-101%);
  transition: transform 0.3s ease-in-out;
}
.l-page__archive-list-pagination-link.u-prev:hover:before,
.l-page__archive-list-pagination-link.u-next:hover:before {
  transform: translateX(0);
}
.l-page__archive-list-pagination-link-icon {
  position: relative;
  z-index: 1;
}
.l-page__archive-list-pagination-link-icon text {
  transition: fill 0.3s ease-in-out;
}
.l-page__archive-list-pagination-link.u-prev:hover .l-page__archive-list-pagination-link-icon text,
.l-page__archive-list-pagination-link.u-next:hover .l-page__archive-list-pagination-link-icon text {
  fill: #333;
}
.l-page__archive-list-pagination-link.u-next .l-page__archive-list-pagination-link-icon {
  transform: scale(-1, 1);
}
.l-page__archive-list-pagination-span {
  display: block;
  width: var(--size-64);
  height: var(--size-1);
  background: #333;
}

@media (max-width: 1024px) {
  .l-page__archive-list-item {
    width: calc(50% - var(--size-40) * 2 / 3);
  }
}

@media (max-width: 768px) {
  .l-page__archive-tabs-list {
    gap: var(--size-12);
  }
  .l-page__archive-list {
    column-gap: var(--size-16);
    row-gap: var(--size-32);
  }
  .l-page__archive-list-item {
    width: 100%;
  }
  .l-page__archive-list-item-inner-date {
    margin: var(--size-12) 0;
    font-size: var(--size-14);
  }
  .l-page__archive-list-item-inner-title {
    font-size: var(--size-16);
  }
  .l-page__archive-list-pagination-list {
    gap: var(--size-12);
  }
  .l-page__archive-list-pagination-link {
    width: var(--size-32);
    height: var(--size-32);
    font-size: var(--size-14);
  }
  .l-page__archive-list-pagination-link-icon {
    width: var(--size-8);
  }
  .l-page__archive-tabs-item {
    width: fit-content;
    min-width: var(--size-120);
  }
}

/* ページタイトル */
.l-page__h2-container {
  padding: 0 var(--size-32);
}
.l-page__h2-wrapper {
  max-width: calc(var(--size-1216) + var(--size-32) * 2);
  margin: 0 auto;
  padding: 0 var(--size-32);
  background: #333;
  border-radius: var(--size-16);
}
.l-page__h2 {
  position: relative;
  max-width: calc(var(--size-1080) + var(--size-32) * 2);
  margin: 0 auto;
  padding: var(--size-16) var(--size-32);
  font-size: var(--size-24);
  line-height: 2;
  font-weight: 700;
  color: #FFF;
}
.l-page__h2:before {
  content: '';
  position: absolute;
  top: var(--size-40);
  right: calc(100% - var(--size-24));
  width: var(--size-12);
  height: var(--size-12);
  background: #FFF;
  transform: translateY(-50%);
  border-radius: 50%;
}
.l-page__h2.c-font-jost {
  font-weight: 400;
  font-size: var(--size-24);
}
@media (max-width: 768px) {
  .l-page__h2-container {
    padding: 0;
  }
  .l-page__h2-wrapper {
    padding: 0;
    border-radius: 0;
  }
  .l-page__h2 {
    font-size: var(--size-18);
    padding: var(--size-12) var(--size-16) var(--size-12) var(--size-34);
  }
  .l-page__h2.c-font-jost {
    font-weight: 400;
    font-size: var(--size-24);
  }
  .l-page__h2:before {
    width: var(--size-8);
    height: var(--size-8);
    right: calc(100% - var(--size-24));
    top: calc(1em + var(--size-12));
  }
}

/* ページグレー */
.l-page__gray {
  width: 100%;
  max-width: calc(var(--size-1280) + var(--size-32) * 2);
  margin: 0 auto;
}
.l-page__gray-wrapper {
  padding: var(--size-40) var(--size-60);
  border-radius: var(--size-16);
}
.l-page__gray-wrapper.u-dark {
  background: #D6D6D6;
}
.l-page__gray-header {
  display: flex;
  gap: var(--size-60);
}
.l-page__h3 {
  position: relative;
  width: var(--size-340);
  font-size: var(--size-24);
  font-weight: 700;
  color: #2298E8;
  height: fit-content;
}
.l-page__h3:before {
  content: '';
  position: absolute;
  top: 50%;
  right: calc(100% + var(--size-8));
  transform: translateY(-50%);
  width: var(--size-12);
  height: var(--size-12);
  background: #2298E8;
  border-radius: 50%;
}
.l-page__gray-header-inner {
  flex: 1;
}
.l-page__gray-header-inner-item-read {
  font-size: var(--size-20);
  line-height: 1.3;
  font-weight: 700;
  margin-bottom: var(--size-16);
}
.l-page__gray-header-inner-item-text {
  font-size: var(--size-14);
  line-height: 2;
}
.u-effect .l-page__inner-contents-item {
  padding: var(--size-32) var(--size-50);
}
.u-effect .l-page__inner-contents-item-read {
  margin-bottom: var(--size-4);
  font-size: var(--size-16);
  line-height: 2;
  font-weight: 700;
  color: var(--green);
}
.l-page__gray-header-inner-item-text {
  font-size: var(--size-14);
  line-height: 2;
}
.l-page__gray-header-inner-item-title-read {
  position: absolute;
  top: calc(100% + var(--size-4));
  left: -8px;
  font-size: var(--size-16);
}
.l-page__inner-contents-item-text {
  font-size: var(--size-14);
  line-height: 2;
}
.l-page__gray-inner {
  background: #FFF;
  border-radius: var(--size-16);
  padding: var(--size-68) var(--size-80);
  display: flex;
  gap: var(--size-32);
  flex-wrap: wrap;
}
.u-posting .l-page__gray-inner {
  column-gap: var(--size-103);
}
.l-page__gray-inner.u-align-center {
  align-items: center;
}
.l-page__gray-inner-contents {
  width: var(--size-540);
}
.u-posting .l-page__gray-inner-contents {
  width: var(--size-413);
}
.l-page__gray-inner-image {
  margin-bottom: var(--size-24);
  flex: 1;
}
.l-page__gray-inner-contents-logo {
  margin-bottom: var(--size-24);
  max-width: var(--size-200);
}
.l-page__gray-inner-contents-read {
  margin: 0 0 var(--size-16);
  font-size: var(--size-18);
  font-weight: 700;
}
.l-page__gray-inner-contents-read-small {
  font-size: var(--size-16);
  line-height: 2;
  display: block;
  margin-bottom: var(--size-4);
}
.l-page__gray-inner-contents-text {
  font-size: var(--size-14);
  line-height: 2;
}
.l-page__gray-inner-contents-buttons {
  display: flex;
  gap: var(--size-24);
  flex-wrap: wrap;
  width: 100%;
}
.u-service .l-page__gray-inner-contents-buttons {
  width: 100%;
}
.l-page__gray-inner-contents-list-item {
  position: relative;
  padding-left: var(--size-16);
  margin-bottom: 1em;
  font-size: var(--size-14);
  line-height: 1.5;
}
.l-page__gray-inner-contents-list-item:last-child {
  margin-bottom: 0;
}
.l-page__gray-inner-contents-list-item:before {
  content: '・';
  position: absolute;
  top: .75em;
  left: 0;
  transform: translateY(-50%);
}
.l-page__gray-inner-button {
  width: var(--size-258);
}

@media (max-width: 1120px) {
  .l-page__gray-inner {
    flex-direction: column;
  }
  .l-page__gray-inner-contents {
    width: 100%;
  }
}

@media (max-width: 1024px) {
  .l-page__gray-header {
    flex-direction: column;
    gap: var(--size-24);
  }
  .l-page__gray-header-inner {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .l-page__gray {
    padding: 0;
  }
  .l-page__gray-wrapper {
    padding: var(--size-40) var(--size-32);
  }
  .l-page__gray-wrapper.u-dark {
    padding: var(--size-40) var(--size-24);
  }
  .l-page__h3 {
    font-size: var(--size-16);
  }
  .l-page__h3:before {
    width: var(--size-8);
    height: var(--size-8);
  }
  .l-page__h3.c-font-itc {
    font-size: var(--size-24);
  }
  .l-page__h3.u-has-read {
    margin-bottom: var(--size-24);
  }
  .l-page__gray-header-inner-item-read {
    font-size: var(--size-14);
  }
  .l-page__gray-header-inner-item-text {
    font-size: var(--size-14);
  }
  .u-effect .l-page__inner-contents-item {
    padding: var(--size-24) var(--size-20);
  }
  .u-effect .l-page__inner-contents-item-title {
    font-size: var(--size-18);
    margin-bottom: var(--size-16);
  }
  .u-effect .l-page__inner-contents-item-read {
    font-size: var(--size-14);
  }
  .u-effect .l-page__inner-contents-item-text {
    font-size: var(--size-14);
  }
  .l-page__gray-inner-contents-read {
    font-size: var(--size-18);
  }
  .l-page__gray-inner {
    padding: var(--size-32) var(--size-16);
    flex-direction: column;
    gap: var(--size-24);
    border-radius: var(--size-12);
  }
  .u-posting .l-page__gray-inner {
    column-gap: var(--size-24);
  }
  .u-posting .l-page__gray-inner-image {
    width: 100%;
  }
  .u-posting .l-page__gray-inner-contents {
    width: 100%;
  }
  .u-posting .l-page__gray-inner-contents-buttons {
    width: 100%;
  }
  .l-page__gray-inner-contents-buttons {
    gap: var(--size-12);
  }
  .l-page__gray-inner-contents-read-small {
    font-size: var(--size-14);
  }
  .l-page__gray-inner-contents-text {
    font-size: var(--size-14);
  }
  .l-page__gray-inner-contents-list-item {
    font-size: var(--size-14);
  }
}

/* ページコンテンツリスト */
.l-page__inner-contents-list {
  max-width: calc(var(--size-1200) + var(--size-32) * 2);
  margin: 0 auto;
  padding: 0 var(--size-32);
}
.l-page__inner-contents-list-inner {
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-24);
}
.l-page__inner-contents-list-inner.u-has-image {
  padding: var(--size-32) var(--size-50);
  display: flex;
  gap: var(--size-24);
  align-items: center;
}
.l-page__inner-contents-item.u-has-image {
  padding: var(--size-40) var(--size-50);
  display: flex;
  gap: var(--size-20);
  align-items: center;
}
.u-orikomi .l-page__inner-contents-list-inner {
  column-gap: var(--size-24);
  row-gap: var(--size-40);
}
.u-orikomi.u-no-text .l-page__inner-contents-list-inner {
  row-gap: var(--size-24)
}
.l-page__inner-contents-item-image {
  display: block;
  min-width: var(--size-64);
  min-height: var(--size-64);
  max-width: var(--size-64);
  max-height: var(--size-64);
}
.u-has-image .l-page__inner-contents-item-title {
  font-size: var(--size-24);
  color: #333;
  margin-bottom: var(--size-12);
  line-height: 1;
}
.u-orikomi.u-no-text .l-page__inner-contents-item-title {
  font-size: var(--size-18);
  color: #333;
  margin-bottom: 0;
}
.u-orikomi .l-page__inner-contents-item-title {
  font-size: var(--size-18);
  color: #333;
  margin-bottom: var(--size-12);
}
.u-orikomi .l-page__inner-contents-item-text {
  font-size: var(--size-14);
  line-height: 2;
}
.u-orikomi .l-page__inner-contents-item {
  padding: var(--size-40) var(--size-56);
}
.u-orikomi .l-page__inner-contents-item.u-wide {
  padding: var(--size-40) var(--size-40);
}
.u-no-text .l-page__inner-contents-item {
  display: flex;
  align-items: center;
}

@media (max-width: 768px) {
  .l-page__inner-contents-item.u-has-image {
    padding: var(--size-24) var(--size-20);
  }
  .l-page__inner-contents-item-image {
    display: none;
  }
  .l-page__inner-contents-item-title {
    font-size: var(--size-20);
    margin-bottom: var(--size-12);
  }
  .l-page__inner-contents-item-text {
    font-size: var(--size-14);
  }
  .l-page__inner-contents-list-inner {
    gap: var(--size-8);
  }
  .u-orikomi .l-page__inner-contents-list-inner {
    row-gap: var(--size-16);
  }
  .u-orikomi.u-no-text .l-page__inner-contents-list-inner {
    row-gap: var(--size-16);
  }
  .u-orikomi .l-page__inner-contents-item-title {
    font-size: var(--size-16);
  }
  .u-orikomi .l-page__inner-contents-item-text {
    font-size: var(--size-14);
  }
  .u-orikomi .l-page__inner-contents-item {
    padding: var(--size-24) var(--size-20);
  }
  .u-orikomi .l-page__inner-contents-item.u-wide {
    padding: var(--size-24) var(--size-20);
  }
  .u-orikomi.u-no-text .l-page__inner-contents-item-title {
    font-size: var(--size-16);
  }
}

/* ページコンテンツボタンリスト */
.l-page__button-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-16);
  margin-top: var(--size-48);
}
.l-page__button-list-item {
  width: calc(25% - var(--size-16) * 3 / 4);
}

@media (max-width: 1024px) {
  .l-page__button-list-item {
    width: calc(50% - var(--size-16) * 1 / 2);
  }
}

@media (max-width: 768px) {
  .l-page__button-list {
    margin-top: var(--size-24);
  }
  .l-page__button-list-item {
    width: 100%;
    max-width: var(--size-280);
    margin: 0 auto;
  }
}

/* ページカードリスト */
.l-page__card-list {
  max-width: calc(var(--size-1200) + var(--size-32) * 2);
  margin: 0 auto;
  padding: 0 var(--size-32);
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-24);
}
.l-page__card-list.u-inner {
  max-width: calc(var(--size-1280) + var(--size-32) * 2);
  padding: 0 var(--size-32);
}
.l-page__card-list-item {
  width: calc(25% - var(--size-24) * 3 / 4);
}
.l-page__card-list-item-image-wrapper {
  border-radius: var(--size-8);
  overflow: hidden;
}
.l-page__card-list-item-image-wrapper img {
  width: 100%;
  aspect-ratio: 282 / 192;
  height: auto;
  object-fit: cover;
}
.l-page__card-list-item-number {
  margin: var(--size-16) 0 var(--size-8);
  font-size: var(--size-24);
  font-weight: 700;
}
.l-page__card-list-item-number.c-font-jost {
  font-weight: 400;
}
.l-page__card-list-item-title {
  font-size: var(--size-20);
  font-weight: 700;
  margin-bottom: var(--size-12);
  line-height: 1.5;
}
.u-product .l-page__card-list-item-title {
  font-size: var(--size-18);
}
.l-page__card-list-item-text {
  font-size: var(--size-14);
  line-height: 2;
}

@media (max-width: 1024px) {
  .l-page__card-list-item {
    width: calc(50% - var(--size-24) * 1 / 2);
  }
}

@media (max-width: 768px) {
  .l-card-swiper-container {
    overflow: hidden;
  }
  .l-page__card-swiper,
  .l-page__card-swiper2,
  .l-page__card-swiper3 {
    overflow: visible;
    padding: 0 var(--size-32);
  }
  .l-page__card-list-swiper,
  .l-page__card-list-swiper2,
  .l-page__card-list-swiper3 {
    overflow: hidden;
    padding: 0 var(--size-32);
  }
}

/* ページテキスト */
.l-page__text {
  max-width: calc(var(--size-1080) + var(--size-32) * 2);
  margin: 0 auto;
  padding: 0 var(--size-32);
  font-size: var(--size-16);
  line-height: 2;
  font-weight: 500;
}
.l-page__text-small {
  font-size: var(--size-14);
  line-height: 2;
}

/* ページコンテンツ画像テキスト */
.l-page__image-with-text {
  max-width: calc(var(--size-1080) + var(--size-32) * 2);
  margin: 0 auto;
  padding: 0 var(--size-32);
  display: flex;
  gap: var(--size-24);
}
.l-page__image-with-text-contents {
  width: var(--size-640);
}
.l-page__image-with-text-image {
  flex: 1;
}
.l-page__image-with-text-contents-text {
  font-size: var(--size-16);
  line-height: 2;
  font-weight: 500;
}
.l-page__image-with-text-button {
  width: var(--size-280);
}

@media (max-width: 1024px) {
  .l-page__image-with-text {
    flex-direction: column;
    gap: var(--size-24);
  }
}

/* ページコンテンツテキスト画像 */
.l-page__text-with-image {
  max-width: calc(var(--size-1080) + var(--size-32) * 2);
  margin: 0 auto;
  padding: 0 var(--size-32);
  display: flex;
  gap: var(--size-64);
}
.l-page__text-with-image-image {
  flex: 1;
  width: calc(100% + var(--size-100) * 2);
  margin-right: calc(var(--size-100) * -1);
}
.l-page__text-with-image-image-wrapper {
  border: solid 1px #DDDDDD;
  border-radius: var(--size-8);
  overflow: hidden;
}
.l-page__text-with-image-image img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.l-page__text-with-image-contents {
  width: var(--size-596);
}
.l-page__text-with-image-contents-read {
  font-size: var(--size-20);
  font-weight: 700;
  line-height: 2;
  margin-bottom: var(--size-24);
}
.l-page__text-with-image-contents-text {
  font-size: var(--size-14);
  line-height: 2.5;
}

@media (max-width: 1350px) {
  .l-page__text-with-image-image {
    width: 100%;
    margin-right: 0;
  }
}

@media (max-width: 1024px) {
  .l-page__text-with-image {
    flex-direction: column;
    gap: var(--size-24);
  }
  .l-page__text-with-image-contents {
    width: 100%;
  }
  .l-page__text-with-image-image,
  .l-page__text-with-image-image-wrapper {
    width: 100%;
    max-width: var(--size-500);
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 768px) { 
  .l-page__text-with-image-contents-read {
    margin-bottom: var(--size-8);
    font-size: var(--size-16);
    line-height: 1.5;
  }
  .l-page__text-with-image-contents-text {
    font-size: var(--size-14);
    line-height: 2;
  }
  .u-not-border .l-page__text-with-image-image-wrapper {
    border: none;
    border-radius: 0;
  }
}

/* ページタイトルテキスト */
.l-page__title-with-text {
  display: flex;
  gap: var(--size-96);
}
.l-page__title-with-text-header {
  width: var(--size-262);
}
.l-page__title-with-text-body {
  flex: 1;
}
.l-page__title-with-text-read {
  font-size: var(--size-32);
  font-weight: 700;
  line-height: 2;
}
.l-page__title-with-text-text {
  margin-top: var(--size-40);
  font-size: var(--size-14);
  line-height: 2.5;
}
.l-page__title-with-text-image-wrapper {
  display: block;
  border-radius: var(--size-8);
  overflow: hidden;
}

@media (max-width: 1024px) {
  .l-page__title-with-text {
    flex-direction: column;
    gap: var(--size-24);
  }
  .l-page__title-with-text-header {
    width: 100%;
  }
  .l-page__title-with-text-body {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .l-page__title-with-text-read {
    font-size: var(--size-16);
    line-height: 2;
  }
  .l-page__title-with-text-text {
    margin-top: var(--size-24);
    font-size: var(--size-14);
    line-height: 2;
  }
}
/* ページコンテンツ */
.l-page__inner-contents-inner {
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-24);
  margin-bottom: var(--size-24);
}
.l-page__inner-contents-item {
  width: calc(50% - var(--size-24) / 2);
  padding: var(--size-32) var(--size-90);
  border: solid 1px var(--green);
  border-radius: var(--size-16);
  background: #FFF;
}
.l-page__inner-contents-item-title {
  color: #2298E8;
  font-size: var(--size-20);
  font-weight: 700;
  margin-bottom: var(--size-16);
  margin-bottom: var(--size-20);
}
.l-page__inner-contents-item-title-strong {
  font-size: var(--size-23);
}
.l-page__inner-contents-annotation-wrapper {
  max-width: var(--size-800);
  margin: var(--size-32) auto 0;
}

@media (max-width: 1024px) {
  .l-page__inner-contents-inner {
    flex-direction: column;
    gap: var(--size-8);
  }
  .l-page__inner-contents-item {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .l-page__inner-contents-item {
    padding: var(--size-24) var(--size-20);
    border-radius: var(--size-8);
  }
  .l-page__inner-contents-item-title {
    font-size: var(--size-15);
  }
  .l-page__inner-contents-item-title-strong {
    font-size: var(--size-17);
  }
  .l-page__inner-contents-annotation-wrapper {
    margin: var(--size-24) auto 0;
  }
  .l-page__image-with-text {
    flex-direction: column;
    gap: var(--size-24);
  }
  .l-page__image-with-text-contents {
    width: 100%;
  }
  .l-page__image-with-text-image{
    width: calc(100% + var(--size-16) * 2);
    margin: 0 calc(-1 * var(--size-16));
  }
}

/* ページケース */
.l-page__case-header {
  display: flex;
}
.l-page__case-header-title-wrapper {
  width: var(--size-200);
}
.l-page__case-header-text-wrapper {
  flex: 1;
}
.l-page__case-header-title {
  font-size: var(--size-20);
  font-weight: 700;
  line-height: 1.5;
}
.l-page__case-header-number {
  font-size: var(--size-18);
  font-weight: 700;
  line-height: 1.5;
  color: #2298E8;
}
.l-page__case-header-text {
  font-size: var(--size-14);
  line-height: 2;
}
.l-page__case-container {
  position: relative;
}
.l-page__case-container + .l-page__case-container {
  margin-top: var(--size-40);
  padding-top: var(--size-40);
}
.l-page__case-container + .l-page__case-container:before {
  content: '';
  display: block;
  width: calc(100% - var(--size-32) * 2);
  max-width: var(--size-1200);
  height: 1px;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  top: 0;
  background-image: linear-gradient(to right, #707070, #707070 1px, transparent 1px, transparent 2px);
  background-size: 3px 1px;
  background-position: top;
  background-repeat: repeat-x;
}

@media (max-width: 768px) {
  .l-page__case-header {
    flex-direction: column;
    gap: var(--size-12);
  }
  .l-page__case-header-title-wrapper {
    width: 100%;
  }
}

/* 価格表 */
.l-price-table {
  width: 100%;
  min-width: var(--size-1280);
  border-collapse: collapse;
  border-spacing: 0;
}
.l-price-table th,
.l-price-table td {
  font-size: var(--size-14);
  border: solid 1px #707070;
  padding: var(--size-22) var(--size-12);
  vertical-align: middle;
  line-height: 1.5;
}
.l-price-table th {
  font-weight: 700;
  background: #F1F8F9;
  text-align: center;
}
.u-kanagawa.l-price-table th {
  min-width: var(--size-134);
  min-height: var(--size-80);
}
.u-kanagawa .l-price-table__tbody-tr td:last-child {
  width: 100%;
}
.l-price-table td {
  padding: 0 var(--size-32);
}
.l-price-table td {
  font-weight: 500;
}
.l-price-table__tbody-tr th:nth-child(2) {
  width: var(--size-54);
}
.l-price-table__tbody-tr td:last-child {
  font-size: var(--size-12);
  width: var(--size-132);
}
.l-table-wrap {
  overflow-x: auto;
  overflow-y: hidden;
}

@media (max-width: 1280px) {
  .c-inner.u-has-table {
    padding: 0;
  }
  .l-table-wrap {
    padding: 0 var(--size-16);
    overflow-x: auto;
    overflow-y: hidden;
  }
}

/* フッター */
.l-footer {
  margin: var(--size-40) 0;
}
.l-footer.u-sitemap {
  display: none;
}
.l-footer.u-sitemap {
  margin: var(--size-80) 0 var(--size-24);
}
.l-footer__contents {
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-16);
}
.l-footer__contents-wrapper {
  width: calc(25% - var(--size-16) * 3/ 4);
}
.l-footer__contents-wrapper-inner {
  height: 100%;
}
.l-footer__contents-inner {
  padding: var(--size-48) var(--size-32);
}
.l-footer__contents-title {
  display: flex;
  flex-direction: column;
  gap: var(--size-12);
  margin-bottom: var(--size-16);
  font-size: var(--size-48);
  font-weight: 700;
  color: #333;
  transition: opacity 0.3s ease-in-out;
}
.l-footer__contents-title:hover {
  opacity: 0.5;
}
.l-footer__contents-title-ja {
  font-size: var(--size-16);
  font-weight: 700;
  color: #333;
  padding-bottom: var(--size-16);
  border-bottom: 1px solid #B8B8B8;
}
.l-footer__contents-title.u-has-border {
  padding-bottom: var(--size-24);
  border-bottom: 1px solid #B8B8B8;
}
.l-footer__contents-list {
  margin-bottom: 0;
}
.l-footer__contents-list.u-bold {
  grid-template-rows: repeat(6, auto);
  font-weight: 700;
}
.l-footer__contents-item {
  
  margin-bottom: var(--size-16);
}
.l-footer__contents-top {
  display: flex;
  gap: var(--size-70);
}
.l-footer__contents-inner-title {
  display: block;
  padding-bottom: var(--size-16);
  margin-bottom: var(--size-16);
  font-size: var(--size-16);
  font-weight: 700;
  line-height: 2;
  border-bottom: 1px solid #B8B8B8;
}
a.l-footer__contents-inner-title {
  transition: opacity .3s ease-in-out;
}
a.l-footer__contents-inner-title:hover {
  opacity: .5;
}
.l-footer__contents-link {
  font-size: var(--size-16);
  line-height: 2;
  transition: opacity 0.3s ease-in-out;
}
.l-footer__contents-link.u-works h3 {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.l-footer__contents-link.u-news {
  display: flex;
  gap: var(--size-12);
  align-items: center;
}
.l-footer__contents-link.u-news time {
  
}
.l-footer__contents-link.u-news h3 {
  flex: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.l-footer__contents-link:hover {
  opacity: 0.5;
}
.l-footer__bottom {
  margin-top: var(--size-64);
}
.l-footer__bottom-contents {
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-16);
  margin-top: var(--size-8);
  justify-content: space-between;
  align-items: flex-start;
}
.l-footer__bottom-button-wrapper {
  flex: 1;
}
.l-footer__bottom-buttons {
  display: flex;
  gap: var(--size-24);
  justify-content: flex-end;
}
.l-footer__bottom-logo {
  width: fit-content;
  display: block;
  transition: opacity 0.3s ease-in-out;
}
.l-footer__bottom-logo:hover {
  opacity: 0.5;
}
.l-footer__bottom-address {
  font-size: var(--size-16);
  font-weight: 700;
  line-height: 2;
}
.l-footer__bottom-contents {
  flex: 1;
}
.l-footer__bottom-links {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: var(--size-16);
}
.l-footer__bottom-links-list {
  display: flex;
  column-gap: var(--size-24);
  row-gap: var(--size-12);
  flex-wrap: wrap;
  flex: 1;
}
.l-footer__bottom-links-link {
  font-size: var(--size-12);
  line-height: 2;
  transition: opacity 0.3s ease-in-out;
}
.l-footer__bottom-links-link:hover {
  opacity: 0.5;
}
.l-footer__bottom-copyright {
  font-size: var(--size-12);
  line-height: 2;
  margin-top: var(--size-16);
  font-weight: 400;
  display: block;
}
.l-footer__bottom-copyright.c-only-sp {
  display: none;
}
.l-footer__bottom-logo-img {
  width: var(--size-281);
}
.l-footer__bottom-links-img {
  width: var(--size-48);
  height: var(--size-48);
}
.l-footer__bottom-links-img-wrapper {
  transition: opacity 0.3s ease-in-out;
}
.l-footer__bottom-links-img-wrapper:hover {
  opacity: 0.5;
}

@media (max-width: 1320px) {
  .l-footer__contents-wrapper {
    width: calc(50% - var(--size-16) / 2);
  }
}

@media (max-width: 1240px) {
  .l-footer__contents-top {
    flex-wrap: wrap;
  }
  .l-footer__bottom-contents {
    flex-direction: column;
  }
}

@media (max-width: 1024px) {
  .l-footer {
    margin: var(--size-40) 0 var(--size-24);
  }
  .l-footer__contents-inner {
    padding: var(--size-32);
  }
}

@media (max-width: 768px) {
  .l-footer {
    margin: var(--size-24) 0 0;
  }
  .l-footer__bottom-buttons {
    flex-direction: column;
    width: 100%;
  }
  .l-footer__contents {
    display: none;
  }
  .u-sitemap .l-footer__contents {
    display: flex;
  }
  .l-footer__contents-wrapper {
    width: 100%;
  }
  .l-footer.u-sitemap .l-footer__contents {
    display: flex;
    margin-bottom: var(--size-24);
  }
  .l-footer .c-bg-gray {
    border-radius: var(--size-16) var(--size-16) 0 0;
  }
  .l-footer__bottom {
    margin-top: 0;
  }
  .l-footer__bottom-contents {
    flex-direction: column;
    align-items: flex-start;
    margin-top: var(--size-16);
    gap: var(--size-40);
  }
  .l-footer__bottom-button-wrapper {
    width: 100%;
  }
  .l-footer__bottom-buttons {
    gap: var(--size-16);
    justify-content: center;
    align-items: center;
  }
  .l-footer__bottom-links {
    margin-top: var(--size-40);
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--size-40);
  }
  .l-footer__bottom-links-list {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--size-24);
  }
  .l-footer__bottom-copyright {
    margin-top: var(--size-40);
    width: 100%;
    text-align: center;
  }
  .l-footer__bottom-copyright.c-only-pc {
    display: none;
  }
  .l-footer__bottom-copyright.c-only-sp {
    display: block;
  }
  .l-footer__contents-wrapper.u-half-width {
    width: 100%;
  }
  .l-footer__contents-top {
    gap: var(--size-24);
  }
  .l-footer__contents-list {
    display: block;
  }
  .l-footer__contents-item {
    margin-bottom: var(--size-12);
  }
  .l-footer.u-sitemap {
    margin: var(--size-40) 0 0;
  }
}

/* ページヘッダー */
.l-page-header {
  position: relative;
  padding-top: var(--size-150);
}
.l-page-header .l-main__wave1 {
  position: absolute;
  top: -276%;
  right: 78%;
  width: var(--size-1200);
  height: var(--size-900);
  z-index: -1;
}
.l-page__wave-wrapper {
  height: 0;
  width: 0;
  position: relative;
}
.l-page__wave-wrapper .l-main__wave1 {
  top: -700px;
  right: -400px;
  z-index: -1;
}
.l-page__wave-wrapper .l-main__wave2 {
  top: -800px;
  left: -1000px;
  width: 1920px;
  height: 442px;
  z-index: -2;
}
/* .u-no-title.l-page-header .l-main__wave1 {
  top: -600px;
}
.l-page-header .l-main__wave2 {
  position: absolute;
  z-index: -2;
  top: -413%;
  left: -119%;
  width: 2225px;
  height: var(--size-979);
}
.u-no-title.l-page-header .l-main__wave2 {
  top: -800px;
}
.l-page-header .c-inner-left .l-main__wave2 {
  position: absolute;
  z-index: -2;
  top: -680%;
  left: -270%;
  width: 3000px;
  height: 1000px;
}
.l-page-header .c-inner-left .l-main__wave1 {
  top: -470%;
} */
.l-page-header #mySvg2,
.l-page-header #mySvg {
  /* width: 100%;
  height: 100%; */
  overflow: visible;
}
.l-page-header__inner {
  display: flex;
  gap: var(--size-96);
}
.l-page-header__contents {
  width: var(--size-640);
}
.l-page-header__title {
  margin-top: var(--size-80);
}
.l-page-header__title-read {
  margin: var(--size-32) 0;
  font-size: var(--size-16);
  font-weight: 700;
  line-height: 2;
}
.u-calendar .l-page-header__title-read {
  margin: 0;
  font-size: var(--size-18);
}
.l-page-header__title-text {
  font-size: var(--size-14);
  line-height: 2.5;
}
.l-page-header__image {
  height: fit-content;
  flex: 1;
  border-radius: var(--size-16) 0 0 var(--size-16);
  overflow: hidden;
}
.l-page-header__image.u-has-border {
  border: 1px solid #eee;
  border-right: 0;
}
.l-page-header__image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  aspect-ratio: 764 / 680;
}
.l-page-header__image.u-sp {
  display: none;
}
.l-page-header__title-list {
  list-style: disc;
  margin-left: var(--size-24);
  margin-top: var(--size-48);
}
.l-page-header__title-item {
  font-size: var(--size-20);
  line-height: 1.5;
  margin-bottom: var(--size-16);
  font-weight: 700;
}
.l-page-header__title-item-small {
  display: block;
  font-size: var(--size-10);
  line-height: 2;
}
.l-page-header__google-partner {
  display: flex;
  gap: var(--size-64);
  align-items: cemter;
}
.l-breadcrumbs {
  margin-top: var(--size-32);
}
.u-no-title .l-breadcrumbs {
  margin-top: 0;
}
.l-breadcrumbs__list {
  display: flex;
  gap: var(--size-8);
  flex-wrap: wrap;
  align-items: center;
}
.l-breadcrumbs__link {
  font-size: var(--size-12);
  line-height: 2;
}
.l-breadcrumbs__link-text {
  text-decoration: underline;
  transition: opacity 0.3s ease-in-out;
}
.l-breadcrumbs__link:hover .l-breadcrumbs__link-text {
  opacity: 0.5;
}
.l-breadcrumbs__link:after {
  content: "/";
  margin-left: var(--size-8);
}
.l-breadcrumbs__span {
  font-size: var(--size-12);
  line-height: 2;
}

@media (max-width: 1240px) {
  .l-page-header__contents {
    width: var(--size-480);
  }
}

@media (max-width: 1024px) {
  .l-page-header__image.u-sp {
    display: block;
    margin-left: auto;
    max-width: var(--size-560);
    margin-top: var(--size-48);
    border-radius: var(--size-8) 0 0 var(--size-8);
  }
  .l-page-header__image.u-pc {
    display: none;
  }
  .l-page-header__contents {
    width: 100%;
  }
  .l-page-header__title {
    padding-right: var(--size-32);
  }
  .l-page-header__title.u-company {
    padding-right: 0;
  }
}

@media (max-width: 768px) {
  .l-page-header {
    padding-top: var(--size-88);
  }
  .l-page-header.u-has-image {
    padding-top: var(--size-95);
  }
  /* .l-page-header .l-main__wave1 {
    top: -600%;
    right: 35%;
    width: var(--size-768);
    height: var(--size-691);
  }
  .u-no-title.l-page-header .l-main__wave1 {
    top: -450px;
    left: -600px;
  }
  .l-page-header .l-main__wave2 {
    top: -850%;
    left: -319%;
    width: 1500px;
    height: var(--size-979);
  }
  .u-no-title.l-page-header .l-main__wave2 {
    top: -650px;
    left: -1100px;
  } */
  .l-page-header__title-item {
    font-size: var(--size-14);
    line-height: 1.5;
    margin-bottom: var(--size-8);
  }
  .l-page__wave-wrapper .l-main__wave1 {
    top: -650px;
    right: 0;
    width: var(--size-768);
    height: var(--size-691);
  }
  .l-page__wave-wrapper .l-main__wave2 {
    top: -800px;
    left: -1100px;
    width: var(--size-1300);
    height: var(--size-600);
    rotate: -8deg;
  }
  .l-breadcrumbs {
    display: none;
    margin-top: var(--size-40);
  }
  /* .l-page-header .c-inner-left .l-main__wave1 {
    top: -700%;
    right: 60%;
  }
  .l-page-header .c-inner-left .l-main__wave2 {
    top: -1400%;
    left: -250%;
    width: 2000px;
  } */
  .l-page-header__title-list {
    margin-top: var(--size-24);
  }
  .l-page-header__title {
    margin-top: var(--size-16);
  }
  .l-page-header__title .c-title-blue {
    font-size: var(--size-20);
  }
  .l-page-header__title-read {
    font-size: var(--size-14);
    line-height: 1.5;
    margin: var(--size-24) 0 var(--size-16);
  }
  .u-calendar .l-page-header__title-read {
    font-size: var(--size-14);
    line-height: 1.5;
  }
  .l-page-header__title-text {
    font-size: var(--size-14);
    line-height: 2;
  }
  .l-page-header__google-partner {
    flex-direction: column;
    align-items: center;
    gap: var(--size-12);
  }
}

/* ヘッダーアイテム */
.l-page-header__items {
  position: relative;
  top: -32px;
}

@media (max-width: 1900px) {
  .l-page-header__items {
    top: 0;
    margin-top: var(--size-40);
  }
}

/* 法務関連 */
.l-terms__text {
  font-size: var(--size-14);
}
.u-lh20 {
  line-height: 2;
}
.u-lh15 {
  line-height: 1.5;
}
.l-terms__list {
  list-style: decimal;
  font-size: var(--size-14);
  line-height: 2;
  margin-left: var(--size-16);
}
.l-terms__list.u-bold {
  font-weight: 700;
}
.l-terms__item {
  margin-bottom: var(--size-40);
}
.l-compliance .l-terms__item {
  margin-bottom: var(--size-16);
}
.l-terms__title {
  font-size: var(--size-16);
  font-weight: 700;
  line-height: 2;
}
.l-terms__subtitle {
  font-size: var(--size-14);
  font-weight: 700;
}
.u-indent {
  margin-left: 1em;
}
.u-indent2 {
  margin-left: 2em;
}
.l-terms__inner-item {
  text-indent: -16px;
}
.l-terms__inner-item:before {
  content: "●";
}
.l-terms__annotation-item {
  text-indent: -16px;
}
.l-terms__annotation-item:before {
  content: "※";
}
.u-announcement .l-terms__item {
  margin-bottom: var(--size-24);
}
.l-terms__disc-list {
  list-style: disc;
  margin-left: var(--size-16);
}
.l-terms__disc-item {
  font-size: var(--size-14);
}

@media (max-width: 768px) {
  .l-terms__item {
    margin-bottom: var(--size-24);
  }
  .u-announcement .l-terms__item {
    margin-bottom: var(--size-12);
  }
}

/* 記事 */
.l-article__date {
  margin: var(--size-16) 0 var(--size-8);
  font-size: var(--size-18);
  color: #707070;
}
.l-article__title {
  font-size: var(--size-32);
  font-weight: 700;
  line-height: 2;
  position: relative;
}
.l-article__contents,
.l-article__buttons,
.l-article__button-wrapper {
  max-width: calc(var(--size-960) + var(--size-32) * 2);
  padding: 0 var(--size-32);
  margin-left: auto;
  margin-right: auto;
}
.l-article__contents h2,
.l-article__contents h3,
.l-article__contents h4,
.l-article__contents h5,
.l-article__contents h6 {
  font-size: var(--size-18);
  font-weight: 700;
  line-height: 2;
}
.l-article__contents p,
.l-article__contents ul,
.l-article__contents ol {
  font-size: var(--size-14);
  line-height: 3;
}
.l-article__contents * + * {
  margin-top: var(--size-32);
}
.l-article__contents-title {
  font-size: var(--size-24);
}
.l-article__contents figure {
  display: block;
  border-radius: var(--size-16);
  overflow: hidden;
}
.l-article__contents img {
  width: 100%;
  height: auto;
}
.l-article__contents a[target="_blank"] {
  margin-right: var(--size-4);
}
.l-article__contents a[target="_blank"]:after {
  content: "";
  display: inline-block;
  background: url(../img/icon-blank.svg) no-repeat center center / contain;
  width: var(--size-12);
  height: var(--size-10);
  margin-left: var(--size-4);
  background-size: contain;
}
.l-article__contents a {
  display: inline;
  transition: opacity 0.3s ease-in-out;
  color: #2298E8;
  text-decoration: underline;
}
.l-article__contents a:hover {
  opacity: 0.5;
}
.wp-block-columns.is-layout-flex {
  flex-wrap: nowrap;
}

@media (max-width: 768px) {
  .l-article__title {
    font-size: var(--size-18);
  }
  .l-article__date {
    font-size: var(--size-12);
  }
  .l-article__contents p {
    font-size: var(--size-14);
    line-height: 2;
  }
  .l-article__contents,
  .l-article__button,
  .l-article__button-wrapper {
    padding: 0;
  }
  .l-article__contents h2,
  .l-article__contents h3,
  .l-article__contents h4,
  .l-article__contents h5,
  .l-article__contents h6 {
    font-size: var(--size-16);
    font-weight: 700;
    line-height: 2;
  }
  .l-article__contents p,
  .l-article__contents ul,
  .l-article__contents ol {
    font-size: var(--size-14);
    line-height: 3;
  }
  .l-article__contents * + * {
    margin-top: var(--size-24);
  }
  .wp-block-columns.is-layout-flex {
    flex-wrap: wrap;
    gap: var(--size-12);
    flex-wrap: nowrap !important;
  }
  .wp-block-columns.is-layout-flex * {
    flex-basis: 100%!important;
  }
  .l-article__contents figure {
    border-radius: var(--size-12);
  }
}

/* 
プロジェクト 
*/

/* strengths */
.l-strengths {
  position: relative;
  max-width: 100%;
  margin-top: var(--size-200);
  z-index: 2;
  overflow: visible;
  overflow-x: clip;
}
.p-strengths__inner {
  display: flex;
  gap: var(--size-64);
  align-items: flex-end;
}
.p-strengths__text-group {
  max-width: var(--size-452);
}
.p-strengths__contents {
  flex: 1;
  position: relative;
}
.p-strengths__contents-img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: calc(100% + var(--size-100));
  max-width: unset;
  border-radius: var(--size-16);
  overflow: hidden;
}
.p-strengths__slide {
  width: var(--size-464);
  margin-right: var(--size-32);
}
.p-strengths__text {
  margin: var(--size-40) 0 0;
  font-size: var(--size-16);
  font-weight: 500;
  line-height: 2;
}
.p-strengths__slide-img-wrapper {
  width: 100%;
  margin-bottom: var(--size-24);
  aspect-ratio: 664 / 452;
  overflow: hidden;
  border-radius: var(--size-16);
  border: 1px solid #333;
}
.p-strengths__slide-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-strengths__slide-text {
  font-size: var(--size-20);
  font-weight: 700;
  line-height: 2;
}
.p-strengths__slide-text-small {
  margin-top: var(--size-12);
  font-size: var(--size-16);
  line-height: 2;
}
.p-strengths__swiper-controls {
  position: absolute;
  top: 100%;
  left: 50%;
  width: var(--size-320);
  transform: translateX(-50%);
  z-index: 1;
}
.p-strengths__link-sp {
  display: none;
}
.p-strengths__inner {
  padding: 0 var(--size-32);
}
.p-strengths__contents.u-sp {
  display: none;
}

@media (max-width: 1420px) {
  .p-strengths__slide {
    width: var(--size-382);
  }
  .p-strengths__swiper-controls {
    top: 100%;
  }
  .p-strengths__contents-img {
    position: unset;
    width: 100%;
  }
}

@media (max-width: 1024px) {
  .p-strengths__link {
    display: none;
  }
  .p-strengths__link-sp {
    display: block;
    margin: var(--size-40) auto 0;
  }
  .p-strengths__inner {
    flex-direction: column-reverse;
    gap: var(--size-32);
  }
  .p-strengths__swiper {
    position: unset;
    overflow: visible;
    width: 100%;
  }
  .p-strengths__text {
    margin-bottom: 0;
  }
  .p-strengths__text-group {
    max-width: 100%;
  }
  .p-strengths__swiper-controls {
    margin-top: var(--size-40);
    position: unset;
    transform: unset;
  }
  .p-strengths__contents.u-pc {
    display: none;
  }
  .p-strengths__contents.u-sp {
    display: block;
    margin-top: var(--size-40);
    width: calc(100% + var(--size-24) * 2);
    margin-left: -24px;
  }
}

@media (max-width: 768px) {
  .l-strengths {
    margin-top: var(--size-48);
  }
  .p-strengths__slide {
    width: 100%;
    margin-right: 0;
  }
  .p-strengths__slide-text {
    font-size: var(--size-14);
    line-height: 1.8;
  }
  .p-strengths__slide-text-small {
    margin-top: var(--size-8);
    font-size: var(--size-12);
    line-height: 1.8;
  }
  .p-strengths__swiper-controls {
    margin-top: var(--size-24);
  }
  .p-strengths__text {
    margin-bottom: var(--size-16);
    font-size: var(--size-14);
    line-height: 1.7;
    margin: var(--size-32) 0 0;
  }
  .p-strengths__inner {
    gap: var(--size-16);
  }
  .p-strengths__slide-img-wrapper {
    margin-bottom: var(--size-8);
    aspect-ratio: 664 / 340;
  }
  .p-strengths__slide-text {
    font-size: var(--size-14);
    line-height: 1.4;
  }
}

/* ボタン */
.l-buttons {
  position: fixed;
  z-index: 5;
  bottom: var(--size-40);
  right: var(--size-33);
  padding: var(--size-4) var(--size-9);
  background: #fff;
  border-radius: 100vmax;
  box-shadow: 4px 4px 12px rgba(95, 95, 95, 0.16);
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out, transform 0.3s ease-in-out, bottom 0.3s ease-in-out;
  /* opacity: 0;
  visibility: hidden; */
  opacity: 1;
  visibility: visible;
}
.l-buttons.is-hidden {
  opacity: 0!important;
  visibility: hidden!important;
}
.l-buttons.is-close {
  opacity: 0!important;
  visibility: hidden!important;
}
.p-buttons__inner {
  display: flex;
  gap: var(--size-10);
  justify-content: flex-end;
}

@media (max-width: 1420px) {
  .l-buttons {
    bottom: var(--size-20);
    right: var(--size-33);
  }
}

@media (max-width: 768px) {
  .l-buttons {
    bottom: var(--size-16);
    right: var(--size-16);
    width: calc(100% - var(--size-72));
    padding: var(--size-6) var(--size-8);
  }
  .p-buttons__inner {
    gap: var(--size-4);
  }
}

/* サービス */
.l-page-service {
  position: relative;
}
.l-page-service .l-main__wave5 {
  position: absolute;
  top: -4%;
  left: 0;
  width: 100%;
}
.p-service__contents {
  margin-top: var(--size-80);
}
.l-page-service .p-service__contents {
  margin-top: 0;
}
.p-service__contents-inner {
  display: flex;
  align-items: stretch;
  gap: var(--size-40);
  flex-wrap: wrap;
}
.p-service__contents-item {
  width: calc(50% - var(--size-40) / 2);
  padding: var(--size-24) var(--size-32);
  background: #fff;
  border-radius: var(--size-24);
}
.p-service__contents-item-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.p-service__contents-item-img-wrapper {
  position: relative;
  border-radius: 0 var(--size-16) var(--size-16) var(--size-16);
  overflow: hidden;
}
.p-service__contents-item-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 556 / 280;
}
.p-service__contents-item-img-text-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  font-size: var(--size-24);
  font-weight: 700;
  line-height: 1.2;
  width: fit-content;
  min-width: var(--size-300);
}
.p-service__contents-item-img-text {
  position: relative;
  padding: var(--size-16) var(--size-24) var(--size-24) var(--size-16);
  border-radius: 0 0 var(--size-16) 0;
  background: #fff;
}
.p-service__contents-item-img-text:before {
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  background: url(../img/curve.svg) no-repeat center center / cover;
  width: var(--size-24);
  height: var(--size-24);
  rotate: 90deg;
}
.p-service__contents-item-img-text:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  background: url(../img/curve.svg) no-repeat center center / cover;
  width: var(--size-24);
  height: var(--size-24);
  rotate: 90deg;
}
.p-service__contents-item-img-text-small {
  display: block;
  font-size: var(--size-18);
}
.p-service__contents-item-title {
  margin: var(--size-27) 0 var(--size-23);
  font-size: var(--size-24);
  font-weight: 700;
  line-height: 2;
}
.p-service__contents-item-text-copy {
  min-height: calc(3em * 2);
  margin-bottom: var(--size-32);
  font-size: var(--size-14);
  line-height: 2;
  overflow-wrap: anywhere;
}
.u-page-service .p-service__contents-item-text-copy {
  margin-bottom: var(--size-16);
}
.p-service__contents-item-text-title {
  margin-bottom: var(--size-8);
  font-size: var(--size-18);
  font-weight: 700;
  color: #42A8EE;
}
.p-service__contents-item-list-wrapper {
  flex: 1;
  display: flex;
  align-items: flex-start;
}
.u-top .p-service__contents-item-list-wrapper {
  margin-top: var(--size-16);
}
.p-service__contents-item-list {
  display: flex;
  gap: var(--size-12);
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
  align-content: flex-end;
}
.p-service__contents-item-list-item {
  width: calc(50% - var(--size-12) / 2);
}
.p-service__contents-item-text-wrapper {
  margin-top: var(--size-16);
  flex: 1;
  display: flex;
  flex-direction: column;
}
.p-others__contents {
  display: flex;
  gap: var(--size-40);
  flex-wrap: wrap;
  margin-top: var(--size-64);
}
.p-others__contents-item {
  position: relative;
  width: calc(33.33% - var(--size-40) * 2 / 3);
  padding: var(--size-64) var(--size-16);
  background: #fff;
  border-radius: var(--size-16);
  text-align: center;
  font-weight: 700;
  font-size: var(--size-20);
  transition: transform 0.3s ease-in-out;
  overflow: hidden;
}
.p-others__contents-item:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #42A8EE;
  border-radius: var(--size-16);
  z-index: 1;
  transition: transform 0.3s ease-in-out;
  transform: translateX(-101%);
}
.p-others__contents-item:hover:before {
  transform: translateX(0%);
}
.p-others__contents-item-text {
  position: relative;
  z-index: 2;
  transition: color 0.3s ease-in-out;
}
.p-others__contents-item:hover .p-others__contents-item-text {
  color: #fff;
}
.p-service__link-sp {
  display: none;
}
.p-service__contents-list {
  display: flex;
  margin-bottom: var(--size-24);
  gap: var(--size-8);
  flex-wrap: wrap;
}
.p-service__contents-list-item {
  display: flex;
  align-items: center;
  width: calc(33.33% - var(--size-8) * 2 / 3);
  font-size: var(--size-12);
  font-weight: 700;
  line-height: 2;
}
.p-service__contents-list-item:has(.p-service__contents-list-text) {
  width: calc(66.66% - var(--size-8) / 2);
}
.p-service__contents-list-item .p-service__contents-list-text {
  flex: 1;
}
.p-service__contents-list-item:before {
  content: "";
  display: block;
  width: var(--size-12);
  height: var(--size-12);
  background: #42A8EE;
  border-radius: 50%;
  margin-right: var(--size-4);
}
.p-service__contents-list-text {
  width: 100%;
  font-size: var(--size-12);
  font-weight: 700;
  line-height: 1.5;
  color: #2F2F2F;
  margin-left: var(--size-12);
}
@media (max-width: 1024px) {
  .p-service__contents-item-img-text-wrapper {
    min-width: unset;
  }
  .p-service__contents-inner {
    gap: var(--size-16);
  }
  .p-service__contents-item {
    width: calc(50% - var(--size-16) / 2);
  }
  .p-service__link {
    display: none;
  }
  .p-service__link-sp {
    display: block;
    margin: var(--size-40) auto 0;
  }
}

@media (max-width: 768px) {
  .l-page-service {
    padding: 0 var(--size-16);
  }
  .l-page-service .l-main__wave5 {
    top: -13%;
  }
  .l-page-service .c-inner {
    padding: 0 var(--size-16);
  }
  .l-page-service .c-bg-gray {
    padding: var(--size-40) 0;
  }
  .p-service__contents-inner {
    flex-direction: column;
  }
  .p-service__contents-item {
    width: 100%;
  }
  .p-service__contents-item-list {
    flex-direction: column;
  }
  .p-service__contents-item-list-item {
    width: 100%;
  }
  .l-page-service .p-service__swiper {
    margin-top: 0;
  }
  .p-service__swiper {
    overflow: visible;
    margin-top: var(--size-24);
  }
  .p-service__contents-item-img {
    aspect-ratio: 257 / 151;
  }
  .p-service__swiper-controls {
    margin-top: var(--size-40);
  }
  .p-service__contents-item-img-text {
    font-size: var(--size-15);
    left: var(--size-14);
    top: var(--size-16);
    border-radius: 0;
    padding: 0;
  }
  .p-service__contents-item-img-text:before {
    display: none;
  }
  .p-service__contents-item-img-text:after {
    display: none;
  }
  .p-service__contents-item {
    padding: var(--size-16);
    border-radius: var(--size-16);
  }
  .p-service__contents-item-img-wrapper {
    border-radius: var(--size-8);
  }
  .p-service__contents-item-title {
    font-size: var(--size-16);
    margin: var(--size-8) 0;
  }
  .p-service__contents-item-text-copy {
    margin-bottom: var(--size-16);
    line-height: 1.8;
  }
  .p-others__contents {
    margin-top: var(--size-40);
    flex-direction: column;
    gap: var(--size-16);
  }
  .p-others__contents-item {
    width: 100%;
    padding: var(--size-24);
    border-radius: var(--size-16);
  }
  .p-others__contents-item-text {
    font-size: var(--size-16);
  }
  .p-service__contents-item-list-wrapper {
    align-items: flex-end;
  }
  .p-service__contents-item-img-text-small.c-only-pc {
    display: none;
  }
  .p-service__contents-item-list-title {
    margin-bottom: var(--size-8);
    font-size: var(--size-16);
    font-weight: 700;
  }
  .p-service__contents-item-list-item {
    width: 100%;
  }
  .p-service__contents-item-text-title {
    font-size: var(--size-16);
  }
  .p-service__contents-list {
    flex-direction: column;
  }
  .p-service__contents-list-item {
    width: 100%;
  }
  .p-service__contents-list-item:before {
    width: var(--size-8);
    height: var(--size-8);
  }
  .p-service__contents-list-item:has(.p-service__contents-list-text) {
    width: 100%;
    flex-wrap: wrap;
  }
  .p-service__contents-list-item:has(.p-service__contents-list-text) .p-service__contents-list-text {
    width: 100%;
    flex: unset;
  }
}

/* プロダクト */
.l-product {
  position: relative;
}
.l-main__wave3 {
  position: absolute;
  top: -150%;
  left: -4%;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.p-product__swiper {
  margin-top: var(--size-64);
  overflow: visible;
}
.p-product__swiper-controls {
  margin-top: var(--size-64);
  display: flex;
  justify-content: flex-start;
}
.p-product__swiper-slide {
  width: var(--size-400);
}
.p-product__swiper-slide-img-wrapper {
  border-radius: var(--size-16);
  border: 1px solid #B8B8B8;
  overflow: hidden;
  transition: opacity 0.3s ease-in-out;
}
.p-product__swiper-slide:hover .p-product__swiper-slide-img-wrapper {
  opacity: 0.5;
}
.p-product__swiper-slide-img {
  width: 100%;
  max-height: var(--size-200);
  object-fit: cover;
}
.p-product__swiper-slide-text-wrapper {
  transition: opacity 0.3s ease-in-out;
}
.p-product__swiper-slide:hover .p-product__swiper-slide-text-wrapper {
  opacity: 0.5;
}
.p-product__swiper-slide-read {
  margin: var(--size-16) 0 var(--size-8);
  font-size: var(--size-16);
  font-weight: 700;
}
.p-product__swiper-slide-title {
  margin-bottom: var(--size-12);
  font-size: var(--size-24);
  font-weight: 700;
  line-height: 1.2;
}
.p-product__swiper-slide-title-annotation {
  font-size: 70%;
}
.p-product__swiper-slide-text {
  font-size: var(--size-14);
  line-height: 2;
}
.p-product__link-sp {
  display: none;
}
.p-product__swiper-slide-button {
  margin-top: var(--size-24);
  max-width: var(--size-240);
}

@media (max-width: 1024px) {
  .p-product__swiper-slide {
    width: var(--size-320);
  }
  .p-product__swiper-controls {
    margin-top: var(--size-24);
  }
  .p-product__contents {
    padding: 0 var(--size-8);
  }
  .p-product__link {
    display: none;
  }
  .p-product__link-sp {
    display: block;
    margin: var(--size-40) auto 0;
  }
}

@media (max-width: 768px) {
  .p-product__contents {
    padding: 0 var(--size-32);
  }
  .p-product__swiper {
    margin-top: var(--size-40);
  }
  .p-product__swiper-slide {
    width: auto;
  }
  .p-product__swiper-controls {
    margin-top: var(--size-40);
  }
  .p-product__swiper-slide-img-wrapper {
    border-radius: var(--size-12);
  }
  .p-product__swiper-slide-read {
    margin: var(--size-12) 0 var(--size-8);
    font-size: var(--size-14);
  }
  .p-product__swiper-slide-title {
    margin-bottom: var(--size-8);
    font-size: var(--size-18);
  }
  .p-product__swiper-slide-text {
    font-size: var(--size-14);
    line-height: 1.8;
  }
  .l-main__wave3 {
    top: -162%;
    left: -88%;
  }
}

/* プロダクト 紹介 */
.l-product-introduction-inner {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--size-100);
  max-width: calc(var(--size-920) + var(--size-32) * 2);
  padding: var(--size-68) var(--size-32);
  margin: 0 auto;
}
.l-product-introduction__contents {
  width: var(--size-413);
}
.l-product-introduction__image {
  flex: 1;
}
.l-product-introduction__buttons {
  width: 100%;
}
.l-product-introduction__title {
  margin: var(--size-24) 0 var(--size-16);
  font-size: var(--size-18);
  font-weight: 700;
  line-height: 2;
}
.l-product-introduction__text {
  font-size: var(--size-14);
  line-height: 2;
}
.l-product-introduction__buttons {
  display: flex;
  gap: var(--size-24);
}
.l-product-introduction__buttons .c-button {
  min-width: var(--size-258);
}

@media (max-width: 768px) {
  .l-product-introduction-inner {
    padding: var(--size-32) var(--size-16);
    flex-direction: column;
    gap: 0;
  }
  .l-product-introduction__image {
    order: -1;
  }
  .l-product-introduction__contents {
    width: 100%;
  }
  .l-product-introduction__title {
    margin: var(--size-24) 0 var(--size-16);
  }
  .l-product-introduction__buttons {
    flex-direction: column;
    gap: var(--size-16);
  }
  .l-product-introduction__buttons .c-button {
    width: 100%;
  }
}

/* お知らせ */
.p-news__contents-inner {
  padding: var(--size-24) 0;
}
.p-news__contents-item {
  display: flex;
  gap: var(--size-64);
  padding: var(--size-24) 0;
  border-bottom: 1px solid #B8B8B8;
  align-items: center;
  transition: opacity 0.3s ease-in-out;
  position: relative;
  z-index: 2;
}
.p-news__contents-item:hover {
  opacity: 0.5;
}
.p-news__contents-item:last-child {
  border-bottom: none;
}
.p-news__contents-item-date {
  font-size: var(--size-18);
  color: #707070;
}
.p-news__contents-item-title {
  font-size: var(--size-18);
  font-weight: 700;
  line-height: 2.22;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}
.p-news__link-sp {
  display: none;
}

@media (max-width: 1024px) {
  .p-news__link {
    display: none;
  }
  .p-news__link-sp {
    display: block;
    margin: var(--size-40) auto 0;
  }
}

@media (max-width: 768px) {
  .p-news__contents-inner {
    padding: var(--size-16);
  }
  .p-news__contents-item {
    padding: var(--size-12) 0;
    flex-direction: column;
    gap: 0;
    align-items: flex-start;
  }
  .p-news__contents-item-date {
    font-size: var(--size-12);
  }
  .p-news__contents-item-title {
    font-size: var(--size-14);
    line-height: 1.8;
    -webkit-line-clamp: 2;
    white-space: normal;
    -webkit-box-orient: vertical;
    overflow: hidden;
    display: -webkit-box;
  }
}

/* リンク */
.l-links {
  position: relative;
}
.l-main__wave4 {
  position: absolute;
  top: -27%;
  left: 36%;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.p-links__list {
  display: flex;
  gap: var(--size-40);
  flex-wrap: wrap;
}
.p-links__item {
  width: 100%;
}
.p-links__item.u-half-width {
  width: calc(50% - var(--size-40) / 2);
}
.p-links__banner {
  display: flex;
  /* flex-direction: column; */
  gap: var(--size-40);
}
.p-links__banner-item {
  position: relative;
  width: 100%;
  background-color: #000;
  color: #fff;
  border-radius: var(--size-16);
}
.p-links__banner-item img {
  border-radius: var(--size-16);
  overflow: hidden;
}
.p-links__banner-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.4;
  border-radius: var(--size-16);
}
.u-recruit .p-links__banner-bg {
  object-position: calc(100% + var(--size-250));
}
.p-links__banner-inner {
  max-width: calc(var(--size-834) + var(--size-24) * 2);
    margin-left: auto;
    margin-right: auto;
    padding: 0 var(--size-24);
}
.p-links__banner-inner-wrapper {
  padding: var(--size-128) 0;
  position: relative;
  z-index: 2;
}
.p-links__banner-text {
  padding: var(--size-48) 0 var(--size-64);
  font-size: var(--size-18);
  font-weight: 700;
  line-height: 2;
  position: relative;
  z-index: 2;
}
@media (max-width: 1024px) {
  .p-links__banner-inner-wrapper {
    padding: var(--size-64) 0;
  }
  .p-links__banner {
    flex-direction: column;
  }
}

@media (max-width: 768px) {
  .l-links .c-inner{
    padding: 0 var(--size-16);
  }
  .p-links__list {
    gap: var(--size-16);
    flex-direction: column;
  }
  .p-links__item.u-half-width {
    width: 100%;
  }
  .p-links__banner-inner {
    padding: 0;
  }
  .p-links__banner-inner-wrapper {
    padding: var(--size-96) var(--size-32);
  }
  .p-links__banner {
    margin: 0 var(--size-16);
    gap: var(--size-16);
  }
  .p-links__banner-text {
    padding: 0;
    margin-bottom: var(--size-40);
    font-size: var(--size-14);
    line-height: 1.8;
  }
  .p-links__banner-bg {
    object-position: left;
  }
  .l-main__wave4 svg {
    width: 380px;
  }
  .l-main__wave4 {
    top: -32%;
    left: 44%;
  }
}

/* トピックス */
.l-topics {
  position: relative;
}
.l-main__wave5 {
  position: absolute;
  top: -160%;
  right: 64%;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.l-main__wave6 {
  position: absolute;
  z-index: -1;
  top: -53%;
  left: -8%;
  rotate: -30deg;
}
.p-topics__swiper {
  overflow: visible;
}
.p-topics__swiper-slide {
  width: var(--size-400);
  transition: opacity 0.3s ease-in-out;
}
.p-topics__swiper-slide:hover {
  opacity: 0.5;
}
.p-topics__swiper-slide-img-wrapper {
  padding: var(--size-8);
  border-radius: var(--size-16);
  border: 1px solid #B8B8B8;
  aspect-ratio: 330 / 225;
}
.p-topics__swiper-slide-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--size-16);
  object-position: top;
}
.p-topics__swiper-slide-date {
  display: block;
  font-size: var(--size-16);
  font-weight: 700;
  margin-top: var(--size-16);
}
.p-topics__swiper-slide-title {
  margin-top: var(--size-8);
  font-size: var(--size-16);
  font-weight: 700;
  line-height: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  display: -webkit-box;
}
.p-topics__swiper-controls {
  margin-top: var(--size-64);
  display: flex;
  justify-content: flex-start;
}
.p-topics__link-sp {
  display: none;
}
.p-topics__image {
  padding: var(--size-48) var(--size-96);
  background-color: #F7F7F7;
  border-radius: var(--size-24);
}
.p-topics__image img {
  object-fit: contain;
  height: 100%;
}

@media (max-width: 1024px) {
  .p-topics__link {
    display: none;
  }
  .p-topics__link-sp {
    display: block;
    margin: var(--size-40) auto 0;
  }
}

@media (max-width: 768px) {
  .p-topics__contents {
    padding: 0 var(--size-32);
  }
  .l-main__wave5 {
    top: -125%;
    right: 153%;
  }
  .l-main__wave5 svg {
    width: var(--size-900);
  }
  .p-topics__swiper-slide-img {
    border-radius: var(--size-14);
  }
  .p-topics__swiper-slide-title {
    margin-top: var(--size-16);
  }
  .p-topics__swiper-controls {
    margin-top: var(--size-24);
  }
  .p-topics__image {
    padding: var(--size-24) var(--size-16);
    border-radius: var(--size-8);
  }
}

/* 会社リンク */
.p-company-links__list {
  display: flex;
  gap: var(--size-40);
  flex-wrap: wrap;
  align-items: stretch;
}
.p-company-links__item {
  width: calc(50% - var(--size-40) / 2);
}

@media (max-width: 1024px) {
  .p-company-links__list {
    flex-direction: column;
  }
  .p-company-links__item {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .p-company-links__list {
    gap: var(--size-16);
  }
}

/* 会社概要 */
.p-overview__inner {
  display: flex;
  gap: var(--size-96);
}
.p-overview__inner-contents {
  width: 50%;
  max-width: var(--size-640);
  margin-top: var(--size-80);
}
.p-overview__text {
  font-size: var(--size-16);
  line-height: 2.5;
  margin: var(--size-40) 0 var(--size-80);
}
.p-overview__inner-table {
  position: relative;
}
.p-overview__inner-table:before {
  content: '';
  position: absolute;
  top: -128px;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% + var(--size-80));
  max-width: 1280px;
  height: 100%;
  background-color: #fff;
  z-index: -1;
  border-radius: var(--size-32);
  padding: 0 var(--size-32);
}
.p-message__inner-image {
  flex: 1;
}
.p-message__inner-image-img.u-overview {
  position: relative;
  max-height: 100%;
  object-fit: cover;
  border-radius: var(--size-24) 0 0 var(--size-24);
}
.p-overview__inner-table .l-main__wave5 {
  position: absolute;
  top: 65%;
  left: 69%;
  width: calc(100% - var(--size-64));
  width: 115%;
  height: 100%;
  rotate: -12deg;
  transform: translate(-50%, -50%);
}
.p-overview__inner-table .l-main__wave5 svg {
  width: 100%;
  height: 100%;
}
.p-overview__list {
  list-style: disc;
}
.p-overview__list-item {
  margin-left: var(--size-24);
  font-size: var(--size-14);
  font-weight: 400;
}
.p-overview__strong {
  display: block;
}
.p-overview__strong:not(:first-child) {
  margin-top: var(--size-16);
}

@media (max-width: 1024px) {
  .p-overview__inner {
    flex-direction: column;
  }
  .p-overview__inner-contents {
    margin-top: var(--size-64);
    width: 100%;
    max-width: unset;
    padding-right: var(--size-32);
  }
}

@media (max-width: 768px) {
  .p-overview__inner {
    gap: var(--size-64);
  }
  .p-overview__inner-table {
    padding: 0 var(--size-12);
  }
  .p-overview__inner-table:before {
    top: -64px;
    border-radius: var(--size-16);
    width: calc(100% + var(--size-64));
  }
  .p-overview__text {
    font-size: var(--size-14);
    margin: var(--size-32) 0 0;
  }
  .p-overview__inner-table .l-main__wave5 {
    width: 1000px;
    top: 56%;
    left: 100%;
  }
  .p-overview__strong:not(:first-child) {
    margin-top: var(--size-12);
  }
}

/* 沿革 */
.p-history__inner-contents {
  position: relative;
}
.p-history__inner-contents .l-main__wave3 {
  position: absolute;
  top: 56%;
  left: -54%;
  width: 125%;
  height: 100%;
}
.p-history__inner-contents .l-main__wave3 svg {
  width: 100%;
  height: 100%;
}
.p-history__inner-contents .l-main__wave5 {
  position: absolute;
  top: -18%;
  left: 41%;
  width: 200%;
  height: 100%;
}
.p-history__inner-contents .l-main__wave5 svg {
  width: 100%;
  height: 100%;
}
.p-history__contents {
  position: relative;
}
.p-history__contents:before {
  content: '';
  position: absolute;
  top: var(--size-14);
  left: var(--size-240);
  width: var(--size-1);
  height: calc(100% - var(--size-28));
  background-color: #2298E8;
}
.p-history__contents-item {
  display: flex;
  align-items: center;
  gap: var(--size-80);
  margin: var(--size-64) 0 0;
}
.p-history__contents-item.u-blue {
  color: #2298E8;
}
.p-history__contents-item-title {
  position: relative;
  font-size: var(--size-16);
  font-weight: 700;
  line-height: 2;
  width: var(--size-240);
}
.p-history__contents-item-title:before {
  content: '';
  position: absolute;
  top: 50%;
  left: calc(100% - var(--size-3));
  transform: translateY(-50%);
  width: var(--size-7);
  height: var(--size-7);
  background-color: #2298E8;
  border-radius: 50%;
}
.p-history__contents-item-title:after {
  content: '';
  position: absolute;
  top: 50%;
  left: calc(100% - var(--size-8));
  transform: translateY(-50%);
  width: var(--size-17);
  height: var(--size-17);
  background-color: #2298E8;
  border-radius: 50%;
  opacity: 0.3;
}
.p-history__contents-item-text {
  font-size: var(--size-16);
  font-weight: 700;
  line-height: 2;
  flex: 1;
}
.p-history__contents-item-text-small {
  font-size: var(--size-14);
  font-weight: 400;
}

@media (max-width: 768px) {
  .p-history__contents:before {
    left: var(--size-120);
    top: var(--size-8);
    height: calc(100% - var(--size-16));
  }
  .p-history__contents-item {
    gap: var(--size-24);
  }
  .p-history__contents-item-title {
    width: var(--size-120);
    font-size: var(--size-12);
  }
  .p-history__contents-item-text {
    font-size: var(--size-12);
  }
  .p-history__contents-item-text-small {
    font-size: var(--size-10);
  }
  .p-history__contents-item-text .c-text-link {
    font-size: var(--size-12);
  }
  .p-history__inner-contents .l-main__wave3 {
    position: absolute;
    top: 83%;
    left: -97%;
    width: 180%;
    height: 500px;
  }
  .p-history__inner-contents .l-main__wave5 {
    height: 500px;
    top: 6%;
    left: 0;
  }
}

/* 健康優良企業 */
.l-company-health {
  position: relative;
}
.l-company-health .l-main__wave3 {
  position: absolute;
  top: -32%;
  left: 21%;
  rotate: -26deg;
  width: 2000px;
  height: 2000px;
}
.l-company-health .l-main__wave3 svg {
  width: 100%;
  height: 100%;
}
.p-health__inner-contents {
  display: flex;
  gap: var(--size-96);
}
.p-health__inner-contents-title {
  width: var(--size-308);
}
.p-health__inner-contents-text {
  flex: 1;
  position: relative;
  top: -14px;
}
.p-health__inner-read {
  font-size: var(--size-32);
  font-weight: 700;
  line-height: 2;
}
.p-health__inner-text {
  font-size: var(--size-16);
  line-height: 2.5;
}
.p-health__inner-about-title {
  display: flex;
  gap: var(--size-96);
}
.p-health__inner-about-text {
  flex: 1;
  font-size: var(--size-14);
  line-height: 2.28;
}
.p-health__inner-about-read {
  font-weight: 700;
  font-size: var(--size-18);
  line-height: 2;
}
.p-health__inner-about-text-wrapper {
  padding: var(--size-68) var(--size-80);
}
.p-health__inner-about-text-wrapper.u-recruit {
  display: flex;
  gap: var(--size-14);
  align-items: center;
}
.u-recruit .p-health__inner-about-text-wrapper-image-wrapper {
  width: var(--size-268);
}
.u-recruit .p-health__inner-about-text-wrapper-inner {
  flex: 1;
}
@media (max-width: 1024px) {
  .p-health__inner-contents,
  .p-health__inner-about-text-wrapper.u-recruit  {
    flex-direction: column;
    gap: var(--size-64);
  }
  .p-health__inner-contents-title {
    width: 100%;
  }
  .p-health__inner-contents-text {
    padding-right: 0;
  }
  .p-health__inner-about-title {
    flex-direction: column;
    gap: var(--size-32);
  }
  .p-health__inner-about-text {
    padding-right: 0;
  }
  .p-health__inner-about-text-wrapper {
    padding: var(--size-68) var(--size-32);
  }
}

@media (max-width: 768px) {
  .p-health__inner-contents {
    gap: var(--size-64);
  }
  .p-health__inner-contents-title {
    width: 100%;
  }
  .p-health__inner-contents-text {
    padding-right: 0;
  }
  .p-health__inner-read {
    font-size: var(--size-24);
    margin-bottom: var(--size-16);
  }
  .p-health__inner-text {
    font-size: var(--size-14);
  }
  .p-health__inner-about-title {
    gap: var(--size-32);
  }
  .p-health__inner-about-text {
    padding-right: 0;
  }
  .p-health__inner-about-text-wrapper {
    padding: var(--size-32) var(--size-16);
  }
}

/* 新聞折込広告 */
.p-reach-graph {
  max-width: var(--size-672);
  margin: var(--size-32) auto 0;
}
.p-reach-graph__inner {
  display: flex;
  gap: var(--size-24);
  justify-content: center;
  margin-bottom: var(--size-32);
}

@media (max-width: 768px) {
  .p-reach-graph {
    width: 100%;
  }
  .p-reach-graph__inner {
    flex-wrap: wrap;
    gap: var(--size-16);
    justify-content: center;
  }
  .p-reach-graph-item {
    width: calc(50% - var(--size-16) / 2);
  }
  .p-reach-graph__inner-item-text {
    font-size: var(--size-12);
  } 
}

/* 新聞折込広告 集客効果 */
.p-ad__rate {
  margin-top: var(--size-32);
  display: flex;
  gap: var(--size-28);
  font-weight: 700;
  align-items: flex-start;
}
.p-ad__rate-strong {
  font-size: var(--size-24);
  display: block;
  width: 3em;
  line-height: 1.5;
}
.p-ad__rate-span {
  font-size: var(--size-16);
  line-height: 2;
  flex: 1;
}
.p-ad__button {
  width: 100%;
}

@media (max-width: 768px) {
  .p-ad__rate {
    margin-top: var(--size-24);
  }
}

/* ポスティング */
.p-page__posting-inner {
  display: flex;
}
.p-page__posting-text-wrapper {
  width: var(--size-556);
}
.p-page__posting-inner-image {
  position: relative;
  right: -64px;
  width: var(--size-520);
  border-radius: var(--size-8);
  border: solid 1px #DDDDDD;
  padding: var(--size-40) var(--size-58);
}
.p-page__posting-text-title {
  margin-bottom: var(--size-24);
  font-size: var(--size-18);
  font-weight: 700;
  line-height: 2;
}
.p-page__posting-text-text {
  font-size: var(--size-14);
  line-height: 2;
}
.p-page__posting-list-item {
  padding: var(--size-40) var(--size-60);
  background-color: #F9FBFB;
  border-radius: var(--size-16);
  display: flex;
  gap: var(--size-60);
}
.p-page__posting-list-item:not(:first-child) {
  margin-top: var(--size-40);
}
.p-page__posting-list-item-title {
  font-size: var(--size-20);
  font-weight: 700;
  width: var(--size-360);
}
.p-page__posting-list-item-text {
  font-size: var(--size-14);
  line-height: 2;
  flex: 1;
}
.p-posting-case__list-item {
  display: flex;
  gap: var(--size-56);
}
.p-posting-case__list-item:not(:first-child) {
  margin-top: var(--size-24);
}
.p-posting-case__list-item-image {
  position: relative;
  right: -64px;
  width: var(--size-400);
  border-radius: var(--size-8);
  border: solid 1px #DDDDDD;
  padding: var(--size-27) var(--size-40);
}
.p-posting-case__list-item-contents {
  flex: 1;
}
.p-posting-case__list-item-title-inner {
  display: flex;
  gap: var(--size-8);
}
.p-posting-case__list-item-title-inner-title {
  font-size: var(--size-18);
  line-height: 2;
  font-weight: 700;
  width: var(--size-90);
}
.p-posting-case__list-item-title-inner-text {
  font-size: var(--size-18);
  line-height: 2;
  font-weight: 700;
  flex: 1;
}
.p-posting-case__list-item-title-inner-text-small {
  font-size: var(--size-12);
  line-height: 3;
  font-weight: 500;
}
.p-posting-case__list-item-title-inner-text:before {
  content: '：';
}
.p-posting-case__list-item-text {
  margin-top: var(--size-14);
  font-size: var(--size-14);
  line-height: 2;
}
@media (max-width: 1280px) {
  .p-page__posting-inner {
    gap: var(--size-24);
  }
  .p-page__posting-inner-image {
    right: 0;
    flex: 1;
  }
  .p-posting-case__list-item-image {
    right: 0;
    flex: 1;
  }
}

@media (max-width: 1024px) {
  .p-page__posting-inner {
    flex-direction: column;
  }
  .p-page__posting-text-wrapper {
    width: 100%;
  }
  .p-page__posting-inner-image {
    width: 100%;
    max-width: var(--size-500);
    margin: 0 auto;
  }
  .p-page__posting-list-item {
    flex-direction: column;
    gap: var(--size-24);
  }
  .p-posting-case__list-item-image {
    right: 0;
    width: 100%;
    max-width: var(--size-500);
    margin: 0 auto;
  }
  .p-page__posting-list-item-title {
    width: 100%;
  }
  .p-posting-case__list-item {
    flex-direction: column;
    gap: var(--size-24);
  }
  .p-posting-case__list-item-image {
    right: 0;
    width: 100%;
    max-width: var(--size-500);
    margin: 0 auto;
  }
}
@media (max-width: 768px) {
  .p-page__posting-inner {
    flex-direction: column;
    gap: var(--size-24);
  }
  .p-page__posting-inner-image {
    position: relative;
    right: 0;
    width: 100%;
    padding: var(--size-24);
  }
  .p-page__posting-text-wrapper {
    width: 100%;
  }
  .p-page__posting-text-title {
    font-size: var(--size-16);
  }
  .p-page__posting-list-item {
    padding: var(--size-24) var(--size-32);
  }
  .p-page__posting-list-item-title {
    font-size: var(--size-16);
  }
  .p-page__posting-list-item-text {
    font-size: var(--size-14);
  }
  .p-posting-case__list-item-title-inner-title {
    font-size: var(--size-14);
  }
  .p-posting-case__list-item-title-inner-text {
    font-size: var(--size-14);
  }
  .p-page__posting-list-item:not(:first-child) {
    margin-top: var(--size-16);
  }
  .p-posting-case__list-item-text {
    font-size: var(--size-12);
  }
}

/* フリーペーパー */
.p-freepaper-case__list-item {
  display: flex;
  gap: var(--size-60);
}
.p-freepaper-case__list-item-image {
  width: var(--size-480);
}
.p-freepaper-case__list-item-contents {
  flex: 1;
}
.p-freepaper-case__list-item-title-inner {
  display: flex;
  gap: var(--size-16);
}
.p-freepaper-case__list-item-title-inner-title {
  font-size: var(--size-18);
  line-height: 2;
  font-weight: 700;
}
.p-freepaper-case__list-item-title-inner-title:after {
  content: ':';
}
.p-freepaper-case__list-item-title-inner-text {
  font-size: var(--size-18);
  line-height: 2;
  flex: 1;
  font-weight: 700;
}
.p-freepaper-case__list-item-title-inner-text-title {
  padding-right: 1em;
}
.p-freepaper-case__list-item-title-inner-text-table {
  padding-left: 1em;
}
.p-freepaper-case__list-item-text {
  margin-bottom: var(--size-24);
  font-size: var(--size-14);
  line-height: 2;
}

@media (max-width: 1024px) {
  .p-freepaper-case__list-item {
    flex-direction: column;
    gap: var(--size-24);
  }
  .p-freepaper-case__list-item-image {
    width: 100%;
    max-width: var(--size-500);
    margin: 0 auto;
  }
}

@media (max-width: 768px) {
  .p-freepaper-case__list-item {
    gap: var(--size-24);
  }
  .p-freepaper-case__list-item-image {
    width: 100%;
    max-width: var(--size-500);
    margin: 0 auto;
  }
  .p-freepaper-case__list-item-title-inner-title {
    font-size: var(--size-16);
  }
  .p-freepaper-case__list-item-title-inner-text {
    font-size: var(--size-16);
  }
  .p-freepaper-case__list-item-text {
    font-size: var(--size-14);
    margin-bottom: var(--size-16);
  }
}

/* 新聞販売店ポスティング */
.p-page__newsagentsad-item {
  display: flex;
  gap: var(--size-60);
  padding: var(--size-24) var(--size-60);
  background-color: #F9FBFB;
  border-radius: var(--size-16);
  justify-content: space-between;
  align-items: center;
}
.p-page__newsagentsad-item:not(:first-child) {
  margin-top: var(--size-24);
}
.p-page__newsagentsad-text-wrapper {
  width: var(--size-640);
}
.p-page__newsagentsad-inner-image {
  width: var(--size-163);
}
.p-page__newsagentsad-text-title {
  font-size: var(--size-18);
  margin-bottom: var(--size-24);
}
.p-page__newsagentsad-text-text {
  font-size: var(--size-14);
  line-height: 2;
}

@media (max-width: 768px) {
  .p-page__newsagentsad-item {
    flex-direction: column;
    gap: var(--size-24);
    padding: var(--size-24) var(--size-32);
    border-radius: var(--size-8);
  }
  .p-page__newsagentsad-text-wrapper {
    width: 100%;
  }
  .p-page__newsagentsad-inner-image {
    width: 100%;
    max-width: var(--size-500);
    margin: 0 auto;
  }
  .p-page__newsagentsad-inner-image {
    margin-bottom: var(--size-16);
  }
}

/* ジオターゲティング広告 */
.p-page__geotargetingad-list {
  display: flex;
  justify-content: space-between;
  gap: var(--size-96);
}
.p-page__geotargetingad-item {
  width: calc(33.33% - var(--size-60) * 2 / 3);
}
.p-page__geotargetingad-inner-image {
  position: relative;
  width: 100%;
}
.p-page__geotargetingad-inner-image-img {
  border-radius: var(--size-8);
  overflow: hidden;
  aspect-ratio: 336 / 204;
  object-fit: cover;
}
.p-page__geotargetingad-item:not(:last-child) .p-page__geotargetingad-inner-image:after {
  content: '';
  position: absolute;
  top: 50%;
  left: calc(100% + var(--size-24));
  transform: translateY(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
  width: var(--size-48);
  height: var(--size-48);
  background: url(../../assets/img/arrow.png) no-repeat center;
  background-size: contain;
}
.p-page__geotargetingad-text-number {
  margin: var(--size-16) 0 var(--size-8);
  font-size: var(--size-24);
}
.p-page__geotargetingad-text-title {
  font-size: var(--size-18);
  margin-bottom: var(--size-24);
  line-height: 1.5;
  font-weight: 700;
}
.p-page__geotargetingad-list-number {
  list-style: decimal;
  font-size: var(--size-14);
  line-height: 1.5;
}
.p-page__geotargetingad-list-item {
  margin-left: var(--size-16);
  margin-bottom: 1em;
}

@media (max-width: 768px) {
  .p-page__geotargetingad-list {
    flex-direction: column;
    gap: var(--size-60);
  }
  .p-page__geotargetingad-item:not(:last-child) .p-page__geotargetingad-inner-image:after {
    display: none;
  }
  .p-page__geotargetingad-item {
    position: relative;
    width: 100%;
    max-width: var(--size-500);
    margin: 0 auto;
  }
  .p-page__geotargetingad-item:not(:last-child):after {
    content: '';
    position: absolute;
    top: calc(100% + var(--size-24));
    left: 44%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: var(--size-48);
    height: var(--size-48);
    background: url(../../assets/img/arrow.png) no-repeat center;
    background-size: contain;
    rotate: 90deg;
  }
  .p-page__geotargetingad-text-number {
    margin: var(--size-12) 0 var(--size-8);
    font-size: var(--size-20);
  }
  .p-page__geotargetingad-text-title {
    font-size: var(--size-16);
    margin-bottom: var(--size-12);
  }
  .p-page__geotargetingad-text-text {
    font-size: var(--size-14);
  }
  .p-page__geotargetingad-list-item {
    margin-bottom: var(--size-8);
  }

}


/* アクセス */
.l-access {
  position: relative;
}
.l-access .l-main__wave3 {
  position: absolute;
  top: -10%;
  left: -48%;
  
}
.p-access__header-wrapper {
  flex: 1;
}
.p-access__inner {
  display: flex;
  gap: var(--size-80);
}
.p-access__inner:not(:first-child) {
  margin-top: var(--size-128);
}
.p-access__inner-title-wrapper {
  padding: 0 var(--size-32);
}
.p-access__inner-title-wrapper .p-access__title {
  font-size: var(--size-32);
}
.p-access__header {
  display: flex;
  flex-direction: column;
  gap: var(--size-24);
  flex: 1;
}
.p-access__title {
  font-size: var(--size-24);
  width: 100%;
}
.p-access__header-inner-table {
  width: 100%;
}
.p-access__header-inner {
  flex: 1;
}
.p-access__header-inner-table-item {
  padding: var(--size-16) 0;
  display: flex;
  border-bottom: 1px solid #C4C4C4;
}
.p-access__header-inner-table-item:first-child {
  padding-top: 0;
}
.p-access__header-inner-table-item:last-child {
  border-bottom: none;
}
.p-access__header-inner-table-item-title {
  font-size: var(--size-16);
  line-height: 2;
  font-weight: 400;
  width: var(--size-100);
}
.p-access__header-inner-table-item-text {
  font-size: var(--size-16);
  line-height: 2;
  font-weight: 700;
  flex: 1;
}
.p-access__inner-map {
  width: var(--size-600);
}
.p-access__inner-map iframe {
  width: 100%;
  height: var(--size-320);
  border-radius: var(--size-16);
}
.p-access__header-inner-table-item-text-link {
  color: #2298E8;
  text-decoration: underline;
  transition: opacity 0.3s ease-in-out;
}
.p-access__header-inner-table-item-text-link:hover {
  opacity: .5;
}

@media (max-width: 1240px) {
  .p-access__inner {
    flex-direction: column;
  }
  .p-access__inner-map {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .p-access__inner {
    gap: var(--size-24);
  }
  .p-access__header-inner-table-item {
    padding: var(--size-12) 0;
  }
  .p-access__header-inner-table-item-title {
    font-size: var(--size-14);
    width: var(--size-64);
  }
  .p-access__header-inner-table-item-text {
    font-size: var(--size-14);
  }
  .p-access__inner-map iframe {
    height: var(--size-240);
    border-radius: var(--size-8);
  }
  .p-access__inner-title-wrapper {
    padding: 0;
  }
  .p-access__inner-title-wrapper .p-access__title {
    font-size: var(--size-20);
  }
  .p-access__title {
    font-size: var(--size-16);
  }
  .p-access__inner:not(:first-child) {
    margin-top: 0;
  }
}
/* SDGs */
.l-sdgs__section {
 position: relative;
}
.l-sdgs__section .l-main__wave3 {
  top: -160%;
  left: 20%;
}
.u-wave2 .l-main__wave3 {
  top: 10%;
  left: -113%;
  rotate: -54deg;
}
.l-main__wave4 path {
  fill: #f1f8f9;
}
.u-wave3 .l-main__wave6 {
  position: absolute;
  z-index: -1;
  top: -53%;
  left: -8%;
  rotate: -30deg;
}
.u-wave3 .l-main__wave6 svg {
  width: 1500px;
  height: 1700px;
}

@media (max-width: 768px) {
  .l-sdgs__section .l-main__wave3 {
    top: -85%;
    left: -80%;
  }
  .l-sdgs__section.u-wave2 .l-main__wave3 {
    top: 51%;
    left: -107%;
  }
  .u-wave2 .l-main__wave3 svg {
    width: 1000px;
    height: 1000px;
  }
}

/* プロダクト */
.p-product__list {
  display: flex;
  column-gap: var(--size-24);
  row-gap: var(--size-68);
  flex-wrap: wrap;
}
.p-product__card {
  width: calc(50% - var(--size-24) / 2);
}
.p-product__card:hover .p-product__swiper-slide-img-wrapper {
  opacity: .5;
}
.p-product__card:hover .p-product__swiper-slide-text-wrapper {
  opacity: .5;
}
@media (max-width: 768px) {
  .p-product__list {
    flex-direction: column;
    max-width: var(--size-500);
    margin: 0 auto;
    gap: var(--size-64);
  }
  .p-product__card {
    width: 100%;
  }
  .p-product__card .p-product__swiper-slide-img-wrapper {
    width: calc(100% + var(--size-16) * 2);
    margin-left: calc(var(--size-16) * -1);
  }
  .l-page-read__text.u-product {
    display: none;
  }
}

/* プロダクト アイリーチ */
.p-geo-targeting__title {
  font-size: var(--size-20);
  line-height: 1.8;
  font-weight: 700;
}
.p-geo-targeting__list {
  display: flex;
  gap: var(--size-40);
  flex-wrap: wrap;
}
.p-geo-targeting__contents {
  background-color: #fff;
  padding: var(--size-32);
  border-radius: var(--size-16);
  border: solid 1px var(--green);
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--size-24);
  text-align: center;
}
.p-geo-targeting__item {
  display: flex;
  flex-direction: column;
  gap: var(--size-24);
}
.p-geo-targeting__item.u-half-width {
  width: calc(50% - var(--size-40) / 2);
  flex: 1;
}
.p-geo-targeting__item.u-full-width {
  width: 100%;
}
.p-geo-targeting__contents-title {
  font-size: var(--size-20);
  line-height: 2;
  font-weight: 700;
  text-align: center;
}
.p-geo-targeting__contents-title.c-font-itc {
  font-size: var(--size-23);
}
.p-geo-targeting__contents-text {
  font-size: var(--size-16);
  font-weight: 700;
  line-height: 2;
}
.p-geo-targeting__contents-text-small {
  font-size: var(--size-14);
  font-weight: 700;
  line-height: 2.28;
}
.p-geo-targeting__contents-image {
  width: 100%;
  max-width: var(--size-787);
  margin: 0 auto;
}

@media (max-width: 768px) {
  .p-geo-targeting__list {
    flex-direction: column;
    gap: var(--size-24);
  }
  .p-geo-targeting__item.u-half-width {
    width: 100%;
  }
  .p-geo-targeting__item {
    gap: var(--size-8);
  }
  .p-geo-targeting__title {
    font-size: var(--size-18);
  }
  .p-geo-targeting__contents {
    padding: var(--size-24) var(--size-16);
    gap: var(--size-16);
  }
  .p-geo-targeting__contents-title {
    line-height: 1.2;
  }
}

/* プロダクト アイポス */
.p-eyeposs__contents-title {
  font-size: var(--size-18);
  width: var(--size-340);
}
.p-eyeposs__contents-read {
  font-size: var(--size-18);
  font-weight: 700;
  line-height: 2;
  margin-bottom: var(--size-16);
}
.p-eyeposs__contents-text {
  font-size: var(--size-14);
  line-height: 2;
}
.p-eyeposs__contents-header {
  display: flex;
}
.p-eyeposs__contents-image {
  margin-top: var(--size-24);
}
.p-eyeposs__contents-images {
  display: flex;
  gap: var(--size-24);
}
.p-eyeposs__contents-image {
  padding: var(--size-20);
  background-color: #fff;
  border-radius: var(--size-12);
  border: solid 1px #2298E8;
}
.p-eyeposs__contents-list-item {
  position: relative;
  padding-left: 1em;
  font-size: var(--size-14);
  line-height: 2;
}
.p-eyeposs__contents-list-item:before {
  content: "・";
  position: absolute;
  left: 0;
}

@media (max-width: 768px) {
  .p-eyeposs__contents-header {
    flex-direction: column;
    gap: var(--size-24);
  }
  .p-eyeposs__contents-title {
    width: 100%;
  }
  .p-eyeposs__contents-images {
    flex-direction: column;
    gap: 0;
  }
  .p-eyeposs__contents-image {
    padding: var(--size-12);
  }
  .p-eyeposs__contents-read {
    margin-bottom: var(--size-12);
    font-size: var(--size-14);
  }
  .p-eyeposs__contents-list-item {
    font-size: var(--size-14);
  }
}

/* プロダクト アイメオ */
.p-eyemeo__contents {
  display: flex;
  gap: var(--size-48);
  flex-wrap: wrap;
}
.p-eyemeo__contents-header {
  width: var(--size-360);
  font-size: var(--size-18);
  font-weight: 700;
  line-height: 2;
}
.p-eyemeo__contents-title {
  width: 100%;
  margin-bottom: var(--size-32);
  font-size: var(--size-18);
}
.p-eyemeo__contents-images {
  flex: 1;
  display: flex;
  gap: var(--size-24);
  flex-wrap: wrap;
}
.p-eyemeo__contents-image {
  width: calc(33.33% - var(--size-24) * 2 / 3);
}
.p-eyemeo__contents-image.u-full {
  width: 100%;
}
.p-eyemeo__list {
  display: flex;
  gap: var(--size-24);
  flex-wrap: wrap;
}
.p-eyemeo__list-item {
  width: calc(50% - var(--size-24) / 2);
  padding: var(--size-40) var(--size-56);
  background-color: #fff;
  border-radius: var(--size-16);
  border: solid 1px var(--green);
}
.p-eyemeo__list-contents-title {
  margin-bottom: var(--size-20);
  font-size: var(--size-18);
  font-weight: 700;
  line-height: 2;
}
.p-eyemeo__list-contents-list {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(3, auto);
  column-gap: var(--size-32);
  row-gap: var(--size-8);
  justify-items: start;
  justify-content: start;
}
.p-eyemeo__list-contents-list-item {
  margin-left: var(--size-16);
  list-style: disc;
  font-size: var(--size-14);
  font-weight: 700;
  line-height: 2;
}
.p-eyemeo__contents-gray {
  background-color: #D6D6D6;
  border-radius: var(--size-16);
  padding: var(--size-80) var(--size-32);
}
.p-eyemeo__contents-gray-list {
  display: flex;
  flex-direction: column;
  gap: var(--size-18);
}
.p-eyemeo__contents-gray-list-item {
  display: flex;
  padding: var(--size-40);
  gap: var(--size-60);
  background-color: #fff;
  border-radius: var(--size-16);
  border: solid 1px var(--green);
  flex-wrap: wrap;
}
.p-eyemeo__contents-gray-list-item.u-image-full {
  gap: var(--size-24);
}
.p-eyemeo__contents-gray-list-item-content {
  width: var(--size-480);
}
.u-image-full .p-eyemeo__contents-gray-list-item-content {
  width: 100%;
}
.p-eyemeo__contents-gray-list-item-image {
  flex: 1;
}
.u-image-full .p-eyemeo__contents-gray-list-item-image {
  flex: unset;
  width: var(--size-713);
  margin: auto;
}
.p-eyemeo__contents-gray-list-item-title {
  margin-bottom: var(--size-24);
  font-size: var(--size-18);
  font-weight: 700;
  line-height: 2;
}
.p-eyemeo__contents-gray-list-item-text {
  font-size: var(--size-14);
  line-height: 2;
}

@media (max-width: 1024px) {
  .p-eyemeo__contents {
    flex-direction: column;
    gap: var(--size-24);
  }
  .p-eyemeo__contents-title {
    margin-bottom: 0;
  }
  .p-eyemeo__list-contents-list {
    grid-template-rows: repeat(6, auto);
  }
  .p-eyemeo__contents-gray-list-item {
    flex-direction: column;
    gap: var(--size-24);
  }
  .p-eyemeo__contents-gray-list-item-content {
    width: 100%;
  }
  .p-eyemeo__contents-gray-list-item-image {
    width: 100%;
    max-width: var(--size-500);
    margin: 0 auto;
  }
  .p-eyemeo__contents-gray-list-item-title {
    margin-bottom: var(--size-16);
  }
  .u-image-full .p-eyemeo__contents-gray-list-item-image {
    width: 100%;
  }
  .p-eyemeo__contents-gray {
    padding: var(--size-32) var(--size-16);
    border-radius: 0;
  }
  .p-eyemeo__contents-gray-list-item {
    padding: var(--size-24) var(--size-24);
  }
  .p-eyemeo__list {
    flex-direction: column;
    gap: var(--size-16);
  }
  .p-eyemeo__list-item {
    width: 100%;
    padding: var(--size-24) var(--size-24);
  }
}

@media (max-width: 768px) {
  .p-eyemeo__contents-title {
    font-size: var(--size-16);
  }
  .p-eyemeo__contents-images {
    gap: var(--size-12);
    justify-content: center;
  }
  .p-eyemeo__contents-image {
    width: calc(50% - var(--size-16) / 2);
  }
  .p-eyemeo__contents-header {
    width: 100%;
    font-size: var(--size-14);
    line-height: 1.5;
  }
  .p-eyemeo__list-item {
    padding: var(--size-24) var(--size-24);
  }
  .p-eyemeo__contents-gray-list-item {
    border-radius: var(--size-12);
  }
}

/* プロダクト アイストアカルテ */
.p-eyestorekarte__list {
  display: flex;
  gap: var(--size-24);
  flex-wrap: wrap;
}
.p-eyestorekarte__list-item {
  display: flex;
  width: calc(50% - var(--size-24) / 2);
  gap: var(--size-24);
  background-color: #fff;
  padding: var(--size-40) var(--size-56);
  border-radius: var(--size-16);
  border: solid 1px var(--green);
}
.p-eyestorekarte__list-item-content {
  width: var(--size-295);
}
.p-eyestorekarte__list-item-content.u-small {
  width: var(--size-140);
}
.p-eyestorekarte__list-item-image {
  flex: 1;
}
.p-eyestorekarte__list-item-title {
  margin-bottom: var(--size-8);
  font-size: var(--size-18);
  font-weight: 700;
  line-height: 2;
}
.p-eyestorekarte__list-item-text {
  font-size: var(--size-14);
}
.p-eyestorekarte__list-item-list {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(2, auto);
  column-gap: var(--size-24);
  justify-items: start;
  justify-content: start;
}
.p-eyestorekarte__list-item-list-item {
  position: relative;
  padding-left: 1em;
  font-size: var(--size-14);
  line-height: 2;
}
.p-eyestorekarte__list-item-list-item:before {
  content: "・";
  position: absolute;
  left: 0;
}
.p-eyestorekarte__contents {
  display: flex;
  gap: var(--size-48);
}
.p-eyestorekarte__contents-image {
  width: var(--size-248);
  padding: var(--size-24);
  background-color: #fff;
  border-radius: var(--size-8);
  border: solid 1px #DDDDDD;
}
.p-eyestorekarte__contents-image img {
  width: 100%;
  object-fit: contain;
}
.p-eyestorekarte__contents-header {
  flex: 1;
}
.p-eyestorekarte__contents-title {
  margin-bottom: var(--size-32);
  font-size: var(--size-18);
  font-weight: 700;
}
.p-eyestorekarte__contents-read {
  font-size: var(--size-14);
  line-height: 2;
}
@media (max-width: 1280px) {
  .p-eyestorekarte__list-item {
    flex-direction: column;
    gap: var(--size-16);
    }
  .p-eyestorekarte__list-item-content {
    width: 100%;
  }
  .p-eyestorekarte__list-item-image {
    width: 100%;
    max-width: var(--size-168);
  }
  .u-small.p-eyestorekarte__list-item-image {
    max-width: var(--size-336);
  }
}

@media (max-width: 1024px) {
  .p-eyestorekarte__list {
    flex-direction: column;
    gap: var(--size-16);
  }
  .p-eyestorekarte__list-item {
    width: 100%;
    max-width: var(--size-500);
    margin: 0 auto;
    padding: var(--size-24) var(--size-16);
  }
}

@media (max-width: 768px) {
  .p-eyestorekarte__contents {
    flex-direction: column;
    gap: var(--size-16);
  }
  .p-eyestorekarte__list-item-list {
    grid-template-rows: repeat(2, auto);
    column-gap: var(--size-8);
  }
  .p-eyestorekarte__list-item {
    border-radius: var(--size-8);
  }
  .p-eyestorekarte__contents-image {
    width: 100%;
    max-width: var(--size-336);
  }
  .p-eyestorekarte__list-item-title {
    font-size: var(--size-16);
  }
}

/* プロダクト エリアマーケティング */
.p-areamarketer__list {
  position: relative;
  display: flex;
  gap: var(--size-24);
  flex-wrap: wrap;
}
.p-areamarketer__list:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
  align-items: center;
  width: var(--size-48);
  height: var(--size-48);
  background: url(../../assets/img/arrow.png) no-repeat center;
  background-size: contain;
}
.p-areamarketer__list-item {
  width: calc(50% - var(--size-24) / 2);
  padding: var(--size-40) var(--size-58);
  background-color: #fff;
  border-radius: var(--size-16);
  border: solid 1px var(--green);
}
.p-areamarketer__list-item-image {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.u-373.p-areamarketer__list-item-image {
  max-width: var(--size-373);
  margin: auto;
}
.p-areamarketer__list-item-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-areamarketer__contents {
  display: flex;
  gap: var(--size-48);
  justify-content: space-between;
}
.p-areamarketer__contents-header {
  width: var(--size-420);
}
.p-areamarketer__contents-image-wrapper {
  height: fit-content;
  flex: 1;
  padding: var(--size-40);
  background-color: #fff;
  border-radius: var(--size-8);
  display: flex;
  gap: var(--size-16);
}
.p-areamarketer__contents-image-wrapper.u-next {
  position: relative;
  max-width: var(--size-544);
}
.p-areamarketer__contents-image-wrapper.u-next:after {
  content: '';
  position: absolute;
  top: calc(50% - var(--size-12));
  left: 46.5%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
  align-items: center;
  width: var(--size-36);
  height: var(--size-36);
  background: url(../../assets/img/arrow.png) no-repeat center;
  background-size: contain;
}
.p-areamarketer__contents-title {
  margin-bottom: var(--size-24);
  font-size: var(--size-18);
  font-weight: 700;
}
.p-areamarketer__contents-read {
  font-size: var(--size-14);
  line-height: 2;
}

@media (max-width: 1024px) {
  .p-areamarketer__contents {
    flex-direction: column;
    gap: var(--size-24);
  }
  .p-areamarketer__contents-header {
    width: 100%;
  }
  .p-areamarketer__contents-image-wrapper {
    max-width: var(--size-632);
    margin: auto;
  }
}

@media (max-width: 768px) {
  .p-areamarketer__list {
    flex-direction: column;
    gap: var(--size-16);
  }
  .p-areamarketer__list:after {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(90deg);
  }
  .p-areamarketer__list-item {
    width: 100%;
    padding: var(--size-24) var(--size-16);
    height: var(--size-208);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .p-areamarketer__list-item-image {
    width: 100%;
    height: 100%;
  }
  .p-areamarketer__contents-image-wrapper {
    padding: var(--size-24);
  }
  .p-areamarketer__contents-image-wrapper.u-next {
    padding: var(--size-24);
    gap: var(--size-32);
  }
  .p-areamarketer__contents-image-wrapper.u-next:after {
    top: calc(50% + var(--size-12));
    left: 50%;
    transform: translate(-50%, -50%) rotate(90deg);
  }
  .p-areamarketer__contents-image-wrapper {
    flex-direction: column;
    width: 100%;
  }
  .p-areamarketer__contents-image {
    margin: auto;
  }
  .p-areamarketer__contents-image.u-177 {
    max-width: var(--size-177);
  }
  .p-areamarketer__contents-image.u-204 {
    max-width: var(--size-204);
  }
  .p-areamarketer__contents-image.u-142 {
    max-width: var(--size-142);
  }
  .p-areamarketer__contents-image.u-244 {
    max-width: var(--size-244);
  }
  .p-areamarketer__contents-image.u-204 {
    max-width: var(--size-204);
  } 
}

/* プロダクト IBT検定 */
.p-ibt__list {
  display: flex;
  gap: var(--size-24);
  flex-wrap: wrap;
}
.p-ibt__list-item {
  position: relative;
  display: flex;
  width: calc(25% - var(--size-24) * 3 / 4);
  gap: var(--size-24);
  background-color: #fff;
  padding: var(--size-40) var(--size-56);
  border-radius: var(--size-16);
  border: solid 1px #2298E8;
  height: var(--size-195);
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-ibt__list-item-number {
  position: absolute;
  top: var(--size-32);
  left: var(--size-32);
  font-size: var(--size-24);
  font-weight: 700;
  color: #2298E8;
}
.p-ibt__list-item-title {
  font-size: var(--size-18);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

@media (max-width: 1024px) {
  .p-ibt__list-item {
    width: calc(50% - var(--size-24) / 2);
  }
}

@media (max-width: 768px) {
  .p-ibt__list {
    gap: var(--size-8);
  }
  .p-ibt__list-item {
    width: calc(50% - var(--size-8) * 1 / 2);
    padding: var(--size-24) var(--size-16);
    height: var(--size-120);
    border-radius: var(--size-8);
  }
  .p-ibt__list-item-number {
    top: var(--size-16);
    left: var(--size-16);
    font-size: var(--size-18);
  }
  .p-ibt__list-item-title {
    font-size: var(--size-12);
  }
}


/* 採用 */
.l-page-recruit {
  position: relative;
}
.l-page-recruit .l-main__wave4 {
  position: absolute;
  top: 5%;
  left: 35%;
  width: 768px;
  height: 100%;
  z-index: -3;
}
.l-page-recruit .l-main__wave4 svg {
  width: 100%;
  height: 100%;
}
.l-page-recruit .l-main__wave4 path {
  fill: #BCE9F5;
}
.l-page-recruit .l-main__wave3 {
  position: absolute;
  top: -42%;
  left: -77%;
  width: 1848px;
  height: 100%;
  z-index: -1;
}
.l-page-recruit {
  position: relative;
}
.l-page-recruit .l-main__wave5 {
  position: absolute;
  top: -137%;
  left: 8%;
  width: 1865px;
  height: auto;
  z-index: -2;
}
.l-page-recruit .l-main__wave5 svg {
  width: 100%;
  height: 100%;
}

@media (max-width: 1380px) {
  .l-page-recruit .l-main__wave3 {
    z-index: -3;
  }
}

@media (max-width: 768px) {
  .l-page-recruit .l-main__wave4 {
    top: 60%;
  }
  .l-page-recruit .l-main__wave3 {
    top: 0;
    left: -334%;
    z-index: -6;
  }
  .l-page-recruit .l-main__wave5 {
    top: -100%;
  }
  .l-page-recruit .l-main__wave4 {
    top: 60%;
  }
}

/* インタビュー */
.l-page-interview {
  position: relative;
}
.l-page-interview .l-main__wave3 {
  position: absolute;
  top: -173%;
  left: 0%;
  rotate: -25deg;
  width: 1865px;
  height: auto;
  z-index: -3;
}
.p-interview__header {
  position: relative;
  border-radius: var(--size-16);
  overflow: hidden;
  padding: var(--size-206) 0;
}
.p-interview__header:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .22);
  z-index: -1;
}
.p-interview__header-image {
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  width: 100%;
  height: 100%;
  z-index: -2;
}
.p-interview__header-inner {
  z-index: 1;
  color: #fff;
}
.p-interview__header-inner {
  width: 100%;
  max-width: var(--size-574);
  z-index: 1;
}
.p-interview__header-title-en {
  font-size: var(--size-56);
  font-weight: 700;
}
.p-interview__header-title {
  font-size: var(--size-24);
  font-weight: 700;
  margin-bottom: var(--size-48);
}
.p-interview__header-text {
  font-size: var(--size-18);
  line-height: 2;
  font-weight: 700;
}
.p-interview__bg {
  position: absolute;
  display: flex;
  top: 50%;
  left: 50%;
  transform: translateX(-50%);
  width: 1760px;
  height: var(--size-317);
  background: #F1F8F9;
  border-radius: var(--size-16);
  z-index: -1;
}
.p-interview__link {
  display: block;
}

@media (max-width: 1024px) {
  .p-interview__bg {
    display: none;
  }
}

@media (max-width: 768px) {
  .p-interview__header {
    border-radius: 0;
    padding: 0;
  }
  .p-interview__header:before {
    display: none;
  }
  .p-interview__header-image-wrapper {
    border-radius: var(--size-8);
    overflow: hidden;
    margin: 0 var(--size-16) var(--size-16);
    min-height: var(--size-200);
    position: relative;
  }
  .p-interview__header-image {
    right: 0;
    display: flex;
    object-position: right;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .p-interview__header-inner {
    max-width: 100%;
    color: #333;
  }
  .p-interview__header-title {
    margin: var(--size-8) 0 var(--size-16);
    font-size: var(--size-18);
  }
  .p-interview__header-title-en {
    font-size: var(--size-32);
    color: #2298E8;
  }
  .p-interview__header-text {
    font-size: var(--size-16);
  }
  .p-interview__header-text-small {
    font-size: var(--size-14);
  }  
}

/* 個人情報保護方針 */
.p-policy__link {
  display: flex;
  gap: var(--size-8);
}
.p-policy__link-text {
  flex: 1;
  font-size: var(--size-14);
  line-height: 1.5;
}
.p-policy__link-image-wrapper {
  transition: opacity 0.3s ease-in-out;
}
.p-policy__link-image-wrapper:hover {
  opacity: 0.5;
}

/* 強み */
.l-strengths__section {
  position: relative;
}
.l-strengths__section .l-main__wave3 {
  position: absolute;
  top: -120%;
  left: -80%; 
}
.l-strengths__section .l-main__wave6 {
  top: -124%;
  left: 3%;
}

@media (max-width: 768px) {
  .l-strengths__section .l-main__wave3,
  .l-strengths__section .l-main__wave6 {
    display: none;
  }
}

/* ニュース */
.p-news__list-item:not(:last-child) {
  border-bottom: 1px solid #B8B8B8;
}
.p-news__list-item-link {
  display: flex;
  padding: var(--size-40) 0;
  gap: var(--size-64);
  transition: opacity 0.3s ease-in-out; 
}
.p-news__list-item-link:hover {
  opacity: 0.5;
}
.p-news__list-item-date {
  font-size: var(--size-18);
  color: #707070;
  line-height: 2.22;
}
.p-news__list-item-title {
  font-size: var(--size-18);
  font-weight: 700;
  line-height: 2.22;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 768px) {
  .p-news__list-item-link {
    padding: var(--size-24) 0;
    flex-direction: column;
    gap: var(--size-12);
  }
  .p-news__list-item-date {
    font-size: var(--size-14);
    line-height: 1.5;
  }
  .p-news__list-item-title {
    font-size: var(--size-16);
    -webkit-line-clamp: 2;
    white-space: normal;
    -webkit-box-orient: vertical;
    overflow: hidden;
    display: -webkit-box;
    line-height: 2;
  }
}

/* カレンダー */
.p-calendar__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-24);
}
.p-calendar__list-item {
  width: calc(25% - var(--size-24) * 3 / 4);
}
.p-calendar__list-item-link {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 0 0 1px #B8B8B8;
  border-radius: var(--size-16);
  padding: var(--size-44) var(--size-14);
  overflow: hidden;
  transition: color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}
.p-calendar__list-item-link.u-has-links {
  padding: var(--size-32) var(--size-24);
}
.p-calendar__list-item-link.is-current {
  box-shadow: inset 0 0 0 8px #2298E8;
}
.p-calendar__list-item-link:not(.u-has-links):hover {
  color: #fff;
  box-shadow: inset 0 0 0 1px #2298E8;
}
.p-calendar__list-item-link:not(.u-has-links):before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #2298E8;
  border-radius: var(--size-16);
  z-index: -1;
  transform: translateX(-100%);
  transition: transform 0.3s ease-in-out;
}
.p-calendar__list-item-link:not(.u-has-links):hover:before {
  transform: translateX(0);
}
.p-calendar__container + .p-calendar__container {
  margin-top: var(--size-80);
}
.p-calendar__list-links {
  display: flex;
  flex-direction: column;
  gap: var(--size-8);
  font-size: var(--size-16);
  font-weight: 700;
  color: #2298E8;
  width: fit-content;
  margin: auto;
}
.p-calendar__list-links-link {
  display: flex;
  gap: 4px;
  align-items: center;
  transition: opacity 0.3s ease-in-out;
  text-decoration: underline;
}
.p-calendar__list-links-link:hover {
  opacity: 0.5;
}
.p-calendar__list-item-link-inner {
  width: 100%;
  margin-top: var(--size-24);
  padding-top: var(--size-24);
  border-top: solid 1px #2298E8;
}

@media (max-width: 768px) {
  .p-calendar__list {
    gap: var(--size-16);
  }
  .p-calendar__list-item {
    width: calc(50% - var(--size-16) / 2);
  }
  .p-calendar__list-item-link-inner {
    margin-top: var(--size-16);
    padding-top: var(--size-16);
    border-top: solid 1px #2298E8;
  }
  .p-calendar__list-links {
    font-size: var(--size-11);
    gap: var(--size-8);
  }
  .p-calendar__list-links-link svg {
    width: var(--size-12);
    height: var(--size-12);
  }
  .p-calendar__list-item-link.is-current {
    box-shadow: inset 0 0 0 4px #2298E8;
  }
  .p-calendar__list-item-link.u-has-links {
    padding: var(--size-24) var(--size-14);
  }
}

/* 資料一覧 */
.p-document-list-list {
  display: flex;
  column-gap: var(--size-72);
  row-gap: var(--size-64);
  flex-wrap: wrap;
}
.p-document-list-item {
  width: calc(50% - var(--size-72) / 2);
}
.p-document-list-inner {
  display: flex;
  gap: var(--size-40);
}
.p-document-list-left,
.p-document-list-right {
  width: calc(49% - var(--size-40) / 2);
}
.p-document-list-right {
  width: calc(51% - var(--size-40) / 2);
}
.p-document-list-left {
  background: #F5F5F5;
  padding: var(--size-32);
}
.p-document-list-left-image-wrapper {
  margin-bottom: var(--size-16);
  aspect-ratio: 208 / 300;
  width: 100%;
  background: #fff;
}
.p-document-list-left-image-wrapper img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.p-document-list-left-text-wrapper-title {
  margin-bottom: var(--size-24);
  font-size: var(--size-18);
  font-weight: 700;
  line-height: 2;
  /* min-height: calc(var(--size-18) * 2 * 3); */
}
.p-document-list-left-text-wrapper-text {
  font-size: var(--size-14);
  line-height: 2;
}

@media (max-width: 1120px) {
  .p-document-list-list {
    flex-direction: column;
  }
  .p-document-list-item {
    width: 100%;
  }
  .p-document-list-left {
    max-width: var(--size-280);
  }
  .p-document-list-right {
    flex: 1;
  }
}
@media (max-width: 768px) {
  .p-document-list-inner {
    flex-direction: column;
  }
  .p-document-list-left {
    width: 100%;
    margin: auto;
  }
  .p-document-list-right {
    width: 100%;
  }
  .p-document-list-inner {
    gap: var(--size-16);
  }
  .p-document-list-left-text-wrapper-title {
    font-size: var(--size-16);
    margin-bottom: var(--size-16);
  }
  .p-document-list-left-text-wrapper-text {
    font-size: var(--size-14);
  }
}

/* FAQ */
.p-faq__item {
  border: 1px solid #B8B8B8;
  border-radius: var(--size-16);
}
.p-faq__item-title {
  position: relative;
  padding: var(--size-24) var(--size-49) var(--size-24) var(--size-32);
  font-size: var(--size-20);
  font-weight: 700;
  line-height: 2;
}
.p-faq__item-title:before,
.p-faq__item-title:after {
  content: '';
  position: absolute;
  top: 50%;
  height: var(--size-1);
  width: var(--size-17);
  background: #2298E8;
  transform: translateY(-50%);
  right: var(--size-32);
}
.p-faq__item-title:before {
  transform: translateY(-50%) rotate(0);
}
.p-faq__item-title:after {
  transform: translateY(-50%)  rotate(-90deg);
  transition: transform 0.3s ease-in-out;
}
.p-faq__item-title.is-active:after {
  transform: translateY(-50%) rotate(0);
}
.p-faq__item-content {
  display: none;
  margin: 0 var(--size-32);
  padding: var(--size-24) 0;
  font-size: var(--size-18);
  font-weight: 700;
  line-height: 2;
  border-top: 1px solid #2298E8;
  color: #2298E8;
}
.p-faq__item + .p-faq__item {
  margin-top: var(--size-24);
}
.p-faq__item a {
  text-decoration: underline;
  transition: opacity 0.3s ease-in-out;
}
.p-faq__item a:hover {
  opacity: 0.5;
}
@media (max-width: 768px) {
  .p-faq__item {
    border-radius: var(--size-8);
  }
  .p-faq__item-title {
    font-size: var(--size-14);
    padding: var(--size-12) var(--size-32) var(--size-12) var(--size-16);
    line-height: 1.6;
  }
  .p-faq__item-content {
    font-size: var(--size-14);
    padding: var(--size-12) 0;
    margin: 0 var(--size-16);
    line-height: 1.6;
  }
  .p-faq__item-title:before,
  .p-faq__item-title:after {
    width: var(--size-12);
    right: var(--size-16);
  }
  .p-faq__item + .p-faq__item {
    margin-top: var(--size-16);
  }
}

/* ダウンロード */
.p-download__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-24);
}
.p-download__list-item {
  width: calc(25% - var(--size-24) * 3 / 4);
}
.p-download__list-item-link {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 0 0 1px #B8B8B8;
  border-radius: var(--size-16);
  padding: var(--size-44) var(--size-14);
  overflow: hidden;
  transition: color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  font-size: var(--size-20);
  font-weight: 700;
  max-height: var(--size-110);
}
.p-download__list-item-link.u-has-links {
  padding: var(--size-32) var(--size-14);
}
.p-download__list-item-link.is-current {
  box-shadow: inset 0 0 0 8px #2298E8;
}
.p-download__list-item-link:not(.u-has-links):hover {
  color: #fff;
  box-shadow: inset 0 0 0 1px #2298E8;
}
.p-download__list-item-link:not(.u-has-links):before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #2298E8;
  border-radius: var(--size-16);
  z-index: -1;
  transform: translateX(-100%);
  transition: transform 0.3s ease-in-out;
}
.p-download__list-item-link:not(.u-has-links):hover:before {
  transform: translateX(0);
}

@media (max-width: 768px) {
  .p-download__list {
    gap: var(--size-16);
  }
  .p-download__list-item {
    width: 100%;
  }
  .p-download__list-item-link {
    font-size: var(--size-16);
    padding: var(--size-24) var(--size-14);
    border-radius: var(--size-8);
  }
}

/* サービス */
.l-service__section {
  position: relative;
}
.u-digitalpromotion .l-main__wave3 {
  position: absolute;
  top: -13%;
  left: -38%;
  width: 100%;
  height: 100%;
  z-index: -1;
  rotate: -21deg;
}
.u-areamarketing .l-main__wave3 {
  position: absolute;
  top: -87%;
  left: -59%;
  width: 100%;
  height: 100%;
}
/* サービス エリアマーケティング */
.p-areamarketing__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-24);
}
.p-areamarketing__list-item {
  width: calc(50% - var(--size-24) / 2);
  border: 1px solid #2298E8;
  border-radius: var(--size-16);
  padding: var(--size-40) var(--size-50);
  background: #fff;
  text-align: center;
}
.p-areamarketing__list-item.u-full {
  width: 100%;
}
.p-areamarketing__list-item-title {
  color: #2298E8;
  font-size: var(--size-18);
  font-weight: 700;
  margin-bottom: var(--size-20);
}
.u-text .p-areamarketing__list-item-title {
  font-size: var(--size-20);
}
.p-areamarketing__list-item-read {
  font-size: var(--size-16);
  line-height: 1.75;
  font-weight: 700;
}
.p-areamarketing__list-item-text {
  font-size: var(--size-14);
  line-height: 2;
  text-align: left;
}
.p-areamarketing__contents {
  display: flex;
  gap: var(--size-120);
}
.p-areamarketing__contents-read {
  font-size: var(--size-18);
  font-weight: 700;
  line-height: 1.75;
}
.p-areamarketing__contents-text {
  font-size: var(--size-14);
  line-height: 2.28;
}
.p-areamarketing__contents-video {
  width: calc(50% - var(--size-120) / 2);
}
.p-areamarketing__contents-wrapper {
  width: calc(50% - var(--size-120) / 2);
}
.p-areamarketing__contents-video iframe {
  width: 100%;
  object-fit: cover;
}
.p-areamarketing__contents-icon {
  width: 100%;
  margin: var(--size-8) 0;
  text-align: center;
}
.p-areamarketing__contents-icon img {
  transform: rotate(90deg);
}
.u-analysis .p-areamarketing__contents-wrapper {
  flex: 1;
}
.u-analysis .p-areamarketing__contents-image {
  width: var(--size-320);
}
.p-areamarketing__point-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-30);
}
.p-areamarketing__point-list-item {
  width: calc(33.33333333333333% - var(--size-30) * 2 / 3);
  padding: var(--size-34) var(--size-24) var(--size-60);
  background: #F9FBFB;
  border-radius: var(--size-16);
}
.p-areamarketing__point-list-item-title {
  font-size: var(--size-18);
  font-weight: 700;
  margin-bottom: var(--size-8);
  color: #2298E8;
}
.p-areamarketing__point-list-item-text {
  font-size: var(--size-14);
  line-height: 2;
}
.p-areamarketing__flow-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-24);
}
.p-areamarketing__flow-list-item {
  width: calc(25% - var(--size-24) * 3 / 4);
  padding: var(--size-24) var(--size-21);
  background: #fff;
  border-radius: var(--size-16);
  box-shadow: 0 0 0 1px #2298E8;
}
.p-areamarketing__flow-list-item-number-wrapper {
  display: flex;
  margin-bottom: var(--size-20);
  align-items: center;
  gap: var(--size-16);
}
.p-areamarketing__flow-list-item-number {
  font-size: var(--size-24);
  font-weight: 700;
  color: #2298E8;
}
.p-areamarketing__flow-list-item-title {
  position: relative;
  top: -2px;
  font-size: var(--size-18);
  font-weight: 700;
}
.p-areamarketing__flow-list-item-text {
  font-size: var(--size-14);
  line-height: 2;
}

@media (max-width: 1024px) {
  .p-areamarketing__contents {
    flex-direction: column;
    gap: var(--size-40);
  }
  .p-areamarketing__contents-video,
  .p-areamarketing__contents-wrapper {
    width: 100%;
  }
  .p-areamarketing__contents-image,
  .p-areamarketing__contents-video {
    max-width: var(--size-500);
    margin: 0 auto;
  }
  .p-areamarketing__contents .c-button {
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
  .p-areamarketing__point-list {
    justify-content: center;
    align-items: stretch;
  }
  .p-areamarketing__point-list-item {
    width: calc(50% - var(--size-30) / 2);
  }
  .p-areamarketing__flow-list-item {
    width: calc(50% - var(--size-24) / 2);
  }
}

@media (max-width: 768px) {
  .p-areamarketing__list-item {
    width: 100%;
  }
  .p-areamarketing__list {
    gap: var(--size-16);
  }
  .p-areamarketing__list-item {
    padding: var(--size-24) var(--size-24);
    border-radius: var(--size-8);
  }
  .p-areamarketing__list-item-title {
    font-size: var(--size-16);
  }
  .p-areamarketing__list-item-read {
    font-size: var(--size-14);
  }
  .p-areamarketing__list-item-text {
    font-size: var(--size-14);
  }
  .u-text .p-areamarketing__list-item-title {
    font-size: var(--size-18);
  }
  .p-areamarketing__contents {
    gap: var(--size-16);
  }
  .p-areamarketing__contents-read {
    font-size: var(--size-14);
  }
  .p-areamarketing__contents-text {
    font-size: var(--size-14);
    line-height: 1.5;
  }
  .p-areamarketing__contents-video {
    width: 100%;
    aspect-ratio: 16 / 9;
  }
  .p-areamarketing__contents-video iframe {
    height: 100%;
  }
  .p-areamarketing__point-list-item {
    width: 100%;
    padding: var(--size-24) var(--size-16);
  }
  .p-areamarketing__flow-list-item {
    width: 100%;
  }
  .p-areamarketing__contents-icon img {
    width: var(--size-36);
    height: var(--size-36);
  }
  .p-areamarketing__point-list {
    gap: var(--size-16);
  }
  .p-areamarketing__point-list-item {
    border-radius: var(--size-8);
  }
  .p-areamarketing__flow-list-item {
    border-radius: var(--size-8);
  }
  .p-areamarketing__flow-list-item-number-wrapper {
    margin-bottom: var(--size-12);
    gap: var(--size-12);
  }
  .p-areamarketing__flow-list-item-number {
    font-size: var(--size-18);
  }
  .p-areamarketing__flow-list-item-title {
    top: 0;
    font-size: var(--size-14);
  }
  .p-areamarketing__flow-list-item-text {
    font-size: var(--size-12);
  }
  .p-areamarketing__flow-list {
    gap: var(--size-16);
  }
  .p-areamarketing__flow-list-item {
    padding: var(--size-16) var(--size-16);
  }
}

/* サービス デジタルプロモーション */
.p-digitalpromotion__contents {
  display: flex;
}
.p-digitalpromotion__contents-item {
  width: var(--size-390);
}
.p-digitalpromotion__contents-item-title {
  font-size: var(--size-20);
}
.p-digitalpromotion__contents-image {
  flex: 1;
}

@media (max-width: 1024px) {
  .p-digitalpromotion__contents {
    flex-direction: column;
    gap: var(--size-40);
  }
}

@media (max-width: 768px) {
  .p-digitalpromotion__contents-item {
    width: 100%;
  }
  .p-digitalpromotion__contents-item-title {
    font-size: var(--size-16);
  }
}

/* サービス ホームページ制作 */
.p-webcreative__contents-list {
  display: flex;
  gap: var(--size-40);
}
.p-webcreative__contents-list-item {
  width: calc(33.33% - var(--size-40) * 2 / 3);
  padding: var(--size-42) var(--size-40);
  background: #fff;
  border-radius: var(--size-16);
  border: 1px solid var(--green);
}
.p-webcreative__contents-list-item-title {
  margin-bottom: var(--size-20);
  font-size: var(--size-18);
  font-weight: 700;
}
.p-webcreative__contents-list-item-list-item {
  position: relative;
  margin-bottom: .5em;
  font-size: var(--size-14);
  font-weight: 700;
  line-height: 1.75;
  margin-left: 1em;
}
.p-webcreative__contents-list-item-list-item:before {
  content: '・';
  position: absolute;
  top: -4px;
  left: -16px;
  font-size: var(--size-18);
  font-weight: 700;
}
.p-webcreative__seo-read-title {
  max-width: var(--size-880);
  margin: 0 auto var(--size-32);
  font-size: var(--size-16);
  font-weight: 700;
  line-height: 1.75;
}
.p-webcreative__seo-images-wrapper {
  max-width: var(--size-792);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-24);
  justify-content: center;
}
.p-webcreative__seo-images-wrapper-item {
  width: calc(33.33% - var(--size-24) * 2 / 3);
}
.p-webcreative__seo-images-wrapper-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-webcreative__seo-title {
  margin-bottom: var(--size-27);
  font-size: var(--size-20);
  font-weight: 700;
  color: #fff;
}
.p-webcreative__seo-title:before {
  background: #fff;
}
.p-webcreative__seo-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-24);
}
.p-webcreative__seo-list-item {
  width: calc(50% - var(--size-24) / 2);
  padding: var(--size-24) var(--size-34);
  background: #fff;
  border-radius: var(--size-8);
  box-shadow: 0 0 0 1px var(--green);
  color: #333;
}
.p-webcreative__seo-list-item-title {
  font-size: var(--size-18);
  font-weight: 700;
  margin-bottom: var(--size-16);
}
.p-webcreative__seo-list-item-title-small {
  font-size: var(--size-14);
  line-height: 1.75;
}
.p-webcreative__seo-list-item-text {
  font-size: var(--size-14);
  line-height: 1.5;
}
.p-webcreative__seo-list-item-list {
  margin-top: var(--size-12);
}
.p-webcreative__seo-list-item-list-item {
  position: relative;
  font-size: var(--size-14);
  font-weight: 700;
  line-height: 1.75;
  margin-left: 1em;
}
.p-webcreative__seo-list-item-list-item:before {
  content: '・';
  position: absolute;
  top: -4px;
  left: -16px;
  font-size: var(--size-18);
  font-weight: 700;
}
.p-webcreative__seo-example {
  display: flex;
  margin-top: var(--size-16);
  padding-top: var(--size-16);
  border-top: 1px solid #A7A7A7;
  font-size: var(--size-14);
  line-height: 1.5;
}
.p-webcreative__seo-example-title {
  font-size: var(--size-14);
  font-weight: 700;
  margin-right: 1em;
}
.p-markup__contents {
  display: flex;
  gap: var(--size-60);
}
.p-markup__contents-wrapper {
  width: var(--size-540);
}
.p-markup__contents-image {
  flex: 1;
  border-radius: var(--size-8);
  overflow: hidden;
}
.p-markup__contents-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-markup__contents-read {
  margin-bottom: var(--size-24);
  font-size: var(--size-14);
  line-height: 2.28;
}
.p-markup__contents-example {
  font-size: var(--size-14);
  font-weight: 700;
  line-height: 2;
}
.p-markup__contents-example-list {
  display: flex;
}
.p-markup__contents-example-list-item {
  min-width: 8em;
  display: flex;
  justify-content: space-between;
}
.p-markup__contents-example-list-item:after {
  content: "：";
  display: inline-block;
}
.p-markup__contents-example-list-dd {
  margin-left: 0.5em;
}
.p-webcreative__markup-read-title {
  text-align: center;
  font-size: var(--size-18);
  font-weight: 700;
  margin-bottom: var(--size-24);
  color: #fff;
}
.p-webcreative__seo-markup-wrapper {
  display: flex;
}
.p-webcreative__seo-markup-wrapper-item {
  width: calc(33.33%);
  padding: 0 var(--size-8);
}
.p-webcreative__seo-markup-wrapper-item:not(:last-child) {
  border-right: 1px dotted #fff;
}
.p-webcreative__seo-markup-wrapper-item-read {
  margin-bottom: var(--size-10);
  font-size: var(--size-14);
  line-height: 1.5;
  font-weight: 700;
  color: #333;
}
.p-webcreative__seo-markup-wrapper-item-text {
  font-size: var(--size-16);
  line-height: 1.5;
  font-weight: 700;
  color: var(--green);
}

@media (max-width: 1024px) {
  .p-webcreative__contents-list {
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--size-16);
  }
  .p-webcreative__contents-list-item {
    width: calc(50% - var(--size-16) / 2);
  }
  .p-markup__contents-wrapper {
    width: 100%;
  }
  .p-markup__contents {
    flex-wrap: wrap;
    gap: var(--size-16);
  }
}

 @media (max-width: 768px) {
  .p-webcreative__contents-list {
    flex-direction: column;
  }
  .p-webcreative__contents-list-item {
    width: 100%;
    max-width: var(--size-500);
    margin: auto;
    padding: var(--size-24);
    border-radius: var(--size-8);
  }
  .p-webcreative__contents-list-item-title {
    font-size: var(--size-16);
  }
  .p-webcreative__contents-list-item-list-item {
    font-size: var(--size-14);
  }
  .p-webcreative__seo-read-title {
    font-size: var(--size-14);
  }
  .p-webcreative__seo-images-wrapper {
    gap: var(--size-8);
    max-width: var(--size-500);
    margin: auto;
  }
  .p-webcreative__seo-images-wrapper-item {
    width: calc(50% - var(--size-8) / 2);
  }
  .p-webcreative__seo-title {
    font-size: var(--size-16);
  }
  .p-webcreative__seo-list {
    flex-direction: column;
  }
  .p-webcreative__seo-list-item {
    width: 100%;
    max-width: var(--size-500);
    margin: auto;
    padding: var(--size-24) var(--size-16);
  }
  .p-webcreative__seo-list-item-title {
    font-size: var(--size-16);
  }
  .p-webcreative__seo-list-item-title-small {
    font-size: var(--size-12);
    display: block;
  }
  .p-webcreative__seo-list-item-text {
    font-size: var(--size-14);
  }
  .p-webcreative__seo-list-item-list-item {
    font-size: var(--size-14);
  }
  .p-webcreative__seo-example {
    font-size: var(--size-14);
  }
  .p-webcreative__seo-example-title {
    font-size: var(--size-14);
  }
  .p-webcreative__seo-markup-wrapper-item-read {
    font-size: var(--size-14);
  }
  .p-webcreative__seo-markup-wrapper-item-text {
    font-size: var(--size-14);
  }
  .p-webcreative__seo-markup-wrapper {
    flex-direction: column;
  }
  .p-webcreative__seo-markup-wrapper-item {
    width: 100%;
    padding: var(--size-16);
    max-width: var(--size-500);
    margin: auto;
  }
  .p-webcreative__seo-markup-wrapper-item:not(:last-child) {
    border-right: none;
    border-bottom: 1px dotted #C0C0C0;
  }
}
  
/* サービス 広告運用 */
.p-adoperation-read-title {
  margin-bottom: var(--size-24);
  font-size: var(--size-14);
  line-height: 1.5;
  font-weight: 400;
}
.p-adoperation-read {
  margin-bottom: var(--size-24);
  font-size: var(--size-18);
  font-weight: 700;
  line-height: 1.5;
}
.p-adoperation-list {
  display: flex;
  flex-wrap: wrap;
  row-gap: var(--size-24);
  column-gap: var(--size-40);
}
.p-adoperation-list-item {
  width: calc(33.33% - var(--size-40) * 2 / 3);
  padding: var(--size-40) var(--size-56);
  background: #fff;
  border-radius: var(--size-16);
  border: 1px solid var(--green);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.p-adoperation-list-item-title {
  font-size: var(--size-18);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.p-adoperation-list-item-title small {
  display: block;
  font-size: var(--size-14);
  line-height: 2;
}
.p-adoperation-read-wrapper {
  display: flex;
  margin-bottom: var(--size-24);
  align-items: center;
  justify-content: center;
  gap: var(--size-12);
}
.p-adoperation-read-text {
  flex: 1;
}
.p-adoperation-read-img-wrapper {
  width: 100%;
  max-width: var(--size-300);
  border-radius: var(--size-8);
  overflow: hidden;
}
.p-adoperation-read-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 1024px) {
  .p-adoperation-list {
    justify-content: center;
  }
  .p-adoperation-list-item {
    width: calc(50% - var(--size-40) / 2);
  }
}

@media (max-width: 768px) {
  .p-adoperation-read-title {
    font-size: var(--size-14);
    margin-bottom: var(--size-16);
  }
  .p-adoperation-read {
    font-size: var(--size-16);
  }
  .p-adoperation-list {
    flex-direction: column;
    row-gap: var(--size-16);
  }
  .p-adoperation-list-item {
    width: 100%;
    max-width: var(--size-500);
    margin: auto;
    padding: var(--size-24) var(--size-16);
    border-radius: var(--size-8);
  }
  .p-adoperation-list-item-title {
    font-size: var(--size-16);
  }
  .p-adoperation-list-item-title small {
    font-size: var(--size-12);
  }
  .p-adoperation-list-item-title {
    font-size: var(--size-14);
  }
  .p-adoperation-list-item-title small {
    font-size: var(--size-12);
  }
  .p-adoperation-read-wrapper {
    flex-direction: column;
    gap: var(--size-8);
  }
  .p-adoperation-read-img-wrapper {
    margin: auto;
    max-width: var(--size-300);
  }
}

/* サービス ポストオフィス広告 */
.p-postofficead__read-title {
  font-size: var(--size-18);
  line-height: 1.5;
  font-weight: 700;
  margin-bottom: var(--size-24);
}
.p-postofficead__read {
  font-size: var(--size-14);
  line-height: 2.28;
  margin-bottom: var(--size-40);
}
.p-postofficead__list {
  display: flex;
  flex-direction: column;
  row-gap: var(--size-24);
}
.p-postofficead__list-item {
  display: flex;
}
.p-postofficead__list-item-title-wrapper {
  width: var(--size-428);
}
.p-postofficead__list-item-wrapper {
  flex: 1;
  display: flex;
  gap: var(--size-24);
  align-items: center;
}
.p-postofficead__list-item-image-wrapper {
  width: calc(33.33% - var(--size-24) * 2 / 3);
}
.p-postofficead__list-item-image-wrapper img {
  width: 100%;
}
.p-postofficead__list-item-title {
  font-size: var(--size-20);
  font-weight: 700;
  margin-bottom: var(--size-16);
}
.p-postofficead__list-item-read {
  font-size: var(--size-14);
  font-weight: 700;
  line-height: 2.28;
}
.p-postofficead-buttons {
  display: flex;
  justify-content: center;
  gap: var(--size-24);
}
.p-postofficead-buttons .c-button {
  min-width: var(--size-280);
}
.p-postofficead__menu-list {
  display: flex;
  flex-wrap: wrap;
  row-gap: var(--size-24);
  column-gap: var(--size-36);
}
.p-postofficead__menu-list-item {
  width: calc(33.33% - var(--size-36) * 2 / 3);
}
.p-postofficead__menu-list-item-image-wrapper {
  max-width: var(--size-164);
  margin: 0 auto var(--size-16);
  border-radius: 50%;
  overflow: hidden;
  
}
.p-postofficead__menu-list-item-image-wrapper img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}
.p-postofficead__menu-list-item-title {
  margin-bottom: var(--size-16);
  font-size: var(--size-18);
  font-weight: 700;
  line-height: 1.5;
}
.p-postofficead__menu-list-item-title.u-small {
  font-size: var(--size-16);
}
.p-postofficead__menu-list-item-text {
  font-size: var(--size-14);
  line-height: 1.5;
}

@media (max-width: 768px) {
  .p-postofficead__list-item {
    flex-direction: column;
    gap: var(--size-16);
  }
  .p-postofficead__list-item-title-wrapper {
    width: 100%;
  }
  .p-postofficead-buttons {
    flex-direction: column;
    gap: var(--size-16);
  }
  .p-postofficead-buttons .c-button {
    min-width: 100%;
  }
  .p-postofficead__read-title {
    font-size: var(--size-16);
  }
  .p-postofficead__read {
    font-size: var(--size-14);
  }
  .p-postofficead__list-item-title {
    font-size: var(--size-16);
  }
  .p-postofficead__list-item-read {
    font-size: var(--size-14);
  }
  .p-postofficead__list-item-wrapper {
    gap: var(--size-8);
    flex-wrap: wrap;
    justify-content: center;
  }
  .p-postofficead__list-item-image-wrapper {
    width: calc(50% - var(--size-8) * 2 / 3);
  }
  .p-postofficead__list-item-image-wrapper img {
    width: 100%;
  }
  .p-postofficead__menu-list {
    flex-direction: column;
    gap: var(--size-24);
  }
  .p-postofficead__menu-list-item {
    width: 100%;
  }
}

/* サービス メディアプロモーション */
.p-mediapromotion__contents {
  display: flex;
  gap: var(--size-36);
}
.p-mediapromotion__contents.u-salespromotion {
  gap: var(--size-12);
}
.u-grouppromotion .p-mediapromotion__item {
  align-items: center;
}
.p-mediapromotion__list {
  width: var(--size-572);
  display: flex;
  gap: var(--size-12);
}
.p-mediapromotion__item {
  width: calc(50% - var(--size-12) / 2);
  padding: var(--size-32) var(--size-20);
  background: #F9FBFB;
  border-radius: var(--size-16);
}
.p-mediapromotion__result .p-mediapromotion__item {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.p-mediapromotion__result {
  flex: 1;
}
.p-mediapromotion__title {
  margin-bottom: var(--size-8);
  font-size: var(--size-20);
  line-height: 2;
  font-weight: 700;
  color: #2298E8;
}
.p-mediapromotion__read {
  margin-bottom: var(--size-16);
  font-size: var(--size-16);
  line-height: 2;
  font-weight: 700;
}
.u-grouppromotion .p-mediapromotion__read {
  text-align: center;
  font-size: var(--size-15);
}
.p-mediapromotion__text {
  font-size: var(--size-14);
  line-height: 2;
}
.u-grouppromotion .p-mediapromotion__text {
  text-align: center;
}
.p-mediapromotion__image {
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-mediapromotion__image img {
  width: 100%;
}
.p-mediapromotion__group {
  display: flex;
  gap: var(--size-60);
}
.p-mediapromotion__group-title {
  font-size: var(--size-20);
  line-height: 2;
  font-weight: 700;
}
.p-mediapromotion__group-contents {
  flex: 1;
}
.p-mediapromotion__group-image {
  width: var(--size-480);
}
.p-mediapromotion__group-read {
  margin-bottom: var(--size-24);
  font-size: var(--size-14);
  line-height: 2.28;
}
.p-mediapromotion__group-title {
  margin-bottom: var(--size-14);
  font-size: var(--size-18);
  line-height: 2;
  font-weight: 700;
  color: #2298E8;
}
.p-mediapromotion__group-list {
  display: flex;
}
.p-mediapromotion__group-list:not(:last-child) {
  margin-bottom: 1em;
}
.p-mediapromotion__group-list-dt,
.p-mediapromotion__group-list-dd {
  font-size: var(--size-14);
  line-height: 1.5;
  font-weight: 700;
}
.p-mediapromotion__group-list-dt {
  display: flex;
  justify-content: space-between;
  min-width: 9em;
}
.p-mediapromotion__group-list-dt:after {
  content: ":";
  margin-right: var(--size-4);
}
.p-mediapromotion__ad-list {
  display: flex;
  gap: var(--size-36);
  flex-wrap: wrap;
}
.p-mediapromotion__ad-item {
  width: calc(33.33% - var(--size-36) * 2 / 3);
}
.p-mediapromotion__ad-item-image {
  width: 100%;
  border-radius: var(--size-8);
  overflow: hidden;
}
.p-mediapromotion__ad-item-image img {
  width: 100%;
  aspect-ratio: 336 / 204;
  object-fit: cover;
}
.p-mediapromotion__ad-item-title {
  margin: var(--size-16) 0;
  font-size: var(--size-18);
  line-height: 1.5;
  font-weight: 700;
}
.p-mediapromotion__ad-item-read {
  font-size: var(--size-14);
  line-height: 1.5;
}
.p-mediapromotion__freepaper-list {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--size-120);
  row-gap: var(--size-40);
}
.p-mediapromotion__freepaper-item {
  width: calc(50% - var(--size-120) / 2);
  display: flex;
  gap: var(--size-40);
}
.p-mediapromotion__freepaper-item.u-full {
  width: 100%;
  gap: var(--size-60);
}
.p-mediapromotion__freepaper-item-contents {
  width: var(--size-243);
  padding-top: var(--size-24);
}
.u-full .p-mediapromotion__freepaper-item-contents {
  width: var(--size-540);
  padding-top: 0;
}
.p-mediapromotion__freepaper-item-image {
  flex: 1;
}
.p-mediapromotion__freepaper-item-title {
  font-size: var(--size-18);
  line-height: 1.5;
  font-weight: 700;
}
.p-mediapromotion__freepaper-item-title {
  margin-bottom: var(--size-16);
  font-size: var(--size-18);
  line-height: 1.5;
  font-weight: 700;
  color: #2298E8;
}
.p-mediapromotion__freepaper-item-read {
  font-size: var(--size-14);
  line-height: 2.28;
  font-weight: 400;
}
.p-mediapromotion__freepaper-item-text {
  margin-top: var(--size-24);
  font-size: var(--size-18);
  line-height: 2;
  font-weight: 700;
}

@media (max-width: 1024px) {
  .p-mediapromotion__contents {
    flex-direction: column;
    gap: var(--size-16);
  }
  .p-mediapromotion__contents.u-salespromotion {
    gap: var(--size-4);
  }
  .p-mediapromotion__list {
    width: 100%;
  }
  .p-mediapromotion__image img{
    width: var(--size-36);
    height: var(--size-36);
    margin: 0 auto;
  }
  .p-mediapromotion__group {
    flex-direction: column;
  }
  .p-mediapromotion__group-image {
    width: 100%;
    max-width: var(--size-500);
    margin: 0 auto;
  }
  .p-mediapromotion__group-read {
    margin-bottom: var(--size-16);
  }
  .u-grouppromotion .p-mediapromotion__read {
    font-size: var(--size-13);
  }
  .u-grouppromotion .p-mediapromotion__text {
    font-size: var(--size-12);
  }
  .p-mediapromotion__ad-list {
    flex-wrap: wrap;
    justify-content: center;
  }
  .p-mediapromotion__ad-item {
    width: calc(50% - var(--size-36) / 2);
  }
  .p-mediapromotion__freepaper-list {
    flex-direction: column;
  }
  .p-mediapromotion__freepaper-item {
    width: 100%;
    gap: var(--size-16);
  }
  .p-mediapromotion__freepaper-item-contents {
    flex: 1;
  }
  .p-mediapromotion__freepaper-item-image {
    max-width: var(--size-220);
  }
  .p-mediapromotion__freepaper-item.u-full {
    gap: var(--size-16);
  }
  .p-mediapromotion__freepaper-item.u-full .p-mediapromotion__freepaper-item-image {
    max-width: var(--size-400);
  }
}

@media (max-width: 768px) {
  .p-mediapromotion__list {
    flex-direction: column;
    border-radius: var(--size-8);
  }
  .p-mediapromotion__title {
    font-size: var(--size-16);
  }
  .p-mediapromotion__read {
    margin-bottom: var(--size-8);
    font-size: var(--size-14);
  }
  .p-mediapromotion__item {
    width: 100%;
    border-radius: var(--size-8);
  }
  .p-mediapromotion__group {
    flex-direction: column;
  }
  .p-mediapromotion__image img {
    rotate: 90deg;
  }
  .p-mediapromotion__group-image {
    width: 100%;
    max-width: var(--size-360);
    margin: 0 auto;
  }
  .p-mediapromotion__group-title {
    margin-bottom: var(--size-16);
  }
  .p-mediapromotion__group-read {
    margin-bottom: var(--size-16);
    line-height: 2;
  }
  .p-mediapromotion__ad-list {
    flex-direction: column;
  }
  .p-mediapromotion__ad-item {
    width: 100%;
    max-width: var(--size-440);
    margin: 0 auto;
  }
  .p-mediapromotion__freepaper-list {
    flex-direction: column;
  }
  .p-mediapromotion__freepaper-item {
    width: 100%;
    gap: var(--size-16);
  }
  .p-mediapromotion__freepaper-item-contents {
    width: 100%;
  }
  .p-mediapromotion__ad-item-title {
    margin: var(--size-12) 0;
    font-size: var(--size-16);
  }
  .p-mediapromotion__freepaper-item.u-full {
    flex-direction: column;
    gap: var(--size-24);
  }
  .p-mediapromotion__freepaper-item-title {
    font-size: var(--size-16);
  }
  .p-mediapromotion__freepaper-item-read {
    font-size: var(--size-14);
  }
  .p-mediapromotion__freepaper-item-text {
    margin-top: var(--size-8);
    font-size: var(--size-14);
  }
  .p-mediapromotion__freepaper-item-contents {
    padding-top: 0;
  }
}

/* お問い合わせ */
.l-form input,
.l-form textarea,
.l-form select {
  border-radius: var(--size-4);
  border: 1px solid #B8B8B8;
  padding: .5em 1em;
  line-height: 2;
  width: 100%;
  background: #fff;
}
.l-form select {
  padding: .5em 2.5em .5em 1em;
}
.l-form .l-select-wrap {
  position: relative;
  display: block;
  width: 100%;
  flex: 1;
}
.l-form .l-select-wrap:after {
  content: "";
  position: absolute;
  top: 50%;
  height: var(--size-10);
  width: var(--size-26);
  right: var(--size-16);
  transform: translateY(-50%);
  background-image: url(../img/icon-arrow-down.svg);
  pointer-events: none;
}
.l-form-date {
  display: flex;
  width: 100%;
  flex: 1;
  gap: var(--size-12);
}
.l-form-inner {
  display: flex;
  align-items: center;
  gap: var(--size-4);
}
.l-form-date br {
  display: none;
}
.u-text-2 input {
  width: calc(2em + 2em);
}
.u-text-4 input {
  width: calc(4em + 2em);
}
.l-form input[type="checkbox"] {
  position: relative;
  top: -2px;
  width: var(--size-16);
  height: var(--size-16);
  appearance: auto;
  -webkit-appearance: auto;
  -moz-appearance: auto;
  border-radius: 50%;
  margin-right: var(--size-8);
}
.l-form-group p {
  display: flex;
  gap: var(--size-16);
}
.l-form-group:not(:last-child) {
  margin-bottom: var(--size-48);
}
.l-label {
  font-size: var(--size-16);
  line-height: 2;
  width: var(--size-234);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.l-form-group p:has(textarea) {
  align-items: flex-start;
}
.l-form-group p:has(textarea) .l-label {
  margin-top: var(--size-8);
}
.u-recuired .l-label:after {
  content: "必須";
  color: #fff;
  font-size: var(--size-12);
  background-color: #FF312A;
  border-radius: var(--size-4);
  padding: var(--size-4) var(--size-12);
  line-height: 1;
}
.wpcf7-form-control-wrap {
  flex: 1;
}
.wpcf7-form-control-wrap:has(select) {
  position: relative;
  cursor: pointer;
}
.wpcf7-form-control-wrap:has(select):after {
  content: "";
  position: absolute;
  top: 50%;
  right: var(--size-16);
  width: var(--size-14);
  height: var(--size-12);
  background-image: url(../img/icon-select.svg);
  transform: translateY(-50%);
  pointer-events: none;
}
.l-form .c-text-link {
  font-size: var(--size-16);
}
.wpcf7-not-valid-tip {
  position: absolute;
  top: calc(100% + 10px);
}
.l-form-button {
  display: flex;
  justify-content: center;
}
.l-form-button p {
  position: relative;
  width: var(--size-320);
}
.l-form-button p:after {
  content: "";
  position: absolute;
  top: 50%;
  right: var(--size-32);
  width: var(--size-12);
  height: var(--size-12);
  background-color: #fff;
  border-radius: 50%;
  transform: translateY(-50%);
}
.l-form-button .wpcf7-submit {
  width: 100%;
  padding: var(--size-22) var(--size-32);
  margin: auto;
  background-color: #333;
  color: #fff;
  border-radius: 100vmax;
  font-size: var(--size-14);
  font-weight: 700;
  line-height: 1;
  border: none;
  transition: opacity 0.3s ease;
}
.l-form-button .wpcf7-submit:hover {
  opacity: 0.5;
}
.l-form-button .wpcf7-submit[disabled] {
  opacity: 0.5;
}
.l-form .wpcf7-spinner {
  display: none;
}
.l-form .wpcf7 form .wpcf7-response-output {
  padding: 1em;
}
.l-form .wpcf7-list-item {
  margin-left: 0;
}

@media (max-width: 768px) {
  .l-form-group p {
    flex-direction: column;
    gap: var(--size-8);
  }
  .l-form-group br {
    display: none;
  }
  .l-label {
    width: 100%;
    justify-content: flex-start;
    gap: var(--size-8);
  }
  .l-form-group:not(:last-child) {
    margin-bottom: var(--size-32);
  }
  .l-form-group p {
    gap: var(--size-8);
  }
  .wpcf7-not-valid-tip {
    position: relative;
    margin-top: var(--size-12);
  }
  .l-form-group p:has(textarea) .l-label {
    margin-top: 0;
  }
  .wpcf7-form-control-wrap:has(textarea) {
    width: 100%;
  }
  .wpcf7-form-control-wrap {
    flex: unset;
  }
}

/* cookie */
.l-cookie {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: var(--size-36) var(--size-64);
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(10px);
  z-index: 10;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}
.l-cookie.is-close {
  opacity: 0;
  visibility: hidden;
}
.l-cookie__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: var(--size-24);
}
.l-cookie__text {
  color: #fff;
  font-size: var(--size-14);
  font-weight: 500;
  line-height: 2;
}
.l-cookie__link {
  text-decoration: underline;
  transition: opacity 0.3s ease-in-out;
}
.l-cookie__link:hover {
  opacity: 0.5;
}

@media (max-width: 768px) {
  .l-cookie {
    padding: var(--size-24) var(--size-32);
  }
  .l-cookie__inner {
    flex-direction: column;
    gap: var(--size-16);
  }
  .l-cookie__text {
    font-size: var(--size-12);
    line-height: 1.5;
  }
}

/* ふくのわ */
.p-fukunowa__text-small {
  font-size: var(--size-14);
  line-height: 2;
}
.p-fukunowa__text {
  font-size: var(--size-16);
  line-height: 2;
}
.p-fukunowa__contents-image {
  padding: var(--size-64) 0;
  border-radius: var(--size-16);
  overflow: hidden;
  background-color: #F7F7F7;
}
.p-fukunowa__contents-image img {
  width: 100%;
  height: auto;
}

/* マルシェ */
.p-share-button {
  display: flex;
  gap: var(--size-16);
  margin-top: var(--size-32);
  flex-wrap: wrap;
}
.p-share-button__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--size-8);
  font-size: var(--size-14);
  transition: opacity 0.3s ease-in-out;
}
.p-share-button__link:hover {
  opacity: 0.5;
}
.p-share-button__link svg {
  width: var(--size-16);
  height: var(--size-16);
}
/* ウェブとも */
.waiNav_left .waiNav-open_wrap {
  width: fit-content;
}

/* recaptcha */
.grecaptcha-badge {
  visibility: hidden;
  opacity: 0;
}