.cTextLink {
  position: relative;
  display: flex;
  justify-content: flex-end;
  min-width: calc(157 * var(--px));
  padding-bottom: calc(14 * var(--px));
  padding-left: calc(3 * var(--px));
  font-size: calc(0.875 * var(--rem));
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.cTextLink::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-color: #E8E4E4;
  transition: background-color 0.4s var(--ease-out-cubic);
}

@media screen and (min-width: 960px) {
  .cTextLink {
    min-width: calc(189 * var(--px));
    padding-top: calc(2 * var(--px));
    padding-bottom: calc(10 * var(--px));
    padding-left: calc(3 * var(--px));
    font-size: calc(0.9375 * var(--rem));
    line-height: 2.08;
  }
}
@media screen and (min-width: 960px) and (hover: hover) {
  .cTextLink:hover::before {
    background-color: var(--color-black);
  }
}
.cBlogItem__link {
  display: grid;
}
.cBlogItem__visual {
  width: calc(157 * var(--px));
  height: calc(103 * var(--px));
}
.cBlogItem__meta {
  display: grid;
  gap: calc(6 * var(--px));
  margin-top: calc(14 * var(--px));
  margin-left: calc(1 * var(--px));
}
.cBlogItem__date {
  font-size: calc(0.75 * var(--rem));
  font-weight: 400;
  line-height: 1;
  color: #96908F;
  letter-spacing: 0.06em;
}
.cBlogItem__category {
  font-size: calc(0.75 * var(--rem));
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.06em;
}
.cBlogItem__title {
  display: -webkit-box;
  margin-top: calc(11 * var(--px));
  margin-right: calc(12 * var(--px));
  overflow: hidden;
  -webkit-line-clamp: 2;
  font-size: calc(0.875 * var(--rem));
  font-weight: 400;
  line-height: 1.57;
  letter-spacing: 0.04em;
  -webkit-box-orient: vertical;
}

@media screen and (min-width: 960px) {
  .cBlogItem__link {
    display: grid;
  }
  .cBlogItem__visual {
    width: 100%;
    height: calc(170 * var(--px));
    overflow: hidden;
  }
  .cBlogItem__visual img {
    transition: transform 0.4s var(--ease-out-cubic);
  }
  .cBlogItem__meta {
    display: flex;
    gap: calc(8 * var(--px));
    margin-top: calc(12 * var(--px));
    margin-left: 0;
  }
  .cBlogItem__date {
    margin-top: calc(6 * var(--px));
    font-size: calc(0.875 * var(--rem));
    letter-spacing: 0.1em;
  }
  .cBlogItem__category {
    margin: calc(6 * var(--px)) 0 calc(2 * var(--px));
    font-size: calc(0.8125 * var(--rem));
    letter-spacing: 0.1em;
  }
  .cBlogItem__title {
    position: relative;
    margin-top: calc(13 * var(--px));
    margin-right: calc(12 * var(--px));
    font-size: calc(0.875 * var(--rem));
    line-height: 1.7;
    letter-spacing: 0.04em;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-decoration-color: transparent;
    text-underline-offset: 1px;
    transition: text-decoration-color 0.4s var(--ease-out-cubic, ease);
  }
}
.pFv {
  position: relative;
  width: 100%;
  height: 100svh;
}
.pFv__imageList {
  position: absolute;
  top: calc(50% - 4 * var(--px));
  left: 50%;
  z-index: 0;
  width: calc(228 * var(--px));
  height: calc(318 * var(--px));
  overflow: hidden;
  -webkit-mask-image: radial-gradient(white, black);
          mask-image: radial-gradient(white, black);
  transform: translateX(-50%) translateY(-50%);
}
.pFv__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  -webkit-mask-image: radial-gradient(white, black);
          mask-image: radial-gradient(white, black);
  transform: translateZ(0);
  backface-visibility: hidden;
}
.pFv__image img {
  transform: translateZ(0);
  backface-visibility: hidden;
  will-change: transform;
}
.pFv__text {
  position: absolute;
  bottom: calc(30 * var(--px));
  left: calc(30 * var(--px));
  width: calc(179 * var(--px));
  height: calc(11 * var(--px));
}

.pLead {
  margin-top: calc(138 * var(--px));
}
.pLead__inner {
  padding: 0 calc(40 * var(--px));
}
.pLead__title {
  width: calc(171 * var(--px));
  height: calc(71 * var(--px));
}
.pLead__textArea {
  display: grid;
  gap: calc(16 * var(--px));
  margin-top: calc(43 * var(--px));
}
.pLead__text {
  font-size: calc(0.9375 * var(--rem));
  font-weight: 400;
  line-height: 1.92;
  letter-spacing: 0.04em;
}

.pService {
  margin-top: calc(108 * var(--px));
}
.pService__inner {
  padding: 0 0 0 calc(40 * var(--px));
}
.pService__visual {
  width: calc(360 * var(--px));
  height: calc(260 * var(--px));
}
.pService__content {
  padding-right: calc(38 * var(--px));
  margin-top: calc(51 * var(--px));
}
.pService__title {
  width: calc(276 * var(--px));
  height: calc(100 * var(--px));
}
.pService__lead {
  padding-left: calc(30 * var(--px));
  margin-top: calc(24 * var(--px));
}
.pService__text {
  font-size: calc(0.875 * var(--rem));
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.06em;
}
.pService__link {
  display: flex;
  justify-content: flex-end;
  margin-top: calc(34 * var(--px));
}

.pAbout {
  margin-top: calc(192 * var(--px));
}
.pAbout__inner {
  padding: 0 calc(40 * var(--px)) calc(7 * var(--px));
}
.pAbout__title {
  display: flex;
  justify-content: space-between;
  width: calc(320 * var(--px));
  height: calc(156 * var(--px));
}
.pAbout__titleSub {
  width: calc(59 * var(--px));
  height: calc(13 * var(--px));
  margin-top: calc(3 * var(--px));
}
.pAbout__titleMain {
  width: calc(78 * var(--px));
  height: calc(156 * var(--px));
}
.pAbout__content {
  display: grid;
  gap: calc(41 * var(--px));
  margin-top: calc(-47 * var(--px));
}
.pAbout__lead {
  display: grid;
  gap: calc(9 * var(--px));
}
.pAbout__visual {
  width: calc(320 * var(--px));
  height: calc(157 * var(--px));
}
.pAbout__text {
  font-size: calc(0.875 * var(--rem));
  font-weight: 400;
  line-height: 1.78;
  letter-spacing: 0.05em;
}
.pAbout__link {
  display: flex;
  justify-content: flex-end;
  margin-top: calc(41 * var(--px));
}

.pBlog {
  margin-top: calc(126 * var(--px));
}
.pBlog__inner {
  padding: 0 calc(40 * var(--px)) 0 calc(39 * var(--px));
}
.pBlog__title {
  width: calc(77 * var(--px));
  height: calc(60 * var(--px));
}
.pBlog__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(30 * var(--px)) calc(6 * var(--px));
  margin-top: calc(46 * var(--px));
  margin-left: calc(1 * var(--px));
}
.pBlog__link {
  display: flex;
  justify-content: flex-end;
  margin-top: calc(41 * var(--px));
}

.pNews {
  padding: 0 calc(40 * var(--px));
  margin-top: calc(96 * var(--px));
}
.pNews__title {
  width: calc(104 * var(--px));
  height: calc(60 * var(--px));
}
.pNews__content {
  margin-top: calc(46 * var(--px));
}
.pNews__list {
  display: grid;
  gap: calc(24 * var(--px));
}
.pNews__itemLink {
  position: relative;
  display: grid;
  gap: calc(5 * var(--px));
  padding: calc(8 * var(--px)) 0 calc(13 * var(--px));
}
.pNews__itemLink::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-color: #E8E4E4;
}
.pNews__link {
  display: flex;
  justify-content: flex-end;
  margin-top: calc(40 * var(--px));
}
.pNews__itemDate {
  font-size: calc(0.75 * var(--rem));
  font-weight: 400;
  line-height: 1;
  color: #96908F;
  letter-spacing: 0.1em;
}
.pNews__itemTitle {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  font-size: calc(0.875 * var(--rem));
  font-weight: 400;
  line-height: 1.97;
  letter-spacing: 0.05em;
  -webkit-box-orient: vertical;
}

.pRecruit {
  margin-top: calc(161 * var(--px));
}
.pRecruit__inner {
  padding: 0 calc(40 * var(--px)) 0 calc(35 * var(--px));
}
.pRecruit__title {
  display: grid;
  width: calc(198 * var(--px));
  height: calc(99 * var(--px));
}
.pRecruit__lead {
  width: calc(303 * var(--px));
  height: calc(24 * var(--px));
  margin-top: calc(11 * var(--px));
  margin-left: calc(2 * var(--px));
}
.pRecruit__linkWrap {
  display: flex;
  justify-content: end;
  margin-top: calc(48 * var(--px));
}

.pVisual {
  padding-bottom: calc(71 * var(--px));
  margin-top: calc(46 * var(--px));
}
.pVisual__inner {
  display: grid;
  gap: calc(77 * var(--px));
  padding: 0 calc(20 * var(--px));
}
.pVisual__item:nth-child(1) {
  width: calc(360 * var(--px));
  height: calc(184 * var(--px));
}
.pVisual__item:nth-child(2) {
  width: calc(340 * var(--px));
  height: calc(412 * var(--px));
  margin: 0 calc(10 * var(--px));
}

@media screen and (min-width: 960px) {
  .lHeader {
    margin-top: min(50px, 50 * var(--px));
  }
  .lHeader.is-fixed {
    margin-top: 0;
  }
  .pFv {
    height: 100vh;
  }
  .pFv__inner {
    padding: calc(235 * var(--px)) calc(288 * var(--px)) calc(199 * var(--px));
  }
  .pFv__imageList {
    position: absolute;
    top: min(225px, 225 * var(--px));
    left: 50%;
    width: calc(912 * var(--px));
    height: calc(414 * var(--px));
    transform: translateX(-50%);
  }
}
@media screen and (min-width: 960px) and (height <= 1488px) {
  .pFv__imageList {
    top: 50%;
    transform: translate(-50%, -50%);
  }
}
@media screen and (min-width: 960px) {
  .pFv__text {
    bottom: min(71px, 71 * var(--px));
    left: calc(80 * var(--px));
    width: calc(197 * var(--px));
    height: calc(12 * var(--px));
  }
  .pLead {
    margin-top: calc(148 * var(--px));
  }
  .pLead__inner {
    display: grid;
    grid-template-columns: auto auto;
    gap: calc(117 * var(--px));
    padding: 0 calc(312 * var(--px)) calc(135 * var(--px)) calc(333 * var(--px));
  }
  .pLead__title {
    width: calc(316 * var(--px));
    height: calc(107 * var(--px));
  }
  .pLead__textArea {
    gap: calc(24 * var(--px));
    width: calc(419 * var(--px));
    margin-top: calc(55 * var(--px));
  }
  .pLead__text {
    line-height: 2.07;
    letter-spacing: 0.07em;
  }
  .pService {
    margin-top: calc(168 * var(--px));
  }
  .pService__inner {
    display: grid;
    grid-template-columns: calc(728 * var(--px)) calc(392 * var(--px));
    gap: calc(183 * var(--px));
    padding: 0;
    padding-right: calc(185 * var(--px));
  }
  .pService__visual {
    width: calc(728 * var(--px));
    height: calc(620 * var(--px));
  }
  .pService__content {
    width: calc(392 * var(--px));
    padding-right: 0;
    margin-top: calc(157 * var(--px));
  }
  .pService__title {
    width: calc(390 * var(--px));
    height: calc(134 * var(--px));
  }
  .pService__lead {
    width: calc(321 * var(--px));
    padding-left: 0;
    margin-top: calc(38 * var(--px));
    margin-left: auto;
  }
  .pService__text {
    font-size: calc(0.9375 * var(--rem));
    line-height: 2.1;
    letter-spacing: 0.05em;
  }
  .pService__link {
    margin-top: calc(123 * var(--px));
    margin-right: calc(8 * var(--px));
  }
  .pAbout {
    margin-top: calc(270 * var(--px));
  }
  .pAbout__inner {
    padding: 0 calc(184 * var(--px));
  }
  .pAbout__title {
    justify-content: space-between;
    width: 100%;
    height: calc(280 * var(--px));
  }
  .pAbout__titleSub {
    width: calc(68 * var(--px));
    margin-top: calc(1 * var(--px));
    margin-left: calc(5 * var(--px));
  }
  .pAbout__titleMain {
    width: calc(110 * var(--px));
    height: calc(280 * var(--px));
  }
  .pAbout__content {
    display: flex;
    gap: calc(201 * var(--px));
    align-items: flex-end;
    justify-content: space-between;
    margin-top: calc(-131 * var(--px));
  }
  .pAbout__lead {
    gap: calc(12 * var(--px));
    width: calc(236 * var(--px));
  }
  .pAbout__visual {
    width: calc(689 * var(--px));
    height: calc(256 * var(--px));
    margin-bottom: calc(4 * var(--px));
  }
  .pAbout__text {
    font-size: calc(0.9375 * var(--rem));
    line-height: 1.88;
    letter-spacing: 0.06em;
  }
  .pAbout__link {
    margin-top: calc(40 * var(--px));
  }
  .pBlog {
    margin-top: calc(260 * var(--px));
  }
  .pBlog__inner {
    display: grid;
    grid-template-columns: auto calc(688 * var(--px));
    gap: 0 calc(180 * var(--px));
    padding: 0 calc(262 * var(--px)) 0 calc(264 * var(--px));
  }
  .pBlog__title {
    width: calc(94 * var(--px));
    height: calc(76 * var(--px));
  }
  .pBlog__list {
    grid-template-columns: repeat(3, 1fr);
    gap: calc(42 * var(--px)) calc(12 * var(--px));
    margin-top: calc(48 * var(--px));
  }
  .pBlog__link {
    grid-row: 3;
    grid-column: 2;
    margin-top: calc(59 * var(--px));
    margin-right: calc(2 * var(--px));
  }
  .pNews {
    padding: 0 calc(264 * var(--px));
    margin-top: calc(70 * var(--px));
  }
  .pNews__inner {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: calc(146 * var(--px));
  }
  .pNews__title {
    width: calc(128 * var(--px));
    height: calc(76 * var(--px));
  }
  .pNews__content {
    display: grid;
    grid-template-columns: calc(444 * var(--px)) auto;
    gap: calc(53 * var(--px));
    align-items: flex-end;
    margin-top: calc(43 * var(--px));
  }
  .pNews__itemLink {
    gap: calc(6 * var(--px));
    padding: calc(7 * var(--px)) 0 calc(13 * var(--px));
  }
  .pNews__itemLink::before {
    transition: background-color 0.4s var(--ease-out-cubic);
  }
  .pNews__link {
    display: flex;
    justify-content: flex-end;
    margin-top: calc(40 * var(--px));
  }
  .pNews__itemDate {
    font-size: calc(0.875 * var(--rem));
  }
  .pRecruit {
    margin-top: calc(320 * var(--px));
  }
  .pRecruit__inner {
    padding: 0 calc(216 * var(--px)) 0 calc(188 * var(--px));
  }
  .pRecruit__title {
    width: calc(697 * var(--px));
    height: calc(96 * var(--px));
  }
  .pRecruit__lead {
    width: calc(364 * var(--px));
    height: calc(31 * var(--px));
    margin-top: calc(16 * var(--px));
    margin-left: calc(425 * var(--px));
  }
  .pRecruit__linkWrap {
    margin-top: calc(66 * var(--px));
  }
  .pVisual {
    padding-bottom: 0;
    margin-top: calc(38 * var(--px));
  }
  .pVisual__inner {
    gap: calc(140 * var(--px));
    padding: 0 calc(140 * var(--px));
  }
  .pVisual__item:nth-child(1) {
    width: calc(1212 * var(--px));
    height: calc(331 * var(--px));
  }
  .pVisual__item:nth-child(2) {
    width: calc(1212 * var(--px));
    height: calc(681 * var(--px));
    margin: 0;
  }
  .lFooter {
    margin-top: calc(240 * var(--px));
  }
}
@media screen and (min-width: 960px) and (hover: hover) {
  .pNews__itemLink:hover::before {
    background-color: var(--color-black);
  }
  .cBlogItem__link:hover .cBlogItem__title {
    text-decoration-color: var(--color-black);
  }
  .cBlogItem__link:hover .cBlogItem__visual img {
    transform: scale(1.05);
  }
}