@charset "UTF-8";
.top_main {
  contain: paint;
  border-bottom: 1px solid #4d4d4d;
}
.top_main + footer {
  margin-top: 0;
}

/* FV */
.top_fv_section {
  position: relative;
  padding-left: 40px;
  padding-right: 40px;
  padding-bottom: calc(40 / var(--view-size) * 100vw);
  height: 100dvh;
  overscroll-behavior: none;
}
.fv_rings_container {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
.fv_rings {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
.fv_bg_video {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: auto;
  object-fit: cover;
  z-index: 0;
}
.ringCanvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.ringCanvas--left {
  width: calc(1290 / var(--view-size) * 100vw);
  height: calc(972 / var(--view-size) * 100vw);
  left: -23%;
  top: 16%;
  transform: rotate(-194deg) scale(-1, 1);
  transform-origin: center center;
}
.ringCanvas--right {
  width: calc(1290 / var(--view-size) * 100vw);
  height: calc(972 / var(--view-size) * 100vw);
  left: 40%;
  top: -16%;
  transform: rotate(165deg) scale(-1, 1);
  transform-origin: center center;
}
.fv_rings--sp {
  display: none;
}
.top_fv_img_wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(540 / var(--view-size) * 100vw);
  height: calc(620 / var(--view-size) * 100vw);
  max-width: 100%;
  clip-path: inset(100% 0 0 0);
  transition: clip-path 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.top_fv_img_wrapper::-webkit-scrollbar {                                                                                                                           
  display: none;
}
.top_fv_img_wrapper.is-revealed {
  clip-path: inset(0 0 0 0);
}
.top_fv_img_wrapper figure,
.top_fv_img_wrapper video {
  width: 100%;
  height: 100%;
}
.top_fv_img_wrapper video {
  object-fit: cover;
}
.top_fv_img_wrapper figure {
  position: relative;
}
.top_fv_img_wrapper figure::before {
  content: "";
  position: absolute;
  bottom: -1%;
  left: -1%;
  width: 102%;
  height: 46%;
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
}
.top_fv_img_wrapper img {
  object-fit: cover;
  object-position: center;
}
.top_fv_inner {
  max-width: initial;
  height: 100%;
}
.top_fv_content {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
}
.top_fv_title {
  font-family: var(--font-en);
  font-size: 48px;
  font-weight: 300;
  line-height: 1.3;
  letter-spacing: 0;
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 0.8s,
    transform 0.8s;
}
.top_fv_title.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.top_fv_text {
  display: block;
  margin-top: 23px;
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 0.8s 0.1s,
    transform 0.8s 0.1s;
}
.top_fv_text.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.top_fv_text_img {
  width: 470px;
}
.top_fv_text_img img {
  width: 100%;
}
.top_fv_news {
  margin-top: 38px;
  margin-right: -8px;
  text-align: right;
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 0.8s 0.2s,
    transform 0.8s 0.2s;
}
.top_fv_news.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.top_fv_news_slider {
  position: relative;
  display: inline-block;
  width: 380px;
}
.top_fv_news_slider {
  opacity: 0;
}
.top_fv_news_slider.slick-initialized {
  opacity: 1;
}
.top_fv_news_slide {
  width: 380px;
  padding: 20px 20px 26px;
  text-align: left;
  background-color: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(10px);
  transition: 0.4s;
}
.top_fv_news_slide:hover {
  background-color: rgba(255, 255, 255, 0.2);
}
.top_fv_news_slide_meta {
  display: flex;
  column-gap: 16px;
}
.top_fv_news_slide_cat,
.top_fv_news_slide_date {
  display: inline-block;
  font-family: var(--font-en);
  font-size: 14px;
  line-height: 1.6;
  font-weight: 400;
}
.top_fv_news_slide_title {
  margin-top: 6px;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.6;
}
.top_fv_news_slider_num {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  font-family: var(--font-en);
  font-size: 11px;
  line-height: 1.6;
  font-weight: 400;
}
.top_fv_news_slider_progress {
  position: absolute;
  top: -36px;
  left: 50%;
  transform: translateX(-50%);
  width: 16px;
  height: 16px;
  display: inline-block;
}
.top_fv_news_slider_progress::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #fff;
}
.top_fv_news_slider_progress svg {
  width: 100%;
  height: 100%;
  display: block;
  transform: rotate(-90deg);
}
.top_fv_news_slider_progress .ring-bg {
  fill: none;
  stroke: rgba(255, 255, 255, 0.2);
  stroke-width: 1;
}
.top_fv_news_slider_progress .ring {
  fill: none;
  stroke: #fff;
  stroke-width: 2;
  stroke-linecap: round;
}
.top_fv_time {
  margin-top: -24px;
}
.top_fv_time span {
  display: inline-block;
  font-family: var(--font-en);
  font-size: 11px;
  font-weight: 500;
  line-height: 2;
}
/* FVここまで */

/* 私たちについて */
.top_about_section {
  position: relative;
  padding-top: calc(774 / var(--view-size) * 100vw);
  margin-top: 0;
}
.top_about_bgText {
  position: relative;
  overflow: hidden;
  margin-top: -98px;
  margin-left: -120px;
  width: calc(100% + 240px);
  height: 135px;
  -webkit-mask-image: linear-gradient(
    to right,
    rgba(255, 255, 255, 0),
    rgba(255, 255, 255, 0.4),
    rgba(255, 255, 255, 0.4),
    rgba(255, 255, 255, 0.4),
    rgba(255, 255, 255, 0)
  );
  mask-image: linear-gradient(
    to right,
    rgba(255, 255, 255, 0),
    rgba(255, 255, 255, 0.4),
    rgba(255, 255, 255, 0.4),
    rgba(255, 255, 255, 0.4),
    rgba(255, 255, 255, 0)
  );
}
.top_about_bgText_scroll {
  display: flex;
  animation: scroll-left 40s linear infinite;
}
.top_about_bgText_img {
  width: 3025px;
  height: 135px;
  flex-shrink: 0;
}
.top_about_bgText_img img {
  padding-right: 50px;
}
.top_about_content {
  width: 718px;
  margin: -37px auto 0;
  display: flex;
  justify-content: space-between;
}
.top_about_body {
  width: 552px;
  margin-top: 74px;
}
.top_about_body_btn_wrapper {
  margin-top: 37px;
}
/* 私たちについてここまで */

/* 事業内容 */
.top_service_section {
  position: relative;
  contain: paint;
  margin: 0;
  padding-top: 120px;
  padding-bottom: 120px;
}
.top_service_bg {
  position: absolute;
  top: 300px;
  left: 0;
  width: 100%;
  height: calc(1572.5 / var(--view-size) * 100vw);
}
.top_service_inner {
  position: relative;
}
.top_service_head {
  margin-bottom: 60px;
  display: flex;
  justify-content: space-between;
}
.top_service_head_btn_wrapper {
  margin-top: 10px;
}
.top_service_box_heading h3 {
  margin-top: 5px;
}
.top_service_box {
  position: sticky;
  left: 0;
  padding-top: 17px;
  padding-bottom: 75px;
}
.top_service_box:nth-child(1) {
  top: 164px;
  margin-bottom: 110px;
}
.top_service_box:nth-child(2) {
  top: 229px;
  margin-bottom: 55px;
}
.top_service_box:nth-child(3) {
  top: 194px;
}
.top_service_box::before,
.top_service_box::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
}
.top_service_box::before {
  top: 0;
  height: 100%;
  backdrop-filter: blur(10px);
}
.top_service_box:nth-child(1)::before {
  height: calc(100% + 110px);
}
.top_service_box:nth-child(2)::before {
  height: calc(100% + 55px);
  background: transparent;
  border-top: solid 1px rgba(255, 255, 255, 0.3);
}
.top_service_box:nth-child(3)::before {
  background: transparent;
  border-top: solid 1px rgba(255, 255, 255, 0.3);
  border-bottom: solid 1px rgba(255, 255, 255, 0.3);
}
.top_service_box:first-child::before {
  border-top: solid 1px rgba(255, 255, 255, 0.3);
}
.top_service_box::after {
  bottom: 0;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.3);
  display: none;
}
.top_service_box_columns {
  position: relative;
  margin-top: 37px;
  display: flex;
  column-gap: 52px;
  align-items: center;
}
.top_service_box_column:first-child {
  position: relative;
  width: 560px;
}
.top_service_box_column:first-child::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
}
.top_service_box_column:last-child {
  width: calc(100% - 612px);
}
.top_service_box_title {
  margin-bottom: 24px;
}
.top_service_box_title_en {
  display: block;
  font-family: var(--font-en);
  font-size: 13px;
  letter-spacing: 0;
  line-height: calc(16 / 13);
  color: rgba(255, 255, 255, 0.8);
}
.top_service_box_title_jp {
  display: block;
  margin-top: 12px;
  font-size: 20px;
  font-weight: 300;
  letter-spacing: 0.06em;
  line-height: calc(24 / 20);
}
.top_service_box_btn_wrapper {
  margin-top: 40px;
}
/* 事業内容ここまで */

/* お知らせ */
.top_news_section {
  padding-top: 120px;
  margin-bottom: -400px;
  border-top: solid 1px rgba(255, 255, 255, 0.4);
}
.top_news_content {
  display: flex;
}
input[name="tab_input"] {
  display: none;
}
.top_news_head {
  width: 26.7%;
}
.top_news_head_tab {
  margin-top: 32px;
  padding-left: 11px;
}
.top_news_head_tab_item label {
  display: block;
  padding: 8px 0;
  font-size: 12px;
  font-weight: 400;
  line-height: calc(14 / 12);
  opacity: 0.6;
  cursor: pointer;
  transition: 0.2s;
}
.top_news_head_tab_item label:hover {
  opacity: 1;
}
#tab1:checked ~ .top_news_head_tab #tab1_label,
#tab2:checked ~ .top_news_head_tab #tab2_label,
#tab3:checked ~ .top_news_head_tab #tab3_label,
#tab4:checked ~ .top_news_head_tab #tab4_label {
  opacity: 1;
  position: relative;
}
#tab1:checked ~ .top_news_head_tab #tab1_label::before,
#tab2:checked ~ .top_news_head_tab #tab2_label::before,
#tab3:checked ~ .top_news_head_tab #tab3_label::before,
#tab4:checked ~ .top_news_head_tab #tab4_label::before {
  content: "";
  position: absolute;
  left: -12px;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  background-color: var(--primary);
  border-radius: 50%;
}
.top_news_body_panel {
  overflow: hidden;
  height: 0;
  opacity: 0;
}
.top_news_body {
  width: 73.3%;
}
.top_news_head:has(#tab1:checked) ~ .top_news_body #panel1,
.top_news_head:has(#tab2:checked) ~ .top_news_body #panel2,
.top_news_head:has(#tab3:checked) ~ .top_news_body #panel3,
.top_news_head:has(#tab4:checked) ~ .top_news_body #panel4 {
  overflow: visible;
  height: auto;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
.top_news_cards {
  margin-top: 15px;
}
.top_news_cards:has(.top_news_card:hover) .top_news_card:not(:hover) {
  opacity: 0.5;
}
.top_news_card {
  border-bottom: solid 1px rgba(255, 255, 255, 0.3);
  transition: opacity 0.3s;
}
.top_news_card:last-child {
  border-bottom: none;
}
.top_news_card_link {
  position: relative;
  display: flex;
  align-items: center;
  padding: 24px 60px 24px 0;
}
.top_news_card_link::after {
  content: "";
  position: absolute;
  right: 21px;
  width: 12px;
  height: 11px;
  background-image: url(../img/common/btn/arrow/white/right.png);
  background-size: cover;
  transition: 0.2s;
}
.top_news_card_link:hover::after {
  right: 0;
}
.top_news_card_link_thumb {
  position: absolute;
  right: 96px;
  opacity: 0;
  width: 0;
  height: 180px;
  visibility: hidden;
  transition:
    height 0.4s,
    opacity 0.6s;
}
.top_news_card:nth-child(1) .top_news_card_link_thumb {
  top: auto;
}
.top_news_card:nth-child(2) .top_news_card_link_thumb {
  top: auto;
}
.top_news_card:nth-child(3) .top_news_card_link_thumb {
  top: auto;
}
.top_news_card_link:hover .top_news_card_link_thumb {
  opacity: 1;
  width: 189px;
  height: 161px;
  visibility: visible;
}
.top_news_card_date {
  display: block;
  width: 116px;
  font-family: var(--font-en);
  letter-spacing: 0.08em;
  font-weight: 400;
  line-height: 1;
}
.top_news_card_cats {
  display: block;
  width: 105px;
}
.top_news_card_cat {
  display: inline-block;
  padding: 0 10px;
  background-color: rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.8);
  font-family: var(--font-en);
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 26px;
  font-size: 13px;
}
.top_news_card_title {
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 0;
  line-height: 1.5;
}
.top_news_cards_control {
  margin-top: 0;
  padding-right: 0;
}
.top_news_cards_control_arrows,
.top_news_cards_control_dots {
  display: none;
}
.top_news_panel_btn_wrapper {
  margin-top: 23px;
  margin-left: auto;
}
/* お知らせここまで */

/* 採用 */
.top_recruit_section {
  padding-top: 400px;
  padding-bottom: calc(300 / var(--view-size) * 100vw);
  text-align: center;
  overflow: hidden;
  margin-bottom: 0;
  padding-left: calc(120 / var(--view-size) * 100vw);
  padding-right: calc(120 / var(--view-size) * 100vw);
}
.top_recruit_bgText {
  position: relative;
  overflow: hidden;
  margin-top: -72px;
  margin-left: -120px;
  width: calc(100% + 240px);
  height: 108px;
  -webkit-mask-image: linear-gradient(
    to right,
    rgba(255, 255, 255, 0),
    rgba(255, 255, 255, 0.4),
    rgba(255, 255, 255, 0.4),
    rgba(255, 255, 255, 0.4),
    rgba(255, 255, 255, 0)
  );
  mask-image: linear-gradient(
    to right,
    rgba(255, 255, 255, 0),
    rgba(255, 255, 255, 0.4),
    rgba(255, 255, 255, 0.4),
    rgba(255, 255, 255, 0.4),
    rgba(255, 255, 255, 0)
  );
}
.top_recruit_bgText_scroll {
  display: flex;
  animation: scroll-left 40s linear infinite;
}
.top_recruit_bgText_img {
  width: 2781px;
  height: 108px;
  flex-shrink: 0;
}
.top_recruit_bgText_img img {
  padding-right: 50px;
}
.top_recruit_content_wrapper {
  position: relative;
  padding-bottom: calc(300 / var(--view-size) * 100vw);
}
.top_recruit_bg_container {
  /* position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0; */
}
.top_recruit_bg_video {
  position: absolute;
  top: 50%;
  left: -9%;
  width: 120%;
  height: auto;
}
.top_recruit_lineStage {
  position: absolute;
  top: auto;
  bottom: calc(-600 / var(--view-size) * 100vw);
  left: calc(-120 / var(--view-size) * 100vw);
  width: calc(100% + calc(240 / var(--view-size) * 100vw));
  height: calc(1200 / var(--view-size) * 100vw);
  pointer-events: none;
  z-index: 1;
}
.top_recruit_lineStage_pc {
  display: block;
}
.top_recruit_lineStage_sp {
  display: none;
}
.top_recruit_lineWrap {
  position: absolute;
  top: 0;
  height: 100%;
  overflow: visible;
  will-change: transform;
}
.top_recruit_lineWrap_left {
  width: calc(1114 / var(--view-size) * 100vw);
  top: 0;
  right: calc(660 / var(--view-size) * 100vw);
  transform: none;
}
.top_recruit_lineWrap_right {
  width: calc(1114 / var(--view-size) * 100vw);
  top: calc(-67 / var(--view-size) * 100vw);
  left: calc(660 / var(--view-size) * 100vw);
  transform: none;
}
.top_recruit_lineSvg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  display: block;
  overflow: visible;
}
.top_recruit_lineSvg_left {
  left: 0;
  z-index: 1;
}
.top_recruit_lineSvg_right {
  right: 0;
}
.top_recruit_lineWrap_left,
.top_recruit_lineWrap_right {
  transform: none !important;
  will-change: auto;
}
#recruitRevealLeftPath,
#recruitRevealRightPath {
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
}

/* 完成用SVGは最初から表示 */
.top_recruit_lineSvg_leftFinal,
.top_recruit_lineSvg_rightFinal {
  opacity: 0.6;
}

.top_recruit_lineSvg_leftFinal {
  transform: translate(
    calc(12 / var(--view-size) * 100vw),
    calc(10 / var(--view-size) * 100vw)
  );
}

.top_recruit_lineSvg_rightFinal {
  transform: translate(
    calc(-10 / var(--view-size) * 100vw),
    calc(8 / var(--view-size) * 100vw)
  );
}

/* stroke版は使わない */
.top_recruit_lineSvg_leftStroke,
.top_recruit_lineSvg_rightStroke,
.top_recruit_lineSvg_leftStroke_sp,
.top_recruit_lineSvg_rightStroke_sp {
  display: none !important;
}

.top_recruit_content_inner {
  position: relative;
  z-index: 1;
}
.top_recruit_content {
  position: relative;
  margin-top: -34px;
}
.top_recruit_copy {
  margin-top: 50px;
}
.top_recruit_copy_img {
  display: inline-block;
  width: 297px;
  height: 102px;
}
.top_recruit_text {
  margin-top: 3px;
}
.top_recruit_btn_wrapper {
  position: absolute;
  top: auto;
  bottom: calc(-124 / var(--view-size) * 100vw);
  left: 50%;
  transform: translateX(-50%);
  height: calc(300 / var(--view-size) * 100vw);
  z-index: 2;
}
.top_recruit_btn {
  position: absolute;
  top: 50%;
  left: 50%;
  display: inline-block;
  width: calc(300 / var(--view-size) * 100vw);
  border-radius: 50%;
  aspect-ratio: 1 / 1;
  background-color: rgba(255, 255, 255, 0.8);
  transform: translateX(-50%) translateY(-50%) scale(0);
  visibility: hidden;
  pointer-events: none;
  will-change: transform;
}
.top_recruit_btn span {
  position: relative;
  line-height: calc(300 / var(--view-size) * 100vw);
  font-family: var(--font-en);
  font-size: calc(18 / var(--view-size) * 100vw);
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--primary);
}
.top_recruit_btn span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -26px;
  transform: translateY(-50%);
  width: 12px;
  height: 11px;
  background-image: url(../img/common/btn/arrow/blue/right.png);
  background-size: cover;
}
/* 採用ここまで */

@media (max-width: 1439px) {
  /* FV */
  .top_fv_section {
    padding-left: calc(40 / var(--view-size) * 100vw);
    padding-right: calc(40 / var(--view-size) * 100vw);
  }
  .top_fv_title {
    font-size: calc(48 / var(--view-size) * 100vw);
  }
  .top_fv_text {
    margin-top: calc(23 / var(--view-size) * 100vw);
  }
  .top_fv_text_img {
    width: calc(470 / var(--view-size) * 100vw);
  }
  .top_fv_news {
    margin-top: calc(38 / var(--view-size) * 100vw);
    margin-right: calc(-8 / var(--view-size) * 100vw);
  }
  .top_fv_news_slider {
    width: calc(380 / var(--view-size) * 100vw);
  }
  .top_fv_news_slide {
    width: calc(380 / var(--view-size) * 100vw);
    padding: calc(20 / var(--view-size) * 100vw)
      calc(20 / var(--view-size) * 100vw) calc(26 / var(--view-size) * 100vw);
  }
  .top_fv_news_slide:hover {
    background-color: rgba(255, 255, 255, 0.12);
  }
  .top_fv_news_slide_meta {
    column-gap: calc(16 / var(--view-size) * 100vw);
  }
  .top_fv_news_slide_cat,
  .top_fv_news_slide_date {
    font-size: calc(14 / var(--view-size) * 100vw);
  }
  .top_fv_news_slide_title {
    margin-top: calc(6 / var(--view-size) * 100vw);
    font-size: calc(13 / var(--view-size) * 100vw);
  }
  .top_fv_news_slider_num {
    top: calc(100% + (6 / var(--view-size) * 100vw));
    font-size: calc(11 / var(--view-size) * 100vw);
  }
  .top_fv_news_slider_progress {
    top: calc(-36 / var(--view-size) * 100vw);
    width: calc(16 / var(--view-size) * 100vw);
    height: calc(16 / var(--view-size) * 100vw);
  }
  .top_fv_news_slider_progress::before {
    width: calc(6 / var(--view-size) * 100vw);
    height: calc(6 / var(--view-size) * 100vw);
  }
  .top_fv_time {
    margin-top: calc(-24 / var(--view-size) * 100vw);
  }
  .top_fv_time span {
    font-size: calc(11 / var(--view-size) * 100vw);
  }
  /* FVここまで */

  /* 私たちについて */
  .top_about_bgText {
    margin-top: calc(-98 / var(--view-size) * 100vw);
    margin-left: calc(-120 / var(--view-size) * 100vw);
    width: calc(100% + (240 / var(--view-size) * 100vw));
    height: calc(135 / var(--view-size) * 100vw);
  }
  .top_about_bgText_img {
    width: calc(3025 / var(--view-size) * 100vw);
    height: calc(135 / var(--view-size) * 100vw);
  }
  .top_about_bgText_img img {
    padding-right: calc(50 / var(--view-size) * 100vw);
  }
  .top_about_content {
    width: calc(718 / var(--view-size) * 100vw);
    margin: calc(-37 / var(--view-size) * 100vw) auto 0;
  }
  .top_about_body {
    width: calc(552 / var(--view-size) * 100vw);
    margin-top: calc(74 / var(--view-size) * 100vw);
  }
  .top_about_body_btn_wrapper {
    margin-top: calc(37 / var(--view-size) * 100vw);
  }
  /* 私たちについてここまで */

  /* 事業内容 */
  .top_service_section {
    position: relative;
    contain: paint;
    margin: 0;
    padding-top: calc(120 / var(--view-size) * 100vw);
    padding-bottom: calc(120 / var(--view-size) * 100vw);
  }
  .top_service_bg {
    top: calc(300 / var(--view-size) * 100vw);
  }
  .top_service_head {
    margin-bottom: calc(60 / var(--view-size) * 100vw);
  }
  .top_service_head_btn_wrapper {
    margin-top: calc(10 / var(--view-size) * 100vw);
  }
  .top_service_box_heading h3 {
    margin-top: calc(5 / var(--view-size) * 100vw);
  }
  .top_service_box {
    padding-top: calc(17 / var(--view-size) * 100vw);
    padding-bottom: calc(75 / var(--view-size) * 100vw);
  }
  .top_service_box:nth-child(1) {
    top: calc(164 / var(--view-size) * 100vw);
    margin-bottom: calc(110 / var(--view-size) * 100vw);
  }
  .top_service_box:nth-child(2) {
    top: calc(229 / var(--view-size) * 100vw);
    margin-bottom: calc(55 / var(--view-size) * 100vw);
  }
  .top_service_box:nth-child(3) {
    top: calc(194 / var(--view-size) * 100vw);
  }
  .top_service_box:nth-child(1)::before {
    height: calc(100% + (110 / var(--view-size) * 100vw));
  }
  .top_service_box:nth-child(2)::before {
    height: calc(100% + (55 / var(--view-size) * 100vw));
  }
  .top_service_box_columns {
    margin-top: calc(37 / var(--view-size) * 100vw);
    column-gap: calc(52 / var(--view-size) * 100vw);
  }
  .top_service_box_column:first-child {
    width: calc(560 / var(--view-size) * 100vw);
  }
  .top_service_box_column:last-child {
    width: calc(100% - (612 / var(--view-size) * 100vw));
  }
  .top_service_box_title {
    margin-bottom: calc(24 / var(--view-size) * 100vw);
  }
  .top_service_box_title_en {
    font-size: calc(13 / var(--view-size) * 100vw);
  }
  .top_service_box_title_jp {
    margin-top: calc(12 / var(--view-size) * 100vw);
    font-size: calc(20 / var(--view-size) * 100vw);
  }
  .top_service_box_btn_wrapper {
    margin-top: calc(40 / var(--view-size) * 100vw);
  }
  /* 事業内容ここまで */

  /* お知らせ */
  .top_news_section {
    padding-top: calc(120 / var(--view-size) * 100vw);
    margin-bottom: calc(-400 / var(--view-size) * 100vw);
  }
  .top_news_head_tab {
    margin-top: calc(32 / var(--view-size) * 100vw);
    padding-left: calc(11 / var(--view-size) * 100vw);
  }
  .top_news_head_tab_item label {
    padding: calc(8 / var(--view-size) * 100vw) 0;
    font-size: calc(12 / var(--view-size) * 100vw);
  }
  #tab1:checked ~ .top_news_head_tab #tab1_label::before,
  #tab2:checked ~ .top_news_head_tab #tab2_label::before,
  #tab3:checked ~ .top_news_head_tab #tab3_label::before,
  #tab4:checked ~ .top_news_head_tab #tab4_label::before {
    left: calc(-12 / var(--view-size) * 100vw);
    width: calc(6 / var(--view-size) * 100vw);
    height: calc(6 / var(--view-size) * 100vw);
  }
  .top_news_cards {
    margin-top: calc(15 / var(--view-size) * 100vw);
  }
  .top_news_card_link {
    padding: calc(24 / var(--view-size) * 100vw)
      calc(60 / var(--view-size) * 100vw) calc(24 / var(--view-size) * 100vw) 0;
  }
  .top_news_card_link::after {
    right: calc(21 / var(--view-size) * 100vw);
    width: calc(12 / var(--view-size) * 100vw);
    height: calc(11 / var(--view-size) * 100vw);
  }
  .top_news_card_link_thumb {
    right: calc(96 / var(--view-size) * 100vw);
    height: calc(180 / var(--view-size) * 100vw);
  }
  .top_news_card_link:hover .top_news_card_link_thumb {
    width: calc(189 / var(--view-size) * 100vw);
    height: calc(161 / var(--view-size) * 100vw);
  }
  .top_news_card_date {
    width: calc(116 / var(--view-size) * 100vw);
  }
  .top_news_card_cats {
    width: calc(105 / var(--view-size) * 100vw);
  }
  .top_news_card_cat {
    padding: 0 calc(10 / var(--view-size) * 100vw);
    line-height: calc(26 / var(--view-size) * 100vw);
    font-size: calc(13 / var(--view-size) * 100vw);
  }
  .top_news_card_title {
    font-size: calc(14 / var(--view-size) * 100vw);
  }
  .top_news_panel_btn_wrapper {
    margin-top: calc(23 / var(--view-size) * 100vw);
  }
  /* お知らせここまで */

  /* 採用 */
  .top_recruit_section {
    padding-top: calc(400 / var(--view-size) * 100vw);
    padding-bottom: calc(300 / var(--view-size) * 100vw);
  }
  .top_recruit_bgText {
    margin-top: calc(-72 / var(--view-size) * 100vw);
    margin-left: calc(-120 / var(--view-size) * 100vw);
    width: calc(100% + calc(240 / var(--view-size) * 100vw));
    height: calc(108 / var(--view-size) * 100vw);
  }
  .top_recruit_bgText_img {
    width: calc(2781 / var(--view-size) * 100vw);
    height: calc(108 / var(--view-size) * 100vw);
  }
  .top_recruit_bgText_img img {
    padding-right: 50px;
  }
  .top_recruit_content_wrapper {
    padding-bottom: calc(300 / var(--view-size) * 100vw);
  }
  .top_recruit_lineStage {
  }
  .top_recruit_lineWrap_left {
  }
  .top_recruit_lineWrap_right {
  }
  .top_recruit_content {
    margin-top: calc(-34 / var(--view-size) * 100vw);
  }
  .top_recruit_copy {
    margin-top: calc(50 / var(--view-size) * 100vw);
  }
  .top_recruit_copy_img {
    width: calc(297 / var(--view-size) * 100vw);
    height: calc(102 / var(--view-size) * 100vw);
  }
  .top_recruit_text {
    margin-top: calc(3 / var(--view-size) * 100vw);
  }
  .top_recruit_btn_wrapper {
  }
  .top_recruit_btn {
    width: calc(300 / var(--view-size) * 100vw);
    transform: translate(-50%, -50%) scale(0);
    visibility: hidden;
    pointer-events: none;
  }
  .top_recruit_btn span {
    line-height: calc(300 / var(--view-size) * 100vw);
    font-size: calc(18 / var(--view-size) * 100vw);
  }
  .top_recruit_btn span::after {
    right: calc(-26 / var(--view-size) * 100vw);
    width: calc(12 / var(--view-size) * 100vw);
    height: calc(11 / var(--view-size) * 100vw);
  }
  /* 採用ここまで */
}

@media (max-width: 768px) {
  /* スクロールのスムーズ動作を無効化してパフォーマンス改善 */
  html {
    scroll-behavior: auto !important;
  }

  /* FV */
  .top_fv_section {
    padding-left: calc(20 / var(--view-size) * 100vw);
    padding-right: calc(20 / var(--view-size) * 100vw);
    padding-bottom: calc(60 / var(--view-size) * 100vw);
    height: 100vh; /* dvh → vh に変更してアドレスバーの影響を受けないように */
  }
  .fv_rings--pc {
    display: none;
  }
  .fv_rings--sp {
    display: block;
    overflow: hidden;
  }
  .ringCanvas--right {
    width: calc(739 / var(--view-size) * 100vw);
    height: calc(591 / var(--view-size) * 100vw);
    transform-origin: center center;
    left: -6%;
    top: -18%;
    transform: rotate(-61deg) scale(-1.2, 1.2);
  }
  .ringCanvas--left {
    width: calc(739 / var(--view-size) * 100vw);
    height: calc(591 / var(--view-size) * 100vw);
    left: -88%;
    top: 18%;
    transform: rotate(-56deg) scale(-1.2, 1.2);
    transform-origin: center center;
  }
  .top_fv_img_wrapper {
    width: calc(280 / var(--view-size) * 100vw);
    height: calc(332 / var(--view-size) * 100vw);
    transform: translate(-50%, 0) translate3d(0px, 0px, 0px) !important;
    top: 24dvh;
  }
  .top_fv_content {
    /* padding-top: calc(404 / var(--view-size) * 100vw);
    display: block; */
  }
  .top_fv_title {
    font-size: calc(24 / var(--view-size) * 100vw);
  }
  .top_fv_text {
    margin-top: calc(14 / var(--view-size) * 100vw);
  }
  .top_fv_text_img {
    width: calc(210 / var(--view-size) * 100vw);
  }
  .top_fv_news {
    margin-top: calc(44 / var(--view-size) * 100vw);
    margin-right: 0;
  }
  .top_fv_news_slider {
    width: 100%;
  }
  .top_fv_news_slide {
    width: calc(350 / var(--view-size) * 100vw);
  }
  .top_fv_news_slide_cat,
  .top_fv_news_slide_date {
    font-size: calc(12 / var(--view-size) * 100vw);
  }
  .top_fv_news_slide_title {
    margin-top: calc(8 / var(--view-size) * 100vw);
    font-size: calc(12 / var(--view-size) * 100vw);
  }
  .top_fv_time {
    display: none;
  }
  .top_fv_news_slider_progress {
    top: calc(-33 / var(--view-size) * 100vw);
    left: 65%;
  }
  /* FVここまで */

  /* 私たちについて */
  .top_about_section {
    padding-top: calc(220 / var(--view-size) * 100vw);
    padding-left: calc(14 / var(--view-size) * 100vw);
  }
  .top_about_bgText {
    margin-top: calc(-30 / var(--view-size) * 100vw);
    margin-left: calc(-20 / var(--view-size) * 100vw);
    width: calc(100% + (40 / var(--view-size) * 100vw));
    height: calc(60 / var(--view-size) * 100vw);
  }
  .top_about_bgText_img {
    width: calc(1338 / var(--view-size) * 100vw);
    height: calc(60 / var(--view-size) * 100vw);
  }
  .top_about_content {
    width: 100%;
    margin: calc(-20 / var(--view-size) * 100vw) auto 0;
  }
  .top_about_body {
    width: calc(282 / var(--view-size) * 100vw);
    margin-top: calc(88 / var(--view-size) * 100vw);
  }
  .top_about_body_btn_wrapper {
    margin-top: calc(44 / var(--view-size) * 100vw);
    margin-left: auto;
  }
  /* 私たちについてここまで */

  /* 事業内容 */
  .top_service_section {
    margin-top: 0;
    margin-bottom: calc(-100 / var(--view-size) * 100vw);
    padding-top: calc(100 / var(--view-size) * 100vw);
    padding-bottom: calc(100 / var(--view-size) * 100vw);
  }
  .top_service_bg {
    top: calc(880 / var(--view-size) * 100vw);
    height: calc(1076 / var(--view-size) * 100vw);
  }
  .top_service_head {
    display: block;
  }
  .top_service_head_btn_wrapper {
    margin-top: calc(40 / var(--view-size) * 100vw);
    margin-left: auto;
  }
  .top_service_box {
    position: relative;
    padding-top: calc(30 / var(--view-size) * 100vw);
    padding-bottom: calc(60 / var(--view-size) * 100vw);
    min-height: auto;
  }
  .top_service_box:nth-child(1),
  .top_service_box:nth-child(2),
  .top_service_box:nth-child(3) {
    top: auto;
  }
  .top_service_box:nth-child(1)::before {
    background: transparent;
  }
  .top_service_box:nth-child(1) {
    margin-bottom: 0;
  }
  .top_service_box:nth-child(2) {
    margin-bottom: 0;
  }
  .top_service_box:nth-child(3) {
    margin-bottom: 0;
  }
  .top_service_box::before,
  .top_service_box::after {
    width: calc(100% + (40 / var(--view-size) * 100vw));
  }
  .top_service_box_columns {
    margin-top: calc(20 / var(--view-size) * 100vw);
    display: block;
  }
  .top_service_box_column:first-child {
    width: 100%;
  }
  .top_service_box_column:first-child img {
    aspect-ratio: 350 / 252;
  }
  .top_service_box_column:last-child {
    width: 100%;
    margin-top: calc(24 / var(--view-size) * 100vw);
  }
  .top_service_box_title {
    margin-bottom: calc(20 / var(--view-size) * 100vw);
  }
  .top_service_box_btn_wrapper {
    margin-left: auto;
  }
  /* 事業内容ここまで */

  /* お知らせ */
  .top_news_section {
    padding-top: calc(100 / var(--view-size) * 100vw);
    margin-bottom: calc(-50 / var(--view-size) * 100vw);
  }
  .top_news_content {
    display: block;
  }
  .top_news_head {
    width: 100%;
  }
  .top_news_head_tab {
    display: flex;
    column-gap: calc(14 / var(--view-size) * 100vw);
    margin-top: calc(30 / var(--view-size) * 100vw);
    padding-left: 0;
  }
  #tab1:checked ~ .top_news_head_tab #tab1_label::before,
  #tab2:checked ~ .top_news_head_tab #tab2_label::before,
  #tab3:checked ~ .top_news_head_tab #tab3_label::before,
  #tab4:checked ~ .top_news_head_tab #tab4_label::before {
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    top: calc(-4 / var(--view-size) * 100vw);
    width: calc(6 / var(--view-size) * 100vw);
    height: calc(6 / var(--view-size) * 100vw);
  }
  .top_news_body {
    width: 100%;
  }
  .top_news_cards {
    width: calc(100% + (20 / var(--view-size) * 100vw));
    margin-top: calc(24 / var(--view-size) * 100vw);
  }
  .top_news_cards:has(.top_news_card:hover) .top_news_card:not(:hover) {
    opacity: 1;
  }
  .top_news_card {
    width: calc(240 / var(--view-size) * 100vw);
    margin-right: calc(18 / var(--view-size) * 100vw);
    border-bottom: none;
  }
  .top_news_card_link {
    display: block;
    padding: 0;
  }
  .top_news_card_link::after {
    display: none;
  }
  .top_news_card_link_thumb {
    position: static;
    top: initial;
    right: 0;
    opacity: 1;
    width: 100%;
    height: 100%;
    visibility: initial;
    margin-bottom: calc(18 / var(--view-size) * 100vw);
  }
  .top_news_card:nth-child(1) .top_news_card_link_thumb {
    top: 0;
  }
  .top_news_card:nth-child(2) .top_news_card_link_thumb {
    top: 0;
  }
  .top_news_card:nth-child(3) .top_news_card_link_thumb {
    top: 0;
  }
  .top_news_card_link:hover .top_news_card_link_thumb {
    width: 100%;
    height: 100%;
    visibility: initial;
  }
  .top_news_card_link_thumb img {
    aspect-ratio: 240 / 204;
  }
  .top_news_card_date {
    display: inline-block;
    width: initial;
    line-height: calc(26 / 14);
    font-size: calc(14 / var(--view-size) * 100vw);
    padding-right: calc(16 / var(--view-size) * 100vw);
  }
  .top_news_card_cats {
    display: inline-block;
    width: initial;
  }
  .top_news_card_cat {
    display: inline-block;
    font-size: calc(12 / var(--view-size) * 100vw);
    line-height: calc(22 / var(--view-size) * 100vw);
    padding: 0 calc(10 / var(--view-size) * 100vw);
  }
  .top_news_card_title {
    margin-top: calc(8 / var(--view-size) * 100vw);
  }
  .top_news_cards_control {
    margin-top: calc(30 / var(--view-size) * 100vw);
    flex-wrap: wrap;
  }
  .top_news_cards_control_arrows {
    display: flex;
  }
  .top_news_cards_control_dots {
    display: block;
  }
  .top_news_cards_control_dots .common_works_case_control_dot li {
    width: calc((215 / var(--view-size) * 100vw) / sibling-count());
  }
  .top_news_panel_btn_wrapper {
    margin-top: calc(24 / var(--view-size) * 100vw);
    display: block;
  }
  /* お知らせここまで */

  /* 採用 */
  .top_recruit_section {
    padding-top: calc(50 / var(--view-size) * 100vw);
    padding-bottom: calc(160 / var(--view-size) * 100vw);
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .top_recruit_bgText {
    margin-top: calc(-30 / var(--view-size) * 100vw);
    margin-left: calc(-20 / var(--view-size) * 100vw);
    width: calc(100% + (40 / var(--view-size) * 100vw));
    height: calc(60 / var(--view-size) * 100vw);
  }
  .top_recruit_bgText_img {
    width: calc(1314 / var(--view-size) * 100vw);
    height: calc(60 / var(--view-size) * 100vw);
  }
  .top_recruit_lineStage {
    top: calc(42 / var(--view-size) * 100vw);
    left: 50%;
    transform: translateX(-50%) rotate(-45deg);
    width: calc(100% + 100px);
    height: calc(900 / var(--view-size) * 100vw);
  }
  .top_recruit_lineStage_pc {
    display: block;
  }
  .top_recruit_lineStage_sp {
    display: none;
  }
  .top_recruit_lineWrap_left {
    width: calc(500 / var(--view-size) * 100vw);
    left: calc(-300 / var(--view-size) * 100vw);
    top: calc(47 / var(--view-size) * 100vw);
  }
  .top_recruit_lineWrap_right {
    width: calc(500 / var(--view-size) * 100vw);
    top: calc(20 / var(--view-size) * 100vw);
    right: calc(-212 / var(--view-size) * 100vw);
  }
  .top_recruit_content {
    margin-top: calc(11 / var(--view-size) * 100vw);
  }
  .top_recruit_copy {
    margin-top: calc(36 / var(--view-size) * 100vw);
  }
  .top_recruit_copy_img {
    width: calc(187 / var(--view-size) * 100vw);
    height: calc(64 / var(--view-size) * 100vw);
  }
  .top_recruit_text {
    margin-top: calc(18 / var(--view-size) * 100vw);
  }
  .top_recruit_btn_wrapper {
    top: calc(426 / var(--view-size) * 100vw);
  }
  .top_recruit_btn {
    width: calc(238 / var(--view-size) * 100vw);
  }
  .top_recruit_btn span {
    line-height: calc(238 / var(--view-size) * 100vw);
  }
  /* 採用ここまで */

  footer {
    margin-top: 0;
  }
}
