@charset "UTF-8";

/* ==========================================================================
ベース設定
=========================================================================== */
@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/NotoSansJP-Regular.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/NotoSansJP-Medium.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/NotoSansJP-Bold.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/NotoSansJP-SemiBold.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "NotoSansJP_vert";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/NotoSansJP-SemiBold_vertical.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 800;
  src: url("../fonts/NotoSansJP-ExtraBold.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "WorkSans";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/WorkSans-Medium.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "WorkSans";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/WorkSans-SemiBold.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/Inter_24pt-Bold.woff2") format("woff2");
  font-display: swap;
}

:root {
  /* カラー */
  --Main: #000;
  --Accent: #E60013;
  --Back: #C1C1C1;

  /* フォント */
  --font_ja: YakuHanJP, NotoSansJP, sans-serif;
  --font_ja_vert: NotoSansJP_vert, sans-serif;
  --font_WorkSans: WorkSans, sans-serif;
  --font_Inter: Inter, sans-serif;
}

.html {
  font-size: calc(100vw / 1440 * 16);
  scrollbar-gutter: stable;
  overflow-x: hidden;
}

#wpadminbar {
  z-index: 10000000!important;
}

.body {
  font-family: var(--font_ja);
  font-size: 1rem;
  font-weight: 400;
  line-height: 2;
  color: var(--Main);
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  font-optical-sizing: auto;
  font-feature-settings: "palt";
  line-break: strict;
  overflow-wrap: break-word;
  word-wrap: break-word;
  width: 100%;
  counter-reset: number 0;
  position: relative;
  overflow-x: hidden;
}

.body small {
  font-size: max(70%, 10px);
}

.body a {
  color: var(--Main);
  transition: all 0.3s;
}

.body a:hover {
  opacity: 0.6;
}

.forSP {
  display: none;
}

.forSP-inline {
  display: none;
}

.body a.btn {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--Accent);
  border: 1px solid var(--Accent);
  border-radius: 1.875rem;
  width: 12.75rem;
  height: 3.75rem;
  padding-right: 1rem;
  position: relative;
}

.body a.btn::after {
  content: "→";
  font-weight: 700;
  color: var(--Accent);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border-radius: 50%;
  width: 1.625rem;
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  transition: all 0.3s;
}

.body a.btn:hover {
  color: var(--Accent);
  background: #fff;
  opacity: 1;
}

.body a.btn:hover::after {
  color: #fff;
  background: var(--Accent);
}

.hamburgerOverlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  visibility: hidden;
  transition: opacity 0.3s ease;
  z-index: 99;
}

.hamburgerOverlay.is-active {
  opacity: 1;
  visibility: visible;
}

/* ==========================================================================
ヘッダー
=========================================================================== */
.header {
  line-height: 1;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  width: 100vw;
  padding: 1.125rem 6.25rem;
  position: fixed;
  top: 0;
  z-index: 100;
  transition: all 0.3s;
}

.header.is-active {
  background: rgba(255, 255, 255, 0.78);
}

.header__logo {
  display: inline-flex;
  align-items: center;
  height: 2.625rem;
  z-index: 1;
}

.header__logo img {
  width: 10.375rem;
}

.header__pcMenu {
  display: inline-flex;
  gap: 1.625rem;
  margin-left: auto;
  margin-right: 3.5rem;
  z-index: -1;
}

.body a.header__pcMenu-btn {
  font-weight: 700;
  border-radius: 3.125rem;
  width: 9.75rem;
  height: 2.625rem;
}

.body a.btn--contact {
  font-size: 0.875rem;
  color: var(--Accent);
  background-color: #fff;
  border: 1px solid var(--Accent);
  padding-right: 2rem;
}

.body a.btn--contact:hover {
  color: #fff;
  background-color: var(--Accent);
}

.body a.btn--recruit {
  font-size: 1rem;
  letter-spacing: 0.03em;
  padding-right: 0.25rem;
  padding-bottom: 0.125rem;
}

.body a.btn--contact::after {
  content: "";
  background-image: url(../img/mail_icon_white.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.25rem auto;
  background-color: var(--Accent);
  right: 0.8125rem;
}

.body a.btn--contact:hover::after {
  background-image: url(../img/mail_icon.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.25rem auto;
  background-color: #fff;
}

.body a.btn--recruit::after {
  content: "";
  background-image: url(../img/arrow_red.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.6875rem auto;
  background-color: #fff;
  right: 0.8125rem;
}

.body a.btn--recruit:hover::after {
  background-image: url(../img/arrow_white.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.6875rem auto;
  background-color: var(--Accent);
}

/* ハンバーガーメニュー */
.html:has(.js-hamburger-cont.is-active) {
  overflow: hidden;
}

.hamburgerBtn {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  border-radius: 50%;
  width: 2.625rem;
  height: 2.375rem;
  position: relative;
  z-index: 1;
  cursor: pointer;
}

.hamburgerBtn::after {
  content: "MENU";
  font-family: var(--font_WorkSans);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1rem;
}

.hamburgerBtn-inner {
  width: 100%;
  height: 0.875rem;
  position: relative;
}

.hamburgerBtn span {
  width: 100%;
  height: 0.1875rem;
  background-color: var(--Main);
  position: absolute;
  left: 0;
  transition: all 0.5s;
}

.hamburgerBtn span:nth-of-type(1) {
  top: 0;
}

.hamburgerBtn span:nth-of-type(2) {
  bottom: 0;
}

.hamburgerBtn.is-active span:nth-of-type(1) {
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(30deg);
  transform: translateX(-50%) translateY(-50%) rotate(30deg);
}

.hamburgerBtn.is-active span:nth-of-type(2) {
  top: 50%;
  bottom: auto;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(-30deg);
  transform: translateX(-50%) translateY(-50%) rotate(-30deg);
}

.hamburgerContent {
  background: #fff;
  width: 100vw;
  /* height: 695px; */
  padding: 12.125rem 8.5rem 9.75rem;
  position: fixed;
  top: 0;
  left: 0;
  transform: translateY(-100%);
  transition: .5s;
  z-index: 0;
}

.hamburgerContent.is-active {
  overflow-y: auto;
  transform: translate(0);
}

.hamburgerContent__wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  height: 100%;
  overflow: hidden;
  position: relative;
}

.hamburgerContent__nav .menu {
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(4, 1fr);
  gap: 3.25rem 8.125rem;
  width: 49rem;
}

.hamburgerContent__nav .menu a {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 2.1875rem;
  letter-spacing: 1.3px;
  display: flex;
  align-items: center;
  background: url(../img/arrow_black.svg) no-repeat right bottom 1.25rem / 1.4375rem auto;
  border-bottom: 1px solid #9A9A9A;
  padding-bottom: 0.75rem;
}

.body a.hamburgerContent__contact-btn {
  font-size: 1.25rem;
  font-weight: 700;
  border-radius: 5rem;
  height: 4.125rem;
}

.body a.hamburgerContent__contact-btn.btn--recruit {
  font-size: 1.25rem;
  padding-right: 4.375rem;
}

.body a.hamburgerContent__contact-btn.btn--contact {
  font-size: 1.0625rem;
  padding-right: 2.8125rem;
  margin-top: 1.75rem;
}

.body a.hamburgerContent__contact-btn::after {
  width: 2rem;
  right: 1.375rem;
}

.body a.hamburgerContent__contact-btn.btn--recruit::after {
  background-size: 0.8125rem auto;
}

.body a.hamburgerContent__contact-btn.btn--contact::after {
  background-size: 1.5rem auto;
}

.hamburgerContent__contact-sns {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 0.625rem;
  margin-top: 1.75rem;
}

.hamburgerContent__contact-sns a {
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.hamburgerContent__contact-sns a[data-type="fb"] {
  background-image: url(../img/facebook_icon.png);
  width: 2.875rem;
  aspect-ratio: 1;
}

.hamburgerContent__contact-sns a[data-type="yt"] {
  background-image: url(../img/youtube_icon.png);
  width: 3.25rem;
  aspect-ratio: 44 / 38;
}


/* ==========================================================================
トップページ
=========================================================================== */
.inner {
  width: 67.5rem;
  margin: 0 auto;
}

.ttl {
  font-family: var(--font_WorkSans);
  font-size: 4.125rem;
  font-weight: 600;
  line-height: 1.2;
  color: #333;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.ttl::before {
  content: attr(data-ja);
  font-family: var(--font_ja);
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1;
  background: url(../img/ttl_img.png) no-repeat left center / 1.125rem auto;
  padding-left: 1.875rem;
}

/* FV */
.home__fv {
  height: 100svh;
  padding-top: 36.08vh;
  padding-left: 6.94vw;
  position: relative;
}

.home__fv-bg {
  --scale: 1;
  width: calc(97.6875rem + 2.5rem * var(--scale));
  height: calc(97.6875rem + 1.25rem);
  position: absolute;
  right: -18.75rem;
  bottom: -24.1875rem;
  padding-right: 2.5rem;
  padding-bottom: 1.25rem;
  z-index: -1;
}

.home__fv-bg-mask {
  clip-path: polygon(
    calc((43.9% - 50%) * var(--scale) + 50%) calc((6.1% - 50%) * var(--scale) + 50%),
    calc((91.1% - 50%) * var(--scale) + 50%) calc((66.8% - 50%) * var(--scale) + 50%),
    calc((15% - 50%) * var(--scale) + 50%) calc((77.2% - 50%) * var(--scale) + 50%)
  );
  width: 97.6875rem;
  aspect-ratio: 1;
  position: relative;
  overflow: visible;
  /* position: absolute;
  right: -18.75rem;
  bottom: -24.1875rem; */
}

.home__fv-bg-shadow {
  display: inline-block;
  background-color: rgba(0, 0, 0, 0.1);
  clip-path: polygon(
    calc((43.9% - 50%) * var(--scale) + 50%) calc((6.1% - 50%) * var(--scale) + 50%),
    calc((91.1% - 50%) * var(--scale) + 50%) calc((66.8% - 50%) * var(--scale) + 50%),
    calc((15% - 50%) * var(--scale) + 50%) calc((77.2% - 50%) * var(--scale) + 50%)
  );
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: -0.3%;
  right: calc(-0.2% * (var(--scale) * 4));
  z-index: -1;
}

.home__fv-bg-img {
  background-image: url(../img/home_fv_bg_pc.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  background-color: rgba(0,0,0,0);
  background-blend-mode: multiply;
  width: 83.0625rem;
  aspect-ratio: 1329 / 886;
  position: absolute;
  /* right: 5.875rem; */
  left: 8.75rem;
  bottom: 23.25rem;
  z-index: -1;
}

/* .home__fv-bg-img::after {
  content: "";
  display: inline-block;
  background: rgba(0, 0, 0, 0.64);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
} */

/* .home__fv-bg-shadow {
  background-color: rgba(0, 0, 0, 0.1);
  --scale: 1;
  clip-path: polygon(
    calc((43.9% - 50%) * var(--scale) + 50%) calc((6.1% - 50%) * var(--scale) + 50%),
    calc((91.1% - 50%) * var(--scale) + 50%) calc((66.8% - 50%) * var(--scale) + 50%),
    calc((15% - 50%) * var(--scale) + 50%) calc((77.2% - 50%) * var(--scale) + 50%)
  );
  width: 97.6875rem;
  height: 97.6875rem;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
} */

.home__fv-catch {
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.03em;
  color: #333333;
}

.home__fv-en {
  font-family: var(--font_WorkSans);
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.03em;
  color: #7F7F7F;
  margin-top: 7.89vh;
}

.home__fv-triangle {
  display: inline-block;
  aspect-ratio: 1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  position: absolute;
}

.home__fv-triangle01 {
  background-image: url(../img/home_fv_triangle_red.png);
  width: 3.375rem;
  top: 75.15%;
  left: -1.3125rem;
}

.home__fv-triangle02 {
  background-image: url(../img/home_fv_triangle_yellow.png);
  width: 4.5rem;
  top: 10.09%;
  left: 23.3125rem;
}

.home__fv-triangle03 {
  background-image: url(../img/home_fv_triangle_blue.png);
  width: 9.8125rem;
  top: 34.54%;
  right: -4.5625rem;
}

.anim-fluffy {
  animation: fluffy 3s infinite;
}

@keyframes fluffy {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-40px);
  }
}

.home__fv-triangle02.anim-fluffy {
  animation-delay: 0.3s;
}

.home__fv-triangle03.anim-fluffy {
  animation-delay: 0.6s;
}

/* 導入 */
.home__intro {
  /* height: 71rem; */
  /* background: rgba(0, 0, 0, 0.64); */
  margin-top: 120vh;
}

.home__intro-content {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom 4rem;
  /* background-image: linear-gradient(to bottom, transparent 45rem, transparent 45rem 2.44%, rgba(102, 102, 102, 0.64) 97.81%),
                    url(../img/home_intro_bg_pc.jpg); */
  /* background-color: rgba(0, 0, 0, 0.64); */
  background-blend-mode: multiply;
  /* padding-top: 11.875rem; */
  padding-bottom: 10.75rem;
  position: relative;
}

.home__intro-container {
  height: 100vh;
  overflow: hidden;
}

.home__intro-txt {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 2.2;
  color: #fff;
  padding-top: 11.875rem;
}

.home__intro-txt p + p {
  margin-top: calc(1em * 2.2);
}

.home__intro-catch {
  font-family: var(--font_ja_vert);
  font-size: min(3.125rem, 50px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.2em;
  writing-mode: vertical-rl;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.625rem;
  position: absolute;
  top: 8rem;
  right: calc((100% - 90rem) / 2 + 20.625rem);
}

.home__intro-catch > span:nth-of-type(2) {
  padding-top: 6.625rem;
}

.home__intro-links {
  display: flex;
  justify-content: space-between;
  margin-top: 10.5rem;
}

.body a.home__intro-links-item {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  color: #fff;
  border-bottom: 1px solid #fff;
  width: calc((100% - 12.5rem) / 3);
  padding-bottom: 0.3125rem;
  padding-left: 3.5rem;
  position: relative;
}

.home__intro-links-item::after {
  content: "";
  display: inline-block;
  background: url(../img/arrow_white.svg) no-repeat center / 0.875rem auto,
              var(--Accent);
  width: 1.5625rem;
  aspect-ratio: 1;
  border-radius: 50%;
  position: absolute;
  right: 0.25rem;
  bottom: 0.3125rem;
}

/* サポート内容 */
.home__bg {
  background: url(../img/home_bg_pc.jpg) no-repeat center bottom / 100% auto,
              #fff;
  padding-bottom: 28.875rem;
}

.home__bg-wrap {
  background: #fff;
  border-radius: 0 0 0 18.75rem;
  padding-top: 8.4375rem;
  padding-bottom: 7.5rem;
  position: relative;
  z-index: 0;
}

.home__bg-shape {
  display: inline-block;
  background: #fff;
  border-radius: 50%;
  width: calc(100% + 1.375rem * 2);
  height: 9.375rem;
  position: absolute;
  top: -4.75rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}

.home__support-list {
  margin-top: 3.25rem;
}

.home__support-list-item {
  display: flex;
  justify-content: flex-start;
  gap: 5.75rem;
}

.home__support-list-item > img {
  width: 27.375rem;
  border-radius: 1.25rem;
}

.home__support-list-item-num {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.625rem;
  color: var(--Accent);
  margin-top: 2rem;
}

.home__support-list-item-ttl {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.875rem;
  margin-top: 0.75rem;
}

.home__support-list-item-txt {
  font-size: 1rem;
  line-height: 1.6;
  margin-top: 1.5rem;
}

.home__support-list--child {
  display: flex;
  justify-content: space-between;
  gap: 5.125rem;
  margin-top: 5rem;
}

.home__support-list--child .home__support-list-item {
  gap: 1.125rem;
}

.home__support-list--child .home__support-list-item > img {
  width: 9.625rem;
  height: 5.4375rem;
  object-fit: cover;
  border-radius: 0.625rem;
}

.home__support-list--child .home__support-list-item-num {
  font-size: 1.125rem;
  margin-top: 0.75rem;
}

.home__support-list--child .home__support-list-item-ttl {
  font-size: 1.25rem;
  margin-top: 0.375rem;
}

.home__support a.btn {
  margin: 4rem auto 0;
}

/* メディア実績 */
.home__media {
  color: #fff;
  background: url(../img/home_media_bg_pc.png) no-repeat center / cover;
  border-radius: 2.5rem;
  width: 77.5rem;
  padding: 3.25rem;
  margin: 7.5rem auto 0;
}

.home__media h2.ttl {
  align-items: center;
  color: #fff;
}

.home__media .ttl::before {
  transform: translateX(-0.9375rem);
}

.home__media-txt {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
  color: #fff;
  margin-top: 2.5rem;
}

.home__media-video {
  border-radius: 1.25rem;
  width: 51.75rem;
  aspect-ratio: 828 / 466;
  margin: 1.375rem auto 0;
  overflow: hidden;
}

.home__media-video iframe {
  aspect-ratio: 828 / 466;
  width: 100%;
  height: 100%;
}

/* アカツキだより */
.home__topics {
  margin-top: 7.5rem;
}

.home__topics-contents {
  margin-top: 3.25rem;
}

.home__topics-item {
  display: flex;
  border-bottom: 1px solid #ddd;
  padding-bottom: 1.25rem;
}

.home__topics-item a {
  display: contents;
}

.home__topics-item:nth-of-type(n+2) {
  margin-top: 2.5rem;
}

.home__topics-item img {
  width: 13rem;
  aspect-ratio: 208 / 134;
  object-fit: cover;
}

.home__topics-item-wrap {
  padding-top: 1rem;
  padding-left: 2.5rem;
}

.home__topics-item-date {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #333;
}

.home__topics-item-ttl {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.6;
  margin-top: 0.625rem;
}

.home__topics a.btn {
  margin: 3.75rem auto 0;
}

/* ページリンク */
.home__links {
  display: flex;
  justify-content: center;
  gap: 5rem;
  margin-top: 6.25rem;
}

.home__links-item {
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-blend-mode: multiply;
  border-radius: 0.625rem;
  width: 31.25rem;
  aspect-ratio: 500 / 263;
  position: relative;
}

.home__links-item:nth-of-type(1) {
  background-image: linear-gradient(to bottom, transparent 0%, rgba(27, 27, 27, 0.58) 92.59%),
                    url(../img/home_links_img_01.jpg);
}

.home__links-item:nth-of-type(2) {
  background-image: linear-gradient(to bottom, transparent 0%, rgba(27, 27, 27, 0.58) 92.59%),
                    url(../img/home_links_img_02.jpg);
}

.home__links-item span {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.8;
  color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: calc(100% - 2.25rem - 2.625rem);
  position: absolute;
  bottom: 1.875rem;
  left: 2.25rem;
}

.home__links-item span::after {
  content: "→";
  font-size: 1rem;
  line-height: 1;
  color: #fff;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: var(--Accent);
  border-radius: 50%;
  width: 1.75rem;
  aspect-ratio: 1;
}

/* 画像 */
.home__img {
  border-radius: 6.25rem;
  width: calc(100% - 6.25rem * 2);
  margin: 8.75rem auto 0;
  overflow: hidden;
}

/* SDGs */
.home__sdgs {
  margin-top: 8.75rem;
}

.home__sdgs-top {
  display: flex;
  align-items: center;
  gap: 4.5rem;
}

.home__sdgs-top img {
  width: 32.5rem;
}

.home__sdgs-top-txt {
  font-size: 1rem;
  line-height: 2;
}

.home__sdgs-list {
  width: 48rem;
  margin: 5.625rem auto 0;
}

.home__sdgs-list-item {
  display: flex;
  align-items: flex-start;
  gap: 2.625rem;
  padding-right: 1.5rem;
  position: relative;
}

.home__sdgs-list-item:nth-of-type(n+2) {
  margin-top: 5rem;
}

.home__sdgs-list-item:nth-of-type(n+2)::before {
  content: "";
  display: inline-block;
  background: #C2C2C2;
  width: 100%;
  height: 1px;
  position: absolute;
  top: -2.5rem;
  left: 0;
}

.home__sdgs-list-item img {
  width: 6.25rem;
  aspect-ratio: 1;
  margin-top: 0.625rem;
}

.home__sdgs-list-item-txt {
  font-size: 1rem;
  line-height: 1.8;
}


/* ==========================================================================
固定ページ
=========================================================================== */
.page__top {
  padding-top: 11.25rem;
  padding-left: 6.25rem;
  position: relative;
}

.page__top-img {
  position: absolute;
  top: 0;
  right: 0;
}

.page__top-img img {
  border-radius: 0 0 0 6.25rem;
  width: 42.5rem;
  height: 23.25rem;
  object-fit: cover;
}

.page__top-ttl {
  font-family: var(--font_WorkSans);
  font-size: 5.625rem;
  font-weight: 600;
  line-height: 1.2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.125rem
}

.page__top-ttl::after {
  content: attr(data-ja);
  font-family: var(--font_ja);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
}

.page:not(.home) .main .ttl {
  flex-direction: column-reverse;
}


/* ==========================================================================
About - アカツキ交通について
=========================================================================== */
.about__intro {
  padding-left: 44.5rem;
  margin-top: 7.625rem;
  position: relative;
}

.about__intro::before {
  content: "";
  display: inline-block;
  background: url(../img/about_intro_img.png) no-repeat center / 100% auto;
  width: 20.5rem;
  height: 22.8125rem;
  position: absolute;
  top: -1.5625rem;
  left: 11.25rem;
}

.about__intro-ttl {
  font-size: 2.125rem;
  font-weight: 600;
  line-height: 1.6;
}

.about__intro-txt {
  font-size: 1.125rem;
  line-height: 2;
  margin-top: 2.5rem;
}

.about__intro-txt p + p {
  margin-top: calc(1em * 2);
}

.about__philosophy {
  margin-top: 7.5rem;
}

.about__philosophy-top {
  display: flex;
  gap: 6.25rem;
  margin-top: 3.75rem;
}

.about__philosophy-top-catch {
  font-size: 2.125rem;
  font-weight: 600;
  line-height: 2;
  color: var(--Accent);
  flex-shrink: 0
}

.about__philosophy-top-txt {
  font-size: 1.125rem;
  line-height: 2;
}

.about__philosophy-box {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 4rem;
  background: #F3F5F7;
  border-radius: 1.875rem;
  padding: 3.75rem 4rem;
  margin-top: 3.75rem;
}

.about__philosophy-box:nth-of-type(3) {
  flex-direction: row-reverse;
  justify-content: space-between;
  gap: 0;
}

.about__philosophy-box + .about__philosophy-box {
  margin-top: 3.125rem;
}

.about__philosophy-box > img {
  border-radius: 1.25rem;
  width: 23.9375rem;
}

.about__philosophy-box-ttl {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.03em;
}

.about__philosophy-box-txt {
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 1.875rem;
}

.about__philosophy-box-txt p + p {
  margin-top: calc(1em * 1.8);
}

.about__message {
  margin-top: 7.5rem;
}

.about__message-content {
  display: flex;
  align-items: flex-start;
  gap: 9.875rem;
  margin-top: 5.5rem;
}

.about__message-content > img {
  border-radius: 0.625rem;
  width: 25rem;
  flex-shrink: 0;
}

.about__message-txt {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.03em;
}

.about__message-txt p + p {
  margin-top: calc(1em * 2);
}

.about__message-company {
  font-size: 0.9375rem;
  line-height: 1.375rem;
  text-align: right;
  margin-top: 2rem;
}

.about__message-profile {
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  gap: 1.5rem;
  margin-top: 0.5rem;
}

.about__message-profile-position {
  font-size: 0.9375rem;
  line-height: 1;
}

.about__message-profile-name {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 2rem;
  letter-spacing: 0.03em;
}


/* ==========================================================================
Company - 企業情報
=========================================================================== */
.company__history {
  margin-top: 7.5rem;
  margin-left: calc((100% - 90rem) / 2 + 11.25rem);
}

.company__history-timeline {
  margin-top: 7.875rem;
}

.company__history-timeline-item {
  display: flex;
  align-items: center;
  gap: 6.5rem;
  position: relative;
}

.company__history-timeline-item:nth-of-type(n+2) {
  margin-top: 5rem;
}

.company__history-timeline-item::before {
  content: "";
  display: inline-block;
  background: #373737;
  width: 0.0625rem;
  height: calc(100% + 5rem);
  position: absolute;
  bottom: 0;
  left: 15.625rem;
}

.company__history-timeline-item:first-of-type::before {
  height: 50%;
}

.company__history-timeline-item:last-of-type::before {
  height: calc(105% + 5rem);
  bottom: -5%;
}

.company__history-timeline-item::after {
  content: "";
  display: inline-block;
  background: #D9D9D9;
  border-radius: 50%;
  width: 1.25rem;
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  left: 15rem;
  transform: translateY(-50%);
  z-index: 1;
}

.company__history-timeline-item-time {
  font-size: 5rem;
  font-weight: 700;
  line-height: 1.2;
  color: #B7B7B7;
  position: relative;
}

.company__history-timeline-item-txt {
  font-size: 1rem;
  line-height: 1.8;
}

.company__history-timeline-item img {
  border-radius: 0.625rem;
  position: absolute;
}

.company__history-timeline-item:nth-of-type(1) img {
  width: 19.0625rem;
  top: -5.3125rem;
  right: 6rem;
}

.company__history-timeline-item:nth-of-type(3) img {
  width: 15.625rem;
  top: -4.125rem;
  right: 19.25rem;
}

.company__history-timeline-item:nth-of-type(4) img {
  width: 18.75rem;
  top: 4rem;
  right: 9.375rem;
}

.company__history-timeline-item:nth-of-type(7) img {
  width: 22.625rem;
  top: -0.875rem;
  right: 10.3125rem;
}

.company__company {
  margin-top: 10rem;
}

.table {
  table-layout: fixed;
  border-collapse: collapse;
  border: 1px solid #ddd;
}

.table th {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: left;
  background: #F9F9F9;
  padding: 1rem 1.5rem;
}

.table td {
  font-size: 1rem;
  line-height: 1.5;
  border-left: 1px solid #ddd;
  padding: 1rem 1.5rem;
}

.table tr:nth-of-type(n+2) th,
.table tr:nth-of-type(n+2) td {
  border-top: 1px solid #ddd;
}

.company__company-table {
  width: 50rem;
  margin: 4.0625rem auto 0;
}

.company__company-table th {
  width: 13rem;
}

.company__company-map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 35.9375rem;
  margin-top: 4rem;
}

.company__company-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/* ==========================================================================
Support Services - サポート内容
=========================================================================== */
.support__content {
  margin-top: 5rem;
}

.support__txt {
  font-size: 1rem;
  line-height: 1.8;
}

.support__list {
  display: flex;
  justify-content: space-between;
  margin-top: 7.5rem;
}

.support__list-item {
  background: #F4F6F8;
  border-radius: 1.25rem;
  width: calc((100% - 2.5rem * 2) / 3);
  padding: 1.625rem 1.75rem;
}

.support__list-item img {
  border-radius: 1.25rem;
}

.support__list-item-ttl {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--Accent);
  margin-top: 1.125rem;
}

.support__list-item-txt {
  font-size: 1rem;
  line-height: 1.6;
  margin-top: 0.75rem;
}

.support__box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 7.5rem;
}

.support__box-wrap {
  width: 30rem;
}

.support__box-ttl {
  font-size: 1.875rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: var(--Accent);
}

.support__box-txt {
  font-size: 1rem;
  line-height: 2;
  margin-top: 2.875rem;
}

.support__box img {
  border-radius: 1.25rem;
  width: 29rem;
  margin-top: 0.9375rem;
}

/* ==========================================================================
フォーム
=========================================================================== */
.support__form,
.contact__form {
  margin-top: 6.25rem;
}

.contact__form {
  margin-top: 9.75rem;
}

.support__form-ttl,
.contact__form-ttl {
  font-size: 1.875rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.03em;
  text-align: center;
}

.support__form-content {
  background: #F3F5F8;
  width: 57.5rem;
  padding: 3.75rem 8.75rem;
  margin: 1.375rem auto 0;
}

.contact__form-content,
.entry__form-content {
  background: #F3F5F8;
  width: 57.5rem;
  padding: 5rem 8.75rem;
  margin: 1.5rem auto 0;
}

.entry__form-content {
  margin-top: 8.75rem;
}

.body .support__form form > p:nth-of-type(n+2) {
  margin-top: 1.25rem;
}

.body .contact__form form > p:nth-of-type(n+2),
.body .entry__form form > p:nth-of-type(n+2) {
  margin-top: 2rem;
}

.body form label {
  font-size: 1rem;
  line-height: 1.5;
  display: block;
}

.body form label:has(.wpcf7-validates-as-required)::before,
.body form p:has(.wpcf7-validates-as-required):has(input[type="checkbox"])::before,
.body form p:has(.wpcf7-validates-as-required):has(input[type="radio"])::before {
  content: "必須";
  font-size: 0.625rem;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  display: inline-flex;
  align-items: center;
  background: var(--Accent);
  height: 1rem;
  padding: 0 0.5rem;
  margin-right: 0.5rem;
}

.body form input[type="text"],
.body form input[type="email"],
.body form input[type="tel"],
.body form textarea {
  font-size: 1rem;
  line-height: 1.5;
  border: none;
  box-shadow: 0 0 0 1px #ddd;
  width: 100%;
  height: 2.875rem;
  padding: 0 0.875rem;
  margin-top: 0.5rem;
}

.body form input[type="text"]:focus,
.body form input[type="email"]:focus,
.body form input[type="tel"]:focus,
.body form textarea:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--Accent);
}

.body form textarea {
  height: 10.5rem;
  padding-top: 0.625rem;
  resize: none;
}

.wpcf7-form-control-wrap {
  position: absolute;
}

.support__form-tel {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  margin-top: 1.375rem;
}

.body form input[type="checkbox"],
.body form input[type="radio"] {
  display: none;
  position: relative;
}

.body form .wpcf7-checkbox,
.body form .wpcf7-radio {
  display: flex;
  gap: 0.625rem 1.75rem;
  margin-top: 0.625rem;
}

.body .entry__form form .wpcf7-radio {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 12px;
}

.body .contact__form form .wpcf7-checkbox,
.body .contact__form form .wpcf7-radio {
  flex-direction: column;
  margin-top: 0;
}

.body form .wpcf7-checkbox.support__form-relation,
.body form .wpcf7-radio.support__form-relation {
  gap: 0.625rem 1.5rem;
}

.body form .wpcf7-list-item {
  line-height: 1.25rem;
  margin: 0!important;
}

.body form .wpcf7-list-item label,
.body form .wpcf7-checkbox,
.body form .wpcf7-radio {
  line-height: 1.25rem;
  display: inline-flex;
  align-items: flex-start;
  position: relative;
}

.body form .wpcf7-checkbox label,
.body form .wpcf7-radio label {
  cursor: pointer;
}

.body form .wpcf7-list-item label:has(input[type="checkbox"])::before,
.body form .wpcf7-list-item label:has(input[type="radio"])::before {
  content: "";
  display: inline-block;
  background: #fff;
  border: 1px solid #ddd;
  width: 1.25rem;
  aspect-ratio: 1;
  margin-right: 0.5rem;
  transform: translateY(0.125rem);
}

.body form .wpcf7-list-item label:has(input[type="checkbox"]:checked)::before,
.body form .wpcf7-list-item label:has(input[type="radio"]:checked)::before {
  background: var(--Accent);
}

.body form .wpcf7-list-item label:has(input[type="checkbox"]:checked)::after,
.body form .wpcf7-list-item label:has(input[type="radio"]:checked)::after {
  content: "";
  display: inline-block;
  width: 0.75rem;
  height: 0.375rem;
  border-left: 3px solid #fff;
  border-bottom: 3px solid #fff;
  position: absolute;
  left: 0.25rem;
  top: 54%;
  transform: translateY(-50%) rotate(-45deg);
}

.body .support__form form > p:has(.wpcf7-acceptance) {
  margin-top: 2.125rem;
}

.body .contact__form form > p:has(.wpcf7-acceptance) {
  margin-top: 1.75rem;
}

.body form .wpcf7-acceptance label {
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
}

.body form .wpcf7-acceptance label a {
  text-decoration: underline;
  color: #4E4E4E;
}

.body form .wpcf7-acceptance label:has(input[type="checkbox"])::before,
.body form .wpcf7-acceptance label:has(input[type="radio"])::before {
  line-height: 1.25rem;
  width: 0.9375rem;
  margin-right: 1rem;
}

.body form .wpcf7-acceptance label:has(input[type="checkbox"]:checked)::after,
.body form .wpcf7-acceptance label:has(input[type="radio"]:checked)::after {
  width: 0.625rem;
  height: 0.3125rem;
  top: 43%;
  left: 0.1875rem;
}

.body form .wpcf7-submit {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 2.25rem;
  background: var(--Accent);
  border: none;
  width: 13.875rem;
  height: 3.4375rem;
  margin-left: auto;
  margin-right: auto;
  cursor: pointer;
}

.body form .wpcf7-submit:disabled {
  opacity: 0.4;
}

.body .support__form form > p:has(input[type="submit"]) {
  margin-top: 3.5rem;
}

.body .contact__form form > p:has(input[type="submit"]) {
  margin-top: 3.5rem;
}

.body form .wpcf7-spinner {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  margin: 1rem 0 0;
}


/* ==========================================================================
Safety Initiatives - 安全への取り組み
=========================================================================== */
.safety__intro {
  margin-top: 7.8125rem;
}

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

.safety__intro-top-catch {
  font-size: 2.25rem;
  font-weight: 600;
  line-height: 1.8;
}

.safety__intro-top-txt {
  font-size: 1rem;
  line-height: 1.8;
  width: 40.375rem;
}

.safety__intro-list {
  display: flex;
  justify-content: center;
  gap: 4rem;
  margin-top: 5rem;
}

.safety__intro-list-item {
  text-align: center;
  position: relative;
  flex-shrink: 0;
}

.safety__intro-list-item:nth-of-type(n+2)::before {
  content: "";
  display: inline-block;
  background: #777;
  width: 1px;
  height: 10.5rem;
  position: absolute;
  bottom: -0.0625rem;
  left: -2rem;
}

.safety__intro-list-item img {
  width: 5.3125rem;
  aspect-ratio: 1;
  margin: 0 auto;
}

.safety__intro-list-item-ttl {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.8;
  color: var(--Accent);
  margin-top: 0.3125rem;
}

.safety__intro-list-item-txt {
  font-size: 1rem;
  line-height: 1.6;
  margin-top: 0.5rem;
}

.safety__bg {
  background: url(../img/safety_bg_pc.jpg) no-repeat center top / 100% auto;
  padding-top: 33.125rem;
  margin-top: 8.75rem;
}

.safety__bg-wrap {
  background: #F3F5F7;
  padding: 6.25rem 0;
  position: relative;
}

.safety__bg-wrap::before {
  content: "";
  display: inline-block;
  background: #F3F5F7;
  border-radius: 50%;
  width: calc(100% + 1.375rem * 2);
  height: 9.375rem;
  position: absolute;
  top: -5.625rem;
  left: 50%;
  transform: translateX(-50%);
}

.safety__bg-wrap::after {
  content: "";
  display: inline-block;
  background: #F3F5F7;
  border-radius: 50%;
  width: calc(100% + 1.375rem * 2);
  height: 9.375rem;
  position: absolute;
  bottom: -4.625rem;
  left: 50%;
  transform: translateX(-50%);
}

.safety__management-box {
  display: flex;
  justify-content: space-between;
  margin-top: 3.75rem;
}

.safety__management-box + .safety__management-box {
  margin-top: 5rem;
}

.safety__management-box-wrap {
  width: 31rem;
  padding-top: 1.25rem;
}

.safety__management-box-ttl {
  font-size: 1.875rem;
  font-weight: 600;
  line-height: 1.8;
  color: var(--Accent);
}

.safety__management-box-txt {
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 2.25rem;
}

.safety__management-box img {
  background: #fff;
  border-radius: 0.25rem;
  width: 27rem;
  padding: 1.875rem 4rem;
  object-fit: contain;
}

.safety__maintenance {
  margin-top: 12.125rem;
}

.safety__maintenance-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 3.25rem;
}

.safety__maintenance-top-catch {
  font-size: 1.875rem;
  font-weight: 500;
  line-height: 1.8;
}

.safety__maintenance-top-txt {
  font-size: 1rem;
  line-height: 1.8;
  width: 31rem;
}

.safety__maintenance-list {
  display: flex;
  justify-content: space-between;
  margin-top: 2.875rem;
}

.safety__maintenance-list-item {
  width: 20.75rem;
  background: #F3F5F7;
  border-radius: 0.625rem;
  padding: 1rem 1.375rem;
}

.safety__maintenance-list-item-num {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  color: var(--Accent);
}

.safety__maintenance-list-item img {
  width: 100%;
  border-radius: 0.625rem;
  margin-top: 0.625rem;
}

.safety__maintenance-list-item-ttl {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1;
  margin-top: 1.25rem;
}

.safety__maintenance-list-item-txt {
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 0.625rem;
}

.safety__training {
  text-align: center;
  background: #E7EEF5;
  border-radius: 3.75rem;
  width: 77.5rem;
  padding: 4rem 0 3.5rem;
  margin: 8.25rem auto 0;
}

.safety__training .ttl {
  align-items: center;
}

.safety__training img {
  width: 50.625rem;
  margin: 3.125rem auto 0;
}

.safety__training-txt {
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 2.125rem;
}


/* ==========================================================================
Q&A - よくある質問
=========================================================================== */
.acc__btn {
  text-align: left;
  display: block;
  background: transparent;
  width: 100%;
  cursor: pointer;
  transition: all 0.3s ease;
}

.acc__cont {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease-out;
}

.qa__ttl {
  font-size: 1.875rem;
  font-weight: 600;
  line-height: 1.8;
}

.qa__content {
  width: 55rem;
  margin: 10.875rem auto 0;
}

.qa__wrap + .qa__wrap {
  margin-top: 7.5rem;
}

.qa .acc {
  background: #F4F6F8;
  border-radius: 0.625rem;
  margin-top: 2.875rem;
}

.qa .acc + .acc {
  margin-top: 1rem;
}

.qa .acc__btn {
  font-family: var(--font_ja);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--Main);
  background-image: url(../img/acc_open_icon.svg);
  background-repeat: no-repeat;
  background-position: right 1.5rem center;
  background-size: 1rem auto;
  border: none;
  border-radius: 0.625rem 0.625rem 0 0;
  padding: 1.375rem 4rem 1.375rem 5.25rem;
  position: relative;
}

.qa .acc__btn::before {
  content: "";
  display: inline-block;
  background-image: url(../img/qa_q_icon_red.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  width: 2.25rem;
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  left: 1.5rem;
  transform: translateY(-50%);
}

.qa .qa__wrap:nth-of-type(2) .acc__btn::before {
  background-image: url(../img/qa_q_icon_blue.png);
}

.qa .acc__btn.is-active {
  font-weight: 600;
  color: #fff;
  background-image: url(../img/acc_close_icon.svg);
  background-color: #EC4E5B;
}

.qa  .qa__wrap:nth-of-type(2) .acc__btn.is-active {
  background-color: #00A0E9;
}

.qa .acc__btn.is-active::before {
  background-image: url(../img/qa_q_icon_active_red.png);
}

.qa .qa__wrap:nth-of-type(2) .acc__btn.is-active::before {
  background-image: url(../img/qa_q_icon_active_blue.png);
}

.qa .acc__cont {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  gap: 1.5rem;
}

.qa .acc__cont p {
  padding: 0 1.5rem 0 5.25rem;
  margin: 1rem 0;
  position: relative;
}

.qa .acc__cont p::before {
  content: "";
  display: inline-block;
  background-image: url(../img/qa_a_icon_red.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  width: 2.25rem;
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  left: 1.5rem;
  transform: translateY(-50%);
}

.qa .qa__wrap:nth-of-type(2) .acc__cont p::before {
  background-image: url(../img/qa_a_icon_blue.png);
}


/* ==========================================================================
アカツキだより
=========================================================================== */
/* アーカイブ */
.news__top {
  background: url(../img/news_top_bg_pc.png) no-repeat left 17.625rem top / 57.125rem;
  padding-top: 13.625rem;
  padding-bottom: 11.5rem;
}

.news__top-ttl {
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1.8;
  text-align: center;
}

.news__contents {
  width: 61.25rem;
  margin: 0 auto;
}

.news__item {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #ddd;
  padding-bottom: 2.5rem;
  transition: all 0.3s;
}

.news__item:hover {
  opacity: 0.6;
}

.news__item:nth-of-type(n+2) {
  margin-top: 2.5rem;
}

.news__item a {
  display: contents;
}

.news__item img {
  width: 17.5rem;
  aspect-ratio: 280 / 180;
}

.news__item-wrap {
  padding-left: 2.5rem;
}

.news__item-date {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.08em;
}

.news__item-ttl {
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.02em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin-top: 0.625rem;
}

.news__item-txt {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.02em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin-top: 0.75rem;
}

.pagination {
  font-size: 1rem;
  line-height: 1.8;
  width: 61.25rem;
  margin: 2.5rem auto 0;
}

.pagination__wrap {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 2rem;
  margin-top: 0.625rem;
}

.pagination__left,
.pagination__right {
  display: flex;
  gap: 0.5rem;
  height: 1.125rem;
}

.pagination__left {
  justify-content: flex-end;
}

.pagination__right {
  justify-content: flex-start;
}

.pagination__left a,
.pagination__right a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 0.5rem;
  height: 1.125rem;
  padding-top: 0.25rem;
}

.pagination__left svg,
.pagination__right svg {
  width: 0.5rem;
}

.pagination__center {
  font-size: 1.125rem;
  line-height: 1;
  display: flex;
  align-items: baseline;
  gap: 1rem;
}

.pagination__center .current {
  font-weight: 600;
}

.news__media {
  background-image: url(../img/news_media_bg_pc.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 2.5rem;
  width: 77.5rem;
  padding: 3.25rem 0 3.25rem;
  margin: 6.25rem auto 0;
}

.news__media .ttl {
  align-items: center;
  color: #fff;

}

.news__media .ttl::before {
  transform: translateX(-0.9375rem);
}

.news__media-slider {
  margin-top: 2.625rem;
}

.news__media-slider .splide__slide img {
  border-radius: 1.875rem;
  transform: scale(0.59);
}

.news__media-slider .splide__slide.is-active img {
  transform: scale(1);
  z-index: 1;
}

.news__media-slider .splide__slide p {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.6;
  text-align: center;
  color: #fff;
  margin-top: 1.25rem;
  opacity: 0;
}

.news__media-slider .splide__slide.is-active p {
  opacity: 1;
}

.news__media-slider .splide__arrow {
  width: 2.5rem;
  height: 2.5rem;
  top: 43%;
  opacity: 1;
}

.news__media-slider .splide__arrow svg {
  display: none;
}

.news__media-slider .splide__arrow--prev {
  background: url(../img/circle_arrow_prev.svg) no-repeat center / 100% auto;
  left: 24.8%;
}

.news__media-slider .splide__arrow--next {
  background: url(../img/circle_arrow_next.svg) no-repeat center / 100% auto;
  right: 24.8%;
}

/* 個別ページ */
.single-news__top {
  padding: 0 7.1875rem;
  margin-top: 15.625rem;
}

.single-news__top-date {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.08em;
  color: #333;
}

.single-news__top-ttl {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.02em;
  color: #333;
  margin-top: 1rem;
}

.single-news__top img {
  margin-top: 2rem;
}

.single-news__content {
  font-size: 1rem;
  line-height: 2.2;
  color: #333;
  padding: 0 7.1875rem;
  margin-top: 3.75rem;
}

.single-news__content p + p {
  margin-top: calc(1em * 2.2);
}

.single-news__under {
  text-align: center;
  border-top: 1px solid #888;
  padding-top: 2rem;
  margin-top: 5rem;
}

.single-news__link {
  font-size: 1rem;
  line-height: 1.6;
  display: inline-flex;
  align-items: center;
  gap: 0.875rem;
}

.single-news__link::before {
  content: "";
  display: inline-block;
  background: url(../img/circle_arrow_left_red.svg) no-repeat center / 1.625rem auto;
  width: 1.625rem;
  aspect-ratio: 1;
}


/* ==========================================================================
Recruit - 採用
=========================================================================== */
.recruit .container {
  padding-top: 5rem;
  margin: 0 auto;
  position: relative;
}

.body a.recruit__bnr {
  color: #fff;
  display: flex;
  align-items: center;
  gap: 1rem;
  background: #EC4E5B;
  border-radius: 0.25rem;
  padding: 1.0625rem 1.375rem 1.0625rem 1.25rem;
  position: fixed;
  right: 5rem;
  bottom: 2.5rem;
  z-index: 100;
}

.body a.recruit__bnr:hover {
  filter: brightness(0.8);
  opacity: 1;
}

.body a.recruit__bnr > img {
  border: 1px solid var(--Main);
  border-radius: 0.375rem;
  width: 6.625rem;
}

.recruit__bnr-ttl {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: underline;
}

.recruit__bnr-txt {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.3;
  margin-top: 0.9375rem;
}

.recruit__top {
  display: grid;
  grid-template-columns: 5rem 1fr 5rem;
  border-top: 1px solid var(--Main);
  border-bottom: 1px solid var(--Main);
}

.recruit__top-content {
  grid-column: 2;
  padding: 7.375rem 1.25rem 4.375rem;
  position: relative;
}

.recruit__top-img {
  display: flex;
  align-items: flex-end;
  gap: 1rem;
  position: absolute;
  top: 9.8125rem;
  left: 41.5625rem;
}

.recruit__top-img > img:nth-of-type(1) {
  width: 22.125rem;
}

.recruit__top-img > img:nth-of-type(2) {
  width: 14.0625rem;
  padding-bottom: 0.6875rem;
}

.recruit__top-catch {
  font-size: 3.75rem;
  font-weight: 800;
  line-height: 1.4;
  clip-path: inset(0% 100% 0% 0%);
}

.recruit__top-en {
  font-size: 0.875rem;
  line-height: 1.8;
  color: #979797;
  margin-top: 0.625rem;
}

.recruit__sliderSec {
  display: grid;
  grid-template-columns: 5rem 1fr;
}

.recruit__sliderWrap {
  grid-column: 2;
  border-left: 1px solid var(--Main);
}

.recruit__slider .splide__slide {
  background-repeat: no-repeat;
  background-position: 18% 46%;
  background-size: 86% auto;
  padding-top: 0.875rem;
  padding-bottom: 1.875rem;
}

.recruit__slider .splide__slide[data-color="red"] {
  background-image: url(../img/triangle_red.png);
}

.recruit__slider .splide__slide[data-color="blue"] {
  background-image: url(../img/triangle_blue.png);
}

.recruit__slider .splide__slide[data-color="yellow"] {
  background-image: url(../img/triangle_yellow.png);
}

.recruit__slider .splide__slide img {
  width: 100%;
}

.frame {
  display: grid;
  grid-template-columns: 5rem 1fr 5rem;
  border-top: 1px solid var(--Main);
}

.frame__left {
  grid-column: 1;
}

.frame__center {
  grid-column: 2;
  border-left: 1px solid var(--Main);
  border-right: 1px solid var(--Main);
}

.entry .frame__center {
  padding-bottom: 7.5rem;
}

.recruit__side {
  display: flex;
  justify-content: center;
  padding-top: 2.5rem;
}

.recruit__side-ttl {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.8;
  writing-mode: sideways-rl;
}

.recruitTtl {
  font-family: var(--font_Inter);
  font-size: 4.375rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.03em;
}

.body a.recruitBtn {
  font-weight: 800;
  line-height: 1;
  color: #fff;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: var(--Main);
  border-radius: 0.125rem;
}

/* intro */
.recruit__intro-content {
  display: grid;
  grid-template-columns: 38.75rem auto;
  grid-template-rows: auto auto;
}

.recruit__intro-catch {
  grid-column: 1;
  grid-row: 1;
  padding: 3.375rem 1.25rem 2.875rem;
}

.recruit__intro-catch p {
  font-size: 2.375rem;
  font-weight: 800;
  line-height: 1.6;
}

.recruit__intro-txt {
  grid-column: 1;
  grid-row: 2;
  border-top: 1px solid var(--Main);
  padding: 3.125rem 1.25rem 3.375rem;
}

.recruit__intro-txt p {
  font-size: 1.125rem;
  line-height: 1.6;
}

.recruit__intro-img {
  display: flex;
  align-items: center;
  justify-content: center;
  grid-column: 2;
  grid-row: 1 / 3;
  border-left: 1px solid var(--Main);
  position: relative;
}

/* Benefits */
.recruit__benefits .recruit__side {
  background: #FFEAEC;
}

.recruit__benefits-content {
  padding: 3.125rem 1.25rem 5rem;
}

.recruit__benefits-list {
  display: flex;
  gap: 1.75rem;
  margin-top: 3.125rem;
}

.recruit__benefits-list-item {
  width: calc((100% - 1.75rem * 2) / 3);
}

.recruit__benefits-list-item img {
  border: 1px solid var(--Main);
  border-radius: 0.25rem;
}

.recruit__benefits-list-item-ttl {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.8;
  margin-top: 0.75rem;
}

.recruit__benefits-list-item-ttl span {
  display: inline-block;
  background: linear-gradient(transparent 60%, #F9AFB6 60% 100%, transparent 100%);
  padding-left: 1px;
  padding-right: 0.5rem;
}

.recruit__benefits-list-item-txt {
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 0.625rem;
}

/* Schedule */
.recruit__schedule .recruit__side {
  background: #EFF9FE;
}

.recruit__schedule-content {
  padding: 3.125rem 1.25rem 5rem;
  position: relative;
}

.recruit__schedule-txt {
  font-size: 1rem;
  line-height: 1.6;
  position: absolute;
  top: 4.75rem;
  right: 1.25rem;
}

.recruit__schedule .tab {
  margin-top: 3.125rem;
}

.tab__content-box {
  display: none;
}

.tab__content-box.is-show {
  display: block;
}

.recruit__schedule .tab__menu {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.recruit__schedule .tab__menu-item {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: #AEDCF1;
  border-top: 2px solid var(--Main);
  border-right: 2px solid var(--Main);
  border-left: 2px solid var(--Main);
  border-radius: 0.25rem 0.25rem 0 0;
  width: 13rem;
  height: 3.625rem;
  cursor: pointer;
}

.recruit__schedule .tab__menu-item.is-active {
  color: #fff;
  background: #00A0E9;
}

.recruit__schedule .tab__content {
  border: 2px solid var(--Main);
  border-radius: 0 0.625rem 0.625rem 0.625rem;
  padding: 3.4375rem 2.8125rem 3.125rem 2.125rem;
  position: relative;
}

.recruit__schedule .tab__content-box img {
  width: 12.125rem;
  height: auto;
  position: absolute;
  right: 2.8125rem;
  bottom: 1.75rem;
}

.recruit__schedule-timeline {
  display: flex;
  gap: 3.375rem;
  align-items: flex-start;
}

.recruit__schedule-timeline-dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.5rem 0;
  padding-left: 2.375rem;
  padding-bottom: 1.75rem;
  position: relative;
}

.recruit__schedule-timeline-dl:nth-of-type(n+2) {
  padding-top: 1rem;
}

.recruit__schedule-timeline-dl:first-of-type {
  padding-top: 0;
}

.recruit__schedule-timeline-dl:last-of-type {
  padding-bottom: 0;
}

.recruit__schedule-timeline-dl::before {
  content: "";
  display: inline-block;
  background: #BABFC2;
  height: 100%;
  width: 0.125rem;
  position: absolute;
  top: 0;
  left: 0.5625rem;
  z-index: -1;
}

.recruit__schedule-timeline-dl:first-of-type::before {
  height: calc(100% - 0.625rem);
  top: auto;
  bottom: 0;
}

.recruit__schedule-timeline-dl:last-of-type::before {
  height: calc(100% - 0.625rem);
}

.recruit__schedule-timeline-time {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: calc(1.25rem * 1.4);
  color: #007BB3;
  flex-shrink: 0;
  width: 4.5rem;
  position: relative;
}

.recruit__schedule-timeline-time::before {
  content: "";
  display: inline-block;
  background: #38ACE1;
  border-radius: 50%;
  width: 1.25rem;
  aspect-ratio: 1;
  position: absolute;
  top: 0.2em;
  left: -2.375rem;
}

.recruit__schedule-timeline-desc {
  width: 18.75rem;
}

.recruit__schedule-timeline-dl:first-of-type .recruit__schedule-timeline-desc {
  width: 20.625rem;
}

.recruit__schedule-timeline-desc-ttl {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
}

.recruit__schedule-timeline-desc-txt {
  font-size: 1rem;
  line-height: 1.6;
  margin-top: 0.625rem;
}

/*crosstalk */
.recruit__crosstalk .recruit__side {
  background: #FCFBE8;
}

.recruit__crosstalk-content {
  padding: 3.125rem 1.25rem 5rem;
}

.recruit__crosstalk-flex {
  display: flex;
  justify-content: space-between;
  margin-top: 0.3125rem;
}

.recruit__crosstalk-txt {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.8;
  margin-top: 4.875rem;
}

.recruit__crosstalk a.recruitBtn {
  width: 13.5rem;
  padding: 1.25rem 0;
  margin-top: 7.25rem;
}

.recruit__crosstalk-flex > img {
  width: 48.125rem;
}

/* Us in Numbers */
.recruit__numbers .recruit__side {
  background: #F3F3F3;
}

.recruit__numbers .recruitTtl {
  margin: 3.125rem 0 2.5rem 1.25rem;
}

.recruit__numbers-grid01 {
  display: grid;
  grid-template-columns: 18.625rem 26.4375rem 1fr;
  border-top: 1px solid var(--Main);
}

.recruit__numbers-grid02 {
  display: grid;
  grid-template-columns: 23.875rem 21.1875rem 16.625rem 1fr;
  border-top: 1px solid var(--Main);
}

.recruit__numbers-grid-item {
  padding-top: 1.75rem;
  padding-bottom: 2.25rem;
}

.recruit__numbers-grid-item:nth-of-type(n+2) {
  border-left: 1px solid var(--Main);
}

.recruit__numbers-grid-item-ttl {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
}

.recruit__numbers-grid-item-mf {
  display: flex;
  gap: 2.25rem;
  margin-top: 0.5625rem;
  margin-left: 2.125rem;
}

.recruit__numbers-grid-item-mf-wrap {
  display: flex;
  align-items: flex-end;
  gap: 1.625rem;
}

.recruit__numbers-grid-item-mf img {
  width: 6.25rem;
}

.recruit__numbers-grid-item-mf-ttl {
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1;
  margin-left: 0.25rem;
}

.recruit__numbers-grid-item-txt {
  display: flex;
  align-items: baseline;
}

.recruit__numbers-grid-item-mf .recruit__numbers-grid-item-txt {
  gap: 0.6em;
}

.recruit__numbers-grid-item-txt-num {
  font-size: 3rem;
  font-weight: 800;
  line-height: 1.8;
  letter-spacing: 0.03em;
  display: inline-block;
}

.recruit__numbers-grid-item-txt-unit {
  font-size: 1.875rem;
  font-weight: 800;
  line-height: 1.8;
  letter-spacing: 0.03em;
  display: inline-block;
}

.recruit__numbers-grid-item-inex {
  display: flex;
  gap: 1.875rem;
  margin-top: 2.1875rem;
  margin-left: 2.0625rem;
}

.recruit__numbers-grid-item-inex img {
  width: 8.3125rem;
}

.recruit__numbers-grid-item-inex .recruit__numbers-grid-item-txt {
  margin-top: 2.6875rem;
}

.recruit__numbers-grid-item-holiday {
  display: flex;
  align-items: flex-end;
  gap: 1.25rem;
  margin-top: 2.0625rem;
  margin-left: 1.25rem;
}

.recruit__numbers-grid-item-holiday img {
  width: 7.75rem;
}

.recruit__numbers-grid-item-holiday .recruit__numbers-grid-item-txt {
  margin-top: 1.25rem;
}

.recruit__numbers-grid-item-pto {
  display: flex;
  align-items: flex-end;
  gap: 2.1875rem;
  margin-top: 1.9375rem;
  margin-left: 2.4375rem;
}

.recruit__numbers-grid-item-pto img {
  width: 8.125rem;
}

.recruit__numbers-grid-item-txt-note {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  margin-left: 0.375rem;
}

.recruit__numbers-grid-item-hours {
  display: flex;
  align-items: flex-start;
  gap: 0.8125rem;
  margin-top: 1.6875rem;
  margin-left: 1.75rem;
}

.recruit__numbers-grid-item-hours img {
  width: 8.25rem;
}

.recruit__numbers-grid-item-hours .recruit__numbers-grid-item-txt {
  margin-top: 3.1875rem;
}

.recruit__numbers-grid-item-years {
  display: flex;
  align-items: flex-start;
  gap: 0.8125rem;
  margin-top: 1.6875rem;
  margin-left: 1.4375rem;
}

.recruit__numbers-grid-item-years img {
  width: 7.1875rem;
}

.recruit__numbers-grid-item-years .recruit__numbers-grid-item-txt {
  margin-top: 3.1875rem;
}

.recruit__numbers-grid-item-founding {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.recruit__numbers-grid-item-founding::before {
  content: "";
  display: inline-block;
  background: url(../img/recruit_numbers_emblem.png) no-repeat center / 100% auto;
  width: 14.8125rem;
  height: 11.75rem;
  position: absolute;
  top: 0.375rem;
  left: 1.25rem;
}

.recruit__numbers-grid-item-founding .recruit__numbers-grid-item-txt {
  margin-top: 3.375rem;
}

/* Job Description */
.recruit__desc-sliderWrap {
  border-top: 1px solid var(--Main);
  padding: 2.5rem 0;
}
.recruit__desc-slider .splide__slide p {
  font-size: 5rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #444;
}

.recruit__desc-slider .splide__slide img {
  width: 6.25rem;
  height: auto;
  margin-top: 0.375rem;
}

.recruit__desc-content {
  padding: 3.125rem 1.25rem 5rem;
}

.recruit__desc-dl {
  display: grid;
  grid-template-columns: 14.75rem 1fr;
  border: 1px solid var(--Main);
  width: 62.75rem;
  margin: 3.125rem auto 0;
}

.recruit__desc-dl dt {
  font-weight: 700;
  line-height: 1.6;
  display: flex;
  align-items: center;
  background: #FFD8DB;
  padding: 1.125rem 1.75rem;
}

.recruit__desc-dl dd {
  line-height: 1.6;
  border-left: 1px solid var(--Main);
  padding: 1.125rem 1.75rem;
}

.recruit__desc-dl dt:nth-of-type(n+2),
.recruit__desc-dl dd:nth-of-type(n+2) {
  border-top: 1px solid var(--Main);
}

.recruit__desc-dl dd small {
  font-size: 0.875rem;
}

/* Info */
.recruit__info-content {
  background: #F6F6F6;
}

.recruit__info-grid {
  display: grid;
  grid-template-columns: 21.375rem 1fr 1fr 1fr;
  border-top: 1px solid var(--Main);
}

.recruit__info-grid-ttl {
  grid-column: 1 / -1;
  font-family: var(--font_Inter);
  font-size: 3.125rem;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  border-bottom: 1px solid var(--Main);
  padding: 0.75rem;
}

.recruit__info-grid-desc {
  padding: 3.75rem 1.25rem;
}

.recruit__info-grid-desc-ttl {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.8;
}

.recruit__info-grid-desc-txt {
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 0.875rem;
}

.recruit__info-grid01 .recruit__info-grid-item {
  grid-column: span 3;
  display: flex;
  align-items: center;
  gap: 5.3125rem;
  border-left: 1px solid var(--Main);
  padding: 3.125rem 0 3.125rem 4rem;
}

.recruit__info-grid-item-flex {
  display: flex;
  align-items: center;
  gap: 1.75rem;
}

.recruit__info-grid01 .recruit__info-grid-item img {
  width: 8.9375rem;
}

.recruit__info-grid02 .recruit__info-grid-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  border-left: 1px solid var(--Main);
  padding: 1.875rem 0 1rem;
}

.recruit__info-grid02 .recruit__info-grid-item:nth-of-type(2) img {
  width: 9.4375rem;
  margin-top: 2.0625rem;
}

.recruit__info-grid02 .recruit__info-grid-item:nth-of-type(3) img {
  width: 8.8125rem;
  margin-top: 1rem;
}

.recruit__info-grid02 .recruit__info-grid-item:nth-of-type(4) img {
  width: 13.125rem;
  margin-top: 1.9375rem;
}

.recruit__info-grid01 .recruit__info-grid-item-ttl {
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.8;
  display: inline-block;
  background: linear-gradient(transparent 60%, #F9AFB6 60% 90%, transparent 90%);
  padding: 0 0.25rem;
}

.recruit__info-grid02 .recruit__info-grid-item-ttl {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.8;
  color: #00A0E9;
}

.recruit__info-grid-item-txt {
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 1.625rem;
}


/* Flow */
.recruit__flow-content {
  padding: 3.125rem 1.25rem 5rem;
}

.recruit__flow-list {
  display: flex;
  justify-content: center;
  gap: 0.625rem;
  margin-top: 3.125rem;
}

.recruit__flow-list-item {
  width: 13.25rem;
  padding-top: 5.375rem;
  position: relative;
}

.recruit__flow-list-item::before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 14.4375rem;
  aspect-ratio: 231 / 76;
  position: absolute;
  top: 0;
  left: 0;
}

.recruit__flow-list-item:nth-of-type(1)::before {
  background-image: url(../img/recruit_flow_step01_pc.png);
}

.recruit__flow-list-item:nth-of-type(2)::before {
  background-image: url(../img/recruit_flow_step02_pc.png);
  left: -0.125rem;
}

.recruit__flow-list-item:nth-of-type(3)::before {
  background-image: url(../img/recruit_flow_step03_pc.png);
  left: -0.25rem;
}

.recruit__flow-list-item:nth-of-type(4)::before {
  background-image: url(../img/recruit_flow_step04_pc.png);
  left: -0.375rem;
}

.recruit__flow-list-item:nth-of-type(5)::before {
  background-image: url(../img/recruit_flow_step05_pc.png);
  left: -0.5rem;
}

.recruit__flow-list-item-box {
  background: #F7F7F7;
  border-radius: 0.375rem;
  height: 100%;
  padding: 1.5rem 1.5rem 2.5rem;
}

.recruit__flow-list-item-box-ttl {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.03em;
}

.recruit__flow-list-item-box-txt {
  font-size: 1rem;
  line-height: 1.6;
  margin-top: 0.625rem;
}

/* エントリーパーツ */
.recruit__entry {
  background: #F6F6F6;
  border-top: 1px solid var(--Main);
  position: relative;
  z-index: 0;
}

.recruit__entry-content {
  grid-column: 2;
  display: grid;
  grid-template-columns: 1fr 33.375rem 1fr;
}

.recruit__entry-img {
  height: 19.375rem;
  position: relative;
  perspective: 6000px;
  z-index: -1;
}

.recruit__entry-img > div {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  background-repeat: no-repeat;
  background-position: 42% 50%;
  background-size: auto 80%;
  background-color: #F6F6F6;
  width: 100%;
  height: 100%;
  padding-bottom: 1.875rem;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  backface-visibility: hidden;
  transition: transform 0.2s ease-in-out;
}

.recruit__entry-img:nth-of-type(1) {
  grid-column: 1;
  grid-row: 1;
}

.recruit__entry-img:nth-of-type(1) > div {
  background-image: url(../img/triangle_blue.png);
}

.recruit__entry-img:nth-of-type(2) {
  grid-column: 3;
  grid-row: 1;
}

.recruit__entry-img:nth-of-type(2) > div {
  background-image: url(../img/triangle_red.png);
}

.recruit__entry-img:nth-of-type(4) {
  grid-column: 1;
  grid-row: 2;
  border-top: 1px solid var(--Main);
}

.recruit__entry-img:nth-of-type(4) > div {
  background-image: url(../img/triangle_red.png);
}

.recruit__entry-img:nth-of-type(5) {
  grid-column: 3;
  grid-row: 2;
  border-top: 1px solid var(--Main);
}

.recruit__entry-img:nth-of-type(5) > div {
  background-image: url(../img/triangle_yellow.png);
}

.recruit__entry-img img {
  width: auto;
  height: 90%;
}

.anim-flip {
  animation: flipLoop 2s infinite ease-in-out;
  position: relative;
}

.anim-flip > .front,
.anim-flip > .back {
  transition-timing-function: cubic-bezier(.175, .885, .32, 1.275);
  transition-duration: .4s;
  transition-property: transform, opacity;
}

.anim-flip > .front {
  transform: rotateY(0deg);
}

.anim-flip > .back {
  opacity: 0;
  transform: rotateY(-180deg);
}

.anim-flip.flipped .front {
  transform: rotateY(180deg);
}

.anim-flip.flipped .back {
  opacity: 1;
  transform: rotateY(0deg);
}

.recruit__entry-message {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 3.5rem;
  grid-column: 2;
  grid-row: 1 / 3;
  border-left: 1px solid var(--Main);
  border-right: 1px solid var(--Main);
}

.recruit__entry-message p {
  font-size: 2.875rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.recruit__entry-message a.recruitBtn {
  font-size: 2rem;
  font-weight: 800;
  color: #fff;
  width: 23.75rem;
  padding: 1rem 0;
}


/* ==========================================================================
Crosstalk - 対談
=========================================================================== */
/* アーカイブ */
.archive__top {
  padding-top: 5rem;
  padding-left: 1.25rem;
}

.archive__top-ttl {
  font-family: var(--font_Inter);
  font-size: 5.625rem;
  font-weight: 600;
  line-height: 1.3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.125rem;
}

.archive__top-ttl::after {
  content: attr(data-ja);
  font-family: var(--font_ja);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.8;
}

.crosstalk__blank {
  border-top: 0;
  height: 4.875rem;
}

.crosstalk__contents {
  display: flex;
  justify-content: space-between;
  row-gap: 5rem;
  flex-wrap: wrap;
  padding: 0 2.25rem 6.25rem;
  margin-top: 7.5rem;
}

.crosstalk__contents-item {
  width: 35.25rem;
}

.crosstalk__contents-item-catch {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.625rem;
  margin-top: 1.25rem;
}

.crosstalk__contents-item-catch span {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  display: inline-flex;
  align-items: center;
  background: #EC4E5B;
  border: 1px solid #000;
  border-radius: 0.3125rem;
  height: 2.8125rem;
  padding: 0 1rem;
}

.crosstalk__topInterview {
  background: #505050;
}

.crosstalk__topInterview .frame {
  border-top: none;
}

.crosstalk__topInterview .frame__center {
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
  padding: 4.5rem 1.25rem 5rem;
}

.crosstalk__topInterview-heading {
  display: flex;
  justify-content: space-between;
}

.crosstalk__topInterview-heading-ttl {
  font-family: var(--font_Inter);
  font-size: 4.375rem;
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
}

.crosstalk__topInterview-heading-txt {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.8;
  color: #fff;
  margin-top: 1.375rem;
}

.crosstalk__topInterview-img {
  width: 57.75rem;
  margin: 2.8125rem auto 0;
  transition: all 0.3s;
  position: relative;
}

.crosstalk__topInterview-img:hover {
  opacity: 0.6;
}

.crosstalk__topInterview-img a {
  display: contents;
}

.crosstalk__topInterview-img-catch {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
  position: absolute;
  bottom: 0.9375rem;
  left: 2.5rem;
}

.crosstalk__topInterview-img-catch span {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  display: inline-flex;
  align-items: center;
  background: #EC4E5B;
  border: 1px solid #000;
  border-radius: 0.3125rem;
  height: 3.5rem;
  padding: 0 0.875rem;
}

/* 個別ページ */
.single-crosstalk .container {
  padding-top: 5rem;
}

.single-crosstalk .frame__center:not(.recruit__entry-content) {
  padding-top: 5rem;
  padding-bottom: 7.5rem;
}

.single-crosstalk__top-img {
  width: 58rem;
  margin: 0 auto;
  position: relative;
}

.single-crosstalk__top-img-catch {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.625rem;
  position: absolute;
  bottom: 1.5rem;
  left: 2.75rem;
}

.single-crosstalk__top-img-catch span {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  display: inline-flex;
  align-items: center;
  background: #EC4E5B;
  border: 0.0625rem solid #000;
  border-radius: 0.3125rem;
  height: 3rem;
}

.single-crosstalk__top-img-catch span:nth-of-type(1) {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.single-crosstalk__top-img-catch span:nth-of-type(2) {
  padding-left: 1rem;
  padding-right: 1.875rem;
}

.single-crosstalk__top-member {
  display: flex;
  justify-content: center;
  gap: 4rem;
  margin-top: 2.5rem;
}

.single-crosstalk__top-member:has(> :only-child) {
  justify-content: flex-start;
  padding: 0 calc((100% - 58rem) / 2);
}

.single-crosstalk__top-member-item {
  display: flex;
  align-items: flex-start;
  gap: 1.75rem;
}

.single-crosstalk__top-member-item img {
  width: 5.5rem;
  aspect-ratio: 1;
  border-radius: 50%;
}

.single-crosstalk__top-member-item-name {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.8;
}

.single-crosstalk__top-member-item-txt {
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 0.75rem;
}

.single-crosstalk__content {
  padding-top: 7.5rem;
  position: relative;
}

.single-crosstalk__menu {
  display: inline-block;
  background: #E7EEF5;
  border: 1px solid var(--Main);
  border-radius: 0.625rem;
  width: 18.75rem;
  padding: 1.875rem 1.5rem;
  position: absolute;
  top: 7.5rem;
  left: 1.25rem;
}

.single-crosstalk__menu-nav {
  display: grid;
  grid-template-rows: 2rem;
  gap: 1.375rem;
}

.single-crosstalk__menu-nav a {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.8;
  background: url(../img/ttl_img.png) no-repeat 0% 0.55em / 1.125rem auto;
  padding-left: 2.125rem;
}

.single-crosstalk__content-wrap {
  width: 54.75rem;
  margin-left: auto;
}

.single-crosstalk__content-wrap h2 {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.8;
  color: var(--Accent);
  border-bottom: 1px solid #1C1C1C;
  padding-top: 3.75rem;
  padding-bottom: 0.75rem;
}

.single-crosstalk__content-wrap h2:first-of-type {
  margin-top: -3.75rem;
}

/* .single-crosstalk__content-wrap * + h2 {
  padding-top: 3.75rem;
} */

.single-crosstalk__content-wrap h2 + * {
  margin-top: 2.125rem;
}

.single-crosstalk__content-wrap p {
  font-size: 1.125rem;
  line-height: 1.8;
}

.single-crosstalk__content-wrap dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2.375rem 3.625rem;
  margin-top: 2.5rem;
}

.single-crosstalk__content-wrap dl dt {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.8;
}

.single-crosstalk__content-wrap dl dd {
  font-size: 1rem;
  line-height: 1.8;
  width: 45.4375rem;
}

.single-crosstalk .recruit__entry {
  border-top: none;
}

.single-crosstalk__link {
  text-align: center;
  margin-top: 6.25rem;
}

.single-crosstalk__link a {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
  display: inline-flex;
  align-items: center;
  gap: 0.875rem;
}

.single-crosstalk__link a::before {
  content: "";
  display: inline-block;
  background: url(../img/circle_arrow_left_black.svg) no-repeat center / 100% auto;
  width: 1.625rem;
  aspect-ratio: 1;
}

/* Top Interview */
.single-crosstalk.postid-143 .frame__center:not(.recruit__entry-content),
.single-crosstalk.postid-168 .frame__center:not(.recruit__entry-content),
.single-crosstalk.postid-22130 .frame__center:not(.recruit__entry-content) {
  padding: 0 1.25rem 7.5rem;
}

.topInterview__top {
  position: relative;
}

.topInterview__top img {
  width: 50.6875rem;
}

.topInterview__top-catch {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.625rem;
  position: absolute;
  bottom: 5.875rem;
  left: 40.625rem;
}

.topInterview__top-catch span {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  display: inline-flex;
  align-items: center;
  background: #EC4E5B;
  border: 0.0625rem solid #000;
  border-radius: 0.3125rem;
  height: 3.5rem;
  padding: 0 0.875rem;
}

.topInterview__top-profile {
  line-height: 1;
  display: flex;
  align-items: baseline;
  gap: 1.375rem;
  position: absolute;
  bottom: 0;
  left: 52.5rem;
}

.topInterview__top-profile-position {
  font-size: 1.125rem;
  line-height: 1.625rem;
}

.topInterview__top-profile-name {
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 2.5rem;
  letter-spacing: 0.03em;
}

.topInterview__content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 7.5rem;
}

.topInterview__content--reverse {
  flex-direction: row-reverse;
}

.topInterview__conten + .topInterview__content {
  margin-top: 6.25rem;
}

.topInterview__content-wrap {
  width: 41.25rem;
}

.topInterview__content-wrap h2 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.8;
  color: var(--Accent);
}

.topInterview__content-wrap h2 + * {
  margin-top: 1.25rem;
}

.topInterview__content-wrap * + h2 {
  margin-top: 2.5rem;
}

.topInterview__content-wrap p {
  font-size: 1rem;
  line-height: 1.8;
}

.topInterview__content img {
  width: 28rem;
}

.topInterview__content--reverse img {
  width: 32.1875rem;
}


/* ==========================================================================
フッター
=========================================================================== */
/* 採用情報  */
.footerRecruit {
  background: #505050;
  padding: 5rem 0;
  margin-top: 7.5rem;
}

.home .footerRecruit {
  margin-top: 0;
}

.footerRecruit-heading {
  display: flex;
  justify-content: space-between;
}

.footerRecruit-heading .ttl {
  color: #fff;
}

.footerRecruit-heading-txt {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.8;
  color: #fff;
  margin-top: 2.375rem;
}

.footerRecruit-img {
  display: block;
  background: url(../img/footerRecruit_img_pc.png) no-repeat center / cover;
  border-radius: 0.25rem;
  aspect-ratio: 1080 / 422;
  margin-top: 2.8125rem;
  transition: all 0.3s;
  position: relative;
}

.footerRecruit-img:hover {
  opacity: 0.6;
}

.footerRecruit-img a {
  display: contents;
}

.footerRecruit-img-catch {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  position: absolute;
  bottom: 3.5rem;
  left: 3.75rem;
}

.footerRecruit-img-catch span {
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1;
  color: #fff;
  display: inline-flex;
  align-items: center;
  background: #EC4E5B;
  border: 1px solid #000;
  height: 3.25rem;
  padding: 0 0.625rem;
}

/* お問い合わせ */
.footerContact {
  padding-top: 7rem;
  padding-bottom: 8rem;
  position: relative;
}

.footerContact__box {
  background: rgba(243, 245, 247, 0.9);
  border-radius: 2.5rem;
  box-shadow: 0.875rem 0.875rem 0 0 rgba(0, 0, 0, 0.1);
  padding: 3.375rem 0;
}

.footerContact__box .ttl {
  align-items: center;
}

.footerContact__box .ttl::before {
  transform: translateX(-1rem);
}

.footerContact__box-txt {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.7;
  text-align: center;
  display: flex;
  justify-content: center;
  margin-top: 1.5rem;
}

.footerContact__box-txt p {
  display: inline-block;
}

.footerContact__box-links {
  display: flex;
  justify-content: center;
  gap: 9.375rem;
  margin-top: 3.375rem;
}

.body a.footerContact__box-links-btn {
  font-family: var(--font_WorkSans);
  font-size: 1.875rem;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--Accent);
  border-radius: 0.625rem;
  width: 22.375rem;
  height: 5.25rem;
}

.body a.footerContact__box-links-btn::before {
  content: "";
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.375rem auto;
  background-color: #fff;
  border-radius: 50%;
  width: 1.875rem;
  aspect-ratio: 1;
  margin-right: 1.25rem;
}

.body a.footerContact__box-links-btn--mail::before {
  background-image: url(../img/mail_icon.svg);
}

.body a.footerContact__box-links-btn--tel::before {
  background-image: url(../img/tel_icon.svg);
}

.body a.footerContact__box-links-btn span {
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
  margin-left: 1.5625rem;
}

.footerContact__triangle {
  display: inline-block;
  aspect-ratio: 1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  position: absolute;
  z-index: -1;
}

.footerContact__triangle01 {
  background-image: url(../img/footerContact_triangle_red_01.png);
  width: 5.1875rem;
  top: 65.24%;
  left: 8.1875rem;
}

.footerContact__triangle02 {
  background-image: url(../img/footerContact_triangle_blue01.png);
  width: 7.5rem;
  top: 5.15%;
  left: 19.5625rem;
}

.footerContact__triangle03 {
  background-image: url(../img/footerContact_triangle_blue02.png);
  width: 10.9375rem;
  top: 63.05%;
  right: 16.6875rem;
}

.footerContact__triangle04 {
  background-image: url(../img/footerContact_triangle_yellow.png);
  width: 8.875rem;
  top: 25.78%;
  right: -3rem;
}

.footerContact__triangle02.anim-fluffy {
  animation-delay: 0.9s;
}

.footerContact__triangle03.anim-fluffy {
  animation-delay: 0.3s;
}

.footerContact__triangle04.anim-fluffy {
  animation-delay: 0.6s;
}

/* フッター */
.footer {
  background: #F3F5F7;
  border-radius: 3.125rem 3.125rem 0 0;
}

.recruit .footer,
.crosstalk .footer,
.entry .footer,
.single-crosstalk .footer {
  color: #fff;
  background: #1C1C1C;
  border-radius: 0;
}

.footer__inner {
  width: 77.5rem;
  margin: 0 auto;
}

.footer__grid {
  display: grid;
  grid-template-columns: auto 1fr auto;
  grid-template-rows: repeat(2, auto);
  padding: 3.125rem 5.625rem 4.625rem 5.9375rem;
}

.footer__logo {
  grid-column: 1;
  grid-row: 1;
  width: 12.375rem;
}

.footer__info {
  grid-column: 1;
  grid-row: 2;
  font-size: 0.9375rem;
  font-weight: 500;
  margin-top: 1rem;
}

.recruit .footer a,
.crosstalk .footer a,
.entry .footer a,
.single-crosstalk .footer a {
  color: #fff;
}

.footer__tel {
  display: flex;
  gap: 1.125rem;
}

.footer__copyright {
  font-size: 0.75rem;
  line-height: 1.17;
  margin-top: 0.9375rem;
}

.footer__copyright small {
  font-size: 0.75rem;
  line-height: 1.17;
}

.footer__nav {
  grid-column: 3;
  grid-row: 1 / 3;
}

.footer__nav .menu {
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: repeat(2, auto);
  grid-template-rows: repeat(4, 1.375rem);
  gap: 1.375rem 5.125rem;
}

.footer__nav .menu > li {
  font-size: 0.9375rem;
  line-height: 1.375rem;
}

/* .footer__nav .menu > li:last-of-type {
  grid-row-end: span 2;
} */

.footer__nav .menu a {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.375rem;
  letter-spacing: 1.3008px;
}

.recruit .footer__nav .menu a,
.crosstalk .footer__nav .menu a,
.entry .footer__nav .menu a,
.single-crosstalk .footer__nav .menu a {
  color: #fff;
}

.footer__contact {
  display: flex;
  justify-content: end;
  align-items: center;
  gap: 2.75rem;
  border-top: 1px solid #C1C1C1;
  padding: 1.375rem 5rem;
}

.footer__contact-sns {
  display: flex;
  align-items: flex-end;
  gap: 0.625rem;
}

.footer__contact-sns a {
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.footer__contact-sns a[data-type="fb"] {
  background-image: url(../img/facebook_icon.png);
  width: 2.5rem;
  aspect-ratio: 1;
}

.footer__contact-sns a[data-type="yt"] {
  background-image: url(../img/youtube_icon.png);
  width: 2.75rem;
  aspect-ratio: 44 / 38;
}

.footer__contact-wrap {
  display: inline-flex;
  gap: 1.625rem;
}

.footer__contact a.btn {
  font-weight: 700;
  width: 9.75rem;
  height: 2.625rem;
}

.footer__contact a.btn--contact {
  font-size: 0.875rem;
  color: var(--Accent);
  padding-right: 2rem;
}

.footer__contact a.btn--contact:hover {
  color: #fff;
}

.footer__contact a.btn--recruit {
  font-size: 1rem;
}

.footer__contact a.btn::after {
  font-size: 0.625rem;
  width: 1.625rem;
}


/* ==========================================================================
404
=========================================================================== */
.error404__content {
  text-align: center;
  padding: 7.5rem 0 0;
}

.error404__ttl {
  font-size: 2.5rem;
}

.error404__message-ttl {
  font-size: 1rem;
}

.error404__message-txt {
  font-size: 0.75rem;
}

.error404__content a.btn {
  margin-top: 2.5rem;
  margin-left: auto;
  margin-right: auto;
}