@charset "utf-8";

/*
Theme Name: フィナーレ
Author: FiNALE
*/

/* ====================================
  reset.css
==================================== */

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

ul,
ol {
  list-style: none;
}

a {
  text-decoration: none;
  color: inherit;
}

img,
video {
  display: block;
  max-width: 100%;
  height: auto;
}

input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
  background-color: transparent;
  border: none;
  outline: none;
  border-radius: 0;
}

article,
aside,
footer,
header,
nav,
section {
  display: block;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* body はリセット目的として margin のみ削除 */
body {
  margin: 0;
}

/* ====================================
  CSS Custom Properties（変数定義）
==================================== */
:root {
  /* Color */
  --black: #000;
  --white: #fff;
  --gray: #888;
  --gray-light: #a3a3a3;
  --gray-dark: #4e4e4e;

  /* Font */
  --font-base: "Noto Sans JP", sans-serif;
  --font-secondary: "Roboto", sans-serif;
  --font-zen: "Zen Kurenaido", sans-serif;

  /* Font Weight */
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-black: 900;

  /* Breakpoints */
  --breakpoint-sm: 600px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1400px;

  /* Inner */
  --inner-width-canvas: 1920px;
  --inner-width-container: 1152px;
  --inner-width-sp: 600px;

  /* Padding */
  --pd-sp: 20px;
  --pd-pc: 64px;

  /* Font Size */
  --fz-root: 16px;
}

/* ====================================
  Clamp Font System
==================================== */
*,
::before,
::after {
  --clamp-root-font-size: 16;
  --clamp-slope: calc(
    (var(--clamp-max) - var(--clamp-min)) /
      (var(--clamp-viewport-max) - var(--clamp-viewport-min))
  );
  --clamp-y-axis-intersection: calc(
    var(--clamp-min) - (var(--clamp-slope) * var(--clamp-viewport-min))
  );
  --clamp-preffered-value: calc(
    var(--clamp-y-axis-intersection) * (1rem / var(--clamp-root-font-size)) +
      (var(--clamp-slope) * 100vi)
  );
  --clamp: clamp(
    calc(var(--clamp-min) * (1rem / var(--clamp-root-font-size))),
    var(--clamp-preffered-value),
    calc(var(--clamp-max) * (1rem / var(--clamp-root-font-size)))
  );

  font-size: var(--clamp);
}

/* ====================================
  Base Styles（HTMLタグの初期スタイル）
==================================== */
html {
  font-size: 16px;
  scroll-behavior: smooth;
  scroll-padding-top: 160px;
}

body {
  /* clamp システムのデフォルト値（メインコンテナ1200px基準） */
  --clamp-viewport-min: 375;
  --clamp-viewport-max: 1152; /* --inner-width-container */
  --clamp-min: 16;
  --clamp-max: 16;

  font-family: var(--font-base);
  font-size: var(--clamp);
  font-weight: var(--fw-regular);
  line-height: 1.5;
  color: var(--white);
  background-color: var(--black);
  -webkit-font-smoothing: antialiased;
}

/* フォーム要素：iOSのズーム防止のため16px固定 */
input,
textarea,
select {
  font-size: var(--fz-root); /* 16px固定 */
  font-family: inherit;
  color: inherit;
}

/* ボタン：clampシステムを適用 */
button {
  font-size: var(--clamp);
  font-family: inherit;
  color: inherit;
  cursor: pointer;
}

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

iframe {
  max-width: 100%;
}

a,
a:visited {
  text-decoration: none;
  color: inherit;
}

table {
  width: 100%;
  border-collapse: collapse;
}

/* ====================================
  全体Layout
==================================== */
body {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}

@media (scripting: enabled) {
  body.fadeIn {
    opacity: 0;
  }
}

main {
  flex: 1;
}

footer {
  margin-top: auto;
}

/* ====================================
  Utility
==================================== */
.u-onlyPc {
  display: block;
}

.u-onlySp {
  display: none;
}

@media screen and (max-width: 767px) {
  .u-onlyPc {
    display: none;
  }

  .u-onlySp {
    display: block;
  }
}

/* ====================================
  アニメーション関連
==================================== */
@media (scripting: enabled) {
  .js-clipView {
    clip-path: inset(0 100% 0 0);
    transition: clip-path 0.8s ease;
  }
}

.js-clipView.is-active {
  clip-path: inset(0 0 0 0);
}

/* ====================================
  共通パーツ
==================================== */
/* Section Title */
.c-section-title {
  --clamp-min: 56;
  --clamp-max: 80;
  font-weight: var(--fw-bold);
  font-family: var(--font-secondary);
  line-height: 1.1;
  text-transform: capitalize;
}

/* More Button */
.c-more-button {
  --clamp-min: 16;
  --clamp-max: 20;
  font-family: var(--font-secondary);
  line-height: 1.1;
  text-transform: capitalize;
  display: inline-block;
  position: relative;
  padding-right: 2.125rem; /* 34px / 16px */
}

.c-more-button::after {
  content: "";
  position: absolute;
  background-image: url(/wp-content/themes/finale/assets/img/common/arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right center;
  width: 26px;
  height: 4px;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}

@media (any-hover: hover) {
  .c-more-button:hover::after {
    transform: translate(5px, -50%);
  }
}

/* Lower Title */
.p-lower-title {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 5.5rem; /* 88px / 16px */
}

@media screen and (max-width: 767px) {
  .p-lower-title {
    flex-direction: column;
    align-items: flex-start;
    gap: 2.5rem; /* 40px / 16px */
  }
}

.p-lower-title__title {
  --clamp-min: 56;
  --clamp-max: 80;
  font-weight: var(--fw-black);
  font-family: var(--font-secondary);
  line-height: 1.1;
  text-transform: capitalize;
}

.p-lower-title__text-block {
  width: 57.7%; /* 665px / 1152px * 100% */
}

@media screen and (max-width: 767px) {
  .p-lower-title__text-block {
    width: 100%;
  }
}

.p-lower-title__text {
  --clamp-min: 19;
  --clamp-max: 24;
  font-weight: var(--fw-medium);
  line-height: 1.7;
}

@media screen and (max-width: 767px) {
  .p-lower-title__text {
    line-height: 1.8;
  }
}

.p-lower-title__text + .p-lower-title__text {
  margin-top: 1.5rem;
}

@media screen and (max-width: 767px) {
  .p-lower-title__text + .p-lower-title__text {
    margin-top: 2.4rem;
  }
}

/* ====================================
  Container
==================================== */
.l-container {
  margin: 0 auto;
  padding: 0 var(--pd-pc);
  width: 100%;
  max-width: calc(var(--inner-width-container) + var(--pd-pc) * 2);
}

@media screen and (max-width: 767px) {
  .l-container {
    padding: 0 var(--pd-sp);
    max-width: calc(var(--inner-width-sp) + var(--pd-sp) * 2);
  }
}

/* ====================================
  Header
==================================== */
.p-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 7.75rem; /* 124px / 16px */
  z-index: 100;
}

@media screen and (max-width: 767px) {
  .p-header {
    height: 5.625rem; /* 90px / 16px */
  }
}

.p-header.headerColor {
  background-image: linear-gradient(
    to bottom,
    var(--black) 0%,
    rgb(0 0 0 / 0.5) 50%,
    rgb(0 0 0 / 0) 100%
  );
  transition: background-image 0.3s ease;
}

.p-header__inner {
  padding: 0 4rem; /* 64px / 16px */
  width: 100%;
  height: 100%;
  margin: 0 auto;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 2.8125rem; /* 45px / 16px */
  padding-bottom: 2.8125rem; /* 45px / 16px */
}

@media screen and (max-width: 767px) {
  .p-header__inner {
    padding: 0 1.25rem; /* 20px / 16px */
    padding-top: 2rem; /* 32px / 16px */
    padding-bottom: 2rem; /* 32px / 16px */
  }
}

.p-header__logo {
  width: 11.0625rem; /* 177px / 16px */
  height: auto;
  position: relative;
  z-index: 10000;
}

@media screen and (max-width: 767px) {
  .p-header__logo {
    width: 8.4375rem; /* 135px / 16px */
  }
}

.p-header__link {
  display: flex;
  align-items: center;
  height: 100%;
}

.p-header__hamburger {
  display: none;
}

@media screen and (max-width: 767px) {
  .p-header__hamburger {
    display: block;
    position: relative;
    z-index: 10000;
    margin-left: auto;
  }
}

.p-header__hamburger-bar {
  display: block;
  width: 40px;
  height: 1px;
  background-color: var(--white);
  position: relative;
  transition: transform 0.3s ease-in-out;
}

.p-header__hamburger:nth-child(1) {
  top: 0;
}

.p-header__hamburger.is-open .p-header__hamburger-bar:nth-child(1) {
  top: 0.5625rem; /* 9px / 16px */
  transform: rotate(35deg);
}

.p-header__hamburger-bar:nth-child(2) {
  margin: 0.46875rem 0; /* 7.5px / 16px */
}

.p-header__hamburger.is-open .p-header__hamburger-bar:nth-child(2) {
  opacity: 0;
}

.p-header__hamburger-bar:nth-child(3) {
  top: 0;
}

.p-header__hamburger.is-open .p-header__hamburger-bar:nth-child(3) {
  transform: rotate(-35deg);
  top: -0.5rem; /* -8px / 16px */
}

.p-header__nav {
  display: block;
  margin-left: auto;
  height: inherit;
}

@media screen and (max-width: 767px) {
  .p-header__nav {
    display: none;
  }
}

.p-header__nav-items {
  display: flex;
  align-items: center;
  gap: 2rem; /* 30px / 16px */
  height: inherit;
}

.p-header__nav-item {
  height: inherit;
}

.p-header__nav-link {
  display: flex;
  align-items: center;
  height: 100%;
  font-weight: var(--fw-bold);
  color: var(--white);
}

.p-header__nav-span {
  font-size: 0.875rem; /* 14px / 16px */
  display: inline-block;
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
}

.p-header__nav-span::after {
  content: "";
  position: absolute;
  background: var(--white);
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  scale: 0;
  transform-origin: left;
  transition: scale 0.3s ease;
}

@media (any-hover: hover) {
  .p-header__nav-link:hover {
    opacity: 1;
  }

  .p-header__nav-span:hover::after {
    scale: 1;
  }
}

.p-header__drawer {
  display: none;
}

@media screen and (max-width: 767px) {
  .p-header__drawer {
    display: block;
  }
}

.p-drawer {
  display: none;
}

@media screen and (max-width: 767px) {
  .p-drawer {
    display: none;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100vh;
    height: 100svh;
    background: var(--black);
    overflow-y: auto;
    z-index: 1000;
  }
}

.p-drawer__inner {
  padding: 0 1.25rem; /* 20px / 16px */
  height: inherit;
  display: grid;
  place-content: center;
}

.p-drawer__items {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: var(--white);
  gap: 0 0.125rem; /* 2px / 16px */
}

.p-drawer__item {
  width: 100%;
  font-weight: var(--fw-bold);
  text-align: center;
}

.p-drawer__link {
  display: block;
  width: 100%;
  padding: 0.9375rem; /* 15px / 16px */
}

/* ====================================
  Footer
==================================== */
.p-footer {
  position: relative;
  padding-top: 1.875rem; /* 30px / 16px */
  padding-bottom: 6.25rem; /* 100px / 16px */
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-footer {
    padding-top: 2.375rem; /* 38px / 16px */
    padding-bottom: 3.75rem; /* 60px / 16px */
  }
}

.p-footer::after {
  content: "";
  position: absolute;
  background-image: url(/wp-content/themes/finale/assets/img/common/treat3.webp);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right bottom;
  bottom: -6.25rem; /* -100px / 16px */
  right: 0;
  width: 20.5rem; /* 328px / 16px */
  aspect-ratio: 328 / 482;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .p-footer::after {
    bottom: 15rem;
    width: 15rem;
    right: 0;
  }
}

.p-footer__inner {
  padding: 0 clamp(1.25rem, 3vw, 4rem);
  width: 100%;
  margin: 0 auto;
  position: relative;
}

.p-footer__message {
  max-width: 28.9375rem; /* 463px / 16px */
  width: 100%;
  height: auto;
  margin-left: auto;
}

.p-footer__message img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-footer__nav-wrap {
  margin-top: 6.5625rem; /* 105px / 16px */
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .p-footer__nav-wrap {
    flex-direction: column;
    align-items: flex-start;
    gap: 5rem; /* 80px / 16px */
  }
}

.p-footer__nav {
  display: flex;
  align-items: center;
  gap: clamp(1.25rem, 1.5vw, 1.875rem);
}

@media screen and (max-width: 767px) {
  .p-footer__nav {
    flex-direction: column;
    align-items: flex-start;
    gap: 3.75rem; /* 60px / 16px */
  }
}

.p-footer__items {
  display: flex;
  align-items: center;
  gap: 3rem; /* 48px / 16px */
}

@media screen and (max-width: 767px) {
  .p-footer__items {
    flex-direction: column;
    align-items: flex-start;
    gap: 3rem; /* 48px / 16px */
  }
}

.p-footer__link {
  font-weight: var(--fw-medium);
}

.p-footer__item-span {
  display: inline-block;
  position: relative;
}

.p-footer__item-span::after {
  content: "";
  position: absolute;
  background: var(--white);
  bottom: -0.5rem; /* -8px / 16px */
  left: 0;
  width: 100%;
  height: 1px;
  scale: 0;
  transform-origin: left;
  transition: scale 0.3s ease;
}

@media (any-hover: hover) {
  .p-footer__item-span:hover::after {
    scale: 1;
  }
}

.p-footer__sns {
  display: flex;
  align-items: center;
  gap: 1rem; /* 16px / 16px */
}

.p-footer__sns-link {
  display: block;
  width: 3.5rem; /* 56px / 16px */
  aspect-ratio: 1 / 1;
  transition: filter 0.3s ease;
}

.p-footer__sns-item:hover .p-footer__sns-link {
  filter: brightness(60%);
}

.p-footer__sns-link img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-footer__copyright {
  font-weight: var(--fw-medium);
  color: var(--gray);
}

/* ====================================
  Topページ
==================================== */
/* Main Visual */
.p-mv {
  position: relative;
  height: 100vh;
  background-color: var(--black);
}

.p-mv__img {
  height: inherit;
}

.p-mv__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-mv__content {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  mix-blend-mode: difference;
}

.p-mv__title {
  width: 31.5625rem; /* 505px / 16px */
  height: auto;
}

@media screen and (max-width: 767px) {
  .p-mv__title {
    width: 15rem; /* 240px / 16px */
  }
}

.p-mv__title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Businessセクション */
.p-business {
  position: relative;
  overflow-x: clip;
  padding-top: 7rem; /* 112px / 16px */
  padding-bottom: 9.375rem; /* 150px / 16px */
}

@media screen and (max-width: 767px) {
  .p-business {
    padding-top: 2.875rem; /* 46px / 16px */
    padding-bottom: 3.25rem; /* 52px / 16px */
  }
}

.p-business::before {
  content: "";
  position: absolute;
  background-image: url(/wp-content/themes/finale/assets/img/common/treat1.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 49.625rem; /* 794px / 16px */
  aspect-ratio: 794 / 515;
  top: -13.75rem; /* -220px / 16px */
  right: -7.625rem; /* -122px / 16px */
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .p-business::before {
    background-image: url(/wp-content/themes/finale/assets/img/common/treat4.webp);
    width: 9.5rem; /* 152px / 16px */
    aspect-ratio: 275 / 829;
    top: 0;
    right: 0;
  }
}

.p-business::after {
  content: "";
  position: absolute;
  background-image: url(/wp-content/themes/finale/assets/img/common/treat2.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 17.4375rem; /* 279px / 16px */
  aspect-ratio: 279 / 620;
  bottom: 9.375rem; /* 150px / 16px */
  left: 0;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .p-business::after {
    width: 7.5rem;
    aspect-ratio: 279 / 620;
    bottom: -4rem;
    left: -1.5rem;
  }
}

.p-business__title-wrap {
  position: relative;
  z-index: 1;
  width: fit-content;
}

.p-business__title {
  pointer-events: none;
}

.p-business__more {
  margin-top: 1.5rem; /* 24px / 16px */
}

@media screen and (max-width: 767px) {
  .p-business__more {
    margin-top: 1.25rem; /* 20px / 16px */
  }
}

.p-business__items {
  margin-top: -7.8125rem; /* -125px / 16px */
  margin-left: auto;
  width: 80.56%; /* 928px / 1152px * 100% */
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem; /* 32px / 16px */
}

@media screen and (max-width: 767px) {
  .p-business__items {
    margin-top: 3rem; /* 48px / 16px */
    width: 100%;
    grid-template-columns: repeat(1, 1fr);
    gap: 1.5rem; /* 24px / 16px */
  }
}

.p-business__item {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-business__item {
    width: 93%;
    margin-inline: auto;
  }
}

.p-business__link {
  display: block;
  width: 100%;
  height: 100%;
}

@media (any-hover: hover) {
  .p-business__link:hover .p-business__img img {
    transform: scale(1.05);
  }
}

.p-business__img {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.p-business__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.p-business__wrap {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 42%;
  background: linear-gradient(
    to bottom,
    rgb(0 0 0 / 0),
    rgb(0 0 0 / 0.63),
    rgb(0 0 0 / 1)
  );
}

.p-business__item-content {
  margin-top: 22%;
  padding-left: 4.5%; /* 72px / 1152px * 100% */
  padding-right: 2.2%; /* 352px / 1152px * 100% */
}

.p-business__item-title {
  --clamp-min: 16;
  --clamp-max: 20;
  font-weight: var(--fw-bold);
  position: relative;
}

.p-business__item-title::after {
  content: "";
  position: absolute;
  background-image: url(/wp-content/themes/finale/assets/img/common/arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 1.625rem; /* 26px / 16px */
  height: 0.25rem; /* 4px / 16px */
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

/* Newsセクション */
.p-news {
  padding-top: 9.375rem; /* 150px / 16px */
  padding-bottom: 9.375rem; /* 150px / 16px */
}

@media screen and (max-width: 767px) {
  .p-news {
    padding-top: 3.25rem; /* 52px / 16px */
    padding-bottom: 3.625rem; /* 58px / 16px */
  }
}

.p-news__title-wrap {
  position: relative;
  z-index: 1;
  width: fit-content;
}

.p-news__title {
  pointer-events: none;
}

.p-news__more {
  margin-top: 1.5rem; /* 24px / 16px */
}

@media screen and (max-width: 767px) {
  .p-news__more {
    margin-top: 1.25rem; /* 20px / 16px */
  }
}

.p-news__items {
  margin-top: -3.75rem; /* -60px / 16px */
  margin-left: auto;
  width: 80.56%; /* 928px / 1152px * 100% */
}

@media screen and (max-width: 767px) {
  .p-news__items {
    margin-top: 1.75rem; /* 28px / 16px */
    width: 100%;
  }
}

.p-news__item {
  border-bottom: 1px solid var(--gray-dark);
  position: relative;
  transition: filter 0.3s ease;
}

.p-news__item::after {
  content: "";
  position: absolute;
  background-image: url(/wp-content/themes/finale/assets/img/common/arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 1.625rem; /* 26px / 16px */
  height: 0.25rem; /* 4px / 16px */
  top: 50%;
  right: 1rem; /* 16px / 16px */
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}

@media screen and (max-width: 767px) {
  .p-news__item::after {
    right: 0;
  }
}

.p-news__link {
  padding: 1.5rem 1rem;
  display: flex;
  align-items: center;
  gap: 2rem; /* 32px / 16px */
  font-size: 1rem; /* 16px / 16px */
  font-weight: var(--fw-medium);
  line-height: 1.2;
  transition: filter 0.3s ease;
}

@media screen and (max-width: 767px) {
  .p-news__link {
    padding-top: 1.25rem; /* 20px / 16px */
    padding-bottom: 1.375rem; /* 22px / 16px */
    padding-left: 0;
    padding-right: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem; /* 16px / 16px */
  }
}

@media (any-hover: hover) {
  .p-news__item:hover::after {
    transform: translate(5px, -50%);
  }

  .p-news__item:hover .p-news__link {
    filter: brightness(60%);
  }
}

.p-news__item-meta {
  display: flex;
  align-items: center;
  gap: clamp(1rem, 4.17vw, 5rem);
}

.p-news__item-category {
  padding: 0.375rem 0.5rem;
  border: 1px solid var(--white);
  white-space: nowrap;
}

.p-news__item-title {
  padding-right: 2.5rem; /* 40px / 16px */
}

@media screen and (max-width: 767px) {
  .p-news__item-title {
    width: 80%; /* 268px / 335px * 100% */
    padding-right: 0;
    line-height: 1.7;
  }
}

/* ====================================
aboutページ
==================================== */
/* Philosophy */
.p-philosophy {
  padding-top: 19.375rem; /* 310px / 16px */
  position: relative;
  overflow-x: clip;
}

@media screen and (max-width: 767px) {
  .p-philosophy {
    padding-top: 9.125rem; /* 146px / 16px */
  }
}

.p-philosophy::before {
  content: "";
  position: absolute;
  background-image: url(/wp-content/themes/finale/assets/img/common/treat4.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 17.1875rem; /* 275px / 16px */
  aspect-ratio: 275 / 829;
  top: 4rem; /* 64px / 16px */
  right: 0;
  z-index: -1;
}

@media screen and (max-width: 1200px) {
  .p-philosophy::before {
    content: none;
  }
}

@media screen and (max-width: 767px) {
  .p-philosophy::before {
    content: "";
    width: 8.25rem; /* 132px / 16px */
    top: 0;
  }
}

.p-philosophy::after {
  content: "";
  position: absolute;
  background-image: url(/wp-content/themes/finale/assets/img/common/treat2.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 17.4375rem; /* 279px / 16px */
  aspect-ratio: 279 / 620;
  top: 72rem; /* 1152px / 16px */
  left: 0;
  z-index: -1;
}

@media screen and (max-width: 1200px) {
  .p-philosophy::after {
    content: none;
  }
}

@media screen and (max-width: 767px) {
  .p-philosophy::after {
    content: "";
    background-image: url(/wp-content/themes/finale/assets/img/common/treat6.webp);
    width: 13.75rem; /* 220px / 16px */
    aspect-ratio: 220 / 174;
    top: 60%;
  }
}

.p-philosophy__inner {
  /* max-width: calc(1192px + var(--pd-pc)*2); */
}

@media screen and (max-width: 767px) {
  .p-philosophy__inner {
    max-width: 100%;
    padding-inline: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-philosophy__lower-title {
    padding: 0 1.25rem; /* 20px / 16px */
  }
}

.p-philosophy__items {
  margin-top: -1.875rem; /* -30px / 16px */
}

@media screen and (max-width: 767px) {
  .p-philosophy__items {
    margin-top: 2.25rem; /* 36px / 16px */
  }
}

.p-philosophy__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}

.p-philosophy__item:nth-child(even) {
  flex-direction: row-reverse;
}

@media screen and (max-width: 767px) {
  .p-philosophy__item {
    flex-direction: column;
  }

  .p-philosophy__item:nth-child(even) {
    flex-direction: column;
  }
}

@media screen and (max-width: 767px) {
  .p-philosophy__item + .p-philosophy__item {
    margin-top: 4.25rem; /* 68px / 16px */
  }
}

.p-philosophy__img {
  flex-shrink: 0;
  /* width: min(calc(916 / 16 * 1rem), 100%); */
  height: 34.1875rem; /* 547px / 16px */
  margin-left: calc(50% - 50vw);
  aspect-ratio: 916 / 547;
}

.p-philosophy__item:nth-child(even) .p-philosophy__img {
  margin-left: initial;
  margin-right: calc(50% - 50vw);
}

@media screen and (max-width: 767px) {
  .p-philosophy__img {
    width: 100vw;
    height: auto;
    margin-left: initial;
  }

  .p-philosophy__item:nth-child(even) .p-philosophy__img {
    margin-right: initial;
  }
}

.p-philosophy__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 1200px) {
  .p-philosophy__img img {
    opacity: 0.6;
  }
}

@media screen and (max-width: 767px) {
  .p-philosophy__img img {
    opacity: 1;
  }
}

.p-philosophy__content {
  height: auto;
  position: absolute;
  right: 0;
  text-shadow: 0 4px 40px rgb(0 0 0 / 0.25);
}

@media screen and (max-width: 767px) {
  .p-philosophy__content {
    position: relative;
    width: 100%;
    max-width: 600px;
    padding-inline: 1.25rem; /* 20px / 16px */
    margin-inline: auto;
    margin-top: -0.75rem; /* -12px / 16px */
  }
}

.p-philosophy__item:nth-child(even) .p-philosophy__content {
  right: auto;
  left: 0;
}

.p-philosophy__number {
  font-size: 2.4375rem; /* 39px / 16px */
  font-weight: var(--fw-semibold);
  font-family: var(--font-secondary);
  line-height: 1;
}

.p-philosophy__title {
  font-size: 1.5rem; /* 24px / 16px */
  font-weight: var(--fw-bold);
  line-height: 1;
  margin-top: 1rem; /* 16px / 16px */
  display: flex;
  align-items: flex-end;
}

@media screen and (max-width: 767px) {
  .p-philosophy__title {
    margin-top: 0;
    align-items: center;
  }
}

.p-philosophy__title-span {
  --clamp-min: 38;
  --clamp-max: 40;
  font-family: var(--font-zen);
  font-weight: var(--fw-regular);
  display: inline-block;
  margin-left: 0.3125rem; /* 5px / 16px */
}

.p-philosophy__title-span--entertainment {
  --clamp-min: 28;
  --clamp-max: 40;
}

.p-philosophy__mark-before {
  font-size: 1.5rem; /* 24px / 16px */
  transform: translateY(-0.8em);
  display: inline-block;
}

.p-philosophy__mark-after {
  font-size: 1.5rem; /* 24px / 16px */
  transform: translate(0.2em, 0.6em);
  display: inline-block;
}

.p-philosophy__text {
  font-size: 1rem; /* 16px / 16px */
  line-height: 2;
  margin-top: 1.5rem; /* 24px / 16px */
}

@media screen and (max-width: 767px) {
  .p-philosophy__text {
    margin-top: 1.25rem; /* 20px / 16px */
  }
}

.p-philosophy__video-wrap {
  width: 100%;
  height: 37.5rem; /* 600px / 16px */
  overflow: hidden;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-philosophy__video-wrap {
    margin-top: 3.125rem; /* 50px / 16px */
    height: 24rem; /* 384px / 16px */
  }
}

.p-philosophy__video {
  width: 100%;
  height: 100%;
}

.p-philosophy__video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-philosophy__video-text {
  position: absolute;
  top: 52%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  width: 100%;
  text-align: center;
  --clamp-min: 16;
  --clamp-max: 26;
  font-weight: var(--fw-medium);
  letter-spacing: 0.24em;
  line-height: 2.5;
}

@media screen and (max-width: 767px) {
  .p-philosophy__video-text {
    top: 50%;
    letter-spacing: 0;
  }
}

.p-philosophy__video-span {
  display: block;
}

@media screen and (max-width: 767px) {
  .p-philosophy__video-span {
  }
}

/* Information */
.p-information {
  padding-top: 13rem; /* 208px / 16px */
  padding-bottom: 7.1875rem; /* 115px / 16px */
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-information {
    padding-top: 3.5rem; /* 56px / 16px */
    padding-bottom: 3.25rem; /* 52px / 16px */
  }
}

.p-information::before {
  content: "";
  position: absolute;
  background-image: url(/wp-content/themes/finale/assets/img/common/treat5.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 39.5rem; /* 632px / 16px */
  aspect-ratio: 632 / 400;
  top: 0;
  right: 0;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .p-information::before {
    content: none;
  }
}

.p-information__inner {
  max-width: calc(960px + var(--pd-pc) * 2);
}

.p-information__item {
  display: flex;
  align-items: center;
  gap: 1rem; /* 16px / 16px */
  font-weight: var(--fw-medium);
  padding-block: 1.4375rem; /* 23px / 16px */
  padding-inline: 1rem; /* 16px / 16px */
  border-bottom: 1px solid var(--gray-dark);
}

@media screen and (max-width: 767px) {
  .p-information__item {
    flex-direction: column;
    align-items: flex-start;
    padding-inline: 0;
  }
}

.p-information__item-title {
  width: 10.125rem; /* 162px / 16px */
}

.p-information__map {
  margin-top: 3.5rem; /* 56px / 16px */
  aspect-ratio: 960 / 486;
}

@media screen and (max-width: 767px) {
  .p-information__map {
    margin-top: 2rem; /* 32px / 16px */
  }
}

.p-information__map iframe {
  width: 100%;
  height: 100%;
}

/* ====================================
  businessページ
==================================== */
.p-our-business {
  padding-top: 19.375rem; /* 310px / 16px */
  padding-bottom: 6.25rem; /* 100px / 16px */
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-our-business {
    padding-top: 9.125rem; /* 146px / 16px */
    padding-bottom: 3.75rem; /* 60px / 16px */
  }
}

.p-our-business::before {
  content: "";
  position: absolute;
  background-image: url(/wp-content/themes/finale/assets/img/common/treat4.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 17.1875rem; /* 275px / 16px */
  aspect-ratio: 275 / 829;
  top: 4rem; /* 64px / 16px */
  right: 0;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .p-our-business::before {
    width: 8.25rem; /* 132px / 16px */
    top: 0;
  }
}

.p-our-business::after {
  content: "";
  position: absolute;
  background-image: url(/wp-content/themes/finale/assets/img/common/treat2.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 17.4375rem; /* 279px / 16px */
  aspect-ratio: 279 / 620;
  top: 50rem; /* 800px / 16px */
  left: 0;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .p-our-business::after {
    width: 10.625rem; /* 170px / 16px */
    top: 65rem; /* 1040px / 16px */
    left: -3rem; /* -48px / 16px */
  }
}

@media screen and (max-width: 767px) {
  .p-our-business__inner {
    padding-inline: 1.6875rem; /* 27px / 16px */
  }
}

.p-our-business__items {
  margin-top: -1.875rem; /* -30px / 16px */
}

@media screen and (max-width: 767px) {
  .p-our-business__items {
    margin-top: 2.25rem; /* 36px / 16px */
  }
}

.p-our-business__item {
  display: flex;
  align-items: center;
  gap: 4rem; /* 64px / 16px */
}

.p-our-business__item:nth-child(even) {
  flex-direction: row-reverse;
}

@media screen and (max-width: 767px) {
  .p-our-business__item {
    flex-direction: column;
    gap: 1.5rem; /* 24px / 16px */
  }

  .p-our-business__item:nth-child(even) {
    flex-direction: column;
  }
}

.p-our-business__item + .p-our-business__item {
  margin-top: 15.75rem; /* 252px / 16px */
}

@media screen and (max-width: 767px) {
  .p-our-business__item + .p-our-business__item {
    margin-top: 4.5rem; /* 72px / 16px */
  }
}

.p-our-business__img {
  width: 50%; /* 576px / 1152px * 100% */
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-our-business__img {
    width: 100%;
  }
}

.p-our-business__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-our-business__text-block {
  width: 45.14%; /* 520px / 1152px * 100% */
}

@media screen and (max-width: 767px) {
  .p-our-business__text-block {
    width: 100%;
  }
}

.p-our-business__title {
  --clamp-min: 20;
  --clamp-max: 30;
  font-weight: var(--fw-bold);
  line-height: 2;
}

.p-our-business__text {
  line-height: 2;
  margin-top: 2rem; /* 32px / 16px */
}

@media screen and (max-width: 767px) {
  .p-our-business__text {
    margin-top: 1rem; /* 16px / 16px */
  }
}

/* ====================================
artist-personページ
==================================== */
.p-artist {
  padding-top: 19.875rem; /* 318px / 16px */
  padding-bottom: 6.25rem; /* 100px / 16px */
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-artist {
    padding-top: 8.425rem; /* 134px / 16px */
    padding-bottom: 1.25rem; /* 20px / 16px */
  }
}

.p-artist::before {
  content: "";
  position: absolute;
  background-image: url(/wp-content/themes/finale/assets/img/common/treat4.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 17.1875rem; /* 275px / 16px */
  aspect-ratio: 275 / 829;
  top: 4rem; /* 64px / 16px */
  right: 0;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .p-artist::before {
    width: 8.25rem; /* 132px / 16px */
    top: 0;
  }
}

.p-artist::after {
  content: "";
  position: absolute;
  background-image: url(/wp-content/themes/finale/assets/img/common/treat2.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 17.4375rem; /* 279px / 16px */
  aspect-ratio: 279 / 620;
  bottom: 0;
  left: 0;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .p-artist::after {
    width: 10.625rem; /* 170px / 16px */
    top: 34rem; /* 544px / 16px */
    left: -3rem; /* -48px / 16px */
  }
}

.p-artist__content {
  display: flex;
  gap: clamp(1.25rem, 3.3vw, 4rem); /* 64px / 16px */
}

@media screen and (max-width: 767px) {
  .p-artist__content {
    flex-direction: column;
    gap: 0;
  }
}

.p-artist__slider {
  width: 55.56%; /* 640px / 1152px * 100% */
}

@media screen and (max-width: 767px) {
  .p-artist__slider {
    width: 100%;
    margin-top: 1.25rem; /* 30px / 16px */
  }
}

.p-artist__item {
  background: #151515;
  aspect-ratio: 640 / 668;
  overflow: hidden;
}

.p-artist__item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-artist__thumbnail {
  margin-top: 2.5rem; /* 40px / 16px */
  margin-inline: auto;
  width: 88.82%; /* 568px / 640px * 100% */
}

@media screen and (max-width: 767px) {
  .p-artist__thumbnail {
    margin-top: 1.2rem; /* 24px / 16px */
    width: 100%;
  }
}

.p-artist__thumbnail .slick-list {
  padding: 0 13% 0 0 !important;
}

@media screen and (max-width: 767px) {
  .p-artist__thumbnail .slick-list {
    padding: 0 21.5% 0 0 !important;
  }
}

.p-artist__thumbnail-item {
  cursor: pointer;
}

.p-artist__thumbnail-arrow {
  margin: auto;
  width: 1rem;
  height: 1rem;
  position: absolute;
  top: 0;
  bottom: 0;
  cursor: pointer;
}

.p-artist__thumbnail-arrow.prev-arrow {
  border-bottom: 1px solid var(--white);
  border-left: 1px solid var(--white);
  left: -25px;
  transform: rotate(45deg);
}

.p-artist__thumbnail-arrow.next-arrow {
  border-bottom: 1px solid var(--white);
  border-left: 1px solid var(--white);
  right: -25px;
  transform: rotate(225deg);
}

.p-artist__thumbnail-arrow button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
}

.p-artist__thumbnail .slick-dots {
  bottom: -3.5rem; /* -56px / 16px */
}

@media screen and (max-width: 767px) {
  .p-artist__thumbnail .slick-dots {
    bottom: -2.5rem; /* -40px / 16px */
  }
}

@media screen and (max-width: 767px) {
  .p-artist__thumbnail .slick-dots li {
    width: 0.375rem;
    height: 0.375rem;
  }
}

.p-artist__thumbnail .slick-dots li {
  width: 0.55rem;
  height: 0.55rem;
}

.p-artist__thumbnail .slick-dots li button:before {
  background-color: var(--white);
  font-size: 0;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  opacity: 1;
  margin-inline: 0.5rem; /* 8px / 16px */
}

@media screen and (max-width: 767px) {
  .p-artist__thumbnail .slick-dots li button:before {
    width: 0.375rem;
    height: 0.375rem;
  }
}

.p-artist__thumbnail .slick-dots li.slick-active button:before {
  background-color: #68c5e3;
  filter: drop-shadow(0 0 0.5rem #97fff4);
}

/* スライダーのカウント数によってスタイルを変える */
/* 1枚の時：中央配置 */
.p-artist__thumbnail.slide-count-1 .slick-list {
  padding: 0 !important;
}

.p-artist__thumbnail.slide-count-1 .slick-slide {
  width: 30% !important;
}

.p-artist__thumbnail.slide-count-1 .slick-track {
  display: flex;
  justify-content: center;
}

.p-artist__thumbnail.slide-count-1 .slick-current {
  border: 1px solid transparent;
}

/* 2枚の時：均等配置 */
.p-artist__thumbnail.slide-count-2 .slick-list {
  padding: 0 !important;
}

.p-artist__thumbnail.slide-count-2 .slick-slide {
  width: 30% !important;
}

.p-artist__thumbnail.slide-count-2 .slick-track {
  display: flex;
  justify-content: center;
  gap: 10px;
}

.p-artist__thumbnail.slide-count-2 .slick-current {
  border: 1px solid transparent;
}

/* 3枚の時：均等配置 */
.p-artist__thumbnail.slide-count-3 .slick-list {
  padding: 0 !important;
}

.p-artist__thumbnail.slide-count-3 .slick-slide {
  width: 30% !important;
}

.p-artist__thumbnail.slide-count-3 .slick-track {
  display: flex;
  justify-content: center;
  gap: 10px;
}

.p-artist__thumbnail.slide-count-3 .slick-current {
  border: 1px solid transparent;
}

.p-artist__thumbnail-item {
  aspect-ratio: 139 / 145;
  overflow: hidden;
  border: 1px solid transparent;
}

.p-artist__thumbnail-item + .p-artist__thumbnail-item {
  margin-left: 1.5rem; /* 24px / 16px */
}

@media screen and (max-width: 767px) {
  .p-artist__thumbnail-item + .p-artist__thumbnail-item {
    margin-left: 1.25rem; /* 20px / 16px */
  }
}

.p-artist__thumbnail-item.slick-current {
  border: 1px solid var(--white);
}

.p-artist__thumbnail-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-artist__information {
  width: 38.89%; /* 448px / 1152px * 100% */
}

@media screen and (max-width: 767px) {
  .p-artist__information {
    width: 100%;
    margin-top: 4rem; /* 64px / 16px */
  }
}

.p-artist__name {
  font-size: 2.5rem; /* 40px / 16px */
  font-weight: var(--fw-bold);
  font-family: var(--font-secondary);
  line-height: 1.1;
  display: flex;
  align-items: baseline;
  gap: 3.375rem; /* 54px / 16px */
}

@media screen and (max-width: 767px) {
  .p-artist__name {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem; /* 8px / 16px */
    font-size: 2rem; /* 32px / 16px */
  }
}

.p-artist__name-en {
  font-size: 1.5rem; /* 24px / 16px */
  font-family: var(--font-secondary);
}

@media screen and (max-width: 767px) {
  .p-artist__name-en {
    font-size: 1.25rem; /* 20px / 16px */
  }
}

.p-artist__details {
  margin-top: 1.875rem; /* 30px / 16px */
}

@media screen and (max-width: 767px) {
  .p-artist__details {
    margin-top: 1.625rem; /* 56px / 16px */
  }
}

.p-artist__detail-item {
  display: flex;
  align-items: center;
  gap: 2rem; /* 32px / 16px */
  padding: 1.5rem 1rem;
  border-bottom: 1px solid var(--gray-dark);
}

@media screen and (max-width: 767px) {
  .p-artist__detail-item {
    padding: 1.5rem 0.5rem 1.25rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem; /* 8px / 16px */
  }
}

.p-artist__detail-label {
  font-size: 0.875rem; /* 14px / 16px */
  font-weight: var(--fw-bold);
  width: calc(128 / 448 * 100%);
}

.p-artist__detail-text {
  font-weight: var(--fw-medium);
  width: calc(256 / 448 * 100%);
}

@media screen and (max-width: 767px) {
  .p-artist__detail-text {
    font-weight: var(--fw-regular);
    width: 100%;
  }
}

.p-artist__sns {
  margin-top: 3.5rem; /* 56px / 16px */
  display: flex;
  align-items: center;
  gap: 1rem; /* 16px / 16px */
}

@media screen and (max-width: 767px) {
  .p-artist__sns {
    order: 2;
  }
}

.p-artist__sns-link {
  display: block;
  width: 3.5rem; /* 56px / 16px */
  aspect-ratio: 1 / 1;
  transition: filter 0.3s ease;
}

@media (any-hover: hover) {
  .p-artist__sns-link:hover {
    filter: brightness(60%);
  }
}

.p-artist__sns-link img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ====================================
groupページ
==================================== */
.p-group {
  width: 38.89%; /* 448px / 1152px * 100% */
}

@media screen and (max-width: 767px) {
  .p-group {
    width: 100%;
    margin-top: 4rem; /* 64px / 16px */
  }
}

.p-group__name {
  font-size: 3rem; /* 48px / 16px */
  font-weight: var(--fw-bold);
  font-family: var(--font-secondary);
  line-height: 1.1;
  display: flex;
  align-items: baseline;
  gap: 0.5rem; /* 8px / 16px */
}

@media screen and (max-width: 767px) {
  .p-group__name {
    font-size: 2rem; /* 32px / 16px */
  }
}

.p-group__sns {
  margin-top: 1.25rem; /* 20px / 16px */
  display: flex;
  align-items: center;
  gap: 1rem; /* 16px / 16px */
}

.p-group__sns-link {
  display: block;
  width: 3.5rem; /* 56px / 16px */
  aspect-ratio: 1 / 1;
  transition: filter 0.3s ease;
}

@media (any-hover: hover) {
  .p-group__sns-link:hover {
    filter: brightness(60%);
  }
}

.p-group__items {
  margin-top: 2.5rem; /* 40px / 16px */
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem 1.25rem; /* 20px / 16px */
}

@media screen and (max-width: 767px) {
  .p-group__items {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem 1.5rem; /* 32px / 24px */
    padding-inline: 0.625rem; /* 10px / 16px */
  }
}

.p-group__item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.p-group__item-link {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.p-group__item-img {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 50%;
}

@media screen and (max-width: 767px) {
  .p-group__item-img {
    width: 82.5%;
  }
}

.p-group__item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

@media (any-hover: hover) {
  .p-group__item-link:hover .p-group__item-img img {
    transform: scale(1.05);
  }
}

.p-group__item-name {
  margin-top: 0.875rem; /* 14px / 16px */
  font-size: 0.875rem; /* 14px / 16px */
  font-weight: var(--fw-bold);
}

@media screen and (max-width: 767px) {
  .p-group__item-name {
    margin-top: 0.5rem; /* 8px / 16px */
    font-size: 1rem; /* 16px / 16px */
  }
}

.p-group__member-sns {
  margin-top: 0.5rem; /* 8px / 16px */
  display: flex;
  align-items: center;
  gap: 0.5rem; /* 8px / 16px */
}

.p-group__member-sns-link {
  display: block;
  width: 2.125rem; /* 34px / 16px */
  aspect-ratio: 1 / 1;
  transition: filter 0.3s ease;
}

@media (any-hover: hover) {
  .p-group__member-sns-link:hover {
    filter: brightness(60%);
  }
}

/* ====================================
newsページ
==================================== */
.p-lower-news {
  padding-top: 17.8125rem; /* 285px / 16px */
  padding-bottom: 4.25rem; /* 68px / 16px */
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-lower-news {
    padding-top: 9.25rem; /* 148px / 16px */
    padding-bottom: 3.75rem; /* 60px / 16px */
  }
}

.p-lower-news::before {
  content: "";
  position: absolute;
  background-image: url(/wp-content/themes/finale/assets/img/common/treat4.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 17.1875rem; /* 275px / 16px */
  aspect-ratio: 275 / 829;
  bottom: 50%;
  right: 0;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .p-lower-news::before {
    width: 8.25rem; /* 132px / 16px */
    top: 0;
    bottom: auto;
  }
}

.p-lower-news::after {
  content: "";
  position: absolute;
  background-image: url(/wp-content/themes/finale/assets/img/common/treat2.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 17.4375rem; /* 279px / 16px */
  aspect-ratio: 279 / 620;
  bottom: 0;
  left: 0;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .p-lower-news::after {
    content: none;
  }
}

.p-lower-news__items {
  margin-top: 4rem; /* 64px / 16px */
}

@media screen and (max-width: 767px) {
  .p-lower-news__items {
    margin-top: 0.5rem; /* 8px / 16px */
  }
}

.p-lower-news__item {
  border-bottom: 1px solid var(--gray-dark);
  position: relative;
  transition: filter 0.3s ease;
}

.p-lower-news__item::after {
  content: "";
  position: absolute;
  background-image: url(/wp-content/themes/finale/assets/img/common/arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 1.625rem; /* 26px / 16px */
  height: 0.25rem; /* 4px / 16px */
  top: 50%;
  right: 1rem; /* 16px / 16px */
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}

@media screen and (max-width: 767px) {
  .p-lower-news__item::after {
    right: 0;
    top: 70%;
  }
}

.p-lower-news__link {
  display: flex;
  align-items: center;
  gap: 2rem; /* 32px / 16px */
  padding: 1.5rem 1rem;
  font-size: 1rem; /* 16px / 16px */
  font-weight: var(--fw-medium);
  line-height: 1.2;
  transition: filter 0.3s ease;
}

@media screen and (max-width: 767px) {
  .p-lower-news__link {
    padding: 2rem 0 1rem;
  }
}

@media (any-hover: hover) {
  .p-lower-news__item:hover::after {
    transform: translate(5px, -50%);
  }

  .p-lower-news__item:hover .p-lower-news__link {
    filter: brightness(60%);
  }
}

@media screen and (max-width: 767px) {
  .p-lower-news__link {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem; /* 8px / 16px */
  }
}

.p-lower-news__item-meta {
  display: flex;
  align-items: center;
  gap: clamp(1.5rem, 4.2vw, 5rem); /* 80px / 16px */
}

.p-lower-news__category {
  padding: 0.375rem 0.5rem;
  border: 1px solid var(--white);
}

.p-lower-news__title {
  padding-right: 2rem; /* 32px / 16px */
}

@media screen and (max-width: 767px) {
  .p-lower-news__title {
    padding-right: 2.625rem; /* 42px / 16px */
    line-height: 2;
  }
}

.p-lower-news__pagination {
  margin-top: 4.625rem; /* 74px / 16px */
}

.p-pagination__list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.875rem; /* 14px / 16px */
}

.p-pagination__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.875rem; /* 30px / 16px */
  height: 2.25rem; /* 36px / 16px */
  border: 1px solid var(--gray-dark);
  font-size: 1.25rem; /* 20px / 16px */
  font-family: var(--font-secondary);
  transition: all 0.3s ease;
}

.p-pagination__link--prev,
.p-pagination__link--next {
  border: none;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-pagination__link--prev {
    right: 3.5rem;
  }

  .p-pagination__link--next {
    left: 3.5rem;
  }
}

.p-pagination__link--prev::before,
.p-pagination__link--next::before {
  content: "";
  position: absolute;
  width: 1rem; /* 16px / 16px */
  aspect-ratio: 1 / 1;
  border-bottom: 1px solid var(--white);
  border-left: 1px solid var(--white);
}

.p-pagination__link--prev::before {
  transform: rotate(45deg);
}

.p-pagination__link--next::before {
  transform: rotate(-135deg);
}

.p-pagination__link.is-current {
  background-color: var(--white);
  color: var(--black);
}

@media (any-hover: hover) {
  .p-pagination__link:hover {
    background-color: var(--white);
    color: var(--black);
  }

  .p-pagination__link--prev:hover,
  .p-pagination__link--next:hover {
    background-color: transparent;
    filter: brightness(60%);
  }
}

/* ====================================
news-detailページ
==================================== */
.p-news-detail {
  padding-top: 13.375rem; /* 214px / 16px */
  padding-bottom: 10rem; /* 160px / 16px */
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-news-detail {
    padding-top: 9.25rem; /* 148px / 16px */
    padding-bottom: 3.75rem; /* 60px / 16px */
  }
}

.p-news-detail::before {
  content: "";
  position: absolute;
  background-image: url(/wp-content/themes/finale/assets/img/common/treat4.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 17.1875rem; /* 275px / 16px */
  aspect-ratio: 275 / 829;
  bottom: 50%;
  right: 0;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .p-news-detail::before {
    width: 8.25rem; /* 132px / 16px */
    top: 0;
    bottom: auto;
  }
}

.p-news-detail::after {
  content: "";
  position: absolute;
  background-image: url(/wp-content/themes/finale/assets/img/common/treat2.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 17.4375rem; /* 279px / 16px */
  aspect-ratio: 279 / 620;
  bottom: 0;
  left: 0;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .p-news-detail::after {
    content: none;
  }
}

.p-news-detail__inner {
  max-width: calc(832px + var(--pd-pc) * 2);
}

.p-news-detail__title {
  font-size: 2.5rem; /* 40px / 16px */
  font-weight: var(--fw-bold);
  line-height: 1.7;
}

@media screen and (max-width: 767px) {
  .p-news-detail__title {
    font-size: 2rem; /* 32px / 16px */
  }
}

.p-news-detail__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 1.5rem; /* 24px / 16px */
}

@media screen and (max-width: 767px) {
  .p-news-detail__meta {
    margin-top: 1rem; /* 16px / 16px */
  }
}

.p-news-detail__category {
  padding: 0.375rem 0.5rem;
  border: 1px solid var(--white);
}

.p-news-detail__thumbnail {
  margin-top: 4.25rem; /* 68px / 16px */
  aspect-ratio: 832 / 601;
}

@media screen and (max-width: 767px) {
  .p-news-detail__thumbnail {
    margin-top: 2.5rem; /* 40px / 16px */
    aspect-ratio: 335 / 224;
  }
}

.p-news-detail__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-news-detail__content h1 {
  font-size: 2.5rem; /* 40px / 16px */
  font-weight: var(--fw-bold);
  line-height: 1.7;
  margin-top: 4.25rem; /* 68px / 16px */
}

@media screen and (max-width: 767px) {
  .p-news-detail__content h1 {
    font-size: 2rem; /* 32px / 16px */
    margin-top: 2.5rem; /* 40px / 16px */
  }
}

.p-news-detail__content h2 {
  font-size: 1.75rem; /* 28px / 16px */
  font-weight: var(--fw-bold);
  line-height: 1.7;
  padding-bottom: 0.5rem; /* 8px / 16px */
  border-bottom: 1px solid var(--gray-dark);
  margin-top: 4.25rem; /* 68px / 16px */
}

@media screen and (max-width: 767px) {
  .p-news-detail__content h2 {
    margin-top: 3.5rem; /* 56px / 16px */
  }
}

.p-news-detail__content h3 {
  font-size: 1.5rem; /* 24px / 16px */
  font-weight: var(--fw-bold);
  line-height: 1.7;
  margin-top: 4.25rem; /* 68px / 16px */
  padding: 0.3rem 1rem;
  background-color: var(--gray-dark);
}

@media screen and (max-width: 767px) {
  .p-news-detail__content h3 {
    margin-top: 3.5rem; /* 56px / 16px */
  }
}

.p-news-detail__content h4 {
  font-size: 1.375rem; /* 22px / 16px */
  font-weight: var(--fw-bold);
  line-height: 1.7;
  padding-left: 1.25rem; /* 20px / 16px */
  border-left: 1px solid var(--gray-dark);
  margin-top: 4.25rem; /* 68px / 16px */
}

@media screen and (max-width: 767px) {
  .p-news-detail__content h4 {
    margin-top: 3.5rem; /* 56px / 16px */
  }
}

.p-news-detail__content h5 {
  font-size: 1.125rem; /* 18px / 16px */
  font-weight: var(--fw-bold);
  line-height: 1.7;
  padding: 0.5rem 1rem;
  border: 1px solid var(--gray-dark);
  display: inline-block;
  margin-top: 4.25rem; /* 68px / 16px */
}

@media screen and (max-width: 767px) {
  .p-news-detail__content h5 {
    margin-top: 3.5rem; /* 56px / 16px */
  }
}

.p-news-detail__content h6 {
  font-size: 1.125rem; /* 18px / 16px */
  font-weight: var(--fw-bold);
  line-height: 1.7;
  border-bottom: 1px solid var(--gray-dark);
  display: inline-block;
  margin-top: 4.25rem; /* 68px / 16px */
}

@media screen and (max-width: 767px) {
  .p-news-detail__content h6 {
    margin-top: 3.5rem; /* 56px / 16px */
  }
}

.p-news-detail__content p {
  font-size: 1rem; /* 16px / 16px */
  font-weight: var(--fw-medium);
  line-height: 1.7;
  margin-top: 1.5rem; /* 24px / 16px */
}

@media screen and (max-width: 767px) {
  .p-news-detail__content p {
    line-height: 2;
  }
}

.p-news-detail__content a {
  font-size: 1rem; /* 16px / 16px */
  font-weight: var(--fw-medium);
  color: var(--white);
  display: inline-block;
  text-decoration: underline;
  transition: filter 0.3s ease;
}

@media (any-hover: hover) {
  .p-news-detail__content a:hover {
    filter: brightness(60%);
  }
}

/* ====================================
WordPressブロック、プラグイン
==================================== */
.wp-block-image,
.wp-block-list,
.wp-block-video {
  margin-top: 1.5rem;
}

.wp-block-list {
  padding-left: 1em;
}

ol.wp-block-list {
  list-style: decimal;
}

ul.wp-block-list {
  list-style: circle;
}

.wp-block-list li:not(:last-of-type) {
  margin-bottom: 0.5rem;
}

.wp-pagenavi {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  margin-top: 4.625rem; /* 74px / 16px */
}

.wp-pagenavi .current,
.wp-pagenavi .larger,
.wp-pagenavi .smaller,
.nextpostslink,
.previouspostslink,
.wp-pagenavi .first,
.wp-pagenavi .last {
  width: 1.875rem; /* 30px / 16px */
  height: 2.25rem; /* 36px / 16px */
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--gray-dark);
  font-size: 1.25rem; /* 20px / 16px */
  font-family: var(--font-secondary);
}

.wp-pagenavi .current,
.wp-pagenavi .current a:visited {
  background: var(--white);
  color: var(--black);
}

/* ====================================
フォーム
==================================== */
.p-news-detail__inner:has(form) {
  max-width: 800px;
}
.p-news-detail__content:has(form) p {
  margin-top: 2rem;
  line-height: 1.6;
}
.wpcf7-form-control-wrap {
  display: block;
}
.wpcf7-form-control {
  height: 42px;
}
textarea.wpcf7-form-control {
  height: 300px;
}
input,
textarea,
select {
  margin-top: 0.75rem;
  padding: 0.5rem 1rem;
  width: 100%;
  background-color: var(--white);
  color: var(--black);
}
.submit-button {
  background: none;
  color: var(--white);
  cursor: pointer;
  border: 1px solid var(--gray-dark);
  font-weight: var(--fw-bold);
}
input[type="checkbox"] {
  width: fit-content;
}
.wpcf7-list-item {
  display: inline-block;
  margin: 0;
}
.form__required-optional {
  font-size: 0.8rem;
  margin-left: 0.5rem;
  opacity: 0.6;
}
.wpcf7-response-output {
  padding: 1rem !important;
  text-align: center;
}
.wpcf7-form-control-wrap[data-name="your-x"] input,
.wpcf7-form-control-wrap[data-name="your-instagram"] input,
.wpcf7-form-control-wrap[data-name="your-tiktok"] input,
.wpcf7-form-control-wrap[data-name="your-youtube"] input,
.wpcf7-form-control-wrap[data-name="your-other-sns"] input {
  margin-bottom: 1rem;
}
.form__rule {
  margin-top: -1.5rem;
  margin-bottom: -1.5rem;
}
.form__rule p {
  padding: 0.8rem 1rem;
  background-color: var(--gray-dark);
}
.form__note {
  margin-top: 4px;
  display: inline-block;
  font-size: 14px;
}
input[type="checkbox"] {
  width: fit-content;
  margin-right: 0.5em;
}
