@charset "utf-8";

/*-------------------------------------
変数
-------------------------------------*/

:root {
  --ZenKakuGothicNew: "Zen Kaku Gothic New", sans-serif;
  --PTSans: "PT Sans", sans-serif;
  --ShipporiMincho: "Shippori Mincho B1", serif;
}





/*-------------------------------------
トップページ
-------------------------------------*/

/********************/
/* top-fv */
/********************/

.top-fv {
  padding-top: 150px;
  padding-bottom: 329px;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.top-fv::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(../image/top/top_fv_bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
}
.top-fv::after {
  position: absolute;
  top: calc(-100vw / 1440 * 40);
  left: calc(-100vw / 1440 * 126);
  content: "";
  width: calc(100vw / 1440 * 755);
  height: calc(100vw / 1440 * 755);
  background-image: url(../image/top/top_fv_circle.webp);
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
}

.top-fv__inner {
  padding-left: calc(100vw / 1440 * 64);
  padding-right: calc(100vw / 1440 * 120);
}

.top-fv__flex {
  display: flex;
  align-items: center;
  column-gap: calc(100vw / 1440 * 36);
}

.top-fv__body {
  flex: 1;
  padding-top: 1%;
}

.top-fv__title {
  font-family: var(--ShipporiMincho);
  font-weight: 600;
  font-size: calc(100vw / 1440 * 48);
  line-height: 1;
  letter-spacing: 0.08em;
  color: #545454;
}
.top-fv__title .space {
  letter-spacing: -0.2em;
}
.top-fv__title .space.left {
  margin-left: calc(-100vw / 1440 * 8);
}
.top-fv__title .small {
  font-size: calc(100vw / 1440 * 42);
  letter-spacing: -0.2em;
}
.top-fv__title .small span {
  margin-left: calc(100vw / 1440 * 8);
}
.top-fv__title .big {
  font-size: calc(100vw / 1440 * 56);
  margin-inline: calc(-100vw / 1440 * 18);
}
.top-fv__title .gradation {
  display: inline-block;
  width: calc(100vw / 1440 * 172);
  margin-inline: calc(100vw / 1440 * 10);
  transform: translateY(17%);
}
.top-fv__title .gradation span {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  z-index: -999;
}

.top-fv__news {
  width: 95%;
  margin-top: calc(100vw / 1440 * 70);
}

.top-fv__news-link {
  border-radius: 999px;
  background-color: #fff;
  box-shadow: 1.39px 1.39px 20px 0px rgba(154, 154, 154, 0.1);
  padding: calc(100vw / 1440 * 12) calc(100vw / 1440 * 22);
  display: flex;
  align-items: center;
}

.top-fv__news-heading {
  display: flex;
  align-items: center;
}

.top-fv__news-title {
  font-family: var(--PTSans);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.04em;
  color: #333;
  text-transform: uppercase;
}

.top-fv__news-date {
  margin-left: 10px;
  font-family: var(--PTSans);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.04em;
  color: #A0A0A0;
}

.top-fv__news-text {
  flex: 1;
  margin-left: 10px;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #333;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}

.top-fv__gallery {
  width: calc(100vw / 1440 * 628);
  display: flex;
  flex-wrap: wrap;
  gap: calc(100vw / 1440 * 5) calc(100vw / 1440 * 10);
  position: relative;
}

.top-fv__gallery-item {
  width: calc(100vw / 1440 * 309);
}

.top-fv__loop {
  position: absolute;
  bottom: 268px;
  left: 0;
}


@media screen and (max-width: 999.98px) {
  .top-fv__loop {
    bottom: 280px;
  }
}


@media screen and (max-width: 767.98px) {

  .top-fv {
    padding-top: 150px;
    padding-bottom: 100px;
  }
  .top-fv::before {
    background-image: url(../image/top/top_fv_bg_sp.webp);
  }
  .top-fv::after {
    top: calc(-100vw / 375 * 119);
    left: calc(-100vw / 375 * 246);
    width: calc(100vw / 375 * 592);
    height: calc(100vw / 375 * 592);
  }

  .top-fv__inner {
    padding-inline: calc(100vw / 375 * 15);
  }

  .top-fv__flex {
    flex-direction: column;
  }

  .top-fv__body {
    display: contents;
    padding-top: 0;
  }

  .top-fv__title {
    order: 1;
    width: calc(100% + calc(100vw / 375 * 18));
    margin-right: calc(-100vw / 375 * 18);
    font-size: calc(100vw / 375 * 32);
  }
  .top-fv__title .space {
    letter-spacing: -0.22em;
  }
  .top-fv__title .space.left {
    margin-left: calc(-100vw / 375 * 8);
  }
  .top-fv__title .small {
    font-size: calc(100vw / 375 * 28);
  }
  .top-fv__title .small span {
    margin-left: calc(100vw / 375 * 8);
  }
  .top-fv__title .big {
    font-size: calc(100vw / 375 * 38);
    margin-inline: calc(-100vw / 375 * 15);
  }
  .top-fv__title .gradation {
    width: calc(100vw / 375 * 117);
    margin-inline: calc(100vw / 375 * 8);
    transform: translateY(20%);
  }

  .top-fv__gallery {
    order: 2;
    margin-top: 50px;
    padding-inline: calc(100vw / 375 * 15);
    width: 100vw;
    gap: 5px;
  }

  .top-fv__gallery-item {
    width: calc((100% - 5px) / 2);
  }
  .top-fv__gallery-item img {
    aspect-ratio: 1 / 1;
  }

  .top-fv__news {
    order: 3;
    margin-top: calc(100vw / 375 * 80);
    width: 100%;
  }

  .top-fv__news-link {
    padding: 8px calc(100vw / 375 * 15);
  }

  .top-fv__news-heading {
    flex-direction: column;
    align-items: flex-start;
  }

  .top-fv__news-date {
    margin-left: 0;
  }

  .top-fv__news-text {
    margin-left: 12px;
    font-size: 12px;
    line-height: 1.5;
    -webkit-line-clamp: 2;
  }

  .top-fv__loop {
    bottom: 0;
    transform: translateY(58%);
  }

}





/*-------------------------------------
top-about
-------------------------------------*/

.top-about {
  margin-top: -148px;
  position: relative;
  z-index: 2;
}

.top-about__container {
  display: flex;
  align-items: center;
  column-gap: 5.57%;
}

.top-about__image {
  width: 48.5%;
}

.top-about__body {
  flex: 1;
}

.top-about__title {
  font-family: var(--ShipporiMincho);
  font-weight: 500;
  font-size: min(calc(100vw / 1280 * 48), 48px);
  letter-spacing: 0.08em;
}

.top-about__title .left {
  margin-left: -4%;
  letter-spacing: 0.02em;
}

.top-about__en {
  margin-top: 7px;
  width: fit-content;
  font-family: var(--PTSans);
  font-size: 16px;
  line-height: calc(21 / 16);
  letter-spacing: 0.03em;
  background: linear-gradient(106.8deg, #A7A7A7 2.46%, #287ACC 88.4%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.top-about__en span {
  display: inline-block;
}

.top-about__text {
  margin-top: 26px;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.02em;
}

.top-about__button {
  margin-top: 26px;
}


@media screen and (max-width: 767.98px) {

  .top-about {
    margin-top: -40px;
  }

  .top-about__container {
    flex-direction: column;
  }

  .top-about__image {
    width: 70%;
    max-width: 400px;
  }

  .top-about__body {
    margin-top: 30px;
  }

  .top-about__title {
    font-size: min(calc(100vw / 375 * 26), 26px);
  }

  .top-about__en {
    font-size: 12px;
  }

  .top-about__text {
    margin-top: 21px;
    font-size: 16px;
    line-height: 1.8;
  }

  .top-about__button {
    margin-top: 21px;
    justify-content: center;
  }

}



/********************/
/* top-service */
/********************/

.top-service {
  margin-top: 140px;
}

.top-service__bg {
  border-radius: 10px;
  background: linear-gradient(106.8deg, #D9D0D0 2.46%, #287ACC 88.4%);
  padding: 115px 55px 110px;
}

.top-service__flex {
  margin-top: 60px;
  display: flex;
  align-items: center;
  column-gap: 2.67%;
}

.top-service__image {
  width: 48.5%;
}

.top-service__body {
  flex: 1;
}

.top-service__body-title {
  font-weight: 700;
  font-size: 32px;
  line-height: 1.8;
  color: #fff;
}

.top-service__body-text {
  margin-top: 24px;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #fff;
}

.top-service__body-list {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
}

.top-service__body-item {
  font-size: 15px;
  color: #fff;
}

.top-service__body-button {
  margin-top: 24px;
}

.top-service__other {
  margin-top: 92px;
  display: flex;
}

.top-service__other-heading {
  width: min(calc(100vw / 1280 * 280), 280px);
  padding-top: 35px;
}

.top-service__other-title {
  font-family: var(--PTSans);
  font-size: min(calc(100vw / 1280 * 62), 62px);
  line-height: 1.2;
  color: #fff;
}

.top-service__other-lead {
  margin-top: 12px;
  font-weight: 500;
  font-size: min(calc(100vw / 1280 * 20), 20px);
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #fff;
}

.top-service__sliderZone {
  width: calc(100% - min(calc(100vw / 1280 * 280), 280px) + 55px);
  margin-right: -55px;
  position: relative;
}

.top-service__slider-item {
  padding-right: min(calc(100vw / 1440 * 42), 42px);
  height: auto;
  display: flex;
  flex-direction: column;
  transition: all 0.3s;
}

.top-service__slider-image img {
  aspect-ratio: 276 / 150;
}

.top-service__slider-body {
  flex: 1;
  margin-top: 20px;
  display: flex;
  flex-direction: column;
}

.top-service__slider-title {
  font-weight: 700;
  font-size: min(calc(100vw / 1280 * 20), 20px);
  color: #fff;
}

.top-service__slider-tagList {
  margin-top: 8px;
  margin-bottom: 27px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
}

.top-service__slider-tagItem {
  font-size: min(calc(100vw / 1280 * 14), 14px);
  color: #fff;
}

.top-service__slider-button {
  margin-top: auto;
}

.top-service__slider-button .common-underLine-button__text {
  font-size: min(calc(100vw / 1280 * 14), 14px);
}

/* 矢印 */
.top-service__nav {
  position: absolute;
  bottom: 0;
  left: max(calc(-100vw / 1280 * 280), -280px);
  width: fit-content;
  display: flex;
  gap: 24px;
  z-index: 5;
}

.top-service__prev,
.top-service__next {
  width: 50px;
  height: 50px;
  background: url("../image/top/top_slider_arrow.svg") no-repeat center / contain;
  cursor: pointer;
  transition: opacity 0.3s ease;
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
}

.top-service__prev {
  transform: scaleX(-1);
}

.top-service__prev.swiper-button-disabled,
.top-service__next.swiper-button-disabled {
  opacity: 0.5;
  pointer-events: none;
}

.top-service__bottom-button {
  margin-top: 85px;
}


@media screen and (max-width: 767.98px) {

  .top-service {
    margin-top: 90px;
  }

  .top-service__bg {
    background: linear-gradient(176.31deg, #D9D0D0 10.4%, #287ACC 73.86%);
    padding: 68px 15px;
  }

  .top-service__flex {
    margin-top: 40px;
    flex-direction: column;
  }

  .top-service__image {
    width: 100%;
    max-width: 400px;
  }

  .top-service__body-title {
    margin-top: 12px;
  }

  .top-service__other {
    margin-top: 68px;
    flex-direction: column;
  }

  .top-service__other-heading {
    width: 100%;
    padding-top: 0;
  }

  .top-service__other-title {
    font-size: 40px;
    line-height: 1.2;
  }

  .top-service__other-lead {
    font-size: 20px;
  }

  .top-service__sliderZone {
    padding-top: 106px;
    width: calc(100% + 15px);
    margin-right: -15px;
  }

  .top-service__nav {
    top: 24px;
    bottom: auto;
    left: 0;
  }

  .top-service__slider-button .common-underLine-button__text {
    font-size: 14px;
  }

  .top-service__slider-item {
    padding-right: min(calc(100vw / 375 * 42), 42px);
  }

  .top-service__slider-title {
    font-size: min(calc(100vw / 375 * 20), 20px);
  }

  .top-service__slider-tagItem {
    font-size: 14px;
  }

  .top-service__bottom-button {
    margin-top: 46px;
  }

}





/********************/
/* top-work */
/********************/

.top-work {
  margin-top: 132px;
  overflow: hidden;
}

.top-work__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.top-work__sliderZone {
  margin-top: 64px;
  margin-left: calc(50% - 50vw);
  width: 100vw;
}
.top-work__sliderZone:has(.common-none-text) {
  margin-left: 0;
  width: 100%;
}

.top-work__slider {
  margin-left: auto;
  margin-right: 0;
  width: calc(50% + 680px);
  padding-left: 20px;
  padding-bottom: 94px;
  position: relative;
}

.top-work__slider-item {
  padding-right: min(calc(100vw / 1440 * 42), 42px);
  height: auto;
}

.top-work__slider-link {
  height: 100%;
  border-radius: 10px;
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.06);
  overflow: hidden;
}

.top-work__slider-image img {
  aspect-ratio: 384 / 240;
}

.top-work__slider-body {
  background: #fff;
  padding: 27px 10px 27px;
}

.top-work__slider-title {
  text-align: center;
  font-weight: 700;
  font-size: min(calc(100vw / 1280 * 24), 24px);
  color: #287ACC;
}

.top-work__slider-text {
  margin-top: 10px;
  padding-inline: min(calc(100vw / 1280 * 20), 20px);
  font-size: min(calc(100vw / 1000 * 15), 15px);
  line-height: 2;
  letter-spacing: 0.04em;
}

/* 矢印 */
.top-work__nav {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 235px;
}

.top-work__prev,
.top-work__next {
  width: 50px;
  height: 50px;
  background: url("../image/top/top_slider_arrow.svg") no-repeat center / contain;
  cursor: pointer;
  transition: opacity 0.3s ease;
}

.top-work__prev {
  transform: scaleX(-1);
}

.top-work__prev.swiper-button-disabled,
.top-work__next.swiper-button-disabled {
  opacity: 0.5;
  pointer-events: none;
}

/* ドットナビ */
.top-work__sliderZone .top-work__slider .top-work__dots {
  position: absolute !important;
  bottom: 22px;
  left: 50%;
  transform: translateX(-50%);
  width: 185px;
  height: 4px;
  background: #D8D8D8;
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
}

.top-work__sliderZone .top-work__slider .top-work__dots .swiper-pagination-bullet {
  flex: 1;
  height: 4px;
  background: transparent;
  border-radius: 2px;
  margin: 0;
  opacity: 1;
  pointer-events: auto;
  position: relative;
  transition: all 0.3s ease;
}

.top-work__sliderZone .top-work__slider .top-work__dots .swiper-pagination-bullet-active {
  background: #287ACC;
}

.top-work__sliderZone .top-work__slider .top-work__dots .swiper-pagination-bullet:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -2px;
  width: 4px;
  height: 4px;
  background: transparent;
}

.top-work__support {
  margin-top: 156px;
}

.top-work__support-title {
  text-align: center;
  font-weight: 500;
  font-size: 26px;
  line-height: 1.8;
  letter-spacing: 0.03em;
}

.top-work__support-content {
  margin-top: 43px;
}

.top-work__support-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 30px 50px;
}
.top-work__support-list:nth-child(2) {
  display: none;
}

.top-work__support-link img {
  height: 60px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

.top-work__support-button {
  margin-top: 43px;
}


@media screen and (max-width: 1351.98px) {
  .top-work__slider {
    width: 100%;
  }
}


@media screen and (max-width: 767.98px) {

  .top-work {
    margin-top: 90px;
  }

  .top-work__heading {
    flex-direction: column;
    align-items: flex-start;
  }

  .top-work__heading-button {
    margin-top: 24px;
  }

  .top-work__sliderZone {
    margin-top: 48px;
  }

  .top-work__slider {
    padding-bottom: 60px;
  }

  .top-work__slider-item {
    padding-right: 24px;
  }

  .top-work__slider-image img {
    aspect-ratio: 5 / 3;
  }

  .top-work__slider-body {
    padding: 21px 10px 24px;
  }

  .top-work__slider-title {
    font-size: min(calc(100vw / 375 * 16), 16px);
  }

  .top-work__slider-text {
    margin-top: 10px;
    padding-inline: 6px;
    font-size: 14px;
    line-height: 1.8;
  }

  .top-work__nav {
    gap: 200px;
  }

  .top-work__prev,
  .top-work__next {
    width: 40px;
    height: 40px;
  }

  .top-work__sliderZone .top-work__slider .top-work__dots {
    bottom: 17px;
    width: 160px;
  }

  .top-work__support {
    margin-top: 60px;
  }

  .top-work__support-title {
    font-size: 21px;
  }

  .top-work__support-content {
    margin-top: 21px;
    margin-left: calc(50% - 50vw);
    width: 100vw;
  }

  .top-work__support-loop {
    width: max-content;
    display: flex;
    white-space: nowrap;
  }

  .top-work__support-list {
    flex-wrap: nowrap;
    gap: 40px;
    animation: work-loop-support linear infinite;
    padding-inline: 20px;
  }
  .top-work__support-list:nth-child(2) {
    display: flex;
  }
  @keyframes work-loop-support {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-100%);
    }
  }

  .top-work__support-link img {
    height: 40px;
  }

  .top-work__support-button {
    margin-top: 32px;
  }

}



/********************/
/* top-member */
/********************/

.top-member {
  margin-top: 180px;
}

.top-member__inner {
  margin-left: auto;
  width: calc(50% + 660px);
}

.top-member .common-title {
  max-width: 1380px;
}

.top-member__container {
  margin-top: 62px;
  padding-bottom: 113px;
  position: relative;
  z-index: 1;
}
.top-member__container::before {
  position: absolute;
  top: 88px;
  left: 0;
  content: "";
  width: 100%;
  height: calc(100% - 88px);
  border-radius: 10px 0 0 10px;
  background: linear-gradient(106.8deg, #D9D0D0 2.46%, #287ACC 88.4%);
  z-index: -1;
}

.top-member__list {
  max-width: 1440px;
  padding-inline: 40px;
  display: flex;
  justify-content: center;
  gap: min(calc(100vw / 1280 * 68), 68px);
}

.top-member__item {
  width: min(calc(100vw / 1000 * 298), 298px);
  display: flex;
  flex-direction: column;
  color: #fff;
}

.top-member__item-image img {
  aspect-ratio: 1 / 1;
}

.top-member__item-body {
  margin-top: 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.top-member__item-heading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2px 12px;
}

.top-member__item-name {
  font-weight: 700;
  font-size: 18px;
  line-height: calc(26 / 18);
}

.top-member__item-position {
  font-weight: 500;
  font-size: 10px;
  line-height: calc(14 / 10);
}

.top-member__item-text {
  margin-top: 24px;
  margin-bottom: 24px;
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 0.02em;
}

.top-member__item-tagList {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
}

.top-member__item-tagItem {
  font-size: 14px;
  line-height: calc(20 / 14);
}

.top-member__button {
  margin-top: 64px;
  max-width: 1380px;
}


@media screen and (max-width: 1399.98px) {
  .top-member__inner {
    width: 100%;
    padding-left: 20px;
  }
}


@media screen and (max-width: 767.98px) {

  .top-member {
    margin-top: 90px;
  }

  .top-member__inner {
    padding-left: min(calc(100vw / 375 * 15), 15px);
  }

  .top-member__container {
    margin-top: 48px;
    padding-bottom: 60px;
  }
  .top-member__container::before {
    top: 100px;
    height: calc(100% - 100px);
  }

  .top-member__list {
    padding-inline: 20px;
    flex-direction: column;
    align-items: center;
    gap: 36px;
  }

  .top-member__item {
    width: min(calc(100vw / 375 * 300), 300px);
  }

  .top-member__button {
    margin-top: 52px;
  }

}



/********************/
/* top-knowledge */
/********************/

.top-knowledge {
  margin-top: 126px;
}

.top-knowledge__content {
  margin-top: 46px;
  margin-left: auto;
  max-width: 1184px;
  padding-left: 40px;
}

.top-knowledge__item {
  padding-block: 24px;
  border-bottom: 1px solid #D9D9D9;
}

.top-knowledge__link {
  display: flex;
  align-items: center;
  gap: 4.5%;
  padding-right: 14.5%;
}

.top-knowledge__item-image {
  width: 30%;
}

.top-knowledge__item-body {
  flex: 1;
}

.top-knowledge__item-title {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.8;
  color: #287ACC;
}

.top-knowledge__item-text {
  margin-top: 24px;
  font-size: 16px;
  letter-spacing: 0.04em;
}

.top-knowledge__button-area {
  position: absolute;
  top: 50%;
  right: 7%;
  transform: translateY(-50%);
}


@media screen and (max-width: 767.98px) {

  .top-knowledge {
    margin-top: 90px;
  }

  .top-knowledge__content {
    margin-top: 30px;
    padding-left: 20px;
  }

  .top-knowledge__link {
    flex-direction: column;
    align-items: flex-start;
    padding-right: 0;
    padding-bottom: 60px;
  }

  .top-knowledge__item-image {
    width: 100%;
  }

  .top-knowledge__item-body {
    width: 100%;
    margin-top: 21px;
  }

  .top-knowledge__item-text {
    margin-top: 12px;
  }

  .top-knowledge__button-area {
    top: auto;
    bottom: 0;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }

}



/********************/
/* top-news */
/********************/

.top-news {
  margin-top: 130px;
  margin-bottom: 150px;
}

.top-news__flex {
  display: flex;
  column-gap: min(calc(100vw / 1440 * 207), 207px);
}

.top-news__heading {
  width: 300px;
}

.top-news__heading-button {
  margin-top: 62px;
}

.top-news__content {
  flex: 1;
  padding-top: 15px;
}

.top-news__item {
  padding-bottom: 24px;
  padding-inline: min(calc(100vw / 1440 * 22), 22px);
  border-bottom: 1px solid #D9D9D9;
}
.top-news__item:not(:first-child) {
  padding-top: 24px;
}

.top-news__link {
  width: fit-content;
  display: flex;
  align-items: center;
  gap: min(calc(100vw / 1440 * 28), 28px);
}

.top-news__date {
  width: 100px;
  font-family: var(--PTSans);
  font-weight: 700;
  font-size: 16px;
  line-height: calc(21 / 16);
  letter-spacing: 0.04em;
  color: #287ACC;
}

.top-news__text {
  flex: 1;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #444;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}


@media screen and (max-width: 767.98px) {

  .top-news {
    margin-top: 90px;
    margin-bottom: 120px;
  }

  .top-news__flex {
    flex-direction: column;
  }

  .top-news__heading {
    width: 100%;
  }

  .top-news__heading-button {
    margin-top: 32px;
  }

  .top-news__content {
    padding-top: 40px;
  }

  .top-news__text {
    line-height: 1.6;
  }

  .top-news__item {
    padding-inline: 0;
  }

}





/*-------------------------------------
企業情報
-------------------------------------*/

/********************/
/* 下層MV */
/********************/

.about-mv__anchor {
  margin-top: 24px;
}

.about-mv__anchor-list {
  display: flex;
  column-gap: 24px;
}

.about-mv__anchor-link {
  padding: 4px 0 12px 24px;
  font-weight: 700;
  font-size: 16px;
  line-height: calc(23 / 16);
  letter-spacing: 0.03em;
  border-bottom: 1px solid #555;
  position: relative;
}
.about-mv__anchor-link::before {
  position: absolute;
  top: 11px;
  left: 5px;
  transform: rotate(45deg);
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid #555;
  border-bottom: 2px solid #555;
  border-radius: 0 0 1px 0;
}

@media screen and (max-width: 767.98px) {

  .about-mv__anchor-list {
    max-width: 350px;
    flex-wrap: wrap;
    row-gap: 8px;
  }

  .about-mv__anchor-link {
    padding-bottom: 8px;
    font-size: 14px;
  }

}



/********************/
/* about-philosophy */
/********************/

.about-philosophy {
  margin-top: 106px;
  overflow: hidden;
}

.about-philosophy__inner {
  margin-left: auto;
  width: calc(50% + 676px);
  padding-left: 20px;
}

.about-philosophy__container {
  border-radius: 20px 0 0 20px;
  background: linear-gradient(106.8deg, #D9D0D0 2.46%, #287ACC 88.4%);
  padding-top: 115px;
  padding-bottom: 110px;
  padding-left: min(calc(100vw / 1440 * 162), 162px);
  padding-right: 40px;
}

.about-philosophy__list {
  width: min(calc(100vw / 1280 * 974), 974px);
}

.about-philosophy__item {
  display: flex;
  align-items: center;
  padding-bottom: 24px;
  border-bottom: 1px solid #fff;
}
.about-philosophy__item:not(:first-child) {
  padding-top: 44px;
}

.about-philosophy__left {
  width: 292px;
  padding-right: 20px;
  display: flex;
  align-items: center;
  gap: 24px;
  flex-shrink: 0;
}

.about-philosophy__en {
  font-family: var(--PTSans);
  font-size: 42px;
  line-height: 1.2;
  letter-spacing: 0.03em;
  color: #fff;
}

.about-philosophy__ja {
  font-weight: 500;
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #fff;
}

.about-philosophy__right {
  flex: 1;
}

.about-philosophy__text {
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #fff;
}

.about-philosophy__list-num {
  margin-left: 20px;
  list-style: decimal;
}


@media screen and (max-width: 1351.98px) {
  .about-philosophy__inner {
    width: 100%;
  }
}

@media screen and (max-width: 999.98px) {
  .about-philosophy__list {
    width: 100%;
  }
  .about-philosophy__container {
    padding-left: 40px;
  }
}

@media screen and (max-width: 767.98px) {

  .about-philosophy {
    margin-top: 90px;
  }

  .about-philosophy__inner {
    padding-left: min(calc(100vw / 375 * 15), 15px);
  }

  .about-philosophy__container {
    padding: 28px 20px;
    border-radius: 15px 0 0 15px;
  }

  .about-philosophy__item {
    flex-direction: column;
    padding: 30px 0;
  }

  .about-philosophy__left {
    width: 100%;
    align-items: flex-end;
    gap: 20px;
  }

  .about-philosophy__en {
    font-size: 32px;
  }

  .about-philosophy__ja {
    font-size: 14px;
    padding-bottom: 3px;
  }

  .about-philosophy__right {
    margin-top: 10px;
    width: 100%;
  }

  .about-philosophy__text {
    font-size: 16px;
  }

}



/********************/
/* about-message */
/********************/

.about-message {
  margin-top: 172px;
  padding-bottom: 105px;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.about-message::before {
  position: absolute;
  top: calc(433px + calc(100vw / 1440 * 120)*calc(130 / 121));
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #F6F6F6;
  z-index: -1;
}

.about-message__container {
  margin-top: 68px;
  margin-inline: auto;
  max-width: 1014px;
}

.about-message__inner {
  padding-right: 42px;
}

.about-message__body {
  margin-top: 68px;
}

.about-message__text {
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.04em;
}

.about-message__sign {
  margin-top: 24px;
  display: flex;
  align-items: center;
  gap: 16px;
}

.about-message__company {
  font-weight: 500;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #287ACC;
}

.about-message__name {
  font-weight: 500;
  font-size: 20px;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #287ACC;
}

.about-message__note {
  margin-top: 68px;
}

.about-message__note-link {
  border-radius: 20px;
  background-color: #fff;
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.08);
  padding: 16px 110px 16px 18px;
  display: flex;
  align-items: center;
}

.about-message__note-image {
  width: 27.5%;
}

.about-message__note-body {
  flex: 1;
}

.about-message__note-title {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.8;
  color: #287ACC;
}

.about-message__note-text {
  margin-top: 8px;
  font-size: 16px;
  letter-spacing: 0.04em;
}

.about-message__note-area {
  position: absolute;
  top: 50%;
  right: 4.1%;
  transform: translateY(-50%);
}

.about-message__loop {
  position: absolute;
  top: 433px;
  left: 0;
  z-index: -1;
}


@media screen and (max-width: 767.98px) {

  .about-message {
    margin-top: 90px;
    padding-bottom: 60px;
  }
  .about-message::before {
    top: calc(200px + calc(100vw / 375 * 77) * calc(130 / 121));
  }

  .about-message__container {
    margin-top: 36px;
  }

  .about-message__inner {
    padding-right: 0;
  }

  .about-message__text {
    font-size: 15px;
  }

  .about-message__body {
    margin-top: 24px;
  }

  .about-message__sign {
    margin-top: 16px;
  }

  .about-message__company {
    font-size: 14px;
  }

  .about-message__name {
    font-size: 18px;
  }

  .about-message__note {
    margin-top: 42px;
  }

  .about-message__note-link {
    flex-direction: column;
    padding: 24px 20px 60px;
  }

  .about-message__note-image {
    width: 80%;
    margin-inline: auto;
  }
  .about-message__note-image img {
    aspect-ratio: 2.5 / 1;
  }

  .about-message__note-title {
    font-size: 18px;
  }

  .about-message__note-text {
    font-size: 15px;
  }

  .about-message__note-area {
    top: auto;
    bottom: 16px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }

  .about-message__loop {
    top: 200px;
  }

}



/********************/
/* about-member */
/********************/

.about-member {
  margin-top: 107px;
}

.about-member__list {
  margin-top: 68px;
}

.about-member__item {
  display: flex;
  column-gap: 36px;
}
.about-member__item:not(:first-child) {
  margin-top: 84px;
}

.about-member__image {
  width: 35.8%;
}

.about-member__body {
  flex: 1;
}

.about-member__text {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #287ACC;
}

.about-member__flex {
  margin-top: 26px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 16px;
}

.about-member__position {
  font-weight: 500;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #287ACC;
}

.about-member__name {
  font-weight: 500;
  font-size: 24px;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #287ACC;
}

.about-member__tagList {
  margin-top: 11px;
  display: flex;
  flex-wrap: wrap;
  font-size: 14px;
  line-height: calc(20 / 14);
  gap: 4px 12px;
}

.about-member__tagItem {
  font-size: 14px;
}

.about-member__accordion {
  margin-top: 24px;
  border-top: 1px solid #D9D9D9;
  position: relative;
}

.about-member__accordion-content {
  padding-top: 12px;
}

.about-member__accordion-text {
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.about-member__accordion-text:not(:first-child) {
  margin-top: 26px;
}
.about-member__accordion-text:last-child {
  padding-bottom: 23px;
}

.about-member__accordion-switching {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  border-top: 1px solid #D9D9D9;
  display: flex;
  justify-content: center;
}

.about-member__accordion-button {
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #287ACC;
  transform: translateY(-50%);
  padding-left: 23px;
  position: relative;
  z-index: 1;
}
.about-member__accordion-button::before {
  position: absolute;
  top: 0;
  left: -11px;
  content: "";
  width: calc(100% + 22px);
  height: 100%;
  background-color: #FEFEFE;
  z-index: -1;
}
.about-member__accordion-button::after {
  position: absolute;
  top: 5px;
  left: 3px;
  transform: rotate(45deg);
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid #287ACC;
  border-bottom: 2px solid #287ACC;
  border-radius: 0 0 1px 0;
}

@media (hover: hover) {
  .about-member__accordion-button:hover {
    opacity: 1;
  }
}

.about-member__accordion-content {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.4s ease;
}
.about-member__accordion-switching.is-active {
  top: 100%;
}
.about-member__accordion-switching.is-active .about-member__accordion-button::after {
  top: 9px;
  transform: rotate(-135deg);
}


@media screen and (max-width: 767.98px) {

  .about-member {
    margin-top: 90px;
  }

  .about-member__list {
    margin-top: 46px;
  }

  .about-member__item {
    flex-direction: column;
  }
  .about-member__item:not(:first-child) {
    margin-top: 64px;
  }

  .about-member__image {
    margin-inline: auto;
    width: 70%;
    max-width: 400px;
  }

  .about-member__body {
    width: 100%;
    margin-top: 16px;
  }

  .about-member__flex {
    flex-direction: column;
    align-items: flex-start;
  }

  .about-member__position {
    font-size: 13px;
  }

  .about-member__name {
    font-size: 21px;
    line-height: 1.6;
  }

  .about-member__tagList {
    margin-top: 16px;
  }

}



/********************/
/* about-company */
/********************/

.about-company {
  margin-top: 173px;
  margin-bottom: 130px;
}

.about-company__inner {
  margin-inline: auto;
  max-width: 1054px;
  padding-inline: 40px;
}

.about-company__content {
  margin-top: 78px;
}

.about-company__list {
  display: flex;
  column-gap: 56px;
}

.about-company__titleZone {
  width: 196px;
  padding: 32px 5px;
  border-top: 2px solid #D9D9;
  display: flex;
  justify-content: center;
  align-items: center;
}
.about-company__list:last-child .about-company__titleZone {
  border-bottom: 2px solid #D9D9;
}

.about-company__title {
  text-align: center;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.02em;
  color: #287ACC;
}

.about-company__dataZone {
  flex: 1;
  padding-block: 32px;
  border-top: 2px solid #D9D9;
  display: flex;
  align-items: center;
}
.about-company__list:last-child .about-company__dataZone {
  border-bottom: 2px solid #D9D9;
}

.about-company__data {
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.02em;
}


@media screen and (max-width: 767.98px) {

  .about-company {
    margin-top: 90px;
    margin-bottom: 120px;
  }

  .about-company__inner {
    padding-inline: min(calc(100vw / 375 * 15), 15px);
  }

  .about-company__content {
    margin-top: 60px;
  }

  .about-company__list {
    column-gap: 12px;
  }

  .about-company__titleZone {
    width: 85px;
    padding: 21px 0;
  }

  .about-company__title {
    font-size: 14px;
    line-height: calc(22 / 14);
  }

  .about-company__dataZone {
    padding-block: 21px;
  }

  .about-company__data {
    font-size: 14px;
    line-height: calc(22 / 14);
  }
}





/*-------------------------------------
SEOに特化したサービス
-------------------------------------*/

/********************/
/* service-content */
/********************/

.service-content {
  margin-block: 120px;
}

.service-content__list {
  padding-right: 46px;
}

.service-content__item {
  display: flex;
  column-gap: 36px;
}
.service-content__item:not(:first-child) {
  margin-top: 68px;
}

.service-content__image {
  width: 37.5%;
}

.service-content__body {
  flex: 1;
}

.service-content__title {
  font-weight: 500;
  font-size: 24px;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #287ACC;
}

.service-content__box {
  margin-top: 24px;
  padding-block: 8px;
  border-top: 1px solid #D9D9D9;
  border-bottom: 1px solid #D9D9D9;
}

.service-content__box-title {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #287ACC;
}

.service-content__box-list {
  margin-top: 8px;
}

.service-content__box-item {
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #287ACC;
  padding-left: 16px;
  position: relative;
}
.service-content__box-item::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "・";
}

.service-content__text {
  margin-top: 24px;
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

.service-content__button {
  margin-top: 24px;
}


@media screen and (max-width: 767.98px) {

  .service-content {
    margin-top: 90px;
    margin-bottom: 120px;
  }

  .service-content__list {
    padding-right: 0;
  }

  .service-content__item {
    flex-direction: column;
  }
  .service-content__item:not(:first-child) {
    margin-top: 90px;
  }

  .service-content__image {
    margin-inline: auto;
    width: 70%;
    max-width: 400px;
  }

  .service-content__body {
    width: 100%;
    margin-top: 16px;
  }

  .service-content__title {
    font-size: 21px;
  }

  .service-content__box {
    margin-top: 8px;
  }

  .service-content__box-list {
    margin-top: 6px;
  }

  .service-content__box-item {
    font-size: 14px;
  }

  .service-content__text {
    margin-top: 20px;
  }

}





/*-------------------------------------
お知らせ一覧
-------------------------------------*/

/********************/
/* news-content */
/********************/

.news-content {
  margin-top: 115px;
  margin-bottom: 120px;
}

.news-content__item:not(:first-child) {
  margin-top: 42px;
}

.news-content__link {
  position: relative;
  z-index: 1;
}
.news-content__link::before {
  position: absolute;
  top: -16px;
  left: 0;
  content: "";
  width: 100%;
  height: calc(100% + 32px);
  background-image: url(../image/news/news_bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
  opacity: 0;
  transition: all 0.45s;
}
@media (hover: hover) {
  .news-content__link:hover {
    opacity: 1;
  }
  .news-content__link:hover::before {
    opacity: 1;
  }
}

.news-content__inner {
  margin-inline: auto;
  max-width: 1120px;
  padding-inline: 40px;
  display: flex;
  position: relative;
}

.news-content__date {
  width: 131px;
}

.news-content__year {
  width: 100%;
  display: inline-block;
  font-family: var(--PTSans);
  font-size: 12px;
  line-height: calc(16 / 12);
  letter-spacing: 0.03em;
  color: rgba(40, 122, 204, 0.5);
  background: linear-gradient(106.8deg, #A7A7A7 2.46%, #287ACC 88.4%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: all 0.45s;
}
@media (hover: hover) {
  .news-content__link:hover .news-content__year {
    background: unset;
    -webkit-background-clip: unset;
    -webkit-text-fill-color: unset;
    color: #fff;
  }
}

.news-content__day {
  font-family: var(--PTSans);
  font-weight: 700;
  font-size: 40px;
  line-height: calc(44 / 40);
  letter-spacing: 0.03em;
  color: rgba(40, 122, 204, 0.5);
  background: linear-gradient(106.8deg, #A7A7A7 2.46%, #287ACC 88.4%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: all 0.45s;
}
@media (hover: hover) {
  .news-content__link:hover .news-content__day {
    background: unset;
    -webkit-background-clip: unset;
    -webkit-text-fill-color: unset;
    color: #fff;
  }
}

.news-content__title {
  flex: 1;
  padding: 20px 42px 20px 24px;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #333;
  display: flex;
  align-items: center;
  position: relative;
  transition: all 0.45s;
}
.news-content__title::before {
  position: absolute;
  top: 2px;
  left: 0;
  content: "";
  width: 1px;
  height: calc(100% - 2px);
  background-color: #D8D8D8;
  transition: all 0.45s;
}
@media (hover: hover) {
  .news-content__link:hover .news-content__title {
    color: #fff;
  }
  .news-content__link:hover .news-content__title::before {
    background-color: #fff;
  }
}

.news-content__arrow {
  position: absolute;
  top: 50%;
  right: 40px;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
}
.news-content__arrow::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(../image/news/news_arrow_before.webp);
  background-repeat: no-repeat;
  background-size: contain;
  transition: all 0.45s;
}
.news-content__arrow::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(../image/news/news_arrow_after.webp);
  background-repeat: no-repeat;
  background-size: contain;
  transition: all 0.45s;
  opacity: 0;
}
@media (hover: hover) {
  .news-content__link:hover .news-content__arrow::before {
    opacity: 0;
  }
  .news-content__link:hover .news-content__arrow::after {
    opacity: 1;
  }
}

.news-content__pagination {
  margin-top: 80px;
  display: flex;
  justify-content: center;
  column-gap: 5px;
}

.news-content__pagination > a,
.news-content__pagination > span {
  width: 24px;
  height: 32px;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: var(--PTSans);
  font-size: 16px;
  color: #333;
}
.news-content__pagination .page-numbers.current {
  background: linear-gradient(106.8deg, #A7A7A7 2.46%, #287ACC 88.4%);
  color: #fff;
}
.news-content__pagination .page-numbers.prev,
.news-content__pagination .page-numbers.next {
  position: relative;
}
.news-content__pagination .page-numbers.prev::before {
  position: absolute;
  top: 50%;
  left: 55%;
  transform: translate(-50%, -50%) rotate(45deg);
  content: "";
  width: 7px;
  height: 7px;
  border-left: 2px solid #333;
  border-bottom: 2px solid #333;
}
.news-content__pagination .page-numbers.next::before {
  position: absolute;
  top: 50%;
  left: 45%;
  transform: translate(-50%, -50%) rotate(-45deg);
  content: "";
  width: 7px;
  height: 7px;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
}


@media screen and (max-width: 767.98px) {

  .news-content {
    margin-top: 90px;
  }

  .news-content__inner {
    padding-inline: min(calc(100vw / 375 * 15), 15px);
  }

  .news-content__date {
    width: 95px;
  }

  .news-content__day {
    font-size: 32px;
  }

  .news-content__title {
    padding: 8px 36px 8px 15px;
    font-size: 16px;
  }

  .news-content__arrow {
    right: min(calc(100vw / 375 * 15), 15px);
    width: 26px;
    height: 26px;
  }

  .news-content__pagination {
    margin-top: 60px;
  }

}





/*-------------------------------------
お知らせ詳細
-------------------------------------*/

/********************/
/* single-news */
/********************/

.single-news {
  margin-top: 200px;
  margin-bottom: 120px;
}

.single-news__inner {
  margin-inline: auto;
  max-width: 1120px;
  padding-inline: 40px;
}

.single-news__heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.single-news__date {
  width: fit-content;
}

.single-news__year {
  width: 100%;
  display: inline-block;
  font-family: var(--PTSans);
  font-size: 12px;
  line-height: calc(16 / 12);
  letter-spacing: 0.03em;
  background: linear-gradient(106.8deg, #A7A7A7 2.46%, #287ACC 88.4%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: all 0.45s;
}

.single-news__day {
  font-family: var(--PTSans);
  font-weight: 700;
  font-size: 40px;
  line-height: calc(44 / 40);
  letter-spacing: 0.03em;
  background: linear-gradient(106.8deg, #A7A7A7 2.46%, #287ACC 88.4%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: all 0.45s;
}

.single-news__title {
  margin-top: 6px;
  font-weight: 500;
  font-size: 32px;
  line-height: 1.5;
  letter-spacing: 0.03em;
  color: #333;
  padding-bottom: 20px;
}

.single-news__thumbnail {
  margin-top: 36px;
}

.single-news__content {
  margin-top: 56px;
}

.single-news__content p {
  font-weight: 500;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.03em;
}

.single-news__content a {
  display: inline-block;
  color: #287ACC;
}

.single-news__content ul li {
  padding-left: 1em;
  position: relative;
}
.single-news__content ul li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "・";
  scale: 1.5;
}

.single-news__bottom {
  margin-top: 120px;
}

.single-news__bottom-inner {
  display: flex;
  justify-content: space-between;
  column-gap: 60px;
}

.single-news__bottom-link {
  max-width: min(calc(100vw / 900 * 387), 387px);
  height: 100%;
  display: flex;
  align-items: center;
  column-gap: 16px;
  position: relative;
}
.single-news__bottom-link::before {
  position: absolute;
  top: 0;
  content: "";
  width: 5px;
  height: 100%;
  border-radius: 30px;
  background: linear-gradient(106.8deg, #D9D0D0 2.46%, #287ACC 88.4%);
}

.single-news__back .single-news__bottom-link {
  padding-left: 21px;
}
.single-news__back .single-news__bottom-link::before {
  left: 0;
}

.single-news__next .single-news__bottom-link {
  padding-right: 21px;
  justify-content: flex-end;
}
.single-news__next .single-news__bottom-link::before {
  right: 0;
}

.single-news__bottom-arrow {
  width: 30px;
}
.single-news__next .single-news__bottom-arrow {
  transform: rotate(180deg);
}

.single-news__bottom-text {
  flex: 1;
  font-weight: 500;
  font-size: 18px;
  line-height: calc(26 / 18);
  letter-spacing: 0.04em;
  color: #287ACC;
}


@media screen and (max-width: 767.98px) {

  .single-news {
    margin-top: 90px;
    margin-bottom: 90px;
  }

  .single-news__inner {
    padding-inline: min(calc(100vw / 375 * 15), 15px);
  }

  .single-news__day {
    font-size: 32px;
  }

  .single-news__title {
    font-size: 24px;
  }

  .single-news__thumbnail {
    margin-top: 16px;
  }

  .single-news__content {
    margin-top: 36px;
  }

  .single-news__content p {
    font-size: 16px;
  }

  .single-news__bottom {
    margin-top: 64px;
  }

  .single-news__bottom-inner {
    column-gap: 25px;
  }

  .single-news__bottom-link {
    flex-direction: column;
    justify-content: center;
    row-gap: 8px;
  }

  .single-news__back .single-news__bottom-link {
    width: fit-content;
    align-items: flex-start;
    padding-left: 14px;
  }

  .single-news__next {
    flex: 1;
    display: flex;
    justify-content: flex-end;
  }

  .single-news__next .single-news__bottom-link {
    flex: 1;
    flex-direction: column-reverse;
    align-items: flex-end;
    padding-right: 14px;
  }

  .single-news__bottom-text {
    flex: unset;
    font-size: 14px;
  }

}





/*-------------------------------------
実例／実績一覧詳細
-------------------------------------*/

/********************/
/* single-work */
/********************/

.single-work {
  margin-top: 205px;
  margin-bottom: 120px;
}

.single-work__flex {
  display: flex;
  column-gap: 28px;
  position: relative;
}


/********************/
/* single-work__sidebar */
/********************/

.single-work__sidebar {
  width: 29.5%;
  display: flex;
  flex-direction: column;
  row-gap: 56px;
  padding-bottom: min(calc(100vw / 1280 * 350), 350px);
}

.single-work__sidebar-section {
  position: relative;
}

.single-work__heading-en {
  position: absolute;
  top: 0;
  left: 0;
  height: max-content;
  font-family: var(--PTSans);
  font-weight: 700;
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.04em;
  transform: scale(-1) translateX(100%);
  writing-mode: vertical-rl;
  background: linear-gradient(106.8deg, #A7A7A7 2.46%, #287ACC 88.4%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.single-work__heading-en.single-work__heading-en--service {
  left: 3px;
}

.single-work__heading-ja {
  border-radius: 5px;
  background: linear-gradient(106.8deg, #D9D0D0 2.46%, #287ACC 88.4%);
  padding: 12px 24px;
  font-weight: 700;
  font-size: 18px;
  line-height: calc(26 / 18);
  letter-spacing: 0.04em;
  color: #fff;
}

.single-work__pickup-list {
  margin-top: 16px;
}

.single-work__pickup-item:not(:first-child) {
  margin-top: 16px;
}

.single-work__pickup-link {
  display: flex;
  column-gap: 8px;
}

.single-work__pickup-thumb {
  width: 100px;
}
.single-work__pickup-thumb img {
  border-radius: 5px;
  aspect-ratio: 100 / 75;
}

.single-work__pickup-body {
  flex: 1;
}

.single-work__pickup-title {
  font-weight: 700;
  font-size: 12px;
  line-height: calc(17 / 12);
  color: #287ACC;
}

.single-work__pickup-text {
  margin-top: 5px;
  font-size: 10px;
  letter-spacing: 0.04em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.single-work__service-list {
  margin-top: 16px;
  padding-inline: 24px;
}

.single-work__service-item:not(:first-child) {
  margin-top: 8px;
}

.single-work__service-link {
  width: fit-content;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.8;
  color: #287ACC;
  padding-left: 13px;
  position: relative;
}
.single-work__service-link::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "・";
}

.single-work__sidebar-bottom {
  min-height: 30px;
  position: sticky;
  top: 95px;
  z-index: 1;
}
.single-work__sidebar-bottom::after {
  position: absolute;
  top: calc(100% - 90px);
  left: max(calc(-100vw / 1280 * 200), -200px);
  content: "";
  width: min(calc(100vw / 1280 * 447), 447px);
  height: auto;
  aspect-ratio: 447.35 / 458;
  background-image: url(../image/common/common_mark.webp);
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
}

.single-work__sidebar-toc:has(#toc_container_sidebar) {
  padding: 16px 16px 25px;
  border-radius: 5px;
  background-image: url(../image/work/toc_bg_side.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.single-work__sidebar-toc #toc_container_sidebar {
  border: none;
  padding: 0;
  margin-bottom: 0;
  font-size: unset;
}

.single-work__sidebar-toc #toc_container_sidebar p.toc_title {
  text-align: left;
  font-weight: 700;
  font-size: 16px;
  line-height: calc(23 / 16);
  color: #fff;
}

.single-work__sidebar-toc #toc_container_sidebar p.toc_title+ul.toc_list {
  margin-top: 6px;
  padding: 16px;
  border-radius: 5px;
  background-color: #fff;
}

.single-work__sidebar-toc #toc_container_sidebar li:not(:first-child) {
  margin-top: 9px;
}

.single-work__sidebar-toc #toc_container_sidebar a {
  width: fit-content;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.04em;
  transition: all 0s;
}
@media (hover: hover) {
  .single-work__sidebar-toc #toc_container_sidebar a:hover {
    text-decoration: none;
    font-weight: 500;
    color: #287ACC;
  }
}

.single-work__sidebar-toc #toc_container_sidebar ul ul {
  margin-top: 3px;
  margin-left: 1em;
  position: relative;
}
.single-work__sidebar-toc #toc_container_sidebar ul ul::before {
  position: absolute;
  top: 0;
  left: -1.2em;
  content: "∟";
  font-size: 10px;
}



/********************/
/* single-work__main */
/********************/

.single-work__main {
  flex: 1;
}

.single-work__heading {
  display: flex;
  column-gap: 25px;
}

.single-work__thumb {
  width: 47.3%;
}

.single-work__body {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.single-work__client {
  font-weight: 700;
  font-size: 18px;
  line-height: 1.8;
  color: #287ACC;
}

.single-work__title {
  margin-top: -3px;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.7;
  color: #333;
  margin-bottom: 21px;
}

.single-work__categories {
  margin-top: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 4px 16px;
}

.single-work__category {
  display: flex;
  flex-wrap: wrap;
  column-gap: 10px;
}

.single-work__category-link {
  font-weight: 700;
  line-height: 1.8;
  color: #287ACC;
  position: relative;
}

.single-work__category-link--genre {
  font-size: 13px;
}
.single-work__category-link--genre:not(:last-child)::before {
  position: absolute;
  top: 0;
  left: 100%;
  content: ",";
}

.single-work__category-link--tag {
  font-size: 12px;
  padding-left: 8px;
}
.single-work__category-link--tag::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "#";
}

.single-work__main-toc:has(#toc_container) {
  margin-top: 56px;
  border-radius: 5px;
  padding: 32px;
  background-image: url(../image/work/toc_bg_main.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.single-work__main-toc #toc_container {
  border: none;
  padding: 0;
  margin-bottom: 0;
  font-size: unset;
}

.single-work__main-toc #toc_container p.toc_title {
  padding-inline: 10px;
  text-align: left;
  font-size: 18px;
  line-height: calc(26 / 18);
  color: #fff;
}

.single-work__main-toc #toc_container p.toc_title+ul.toc_list {
  margin-top: 24px;
  padding: 28px;
  border-radius: 5px;
  background-color: #fff;
}

.single-work__main-toc #toc_container li:not(:first-child) {
  margin-top: 16px;
}

.single-work__main-toc #toc_container a {
  width: fit-content;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.04em;
  transition: all 0s;
}
@media (hover: hover) {
  .single-work__main-toc #toc_container a:hover {
    text-decoration: none;
    font-weight: 500;
    color: #287ACC;
  }
}

.single-work__main-toc #toc_container ul ul {
  margin-top: 5px;
  position: relative;
}
.single-work__main-toc #toc_container ul ul::before {
  position: absolute;
  top: 0;
  left: -1.2em;
  content: "∟";
  font-size: 14px;
}

.single-work__content {
  margin-top: 56px;
}

.single-work__content h2 {
  margin-top: 56px;
  margin-bottom: 16px;
  padding: 8px 0 8px 21px;
  font-weight: 700;
  font-size: 24px;
  line-height: calc(35 / 24);
  letter-spacing: 0.04em;
  color: #287ACC;
  position: relative;
}
.single-work__content h2::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 5px;
  height: 100%;
  border-radius: 30px;
  background: linear-gradient(106.8deg, #D9D0D0 2.46%, #287ACC 88.4%);
}

.single-work__content h3 {
  margin-top: 28px;
  font-weight: 700;
  font-size: 21px;
  color: #287ACC;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.single-work__content h4 {
  margin-top: 21px;
  font-weight: 700;
  font-size: 18px;
  color: #287ACC;
}

.single-work__content h5 {
  margin-top: 16px;
  font-weight: 700;
  font-size: 16px;
  color: #287ACC;
}

.single-work__content p {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.03em;
  margin-bottom: 24px;
}

.single-work__content a {
  display: inline-block;
  color: #287ACC;
}

.single-work__content figure {
  margin-bottom: 16px;
}

.single-work__content ul li {
  padding-left: 1em;
  position: relative;
}
.single-work__content ul li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "・";
  scale: 1.5;
}

.single-work__related {
  margin-top: 120px;
}

.single-work__related-title {
  border-radius: 5px;
  background: linear-gradient(106.8deg, #D9D0D0 2.46%, #287ACC 88.4%);
  padding: 7px 24px;
  font-weight: 700;
  font-size: 24px;
  line-height: calc(35 / 24);
  letter-spacing: 0.04em;
  color: #fff;
}

.common-archive.common-archive--related {
  margin-top: 32px;
  margin-bottom: 0;
  padding-inline: 17px;
}

.common-archive--related .common-archive__item {
  width: calc((100% - min(calc(100vw / 1280 * 44), 44px)) / 2);
}


@media screen and (max-width: 999.98px) {

  .single-work__heading {
    flex-direction: column;
  }

  .single-work__thumb {
    width: 100%;
  }

  .single-work__body {
    margin-top: 18px;
  }

  .single-work__title {
    margin-top: 4px;
  }

}


@media screen and (max-width: 767.98px) {

  .single-work {
    margin-block: 90px;
  }

  .single-work__flex {
    flex-direction: column-reverse;
  }

  .single-work__main {
    width: 100%;
  }

  .single-work__title {
    font-size: 22px;
  }

  .single-work__categories {
    justify-content: flex-start;
    flex-direction: column;
  }

  .single-work__category-link {
    width: fit-content;
  }

  .single-work__main-toc:has(#toc_container) {
    margin-top: 42px;
    padding: 15px 15px 20px;
  }

  .single-work__main-toc #toc_container p.toc_title {
    padding-inline: 0;
  }

  .single-work__main-toc #toc_container p.toc_title+ul.toc_list {
    margin-top: 14px;
    padding: 12px;
  }

  .single-work__main-toc #toc_container a {
    font-size: 14px;
  }

  .single-work__main-toc #toc_container ul ul {
    margin-left: 1.2em;
  }
  .single-work__main-toc #toc_container ul ul::before {
    left: -1.3em;
    font-size: 12px;
  }

  .single-work__content {
    margin-top: 42px;
  }

  .single-work__content h2 {
    margin-top: 42px;
    padding: 5px 0 5px 16px;
    font-size: 22px;
  }
  .single-work__content h2::before {
    width: 4px;
  }

  .single-work__content h3 {
    margin-top: 24px;
    font-size: 20px;
  }

  .single-work__content h4 {
    margin-top: 20px;
    font-size: 16px;
  }

  .single-work__related {
    margin-top: 80px;
  }

  .single-work__related-title {
    padding: 8px 20px;
    font-size: 21px;
  }

  .common-archive.common-archive--related {
    margin-top: 24px;
    padding-inline: 0;
  }

  .common-archive--related .common-archive__item {
    width: calc((100% - 15px) / 2);
  }

  .single-work__sidebar {
    margin-top: 64px;
    width: 100%;
    row-gap: 45px;
    padding-bottom: 0;
  }

  .single-work__sidebar-toc:has(#toc_container_sidebar) {
    padding: 15px 15px 20px;
  }

  .single-work__heading-en {
    font-size: min(calc(100vw / 375 * 14), 14px);
  }
  .single-work__heading-en.single-work__heading-en--service {
    left: 2px;
  }

  .single-work__heading-ja {
    padding: 8px 20px;
    font-size: 21px;
    line-height: calc(35 / 24);
  }

  .single-work__pickup-thumb {
    width: 120px;
  }

  .single-work__pickup-title {
    font-size: 14px;
  }

  .single-work__pickup-text {
    font-size: 12px;
  }

  .single-work__service-list {
    padding-inline: 10px;
  }

  .single-work__sidebar-bottom {
    min-height: auto;
    position: relative;
    top: 0;
  }
  .single-work__sidebar-bottom::after {
    display: none;
  }

}





/*-------------------------------------
資料ダウンロード詳細
-------------------------------------*/

/********************/
/* single-download */
/********************/

.single-download {
  margin-top: 205px;
  margin-bottom: 120px;
}

.single-download__flex {
  display: flex;
  column-gap: 28px;
}

.single-download__main {
  flex: 1;
}

.single-download__title {
  font-weight: 700;
  font-size: 32px;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #333;
}

.single-download__heading {
  display: flex;
  column-gap: 16px;
}

.single-download__date {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #333;
}

.single-download__tag-zone {
  display: flex;
  flex-wrap: wrap;
  column-gap: 10px;
}

.single-download__tag {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #333;
  padding-left: 10px;
  position: relative;
}
.single-download__tag::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "#";
}

.single-download__thumbnail {
  margin-top: 32px;
}
.single-download__thumbnail img {
  border-radius: 5px;
}



/********************/
/* single-download__content */
/********************/

.single-download__content {
  margin-top: 56px;
}

.single-download__content h2 {
  margin-top: 56px;
  margin-bottom: 16px;
  padding: 8px 0 8px 21px;
  font-weight: 700;
  font-size: 24px;
  line-height: calc(35 / 24);
  letter-spacing: 0.04em;
  color: #287ACC;
  position: relative;
}
.single-download__content h2::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 5px;
  height: 100%;
  border-radius: 30px;
  background: linear-gradient(106.8deg, #D9D0D0 2.46%, #287ACC 88.4%);
}

.single-download__content h3 {
  margin-top: 28px;
  font-weight: 700;
  font-size: 21px;
  color: #287ACC;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.single-download__content h4 {
  margin-top: 21px;
  font-weight: 700;
  font-size: 18px;
  color: #287ACC;
}

.single-download__content h5 {
  margin-top: 16px;
  font-weight: 700;
  font-size: 16px;
  color: #287ACC;
}

.single-download__content p {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.03em;
  margin-bottom: 24px;
}

.single-download__content a {
  display: inline-block;
  color: #287ACC;
}

.single-download__content figure {
  margin-bottom: 16px;
}

.single-download__content ul li {
  padding-left: 1em;
  position: relative;
}
.single-download__content ul li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "・";
  scale: 1.5;
}



/********************/
/* single-download__support */
/********************/

.single-download__support {
  margin-top: 102px;
  padding: 50px;
  background-color: #F6F6F6;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.single-download__support-title {
  background: linear-gradient(106.8deg, #A7A7A7 2.46%, #287ACC 88.4%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-align: center;
  font-weight: 700;
  font-size: 30px;
  line-height: 1.8;
  letter-spacing: 0.03em;
}

.single-download__support-container {
  margin-top: 15px;
  padding: 50px min(calc(100vw / 1280 * 44), 44px) 70px;
  background-color: #fff;
}

.single-download__support-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 30px 50px;
}
.single-download__support-list:nth-child(2) {
  display: none;
}

.single-download__support-link img {
  height: 60px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}



/********************/
/* single-download__sidebar */
/********************/

.single-download__sidebar {
  width: 29.5%;
  min-width: 290px;
  padding-top: 30px;
}

.single-download__sidebar-bg {
  border-radius: 5px;
  background: linear-gradient(106.8deg, #D9D0D0 2.46%, #287ACC 88.4%);
  padding: 30px 24px;
  /* position: sticky;
  top: 105px;
  z-index: 1; */
}

.single-download__sidebar-container {
  border-radius: 5px;
  background-color: #fff;
  padding: 24px 16px;
}

.single-download .p-contact-form {
  position: relative;
}

.single-download .p-contact-form__list:not(:first-child) {
  margin-top: 8px;
}

.single-download .p-contact-form__label-zone {
  display: inline-block;
}
.single-download .p-contact-form__list--must .p-contact-form__label-zone {
  position: relative;
}
.single-download .p-contact-form__list--must .p-contact-form__label-zone::before {
  position: absolute;
  top: -3px;
  left: calc(100% + 1px);
  content: "*";
  font-size: 18px;
  background: linear-gradient(106.8deg, #A7A7A7 2.46%, #287ACC 88.4%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.single-download .p-contact-form__label {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.03em;
  background: linear-gradient(106.8deg, #A7A7A7 2.46%, #287ACC 88.4%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.single-download .p-contact-form__data {
  margin: 5px 0 0 0;
}

.single-download .p-contact-form__input {
  width: 100%;
  padding: 13px 8px 14px;
  border-radius: 5px;
  border: 1px solid #D8D8D8;
  background-color: #fff;
  text-align: left;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 1.8em;
  letter-spacing: 0.03em;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: textfield;
}
.single-download .p-contact-form__input::placeholder {
  text-align: left;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 1.8em;
  letter-spacing: 0.03em;
  color: #D8D8D8;
}

.single-download .p-contact-form__textarea {
  width: 100%;
  height: 100px;
  padding: 12px 8px;
  border-radius: 5px;
  border: 1px solid #D8D8D8;
  background-color: #fff;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.03em;
  resize: vertical;
}

/* プライバシーポリシーチェック */
.single-download input[type="checkbox"] {
  opacity: 0;
  position: absolute;
  visibility: hidden;
}
.single-download .p-contact-form__check {
  margin-top: 14px;
  display: flex;
  justify-content: flex-end;
}
.single-download .p-contact-form__check-label {
  display: inline-block;
}
.single-download .p-contact-form__check-label .wpcf7-list-item {
  margin-left: 0;
}
.single-download .p-contact-form__check-text {
  padding-left: 25px;
  font-weight: 500;
  font-size: min(calc(100vw / 1100 * 12), 12px);
  line-height: 1.8;
  letter-spacing: 0.03em;
  position: relative;
  cursor: pointer;
}
.single-download .p-contact-form__check-label span.wpcf7-list-item-label {
  display: flex;
  align-items: flex-start;
}
.single-download .p-contact-form__check-label .wpcf7-list-item-label::before {
  position: absolute;
  top: 60%;
  left: 0;
  transform: translateY(-50%);
  content: "";
  width: 20px;
  height: 20px;
  border-radius: 5px;
  border: 1px solid #D8D8D8;
  border-radius: 3px;
  background-color: #fff;
  vertical-align: middle;
}
.single-download .p-contact-form__check-label input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
  background-color: #D8D8D8;
}
.single-download .p-contact-form__check-label input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
  position: absolute;
  top: 9px;
  left: 4px;
  content: "";
  width: 12px;
  height: 6px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
  cursor: pointer;
}
.single-download .p-contact-form__policy-link {
  display: inline-block;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* エラーメッセージ */
.single-download .Form .wpcf7-not-valid-tip,
.single-download .email-match-error {
  font-weight: 500;
  font-size: 14px;
  color: red;
}
.single-download .p-contact-form__list.p-contact-form__list--dummy {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  opacity: 0;
  z-index: -9;
  pointer-events: none;
}

/* ボタン */
.single-download .p-contact-form__submit {
  margin-top: 24px;
}
.single-download .p-contact-form__submit-buttonZone {
  position: relative;
}
.single-download .p-contact-form__submit-link {
  width: 220px;
  height: 45px;
  transition: all 0.45s;
  position: relative;
  cursor: pointer;
}
.single-download .p-contact-form__submit-button {
  width: 100%;
  height: 100%;
  padding-right: 30px;
  text-align: center;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.03em;
  color: #fff;
}
.single-download .p-contact-form__submit-link .common-ellipse-button__arrow {
  left: auto;
  right: 32px;
  pointer-events: none;
}
.single-download .p-contact-form__submit-buttonZone .wpcf7-spinner {
  display: none;
}

/*デフォルトのサンクスメッセージを非表示*/
.single-download .p-contact-form .wpcf7-response-output{
  display: none;
}


/* PC版画面高さが無い時のフォームスタイル */
/* @media screen and (min-width: 768px) and (max-height: 799px) {
  .single-download__sidebar-bg {
    padding: 16px;
  }
  .single-download__sidebar-container {
    padding: 10px 16px;
  }
  .single-download .p-contact-form__data {
    margin: 0;
  }
  .single-download .p-contact-form__list:not(:first-child) {
    margin-top: 5px;
  }
  .single-download .p-contact-form__label {
    font-size: 12px;
  }
  .single-download .p-contact-form__input {
    padding-block: 6px;
    font-size: 12px;
  }
  .single-download .p-contact-form__textarea {
    padding-block: 6px;
    font-size: 12px;
  }
  .single-download .p-contact-form__check {
    margin-top: 8px;
  }
  .single-download .p-contact-form__submit {
    margin-top: 16px;
  }
  .single-download .p-contact-form__submit-link {
    height: 32px;
  }
  .single-download .p-contact-form__submit-button {
    font-size: 13px;
  }
} */


@media screen and (max-width: 767.98px) {

  .single-download {
    margin-block: 90px;
  }

  .single-download__flex {
    flex-direction: column;
  }

  .single-download__main {
    width: 100%;
  }

  .single-download__title {
    font-size: 24px;
    line-height: 1.5;
  }

  .single-download__heading {
    margin-top: 4px;
  }

  .single-download__content h2 {
    margin-top: 42px;
    padding: 5px 0 5px 16px;
    font-size: 22px;
  }
  .single-download__content h2::before {
    width: 4px;
  }

  .single-download__content h3 {
    margin-top: 24px;
    font-size: 20px;
  }

  .single-download__content h4 {
    margin-top: 20px;
    font-size: 16px;
  }

  .single-download__support {
    margin-top: 64px;
    padding: 20px 15px 35px;
  }

  .single-download__support-title {
    font-size: 22px;
  }

  .single-download__support-container {
    width: 100%;
    padding: 20px 0;
    overflow: hidden;
  }

  .single-download__support-loop {
    width: max-content;
    display: flex;
    white-space: nowrap;
  }

  .single-download__support-list {
    flex-wrap: nowrap;
    gap: 40px;
    animation: download-loop-support linear infinite;
    padding-inline: 20px;
  }
  .single-download__support-list:nth-child(2) {
    display: flex;
  }
  @keyframes download-loop-support {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-100%);
    }
  }

  .single-download__support-link img {
    height: 40px;
  }

  .common-archive__button {
    margin-top: 36px;
  }

  .single-download__sidebar {
    margin-top: 60px;
    width: 100%;
    padding-top: 0;
  }

  .single-download__sidebar-bg {
    position: relative;
    top: auto;
    padding: 20px;
  }

  .single-download__sidebar-container {
    padding: 20px 15px;
  }

  .single-download .p-contact-form__label {
    font-size: 15px;
  }
  .single-download .p-contact-form__list--must .p-contact-form__label-zone::before {
    top: -2px;
    font-size: 16px;
  }
  .single-download .p-contact-form__input {
    padding-inline: 12px;
  }
  .single-download .p-contact-form__textarea {
    padding-inline: 12px;
    height: 200px;
  }
  .single-download .p-contact-form__check-label .wpcf7-list-item-label::before {
    top: 55%;
    width: 20px;
    height: 20px;
  }
  .single-download .p-contact-form__check-label input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
    top: 7px;
    left: 4px;
    width: 12px;
    height: 6px;
  }
  .single-download .p-contact-form__check-text {
    padding-left: 26px;
    font-size: min(calc(100vw / 375 * 14), 14px);
  }
  .single-download .p-contact-form__submit-button {
    padding-right: 5%;
    font-size: 14px;
  }
  .single-download .p-contact-form__submit-link .common-ellipse-button__arrow {
    right: 12%;
  }
}





/*-------------------------------------
お問い合わせ
-------------------------------------*/

/********************/
/* contact-content */
/********************/

.contact-content {
  margin-top: 120px;
  margin-bottom: calc(-100vw / 1440 * 120);
  padding-bottom: calc(100vw / 1440 * 60);
  overflow: hidden;
}

.contact-content__container {
  padding-block: 84px;
  background-image: url(../image/contact/contact_bg.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.contact-content__inner {
  margin-inline: auto;
  max-width: 1076px;
  padding-inline: 20px;
}

.p-contact__lead {
  font-weight: 500;
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #fff;
  margin-bottom: 24px;
}

.contact-content__bottom {
  margin-top: calc(100vw / 1440 * 255);
  position: relative;
}

.contact-content__loop {
  position: absolute;
  bottom: 0;
  left: 0;
  width: auto;
}

.contact-content .p-contact-form {
  position: relative;
}

.contact-content .p-contact-form__list:not(:first-child) {
  margin-top: 24px;
}

.contact-content .p-contact-form__label-zone {
  display: inline-block;
}
.contact-content .p-contact-form__list--must .p-contact-form__label-zone {
  position: relative;
}
.contact-content .p-contact-form__list--must .p-contact-form__label-zone::before {
  position: absolute;
  top: -3px;
  left: calc(100% + 1px);
  content: "*";
  font-size: 18px;
  color: #fff;
}

.contact-content .p-contact-form__label {
  font-weight: 500;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #fff;
}

.contact-content .p-contact-form__data {
  margin: 6px 0 0 0;
}

.contact-content .p-contact-form__input {
  width: 100%;
  padding: 11px 16px;
  border-radius: 5px;
  border: 1px solid #D8D8D8;
  background-color: #fff;
  text-align: left;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 1.8em;
  letter-spacing: 0.03em;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: textfield;
}
.contact-content .p-contact-form__input::placeholder {
  text-align: left;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 1.8em;
  letter-spacing: 0.03em;
  color: #D8D8D8;
}

.contact-content .p-contact-form__textarea {
  width: 100%;
  height: 150px;
  padding: 11px 16px;
  border-radius: 5px;
  border: 1px solid #D8D8D8;
  background-color: #fff;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.03em;
  resize: vertical;
}

/* プライバシーポリシーチェック */
.contact-content input[type="checkbox"] {
  opacity: 0;
  position: absolute;
  visibility: hidden;
}
.contact-content .p-contact-form__check {
  margin-top: 32px;
  display: flex;
}
.contact-content .p-contact-form__check-label {
  display: inline-block;
}
.contact-content .p-contact-form__check-label .wpcf7-list-item {
  margin-left: 0;
}
.contact-content .p-contact-form__check-text {
  padding-left: 34px;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #fff;
  position: relative;
  cursor: pointer;
}
.contact-content .p-contact-form__check-label span.wpcf7-list-item-label {
  display: flex;
  align-items: flex-start;
}
.contact-content .p-contact-form__check-label .wpcf7-list-item-label::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: "";
  width: 24px;
  height: 24px;
  border-radius: 5px;
  border: 1px solid #D8D8D8;
  border-radius: 3px;
  background-color: #fff;
  vertical-align: middle;
}
.contact-content .p-contact-form__check-label input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
  background-color: #D8D8D8;
}
.contact-content .p-contact-form__check-label input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
  position: absolute;
  top: 6px;
  left: 5px;
  content: "";
  width: 14px;
  height: 7px;
  border-left: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: rotate(-45deg);
  cursor: pointer;
}
.contact-content .p-contact-form__policy-link {
  display: inline-block;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* エラーメッセージ */
.contact-content .Form .wpcf7-not-valid-tip,
.contact-content .email-match-error {
  font-weight: 500;
  font-size: 16px;
  color: red;
}
.contact-content .p-contact-form__list.p-contact-form__list--dummy {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  opacity: 0;
  z-index: -9;
  pointer-events: none;
}

/* ボタン */
.contact-content .p-contact-form__submit {
  margin-top: 45px;
}
.contact-content .p-contact-form__submit-buttonZone {
  position: relative;
}
.contact-content .p-contact-form__submit-link {
  transition: all 0.45s;
  position: relative;
  cursor: pointer;
}
.contact-content .p-contact-form__submit-button {
  width: 100%;
  height: 100%;
  padding-right: 30px;
  text-align: center;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.03em;
  color: #fff;
}
.contact-content .p-contact-form__submit-link .common-ellipse-button__arrow {
  left: auto;
  right: 64px;
  pointer-events: none;
}
.contact-content .p-contact-form__submit-buttonZone .wpcf7-spinner {
  display: none;
}

/*デフォルトのサンクスメッセージを非表示*/
.contact-content .p-contact-form .wpcf7-response-output{
  display: none;
}


@media screen and (max-width: 767.98px) {
  .contact-content {
    margin-top: 90px;
    margin-bottom: calc(-100vw / 375 * 34);
    padding-bottom: calc(100vw / 375 * 34);
  }
  .contact-content__container {
    padding-block: 48px;
  }
  .contact-content__inner {
    padding-inline: min(calc(100vw / 375 * 15), 15px);
  }
  .p-contact__lead {
    font-size: 16px;
  }
  .contact-content .p-contact-form__label {
    font-size: 15px;
  }
  .contact-content .p-contact-form__list--must .p-contact-form__label-zone::before {
    top: -2px;
    font-size: 16px;
  }
  .contact-content .p-contact-form__input {
    padding-inline: 12px;
  }
  .contact-content .p-contact-form__textarea {
    padding-inline: 12px;
    height: 200px;
  }
  .contact-content .p-contact-form__check-label .wpcf7-list-item-label::before {
    width: 20px;
    height: 20px;
  }
  .contact-content .p-contact-form__check-label input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
    top: 7px;
    left: 4px;
    width: 12px;
    height: 6px;
  }
  .contact-content .p-contact-form__check-text {
    padding-left: 26px;
    font-size: 16px;
  }
  .contact-content .p-contact-form__submit-button {
    padding-right: 21px;
    font-size: 14px;
  }
  .contact-content .p-contact-form__submit-link .common-ellipse-button__arrow {
    right: 20%;
  }
  .contact-content__bottom {
    margin-top: 120px;
  }
}





/*-------------------------------------
お問い合わせ完了
-------------------------------------*/

/********************/
/* contact-thanks */
/********************/

.contact-thanks {
  margin-top: 130px;
  margin-bottom: calc(-100vw / 1440 * 60);
  padding-bottom: calc(100vw / 1440 * 60);
  position: relative;
  overflow: hidden;
}

.contact-thanks__inner {
  margin-inline: auto;
  max-width: 1120px;
  padding-inline: 40px;
}

.contact-thanks__container {
  padding: 64px 20px 110px;
  border-radius: 5px;
  background-image: url(..//image/contact/thanks_bg.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.contact-thanks__title {
  text-align: center;
  font-weight: 500;
  font-size: 30px;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #fff;
  padding-top: 36px;
  position: relative;
}
.contact-thanks__title::before {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  width: 36px;
  height: 36px;
  background-image: url(../image/contact/thanks_icon.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

.contact-thanks__title span {
  display: inline-block;
}

.contact-thanks__text {
  margin-top: 24px;
  text-align: center;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #fff;
}

.contact-thanks__text span {
  display: inline-block;
}

.contact-thanks__button {
  margin-top: 28px;
}

.contact-thanks__loop {
  position: absolute;
  bottom: 0;
  left: 0;
  width: auto;
}


@media screen and (max-width: 767.98px) {

  .contact-thanks {
    margin-top: 100px;
    margin-bottom: calc(-100vw / 375 * 34);
    padding-bottom: calc(100vw / 375 * 34);
  }

  .contact-thanks__inner {
    padding-inline: min(calc(100vw / 375 * 15), 15px);
  }

  .contact-thanks__container {
    padding: 36px 20px 80px;
  }

  .contact-thanks__title {
    font-size: 24px;
    line-height: 1.6;
  }

  .contact-thanks__title span:last-child {
    transform: translateX(5%);
  }

  .contact-thanks__text {
    font-size: min(calc(100vw / 375 * 16), 16px);
  }

}





/*-------------------------------------
プライバシーポリシー
-------------------------------------*/

/********************/
/* policy */
/********************/

.policy {
  margin-top: 48px;
  margin-bottom: 120px;
}

.policy__inner {
  margin-inline: auto;
  max-width: 1120px;
  padding-inline: 40px;
}

.policy__big-text {
  font-weight: 500;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.03em;
}

.policy__small-text {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.03em;
}

.policy__content {
  margin-top: 56px;
}

.policy__list {
  counter-reset: item;
}

.policy__item:not(:first-child) {
  margin-top: 48px;
}

.policy__item-title {
  margin-bottom: 5px;
  font-weight: 500;
  font-size: 24px;
  line-height: 1.8;
  letter-spacing: 0.03em;
  counter-increment: item;
  padding-left: 1em;
  position: relative;
}
.policy__item-title::before {
  content: counter(item) ". ";
  position: absolute;
  top: 0;
  left: 0;
}

.policy__detail-list {
  counter-reset: detail;
}

.policy__detail-item {
  margin-top: 32px;
}

.policy__detail-title {
  margin-bottom: 15px;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 0.03em;
  counter-increment: detail;
  padding-left: 2.5em;
  position: relative;
}
.policy__detail-title::before {
  content: "（" counter(detail) "）";
  position: absolute;
  left: 0;
  top: 0;
}


@media screen and (max-width: 767.98px) {

  .policy {
    margin-bottom: 90px;
  }

  .policy-mv .common-title--mv .common-title__en {
    font-size: min(calc(100vw / 375 * 48), 48px);
  }

  .policy__inner {
    padding-inline: min(calc(100vw / 375 * 15), 15px);
  }

  .policy__item-title {
    font-size: 21px;
  }

  .policy__big-text {
    font-size: 16px;
  }

  .policy__detail-title {
    font-size: 18px;
  }

  .policy__detail-title {
    padding-left: 2em;
  }
  .policy__detail-title::before {
    left: -6px;
  }

}





/*-------------------------------------
404
-------------------------------------*/

/********************/
/* 404 */
/********************/

.page-404 {
  margin-top: 64px;
  margin-bottom: 120px;
}

@media screen and (max-width: 767.98px) {

  .page-404-mv {
    padding-top: 48px;
  }

  .page-404-mv .common-title--mv .common-title__ja {
    font-size: min(calc(100vw / 375 * 18), 18px);
  }

  .page-404 {
    margin-top: 56px;
    margin-bottom: 90px;
  }

}