@charset "UTF-8";
/* ====================================
ガイドライン
==================================== */
:root {
  --max: 1560px;
  --max2: 1300px;
  --outer: 50px;
  --inner: 7px;
}

.guidelines {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
}

.guidelines .guide {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: #00e8e8;
  opacity: 0.9;
}

.guidelines .container-start {
  left: calc(50% - var(--max) / 2);
  background: #00ff00;
}

.guidelines .container-end {
  left: calc(50% + var(--max) / 2);
  background: #00ff00;
}

.guidelines .outer-start {
  left: calc(50% - var(--max2) / 2);
}

.guidelines .outer-end {
  left: calc(50% + var(--max2) / 2);
}

.guidelines .center {
  left: 50%;
  background: #00ff00;
}

.guidelines .inner-left {
  left: calc(50% - var(--inner));
}

.guidelines .inner-right {
  left: calc(50% + var(--inner));
}

/* ====================================
_base.scss
==================================== */
html.lenis {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

html.is-scroll-locked,
html.is-scroll-locked body {
  overflow: hidden;
  height: 100%;
}

body {
  color: hsl(0, 0%, 1%);
  font-family: "Zen Kaku Gothic Antique", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Noto Sans JP", "Noto Sans CJK JP", "Meiryo UI", "メイリオ", Meiryo, "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-optical-sizing: auto;
  line-height: 1.875;
  letter-spacing: normal;
  letter-spacing: 0.05em;
  position: relative;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  transition: 0.5s ease;
  overflow-y: visible;
  overflow-anchor: none;
}
@media screen and (max-width: 749px) {
  body {
    font-size: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  body {
    font-size: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  body {
    font-size: 1vw;
  }
}
@media screen and (min-width: 1600px) {
  body {
    font-size: 1rem;
  }
}

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

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

.l-inner {
  max-width: min(1100px, 98%);
  margin-inline: auto;
}
.l-inner--sm {
  max-width: min(960px, 98%);
  margin-inline: auto;
}
.l-inner--md {
  width: min(1300px, 81.25vw);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-inner--md {
    width: min(630px, 84vw);
  }
}
.l-inner--lg {
  width: min(1560px, 97.5vw);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-inner--lg {
    width: min(710px, 94.7vw);
  }
}
.l-inner--xl {
  max-width: min(1560px, 98%);
  margin-inline: auto;
}

@font-face {
  font-family: "Outfit";
  src: url("../font/Outfit-VariableFont_wght.woff2") format("woff2");
  font-optical-sizing: auto;
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  src: url("../font/Barlow-SemiBold.woff2") format("woff2");
  font-family: "Barlow";
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  src: url("../font/ZenKakuGothicAntique-Light.woff2") format("woff2");
  font-family: "Zen Kaku Gothic Antique";
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  src: url("../font/ZenKakuGothicAntique-Regular.woff2") format("woff2");
  font-family: "Zen Kaku Gothic Antique";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  src: url("../font/ZenKakuGothicAntique-Medium.woff2") format("woff2");
  font-family: "Zen Kaku Gothic Antique";
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  src: url("../font/ZenKakuGothicAntique-Bold.woff2") format("woff2");
  font-family: "Zen Kaku Gothic Antique";
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  src: url("../font/ZenKakuGothicAntique-Black.woff2") format("woff2");
  font-family: "Zen Kaku Gothic Antique";
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
*[class*=b-yugo-] {
  font-family: "Zen Kaku Gothic Antique", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Noto Sans JP", "Noto Sans CJK JP", "Meiryo UI", "メイリオ", Meiryo, "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-optical-sizing: auto;
}

*[class*=b-en-] {
  font-family: "Outfit", "Barlow", "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-optical-sizing: auto;
}

.b-yugo-300 {
  font-weight: 300;
}

.b-en-300 {
  font-weight: 300;
}

.b-yugo-400 {
  font-weight: 400;
}

.b-en-400 {
  font-weight: 400;
}

.b-yugo-500 {
  font-weight: 500;
}

.b-en-500 {
  font-weight: 500;
}

.b-yugo-600 {
  font-weight: 600;
}

.b-en-600 {
  font-weight: 600;
}

.b-yugo-700 {
  font-weight: 700;
}

.b-en-700 {
  font-weight: 700;
}

.b-yugo-900 {
  font-weight: 900;
}

.b-en-900 {
  font-weight: 900;
}

:root {
  --reveal-dist: 24px;
  --reveal-dur: 0.8s;
  --reveal-ease: cubic-bezier(0.23, 1, 0.32, 1);
  /* ▼ 追加（初期値は控えめに） */
  --blur-delay: 0.12s;
  --blur-dur: 0.9s;
}

.reveal {
  opacity: 0;
  --tx: 0;
  --ty: 0;
  --scale: 1;
  filter: blur(var(--blur, 0));
  transform: translate3d(var(--tx), var(--ty), 0) scale(var(--scale));
  /* ▼ filter だけ遅らせる。要素固有の --delay も考慮して合算 */
  transition: opacity var(--dur, var(--reveal-dur)) var(--ease, var(--reveal-ease)) var(--delay, 0s), transform var(--dur, var(--reveal-dur)) var(--ease, var(--reveal-ease)) var(--delay, 0s), filter var(--blur-dur, var(--reveal-dur)) var(--ease, var(--reveal-ease)) calc(var(--delay, 0s) + var(--blur-delay, 0s));
  will-change: opacity, transform, filter;
  /* バリエーション（移動したい時だけ付ける） */
  /* ブラー強度（動きは付与しない） */
}
.reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}
.reveal.-up {
  --ty: var(--reveal-dist);
}
.reveal.-down {
  --ty: calc(-1 * var(--reveal-dist));
}
.reveal.-left {
  --tx: calc(-1 * var(--reveal-dist));
}
.reveal.-right {
  --tx: var(--reveal-dist);
}
.reveal.-zoom {
  --scale: 0.94;
}
.reveal.-blur {
  --blur: 10px;
}
.reveal.-blur-sm {
  --blur: 6px;
}
.reveal.-blur-lg {
  --blur: 16px;
}
.reveal.-blur-slow {
  --blur-dur: 1.2s;
}
.reveal.-blur-later {
  --blur-delay: 0.24s;
}
.reveal.-mask {
  position: relative;
  overflow: hidden;
  opacity: 1;
  transform: none;
  filter: none;
  transition: none;
  will-change: auto;
}
.reveal.-mask > .-mask__cont {
  opacity: 0;
  transition: opacity 0ms 0.7s;
}
.reveal.-mask.is-visible > .-mask__cont {
  opacity: 1;
}
.reveal.-mask::after {
  content: "";
  position: absolute;
  inset: 0;
  background: hsl(0, 0%, 100%);
  transform: translateX(-101%);
  will-change: transform;
  pointer-events: none;
}
.reveal.-mask.is-visible::after {
  animation: reveal-mask 1.2s cubic-bezier(0.8, 0, 0.17, 1) forwards;
}

/* 負荷配慮（任意） */
@media screen and (max-width: 767px) {
  .reveal.-blur {
    --blur-delay: 0.08s;
    --blur-dur: 0.7s;
  }
}
@media (prefers-reduced-motion: reduce) {
  .reveal,
  .reveal-clip,
  .reveal-underline {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    clip-path: none !important;
    background-size: 100% 100% !important;
  }
  .reveal.-mask::after {
    animation: none !important;
    transform: translateX(101%) !important;
  }
}
/* クリップ（必要なら） */
.reveal-clip {
  clip-path: inset(0 100% 0 0);
  transition: clip-path var(--dur, 0.9s) var(--ease, var(--reveal-ease));
  transition-delay: var(--delay, 0s);
}
.reveal-clip.is-visible {
  clip-path: inset(0 0 0 0);
}

/* アンダーライン（シンプル版・背景を伸ばす） */
.reveal-underline {
  background-size: 0% 100%;
  background-repeat: no-repeat;
  background-position: left bottom;
  transition: background-size 0.5s ease;
  transition-delay: var(--delay, 0s);
}
.reveal-underline.is-visible {
  background-size: 100% 100%;
}

/* 動きが苦手な人向け */
@media (prefers-reduced-motion: reduce) {
  .reveal,
  .reveal-clip,
  .reveal-underline {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    clip-path: none !important;
    background-size: 100% 100% !important;
  }
}
@keyframes reveal-mask {
  0% {
    transform: translateX(-101%);
  }
  40%, 60% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(101%);
  }
}
/* 親：幅をここで管理（必要に応じて調整） */
/* 親：幅をここで管理（必要に応じて数値調整） */
/* ====================================
ttl
==================================== */
.c-ttl:before {
  content: "";
  display: block;
  background: url(../images/cmn/ttl_ai.svg) center/contain no-repeat;
  aspect-ratio: 78/43;
}
@media screen and (max-width: 749px) {
  .c-ttl:before {
    margin-block-end: clamp(1.375rem, 5.8667vw, 2.75rem);
    width: clamp(3.4375rem, 14.6667vw, 6.875rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .c-ttl:before {
    margin-block-end: 2.75rem;
    width: 6.875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .c-ttl:before {
    margin-block-end: 1.75vw;
    width: 4.875vw;
  }
}
@media screen and (min-width: 1600px) {
  .c-ttl:before {
    margin-block-end: 1.75rem;
    width: 4.875rem;
  }
}
.c-ttl__en {
  line-height: 1;
  display: block;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 749px) {
  .c-ttl__en {
    font-size: clamp(2.5625rem, 10.9333vw, 5.125rem);
    margin-block-end: clamp(1.25rem, 5.3333vw, 2.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .c-ttl__en {
    font-size: 5.125rem;
    margin-block-end: 2.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .c-ttl__en {
    font-size: 4.375vw;
    margin-block-end: 1.75vw;
  }
}
@media screen and (min-width: 1600px) {
  .c-ttl__en {
    font-size: 4.375rem;
    margin-block-end: 1.75rem;
  }
}
.c-ttl__ja {
  line-height: 1;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
}
@media screen and (max-width: 749px) {
  .c-ttl__ja {
    font-size: clamp(0.9375rem, 4vw, 1.875rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .c-ttl__ja {
    font-size: 1.875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .c-ttl__ja {
    font-size: 1.375vw;
  }
}
@media screen and (min-width: 1600px) {
  .c-ttl__ja {
    font-size: 1.375rem;
  }
}
.c-ttl__ja:before {
  content: "";
  display: inline-block;
  height: 3px;
  background: url(../images/cmn/ttl_line.svg) center/contain no-repeat;
}
@media screen and (max-width: 749px) {
  .c-ttl__ja:before {
    margin-inline-end: clamp(0.6875rem, 2.9333vw, 1.375rem);
    width: clamp(0.9375rem, 4vw, 1.875rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .c-ttl__ja:before {
    margin-inline-end: 1.375rem;
    width: 1.875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .c-ttl__ja:before {
    margin-inline-end: 1vw;
    width: 1.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .c-ttl__ja:before {
    margin-inline-end: 1rem;
    width: 1.25rem;
  }
}

/* ====================================
pic
==================================== */
.c-pic img {
  width: 100%;
  height: auto;
}

/* ====================================
btn
==================================== */
.c-contactBtn {
  border-radius: 999px;
  background: hsl(357, 100%, 43%);
  color: hsl(0, 0%, 100%);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 749px) {
  .c-contactBtn {
    font-size: clamp(0.875rem, 3.7333vw, 1.75rem);
    padding-inline: clamp(0.9375rem, 4vw, 1.875rem);
    width: clamp(10.125rem, 43.2vw, 20.25rem);
    height: clamp(2.8125rem, 12vw, 5.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .c-contactBtn {
    font-size: 1.75rem;
    padding-inline: 1.875rem;
    width: 20.25rem;
    height: 5.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .c-contactBtn {
    font-size: 0.875vw;
    padding-inline: 0.875vw;
    width: 10vw;
    height: 2.75vw;
  }
}
@media screen and (min-width: 1600px) {
  .c-contactBtn {
    font-size: 0.875rem;
    padding-inline: 0.875rem;
    width: 10rem;
    height: 2.75rem;
  }
}
.c-contactBtn:hover {
  opacity: 0.7;
}
.c-contactBtn:before {
  content: "";
}
.c-contactBtn img {
  display: block;
  justify-self: end;
  aspect-ratio: 5/10;
  height: auto;
}
@media screen and (max-width: 749px) {
  .c-contactBtn img {
    width: clamp(0.25rem, 1.0667vw, 0.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .c-contactBtn img {
    width: 0.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .c-contactBtn img {
    width: 0.3125vw;
  }
}
@media screen and (min-width: 1600px) {
  .c-contactBtn img {
    width: 0.3125rem;
  }
}

.c-entryBtn {
  border-radius: 999px;
  background: hsl(214, 100%, 29%);
  color: hsl(0, 0%, 100%);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 749px) {
  .c-entryBtn {
    font-size: clamp(1.0625rem, 4.5333vw, 2.125rem);
    padding-inline: clamp(0.9375rem, 4vw, 1.875rem);
    width: clamp(10.125rem, 43.2vw, 20.25rem);
    height: clamp(2.8125rem, 12vw, 5.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .c-entryBtn {
    font-size: 2.125rem;
    padding-inline: 1.875rem;
    width: 20.25rem;
    height: 5.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .c-entryBtn {
    font-size: 1vw;
    padding-inline: 0.875vw;
    width: 10vw;
    height: 2.75vw;
  }
}
@media screen and (min-width: 1600px) {
  .c-entryBtn {
    font-size: 1rem;
    padding-inline: 0.875rem;
    width: 10rem;
    height: 2.75rem;
  }
}
.c-entryBtn:hover {
  opacity: 0.7;
}
.c-entryBtn:before {
  content: "";
}
.c-entryBtn img {
  display: block;
  justify-self: end;
  aspect-ratio: 5/10;
  height: auto;
}
@media screen and (max-width: 749px) {
  .c-entryBtn img {
    width: clamp(0.25rem, 1.0667vw, 0.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .c-entryBtn img {
    width: 0.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .c-entryBtn img {
    width: 0.3125vw;
  }
}
@media screen and (min-width: 1600px) {
  .c-entryBtn img {
    width: 0.3125rem;
  }
}

/* ====================================
bg
==================================== */
.c-part01 {
  position: relative;
}
.c-part01::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background: hsl(0, 0%, 100%);
}
.c-part01__bg {
  pointer-events: none;
  width: 100%;
  position: absolute;
  inset-inline: 0;
  z-index: 2;
  overflow: hidden;
}
@media screen and (max-width: 749px) {
  .c-part01__bg {
    inset-block-start: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .c-part01__bg {
    inset-block-start: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .c-part01__bg {
    inset-block-start: 24.625vw;
  }
}
@media screen and (min-width: 1600px) {
  .c-part01__bg {
    inset-block-start: 24.625rem;
  }
}
.c-part01 > section {
  position: relative;
  z-index: 3;
}

.c-part02 {
  position: relative;
  --c-part02-bg-height: 0px;
}
.c-part02::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: calc(var(--c-part02-bg-height) - 1px);
  height: calc(100% - var(--c-part02-bg-height));
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgb(240, 240, 240) 0%, rgba(240, 240, 240, 0) 95%, rgb(255, 255, 255) 100%);
}
.c-part02__bg {
  pointer-events: none;
  width: 100%;
  position: absolute;
  inset: 0 0 auto 0;
  z-index: 1;
  overflow: hidden;
}
.c-part02__bg::after {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(240, 240, 240, 0) 61%, rgb(240, 240, 240) 100%);
}
.c-part02 > section {
  position: relative;
  z-index: 3;
}

.c-box {
  background: hsl(0, 0%, 100%);
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .c-box__inner {
    width: min(710px, 94.7%);
  }
}

.breadcrumbs {
  width: min(1400px, 87.5vw);
  margin-inline: auto;
}
@media screen and (max-width: 749px) {
  .breadcrumbs {
    padding-block: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .breadcrumbs {
    padding-block: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .breadcrumbs {
    padding-block: 1.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .breadcrumbs {
    padding-block: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .breadcrumbs {
    width: min(630px, 84vw);
  }
}
.breadcrumbs-wrap {
  border-top: 1px solid #f0f0f0;
}
@media screen and (max-width: 749px) {
  .breadcrumbs-wrap {
    margin-block-start: clamp(5rem, 21.3333vw, 10rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .breadcrumbs-wrap {
    margin-block-start: 10rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .breadcrumbs-wrap {
    margin-block-start: 10.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .breadcrumbs-wrap {
    margin-block-start: 10.25rem;
  }
}
.breadcrumbs a,
.breadcrumbs span {
  line-height: 1;
}
@media screen and (max-width: 749px) {
  .breadcrumbs a,
  .breadcrumbs span {
    font-size: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .breadcrumbs a,
  .breadcrumbs span {
    font-size: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .breadcrumbs a,
  .breadcrumbs span {
    font-size: 0.75vw;
  }
}
@media screen and (min-width: 1600px) {
  .breadcrumbs a,
  .breadcrumbs span {
    font-size: 0.75rem;
  }
}
.breadcrumbs a.current-item,
.breadcrumbs span.current-item {
  color: #969696;
}
.breadcrumbs a.separator,
.breadcrumbs span.separator {
  margin-inline: 0.5em;
}

/* ====================================
header
==================================== */
.l-header {
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 2000;
  background: hsl(0, 0%, 100%);
  opacity: 0;
  transition: opacity 0.8s ease;
}
.l-header.is-visible {
  opacity: 1;
}
.l-header__inner {
  position: relative;
  z-index: 2000;
  background: hsl(0, 0%, 100%);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: nowrap;
}
@media screen and (max-width: 749px) {
  .l-header__inner {
    padding-inline-start: clamp(1.25rem, 5.3333vw, 2.5rem);
    padding-block-start: clamp(1.0625rem, 4.5333vw, 2.125rem);
    padding-inline-end: clamp(0.9375rem, 4vw, 1.875rem);
    padding-block-end: clamp(0.5156rem, 2.2vw, 1.0313rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-header__inner {
    padding-inline-start: 2.5rem;
    padding-block-start: 2.125rem;
    padding-inline-end: 1.875rem;
    padding-block-end: 1.0313rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-header__inner {
    padding-inline-start: 0vw;
    padding-block-start: 0vw;
    padding-inline-end: 0vw;
    padding-block-end: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-header__inner {
    padding-inline-start: 0rem;
    padding-block-start: 0rem;
    padding-inline-end: 0rem;
    padding-block-end: 0rem;
  }
}
.l-header__logo img {
  aspect-ratio: 180/50;
  height: auto;
}
@media screen and (max-width: 749px) {
  .l-header__logo img {
    width: clamp(5.625rem, 24vw, 11.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-header__logo img {
    width: 11.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-header__logo img {
    width: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-header__logo img {
    width: 0rem;
  }
}
.l-header__btn {
  position: relative;
  background: transparent;
  flex-direction: column;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
}
.l-header__btn > span {
  display: block;
  background: hsl(214, 100%, 29%);
  transition: transform 0.2s ease, opacity 0.2s ease;
}
@media screen and (max-width: 749px) {
  .l-header__btn > span {
    width: clamp(1.75rem, 7.4667vw, 3.5rem);
    height: clamp(0.1875rem, 0.8vw, 0.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-header__btn > span {
    width: 3.5rem;
    height: 0.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-header__btn > span {
    width: 0vw;
    height: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-header__btn > span {
    width: 0rem;
    height: 0rem;
  }
}
@media screen and (max-width: 749px) {
  .l-header__btn > span + span {
    margin-block-start: clamp(0.5rem, 2.1333vw, 1rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-header__btn > span + span {
    margin-block-start: 1rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-header__btn > span + span {
    margin-block-start: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-header__btn > span + span {
    margin-block-start: 0rem;
  }
}
.l-header__btn[aria-expanded=true] > span:first-child {
  transform: translateY(0.5em);
}
.l-header__btn[aria-expanded=true] > span:last-of-type {
  transform: translateY(-0.5em);
}
.l-header__btn small {
  display: block;
}
@media screen and (max-width: 749px) {
  .l-header__btn small {
    margin-block-start: clamp(0.125rem, 0.5333vw, 0.25rem);
    font-size: clamp(0.625rem, 2.6667vw, 1.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-header__btn small {
    margin-block-start: 0.25rem;
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-header__btn small {
    margin-block-start: 0vw;
    font-size: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-header__btn small {
    margin-block-start: 0rem;
    font-size: 0rem;
  }
}

/* ====================================
drawer
==================================== */
.l-drawer {
  position: fixed;
  inset: 0;
  z-index: 1500;
  display: grid;
  grid-template-rows: 1fr;
  height: 100svh;
  padding-block-start: var(--header-height, 0px);
}
.l-drawer[hidden] {
  display: none;
}
.l-drawer__panel {
  align-self: stretch;
  background: rgba(40, 40, 50, 0.98);
  color: hsl(0, 0%, 100%);
  height: 100%;
  max-height: none;
  overflow: auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transform: translateY(-100%);
  transition: transform 0.25s ease;
}
@media screen and (max-width: 749px) {
  .l-drawer__panel {
    padding-block-end: clamp(1.875rem, 8vw, 3.75rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-drawer__panel {
    padding-block-end: 3.75rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-drawer__panel {
    padding-block-end: 1vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-drawer__panel {
    padding-block-end: 1rem;
  }
}
.l-drawer__nav {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.l-drawer__list {
  display: flex;
  flex-direction: column;
  text-align: center;
  list-style: none;
}
.l-drawer__list a {
  display: block;
  margin-block-end: 1em;
}
@media screen and (max-width: 749px) {
  .l-drawer__list a {
    font-size: clamp(1.125rem, 4.8vw, 2.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-drawer__list a {
    font-size: 2.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-drawer__list a {
    font-size: 2.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-drawer__list a {
    font-size: 2.25rem;
  }
}
.l-drawer__btns {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.l-drawer__btns a {
  justify-self: center;
}
.l-drawer.is-open {
  animation: drawerFade 0.18s ease;
}
.l-drawer.is-open .l-drawer__panel {
  transform: translateY(0);
}

@keyframes drawerFade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
html.is-drawer-open,
body.is-drawer-open {
  overflow: hidden;
}

/* ====================================
gNav
==================================== */
.l-gNav {
  background: hsl(0, 0%, 100%);
  opacity: 0;
  transition: opacity 0.8s ease;
}
.l-gNav.is-visible {
  opacity: 1;
}
@media screen and (max-width: 749px) {
  .l-gNav {
    padding-inline: clamp(1.25rem, 5.3333vw, 2.5rem);
    padding-block: clamp(0.4375rem, 1.8667vw, 0.875rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-gNav {
    padding-inline: 2.5rem;
    padding-block: 0.875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-gNav {
    padding-inline: 1.875vw;
    padding-block: 0.875vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-gNav {
    padding-inline: 1.875rem;
    padding-block: 0.875rem;
  }
}
@media screen and (min-width: 768px) {
  .l-gNav {
    position: sticky;
    top: 0;
    z-index: 900;
  }
}
.l-gNav__grid {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .l-gNav__grid {
    display: block;
  }
}
.l-gNav__logo img {
  aspect-ratio: 112/31;
}
@media screen and (max-width: 749px) {
  .l-gNav__logo img {
    width: clamp(5.625rem, 24vw, 11.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-gNav__logo img {
    width: 11.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-gNav__logo img {
    width: 7vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-gNav__logo img {
    width: 7rem;
  }
}
.l-gNav__nav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: nowrap;
}
@media screen and (max-width: 767px) {
  .l-gNav__nav {
    justify-content: space-between;
  }
}
@media screen and (max-width: 749px) {
  .l-gNav__nav {
    gap: 0rem;
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-gNav__nav {
    gap: 0rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-gNav__nav {
    gap: 2.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-gNav__nav {
    gap: 2.5rem;
  }
}
.l-gNav__list {
  list-style: none;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: nowrap;
}
.l-gNav__list li:not(:last-child)::after {
  content: "/";
  margin-inline: 0.5em;
}
.l-gNav__list li a {
  transition: opacity 0.3s ease;
}
.l-gNav__list li a:hover {
  opacity: 0.7;
}
.l-gNav__btn {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 749px) {
  .l-gNav__btn {
    gap: clamp(0.6875rem, 2.9333vw, 1.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-gNav__btn {
    gap: 1.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-gNav__btn {
    gap: 0.625vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-gNav__btn {
    gap: 0.625rem;
  }
}

/* ====================================
footer
==================================== */
.l-footer {
  position: relative;
  background: hsl(0, 0%, 100%);
  z-index: 2;
}
@media screen and (max-width: 749px) {
  .l-footer {
    padding-block-start: clamp(2.75rem, 11.7333vw, 5.5rem);
    padding-block-end: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-footer {
    padding-block-start: 5.5rem;
    padding-block-end: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-footer {
    padding-block-start: 6.25vw;
    padding-block-end: 2.125vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-footer {
    padding-block-start: 6.25rem;
    padding-block-end: 2.125rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer {
    width: min(710px, 94.7%);
    margin-inline: auto;
    display: grid;
    grid-template-areas: "brand nav" "home nav" "copy copy";
  }
}
.l-footer__brand {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (max-width: 749px) {
  .l-footer__brand {
    margin-block-start: clamp(0.3438rem, 1.4667vw, 0.6875rem);
    margin-block-end: 0rem;
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-footer__brand {
    margin-block-start: 0.6875rem;
    margin-block-end: 0rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-footer__brand {
    margin-block-start: 0vw;
    margin-block-end: 1.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-footer__brand {
    margin-block-start: 0rem;
    margin-block-end: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__brand {
    grid-area: brand;
  }
}
.l-footer__logo {
  height: auto;
}
@media screen and (max-width: 749px) {
  .l-footer__logo {
    width: clamp(6.875rem, 29.3333vw, 13.75rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-footer__logo {
    width: 13.75rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-footer__logo {
    width: 12.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-footer__logo {
    width: 12.5rem;
  }
}
.l-footer__home {
  text-align: center;
}
@media screen and (max-width: 749px) {
  .l-footer__home {
    font-size: clamp(0.6875rem, 2.9333vw, 1.375rem);
    margin-block-end: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-footer__home {
    font-size: 1.375rem;
    margin-block-end: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-footer__home {
    font-size: 1vw;
    margin-block-end: 7.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-footer__home {
    font-size: 1rem;
    margin-block-end: 7.25rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__home {
    grid-area: home;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__nav {
    grid-area: nav;
    justify-self: center;
  }
}
.l-footer__links {
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
}
@media screen and (max-width: 767px) {
  .l-footer__links {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.7em;
  }
}
@media screen and (max-width: 749px) {
  .l-footer__link {
    font-size: clamp(0.6875rem, 2.9333vw, 1.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-footer__link {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-footer__link {
    font-size: 0.9375vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-footer__link {
    font-size: 0.9375rem;
  }
}
.l-footer__link:not(:last-child)::after {
  content: "｜";
  margin-inline: 1em;
}
@media screen and (max-width: 767px) {
  .l-footer__link:not(:last-child)::after {
    display: none;
  }
}
.l-footer__copy {
  text-align: center;
}
@media screen and (max-width: 749px) {
  .l-footer__copy {
    margin-block-start: clamp(3rem, 12.8vw, 6rem);
    font-size: clamp(0.625rem, 2.6667vw, 1.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-footer__copy {
    margin-block-start: 6rem;
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-footer__copy {
    margin-block-start: 5.3125vw;
    font-size: 0.75vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-footer__copy {
    margin-block-start: 5.3125rem;
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__copy {
    grid-area: copy;
  }
}

/* ====================================
NEWS
==================================== */
.p-news {
  position: relative;
  z-index: 2;
  background: hsl(0, 0%, 100%);
}
@media screen and (max-width: 749px) {
  .p-news {
    padding-block-start: clamp(5.125rem, 21.8667vw, 10.25rem);
    padding-block-end: clamp(3.8125rem, 16.2667vw, 7.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news {
    padding-block-start: 10.25rem;
    padding-block-end: 7.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news {
    padding-block-start: 12.875vw;
    padding-block-end: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news {
    padding-block-start: 12.875rem;
    padding-block-end: 0rem;
  }
}
.p-news::after {
  content: "";
  position: absolute;
  inset-inline: auto 0;
  inset-block-end: 0;
  background: hsl(0, 0%, 96%);
  border-radius: 20px 0 0 20px;
}
@media screen and (max-width: 749px) {
  .p-news::after {
    inset-block-start: clamp(5.125rem, 21.8667vw, 10.25rem);
    width: clamp(22.1875rem, 94.6667vw, 44.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news::after {
    inset-block-start: 10.25rem;
    width: 44.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news::after {
    inset-block-start: 12.875vw;
    width: 62.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news::after {
    inset-block-start: 12.875rem;
    width: 62.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-news::after {
    margin-inline: auto;
    inset-inline: 50% auto;
    transform: translateX(-50%);
    border-radius: 20px;
    inset-block: auto 0;
    height: 78.6%;
  }
}
.p-news__inner {
  position: relative;
  z-index: 2;
}
.p-news__hd {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: nowrap;
}
@media screen and (max-width: 749px) {
  .p-news__hd {
    margin-block-end: clamp(3.125rem, 13.3333vw, 6.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__hd {
    margin-block-end: 6.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__hd {
    margin-block-end: 4.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__hd {
    margin-block-end: 4.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-news__hd {
    align-items: flex-start;
    flex-direction: column;
  }
}
@media screen and (max-width: 749px) {
  .p-news__ttl {
    margin-block-end: clamp(6.25rem, 26.6667vw, 12.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__ttl {
    margin-block-end: 12.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__ttl {
    margin-block-end: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__ttl {
    margin-block-end: 0rem;
  }
}
.p-news__tabs {
  width: 100%;
  gap: 0.625rem;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  flex-wrap: nowrap;
}
@media screen and (max-width: 767px) {
  .p-news__tabs {
    justify-content: space-between;
  }
}
.p-news__tab {
  position: relative;
  display: block;
  width: min(160px, 100%);
  background: hsl(0, 0%, 100%);
  border-radius: 2px;
  filter: drop-shadow(0 0 4px rgba(35, 24, 21, 0.1));
  text-align: center;
  transition: 0.3s ease;
  letter-spacing: -0.025em;
}
@media screen and (max-width: 749px) {
  .p-news__tab {
    font-size: clamp(0.625rem, 2.6667vw, 1.25rem);
    height: clamp(1.875rem, 8vw, 3.75rem);
    padding-inline: clamp(0.625rem, 2.6667vw, 1.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__tab {
    font-size: 1.25rem;
    height: 3.75rem;
    padding-inline: 1.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__tab {
    font-size: 0.9375vw;
    height: 2.75vw;
    padding-inline: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__tab {
    font-size: 0.9375rem;
    height: 2.75rem;
    padding-inline: 0rem;
  }
}
@media screen and (max-width: 767px) {
  .p-news__tab {
    width: -moz-fit-content;
    width: fit-content;
  }
}
.p-news__tab[aria-selected=true] {
  color: hsl(0, 0%, 100%);
  background: hsl(214, 100%, 29%);
}
.p-news__tab[aria-selected=true]::after {
  content: "";
  display: block;
  background: hsl(214, 100%, 29%);
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translate(-50%, 0%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
@media screen and (max-width: 749px) {
  .p-news__tab[aria-selected=true]::after {
    width: clamp(0.4375rem, 1.8667vw, 0.875rem);
    height: clamp(0.4063rem, 1.7333vw, 0.8125rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__tab[aria-selected=true]::after {
    width: 0.875rem;
    height: 0.8125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__tab[aria-selected=true]::after {
    width: 0.5vw;
    height: 0.375vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__tab[aria-selected=true]::after {
    width: 0.5rem;
    height: 0.375rem;
  }
}
.p-news__sld {
  --card-gap: 40px;
  --edge-pad: 40px;
}
@media screen and (max-width: 767px) {
  .p-news__sld {
    --card-gap: clamp(1.25rem, 5.3333vw, 2.5rem);
    --edge-pad: clamp(1.25rem, 5.3333vw, 2.5rem);
  }
}
.p-news__sld .splide__arrows {
  position: absolute;
  left: 50%;
  bottom: -8px;
  transform: translateX(-50%);
  width: 94%;
  display: flex;
  justify-content: space-between;
}
.p-news__sld .splide__arrows svg {
  display: none;
}
.p-news__sld .splide__arrows .splide__arrow::before {
  content: "";
  display: block;
  background: url(../images/news/arrow.svg) no-repeat center center/contain;
  height: auto;
  aspect-ratio: 20/34;
}
@media screen and (max-width: 749px) {
  .p-news__sld .splide__arrows .splide__arrow::before {
    width: clamp(0.625rem, 2.6667vw, 1.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__sld .splide__arrows .splide__arrow::before {
    width: 1.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__sld .splide__arrows .splide__arrow::before {
    width: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__sld .splide__arrows .splide__arrow::before {
    width: 0rem;
  }
}
.p-news__sld .splide__arrows .splide__arrow--prev {
  transform: rotate(180deg);
}
.p-news__sld .splide__slide {
  box-sizing: border-box;
  width: calc(min(560px, 74.6667vw) + var(--card-gap, 0));
  padding-inline: calc(var(--card-gap, 0) / 2);
}
.p-news__sld .splide__list {
  padding-inline: var(--edge-pad, 0);
}
@media screen and (max-width: 749px) {
  .p-news__sld .splide__pagination {
    gap: clamp(0.625rem, 2.6667vw, 1.25rem);
    margin-block-start: clamp(2.25rem, 9.6vw, 4.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__sld .splide__pagination {
    gap: 1.25rem;
    margin-block-start: 4.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__sld .splide__pagination {
    gap: 0vw;
    margin-block-start: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__sld .splide__pagination {
    gap: 0rem;
    margin-block-start: 0rem;
  }
}
.p-news__sld .splide__pagination li button {
  display: block;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: hsl(0, 0%, 78%);
}
@media screen and (max-width: 749px) {
  .p-news__sld .splide__pagination li button {
    width: clamp(0.5rem, 2.1333vw, 1rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__sld .splide__pagination li button {
    width: 1rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__sld .splide__pagination li button {
    width: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__sld .splide__pagination li button {
    width: 0rem;
  }
}
.p-news__sld .splide__pagination li button.is-active {
  background: hsl(357, 100%, 43%);
}
.p-news__list {
  list-style: none;
}
@media screen and (min-width: 768px) {
  .p-news__list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
  }
}
@media screen and (max-width: 749px) {
  .p-news__list {
    gap: 0rem;
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__list {
    gap: 0rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__list {
    gap: 2.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__list {
    gap: 2.25rem;
  }
}
.p-news__pic {
  display: block;
}
@media screen and (max-width: 749px) {
  .p-news__pic {
    margin-block-end: clamp(0.9375rem, 4vw, 1.875rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__pic {
    margin-block-end: 1.875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__pic {
    margin-block-end: 1.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__pic {
    margin-block-end: 1.25rem;
  }
}
.p-news__pic img {
  height: auto;
  aspect-ratio: 230/160;
}
@media screen and (max-width: 767px) {
  .p-news__pic img {
    aspect-ratio: 560/390;
  }
}
@media screen and (max-width: 749px) {
  .p-news__meta {
    margin-block-end: clamp(0.3125rem, 1.3333vw, 0.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__meta {
    margin-block-end: 0.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__meta {
    margin-block-end: 0.625vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__meta {
    margin-block-end: 0.625rem;
  }
}
@media screen and (max-width: 749px) {
  .p-news__time {
    font-size: clamp(0.6875rem, 2.9333vw, 1.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__time {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__time {
    font-size: 0.875vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__time {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 749px) {
  .p-news__line {
    font-size: clamp(0.6875rem, 2.9333vw, 1.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__line {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__line {
    font-size: 0.875vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__line {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 749px) {
  .p-news__tag {
    font-size: clamp(0.6875rem, 2.9333vw, 1.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__tag {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__tag {
    font-size: 0.75vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__tag {
    font-size: 0.75rem;
  }
}
.p-news__card-ttl {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3;
}
@media screen and (max-width: 749px) {
  .p-news__card-ttl {
    font-size: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__card-ttl {
    font-size: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__card-ttl {
    font-size: 1vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__card-ttl {
    font-size: 1rem;
  }
}
.p-news__btn a {
  background: hsl(214, 100%, 29%);
  color: hsl(0, 0%, 100%);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  border-radius: 999px;
}
@media screen and (max-width: 749px) {
  .p-news__btn a {
    width: clamp(10.3125rem, 44vw, 20.625rem);
    height: clamp(2.5rem, 10.6667vw, 5rem);
    padding-inline: clamp(1.1875rem, 5.0667vw, 2.375rem);
    margin-block-start: clamp(2.875rem, 12.2667vw, 5.75rem);
    font-size: clamp(0.75rem, 3.2vw, 1.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__btn a {
    width: 20.625rem;
    height: 5rem;
    padding-inline: 2.375rem;
    margin-block-start: 5.75rem;
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__btn a {
    width: 13.75vw;
    height: 3.125vw;
    padding-inline: 1.125vw;
    margin-block-start: 4.8125vw;
    font-size: 1vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__btn a {
    width: 13.75rem;
    height: 3.125rem;
    padding-inline: 1.125rem;
    margin-block-start: 4.8125rem;
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-news__btn a {
    margin-inline: auto;
  }
}
.p-news__btn a::before {
  content: "";
}
.p-news__btn a img {
  display: block;
  width: 6px;
  height: 11px;
  justify-self: end;
}
.p-news__empty > p {
  text-align: center;
}
@media screen and (max-width: 749px) {
  .p-news__empty > p {
    font-size: clamp(0.875rem, 3.7333vw, 1.75rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__empty > p {
    font-size: 1.75rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__empty > p {
    font-size: 1.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__empty > p {
    font-size: 1.25rem;
  }
}

/* ====================================
CONTACT
==================================== */
.p-contact__wrap {
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-contact__wrap {
    margin-inline: calc(50% - 50vw);
  }
}
.p-contact__img {
  aspect-ratio: 1560/540;
}
@media screen and (max-width: 767px) {
  .p-contact__img {
    aspect-ratio: 750/540;
  }
}
.p-contact__body {
  position: absolute;
  inset: 0;
}
@media screen and (max-width: 749px) {
  .p-contact__body {
    margin-block-start: clamp(3.4063rem, 14.5333vw, 6.8125rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-contact__body {
    margin-block-start: 6.8125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-contact__body {
    margin-block-start: 8.125vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-contact__body {
    margin-block-start: 8.125rem;
  }
}
.p-contact__ttl {
  color: hsl(0, 0%, 100%);
  flex-direction: column;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
}
@media screen and (max-width: 749px) {
  .p-contact__ttl {
    gap: clamp(0.8125rem, 3.4667vw, 1.625rem);
    margin-block-end: clamp(2.6563rem, 11.3333vw, 5.3125rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-contact__ttl {
    gap: 1.625rem;
    margin-block-end: 5.3125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-contact__ttl {
    gap: 1.5625vw;
    margin-block-end: 4.9375vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-contact__ttl {
    gap: 1.5625rem;
    margin-block-end: 4.9375rem;
  }
}
.p-contact__ttl-en {
  line-height: 1;
}
@media screen and (max-width: 749px) {
  .p-contact__ttl-en {
    font-size: clamp(2.5rem, 10.6667vw, 5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-contact__ttl-en {
    font-size: 5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-contact__ttl-en {
    font-size: 4.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-contact__ttl-en {
    font-size: 4.5rem;
  }
}
.p-contact__ttl-ja {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  line-height: 1;
}
@media screen and (max-width: 749px) {
  .p-contact__ttl-ja {
    font-size: clamp(0.9375rem, 4vw, 1.875rem);
    gap: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-contact__ttl-ja {
    font-size: 1.875rem;
    gap: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-contact__ttl-ja {
    font-size: 1.5vw;
    gap: 1.875vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-contact__ttl-ja {
    font-size: 1.5rem;
    gap: 1.875rem;
  }
}
.p-contact__ttl-ja::before, .p-contact__ttl-ja::after {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  background: hsl(0, 0%, 100%);
}
.p-contact__btn {
  margin-inline: auto;
}
@media screen and (max-width: 749px) {
  .p-contact__btn {
    font-size: clamp(0.875rem, 3.7333vw, 1.75rem);
    padding-inline: clamp(0.9375rem, 4vw, 1.875rem);
    width: clamp(12.5rem, 53.3333vw, 25rem);
    height: clamp(2.8125rem, 12vw, 5.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-contact__btn {
    font-size: 1.75rem;
    padding-inline: 1.875rem;
    width: 25rem;
    height: 5.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-contact__btn {
    font-size: 1.375vw;
    padding-inline: 1.875vw;
    width: 22.5vw;
    height: 4.375vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-contact__btn {
    font-size: 1.375rem;
    padding-inline: 1.875rem;
    width: 22.5rem;
    height: 4.375rem;
  }
}
@media screen and (max-width: 749px) {
  .p-contact__btn img {
    width: clamp(0.25rem, 1.0667vw, 0.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-contact__btn img {
    width: 0.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-contact__btn img {
    width: 0.375vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-contact__btn img {
    width: 0.375rem;
  }
}

/* ====================================
NEWS
==================================== */
.l-header {
  opacity: 1;
}

.l-gNav {
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .l-gNav {
    display: none;
  }
}

@media screen and (max-width: 749px) {
  .a-news {
    margin-block-start: clamp(5rem, 21.3333vw, 10rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .a-news {
    margin-block-start: 10rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .a-news {
    margin-block-start: 6.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .a-news {
    margin-block-start: 6.25rem;
  }
}
@media screen and (max-width: 767px) {
  .a-news__inner {
    width: min(650px, 90vw);
  }
}
.a-news__bg {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.5;
  filter: blur(20px);
  pointer-events: none;
}
.a-news__bg img {
  display: block;
  height: auto;
}
@media screen and (max-width: 749px) {
  .a-news__bg img {
    width: clamp(27.1875rem, 116vw, 54.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .a-news__bg img {
    width: 54.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .a-news__bg img {
    width: 87.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .a-news__bg img {
    width: 87.5rem;
  }
}
@media screen and (max-width: 749px) {
  .a-news__ttl {
    margin-block-end: clamp(3.4063rem, 14.5333vw, 6.8125rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .a-news__ttl {
    margin-block-end: 6.8125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .a-news__ttl {
    margin-block-end: 8.375vw;
  }
}
@media screen and (min-width: 1600px) {
  .a-news__ttl {
    margin-block-end: 8.375rem;
  }
}
.a-news__box {
  position: relative;
}
@media screen and (max-width: 749px) {
  .a-news__box {
    padding-block-start: clamp(4.375rem, 18.6667vw, 8.75rem);
    padding-inline: clamp(1.25rem, 5.3333vw, 2.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .a-news__box {
    padding-block-start: 8.75rem;
    padding-inline: 2.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .a-news__box {
    padding-block-start: 7.5vw;
    padding-inline: 6.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .a-news__box {
    padding-block-start: 7.5rem;
    padding-inline: 6.25rem;
  }
}
.a-news__box::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
  height: var(--news-box-after-height, 100%);
  background: hsla(0, 0%, 96%, 0.8);
  border-radius: 20px;
}
.a-news__tabs {
  margin-inline: auto;
  justify-content: center;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 749px) {
  .a-news__tabs {
    margin-block-end: clamp(4.375rem, 18.6667vw, 8.75rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .a-news__tabs {
    margin-block-end: 8.75rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .a-news__tabs {
    margin-block-end: 7.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .a-news__tabs {
    margin-block-end: 7.5rem;
  }
}
.a-news__list, .a-news__empty {
  list-style: none;
}
@media screen and (max-width: 749px) {
  .a-news__list, .a-news__empty {
    padding-block-end: clamp(4.375rem, 18.6667vw, 8.75rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .a-news__list, .a-news__empty {
    padding-block-end: 8.75rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .a-news__list, .a-news__empty {
    padding-block-end: 7.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .a-news__list, .a-news__empty {
    padding-block-end: 7.5rem;
  }
}
.a-news__empty > p {
  text-align: center;
}
@media screen and (max-width: 749px) {
  .a-news__empty > p {
    font-size: clamp(0.875rem, 3.7333vw, 1.75rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .a-news__empty > p {
    font-size: 1.75rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .a-news__empty > p {
    font-size: 1.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .a-news__empty > p {
    font-size: 1.25rem;
  }
}
.a-news__pnl {
  position: relative;
  z-index: 2;
}
.a-news__card > a {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
}
@media screen and (max-width: 768px) {
  .a-news__card > a {
    flex-direction: column;
  }
}
@media screen and (max-width: 749px) {
  .a-news__card > a {
    gap: clamp(0.625rem, 2.6667vw, 1.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .a-news__card > a {
    gap: 1.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .a-news__card > a {
    gap: 2.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .a-news__card > a {
    gap: 2.5rem;
  }
}
.a-news__card:not(:last-child) a {
  border-bottom: 1px solid #c8c8c8;
}
@media screen and (max-width: 749px) {
  .a-news__card:not(:last-child) a {
    margin-block-end: clamp(2.0313rem, 8.6667vw, 4.0625rem);
    padding-block-end: clamp(2.0313rem, 8.6667vw, 4.0625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .a-news__card:not(:last-child) a {
    margin-block-end: 4.0625rem;
    padding-block-end: 4.0625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .a-news__card:not(:last-child) a {
    margin-block-end: 2.5vw;
    padding-block-end: 2.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .a-news__card:not(:last-child) a {
    margin-block-end: 2.5rem;
    padding-block-end: 2.5rem;
  }
}
.a-news__pic {
  display: block;
  flex: 0 0 auto;
}
.a-news__pic img {
  height: auto;
  aspect-ratio: 230/160;
  border-radius: 5px;
}
@media screen and (max-width: 767px) {
  .a-news__pic img {
    aspect-ratio: 560/390;
  }
}
@media screen and (max-width: 749px) {
  .a-news__pic img {
    width: clamp(17.5rem, 74.6667vw, 35rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .a-news__pic img {
    width: 35rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .a-news__pic img {
    width: 14.375vw;
  }
}
@media screen and (min-width: 1600px) {
  .a-news__pic img {
    width: 14.375rem;
  }
}
.a-news__card-body {
  flex: 1 1 auto;
}
.a-news__meta {
  line-height: 1;
}
@media screen and (max-width: 749px) {
  .a-news__meta {
    padding-block-start: clamp(0.4688rem, 2vw, 0.9375rem);
    padding-block-end: clamp(0.625rem, 2.6667vw, 1.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .a-news__meta {
    padding-block-start: 0.9375rem;
    padding-block-end: 1.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .a-news__meta {
    padding-block-start: 0.625vw;
    padding-block-end: 2.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .a-news__meta {
    padding-block-start: 0.625rem;
    padding-block-end: 2.5rem;
  }
}
.a-news__date {
  line-height: 1;
}
@media screen and (max-width: 749px) {
  .a-news__date {
    font-size: clamp(0.75rem, 3.2vw, 1.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .a-news__date {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .a-news__date {
    font-size: 0.9375vw;
  }
}
@media screen and (min-width: 1600px) {
  .a-news__date {
    font-size: 0.9375rem;
  }
}
.a-news__tag {
  line-height: 1;
  margin-inline-start: 1em;
}
@media screen and (max-width: 749px) {
  .a-news__tag {
    font-size: clamp(0.6875rem, 2.9333vw, 1.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .a-news__tag {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .a-news__tag {
    font-size: 0.875vw;
  }
}
@media screen and (min-width: 1600px) {
  .a-news__tag {
    font-size: 0.875rem;
  }
}
.a-news__card-ttl {
  line-height: 2.1;
  margin-block: calc((1em - 1lh) / 2);
}
@supports not (top: 1lh) {
  .a-news__card-ttl {
    margin-block: 0;
  }
}
@media screen and (max-width: 749px) {
  .a-news__card-ttl {
    font-size: clamp(0.875rem, 3.7333vw, 1.75rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .a-news__card-ttl {
    font-size: 1.75rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .a-news__card-ttl {
    font-size: 1.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .a-news__card-ttl {
    font-size: 1.25rem;
  }
}

.c-pagination {
  list-style: none;
  gap: 1em;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 749px) {
  .c-pagination {
    padding-block-start: clamp(2.75rem, 11.7333vw, 5.5rem);
    font-size: clamp(0.875rem, 3.7333vw, 1.75rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .c-pagination {
    padding-block-start: 5.5rem;
    font-size: 1.75rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .c-pagination {
    padding-block-start: 6.25vw;
    font-size: 1.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .c-pagination {
    padding-block-start: 6.25rem;
    font-size: 1.25rem;
  }
}
.c-pagination--single {
  justify-content: space-between;
}
@media screen and (max-width: 749px) {
  .c-pagination--single {
    font-size: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .c-pagination--single {
    font-size: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .c-pagination--single {
    font-size: 1vw;
  }
}
@media screen and (min-width: 1600px) {
  .c-pagination--single {
    font-size: 1rem;
  }
}
.c-pagination a,
.c-pagination span {
  display: block;
}
.c-pagination a.current,
.c-pagination span.current {
  text-decoration: underline;
}
.c-pagination__prev, .c-pagination__next {
  position: relative;
}
.c-pagination--single .c-pagination__prev a, .c-pagination--single .c-pagination__next a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  gap: 1em;
}

.c-pagination__prev:before, .c-pagination__next:before {
  content: "";
  display: block;
  aspect-ratio: 1/1;
  border-top: solid 2px #333;
  border-right: solid 2px #333;
  transform: rotate(-135deg);
}
@media screen and (max-width: 749px) {
  .c-pagination__prev:before, .c-pagination__next:before {
    width: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .c-pagination__prev:before, .c-pagination__next:before {
    width: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .c-pagination__prev:before, .c-pagination__next:before {
    width: 1vw;
  }
}
@media screen and (min-width: 1600px) {
  .c-pagination__prev:before, .c-pagination__next:before {
    width: 1rem;
  }
}
.c-pagination--single .c-pagination__prev:before, .c-pagination--single .c-pagination__next:before {
  display: none;
}

.c-pagination--single .c-pagination__next img {
  transform: rotate(180deg);
}

.c-pagination__next:before {
  transform: rotate(45deg);
}

.single-content {
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 749px) {
  .single-content {
    padding-block-end: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .single-content {
    padding-block-end: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .single-content {
    padding-block-end: 7.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .single-content {
    padding-block-end: 7.5rem;
  }
}
.single-content .a-news__card-ttl {
  line-height: 1.7647058824;
  margin-block-end: 1em;
}
@media screen and (max-width: 749px) {
  .single-content .a-news__card-ttl {
    font-size: clamp(1.25rem, 5.3333vw, 2.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .single-content .a-news__card-ttl {
    font-size: 2.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .single-content .a-news__card-ttl {
    font-size: 2.125vw;
  }
}
@media screen and (min-width: 1600px) {
  .single-content .a-news__card-ttl {
    font-size: 2.125rem;
  }
}
.single-content .a-news__card-ttl::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: url(../images/news/ttl_ai.svg) no-repeat center/cover;
  margin-block-start: 0.5em;
}

.single-content article {
  /* 箇条書き：標準と同じくらいのマージン＆インデントを復活 */
  /* blockquote のインデント（ブラウザ標準に近い感じ） */
  /* hr の余白だけ標準っぽく戻す（線の見た目は destyle のまま） */
  /* table 周り：余白とスペーシングを標準寄りに復活 */
}
.single-content article p,
.single-content article table,
.single-content article blockquote,
.single-content article address,
.single-content article pre,
.single-content article iframe,
.single-content article form,
.single-content article figure,
.single-content article dl {
  margin-block-start: 1em;
  margin-block-end: 1em;
}
.single-content article h1 {
  font-size: 2em;
  margin-block-start: 0.67em;
  margin-block-end: 0.67em;
  font-weight: bold;
}
.single-content article h2 {
  font-size: 1.5em;
  margin-block-start: 0.83em;
  margin-block-end: 0.83em;
  font-weight: bold;
  border-bottom: 1px solid #c8c8c8;
  padding-block-end: 0.5em;
}
.single-content article h3 {
  font-size: 1.17em;
  margin-block-start: 1em;
  margin-block-end: 1em;
  font-weight: bold;
}
.single-content article h4 {
  font-size: 1em;
  margin-block-start: 1.33em;
  margin-block-end: 1.33em;
  font-weight: bold;
}
.single-content article h5 {
  font-size: 0.83em;
  margin-block-start: 1.67em;
  margin-block-end: 1.67em;
  font-weight: bold;
}
.single-content article h6 {
  font-size: 0.67em;
  margin-block-start: 2.33em;
  margin-block-end: 2.33em;
  font-weight: bold;
}
.single-content article ul,
.single-content article ol {
  margin-block-start: 1em;
  margin-block-end: 1em;
  padding-inline-start: 1em;
}
.single-content article :is(dir, dl, menu, ol, ul) ol,
.single-content article :is(dir, dl, menu, ol, ul) ul {
  margin-block: 0;
}
.single-content article dd {
  margin-inline-start: 1em;
}
.single-content article blockquote {
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline: 1em;
}
.single-content article hr {
  margin-block-start: 0.5em;
  margin-block-end: 0.5em;
}