@charset "UTF-8";
/* ====================================
   Settings
==================================== */
/* ====================================
   Base
==================================== */
body {
  margin: 0;
  font-family: "Helvetica Neue", Arial, "Noto Sans JP", sans-serif;
  color: #333;
  padding-top: 0;
}
body.is-header-fixed {
  padding-top: 70px;
}
body.is-menu-open {
  overflow: hidden;
}

a {
  text-decoration: none;
  color: inherit;
  transition: color 0.3s;
}
a:hover {
  color: #F77705;
}

ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

/* ====================================
   Layout
==================================== */
.l-header {
  position: relative;
  width: calc(100% - 40px);
  margin: 20px;
  padding: 10px 0;
  z-index: 999;
  border-radius: 70px;
  background-color: transparent !important;
  -webkit-backdrop-filter: none !important;
          backdrop-filter: none !important;
  transform: none !important;
}
.l-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 70px;
  z-index: -1;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
  background-color: #FCF9F3;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.l-header__inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 50px;
}
.l-header--top {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 20px auto;
  z-index: 100;
  width: calc(100% - 40px);
}
.l-header--top::before {
  background-color: rgba(252, 249, 243, 0.4);
  box-shadow: none;
}
@media screen and (max-width: 768px) {
  .l-header--top {
    width: calc(100% - 40px);
    margin: 20px;
  }
}
.l-header.is-fixed {
  position: fixed;
  top: 0;
  animation: fadeInHeader 0.5s ease-out forwards;
}
.l-header.is-fixed::before {
  background-color: rgba(252, 249, 243, 0.9);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
.l-header.is-fixed .c-logo__img {
  height: 50px;
}

@keyframes fadeInHeader {
  from {
    opacity: 0;
    top: -20px;
  }
  to {
    opacity: 1;
    top: 0;
  }
}
.l-main {
  max-width: 1400px;
  /* PC: 140px */
  margin: 140px auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .l-main {
    /* SP: 100px */
    margin: 100px 0;
  }
}

/* ====================================
   Component
==================================== */
/* Logo */
.c-logo {
  display: flex;
  align-items: center;
  margin: 0;
}
.c-logo__img {
  height: 60px;
  width: auto;
  margin-right: 20px;
}
@media screen and (max-width: 768px) {
  .c-logo__img {
    height: 50px;
  }
}
.c-logo__sub {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  .c-logo__sub {
    font-size: 14px;
  }
}

.pc_none {
  display: none;
}
@media screen and (max-width: 768px) {
  .pc_none {
    display: block;
  }
}

/* Menu Toggle */
.c-menu-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  width: 44px;
  height: 44px;
  padding: 0;
  position: relative;
  z-index: 1000;
}
@media screen and (max-width: 1200px) {
  .c-menu-toggle {
    display: block;
  }
}
.c-menu-toggle .bar {
  display: block;
  width: 24px;
  height: 2px;
  background-color: #F77705;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  transition: all 0.3s ease-in-out;
  border-radius: 2px;
}
.c-menu-toggle .bar:nth-child(1) {
  top: 14px;
}
.c-menu-toggle .bar:nth-child(2) {
  top: 21px;
  opacity: 1;
}
.c-menu-toggle .bar:nth-child(3) {
  top: 28px;
}
.c-menu-toggle.is-active .bar:nth-child(1) {
  top: 21px;
  transform: translateX(-50%) rotate(45deg);
}
.c-menu-toggle.is-active .bar:nth-child(2) {
  opacity: 0;
}
.c-menu-toggle.is-active .bar:nth-child(3) {
  top: 21px;
  transform: translateX(-50%) rotate(-45deg);
}

/* Global Nav */
@media screen and (max-width: 1200px) {
  .c-gnav {
    position: fixed;
    top: 0;
    right: 0;
    left: auto;
    width: 80%;
    height: 100vh;
    background-color: #FCF9F3;
    z-index: 1000;
    padding-top: 80px;
    overflow-y: auto;
    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
    transition: transform 0.4s ease, opacity 0.4s ease, visibility 0.4s ease;
    transform: translateX(100%);
    opacity: 0;
    visibility: hidden;
    max-height: none;
    margin: 0;
  }
  .c-gnav.is-active {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
    padding: 80px 0;
    max-height: none;
  }
}
.c-gnav__list {
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 1200px) {
  .c-gnav__list {
    flex-direction: column;
    align-items: center;
    gap: 0;
  }
}
@media screen and (max-width: 1200px) {
  .c-gnav__item {
    width: 100%;
    border-bottom: 1px solid #eee;
  }
  .c-gnav__item:last-child {
    border: none;
  }
}
.c-gnav__link {
  font-size: 16px;
  padding: 5px 0;
  white-space: nowrap;
  font-weight: 500;
}
@media screen and (max-width: 1200px) {
  .c-gnav__link {
    display: block;
    padding: 20px;
  }
}

.c-gnav-overlay {
  display: none; /* PCでは非表示 */
}
@media screen and (max-width: 1200px) {
  .c-gnav-overlay {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 9;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
  }
  .c-gnav-overlay.is-active {
    opacity: 1;
    visibility: visible;
  }
}

/* Page Header */
.c-page-header {
  margin-bottom: 140px;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .c-page-header {
    margin-bottom: 100px;
  }
}
.c-page-header__title {
  font-size: 108px;
  font-weight: bold;
  background: linear-gradient(to right, #F77705, #F8960D);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: 2px;
  margin: 0 0 20px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .c-page-header__title {
    font-size: 50px;
  }
}
@media screen and (max-width: 576px) {
  .c-page-header__title {
    font-size: 36px;
  }
}
.c-page-header__sub {
  font-size: 16px;
  margin-top: 5px;
  color: #333;
}

.c-breadcrumb {
  text-align: right;
  font-size: 14px;
  color: #666;
  margin-top: 50px;
}
.c-breadcrumb a {
  font-weight: bold;
}

/* Common Titles */
.c-section-title {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 40px;
  display: flex;
  align-items: center;
}
.c-section-title::before {
  content: "";
  display: inline-block;
  width: 30px;
  height: 2px;
  background-color: #F77705;
  margin-right: 15px;
}
@media screen and (max-width: 768px) {
  .c-section-title {
    font-size: 22px;
    margin-bottom: 20px;
  }
}

.c-section-title-sm {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 15px;
}

.c-section-title-bar {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 50px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .c-section-title-bar {
    margin-bottom: 30px;
  }
}
.c-section-title-bar::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 1px;
  background-color: #F88B0D;
  margin-right: 10px;
}

.c-divider {
  border: 0;
  border-top: 1px solid #ddd;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .c-divider {
    margin-bottom: 30px;
  }
}

/* Tags */
.c-tag {
  background: linear-gradient(to right, #F77705, #F8960D);
  color: #fff;
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 4px;
}
.c-tag--rounded {
  border-radius: 20px;
  padding: 6px 16px;
  font-size: 0.8rem;
}

/* Pagination */
.c-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  /* PC: 140px */
  margin-top: 140px;
}
@media screen and (max-width: 768px) {
  .c-pagination {
    /* SP: 100px */
    margin-top: 100px;
  }
}
.c-pagination__link {
  width: 36px;
  height: 36px;
  line-height: 36px;
  text-align: center;
  border-radius: 50%;
  font-size: 14px;
  color: #F77705;
  background-color: #fff;
  border: 1px solid #F77705;
  transition: all 0.2s ease;
  text-decoration: none;
}
.c-pagination__link:hover:not(.c-pagination__link--current):not(.c-pagination__link--dots):not(.c-pagination__link--next) {
  background-color: rgb(253.4226190476, 213.0416666667, 177.0773809524);
}
.c-pagination__link--current {
  background: linear-gradient(to right, #F77705, #F8960D);
  color: #fff;
}
.c-pagination__link--current:hover {
  background: linear-gradient(to right, #F77705, #F8960D);
  color: #fff;
  opacity: 1;
  cursor: default;
}
.c-pagination__link--dots {
  border: none;
  color: #999;
  pointer-events: none;
}
.c-pagination__link--next {
  background: linear-gradient(to right, #F77705, #F8960D);
  color: #fff;
}
.c-pagination__link--next:hover {
  background: #fff;
  color: #F77705;
}

.u-sp-only {
  display: none;
}
@media screen and (max-width: 768px) {
  .u-sp-only {
    display: block;
  }
}

/* Fade In */
.js-fade-in {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.js-fade-in.is-shown {
  opacity: 1;
  transform: translateY(0);
}

/* Scroll Top Button */
.c-scroll-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 100px;
  border-radius: 50%;
  background-color: #4B4B4B;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: transform 0.3s ease, background-color 0.3s ease;
  transform: rotate(45deg);
}
.c-scroll-top .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transform: rotate(-45deg);
}
.c-scroll-top .icon {
  font-size: 14px;
  margin-bottom: 5px;
}
.c-scroll-top .text {
  font-family: "Montserrat", sans-serif;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 1px;
}
.c-scroll-top:hover {
  background-color: #333;
  transform: rotate(45deg) translateY(-5px);
}
@media screen and (max-width: 768px) {
  .c-scroll-top {
    width: 60px;
    height: 90px;
    right: 25px;
    bottom: 25px;
  }
}

/* Buttons (Footer & General) */
.c-btn {
  display: inline-block;
  padding: 15px 30px;
  border-radius: 30px;
  font-weight: bold;
  color: #F57507;
  min-width: 140px;
  text-align: center;
  font-size: 15px;
  transition: all 0.2s ease;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.c-btn--orange {
  background-color: #fff;
  border: 1px solid #F57507;
}
.c-btn--orange:hover {
  background-color: #F57507;
  color: #fff;
}
@media screen and (max-width: 576px) {
  .c-btn {
    width: 100%;
  }
}
.c-btn--orange-wide {
  background-color: #fff;
  border: 1px solid #F57507;
  padding: 15px 50px;
}
.c-btn--orange-wide:hover {
  background-color: #F57507;
  color: #fff;
}
@media screen and (max-width: 576px) {
  .c-btn--orange-wide {
    width: 100%;
  }
}

.link-instagram {
  border-bottom: 1px solid #eee;
}

/* Naname Button (Link with Arrow) */
.link-instagram, .corporate-link {
  display: flex;
  justify-content: space-between;
  font-weight: bold;
  transition: color 0.3s;
  text-decoration: none;
  padding: 0 0 20px;
}
.link-instagram .circle-arrow, .corporate-link .circle-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 26px;
  border-radius: 50%;
  background: linear-gradient(to right, #F77705, #F8960D);
  color: #fff;
  border: 1px solid transparent;
  box-shadow: inset 0 0 0 0 #fff;
  margin-left: 15px;
  font-size: 14px;
  transform: rotate(-50deg);
  transform-origin: center center;
  transition: transform 0.3s, opacity 0.3s, box-shadow 0.3s, border-color 0.3s, color 0.3s;
}
.link-instagram .circle-arrow::before, .corporate-link .circle-arrow::before {
  display: inline-block;
  transition: transform 0.3s;
}
.link-instagram:hover, .corporate-link:hover {
  color: #F77705;
}
.link-instagram:hover .circle-arrow, .corporate-link:hover .circle-arrow {
  opacity: 1;
  box-shadow: inset 0 0 0 50px #fff;
  color: #F77705;
  border-color: #F77705;
}
.link-instagram:hover .circle-arrow::before, .corporate-link:hover .circle-arrow::before {
  transform: rotate(0deg) translateX(3px);
}

/* Modal Styles */
.c-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
  /* Modal Inner */
}
.c-modal.is-open {
  opacity: 1;
  visibility: visible;
}
.c-modal.is-open .c-modal__content {
  transform: translate(-50%, -50%) scale(1);
}
.c-modal__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  cursor: pointer;
}
.c-modal__content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.95);
  width: 90%;
  max-width: 800px;
  height: auto;
  max-height: 90vh;
  overflow: visible; /* 閉じるボタンをはみ出させる */
  transition: transform 0.3s ease-out;
  padding: 0;
  filter: drop-shadow(0 20px 50px rgba(0, 0, 0, 0.2));
}
.c-modal__close {
  position: absolute;
  top: -15px; /* 右上にはみ出す */
  right: -15px;
  width: 50px;
  height: 32px;
  background: #E67E00;
  color: #fff;
  border: 2px solid #fff; /* フチをつけて目立たせる */
  border-radius: 50%;
  font-size: 16px;
  cursor: pointer;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: rotate(-50deg); /* ナナメ */
  transition: transform 0.3s, background 0.3s;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}
.c-modal__close i {
  transform: rotate(50deg);
  transition: transform 0.3s;
}
.c-modal__close:hover {
  background: #F77705;
  transform: rotate(-50deg) scale(1.1);
}
.c-modal__scroll {
  background-color: #fff;
  border-radius: 30px;
  width: 100%;
  height: 100%;
  max-height: 90vh; /* 画面内におさめる */
  overflow-y: auto; /* ここでスクロール */
  overscroll-behavior: contain;
}
.c-modal__scroll::-webkit-scrollbar {
  width: 12px; /* 余白を作るために少し幅を広げる */
}
.c-modal__scroll::-webkit-scrollbar-track {
  background: transparent;
  margin: 30px 0; /* 上下の角丸部分にかからないようにマージンを確保 */
}
.c-modal__scroll::-webkit-scrollbar-thumb {
  background-color: #ccc; /* つまみの色 */
  border-radius: 10px; /* つまみを丸くする */
  border: 3px solid transparent; /* 透明な枠線で周囲に余白を作る */
  background-clip: content-box; /* 背景色をコンテンツボックス内に限定する */
}
.c-modal__body {
  padding: 50px;
}
@media screen and (max-width: 768px) {
  .c-modal__body {
    padding: 30px;
  }
}
.c-modal .c-modal-header-visual {
  text-align: center;
  margin-bottom: 30px;
}
.c-modal .c-modal-header-visual img {
  max-width: 100%;
}
.c-modal .c-modal-story .story-text {
  text-align: left;
  font-size: 14px;
  line-height: 2;
}
.c-modal .c-modal-story .story-text p {
  margin-bottom: 20px;
}

/* ====================================
   Project: Shared Card
==================================== */
.p-interview-card {
  display: block;
  background-color: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  text-decoration: none;
  height: 100%;
  transition: box-shadow 0.3s ease;
}
.p-interview-card:hover {
  background-color: #FCF9F3;
}
.p-interview-card:hover .p-interview-card__img {
  transform: scale(1.1);
}
.p-interview-card__thumb {
  position: relative;
  width: 100%;
  padding-top: 60%;
  background-color: #f0f0f0;
  overflow: hidden;
}
.p-interview-card__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}
.p-interview-card__body {
  padding: 20px 24px 30px;
}
.p-interview-card__head {
  margin-bottom: 15px;
}
.p-interview-card__title {
  font-size: 16px;
  font-weight: bold;
  color: #333;
  margin: 0;
  line-height: 1.4;
  flex: 1;
}
@media screen and (max-width: 1200px) {
  .p-interview-card__title {
    flex: inherit;
  }
}
@media screen and (max-width: 768px) {
  .p-interview-card__title {
    flex: 1;
  }
}
.p-interview-card__tag.c-tag {
  background: linear-gradient(to right, #F77705, #F8960D);
  color: #fff;
  font-size: 14px;
  font-weight: normal;
  padding: 6px 16px;
  border-radius: 50px;
  white-space: nowrap;
  display: inline-block;
  margin: 15px 0 0;
}
.p-interview-card__text {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  margin: 0;
}

.p-interview-list {
  max-width: 1400px;
  margin: 0 auto;
}
.p-interview-list__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px;
}
@media screen and (max-width: 768px) {
  .p-interview-list__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }
}
@media screen and (max-width: 576px) {
  .p-interview-list__grid {
    grid-template-columns: 1fr;
  }
}

.p-interview-detail {
  max-width: 1400px;
  margin: 0 auto;
}

.p-interview-hero {
  margin: 0 0 140px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 60px;
}
@media screen and (max-width: 768px) {
  .p-interview-hero {
    margin: 0 0 100px;
    flex-direction: column;
    gap: 30px;
  }
}
.p-interview-hero__img-wrapper {
  flex: 1;
  width: 100%;
}
.p-interview-hero__img-wrapper img {
  width: 100%;
  border-radius: 40px;
}
.p-interview-hero__content {
  flex: 1;
  width: 100%;
  padding-top: 20px;
}
.p-interview-hero__header {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 15px;
  padding-bottom: 30px;
  border-bottom: 1px solid #dddddd;
  margin-bottom: 30px;
}
.p-interview-hero__header .tag-area {
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  .p-interview-hero__header .tag-area {
    margin-left: 0;
  }
}
.p-interview-hero__name {
  font-size: 1.4rem;
  font-weight: 700;
  margin: 0;
}
.p-interview-hero__career {
  font-weight: 500;
  font-size: 0.9rem;
  color: #666;
}
.p-interview-hero__career::before {
  content: "/";
  margin-right: 10px;
  color: #ccc;
}
.p-interview-hero__catch h3 {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.6;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .p-interview-hero__catch h3 {
    font-size: 1.4rem;
  }
}

.p-interview-body {
  margin-top: 60px;
  line-height: 1.8;
  font-size: 16px;
}
.p-interview-body p {
  margin-bottom: 2em;
}
.p-interview-body h3, .p-interview-body h4 {
  color: #F77705;
  font-weight: bold;
  margin: 40px 0 20px;
  font-size: 1.4rem;
  border-bottom: 2px solid #FCF9F3;
  padding-bottom: 10px;
}
.p-interview-body img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
  margin: 20px 0;
}
.p-interview-body .q-box {
  background: #FCF9F3;
  padding: 20px;
  border-radius: 10px;
  margin-bottom: 30px;
}
.p-interview-body .q-box__q {
  font-weight: bold;
  color: #F77705;
  margin-bottom: 10px;
  display: block;
}

.c-post-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 80px;
  padding-top: 40px;
  border-top: 1px solid #eee;
}
@media screen and (max-width: 768px) {
  .c-post-nav {
    flex-direction: column;
    gap: 20px;
  }
}
.c-post-nav a {
  display: inline-block;
  padding: 10px 20px;
  border: 1px solid #ddd;
  border-radius: 30px;
  font-size: 14px;
  transition: all 0.3s;
}
.c-post-nav a:hover {
  background-color: #F77705;
  color: #fff;
  border-color: #F77705;
}
.c-post-nav__btn a {
  background-color: #333;
  color: #fff;
  border-color: #333;
}
.c-post-nav__btn a:hover {
  background-color: #666;
  border-color: #666;
}

.p-interview-section__head {
  font-size: 27px;
}
@media screen and (max-width: 768px) {
  .p-interview-section__head {
    font-size: 18px;
  }
}

.p-interview-qa {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.p-interview-qa__box {
  background-color: #FCF9F3;
  border-radius: 40px;
  padding: 40px;
  margin: 0 0 40px;
}
@media screen and (max-width: 768px) {
  .p-interview-qa__box {
    padding: 30px;
    border-radius: 20px;
    margin: 0 0 30px;
  }
}
.p-interview-qa h3 {
  margin: 30px 0 0;
}
.p-interview-qa h3:first-child {
  margin: 0;
}
.p-interview-qa__item {
  display: flex;
  align-items: flex-start;
  gap: 30px;
}
@media screen and (max-width: 768px) {
  .p-interview-qa__item {
    gap: 15px;
  }
}
.p-interview-qa__item .symbol {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 36px;
  line-height: 1;
  flex-shrink: 0;
  color: #F77705;
  margin-top: 2px;
}
@media screen and (max-width: 768px) {
  .p-interview-qa__item .symbol {
    font-size: 28px;
    margin-top: 0;
  }
}
.p-interview-qa__item .text {
  flex-grow: 1;
  font-size: 16px;
  line-height: 1.8;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .p-interview-qa__item .text {
    font-size: 14px;
  }
}
.p-interview-qa__item .text p {
  margin: 0 0 1em;
}
.p-interview-qa__item .text p:last-child {
  margin-bottom: 0;
}
.p-interview-qa__item--q {
  font-weight: bold;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #ddd;
}
.p-interview-qa__item--q .text {
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .p-interview-qa__item--q .text {
    font-size: 16px;
  }
}
.p-interview-qa__item--a .text {
  color: #444;
}

.p-interview-timeline {
  /* PC: 140px */
  margin: 140px auto;
  max-width: 1400px;
}
@media screen and (max-width: 768px) {
  .p-interview-timeline {
    /* SP: 100px */
    margin: 100px auto;
  }
}
.p-interview-timeline__inner {
  width: 100%;
}
.p-interview-timeline__scroll-wrapper {
  width: 100%;
  /* PC: Horizontal Scroll */
  overflow-x: auto;
  padding-bottom: 40px;
  -webkit-overflow-scrolling: touch;
  /* --- SP: Scroll Reset & Vertical Layout --- */
}
.p-interview-timeline__scroll-wrapper::-webkit-scrollbar {
  height: 12px;
}
.p-interview-timeline__scroll-wrapper::-webkit-scrollbar-track {
  background: #f0f0f0;
  border-radius: 6px;
}
.p-interview-timeline__scroll-wrapper::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 6px;
  -webkit-transition: background 0.3s;
  transition: background 0.3s;
}
.p-interview-timeline__scroll-wrapper::-webkit-scrollbar-thumb:hover {
  background: #999;
}
@media screen and (max-width: 768px) {
  .p-interview-timeline__scroll-wrapper {
    overflow-x: visible; /* スクロール解除 */
    padding-bottom: 0;
    /* スクロールバー非表示 */
  }
  .p-interview-timeline__scroll-wrapper::-webkit-scrollbar {
    display: none;
  }
}
.p-interview-timeline__list {
  display: flex;
  gap: 30px;
  width: -moz-max-content;
  width: max-content;
  padding: 0 10px;
  /* --- SP: Stack Vertically --- */
}
@media screen and (max-width: 768px) {
  .p-interview-timeline__list {
    flex-direction: column;
    width: 100%;
    gap: 0; /* 線をつなげるためgapは0にしてpaddingで調整 */
    padding: 0;
  }
}
.p-interview-timeline__item {
  width: 280px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  /* --- SP: Item Layout --- */
}
@media screen and (max-width: 768px) {
  .p-interview-timeline__item {
    width: calc(100% - 30px);
    align-items: flex-start; /* 左寄せ */
    padding-left: 30px; /* 左側の線とドットのスペース確保 */
    padding-bottom: 40px; /* 下の要素との余白 */
    position: relative; /* 線の基準点 */
    /* SP用：左側の縦線 */
    /* 最後の要素だけ線（ボーダー）を消す */
  }
  .p-interview-timeline__item::before {
    content: "";
    position: absolute;
    top: 6px; /* ドットの中心から開始 */
    left: 5px; /* ドットの中心を通る位置 (ドット幅12pxの中央=6px - 線幅1pxの半分) */
    width: 1px;
    height: 100%;
    background-color: #ddd; /* 線の色 */
    z-index: 0;
  }
  .p-interview-timeline__item:last-child {
    padding-bottom: 0;
  }
  .p-interview-timeline__item:last-child::before {
    display: none;
  }
}
.p-interview-timeline .time-header {
  width: 100%;
  text-align: center;
  position: relative;
  padding-bottom: 20px;
  margin-bottom: 20px;
  /* PC用：横線 */
  /* --- SP: Header Layout --- */
}
.p-interview-timeline .time-header::after {
  content: "";
  position: absolute;
  top: 32px;
  width: calc(100% + 30px);
  height: 1px;
  background-color: #ddd;
  z-index: 0;
}
@media screen and (max-width: 768px) {
  .p-interview-timeline .time-header {
    text-align: left;
    padding-bottom: 0;
    margin-bottom: 15px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px; /* 時間とタイトルの間隔 */
    /* SPではPC用の横線を消す */
  }
  .p-interview-timeline .time-header::after {
    display: none;
  }
}
.p-interview-timeline .time-header .time {
  display: block;
  font-weight: bold;
  color: #666;
  margin-bottom: 10px;
  font-size: 14px;
  /* --- SP: Time Style --- */
}
@media screen and (max-width: 768px) {
  .p-interview-timeline .time-header .time {
    margin-bottom: 0;
    font-size: 16px; /* デザインに合わせて調整 */
    order: 2; /* ドットの次に表示 */
  }
}
.p-interview-timeline .time-header .dot {
  display: block;
  width: 12px;
  height: 12px;
  background-color: #F77705;
  border-radius: 50%;
  margin: 0 auto 10px;
  position: relative;
  z-index: 1;
  /* --- SP: Dot Style --- */
}
@media screen and (max-width: 768px) {
  .p-interview-timeline .time-header .dot {
    position: absolute;
    left: -30px; /* .p-interview-timeline__item の padding-left 分戻す */
    top: 6px; /* 1行目のテキスト中心に合わせる微調整 */
    margin: 0;
    order: 1;
  }
}
.p-interview-timeline .time-header .title {
  font-size: 18px;
  color: #F77705;
  font-weight: bold;
  margin: 0;
  /* --- SP: Title Style --- */
}
@media screen and (max-width: 768px) {
  .p-interview-timeline .time-header .title {
    order: 3;
    font-size: 18px;
  }
}
.p-interview-timeline .content-box {
  background-color: #f9f9f9;
  padding: 0 15px;
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.6;
  width: 100%;
  box-sizing: border-box;
  height: 100%;
  /* --- SP: Content Box Style --- */
}
@media screen and (max-width: 768px) {
  .p-interview-timeline .content-box {
    height: auto;
  }
}

.p-interview-holiday {
  /* PC: 140px */
  margin: 140px auto;
  max-width: 1400px;
}
@media screen and (max-width: 768px) {
  .p-interview-holiday {
    /* SP: 100px */
    margin: 100px auto;
  }
}
.p-interview-holiday__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 60px;
}
@media screen and (max-width: 768px) {
  .p-interview-holiday__inner {
    flex-direction: column;
    gap: 30px;
  }
}
.p-interview-holiday__img-wrapper {
  flex: 0 1 30%;
}
.p-interview-holiday__img-wrapper .holiday-img {
  width: 100%;
  height: auto;
  display: block;
}
@media screen and (max-width: 768px) {
  .p-interview-holiday__img-wrapper {
    width: 100%;
    flex: auto;
  }
}
.p-interview-holiday__content {
  flex: 0 1 65%;
  background-color: #FCF9F3;
  border-radius: 40px;
  padding: 10px 30px 40px;
  position: relative;
  height: auto;
}
.p-interview-holiday__content::before {
  content: "";
  position: absolute;
  top: 60%;
  left: -70px;
  width: 80px;
  height: 40px;
  background: transparent;
  border-radius: 50%;
  box-shadow: 30px 20px 0 0 #FCF9F3;
  transform: rotate(20deg) translateY(-30%);
  z-index: -1;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .p-interview-holiday__content {
    padding: 40px 30px;
    border-radius: 20px;
    margin-left: 0;
  }
  .p-interview-holiday__content::before {
    top: -15px;
    bottom: auto;
    left: 50%;
    width: 0;
    height: 0;
    background: none;
    box-shadow: none;
    border-radius: 0;
    transform: translateX(-50%) rotate(-45deg);
    border-style: solid;
    border-width: 15px;
    border-color: transparent transparent #FCF9F3 #FCF9F3;
  }
}
.p-interview-holiday .text-area {
  font-size: 15px;
  line-height: 1.8;
}
.p-interview-holiday .text-area p {
  margin-bottom: 20px;
}
.p-interview-holiday .text-area p:last-child {
  margin-bottom: 0;
}

.p-interview-message {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  width: 100vw;
  max-width: 100vw;
  background: linear-gradient(135deg, #F8960D 0%, #FF6A00 100%);
  padding: 100px 0;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .p-interview-message {
    padding: 60px 0;
  }
}
.p-interview-message__inner {
  max-width: 1400px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}
.p-interview-message__title {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  margin: 0 0 60px;
  position: relative;
  color: #fff;
}
.p-interview-message__title::before {
  content: "";
  display: block;
  width: 1px;
  height: 25px;
  background-color: #fff;
  margin: 0 auto 20px;
}
@media screen and (max-width: 768px) {
  .p-interview-message__title {
    font-size: 20px;
    margin-bottom: 40px;
  }
}
.p-interview-message__content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 60px;
}
@media screen and (max-width: 768px) {
  .p-interview-message__content {
    flex-direction: column;
    gap: 30px;
    text-align: center;
  }
}
.p-interview-message__img-wrapper {
  flex: 0 0 400px;
  max-width: 100%;
}
.p-interview-message__img-wrapper .message-img {
  width: 100%;
  height: auto;
  border-radius: 50px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  display: block;
}
@media screen and (max-width: 768px) {
  .p-interview-message__img-wrapper {
    flex: auto;
    width: 100%;
    max-width: 350px;
  }
}
.p-interview-message__text {
  flex: 1;
  font-size: 16px;
  line-height: 2;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-interview-message__text {
    font-size: 14px;
    line-height: 1.8;
  }
  .p-interview-message__text br {
    display: none;
  }
}

/* ====================================
   Project: Welfare Page
==================================== */
.p-welfare-page {
  max-width: 1400px;
  margin: 0 auto;
}

.p-welfare-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  align-items: start;
}
@media screen and (max-width: 768px) {
  .p-welfare-grid {
    grid-template-columns: 1fr;
    gap: 50px;
  }
}
.p-welfare-grid--2col {
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 768px) {
  .p-welfare-grid--2col {
    grid-template-columns: 1fr;
  }
}

.img_padding {
  max-height: 150px;
  padding: 30px 10px;
}

.p-welfare-item {
  width: 100%;
  margin-bottom: 20px;
  /* Active */
}
.p-welfare-item__thumb {
  width: 100%;
  background-color: #FCF9F3;
  border-radius: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  overflow: hidden;
}
.p-welfare-item__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  padding-bottom: 10px;
}
.p-welfare-item__head:hover .c-accordion-btn {
  opacity: 0.9;
}
.p-welfare-item__title {
  font-size: 18px;
  font-weight: bold;
  color: #F77705;
  margin: 0;
}
.p-welfare-item .c-accordion-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 26px;
  border-radius: 50%;
  background: linear-gradient(to right, #F77705, #F8960D);
  color: #fff;
  border: 1px solid transparent;
  box-shadow: inset 0 0 0 0 #fff;
  transform: rotate(-50deg);
  transform-origin: center center;
  transition: transform 0.3s, opacity 0.3s, box-shadow 0.3s, border-color 0.3s, color 0.3s;
  font-size: 14px;
}
.p-welfare-item .c-accordion-btn .icon {
  display: block;
  transition: transform 0.3s;
  transform: rotate(50deg);
}
.p-welfare-item .c-accordion-btn .icon-plus {
  display: block;
}
.p-welfare-item .c-accordion-btn .icon-minus {
  display: none;
}
.p-welfare-item__body {
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: height 0.4s ease, opacity 0.4s ease;
}
.p-welfare-item__desc {
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 20px;
}
.p-welfare-item__related {
  background-color: #FCF9F3;
  border-radius: 10px;
  padding: 20px;
}
.p-welfare-item__related .related-title {
  font-size: 14px;
  font-weight: bold;
  margin: 0 0 10px;
  text-align: center;
}
.p-welfare-item__related .related-list li {
  font-size: 13px;
  position: relative;
  padding-left: 15px;
  margin-bottom: 5px;
}
.p-welfare-item__related .related-list li:last-child {
  margin-bottom: 0;
}
.p-welfare-item__related .related-list li::before {
  content: "";
  width: 8px;
  height: 8px;
  background-color: #F77705;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 6px;
}
.p-welfare-item.is-active .c-accordion-btn {
  box-shadow: inset 0 0 0 50px #fff;
  color: #F77705;
  border-color: #F77705;
}
.p-welfare-item.is-active .c-accordion-btn .icon-plus {
  display: none;
}
.p-welfare-item.is-active .c-accordion-btn .icon-minus {
  display: block;
}
.p-welfare-item.is-active .p-welfare-item__body {
  opacity: 1;
}

.p-welfare-other {
  /* PC: 140px */
  margin-bottom: 140px;
}
@media screen and (max-width: 768px) {
  .p-welfare-other {
    /* SP: 100px */
    margin-bottom: 100px;
  }
}
.p-welfare-other__list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.p-welfare-other__list li {
  border: 1px solid #F77705;
  border-radius: 8px;
  padding: 15px 30px;
  font-size: 14px;
  background-color: #fff;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-welfare-other__list li {
    width: 100%;
    padding: 12px;
    box-sizing: border-box;
  }
}

.p-welfare-item--photo .p-welfare-item__thumb {
  background-color: transparent;
  display: block;
}
.p-welfare-item--photo .p-welfare-item__thumb img {
  width: 100%;
  max-width: none;
}

.p-welfare-gallery {
  margin-bottom: 140px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-welfare-gallery {
    margin-bottom: 100px;
  }
}
.p-welfare-gallery__scroll {
  width: 100%;
  overflow-x: auto;
  white-space: nowrap;
  cursor: grab;
  padding-bottom: 20px;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.p-welfare-gallery__scroll:active {
  cursor: grabbing;
}
.p-welfare-gallery__scroll::-webkit-scrollbar {
  display: none;
}
.p-welfare-gallery__list {
  display: flex;
  gap: 20px;
  width: -moz-max-content;
  width: max-content;
  padding-right: 20px;
}
@media screen and (max-width: 768px) {
  .p-welfare-gallery__list {
    gap: 15px;
  }
}
.p-welfare-gallery__item {
  flex: 0 0 350px;
  width: 350px;
  height: 230px;
  border-radius: 40px;
  overflow: hidden;
}
.p-welfare-gallery__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease;
}
.p-welfare-gallery__item:hover img {
  transform: scale(1.05);
}
@media screen and (max-width: 768px) {
  .p-welfare-gallery__item {
    flex: 0 0 280px;
    width: 280px;
    height: 180px;
    border-radius: 30px;
  }
}

/* Training Section */
.p-welfare-training-section {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  width: 100vw;
  max-width: 100vw;
  background-color: #FCF9F3;
  padding: 140px 0;
}
@media screen and (max-width: 768px) {
  .p-welfare-training-section {
    padding: 100px 0;
  }
}
.p-welfare-training-section__inner {
  max-width: 1400px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

.p-welfare-training-header {
  margin-bottom: 60px;
}
.p-welfare-training-header .c-section-title-en {
  font-size: 32px;
  font-weight: bold;
  background: linear-gradient(to right, #F77705, #F8960D);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  margin: 0 0 10px;
  line-height: 1;
}
.p-welfare-training-header .ja {
  font-size: 12px;
  display: block;
  margin-bottom: 30px;
  font-weight: bold;
}
.p-welfare-training-header .intro-text {
  font-size: 14px;
  line-height: 1.8;
}

.p-welfare-white-box {
  background-color: #fff;
  border-radius: 40px;
  padding: 60px;
}
@media screen and (max-width: 768px) {
  .p-welfare-white-box {
    padding: 30px 20px;
    border-radius: 20px;
  }
}
.p-welfare-white-box .box-title {
  font-size: 24px;
  font-weight: bold;
  color: #F77705;
  text-align: center;
  margin: 0 0 40px;
  position: relative;
}
.p-welfare-white-box .box-title::after {
  content: "";
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background-color: #F77705;
  border-radius: 2px;
}
@media screen and (max-width: 768px) {
  .p-welfare-white-box .box-title {
    font-size: 20px;
    margin-bottom: 35px;
  }
  .p-welfare-white-box .box-title::after {
    bottom: -12px;
  }
}

.m-bottom60 {
  margin: 0 0 60px;
}
@media screen and (max-width: 768px) {
  .m-bottom60 {
    margin: 0 0 30px;
  }
}

.p-welfare-item--training .p-welfare-item__thumb {
  background-color: transparent;
  display: block;
  border-radius: 20px;
  margin-bottom: 15px;
  width: 100%;
}
.p-welfare-item--training .p-welfare-item__thumb img {
  width: 100%;
  display: block;
}

.p-training-step {
  width: 100%;
  box-sizing: border-box;
  background: linear-gradient(to right, #F0841F, #F8960D);
  color: #fff;
  padding: 12px 20px;
  clip-path: polygon(0% 0%, 95% 0%, 100% 50%, 95% 100%, 0% 100%);
  border-radius: 10px 0 0 10px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.p-training-step .num {
  font-size: 24px;
  font-weight: normal;
  line-height: 1;
}
.p-training-step .text {
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .p-training-step {
    clip-path: none;
    border-radius: 8px;
  }
  .p-training-step .num {
    font-size: 20px;
  }
  .p-training-step .text {
    font-size: 12px;
  }
}

.p-training-sb {
  display: flex;
  align-items: center;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .p-training-sb {
    flex-direction: column;
    gap: 20px;
  }
}
.p-training-sb__img-wrapper {
  width: 45%;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-training-sb__img-wrapper {
    width: 100%;
  }
}
.p-training-sb__img-wrapper .sb-img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 20px;
}
.p-training-sb__text {
  font-size: 14px;
  line-height: 1.8;
}
.p-training-sb__text p {
  margin: 0;
}
.p-training-sb__text strong {
  display: block;
  margin-bottom: 15px;
  font-weight: bold;
  color: #F77705;
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .p-training-sb__text strong {
    font-size: 16px;
    margin-bottom: 10px;
  }
}

/* ====================================
   Job Message
==================================== */
.p-job-message {
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .p-job-message {
    margin-bottom: 40px;
  }
}
.p-job-message__inner {
  max-width: 1400px;
  margin: 0 auto;
}
.p-job-message__text {
  font-size: 28px;
  font-weight: bold;
  color: #F77705;
  text-align: left;
  margin: 0;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-job-message__text {
    font-size: 20px;
  }
}

/* ====================================
   Job Intro
==================================== */
.p-job-intro {
  margin-bottom: 140px;
}
@media screen and (max-width: 768px) {
  .p-job-intro {
    margin-bottom: 100px;
  }
}
.p-job-intro__inner {
  max-width: 1400px;
  margin: 0 auto;
}
.p-job-intro .c-section-title {
  position: relative;
  font-size: 32px;
  font-weight: bold;
  color: #333;
  margin-bottom: 50px;
  padding-left: 45px;
  line-height: 1;
}
.p-job-intro .c-section-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 2px;
  background-color: #F77705;
}
@media screen and (max-width: 768px) {
  .p-job-intro .c-section-title {
    font-size: 24px;
    margin-bottom: 30px;
    padding-left: 40px;
  }
  .p-job-intro .c-section-title::before {
    width: 25px;
  }
}
.p-job-intro__content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 60px;
}
@media screen and (max-width: 768px) {
  .p-job-intro__content {
    flex-direction: column;
    gap: 30px;
  }
}
.p-job-intro__img {
  flex: 0 0 45%;
  width: 45%;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .p-job-intro__img {
    width: 100%;
    flex: 0 0 100%;
  }
}
.p-job-intro__img img {
  width: 100%;
  height: auto;
  border-radius: 50px;
  -o-object-fit: cover;
     object-fit: cover;
  vertical-align: bottom;
}
.p-job-intro__body {
  flex: 1;
  color: #333;
  padding-top: 10px;
}
.p-job-intro__desc {
  font-size: 15px;
  line-height: 2.2;
  margin-bottom: 30px;
  letter-spacing: 0.05em;
}
.p-job-intro__desc:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-job-intro__desc {
    font-size: 14px;
    line-height: 2;
    margin-bottom: 20px;
  }
}
.p-job-intro .u-text-primary {
  color: #F77705;
  font-weight: bold;
}

/* ====================================
   Customer Friend Features
==================================== */
.p-job-features {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  background-color: #FCF9F3;
  padding: 140px 10px;
}
@media screen and (max-width: 768px) {
  .p-job-features {
    padding: 100px 10px;
  }
}
.p-job-features__inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}
.p-job-features .c-section-title {
  margin: 0 0 60px;
}
@media screen and (max-width: 768px) {
  .p-job-features .c-section-title {
    margin: 0 0 40px;
  }
}
.p-job-features__list {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .p-job-features__list {
    flex-direction: column;
    gap: 60px;
  }
}
.p-job-features__item {
  flex: 1;
}
.p-job-features__img-box {
  margin: 0 0 30px;
  background: none;
  padding: 0;
  border-radius: 0;
}
.p-job-features__img-box img {
  width: 100%;
  height: auto;
  border-radius: 50px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-job-features__img-box {
    margin-bottom: 20px;
  }
}
.p-job-features__content {
  position: relative;
  padding-right: 10px;
}
.p-job-features__item-title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
  background: linear-gradient(to right, #F77705, #F8960D);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}
@media screen and (max-width: 768px) {
  .p-job-features__item-title {
    font-size: 18px;
    margin-bottom: 15px;
  }
}
.p-job-features__desc {
  font-size: 15px;
  line-height: 1.8;
  color: #333;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-job-features__desc {
    font-size: 14px;
  }
}
.p-job-features__num {
  position: absolute;
  bottom: -35px;
  right: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 110px;
  font-weight: bold;
  line-height: 1;
  color: #FFEADB;
  z-index: 0;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .p-job-features__num {
    font-size: 80px;
    bottom: -20px;
  }
}

/* ====================================
   Project: Job Charm
==================================== */
.p-job-charm {
  margin: 140px auto 0;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-job-charm {
    margin: 100px auto 0;
  }
}
.p-job-charm .c-section-title {
  margin: 0 0 40px;
}
.p-job-charm__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .p-job-charm__grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
.p-job-charm__item {
  width: 100%;
}
.p-job-charm__item.is-active .p-job-charm__btn {
  background: #fff;
  border-color: #F77705;
  color: #F77705;
}
.p-job-charm__item.is-active .p-job-charm__btn .icon-plus {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(140deg);
}
.p-job-charm__item.is-active .p-job-charm__btn .icon-minus {
  opacity: 1;
  transform: translate(-50%, -50%) rotate(50deg);
}
.p-job-charm__item.is-active .p-job-charm__body {
  opacity: 1;
}
.p-job-charm__thumb {
  background-color: #FCF9F3;
  border-radius: 40px;
  padding: 30px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 25px;
}
.p-job-charm__thumb img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 768px) {
  .p-job-charm__thumb {
    height: 200px;
    margin-bottom: 20px;
    border-radius: 30px;
  }
}
.p-job-charm__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 15px;
  cursor: pointer;
  transition: opacity 0.3s;
}
.p-job-charm__head:hover {
  opacity: 0.8;
}
.p-job-charm__title {
  font-size: 18px;
  font-weight: bold;
  color: #F77705;
  line-height: 1.5;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .p-job-charm__title {
    font-size: 16px;
  }
}
.p-job-charm__btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 26px;
  border-radius: 50%;
  transform: rotate(-50deg);
  background: linear-gradient(to right, #F77705, #F8960D);
  color: #fff;
  border: 1px solid transparent;
  flex-shrink: 0;
  transition: all 0.3s ease;
  margin-top: 5px;
}
.p-job-charm__btn .icon {
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 12px;
  display: block;
  transition: all 0.3s ease;
  transform: translate(-50%, -50%) rotate(50deg);
}
.p-job-charm__btn .icon-plus {
  opacity: 1;
}
.p-job-charm__btn .icon-minus {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(-40deg);
}
.p-job-charm__body {
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: height 0.4s ease, opacity 0.4s ease;
}
.p-job-charm__desc {
  padding-top: 15px;
  font-size: 14px;
  line-height: 1.8;
  color: #333;
  margin: 0;
}

/* ====================================
   Project: Job Page
==================================== */
.p-job-page {
  margin: 0 auto 140px;
}
@media screen and (max-width: 768px) {
  .p-job-page {
    margin: 0 auto 100px;
  }
}

.p-job-text {
  margin-top: 30px;
  font-size: 14px;
  line-height: 2;
}
.p-job-text p {
  margin-bottom: 20px;
}
.p-job-text p:last-child {
  margin-bottom: 0;
}
.p-job-text strong {
  font-weight: bold;
}

.p-job-slider-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 30px;
}

.p-job-slider-nav {
  display: flex;
  gap: 15px;
  /* SP: 右下へ絶対配置 */
}
@media screen and (max-width: 768px) {
  .p-job-slider-nav {
    position: absolute;
    bottom: 0;
    right: 20px;
    z-index: 2;
  }
}
.p-job-slider-nav .arrow-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 26px;
  border-radius: 50%;
  background: linear-gradient(to right, #F77705, #F8960D);
  color: #fff;
  border: 1px solid transparent;
  box-shadow: inset 0 0 0 0 #fff;
  transform: rotate(-50deg);
  cursor: pointer;
  transition: transform 0.3s, opacity 0.3s, box-shadow 0.3s, border-color 0.3s, color 0.3s;
}
.p-job-slider-nav .arrow-btn i {
  font-size: 14px;
  transform: rotate(50deg);
  transition: color 0.3s;
}
.p-job-slider-nav .arrow-btn:hover {
  box-shadow: inset 0 0 0 50px #fff;
  color: #F77705;
  border-color: #F77705;
  opacity: 1;
}

.p-job-slider__container {
  width: 100%;
  overflow-x: auto;
  padding-bottom: 20px;
  cursor: grab;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.p-job-slider__container.is-dragging {
  cursor: grabbing;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.p-job-slider__container::-webkit-scrollbar {
  display: none;
}

.p-job-slider__list {
  display: flex;
  gap: 30px;
  width: -moz-max-content;
  width: max-content;
  padding-right: 100px;
}

.p-job-employees {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  width: 100vw;
  max-width: 100vw;
  background-color: #FCF9F3;
  padding: 80px 0;
  margin-bottom: 140px;
}
@media screen and (max-width: 768px) {
  .p-job-employees {
    margin-bottom: 100px;
  }
}
.p-job-employees__inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
  /* SP: 相対配置にしてボタンの基準点とする */
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-job-employees__inner {
    padding-bottom: 50px; /* ボタン分のスペース確保 */
  }
}

.p-job-card {
  width: 400px;
  flex: 0 0 400px;
  background: #fff;
  border-radius: 20px;
}
.p-job-card .p-interview-card__thumb {
  border-radius: 20px 20px 0 0;
}
@media screen and (max-width: 768px) {
  .p-job-card {
    width: 300px;
    flex: 0 0 300px;
  }
}

.p-job-episodes {
  max-width: 1400px;
  margin: 0 auto 140px;
}
@media screen and (max-width: 768px) {
  .p-job-episodes {
    margin: 0 auto 100px;
  }
}
.p-job-episodes__grid {
  display: flex;
  gap: 40px;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .p-job-episodes__grid {
    flex-direction: column;
    gap: 30px;
  }
}

.p-job-episode-card {
  position: relative;
  flex: 1;
  max-width: 680px;
  height: 300px;
  border-radius: 40px;
  overflow: hidden;
}
.p-job-episode-card .bg-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
  cursor: pointer;
}
.p-job-episode-card .bg-img.js-modal-open {
  cursor: pointer;
}
.p-job-episode-card::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.p-job-episode-card .content {
  position: absolute;
  bottom: 40px;
  left: 50px;
  z-index: 2;
  color: #fff;
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}
.p-job-episode-card .content .sub {
  display: block;
  font-size: 14px;
  margin-bottom: 5px;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 1px;
}
.p-job-episode-card .content .title {
  font-size: 28px;
  font-weight: bold;
  margin: 0;
}
.p-job-episode-card .arrow-btn--inverse {
  position: absolute;
  bottom: 30px;
  right: 50px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 26px;
  border-radius: 50%;
  background: linear-gradient(to right, #F77705, #F8960D);
  color: #fff;
  border: 1px solid transparent;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  transform: rotate(-50deg);
  transition: all 0.3s ease;
}
.p-job-episode-card .arrow-btn--inverse i {
  font-size: 14px;
  transform: rotate(50deg);
  transition: color 0.3s, transform 0.3s;
}
.p-job-episode-card .arrow-btn--inverse:hover {
  box-shadow: inset 0 0 0 50px #fff;
  color: #F77705;
  border-color: #F77705;
}
.p-job-episode-card:hover .bg-img {
  transform: scale(1.05);
}
.p-job-episode-card:hover .arrow-btn--inverse {
  box-shadow: inset 0 0 0 50px #fff;
  color: #F77705;
  border-color: #F77705;
}
@media screen and (max-width: 768px) {
  .p-job-episode-card {
    height: 250px;
  }
  .p-job-episode-card .content {
    left: 30px;
    bottom: 30px;
  }
  .p-job-episode-card .content .title {
    font-size: 22px;
  }
  .p-job-episode-card .arrow-btn--inverse {
    right: 30px;
    bottom: 30px;
  }
}

/* ====================================
   Footer Section (Footer Entry)
==================================== */
.p-footer-entry {
  max-width: 1400px;
  margin: 0 auto 140px;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .p-footer-entry {
    margin-bottom: 100px;
  }
}
.p-footer-entry__inner {
  background: linear-gradient(to right, #F77705, #F8960D);
  border-radius: 50px;
  padding: 60px;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-footer-entry__inner {
    flex-direction: column;
    padding: 100px 20px 0;
    gap: 40px;
    text-align: center;
  }
}
.p-footer-entry__header {
  text-align: start;
}
.p-footer-entry__header .title {
  color: #fff;
  font-size: 80px;
  font-weight: bold;
  line-height: 1;
  margin: 0 0 10px;
  letter-spacing: 2px;
}
@media screen and (max-width: 768px) {
  .p-footer-entry__header .title {
    font-size: 50px;
  }
}
.p-footer-entry__header .subtitle {
  color: #fff;
  font-size: 16px;
  margin: 0;
}
.p-footer-entry__actions {
  display: flex;
  flex-wrap: wrap;
  margin-left: 60px;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .p-footer-entry__actions {
    display: block;
    margin-left: 0;
    width: 100%;
  }
}
.p-footer-entry__actions .action-row {
  display: flex;
  align-items: center;
  width: 100%;
  margin-bottom: 30px;
}
.p-footer-entry__actions .action-row:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-footer-entry__actions .action-row {
    flex-direction: column;
    gap: 10px;
  }
}
.p-footer-entry__actions .label {
  color: #fff;
  font-weight: bold;
  width: 120px;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-footer-entry__actions .label {
    width: auto;
  }
}
.p-footer-entry__actions .buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
@media screen and (max-width: 768px) {
  .p-footer-entry__actions .buttons {
    width: 100%;
    justify-content: center;
  }
}
.p-footer-entry__illust {
  position: absolute;
  bottom: 0;
  right: 60px;
  width: 180px;
  height: auto;
  z-index: 1;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .p-footer-entry__illust {
    position: relative;
    right: auto;
    width: 150px;
    margin-top: 20px;
  }
}

.p-footer-contact {
  position: relative;
  padding: 80px 0;
  overflow: hidden;
}
.p-footer-contact__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.p-footer-contact__bg .bg-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-footer-contact__bg::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(247, 119, 5, 0.4);
}
.p-footer-contact__inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 768px) {
  .p-footer-contact__inner {
    flex-direction: column;
  }
}

.c-footer-card {
  flex: 1;
  background: #fff;
  border-radius: 30px;
  padding: 40px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
}
@media screen and (max-width: 576px) {
  .c-footer-card {
    padding: 20px;
  }
}
.c-footer-card__title {
  background: linear-gradient(to right, #F77705, #F8960D);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  font-size: 22px;
  font-weight: bold;
  margin: 0 0 20px;
}
@media screen and (max-width: 576px) {
  .c-footer-card__title {
    font-size: 18px;
  }
}
.c-footer-card__content {
  font-size: 14px;
  line-height: 1.8;
}
.c-footer-card__content p {
  margin: 5px 0;
}
.c-footer-card__content .tel {
  margin: 5px 0;
}
.c-footer-card__content .note {
  font-size: 12px;
  font-weight: normal;
}
.c-footer-card--sns {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 576px) {
  .c-footer-card--sns {
    flex-direction: column;
    text-align: center;
    gap: 20px;
  }
}
.c-footer-card__left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
}
.c-footer-card__right {
  text-align: center;
}
.c-footer-card__right .qr-code {
  width: 100px;
  display: block;
}

.p-footer-bottom {
  background-color: #fff;
  padding: 60px 0 20px;
}
.p-footer-bottom__inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .p-footer-bottom__inner {
    flex-direction: column;
    gap: 40px;
    align-items: center;
  }
}
.p-footer-bottom__left .logo-area {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}
.p-footer-bottom__left .logo-area .footer-logo {
  height: 80px;
  margin-right: 15px;
}
@media screen and (max-width: 768px) {
  .p-footer-bottom__left .logo-area .footer-logo {
    height: 50px;
  }
}
.p-footer-bottom__left .logo-area .company-name {
  font-size: 12px;
  font-weight: bold;
  margin-top: 10px;
}
.p-footer-bottom__left .corporate-link {
  font-size: 14px;
  font-weight: bold;
}
.p-footer-bottom__right {
  flex-grow: 1;
  max-width: 800px;
  padding-left: 40px;
}
@media screen and (max-width: 768px) {
  .p-footer-bottom__right {
    max-width: 100%;
    width: 100%;
    padding-left: 0;
  }
}
.p-footer-bottom__copy {
  text-align: center;
  color: #ccc;
  font-size: 10px;
  padding-top: 20px;
}

.footer-nav {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 40px;
       column-gap: 40px;
  row-gap: 20px;
}
@media screen and (max-width: 768px) {
  .footer-nav {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 576px) {
  .footer-nav {
    grid-template-columns: 1fr;
  }
}
.footer-nav__item {
  border-bottom: 1px solid #eee;
  padding-bottom: 10px;
}
.footer-nav__item a {
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.footer-nav__item a:hover {
  color: #F57507;
}

/* ====================================
   DATA Page Styles
==================================== */
.p-data-section {
  margin-bottom: 80px;
}

/* Data Grid Systems */
.p-data-grid {
  display: grid;
  gap: 30px;
}
.p-data-grid--3col {
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 768px) {
  .p-data-grid--3col {
    grid-template-columns: 1fr;
  }
}
.p-data-grid--2col {
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 768px) {
  .p-data-grid--2col {
    grid-template-columns: 1fr;
  }
}
.p-data-grid--mix {
  grid-template-columns: 1fr 1fr 2fr;
}
@media screen and (max-width: 768px) {
  .p-data-grid--mix {
    grid-template-columns: 1fr 1fr; /* スマホ: 上2つ並び */
  }
  .p-data-grid--mix .p-data-card--wide {
    grid-column: 1/-1; /* 下段全幅 */
  }
}
@media screen and (max-width: 576px) {
  .p-data-grid--mix {
    grid-template-columns: 1fr; /* 完全縦並び */
  }
}

/* Data Card Component */
.p-data-card {
  background-color: #FCF9F3; /* 薄いベージュ */
  border-radius: 20px;
  padding: 30px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-start; /* コンテンツを上揃えにして数値を揃える */
  align-items: center;
}
.p-data-card--full {
  width: calc(100% - 40px);
}
.p-data-card__title {
  font-size: 16px;
  font-weight: bold;
  margin: 0 0 20px;
  line-height: 1.4;
  min-height: 3em;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-data-card__content {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 5px;
  margin-bottom: 10px;
}
.p-data-card__content--row {
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.p-data-card__content--split {
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 40px;
}
@media screen and (max-width: 576px) {
  .p-data-card__content--split {
    flex-direction: column;
    gap: 20px;
  }
}
.p-data-card__content--split .split-item {
  display: flex;
  align-items: baseline;
  gap: 5px;
}
.p-data-card__content--split .split-divider {
  width: 1px;
  height: 40px;
  background-color: #D28308; /* 区切り線 */
}
@media screen and (max-width: 576px) {
  .p-data-card__content--split .split-divider {
    width: 80%;
    height: 1px;
  }
}

/* Data Typography & Icons */
.p-data-num {
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
  font-size: 70px;
  line-height: 1;
  color: #D28308;
  background: linear-gradient(to right, #F77705, #F8960D);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

.p-data-unit {
  font-size: 16px;
  font-weight: bold;
}

.p-data-sep {
  font-size: 40px;
  font-weight: bold;
  color: #D28308;
  margin: 0 10px;
}

.p-data-icon {
  font-size: 30px;
  background: linear-gradient(to right, #F77705, #F8960D);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  margin-right: 10px;
}
.p-data-icon--rotate {
  transform: rotate(-30deg);
  margin-left: 10px;
  margin-right: 0;
  font-size: 40px;
}

.p-data-icon-lg {
  font-size: 50px;
  background: linear-gradient(to right, #F77705, #F8960D);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  margin: 0 15px;
}

.p-data-icon-img {
  display: inline-block;
  margin-right: 15px;
  vertical-align: middle;
}
.p-data-icon-img img {
  width: auto;
  height: 50px;
  display: block;
}

.p-data-card__content--row .p-data-icon-img {
  margin-right: 0;
  margin-left: 15px;
}

.p-data-note {
  font-size: 12px;
  color: #666;
  margin: 0 0 0 auto;
}

.cap-center {
  margin: 0 auto;
}

.p-data-text-sm {
  font-size: 14px;
  text-align: right;
  line-height: 1.4;
}

.p-data-unit-sm {
  font-size: 12px;
  margin-left: 5px;
}

.split-item .label {
  font-size: 14px;
  font-weight: bold;
  margin-right: 5px;
}

/* ====================================
   404 Page Styles
==================================== */
.p-404-body {
  max-width: 1000px;
  margin: 140px auto;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-404-body {
    margin: 100px auto;
  }
}
.p-404-body__title {
  font-size: 32px;
  font-weight: bold;
  background: linear-gradient(to right, #F77705, #F8960D);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  margin: 0 0 40px;
  line-height: 1.6;
  letter-spacing: 1px;
}
@media screen and (max-width: 768px) {
  .p-404-body__title {
    font-size: 24px;
    margin-bottom: 30px;
  }
}
.p-404-body__text {
  font-size: 14px;
  line-height: 2.2;
  margin-bottom: 60px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-404-body__text {
    margin-bottom: 40px;
  }
  .p-404-body__text br {
    display: none;
  }
}
.p-404-body .link-top-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-bottom: none;
  padding-bottom: 0;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  flex-direction: row-reverse;
  gap: 15px;
}
.p-404-body .link-top-back .circle-arrow {
  margin-left: 0;
  margin-right: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 26px;
  border-radius: 50%;
  background: linear-gradient(to right, #F77705, #F8960D);
  color: #fff;
  border: 1px solid transparent;
  box-shadow: inset 0 0 0 0 #fff;
  transform: rotate(-50deg);
  transform-origin: center center;
  transition: transform 0.3s, opacity 0.3s, box-shadow 0.3s, border-color 0.3s, color 0.3s;
}
.p-404-body .link-top-back .circle-arrow i, .p-404-body .link-top-back .circle-arrow::before {
  display: inline-block;
  font-size: 14px;
  transform: rotate(230deg);
  transition: transform 0.3s;
}
.p-404-body .link-top-back:hover {
  color: #F77705;
}
.p-404-body .link-top-back:hover .circle-arrow {
  opacity: 1;
  box-shadow: inset 0 0 0 50px #fff;
  color: #F77705;
  border-color: #F77705;
}
.p-404-body .link-top-back:hover .circle-arrow i, .p-404-body .link-top-back:hover .circle-arrow::before {
  transform: rotate(230deg) translateX(3px);
}

/* ====================================
   Top Page Styles
==================================== */
.l-main--top {
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
}

.p-top-hero {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 600px;
  max-height: 1080px;
  overflow: hidden;
}
@media screen and (max-width: 1200px) {
  .p-top-hero {
    height: auto;
    min-height: auto;
  }
}
.p-top-hero__bg {
  width: 100%;
  height: 100%;
}
.p-top-hero__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}
.p-top-hero__content {
  position: absolute;
  bottom: 0;
  left: 100px;
  width: auto;
  z-index: 2;
}
@media screen and (max-width: 1200px) {
  .p-top-hero__content {
    width: 100%;
    padding: 0 20px;
    left: 0;
    box-sizing: border-box;
  }
}
.p-top-hero__catch {
  color: #fff;
  font-size: 80px;
  font-weight: bold;
  line-height: 1.4;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  white-space: nowrap;
}
@media screen and (max-width: 1200px) {
  .p-top-hero__catch {
    font-size: 70px;
    line-height: 1.5;
    white-space: normal;
  }
}
@media screen and (max-width: 768px) {
  .p-top-hero__catch {
    font-size: 50px;
  }
}
@media screen and (max-width: 576px) {
  .p-top-hero__catch {
    font-size: 32px;
  }
}

.p-top-message {
  position: relative;
  width: 100%;
  margin: 0 0 140px;
  background: linear-gradient(135deg, #F8960D 0%, #FF6A00 100%);
  color: #fff;
  text-align: center;
  padding: 140px 0;
}
@media screen and (max-width: 768px) {
  .p-top-message {
    margin: 0 0 100px;
    padding: 100px 0;
  }
}
.p-top-message__inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 10px;
}
.p-top-message__header {
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .p-top-message__header {
    margin-bottom: 40px;
  }
}
.p-top-message__header .title {
  font-family: "Montserrat", sans-serif;
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 0.1em;
  position: relative;
  display: inline-block;
  margin: 0;
}
.p-top-message__header .title::before {
  content: "";
  display: block;
  width: 1px;
  height: 40px;
  background-color: #fff;
  margin: 0 auto 30px;
}
.p-top-message__body {
  font-size: 20px;
  line-height: 2.5;
  font-weight: 500;
}
.p-top-message__body p {
  margin-bottom: 40px;
}
.p-top-message__body p:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-top-message__body {
    font-size: 15px;
    line-height: 2.2;
  }
}

/* ====================================
   Top Page: Staff Interview Section
==================================== */
.p-top-interview {
  margin-bottom: 140px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-top-interview {
    margin-bottom: 100px;
  }
}
.p-top-interview__inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
}
.p-top-interview__loop-area {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: hidden;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .p-top-interview__loop-area {
    margin-bottom: 20px;
  }
}
.p-top-interview .loop-wrap {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  animation: loopText 20s linear infinite;
}
.p-top-interview .loop-text {
  font-family: "Montserrat", sans-serif;
  font-size: 150px;
  font-weight: bold;
  color: #F6BE4E;
  opacity: 0.5;
  line-height: 1;
  white-space: nowrap;
  padding-right: 50px;
  padding-left: 0;
}
@media screen and (max-width: 768px) {
  .p-top-interview .loop-text {
    font-size: 80px;
    padding-right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .p-top-interview__scroll {
    overflow-x: auto;
    margin-right: -20px;
    padding-right: 20px;
    padding-bottom: 20px;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .p-top-interview__scroll::-webkit-scrollbar {
    display: none;
  }
}
.p-top-interview__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}
@media screen and (max-width: 1200px) {
  .p-top-interview__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .p-top-interview__list {
    display: flex;
    gap: 20px;
    width: -moz-max-content;
    width: max-content;
  }
}
.p-top-interview__footer {
  text-align: right;
  margin-top: 40px;
  padding: 0 0 10px;
}
@media screen and (max-width: 768px) {
  .p-top-interview__footer {
    margin-top: 20px;
  }
}

@keyframes loopText {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.p-top-interview__card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  text-decoration: none;
  overflow: hidden;
  height: 100%;
  transition: box-shadow 0.3s ease, background-color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .p-top-interview__card {
    width: 280px;
    flex-shrink: 0;
  }
}
.p-top-interview__card:hover {
  background-color: #FCF9F3;
}
.p-top-interview__card:hover .thumb img {
  transform: scale(1.1);
}
.p-top-interview__card .thumb {
  width: 100%;
  padding-top: 60%;
  position: relative;
  background-color: #f0f0f0;
  overflow: hidden;
}
.p-top-interview__card .thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}
.p-top-interview__card .body {
  padding: 20px 24px 30px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .p-top-interview__card .body {
    padding: 20px;
  }
}
.p-top-interview__card .head {
  margin-bottom: 0;
}
.p-top-interview__card .name {
  font-size: 16px;
  margin: 0 0 15px;
  font-weight: bold;
  color: #333;
  line-height: 1.4;
  flex: 1;
}
@media screen and (max-width: 768px) {
  .p-top-interview__card .name {
    font-size: 14px;
  }
}
.p-top-interview__card .tag {
  display: inline-block;
  background: linear-gradient(to right, #F77705, #F8960D);
  color: #fff;
  font-size: 14px;
  font-weight: normal;
  padding: 6px 16px;
  border-radius: 50px;
  white-space: nowrap;
  margin: 15px 0 0;
}
@media screen and (max-width: 768px) {
  .p-top-interview__card .tag {
    font-size: 12px;
    padding: 4px 10px;
  }
}
.p-top-interview__card .text {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .p-top-interview__card .text {
    font-size: 14px;
    font-weight: normal;
    margin-top: 10px;
  }
}

.c-link-arrow-oval {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  font-weight: bold;
  text-decoration: none;
  font-size: 14px;
  transition: color 0.3s;
}
.c-link-arrow-oval .circle-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 26px;
  border-radius: 50%;
  background: linear-gradient(to right, #F77705, #F8960D);
  color: #fff;
  border: 1px solid transparent;
  box-shadow: inset 0 0 0 0 #fff;
  margin-left: 15px;
  font-size: 14px;
  transform: rotate(-50deg);
  transform-origin: center center;
  transition: transform 0.3s, opacity 0.3s, box-shadow 0.3s, border-color 0.3s, color 0.3s;
}
.c-link-arrow-oval .circle-arrow i {
  display: inline-block;
  transition: transform 0.3s;
}
.c-link-arrow-oval:hover {
  color: #F77705;
}
.c-link-arrow-oval:hover .circle-arrow {
  opacity: 1;
  box-shadow: inset 0 0 0 50px #fff;
  color: #F77705;
  border-color: #F77705;
}
.c-link-arrow-oval:hover .circle-arrow i {
  transform: translateX(3px);
}

/* ====================================
   Top Page: Links Section
==================================== */
.c-oval-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 26px; /* 楕円形 */
  border-radius: 50%;
  background: linear-gradient(to right, #F77705, #F8960D);
  color: #fff;
  transform: rotate(-50deg);
  transition: all 0.3s ease;
  box-shadow: 0 4px 10px rgba(247, 119, 5, 0.3);
}
.c-oval-btn i {
  font-size: 14px;
  display: inline-block;
  transition: transform 0.3s ease;
  transform: rotate(50deg);
}

.p-top-links {
  background-color: #FCF9F3;
  padding: 140px 0;
  margin: 0 0 140px;
}
@media screen and (max-width: 768px) {
  .p-top-links {
    padding: 100px 0;
    margin: 0 0 100px;
  }
}
.p-top-links__inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
}
.p-top-links__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto auto;
  gap: 30px;
}
@media screen and (max-width: 768px) {
  .p-top-links__grid {
    display: block;
  }
}

/* Card Styles */
.p-link-card {
  background-color: #fff;
  border-radius: 30px;
  padding: 30px;
  position: relative;
  text-decoration: none;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03);
  display: flex;
  flex-direction: column;
  /* ホバー時の挙動 */
  /* ボタン位置設定 (JOBS以外) */
}
@media screen and (max-width: 768px) {
  .p-link-card {
    min-height: 180px;
    margin: 0 0 30px;
  }
}
.p-link-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.08);
}
.p-link-card:hover .c-oval-btn {
  box-shadow: inset 0 0 0 50px #F77705;
}
.p-link-card:hover .c-oval-btn i {
  transform: rotate(0deg);
}
.p-link-card:not(.p-link-card--jobs) .c-oval-btn {
  position: absolute;
  bottom: 30px;
  right: 30px;
}
@media screen and (max-width: 768px) {
  .p-link-card:not(.p-link-card--jobs) .c-oval-btn {
    bottom: 25px;
    right: 25px;
  }
}
.p-link-card__content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100%;
  margin: auto 0;
}
.p-link-card__head .title {
  font-family: "Montserrat", sans-serif;
  font-size: 28px;
  font-weight: bold;
  line-height: 1;
  margin: 0 0 15px;
  min-width: 165px;
  background: linear-gradient(to right, #F77705, #F8960D);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}
@media screen and (max-width: 768px) {
  .p-link-card__head .title {
    font-size: 24px;
    margin-bottom: 10px;
  }
}
.p-link-card__head .sub {
  font-size: 14px;
  font-weight: bold;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .p-link-card__head .sub {
    font-size: 12px;
  }
}
.p-link-card__icon {
  width: 120px;
  flex-shrink: 0;
  margin-left: 20px; /* テキストとの間隔 */
}
.p-link-card__icon img {
  width: 100%;
  height: auto;
  display: block;
  margin: 30px 0;
}
@media screen and (max-width: 768px) {
  .p-link-card__icon {
    width: 100px;
    margin: 0;
  }
}
.p-link-card--company {
  grid-column: 1/2;
  grid-row: 1/2;
}
.p-link-card--message {
  grid-column: 2/3;
  grid-row: 1/2;
}
.p-link-card--products {
  grid-column: 1/2;
  grid-row: 2/3;
}
.p-link-card--data {
  grid-column: 2/3;
  grid-row: 2/3;
}
@media screen and (max-width: 768px) {
  .p-link-card--company, .p-link-card--message, .p-link-card--products, .p-link-card--data, .p-link-card--jobs {
    grid-column: auto;
    grid-row: auto;
  }
}
.p-link-card--jobs {
  grid-column: 3/4;
  grid-row: 1/3;
  padding: 30px 30px 0;
}
@media screen and (max-width: 768px) {
  .p-link-card--jobs {
    min-height: auto;
  }
}
.p-link-card__jobs-head {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 30px;
}
.p-link-card__jobs-head .head-text .title {
  font-family: "Montserrat", sans-serif;
  font-size: 32px;
  font-weight: bold;
  line-height: 1;
  margin: 0 0 10px;
  background: linear-gradient(to right, #F77705, #F8960D);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}
@media screen and (max-width: 768px) {
  .p-link-card__jobs-head .head-text .title {
    font-size: 28px;
  }
}
.p-link-card__jobs-head .head-text .sub {
  font-size: 14px;
  font-weight: bold;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .p-link-card__jobs-head .head-text .sub {
    font-size: 12px;
  }
}
.p-link-card__jobs-head .c-oval-btn {
  position: static;
  margin-top: 5px;
}
.p-link-card__jobs-body .desc {
  font-size: 14px;
  line-height: 2;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .p-link-card__jobs-body .desc {
    font-size: 13px;
    line-height: 1.8;
  }
  .p-link-card__jobs-body .desc br {
    display: none; /* SPでは改行を消して自然に */
  }
}
.p-link-card__jobs-illust {
  margin-top: auto;
  width: 100%;
}
.p-link-card__jobs-illust img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: -20px;
}

/* ====================================
   Top Page: Recruit Section
==================================== */
.p-top-recruit {
  position: relative;
  margin-bottom: 140px;
  overflow: visible;
}
@media screen and (max-width: 768px) {
  .p-top-recruit {
    margin-bottom: 100px;
  }
}
.p-top-recruit__inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 2;
}
.p-top-recruit__vertical-text {
  position: absolute;
  top: -150px;
  left: -20px;
  line-height: 0;
  height: 100%;
  font-family: "Montserrat", sans-serif;
  font-size: 200px;
  font-weight: bold;
  color: #FFEADB;
  line-height: 1;
  z-index: 1;
  writing-mode: vertical-rl;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .p-top-recruit__vertical-text {
    top: -110px;
    font-size: 100px;
  }
}

/* Recruit Block Style */
.p-recruit-block {
  background-color: #F6F6F6;
  border-radius: 40px;
  padding: 60px 80px;
  margin-bottom: 40px;
}
.p-recruit-block:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-recruit-block {
    padding: 40px 20px;
    border-radius: 30px;
  }
}
.p-recruit-block__head {
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 30px;
  display: flex;
  align-items: center;
}
.p-recruit-block__head::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 2px;
  background-color: #F77705;
  margin-right: 15px;
}
.p-recruit-block__list {
  display: grid;
  gap: 30px;
}
.p-recruit-block__list--2col {
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 768px) {
  .p-recruit-block__list--2col {
    grid-template-columns: 1fr;
  }
}
.p-recruit-block__content {
  display: flex;
  align-items: flex-end;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .p-recruit-block__content {
    flex-direction: column;
    align-items: center;
    gap: 30px;
  }
}
.p-recruit-block__main {
  flex: 1;
  width: 100%;
}
.p-recruit-block__illust {
  flex: 0 0 250px;
  width: 250px;
}
.p-recruit-block__illust img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
@media screen and (max-width: 768px) {
  .p-recruit-block__illust {
    width: 200px;
    flex: auto;
  }
}

/* Recruit Card Style */
.p-recruit-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-color: #fff;
  border-radius: 30px;
  padding: 40px;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.03);
  min-height: 200px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .p-recruit-card {
    padding: 30px;
    border-radius: 20px;
    min-height: auto;
  }
}
.p-recruit-card__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 30px;
  height: 60px;
}
.p-recruit-card__logo img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}
.p-recruit-card__bottom {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  font-weight: bold;
  border-bottom: 1px solid #eee;
  transition: color 0.3s;
  text-decoration: none;
  padding: 20px 0;
  margin-top: auto;
}
.p-recruit-card__bottom .text {
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
  transition: color 0.3s;
}
.p-recruit-card__bottom .c-oval-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 26px;
  border-radius: 50%;
  background: linear-gradient(to right, #F77705, #F8960D);
  color: #fff;
  border: 1px solid transparent;
  box-shadow: inset 0 0 0 0 #fff;
  margin-left: 15px;
  font-size: 14px;
  transform: rotate(-50deg);
  transform-origin: center center;
  transition: transform 0.3s, opacity 0.3s, box-shadow 0.3s, border-color 0.3s, color 0.3s;
}
.p-recruit-card__bottom .c-oval-btn i {
  display: inline-block;
  transition: transform 0.3s;
  transform: rotate(0);
}
.p-recruit-card__bottom:hover {
  color: #F77705;
}
.p-recruit-card__bottom:hover .text {
  color: #F77705;
}
.p-recruit-card__bottom:hover .c-oval-btn {
  opacity: 1;
  box-shadow: inset 0 0 0 50px #fff;
  color: #F77705;
  border-color: #F77705;
}
.p-recruit-card__bottom:hover .c-oval-btn i {
  transform: rotate(0deg) translateX(3px);
}

/* ====================================
   Top Page: Welfare Section
==================================== */
.p-top-welfare {
  background-color: #FCF9F3;
  padding: 140px 0;
  margin: 0 0 140px;
  /* 上パーツ: タイトル */
  /* 下パーツ: 白枠ボックス */
  /* リンクスタイル */
  /* 右側: グリッドエリア */
}
@media screen and (max-width: 768px) {
  .p-top-welfare {
    padding: 100px 0;
    margin: 0 0 100px;
  }
}
.p-top-welfare__inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
}
.p-top-welfare__title-area {
  margin-bottom: 40px;
}
.p-top-welfare__title-area .title-en {
  font-family: "Montserrat", sans-serif;
  font-size: 80px;
  font-weight: bold;
  background: linear-gradient(to right, #F77705, #F8960D);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  line-height: 1;
  margin: 0 0 10px;
}
@media screen and (max-width: 768px) {
  .p-top-welfare__title-area .title-en {
    font-size: 60px;
  }
}
.p-top-welfare__title-area .title-ja {
  font-size: 14px;
  font-weight: bold;
  margin: 0;
}
.p-top-welfare__box {
  background-color: #fff;
  border-radius: 50px;
  padding: 50px 80px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;
}
@media screen and (max-width: 1200px) {
  .p-top-welfare__box {
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  .p-top-welfare__box {
    padding: 30px;
    border-radius: 30px;
    gap: 50px;
  }
}
.p-top-welfare__nav {
  flex: 0 0 200px;
}
@media screen and (max-width: 1200px) {
  .p-top-welfare__nav {
    flex: auto;
    width: 100%;
    order: 2;
    display: flex;
    justify-content: flex-end;
  }
}
.p-top-welfare__link {
  display: flex;
  align-items: center;
  gap: 20px;
  text-decoration: none;
  font-weight: bold;
  font-size: 14px;
  transition: color 0.3s;
}
.p-top-welfare__link .c-oval-btn {
  flex-shrink: 0;
}
.p-top-welfare__link i {
  transform: rotate(0deg);
}
.p-top-welfare__link:hover {
  color: #F77705;
}
.p-top-welfare__link:hover .c-oval-btn {
  background: #fff;
  color: #F77705;
  box-shadow: inset 0 0 0 50px #fff;
  border: 1px solid #F77705;
}
.p-top-welfare__link:hover .c-oval-btn i {
  transform: rotate(0deg) translateX(3px);
}
.p-top-welfare__grid {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  row-gap: 60px;
  -moz-column-gap: 40px;
       column-gap: 40px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-top-welfare__grid {
    order: 1;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 40px;
    -moz-column-gap: 15px;
         column-gap: 15px;
  }
}

.p-welfare-cell {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  /* アイコンのみのセル */
}
.p-welfare-cell .cell-label {
  font-size: 14px;
  margin: 0 0 20px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-welfare-cell .cell-label {
    font-size: 12px;
    margin-bottom: 15px;
  }
}
.p-welfare-cell .cell-data {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 10px;
  height: 60px;
}
@media screen and (max-width: 768px) {
  .p-welfare-cell .cell-data {
    height: 50px;
    gap: 5px;
  }
}
.p-welfare-cell .cell-data__img {
  height: 100%;
}
.p-welfare-cell .cell-data__img img {
  height: 100%;
  width: auto;
  display: block;
}
.p-welfare-cell .cell-data__num-area {
  line-height: 1;
  position: relative;
  bottom: -4px; /* ベースライン微調整 */
}
.p-welfare-cell .cell-data__text-group {
  display: flex;
  align-items: baseline;
  gap: 3px;
  position: relative;
  bottom: -4px;
}
.p-welfare-cell .num {
  font-family: "Montserrat", sans-serif;
  font-size: 60px;
  font-weight: bold;
  line-height: 1;
  background: linear-gradient(to right, #F77705, #F8960D);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}
@media screen and (max-width: 768px) {
  .p-welfare-cell .num {
    font-size: 40px;
  }
}
.p-welfare-cell .unit {
  font-size: 14px;
  font-weight: bold;
  margin-left: 2px;
}
.p-welfare-cell .small {
  font-size: 12px;
  font-weight: bold;
}
.p-welfare-cell--icon-only .cell-icon-lg {
  height: 70px; /* アイコンサイズ調整 */
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-welfare-cell--icon-only .cell-icon-lg img {
  max-height: 120%;
  width: auto;
}
@media screen and (max-width: 768px) {
  .p-welfare-cell--icon-only .cell-icon-lg {
    height: 50px;
  }
}/*# sourceMappingURL=style.css.map */