@charset "utf-8";

/* == fonts =============================================== */
@font-face {
  font-family: "EXD Sans L";
  src: url("../fonts/EXDSans-L.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "EXD Sans R";
  src: url("../fonts/EXDSans-R.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "EXD Sans M";
  src: url("../fonts/EXDSans-M.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* == base ================================================ */
:root {
  --exd-font-l: "EXD Sans L", ryo-gothic-plusn, "游ゴシック体", yugothic,
    "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic",
    "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  --exd-font-r: "EXD Sans R", ryo-gothic-plusn, "游ゴシック体", yugothic,
    "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic",
    "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  --exd-font-m: "EXD Sans M", ryo-gothic-plusn, "游ゴシック体", yugothic,
    "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic",
    "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;

  --vw10: 0.69vw;
  --vw11: 0.76vw;
  --vw12: 0.83vw;
  --vw13: 0.9vw;
  --vw14: 0.97vw;
  --vw15: 1.04vw;
  --vw16: 1.11vw;
  --vw17: 1.18vw;
  --vw18: 1.25vw;
  --vw19: 1.32vw;
  --vw20: 1.39vw;
  --vw21: 1.46vw;
  --vw22: 1.53vw;
  --vw23: 1.6vw;
  --vw24: 1.67vw;
  --vw25: 1.74vw;
  --vw26: 1.81vw;
  --vw27: 1.88vw;
  --vw28: 1.94vw;
  --vw29: 2.01vw;
  --vw30: 2.08vw;
  --vw32: 2.22vw;
  --vw34: 2.36vw;
  --vw35: 2.43vw;
  --vw36: 2.5vw;
  --vw38: 2.64vw;
  --vw40: 2.78vw;
  --vw42: 2.92vw;
  --vw44: 3.06vw;
  --vw45: 3.13vw;
  --vw46: 3.19vw;
  --vw47: 3.26vw;
  --vw48: 3.33vw;
  --vw50: 3.47vw;
  --vw52: 3.61vw;
  --vw54: 3.75vw;
  --vw56: 3.89vw;
  --vw60: 4.17vw;
  --vw62: 4.31vw;
  --vw64: 4.44vw;
  --vw65: 4.51vw;
  --vw66: 4.58vw;
  --vw68: 4.72vw;
  --vw70: 4.86vw;
  --vw72: 5vw;
  --vw74: 5.14vw;
  --vw74: 5.28vw;
  --vw80: 5.56vw;

  --color-black: #231815;
  --color-white: #fff;
  --color-gray: #ccc;
  --color-gray2: #eee;
  --color-yellow: #ffe100;
  --color-blue-light: #71c7d1;
  --color-green: #a7d28d;
  --color-red: #ef858c;
  --color-brown: #c9a063;
  --color-purple: #c486b8;

  --icon-download-yellow: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 86.1 84.1"><g fill="none" stroke="%23ffe100" stroke-miterlimit="10" stroke-width="4.52"><path d="m43.05 0v57.57"/><path d="m71.37 32.5-28.32 28.32-28.32-28.32"/><path d="m0 81.84h86.1"/></g></svg>');
  --icon-download-white: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 86.1 84.1"><g fill="none" stroke="%23ffffff" stroke-miterlimit="10" stroke-width="4.52"><path d="m43.05 0v57.57"/><path d="m71.37 32.5-28.32 28.32-28.32-28.32"/><path d="m0 81.84h86.1"/></g></svg>');

  --arrow-prev-normal: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><polyline fill="none" stroke="%23231815" stroke-miterlimit="10" stroke-width="1.71" points="11.6 21.39 1.21 11 11.6 .6"/><line fill="none" stroke="%23231815" stroke-miterlimit="10" stroke-width="1.71" x1="1.21" y1="11" x2="22" y2="11"/></svg>');
  --arrow-prev-hover: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><polyline fill="none" stroke="%23ffffff" stroke-miterlimit="10" stroke-width="1.71" points="11.6 21.39 1.21 11 11.6 .6"/><line fill="none" stroke="%23ffffff" stroke-miterlimit="10" stroke-width="1.71" x1="1.21" y1="11" x2="22" y2="11"/></svg>');
  --arrow-next-normal: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><polyline fill="none" stroke="%23231815" stroke-miterlimit="10" stroke-width="1.71" points="10.39 .6 20.79 11 10.39 21.39"/><line fill="none" stroke="%23231815" stroke-miterlimit="10" stroke-width="1.71" x1="20.79" y1="11" x2="0" y2="11"/></svg>');
  --arrow-next-hover: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><polyline fill="none" stroke="%23ffffff" stroke-miterlimit="10" stroke-width="1.71" points="10.39 .6 20.79 11 10.39 21.39"/><line fill="none" stroke="%23ffffff" stroke-miterlimit="10" stroke-width="1.71" x1="20.79" y1="11" x2="0" y2="11"/></svg>');

  --arrow-svg: url("data:image/svg+xml,%3Csvg viewBox='0 0 16.42 15.48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23231815' stroke-miterlimit='10' stroke-width='1.45'%3E%3Cpath d='m0 7.74h9.93'/%3E%3Cpath d='m8.16.51 7.23 7.23-7.23 7.23'/%3E%3C/g%3E%3C/svg%3E");
  --arrow-svg-white: url("data:image/svg+xml,%3Csvg viewBox='0 0 16.42 15.48' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23ffffff' stroke-miterlimit='10' stroke-width='1.45'%3E%3Cpath d='m0 7.74h9.93'/%3E%3Cpath d='m8.16.51 7.23 7.23-7.23 7.23'/%3E%3C/g%3E%3C/svg%3E");

  --icon-popup-black: url("data:image/svg+xml;utf8,<svg viewBox='0 0 25.27 17.86' xmlns='http://www.w3.org/2000/svg'><g fill='none' stroke='%23231815' stroke-miterlimit='10' stroke-width='1.95'><path d='m4.87.97h19.43v12.14h-19.43z'/><path d='m20.4 15.14v1.75h-19.43v-12.14h1.79'/></g></svg>");
  --icon-popup-white: url("data:image/svg+xml;utf8,<svg viewBox='0 0 25.27 17.86' xmlns='http://www.w3.org/2000/svg'><g fill='none' stroke='%23ffffff' stroke-miterlimit='10' stroke-width='1.95'><path d='m4.87.97h19.43v12.14h-19.43z'/><path d='m20.4 15.14v1.75h-19.43v-12.14h1.79'/></g></svg>");
}
html {
  font-size: 62.5%;
}
* {
  box-sizing: border-box;
}
body {
  font-family: var(--exd-font-r);
  font-style: normal;
  font-weight: 400;
  font-optical-sizing: auto;
  -webkit-text-size-adjust: 100%;
  font-size: min(var(--vw16), 1.6rem);
  line-height: 1.6;
  color: var(--color-black);
  background-color: var(--color-white);
  overflow-wrap: anywhere;
  /* 収まらない場合に折り返す */
  word-break: normal;
  /* 単語の分割はデフォルトに依存 */
  line-break: strict;
  /* 禁則処理を厳格に適用 */
  overflow-x: hidden;
  opacity: 0;
  transition: opacity 0.5s ease;
}
body.loaded {
  opacity: 1;
}
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.fade-in.show {
  opacity: 1;
  transform: translateY(0);
}
body.modal-open {
  overflow: hidden;
  touch-action: none;
  position: fixed;
  width: 100%;
  height: 100%;
}
img {
  width: 100%;
  height: 100%;
  vertical-align: middle;
}
a {
  display: block;
  width: 100%;
  height: 100%;
}

/* == utility ============================================= */
.u-sp {
  display: none !important;
}
.u-pc {
  display: block;
}
.u-exd-font-m {
  font-family: var(--exd-font-m);
  font-weight: 500;
}
.u-exd-font-r {
  font-family: var(--exd-font-r);
  font-weight: 400;
}
.u-exd-font-l {
  font-family: var(--exd-font-l);
  font-weight: 300;
}
.u-yellow {
  color: var(--color-yellow);
}
.u-blue {
  color: var(--color-blue-light);
}
.u-green {
  color: var(--color-green);
}
.u-brown {
  color: var(--color-brown);
}
.u-red {
  color: var(--color-red);
}
.u-purple {
  color: var(--color-purple);
}
.u-yellow--bg {
  background-color: var(--color-yellow);
}
.u-blue--bg {
  background-color: var(--color-blue-light);
}
.u-green--bg {
  background-color: var(--color-green);
}
.u-red--bg {
  background-color: var(--color-red);
}
.u-brown--bg {
  background-color: var(--color-brown);
}
.u-purple--bg {
  background-color: var(--color-purple);
}
.u-black--bg {
  background-color: var(--color-black);
}
.u-white--bg {
  background-color: var(--color-white);
}
.u-gray--bg {
  background-color: var(--color-gray);
}
.u-gray2--bg {
  background-color: var(--color-gray2);
}

/* == layout ============================================== */
.l-inner--1360 {
  width: 94.44vw;
  margin: 0 auto;
}
.l-inner--1295 {
  width: min(89.93vw, 1295px);
  margin: 0 auto;
}
.l-inner--1186 {
  width: min(82.36vw, 1186px);
  margin: 0 auto;
}
.l-inner--1000 {
  width: 69.44vw;
  margin: 0 auto;
}

/* == component =========================================== */
.c-underTop {
  margin-top: min(7.36vw, 106px);
}
.c-title {
  position: relative;
}
.c-title__en {
  font-size: var(--vw14);
  line-height: 1;
  position: absolute;
  top: -2.5vw;
  z-index: 10;
}
.c-title__jp {
  font-size: var(--vw34);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.2em;
}
.c-title--yellow {
  color: var(--color-yellow);
  /* -webkit-text-stroke: 1px var(--color-black);
  text-stroke: 1px var(--color-black); */
  -webkit-text-stroke: 0.07vw var(--color-black);
  text-stroke: 0.07vw var(--color-black);
  /* paint-order: stroke; */
}
.c-title--white {
  color: var(--color-white);
  /* -webkit-text-stroke: 1px var(--color-black);
  text-stroke: 1px var(--color-black); */
  -webkit-text-stroke: 0.07vw var(--color-black);
  text-stroke: 0.07vw var(--color-black);
  /* -webkit-text-stroke: 0.07px var(--color-black);
  text-stroke: 0.07px var(--color-black); */
  /* paint-order: stroke; */
}
.c-title--collections {
  color: var(--color-white);
  -webkit-text-stroke: 1px var(--color-black);
  font-weight: 500;
}
.c-underTitle01 {
  text-align: center;
  padding-top: var(--vw38);
}
.c-underTitle01__main {
  display: block;
  font-size: min(5.35vw, 77px);
  font-weight: 500;
  line-height: 1;
  margin-bottom: var(--vw10);
  color: var(--color-yellow);
  -webkit-text-stroke: 1px var(--color-black);
  text-stroke: 1px var(--color-black);
}
.c-underTitle01__sub {
  font-size: min(var(--vw20), 20px);
  font-weight: 500;
}
.c-underTitle02 {
  text-align: center;
  margin: 0 auto var(--vw30);
  font-size: min(5.35vw, 77px);
  line-height: 1;
}
.c-tab {
  position: relative;
}
.c-tab::after {
  content: "";
  background-image: url(../img/top/tab.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  width: 29.31vw;
  height: var(--vw46);
}
.p-indexFind.c-tab::after {
  top: -3.17vw;
}
.p-indexColumn.c-tab::after {
  top: -3.17vw;
  /* left: -1px; */
}

.c-commonDeco {
  position: relative;
  width: 100%;
  height: 21.18vw;
  overflow: hidden;
}
.c-commonDeco__img {
  /* width: 216.67vw; */
  display: flex;
  width: max-content;
  height: 100%;
  animation: decoSlide 140s linear infinite;
}
.c-commonDeco__img img {
  object-fit: cover;
  flex-shrink: 0;
  width: auto;
  height: 100%;
}
.c-commonDeco__text {
  position: absolute;
  bottom: var(--vw20);
  right: 0;
  width: 212.71vw;
  height: var(--vw29);
  animation: decoSlide-toR 70s linear infinite;
}
.c-tags {
  overflow: hidden;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  cursor: grab;
}
.c-tags__list {
  display: flex;
  gap: var(--vw14);
  animation: tagsSlideLoop 60s linear infinite;
  /* 時間を2倍に */
  width: 200%;
  /* 幅を2倍に明示 */
  /* animation: tagsSlideLoop 30s linear infinite; */
}
.c-tags__item {
  flex-shrink: 0;
  white-space: nowrap;
  pointer-events: auto;
}
.c-tags::-webkit-scrollbar {
  display: none;
}
.c-tags.active {
  cursor: grabbing;
}
@keyframes tagsSlideLoop {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.c-tags__item a {
  font-size: min(var(--vw14), 14px);
  line-height: 1;
  text-box: trim-both cap alphabetic;
  background-color: #e7e7e8;
  padding: min(0.35vw, 5px) min(var(--vw12), 12px);
  border-radius: 100vmax;
  border: 2px solid #e7e7e8;
  transition: 0.3s;
}
.c-tags__item .tagdeco {
  margin-right: 0.28vw;
}
.c-pagination {
  width: 34.86vw;
  display: grid;
  grid-template-columns: 12.5vw 9.72vw 12.5vw;
  justify-content: center;
  align-items: center;
  margin: var(--vw80) auto 0;
  border-radius: 100vmax;
  border: 1px solid var(--color-black);
  overflow: hidden;
}
.c-pagination__item {
  text-align: center;
}
.c-pagination__item a {
  padding: var(--vw18) 0;
  transition: 0.3s;
  font-size: min(var(--vw21), 2.1rem);
  background-color: var(--color-white);
}
.c-pagination__item.all a {
  border-left: 1px solid var(--color-black);
  border-right: 1px solid var(--color-black);
}
.c-pagination__item.prev a {
  padding-left: var(--vw20);
  background-image: var(--arrow-prev-normal);
  background-repeat: no-repeat;
  background-position: center left var(--vw30);
  background-size: var(--vw22);
}
.c-pagination__item.next a {
  padding-right: min(var(--vw20), 20px);
  background-image: var(--arrow-next-normal);
  background-repeat: no-repeat;
  background-position: center right min(var(--vw30), 30px);
  background-size: min(var(--vw22), 22px);
}
.c-underContentsP {
  padding: min(var(--vw74), 74px) 0;
}
.c-underContentsP--intrskill {
  padding: min(var(--vw40), 40px) 0;
}
.c-underContents {
  border-radius: var(--vw30);
  padding: min(var(--vw60), 60px) min(var(--vw60), 60px) min(var(--vw70), 70px);
}
.c-underContents__desc {
  text-align: center;
  margin-bottom: var(--vw62);
  font-weight: 500;
}
.c-cardList {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(var(--vw60), 60px) min(var(--vw50), 50px);
}
.c-cardList__item {
  position: relative;
  border-radius: min(var(--vw15), 15px);
  overflow: hidden;
  cursor: pointer;
}
.c-cardList__item .icon {
  width: min(var(--vw68), 68px);
  height: min(var(--vw68), 68px);
}
.c-cardList__item .icon--absolute {
  position: absolute;
  top: min(var(--vw19), 19px);
  left: min(var(--vw19), 19px);
  z-index: 2;
}
.c-cardList__item .icon--absolute--01 {
  opacity: 1;
  transition: 0.3s;
}
.c-cardList__item .icon--absolute--02 {
  opacity: 0;
  transition: 0.3s;
}
.c-cardList__item .mainImg {
  object-fit: cover;
}
.c-cardList__item .desc {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 225, 0, 0.9);
  padding: min(var(--vw24), 24px);
  opacity: 0;
  transition: 0.3s;
}
.c-cardList__item .desc__title {
  padding: 0.42vw 0 0 min(var(--vw70), 70px);
  font-size: min(var(--vw15), 15px);
  font-weight: 500;
  margin-bottom: min(var(--vw30), 30px);
}
.c-cardList__item .desc__title--center {
  text-align: center;
  font-size: min(var(--vw24), 24px);
  padding: min(var(--vw20), 20px) 0 0 0;
}
.c-cardList__item .desc__title--flex {
  padding: 0;
  margin: 0;
}
.c-cardList__item .desc__info {
  font-size: min(var(--vw13), 13px);
  line-height: 1.8;
}
.c-cardList__item .desc__detail {
  font-size: min(var(--vw13), 13px);
  line-height: 1.8;
  margin-top: min(var(--vw16), 16px);
}
.c-cardList__item .desc__links {
  position: absolute;
  width: calc(100% - var(--vw48));
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(var(--vw22), 22px);
  text-align: center;
  bottom: min(var(--vw24), 24px);
  left: 50%;
  transform: translateX(-50%);
}
.c-cardList__item .desc__links a {
  font-size: min(var(--vw18), 1.8rem);
  font-weight: 500;
  background-color: var(--color-white);
  padding: 0.56vw var(--vw10);
  border-radius: 100vmax;
  text-box: trim-both cap alphabetic;
}
.c-cardList__item .desc__wrap {
  display: flex;
  align-items: center;
  gap: var(--vw10);
  margin-bottom: var(--vw18);
}
.c-cardList__item:has(.c-cardList__item__title) {
  /* width: 25vw;
  height: 25vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; */
}
.c-cardList__item__title {
  font-size: min(var(--vw28), 2.8rem);
  font-weight: 500;
  text-align: center;
  width: 100%;
}
.c-cardList__item__img {
  width: 100%;
  height: 100%;
}
.c-btn,
.p-contact__content input.c-btn {
  height: min(6.94vw, 100px);
  background-color: var(--color-white);
  color: var(--color-black);
  border: 1px solid var(--color-black);
  border-radius: var(--vw10);
  font-size: min(var(--vw20), 20px);
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.3s;
}
@keyframes decoSlide {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@keyframes decoSlide-toR {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(50%);
  }
}

/* == header ============================================== */
.l-header {
  position: absolute;
  translate: none;
  rotate: none;
  scale: none;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
}
.l-header__wrap {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: var(--vw64);
  padding-top: var(--vw40);
  z-index: 9999;
}
.l-header__menu {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: var(--vw54);
}
.l-header__menu__item a {
  display: block;
  width: 100%;
  height: 100%;
}
.l-header__menu__item .menu__ja {
  position: relative;
  display: block;
  font-size: min(var(--vw16), 16px);
  font-weight: 500;
  line-height: 1;
  padding-bottom: min(0.42vw, 6px);
  overflow: hidden;
}
.l-header__menu__item .menu__ja::after {
  content: "";
  background-color: var(--color-yellow);
  width: 100%;
  height: min(0.28vw, 4px);
  position: absolute;
  bottom: 0;
  left: -100%;
  z-index: -1;
  transition: 0.5s;
}
.l-header__menu__item .menu__en {
  display: block;
  font-size: min(var(--vw11), 11px);
  text-align: center;
}
.l-header__block {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  gap: var(--vw18);
}
.l-header__search {
  width: 17.5vw;
  height: 2.29vw;
  position: relative;
}
.l-header__search__form {
  position: absolute;
  top: 0;
  right: 0;
  /* アイコンの位置に合わせる */
  width: 0;
  /* 初期幅は0 */
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: width 0.4s ease, opacity 0.2s ease 0.1s, visibility 0.2s ease 0.1s;
}
.l-header__search__form.show {
  width: 17.5vw;
  /* 最終的な幅 */
  opacity: 1;
  visibility: visible;
}
.l-header__search__inputWrap {
  height: 2.29vw;
}
.l-header__search__input {
  width: 100%;
  height: 100%;
  background-color: var(--color-yellow);
  border-radius: 100vmax;
  font-size: min(var(--vw16), 16px);
  padding: 0 var(--vw40) 0 var(--vw24);
}
.l-header__search__input:autofill,
.l-header__search__input:-webkit-autofill {
  box-shadow: 0 0 0 1000px var(--color-yellow) inset;
}
.l-header__search__btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: var(--vw16);
  width: min(var(--vw32), 32px);
  height: min(var(--vw40), 40px);
  transition: 0.3s;
}
/* 検索バーが表示されたときアイコンを小さくする */
.l-header__search__form.show ~ .l-header__search__btn {
  transform: translateY(-50%) scale(0.8);
}
.l-header__menu__item--under {
  display: none;
}
/*** 固定ヘッダー ***/
.l-header--fixed {
  position: fixed;
  /* top: 0; */
  top: max(-7.5vw, -106px);
  left: 50%;
  width: 100%;
  height: min(7.5vw, 106px);
  background-color: var(--color-white);
  border-bottom: 1px solid var(--color-black);
  z-index: 9999;
  transform: translate(-50%, 0);
  transition: top 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.l-header--fixed.l-header--show {
  top: 0;
}
.l-header--fixed.l-header--show.l-header--lock-top {
  top: 0 !important;
}
.l-header--fixed .l-header--fixed__wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 94.44vw;
  height: 100%;
  margin: 0 auto;
}
.l-header-top__logo {
  display: none;
  visibility: hidden;
  width: min(22.08vw, 318px);
}
.l-header--fixed .l-header-top__logo,
.l-header__wrap--under .l-header-top__logo {
  display: block;
  visibility: visible;
  width: min(22.08vw, 318px);
}
.l-header--fixed .l-header__wrap {
  width: auto;
  position: static;
  /* absoluteを無効化 */
  left: auto;
  transform: none;
  padding: 0;
  margin: 0;
  /* gap: var(--vw20); */
}
.l-header--fixed .l-header__menu {
  /* gap: var(--vw35); */
}
.l-header__menu__item--fixed {
  display: none;
}
.l-header--fixed .l-header__menu__item--fixed,
.l-header__wrap--under .l-header__menu__item--fixed {
  display: block;
}
.l-header--fixed .l-header__block {
  /* gap: var(--vw16); */
}

/*** 下層ページ用header ***/
.l-header--under {
  position: fixed;
  top: 0;
  left: 50%;
  width: 100%;
  height: min(7.36vw, 106px);
  background-color: var(--color-white);
  border-top: 1px solid var(--color-black);
  border-bottom: 1px solid var(--color-black);
  z-index: 9999;
  transform: translateX(-50%);
}
.l-header--under .l-header__wrap--under {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  margin: 0 auto;
}
.l-header--under .l-header__wrap {
  position: relative;
  top: 0;
  left: 0;
  transform: none;
  align-items: center;
  gap: var(--vw50);
  padding-top: 0;
}
.l-header--under .l-header__menu {
  gap: var(--vw38);
}
.l-header--under .l-header__menu__item--under {
  display: block;
}
.l-header--under .l-header__menu__item .menu__ja {
  font-size: min(var(--vw16), 16px);
}
.l-header--under .l-header__menu__item .menu__en {
  font-size: min(var(--vw11), 11px);
}
.l-header--under .l-header__search {
  /* width: var(--vw32); */
}
.l-header--under .l-header__hamburger {
  width: var(--vw42);
}
.l-header--under .l-header__block {
  gap: var(--vw16);
}

/* バーガーメニュー */
.hamburger {
  display: block;
  width: min(2.29vw, 42px);
  height: min(2.29vw, 42px);
  margin-left: auto;
  position: relative;
  z-index: 10001;
  border: none;
  background-color: transparent;
}
.hamburger.is-active .hamburger__line {
  background-color: transparent;
}
.hamburger.is-active .hamburger__line::before {
  top: 0;
  transform: rotate(45deg);
}
.hamburger.is-active .hamburger__line::after {
  top: 0;
  transform: rotate(-45deg);
}
.hamburger.is-active .hamburger__text::before {
  content: "閉じる";
}
.hamburger__line {
  display: block;
  height: min(0.19vw, 3px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  background-color: var(--color-black);
  transition: 0.4s;
}
.hamburger__line:before,
.hamburger__line:after {
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  width: 100%;
  background-color: var(--color-black);
  transition: inherit;
}
.hamburger__line:before {
  top: max(-0.97vw, -14px);
  left: 0;
}
.hamburger__line:after {
  bottom: max(-0.97vw, -14px);
  right: 0;
}
.hamburger__text {
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}
.hamburger__text::before {
  content: "メニュー";
  text-align: center;
  color: var(--color-black);
  font-size: 10px;
  font-weight: 900;
}
.l-header__nav {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10000;
  height: 100vh;
  width: 100vw;
  background-color: var(--color-yellow);
  overflow-y: scroll;
  overflow-x: hidden;
  clip-path: circle(0px at calc(100% - 60px) 60px);
  transition: clip-path 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  pointer-events: none;
}
.l-header__nav.is-active {
  /* 円形マスクを最大まで広げる */
  clip-path: circle(250vh at calc(100% - 60px) 60px);
  pointer-events: auto;
}
.l-header__nav__block {
  position: relative;
  padding: var(--vw30) var(--vw60) 0 var(--vw40);
  height: 100%;
  min-height: 52vw;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.3s ease 0.2s, transform 0.3s ease 0.2s;
}
.l-header__nav.is-active .l-header__nav__block {
  opacity: 1;
  transform: translateY(0);
}
.l-header__nav__block::after {
  content: "";
  background-image: url(../img/common/header_nav_deco.svg);
  background-position: center;
  background-size: cover;
  background-repeat: repeat-x;
  width: 210.97vw;
  height: 2.08vw;
  position: absolute;
  bottom: 1.74vw;
  left: 0;
  animation: 50s linear infinite decoSlide;
}
.l-header__nav__logo {
  width: 26.74vw;
}
.global-navigation {
  position: relative;
  display: flex;
  gap: max(6.9vw, 60px);
  margin-top: min(var(--vw40), 60px);
  margin-left: var(--vw50);
}
.global-navigation__wrap {
  flex-shrink: 0;
}
.global-navigation__wrap .global-navigation__list:not(:last-child) {
  margin-bottom: min(var(--vw36), 36px);
}
.global-navigation__link {
  font-size: clamp(15px, var(--vw30), 30px);
  font-weight: 500;
  line-height: 1.2;
}
.global-navigation__link .line {
  position: relative;
  display: inline-block;
}
.global-navigation__link .line::before {
  content: "";
  position: absolute;
  bottom: -0.28vw;
  left: 0;
  width: 0;
  height: 0.28vw;
  background-color: white;
  transition: width 0.3s ease;
}
.global-navigation__list li:not(:last-child) {
  margin-bottom: min(var(--vw16), 16px);
}
.global-navigation__link--ttl {
  margin-bottom: min(var(--vw20, 20px)) !important;
}
.global-navigation__link--sub {
  font-size: clamp(12px, var(--vw22), 22px);
}
.global-navigation__list
  li:not(:last-child):has(.global-navigation__link--sub) {
  margin-bottom: min(var(--vw16), 16px);
}
.l-header__nav__links {
  display: flex;
  gap: min(var(--vw18), 18px);
  position: absolute;
  bottom: -0.69vw;
  right: 0;
}
.l-header__nav__links .item {
  width: var(--vw42);
  height: var(--vw42);
}
.l-header__nav__links a {
  position: relative;
}
.l-header__nav__links img {
  position: absolute;
  left: 0;
  bottom: 0;
  transition: 0.3s;
}
.l-header__nav__links .links__item__01 {
  z-index: 1;
}
.l-header__nav__links .links__item__02 {
  z-index: 0;
}
.l-header__nav__tags {
  position: absolute;
  top: var(--vw42);
  right: var(--vw80);
  width: 58.68vw;
  display: flex;
  flex-wrap: wrap;
  gap: var(--vw12);
}
.l-header__nav__tags .c-tags__item {
  pointer-events: visible;
}
.l-header__nav__tags .c-tags__item a {
  background-color: var(--color-white);
  border: 2px solid var(--color-white);
  font-size: min(var(--vw14), 14px);
}
/* reduced motionに対応 */
@media (prefers-reduced-motion: reduce) {
  .l-header--fixed {
    transition: none;
  }
}

/* == TOP ================================================= */
.p-indexMv {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: var(--vw28);
  margin: var(--vw40) auto 0;
  padding-bottom: 5vw;
}
.p-indexMv__block {
  display: grid;
  gap: var(--vw28);
}
.p-indexMv__block--left {
  width: 27.43vw;
  flex-shrink: 0;
}
.p-indexMv__block--center {
  width: 16.81vw;
  flex-shrink: 0;
}
.p-indexMv__item__wrap {
  position: relative;
  padding-bottom: 2.22vw;
}
.p-indexMv__item__bgAnimation {
  position: absolute;
  bottom: 0;
  z-index: -1;
}
.p-indexMv__item__time {
  position: relative;
  background-color: var(--color-yellow);
  border: 1px solid var(--color-black);
  border-radius: var(--vw15);
  height: 5.56vw;
  overflow: hidden;
}
.p-indexMv__item__time .icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 7.5vw;
  height: 5.56vw;
}
.p-indexMv__item__time .date {
  display: flex;
  align-items: center;
  gap: var(--vw16);
}
.p-indexMv__item__time__block {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--vw14);
  /* padding: 0 1.57vw; */
  height: 100%;
}
.p-indexMv__item__time .date__ym,
.p-indexMv__item__time .time {
  line-height: 1.1;
  font-size: var(--vw24);
  font-weight: 500;
  margin-top: 0.27vw;
}
.p-indexMv__item__time .date__dd {
  line-height: 1;
  width: 5.8vw;
  height: var(--vw52);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--vw44);
  text-box: trim-both cap alphabetic;
  background-color: var(--color-white);
  text-align: center;
  padding-top: 0.14vw;
}
.p-indexMv__item__time .text__contents {
  /* 10項目 × 3秒 = 30秒（最後の複製分を含む） */
  /* animation: textSlideToTop 30s infinite linear; */
  animation: textSlideToTop 27s infinite linear;
}
.p-indexMv__item__time .text span {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 6.25vw;
  height: var(--vw52);
  font-size: var(--vw17);
  font-weight: 500;
  line-height: 1.2;
  padding-left: 0.21vw;
  padding-top: 0.14vw;
}
.p-indexMv__item__time .text {
  background-color: var(--color-white);
  width: 5.7vw;
  height: var(--vw52);
  overflow: hidden;
}
@keyframes textSlideToTop {
  0% {
    transform: translateY(0);
  }
  7.41% {
    transform: translateY(0);
  }
  /* 2秒停止 */
  11.11% {
    transform: translateY(calc(-1 * var(--vw52)));
  }
  /* 1個目移動 */

  18.52% {
    transform: translateY(calc(-1 * var(--vw52)));
  }
  22.22% {
    transform: translateY(calc(-2 * var(--vw52)));
  }
  /* 2個目移動 */

  29.63% {
    transform: translateY(calc(-2 * var(--vw52)));
  }
  33.33% {
    transform: translateY(calc(-3 * var(--vw52)));
  }
  /* 3個目移動 */

  40.74% {
    transform: translateY(calc(-3 * var(--vw52)));
  }
  44.44% {
    transform: translateY(calc(-4 * var(--vw52)));
  }
  /* 4個目移動 */

  51.85% {
    transform: translateY(calc(-4 * var(--vw52)));
  }
  55.56% {
    transform: translateY(calc(-5 * var(--vw52)));
  }
  /* 5個目移動 */

  62.96% {
    transform: translateY(calc(-5 * var(--vw52)));
  }
  66.67% {
    transform: translateY(calc(-6 * var(--vw52)));
  }
  /* 6個目移動 */

  74.07% {
    transform: translateY(calc(-6 * var(--vw52)));
  }
  77.78% {
    transform: translateY(calc(-7 * var(--vw52)));
  }
  /* 7個目移動 */

  85.19% {
    transform: translateY(calc(-7 * var(--vw52)));
  }
  88.89% {
    transform: translateY(calc(-8 * var(--vw52)));
  }
  /* 8個目移動 */

  96.30% {
    transform: translateY(calc(-8 * var(--vw52)));
  }
  100% {
    transform: translateY(calc(-9 * var(--vw52)));
  }
  /* 9個目（複製）に移動してループ */
}
.p-indexMv__item__ai a {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  border: 1px solid var(--color-black);
  border-radius: var(--vw15);
  height: 17.36vw;
  padding: var(--vw30) var(--vw18);
  position: relative;
  overflow: hidden;
}
.p-indexMv__item__ai a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/top/ai_bg.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transition: transform 0.3s ease;
  z-index: -1;
}
.p-indexMv__item__ai h2 {
  color: var(--color-yellow);
  font-size: var(--vw30);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.1em;
}
.p-indexMv__item__type {
  height: 17.36vw;
}
.p-indexMv__item__type a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--color-black);
  border-radius: var(--vw15);
  overflow: hidden;
}
.p-indexMv__item__type .bg {
  width: 22.92vw;
  height: 12.92vw;
  transition: transform 0.3s ease;
  z-index: -1;
}
.p-indexMv__item__type .block {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 23.75vw;
  height: 13.75vw;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.42vw;
}
.p-indexMv__item__number .block {
  width: 22.92vw;
  height: 12.92vw;
}
.p-indexMv__item__type .block::before {
  content: "";
  background-color: var(--color-white);
  width: 22.92vw;
  height: 12.92vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  z-index: -1;
  transition: 0.3s;
}
.p-indexMv__item__type .image {
  width: 13.75vw;
}
.p-indexMv__item__type .title {
  font-size: var(--vw38);
  line-height: 1.2;
  flex-shrink: 0;
}
.p-indexMv__item__type .title__s {
  display: block;
  font-size: var(--vw17);
  margin-bottom: 2px;
}
.textBlock {
  align-items: center;
  aspect-ratio: 690 / 71;
  -webkit-clip-path: polygon(6% 0, 94% 0, 103.5% 100%, -3.5% 100%);
  clip-path: polygon(6% 0, 94% 0, 103.5% 100%, -3.5% 100%);
  display: flex;
  font-size: var(--vw10);
  line-height: 1;
  justify-content: center;
  position: absolute;
  width: 93%;
  height: 2.22vw;
}
.textBlock--half {
  display: flex;
  align-items: center;
}
.textBlock01 {
  top: 0;
  rotate: 180deg;
}
.textBlock02 {
  right: -43%;
  rotate: -90deg;
}
.p-indexMv__item__type .textBlock02 {
  right: -25%;
  width: 58%;
}
.p-indexMv__item__clothes .textBlock02 {
  right: -40%;
  width: 92%;
}
.textBlock03 {
  bottom: 0;
}
.textBlock04 {
  left: -43%;
  rotate: 90deg;
}
.p-indexMv__item__type .textBlock04 {
  left: -25%;
  width: 58%;
}
.p-indexMv__item__clothes .textBlock04 {
  left: -40%;
  width: 92%;
}
.textBlock p {
  width: 300%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  animation: textSlide 8s linear infinite;
}
.textBlock .line {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 2.22vw;
  flex-shrink: 0;
  text-align: center;
}
.textBlock .line--flex {
  gap: 7.64vw;
}
@keyframes textSlide {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(-100%);
  }
  75% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(-200%);
  }
}
.p-indexMv__item__skill {
  position: relative;
  height: 34.72vw;
  border: 1px solid var(--color-black);
  border-radius: var(--vw15);
  overflow: hidden;
}
.p-indexMv__item__skill .movie {
  height: 29.86vw;
  transition: 0.3s;
}
.p-indexMv__item__skill .movie video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.p-indexMv__item__skill .title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-size: var(--vw25);
  font-weight: 500;
  line-height: 1;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 5vw;
  background-color: #71c7d1;
  z-index: 1;
  padding: var(--vw16) var(--vw12);
  box-shadow: 1px 2px 0px 1px var(--color-black);
}
.p-indexMv__item__skill .title img {
  width: var(--vw27);
  height: var(--vw27);
}
.p-indexMv__item__clothes {
  position: relative;
  height: 17.36vw;
}
.p-indexMv__item__clothes::before {
  content: "";
  background-color: var(--color-white);
  width: 12.29vw;
  height: 12.92vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  z-index: 0;
  transition: 0.3s;
}
.p-indexMv__item__clothes a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--color-black);
  border-radius: var(--vw15);
  overflow: hidden;
}
.p-indexMv__item__clothes .bg {
  width: 12.29vw;
  height: 12.92vw;
  transition: transform 0.3s ease;
  z-index: -1;
}
.p-indexMv__item__clothes .image {
  position: absolute;
  width: 9.86vw;
  height: 13.75vw;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-indexMv__item__clothes .image.tool {
  width: 12.29vw;
  height: 12.92vw;
}
.p-indexMv__item__future {
  position: relative;
  height: 39.03vw;
  border: 1px solid var(--color-black);
  border-radius: var(--vw15);
  overflow: hidden;
}
.p-indexMv__item__future a {
  position: relative;
}
.p-indexMv__item__future a::before {
  content: "";
  background-color: #333;
  opacity: 0.2;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.p-indexMv__item__future .bg {
  transition: transform 0.3s ease;
}
.p-indexMv__item__future .bgSlider {
  height: 100%;
  display: grid;
  grid-template-columns: 1fr;
}
.p-indexMv__item__future .bg img {
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.p-indexMv__item__future .bgSlider__row__item {
  width: 11.53vw;
  height: 9.72vw;
}
.p-indexMv__item__future .title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 36.44vw;
  height: 8.44vw;
  /* width: 35.76vw;
  height: 5.14vw; */
  z-index: 3;
}
.p-indexMv__item__future .title img {
  object-fit: cover;
}
.p-indexMv__item__news {
  display: flex;
  gap: var(--vw32);
  height: 13.06vw;
  border: 1px solid var(--color-black);
  border-radius: var(--vw15);
  overflow: hidden;
  background-color: var(--color-yellow);
  padding: var(--vw18) var(--vw10);
}
.p-indexMv__item__news .title {
  font-size: var(--vw24);
  writing-mode: vertical-rl;
  border-right: 1px solid var(--color-black);
}
.p-indexMv__item__news .newsList {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: var(--vw14) var(--vw30);
}
.p-indexMv__item__news .newsList__item a {
  display: flex;
  align-items: center;
  gap: var(--vw14);
}
.p-indexMv__item__news .newsList__item__image {
  width: var(--vw66);
  height: var(--vw66);
  border-radius: 100vmax;
  overflow: hidden;
}
.p-indexMv__item__news .newsList__item__image img {
  transition: 0.3s;
}
.p-indexMv__item__news .newsList__item__text {
  font-size: var(--vw12);
}
.p-indexMv__item__news .newsList__item__text .date {
  line-height: 1;
  margin-bottom: var(--vw10);
}
.p-indexMv__item__news .newsList__item__text .newsTitle {
  line-height: 1.4;
  width: 12.5vw;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.p-indexFind {
  position: relative;
  padding-top: var(--vw26);
  border-top: 1px solid var(--color-black);
}
.p-indexFlex {
  width: 96.88vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 0 auto;
}
.p-indexFlex .c-tags {
  width: 71.39vw;
  padding: var(--vw10) 0;
}
.p-indexFind__contents {
  height: 39.92vw;
  display: flex;
  align-items: flex-end;
  position: relative;
  top: 1px;
}
.p-indexFind__slider__wrap {
  display: flex;
  align-items: flex-end;
}
.p-indexFind__slider__slide {
  /* width: 20.83vw; */
  /* height: 39.44vw; */
  width: 27.5vw;
  height: 37.5vw;
  padding: var(--vw34) 0.28vw var(--vw34) var(--vw28);
  border: 1px solid var(--color-black);
  border-radius: var(--vw15);
  margin-right: -8.33vw;
  transition: height 0.2s;
  will-change: height;
}
.p-indexFind__slider__slide .title__num {
  font-size: var(--vw47);
  line-height: 1;
  font-weight: 500;
  color: var(--color-white);
  -webkit-text-stroke: 0.21vw var(--color-black);
  text-stroke: 0.21vw var(--color-black);
  paint-order: stroke;
  /* filter: drop-shadow(2px 2px 0px var(--color-black)); */
}
.p-indexFind__slider__slide .title__text {
  position: relative;
  display: block;
  font-size: min(var(--vw20), 20px);
  margin-top: var(--vw30);
}
.p-indexFind__slider__slide .title__text::before {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 8.75vw;
  height: 1px;
  background-color: var(--color-black);
}
.p-indexFind__slider__slide .contents {
  display: flex;
  justify-content: flex-start;
  gap: var(--vw24);
  margin-top: var(--vw44);
}
.p-indexFind__slider__slide .contents__desc {
  font-size: min(var(--vw18), 18px);
  line-height: 1.4;
  writing-mode: vertical-rl;
}
.p-indexFind__slider__slide .contents__img {
  width: 19.72vw;
  height: 18.33vw;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-indexFind__slider__slide .contents__img--over {
  height: 20.42vw;
}
.p-indexFind__slider__slide .contents__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left;
}
.p-indexFind__slider__slide .contents__img--over img {
  position: relative;
  top: -0.97vw;
}
.p-indexColumn {
  border-top: 1px solid var(--color-black);
  padding-top: var(--vw26);
  padding-bottom: var(--vw48);
  position: relative;
  z-index: 1;
}
.p-indexColumn__contents {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--vw30) var(--vw32);
  margin-top: var(--vw30);
}
.p-indexColumn__contents__item .itemBlock {
  height: 14.58vw;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border: 1px solid var(--color-black);
  border-radius: var(--vw15);
  overflow: hidden;
}
.p-indexColumn__contents__item .itemBlock .title {
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  text-align: center;
}
.p-indexColumn__contents__item .itemBlock .title img {
  width: 80%;
  transition: 0.3s;
  transform-origin: right;
}
.p-indexColumn__contents__item .itemBlock .image {
  overflow: hidden;
  transition: 0.3s;
  transform-origin: left;
}
.p-indexColumn__contents__item .itemBlock .image img {
  object-fit: cover;
}
.p-indexColumn__contents__item .itemText {
  gap: var(--vw15);
  font-size: min(var(--vw16), 16px);
  margin-top: var(--vw10);
}
.p-indexColumn__contents__item .itemText .title {
  font-weight: 500;
  line-height: 1.4;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.p-indexColumn__contents__item .itemText .info {
  font-size: min(var(--vw13), 13px);
  color: #959595;
}
.p-indexLinkBlock {
  border-top: 1px solid var(--color-black);
  border-bottom: 1px solid var(--color-black);
}
.p-indexLinkBlock a {
  display: flex;
  align-items: center;
  height: 11.39vw;
  padding: var(--vw25);
}
.p-indexLinkBlock__wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: min(4.72vw, 68px);
  width: min(77.92vw, 1122px);
  margin: 0 auto;
}
.p-indexLinkBlock__desc {
  font-size: min(var(--vw29), 29px);
  font-weight: 500;
  flex-shrink: 0;
}
.p-indexLinkBlock {
  transition: 0.3s;
}
.p-indexYesNo {
  background-color: #b9c3c9;
  border-bottom: none;
}
.p-indexRecruit {
  background-color: var(--color-yellow);
}
.p-indexLinkBlock__title {
  width: min(42.57vw, 598px);
}
.p-indexRanking {
  padding: var(--vw40) 0 var(--vw45);
}
.p-indexRanking__title {
  font-weight: 500;
  display: flex;
  align-items: flex-end;
  gap: var(--vw48);
  line-height: 1;
}
.p-indexRanking__title__en {
  font-size: var(--vw32);
}
.p-indexRanking__title__jp {
  font-size: var(--vw20);
}
.p-indexRanking__contents {
  margin-top: var(--vw32);
  width: 100%;
  overflow: hidden;
}
.p-indexRanking__slider {
  display: flex;
  /* スライダー全体の幅: (スライド幅 + gap) × 全スライド数 */
  width: calc((23.4vw + var(--vw20)) * 10);
}
.p-indexRanking__slider--top {
  animation: slide-left 40s linear infinite;
}
.p-indexRanking__slider--bottom {
  animation: slide-right 40s linear infinite;
  margin-top: var(--vw25);
}
.slider-set {
  display: flex;
  align-items: center;
  gap: var(--vw20);
  /* 各セットの幅: (スライド幅 + gap) × 5個のスライド */
  width: calc((23.4vw + var(--vw20)) * 5);
  flex-shrink: 0;
}
.p-indexRanking__slider__slide {
  width: 23.4vw;
  flex-shrink: 0;
}
.p-indexRanking__slider__slide a {
  background-color: var(--color-white);
  border: 1px solid var(--color-black);
  border-radius: 100vmax;
  padding: var(--vw10) var(--vw24) var(--vw10) var(--vw12);
  display: flex;
  align-items: center;
  gap: var(--vw14);
  transition: background-color 0.3s;
}
.p-indexRanking__slider__slide .image {
  overflow: hidden;
  border-radius: 100vmax;
  width: var(--vw66);
  height: var(--vw66);
  flex-shrink: 0;
}
.p-indexRanking__slider__slide .image img {
  object-fit: cover;
}
.p-indexRanking__slider__slide .number {
  font-size: var(--vw35);
  font-weight: 500;
  color: var(--color-yellow);
  flex-shrink: 0;
  -webkit-text-stroke: 2px black;
  text-stroke: 2px black;
  paint-order: stroke;
  transition: 0.3s;
}
.p-indexRanking__slider__slide .title {
  font-size: var(--vw12);
  font-weight: 500;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.p-indexProject__title {
  padding-top: var(--vw54);
}
/* Swiper用の設定を追加 */
.p-indexProject__slider {
  position: relative;
  height: 40.36vw;
  overflow: hidden;
}
.p-indexProject__contents__list.swiper-wrapper {
  position: absolute;
  bottom: 0;
  display: flex !important;
  /* gridをflexに変更 */
  align-items: flex-end;
  grid-template-columns: none !important;
  /* gridを無効化 */
  width: auto;
  /* Swiperが制御 */
  transform: translate3d(0, 0, 0);
  /* Swiperのtransform用 */
}
.p-indexProject__contents__list .item.swiper-slide {
  position: relative;
  width: 35.56vw;
  height: 36.81vw;
  border: 1px solid var(--color-black);
  border-radius: 0 var(--vw15) var(--vw15) var(--vw15);
  cursor: pointer;
  transition: height 0.3s;
  flex-shrink: 0;
  /* 重なり効果を維持 */
  /* margin-right: -27vw;  */
}
.p-indexProject__contents__list .item::before {
  content: "";
  background-position: center left;
  background-size: 11.81vw var(--vw19);
  background-repeat: no-repeat;
  width: 11.81vw;
  height: var(--vw19);
  position: absolute;
  top: -1.32vw;
  left: -1px;
}
.p-indexProject__contents__list .item--yellow::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 170 19'%3E%3Cpath fill='%23ffe100' stroke='%23231815' stroke-miterlimit='10' d='M512.47,590.63H19.85c-10.73,0-19.43-8.7-19.43-19.43V20.75C.41,10.02,9.11,1.32,19.85,1.32h103.06c4.83,0,9.48,1.8,13.06,5.04l7.7,6.99c3.58,3.24,8.23,5.04,13.06,5.04h336.32c10.73,0,19.43,8.7,19.43,19.43v552.81Z'/%3E%3C/svg%3E");
}
.p-indexProject__contents__list .item--blue::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 170 19'%3E%3Cpath fill='%2371c7d1' stroke='%23231815' stroke-miterlimit='10' d='M512.47,590.63H19.85c-10.73,0-19.43-8.7-19.43-19.43V20.75C.41,10.02,9.11,1.32,19.85,1.32h103.06c4.83,0,9.48,1.8,13.06,5.04l7.7,6.99c3.58,3.24,8.23,5.04,13.06,5.04h336.32c10.73,0,19.43,8.7,19.43,19.43v552.81Z'/%3E%3C/svg%3E");
}
.p-indexProject__contents__list .item--red::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 170 19'%3E%3Cpath fill='%23ef858c' stroke='%23231815' stroke-miterlimit='10' d='M512.47,590.63H19.85c-10.73,0-19.43-8.7-19.43-19.43V20.75C.41,10.02,9.11,1.32,19.85,1.32h103.06c4.83,0,9.48,1.8,13.06,5.04l7.7,6.99c3.58,3.24,8.23,5.04,13.06,5.04h336.32c10.73,0,19.43,8.7,19.43,19.43v552.81Z'/%3E%3C/svg%3E");
}
.p-indexProject__contents__list .item--brown::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 170 19'%3E%3Cpath fill='%23c9a063' stroke='%23231815' stroke-miterlimit='10' d='M512.47,590.63H19.85c-10.73,0-19.43-8.7-19.43-19.43V20.75C.41,10.02,9.11,1.32,19.85,1.32h103.06c4.83,0,9.48,1.8,13.06,5.04l7.7,6.99c3.58,3.24,8.23,5.04,13.06,5.04h336.32c10.73,0,19.43,8.7,19.43,19.43v552.81Z'/%3E%3C/svg%3E");
}
.p-indexProject__contents__list .item--purple::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 170 19'%3E%3Cpath fill='%23c486b8' stroke='%23231815' stroke-miterlimit='10' d='M512.47,590.63H19.85c-10.73,0-19.43-8.7-19.43-19.43V20.75C.41,10.02,9.11,1.32,19.85,1.32h103.06c4.83,0,9.48,1.8,13.06,5.04l7.7,6.99c3.58,3.24,8.23,5.04,13.06,5.04h336.32c10.73,0,19.43,8.7,19.43,19.43v552.81Z'/%3E%3C/svg%3E");
}
.p-indexProject__contents__list .item--green::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 170 19'%3E%3Cpath fill='%23a7d28d' stroke='%23231815' stroke-miterlimit='10' d='M512.47,590.63H19.85c-10.73,0-19.43-8.7-19.43-19.43V20.75C.41,10.02,9.11,1.32,19.85,1.32h103.06c4.83,0,9.48,1.8,13.06,5.04l7.7,6.99c3.58,3.24,8.23,5.04,13.06,5.04h336.32c10.73,0,19.43,8.7,19.43,19.43v552.81Z'/%3E%3C/svg%3E");
}
.p-indexProject__contents__list .item__wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(var(--vw20, 20px));
  width: 8.06vw;
  padding-top: var(--vw48);
}
.p-indexProject__contents__list .item__number {
  font-size: var(--vw30);
  font-weight: 500;
}
.p-indexProject__contents__list .item__title {
  position: relative;
  font-size: min(var(--vw23), 23px);
  font-weight: 500;
  line-height: 1.3;
  writing-mode: vertical-rl;
  text-orientation: upright;
}
.p-indexProject__contents__list .item__title--mark::before {
  content: "";
  background-image: url(../img/top/mark.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  width: min(var(--vw18), 18px);
  height: min(var(--vw19), 19px);
  bottom: max(-1.46vw, -21px);
  left: calc(50% + min(0.14vw, 2px));
  transform: translateX(-50%);
}
/* Chrome/Edge */
@supports (-webkit-appearance: none) and (not (-webkit-touch-callout: none)) {
  .p-indexProject__contents__list .item__title .alphabet {
    letter-spacing: -0.2em;
  }
}
@keyframes slide-left {
  0% {
    transform: translateX(0);
  }
  100% {
    /* 1セット分（50%）だけ移動 */
    transform: translateX(-50%);
  }
}
@keyframes slide-right {
  0% {
    transform: translateX(-50%);
    /* 開始位置を1セット分左にずらす */
  }
  100% {
    transform: translateX(0);
    /* 元の位置に戻る（右に移動する効果） */
  }
}

/* == about =============================================== */
.p-about {
  margin-bottom: 8.33vw;
}
.p-about .c-underTitle01 {
  margin-bottom: var(--vw48);
}
.p-about__contents {
  width: min(73.61vw, 1060px);
  margin: 0 auto;
}
.p-about__subTitle {
  font-size: min(var(--vw30), 30px);
  font-weight: 500;
  text-align: center;
  margin-bottom: var(--vw32);
}
.p-about__text {
  font-size: min(var(--vw18), 18px);
  line-height: 1.8;
  margin-bottom: var(--vw40);
}
.p-about__mainImg {
  width: min(100%, 1440px);
  margin: 0 auto var(--vw64);
}
.p-about__flow {
  width: 51.94vw;
  margin: 0 auto var(--vw80);
}
.p-about__table__wrap {
  width: 52.08vw;
  margin: var(--vw50) auto 0;
}
.p-about__table th {
  border-top: 2px solid rgba(175, 175, 175, 1);
  border-bottom: 2px solid rgba(175, 175, 175, 1);
  padding: var(--vw25) 0;
  width: 15.63vw;
  font-size: min(var(--vw20), 20px);
}
.p-about__table td {
  border-top: 2px solid rgba(185, 195, 201, 0.5);
  border-bottom: 2px solid rgba(185, 195, 201, 0.5);
  padding: var(--vw25) 0;
  width: 36.46vw;
}
.p-about__tableDate {
  text-align: right;
  margin-top: var(--vw25);
}

/* == aechive ============================================= */
.p-archive {
  padding: 0 0 6.39vw;
}
.p-archive__wrap {
  width: min(94.44vw, 1360px);
}
.p-archive__block {
  padding-top: var(--vw32);
}
.p-archive__title {
  font-size: var(--vw26);
}
.p-archive__noData {
  margin-top: var(--vw40);
}
.p-archive__title__sharp {
  margin-right: var(--vw16);
}
.p-archive__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--vw30) var(--vw26);
  margin-top: var(--vw24);
}
.p-archive__list__item .image {
  position: relative;
  overflow: hidden;
  border-radius: min(var(--vw15), 15px);
  border: 1px solid var(--color-black);
  height: min(12.5vw, 180px);
}
.p-archive__list__item .image img {
  object-fit: cover;
  transition: 0.3s;
}
.p-archive__list__item .image__prefecture {
  position: absolute;
  top: min(var(--vw12), 12px);
  left: min(var(--vw10), 10px);
  font-size: min(var(--vw13), 13px);
  font-weight: 500;
  line-height: 1;
  background-color: var(--color-white);
  padding: 0.28vw min(var(--vw10), 10px);
  border-radius: 100vmax;
  text-box: trim-both cap alphabetic;
}
.p-archive__list__item .title {
  font-size: min(var(--vw16), 16px);
  font-weight: 500;
  margin: var(--vw12) auto var(--vw10);
}
.p-archive__list__item .info {
  display: flex;
  flex-wrap: wrap;
  gap: 0.28vw min(var(--vw14), 14px);
  color: #959595;
  font-size: min(var(--vw13), 13px);
  font-weight: 400;
}
.p-archive__list__item .infoParts {
  display: flex;
  gap: 0.28vw;
  color: #959595;
  font-size: min(var(--vw13), 13px);
  font-weight: 400;
}
.p-archive__list__item .infoParts .infoParts__title {
  flex-shrink: 0;
}
.p-newsDetail {
  padding-bottom: var(--vw80);
}
.p-newsDetail .l-inner--1000 {
  width: min(69.44vw, 1000px);
}
.p-newsDetail__titleWrap.p-peopleDetail__copy {
  text-align: left;
}
.p-newsDetail__date.p-peopleDetail__copy__name {
  display: flex;
  gap: var(--vw10);
}
.p-newsDetail__content.p-peopleDetail__contents figure {
  width: 100%;
  height: auto;
}

/* == column ============================================== */
.p-columnDetail {
  background-color: #cececf;
  padding-bottom: 6.39vw;
}
.p-columnDetail__contents__wrap {
  background-color: var(--color-white);
  border-left: 1px solid var(--color-black);
  border-right: 1px solid var(--color-black);
  border-bottom: 1px solid var(--color-black);
}
.p-columnDetail__contents {
  padding-bottom: var(--vw80);
}
.p-columnDetail__recommendPeople {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--vw18);
  margin-bottom: var(--vw15);
}
.p-columnDetail__recommendPeople__img {
  border-radius: 100vmax;
  overflow: hidden;
  width: min(6.94vw, 100px);
  height: min(6.94vw, 100px);
}
.p-columnDetail__contents p {
  font-size: min(var(--vw18), 1.8rem);
  line-height: 1.8;
  margin: 0 auto var(--vw40);
  max-width: min(73.33vw, 1056px);
}
.p-columnDetail__contents__mv {
  position: relative;
  height: min(44.1vw, 635px);
  margin: var(--vw30) auto var(--vw42);
  border-top: 1px solid var(--color-black);
  border-bottom: 1px solid var(--color-black);
  overflow: hidden;
}
.p-columnDetail__contents__mv img {
  object-fit: cover;
}
.p-columnDetail__contents__mv .title {
  position: absolute;
  bottom: min(var(--vw40), 40px);
  left: min(var(--vw40), 40px);
  width: min(27.08vw, 390px);
  border-radius: min(var(--vw10), 10px);
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-columnDetail__contents figure {
  margin-bottom: var(--vw80);
}
.p-columnDetail__contents figcaption {
  font-size: min(var(--vw16), 16px);
  text-align: center;
  margin: var(--vw20) var(--vw20) 0 var(--vw20);
}
.p-columnDetail__title__wrap {
  margin: 0 auto var(--vw70);
  max-width: 73.33vw;
}
.p-columnDetail__title {
  text-align: center;
  font-size: min(var(--vw30), 30px);
  font-weight: 500;
}
.p-columnDetail__name {
  text-align: center;
  font-size: min(var(--vw20), 20px);
  margin-top: var(--vw10);
}
/* 子要素が1つのみの場合 */
.wp-block-columns.is-layout-flex:has(> :only-child) {
  grid-template-columns: repeat(1, 1fr);
  width: min(55.56vw, 800px);
}
/* 子要素が2つ以上の場合 */
.wp-block-columns.is-layout-flex {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(var(--vw62), 62px);
  width: 100%;
  max-width: min(73.33vw, 1056px);
  margin: 0 auto;
}
.wp-block-columns.is-layout-flex figure {
  width: 100%;
  height: auto;
}
.p-columnDetail__flex__img {
  width: min(34.58vw, 498px);
  height: min(25.97vw, 374px);
  flex-shrink: 0;
}
.p-columnDetail__contents h2,
.p-peopleDetail__contents h2 {
  font-size: min(var(--vw32), 32px);
  font-weight: 500;
  margin: 0 auto;
  max-width: min(73.33vw, 1056px);
  text-align: center;
  margin-bottom: var(--vw60);
}
.p-columnDetail__bottom {
  border-top: 1px solid var(--color-black);
  justify-content: center;
  align-items: center;
}
.p-columnDetail__bottom__wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.p-columnDetail__bottom__company {
  width: min(33.33vw, 480px);
  margin: 0 auto;
}
.p-columnDetail__bottom__company .text {
  font-size: min(var(--vw20), 2rem);
  font-weight: 500;
  margin-bottom: 0.42vw;
}
.p-columnDetail__bottom__company .company {
  font-size: min(var(--vw30), 3rem);
  font-weight: 500;
}
.p-columnDetail__bottom__company address {
  font-size: min(var(--vw14), 1.4rem);
  margin-top: 0.56vw;
}
.p-columnDetail__bottom__company address a {
  display: inline;
}
.p-columnDetail__bottom__wrap .c-peopleInfo {
  border-left: 1px solid var(--color-black);
}
.p-columnDetail__favorite {
  display: flex;
  justify-content: center;
  gap: min(var(--vw32), 32px);
  margin-top: min(var(--vw80), 80px);
}
.p-columnDetail__favorite__img {
  width: 18.61vw;
  height: 14.03vw;
}
.p-columnDetail__favorite__img img {
  object-fit: cover;
}
.p-columnDetail__favorite__text {
  width: 19.1vw;
}
.p-columnDetail__favorite__text .title {
  font-size: var(--vw19);
  font-weight: 500;
  margin-bottom: var(--vw24);
}

/* == people-detail ======================================= */
.p-peopleDetail {
  padding-bottom: var(--vw80);
}
.p-peopleDetail .c-underTitle01 {
  padding-top: var(--vw24);
}
.p-peopleDetail__Mv {
  width: 100%;
  height: min(41.25vw, 594px);
  margin-top: 22px;
  overflow: hidden;
}
.p-peopleDetail__Mv img {
  object-fit: cover;
}
.p-peopleDetail__type {
  text-align: center;
  background-color: var(--color-yellow);
  padding: var(--vw20) 0;
  border-top: 1px solid var(--color-black);
  /* border-bottom: 1px solid var(--color-black); */
}
.p-peopleDetail__type__jp {
  font-size: min(var(--vw36), 36px);
  font-weight: 500;
  line-height: 1;
  display: block;
  margin-bottom: var(--vw10);
}
.p-peopleDetail__type__en {
  font-size: min(var(--vw20), 20px);
  line-height: 1;
  margin-top: var(--vw10);
}
.p-peopleDetail__copy {
  text-align: center;
  padding: min(var(--vw68), 68px) 0 min(var(--vw72), 72px);
}
.p-peopleDetail__copy__text {
  font-size: min(var(--vw30), 30px);
  font-weight: 500;
}
.p-peopleDetail__copy__name {
  font-size: min(var(--vw20), 20px);
  margin-top: min(var(--vw20), 20px);
}
.p-peopleDetail__contents p,
.p-peopleDetail__contents h3 {
  margin-bottom: min(var(--vw60), 60px);
}
.p-peopleDetail__contents p {
  font-size: min(var(--vw18), 18px);
  line-height: 1.8;
}
.p-peopleDetail__contents figure {
  display: block;
  width: min(55.56vw, 800px);
  height: min(34.72vw, 500px);
  margin: 0 auto min(var(--vw80), 80px);
}
.p-peopleDetail__contents figcaption {
  text-align: center;
}
.p-peopleDetail__contents h3 {
  text-align: center;
  font-size: var(--vw30);
}
.p-peopleDetail__bottom {
  border-bottom: 1px solid var(--color-black);
}
.p-peopleDetail__bottomMv {
  margin-top: var(--vw70);
}
.p-peopleDetail__bottomMv img {
  object-fit: cover;
}
.c-peopleInfo {
  display: flex;
  align-items: center;
  gap: min(var(--vw32), 32px);
  padding: var(--vw60) var(--vw30);
}
.c-peopleInfo .image {
  border-radius: 100vmax;
  overflow: hidden;
  width: min(9.86vw, 142px);
  height: min(9.86vw, 142px);
}
.c-peopleInfo .image img {
  object-fit: cover;
}
.c-peopleInfo--gaten .image {
  width: min(13.89vw, 200px);
  height: min(13.89vw, 200px);
}
.c-peopleInfo .company {
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: min(var(--vw10), 10px);
}
.c-peopleInfo .name {
  font-size: min(var(--vw24), 2.4rem);
  font-weight: 500;
}
.c-peopleInfo .c-tags {
  display: flex;
  gap: var(--vw10);
  margin-top: min(var(--vw16), 16px);
  flex-wrap: wrap;
}

/* == aruaru ============================================== */
.p-aruaru__image {
  width: min(17.85vw, 257px);
  margin: min(var(--vw20), 20px) auto;
}
.p-aruaru .c-cardList__item .desc {
  padding: min(var(--vw24), 24px) min(var(--vw20), 20px);
  background-color: #cbcbcbe6;
}

/* == tool,wear ============================================ */
.p-tool .c-underTitle02,
.p-wear .c-underTitle02 {
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-tool .c-cardList__item .desc__title {
  font-size: min(var(--vw24), 24px);
}

/* == craftman ============================================ */
.p-number .c-cardList__item,
.p-craftman .c-cardList__item {
  background-color: #f2f2f2;
}
.p-craftman__link {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  margin-bottom: 7.08vw;
  border-radius: var(--vw15);
  border: 1px solid var(--color-black);
  overflow: hidden;
}
.p-craftman__link__item {
  font-size: var(--vw16);
  text-align: center;
  background-color: var(--color-yellow);
}
/* 1番目から7番目までの要素 */
.p-craftman__link__item:nth-child(-n + 7) {
  border-bottom: 1px solid var(--color-black);
}
.p-craftman__link__item:not(:nth-child(7n)) {
  border-right: 1px solid var(--color-black);
}
.p-craftman__link__item a {
  padding: var(--vw20) 0;
}
.p-craftman .c-cardList__item .desc {
  padding: var(--vw24) var(--vw30);
}
.p-craftman .c-cardList__item__title,
.p-number .c-cardList__item__title {
  position: absolute;
  top: var(--vw30);
  left: 50%;
  transform: translateX(-50%);
}

/* == concept =================================== */
.p-concept {
  background-color: #b3b3b3;
  padding-bottom: 8.33vw;
}
.p-concept__mv {
  position: relative;
  width: 100%;
  height: max(calc(100vh - min(7.36vw, 106px)), 640px);
}
.p-concept__mv__img {
  position: absolute;
  width: 100%;
  height: 100%;
}
.p-concept__mv__img img {
  object-fit: cover;
}
.p-concept__mv__img--front {
  z-index: 1;
}
.p-concept__mv__img--back {
  z-index: 0;
}
.p-concept__mv__title {
  position: absolute;
  font-size: var(--vw66);
  letter-spacing: 0.08em;
  color: var(--color-yellow);
  opacity: 0;
}
.p-concept__mv__title--right {
  top: var(--vw30);
  right: var(--vw30);
  width: min(80.56vw, 1300px);
}
.p-concept__mv__title--left {
  left: var(--vw30);
  bottom: var(--vw30);
  width: min(76.64vw, 1200px);
}
.p-concept__mv__desc {
  position: absolute;
  color: var(--color-white);
  line-height: 1.8;
  font-size: var(--vw16);
  font-weight: 500;
  opacity: 0;
}
.p-concept__mv__desc--left {
  bottom: 6.11vw;
  left: 9.38vw;
}
.p-concept__mv__desc--right {
  top: 6.11vw;
  right: 9.38vw;
}
.p-concept__future {
  position: relative;
  padding-top: 13.33vw;
}
.p-concept__contents {
  width: 70.14vw;
  margin: 0 auto;
}
.p-concept__future__title {
  position: absolute;
  right: var(--vw32);
  top: var(--vw42);
  width: min(76.11vw, 1300px);
  height: 34.69vw;
}
.p-concept__contents__desc {
  font-size: var(--vw21);
  margin-bottom: var(--vw60);
}
.p-concept__contents__list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  margin-bottom: var(--vw80);
  gap: var(--vw80);
}
.p-concept__contents__list .item {
  display: flex;
  gap: var(--vw30);
}
.p-concept__contents__list .item--reserve {
  flex-direction: row-reverse;
}
.p-concept__contents__list .item__img {
  width: 31.11vw;
  height: fit-content;
  flex-shrink: 0;
}
.p-concept__contents__list .item__tag {
  display: inline-block;
  background-color: var(--color-yellow);
  border: 2px solid var(--color-white);
  border-radius: 100vmax;
  font-size: var(--vw18);
  font-weight: 700;
  padding: 0.14vw var(--vw20);
}
.p-concept__contents__list .item__title {
  font-size: var(--vw25);
  font-weight: 500;
  margin: var(--vw18) 0;
}
.p-concept__contents__list .item__desc {
  font-size: var(--vw18);
  font-weight: 400;
  line-height: 1.8;
}
.p-concept__contents__descBottom {
  font-size: var(--vw40);
  font-weight: 500;
  width: 69.44vw;
  letter-spacing: 0.1em;
  margin: 0 auto;
}
.p-concept__contents__descBottom span {
  display: inline-block;
  background-color: var(--color-white);
  padding-left: var(--vw24);
  margin-bottom: var(--vw10);
  line-height: 1.4;
}

/* == skill ==================================== */
.p-skill {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.p-skill__slideContainer {
  display: flex;
  align-items: center;
  transition: transform 0.5s ease-in-out;
  height: clamp(660px, calc(100vh - min(7.36vw, 106px)), 800px);
}
.p-skill__slideContainer .slideContents {
  width: 100%;
  height: min(43.75vw, 630px);
  flex-shrink: 0;
}
.p-skill .c-underContents {
  position: relative;
  padding: 0;
}
.p-skill__content {
  position: relative;
  width: 100%;
  height: 100%;
}
/* .p-skill__top__wrap {
  display: flex;
  justify-content: space-between;
} */
.p-skill__title__wrap {
  width: min(34.72vw, 460px);
  position: absolute;
  top: 50%;
  left: 17.36vw;
  transform: translateY(-50%);
}
.p-skill__title {
  width: min(30.56vw, 460px);
}
.p-skill__title__wrap h2 {
  width: 16.39vw;
  height: 16.39vw;
  border-radius: 100vmax;
  background-color: var(--color-yellow);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: var(--vw20);
  margin-top: var(--vw26);
}
.p-skill__title__desc {
  font-size: min(var(--vw24), 24px);
  font-weight: 500;
  margin-top: min(var(--vw25), 25px);
}
.p-skill__pTitle {
  font-size: min(var(--vw35), 35px);
  line-height: 1;
  position: absolute;
  top: 0;
  left: min(var(--vw62), 62px);
  z-index: 2;
}
.p-skill__pTitle .bold {
  display: block;
  font-size: min(var(--vw56), 56px);
  line-height: 1;
  margin-top: min(var(--vw10), 10px);
  color: var(--color-yellow);
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: black;
}
.p-skill__info {
  position: absolute;
  top: 0;
  left: calc(50% - max(-10.28vw, -148px));
  width: min(38.33vw, 552px);
  height: min(14.51vw, 209px);
  z-index: 1;
}
.p-skill__info .item {
  position: absolute;
  top: 0;
  right: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  opacity: 0;
  transition: 0.3s;
}
.p-skill__info .item.is-active {
  opacity: 1;
}
.p-skill__info .item__img img {
  object-fit: cover;
}
.p-skill__info .item__text {
  background-color: var(--color-yellow);
  padding: var(--vw16) var(--vw16) var(--vw16) var(--vw20);
}
.p-skill__info .item__text__title {
  font-size: min(var(--vw17), 17px);
  font-weight: 500;
  margin-bottom: 0.56vw;
}
.p-skill__info .item__text__desc {
  font-size: min(var(--vw14), 14px);
}
.p-skill__line {
  position: absolute;
  bottom: min(18.68vw, 268px);
  right: 0;
  background-color: var(--color-yellow);
  width: 100%;
  height: min(var(--vw30), 30px);
}
.p-skill__line--start {
  width: 33.68vw;
}
.p-skill__line--end {
  background: linear-gradient(
    to right,
    var(--color-yellow) calc(50% - max(-20.83vw, -300px)),
    #d4d4d5 calc(50% - max(-20.83vw, -300px))
  );
}
.p-skill__line__iconStart {
  width: 8.33vw;
  height: 8.33vw;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}
.p-skill__line__iconStart img {
  transition: 0.3s;
  animation: scaleArrow 2s infinite ease-in-out;
}
@keyframes scaleArrow {
  0% {
    transform: scale(1);
  }
  50% {
    /* 膨らむ */
    transform: scale(1.3);
  }
  100% {
    /* 元に戻る */
    transform: scale(1);
  }
}
.p-skill__line__text {
  height: 100%;
  display: inline-block;
  position: absolute;
  left: min(6.94vw, 100px);
  font-size: min(var(--vw17), 17px);
  font-weight: 500;
  line-height: min(var(--vw30), 30px);
}
.p-skill__line__prev {
  font-size: var(--vw17);
  font-weight: 500;
  line-height: min(var(--vw30), 30px);
  height: 100%;
  display: inline-flex;
  position: absolute;
  top: 0;
  left: min(var(--vw52), 52px);
  padding: 0 10px;
  transition: all 0.3s;
}
.p-skill__line__prev .arrow {
  display: block;
  width: var(--vw16);
  height: 100%;
  background-image: var(--arrow-svg);
  background-position: center;
  background-size: var(--vw16) var(--vw15);
  background-repeat: no-repeat;
  transform: rotate(180deg);
}
.p-skill__bottom__wrap {
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.p-skill__contents {
  position: absolute;
  width: 100%;
  height: 10vw;
  border-top: var(--vw22) solid var(--color-yellow);
}
.p-skill__line__process {
  display: inline-flex;
  position: absolute;
  top: 0;
  right: 0;
  font-size: min(var(--vw17), 17px);
  font-weight: 500;
  line-height: min(var(--vw30), 30px);
  height: 100%;
  padding: 0 var(--vw60);
  transition: 0.3s;
}
.p-skill__line__process .arrow {
  width: var(--vw16);
  height: 100%;
  margin-left: var(--vw10);
  background-image: var(--arrow-svg);
  background-position: center;
  background-size: var(--vw16) var(--vw15);
  background-repeat: no-repeat;
  transition: 0.3s;
  animation: arrowMove 2s infinite ease-in-out;
}
@keyframes arrowMove {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(var(--vw10));
  }
  100% {
    transform: translateX(0);
  }
}
.p-skill__line__process--start {
  position: absolute;
  right: auto;
  left: -2px;
}
.p-skill__line__img {
  position: absolute;
  z-index: 0;
}
.p-skill__line__img img {
  object-fit: contain;
}
.p-skill__line__img--01 {
  right: calc(50% - min(var(--vw24), 24px));
  bottom: max(-5.97vw, -86px);
  width: min(27.5vw, 396px);
  height: min(23.26vw, 335px);
}
.p-skill__line__img--02 {
  right: calc(50% - min(var(--vw24), 24px));
  bottom: max(-5.97vw, -86px);
  width: min(30.69vw, 442px);
  height: min(29.03vw, 418px);
}
.p-skill__line__img--03 {
  right: calc(50% - min(var(--vw56), 56px));
  bottom: max(-7.08vw, -102px);
  width: min(32.5vw, 468px);
  height: min(31.88vw, 459px);
}
.p-skill__line__img--04 {
  right: calc(50% - min(6.94vw, 100px));
  bottom: max(-7.08vw, -102px);
  width: min(40.63vw, 585px);
  height: min(33.33vw, 480px);
}
.p-skill__line__img--05 {
  right: calc(50% - min(var(--vw24), 24px));
  bottom: max(-7.08vw, -102px);
  width: min(28.89vw, 416px);
  height: min(32.64vw, 470px);
}
.p-skill__line__img--06 {
  right: calc(50% - min(var(--vw66), 60px));
  bottom: max(-7.08vw, -102px);
  width: min(32.85vw, 473px);
  height: min(32.29vw, 465px);
}
.p-skill__line__img--07 {
  right: calc(50% - min(var(--vw24), 24px));
  bottom: max(-7.08vw, -102px);
  width: min(30.49vw, 439px);
  height: min(31.94vw, 460px);
}
.p-skill__line__img--08 {
  right: calc(50% - min(6.25vw, 90px));
  bottom: max(-7.08vw, -102px);
  width: min(36.46vw, 525px);
  height: min(31.6vw, 455px);
}
.p-skill__desc {
  width: min(70.14vw, 1010px);
  font-weight: min(var(--vw15), 15px);
  line-height: 1.8;
  position: absolute;
  top: calc(min(9.17vw, 132px) + min(var(--vw30), 30px));
  left: 50%;
  transform: translateX(-50%);
}
.p-skill__line__list {
  position: absolute;
  display: flex;
  gap: min(var(--vw15), 15px);
  left: calc(50% - max(-16.94vw, -244px));
}
.p-skill__line__list--5 {
  left: calc(50% - max(-14.31vw, -206px));
}
.p-skill__line__list .item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--vw10);
  text-align: center;
  cursor: pointer;
}
.p-skill__line__list .item.is-active::before {
  content: "";
  background-image: url(../img/skill/line.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 0.63vw;
  height: 12.01vw;
  position: absolute;
  top: -12.01vw;
  left: 50%;
  transform: translateX(-50%);
  transition: 0.3s;
}
.p-skill__line__list .item__num {
  display: inline-block;
  width: min(var(--vw30), 30px);
  height: min(var(--vw30), 30px);
  background-color: var(--color-white);
  border: min(0.28vw, 4px) solid var(--color-yellow);
  border-radius: 100vmax;
  font-weight: 500;
  transition: 0.3s;
}
.p-skill__line__list .item__num--gray {
  border: min(0.28vw, 4px) solid #d4d4d5;
}
.p-skill__line__list .item.is-active .item__num {
  background-color: var(--color-yellow);
  border: min(0.28vw, 4px) solid var(--color-white);
}
@keyframes arrowMove {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(var(--vw10));
  }
  100% {
    transform: translateX(0);
  }
}
.p-skill__line__list .item__text {
  writing-mode: vertical-rl;
  font-weight: 500;
  line-height: 1.2;
}

/* == type ================================================= */
.p-type__slideContainer {
  position: relative;
  height: clamp(650px, calc(100vh - min(7.36vw, 106px)), 780px);
}
.p-type .slideContent,
.p-type__result {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 100%;
  /* height: 606px; */
}
.p-type__wrap--sp {
  position: absolute;
  top: 12%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
}
.p-type__subTitle {
  text-align: center;
  /* font-size: min(var(--vw30), 30px); */
  font-size: 30px;
  font-weight: 500;
  line-height: 1;
  /* padding-top: min(var(--vw50), 50px); */
}
.p-type__title {
  /* width: min(46.67vw, 672px); */
  width: 672px;
  /* margin: var(--vw24, 24px) auto var(--vw30, 30px); */
  margin: 24px auto 30px;
}
.p-type__start__wrap {
  text-align: center;
  position: absolute;
  top: min(3.33vw, 48px);
  left: 50%;
  transform: translateX(-50%);
}
.p-type__start {
  position: relative;
  /* width: min(29.65vw, 427px); */
  /* height: min(var(--vw80), 80px); */
  width: 427px;
  height: 80px;
  background-color: var(--color-white);
  border-radius: 100vmax;
  /* font-size: min(var(--vw40), 42px); */
  font-size: 4.2rem;
  font-weight: 500;
  /* border: 3px solid var(--color-black); */
  z-index: 1;
  color: var(--color-black);
  transition: 0.3s;
}
.p-type__start::before {
  content: "";
  background-image: url(../img/type/wakusen.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  /* width: min(29.65vw, 427px);
  height: min(var(--vw80), 80px); */
  width: 427px;
  height: 80px;
  position: absolute;
  top: 0;
  left: 0;
}
.p-type__result__back {
  width: min(11.11vw, 160px);
  height: min(var(--vw48), 48px);
  background-color: var(--color-white);
  border-radius: 100vmax;
  font-size: min(var(--vw20), 20px);
  font-weight: 500;
  border: 2px solid var(--color-black);
  color: var(--color-black);
  margin: min(var(--vw32), 32px) auto 0;
  transition: 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-type__mv {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
  width: 794px;
  height: 473px;
  /* width: min(55.14vw, 794px);
  height: min(32.85vw, 473px); */
}
.p-type__mv {
  object-fit: contain;
}
.p-type__question {
  position: absolute;
  height: 100%;
  top: 0%;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out,
    visibility 0.4s ease-in-out;
}
.p-type__question.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.p-type__question__block {
  background-color: var(--color-white);
  border-radius: min(var(--vw24), 24px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 94.1vw;
  height: 90%;
}
.p-type__q__wrap {
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-type__q {
  position: relative;
  font-size: min(var(--vw40), 40px);
  font-weight: 500;
  margin-bottom: min(var(--vw40), 40px);
  line-height: 1.4;
  opacity: 0;
  transition: opacity 0.2s ease-out;
}
.p-type__question.active .p-type__q {
  opacity: 1;
}
.p-type__btnBlock {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--vw70);
}
.p-type__btn {
  width: min(14.03vw, 202px);
  height: min(14.03vw, 202px);
  border: 1px solid #231815;
  border-radius: 100vmax;
  color: var(--color-black);
  font-size: var(--vw50);
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s;
}
.p-type__btn--yes {
  background-color: var(--color-yellow);
}
.p-type__btn--no {
  background-color: var(--color-white);
}
.p-type__result {
  position: absolute;
  height: 100%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  visibility: hidden;
  text-align: center;
  transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
}
.p-type__result.active {
  opacity: 1;
  visibility: visible;
}
.p-type__result__wrap {
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 0 min(var(--vw54), 54px);
}
.p-type__result__text {
  font-size: min(var(--vw24), 24px);
  font-weight: 500;
  line-height: 1;
  text-align: left;
  position: absolute;
  top: min(var(--vw40), 40px);
}
.p-type__result__block {
  position: relative;
  top: max(-2.78vw, -40px);
}
.p-type__result__image {
  width: min(27.78vw, 400px);
  height: min(27.78vw, 400px);
  /* width: min(25vw, 360px);
  height: min(25vw, 360px); */
  margin: 0 auto;
}
.p-type__result__type {
  font-size: min(var(--vw30), 30px);
  font-weight: bold;
  line-height: 1;
  margin-bottom: min(var(--vw10), 10px);
}
.p-type__result__desc {
  font-size: min(var(--vw18), 18px);
  line-height: 1.6;
}
.p-type__q::before {
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
}
.question-start .p-type__q::before {
  background-image: url(../img/type/illust01.svg);
  width: min(var(--vw70), 70px);
  height: min(11.18vw, 161px);
  top: -2.08vw;
  right: calc(max(-0.69vw, -10px) + min(-4.86vw, -70px));
}
.question-q3a .p-type__q::before {
  background-image: url(../img/type/illust03.svg);
  width: min(7.5vw, 108px);
  height: min(10.14vw, 146px);
  top: 0;
  left: calc(max(-0.69vw, -10px) + min(-4.86vw, -70px));
}
.question-q4c .p-type__q::before {
  background-image: url(../img/type/illust02.svg);
  width: min(7.99vw, 115px);
  height: min(9.38vw, 135px);
  top: -2.08vw;
  right: calc(max(-0.69vw, -10px) + min(-4.86vw, -70px));
}
.question-q4d .p-type__q::before {
  background-image: url(../img/type/illust06.svg);
  width: min(15.83vw, 228px);
  height: min(4.38vw, 63px);
  top: min(var(--vw70), 70px);
  right: calc(max(-5.56vw, -80px) + min(-4.86vw, -70px));
}
.question-q5a .p-type__q::before {
  background-image: url(../img/type/illust04.svg);
  width: min(3.47vw, 50px);
  height: min(11.18vw, 161px);
  top: -2.08vw;
  right: calc(max(-0.69vw, -10px) + min(-4.86vw, -70px));
}
.question-q6d .p-type__q::before {
  background-image: url(../img/type/illust05.svg);
  width: min(6.32vw, 91px);
  height: min(10.49vw, 151px);
  top: -2.08vw;
  left: calc(max(-1.39vw, -20px) + min(-4.86vw, -70px));
}

/* == recruit ============================================== */
.p-recruitDetail {
  padding-top: var(--vw80);
  margin-bottom: min(8.06vw, 116px);
}
.p-recruitDetail__wrap {
  width: min(61.11vw, 880px);
  margin: 0 auto;
}
.p-recruitDetail__contents p {
  padding: min(var(--vw40), 40px) 0;
  font-size: min(var(--vw18), 18px);
  line-height: 1.8;
  border-top: 1px solid var(--color-gray);
}
.p-recruitDetail__contents strong {
  font-size: min(var(--vw26), 24px);
  margin-bottom: min(var(--vw10), 10px);
  line-height: 1.5;
  display: inline-block;
}
.p-recruitDetail__img {
  width: min(40.97vw, 590px);
  height: min(23.06vw, 332px);
  margin: 0 auto min(var(--vw50), 50px);
  overflow: hidden;
  border-radius: var(--vw15);
  border: 1px solid var(--color-black);
}
.p-recruitDetail__img img {
  object-fit: cover;
}
.p-recruitDetail__title {
  font-size: var(--vw30);
  font-weight: 500;
  text-align: center;
  margin-bottom: var(--vw80);
}
.p-recruitBtn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--color-black);
  border-radius: 100vmax;
  background-color: var(--color-yellow);
  width: min(34.72vw, 500px);
  height: min(5.97vw, 86px);
  font-size: min(var(--vw22), 22px);
  font-weight: 500;
  margin: min(6.6vw, 95px) auto 0;
  transition: 0.3s;
}
.p-recruitBtn::before {
  content: "";
  background-image: var(--icon-popup-black);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: min(1.74vw, 25px);
  height: min(1.25vw, 18px);
  position: absolute;
  right: min(3.47vw, var(--vw50));
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
}
.p-recruitDetail__contents {
  padding: var(--vw40) 0;
  border-bottom: 1px solid var(--color-gray);
}

/* == search ============================================== */
.p-searchResult {
  padding-bottom: var(--vw80);
}
.p-searchResult__block {
  font-size: var(--vw20);
  font-weight: 500;
  margin-top: var(--vw40);
  max-width: 1360px;
}

/* == contact ============================================= */
.p-contact__block,
.p-faq__block {
  width: min(55.56vw, 800px);
  margin: 6.6vw auto 7.08vw;
}
.p-contact__content {
  margin-top: var(--vw72);
}
.p-contact__content .c-btn__wrap {
  margin-top: min(var(--vw60), 60px);
}
.c-btn--form {
  width: 218px;
  height: 50px;
  font-size: var(--vw20);
  border: 2px solid var(--color-black);
  margin: 0 auto;
}
.contact_list {
  width: 100%;
  margin: 0 0 var(--vw30) 0;
}
.contact_item {
  width: 100%;
  margin: 0 0 var(--vw10) 0;
}
.contact_item p {
  width: 100%;
  font-size: min(var(--vw16), 16px);
  line-height: 1.6;
  color: var(--color-black);
  font-weight: 500;
  position: relative;
}
.contact_item p span {
  color: rgba(255, 0, 0, 0.75);
  position: absolute;
  top: 0;
  right: 0;
}
.p-contact__content input,
.p-contact__content select,
.p-contact__content textarea {
  width: 100%;
  height: auto;
  margin: 0;
  padding: 5px 10px;
  outline: 0;
  border: 1px solid var(--color-black);
  background: var(--color-white);
  -webkit-appearance: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  font-size: 14px;
  line-height: 28px;
  color: var(--color-black);
  border-radius: 5px;
}
.p-contact__content input.c-btn--form {
  width: 218px;
  height: 50px;
  font-size: min(var(--vw20), 22px);
  border: 2px solid var(--color-black);
  margin: 0 auto;
}
.contact_policy .kerning {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  font-size: var(--vw16), 20px;
}
.contact_policy p a {
  color: rgba(175, 175, 175, 1);
  position: relative;
  display: inline-block;
  width: auto;
}
.contact_policy p a::before {
  content: "";
  background-image: url(../img/common/icon_popup-gray.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 17px;
  height: 12px;
  position: absolute;
  top: -10px;
  right: 0;
}
.hidden-fields-container {
  display: none;
}
div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing,
div.wpcf7-response-output,
.wpcf7 form .wpcf7-response-output {
  /* display: none; */
  margin: var(--vw50, 50px) 0 0 0;
  padding: 10px 0 10px 0;
  border-radius: 6px;
  border: none;
  background: var(--color-black);
  font-size: 14px;
  line-height: 14px;
  font-weight: bold;
  color: var(--color-white);
  text-align: center;
  font-feature-settings: "palt";
}
.wpcf7-not-valid-tip {
  font-size: min(var(--vw16), 16px);
  font-weight: 500;
}

/* == faq ================================================= */
.p-faq__accordion {
  position: relative;
  margin-bottom: 7px;
}
.p-faq__accordion::before {
  content: "";
  background-image: url(../img/common/icon_q.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: var(--vw36);
  left: 0;
  width: min(var(--vw25), 25px);
  height: min(var(--vw32), 33px);
}
.p-faq__list {
  margin-bottom: min(var(--vw80), 80px);
  border-bottom: 1px solid #b9c3c9;
}
.p-faq__accordion summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: var(--vw32) var(--vw42) var(--vw24) var(--vw50);
  font-weight: 500;
  cursor: pointer;
  border-top: 1px solid #b9c3c9;
  font-size: min(var(--vw22), 22px);
}
.p-faq__accordion summary::-webkit-details-marker {
  display: none;
}
.p-faq__accordion summary::before,
.p-faq__accordion summary::after {
  content: "";
  width: 3px;
  height: 24px;
  background-color: var(--color-black);
  position: absolute;
  right: 18px;
}
.p-faq__accordion summary::before {
  rotate: 90deg;
}
.p-faq__accordion summary::after {
  transition: rotate 0.3s;
}
.p-faq__accordion[open] summary::after {
  rotate: 90deg;
}
.p-faq__content {
  position: relative;
  overflow: hidden;
  transition: height 0.3s ease, opacity 0.3s ease;
  height: 0;
  opacity: 0;
  padding: 0 var(--vw10) var(--vw24) var(--vw50);
}
.p-faq__content::before {
  content: "";
  background-image: url(../img/common/icon_a.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  width: min(var(--vw24), 24px);
  height: min(var(--vw26), 26px);
}
.p-faq__accordion[open] .p-faq__content {
  opacity: 1;
}

/* == footer ============================================== */
.l-footer--under {
  border-top: 1px solid var(--color-black);
}
.l-footer__links__wrap {
  padding: var(--vw38) 0;
}
.l-footer__tags {
  width: 100%;
  background-color: var(--color-white);
  border-top: 1px solid var(--color-black);
}
.l-footer__tags .c-tags {
  padding: var(--vw20) 0;
}
.l-footer__links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--vw38);
}
.l-footer__links__item a {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  background-color: var(--color-white);
  border-radius: var(--vw15);
  border: 1px solid var(--color-black);
  overflow: hidden;
}
.l-footer__links__item .image {
  overflow: hidden;
}
.l-footer__links__item .image img {
  transition: 0.3s;
}
.l-footer__links__item .desc {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--vw20);
  transition: 0.3s;
}
.l-footer__links__item .desc__text {
  font-size: var(--vw17);
  font-weight: 500;
  text-align: left;
}
.l-footer__links__item .desc__btn {
  background-image: var(--icon-download-yellow);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 5.8vw;
  height: 5.8vw;
  transition: 0.3s;
}
.l-footer__desc {
  padding: var(--vw20) 0 var(--vw34);
  display: flex;
  align-items: flex-end;
  background-color: var(--color-white);
}
.l-footer__desc__wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.l-footer__desc__info {
  display: grid;
  grid-template-columns: 27.08vw 18.19vw;
  align-items: center;
  gap: var(--vw60);
}
.l-footer__desc__info .logo {
  width: 27.08vw;
}
.l-footer__desc__info .address {
  width: 18.75vw;
  font-size: var(--vw12);
  font-weight: 400;
  padding-left: var(--vw34);
  border-left: 1px solid var(--color-black);
}
.l-footer__desc__block {
  display: flex;
  align-items: flex-end;
  gap: var(--vw30);
}
.l-footer__desc__block .copyright {
  font-size: var(--vw11);
}
.l-footer__desc__block .links {
  display: flex;
  gap: var(--vw16);
}
.l-footer__desc__block .links__item {
  width: var(--vw38);
  height: var(--vw38);
  transition: 0.3s;
  position: relative;
}
.l-footer__desc__block .links__item img {
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.3s;
}
.l-footer__desc__block .links__item .links__item__01 {
  z-index: 1;
}
.l-footer__desc__block .links__item .links__item__02 {
  z-index: 0;
}

@media (hover: hover) {
  a:hover,
  input:hover {
    cursor: pointer;
  }
  .c-pagination__item:hover a {
    color: var(--color-white);
    background-color: var(--color-black);
  }
  .c-pagination__item.prev:hover a {
    background-image: var(--arrow-prev-hover);
  }
  .c-pagination__item.next:hover a {
    background-image: var(--arrow-next-hover);
  }
  .c-cardList__item:hover .desc {
    opacity: 1;
  }
  .c-cardList__item:hover .icon--absolute--01 {
    opacity: 0;
  }
  .c-cardList__item:hover .icon--absolute--02 {
    opacity: 1;
  }
  .c-btn:hover,
  input.c-btn:hover {
    color: var(--color-white);
    background-color: var(--color-black);
  }
  .c-tags:hover {
    animation-play-state: paused;
  }
  .c-tags a:hover {
    background-color: var(--color-white);
  }
  /* ホバー時にアニメーション一時停止（オプション） */
  .c-tags:hover .c-tags__list {
    animation-play-state: paused;
  }
  .l-header__menu__item:hover .menu__ja::after {
    left: 0;
  }
  .global-navigation__link:hover .line::before {
    width: 100%;
  }
  .l-header__nav__tags .c-tags__item a:hover {
    background-color: transparent;
  }
  .l-header__hamburger:hover .hamburger__line:before {
    left: -0.28vw;
  }
  .l-header__hamburger:hover .hamburger__line:after {
    right: -0.28vw;
  }
  .hamburger.is-active .hamburger__line::before {
    left: auto;
  }
  .hamburger.is-active .hamburger__line:after {
    right: auto;
  }
  .p-indexMv__item__ai a:hover::before,
  .p-indexMv__item__future a:hover .bg,
  .p-indexMv__item__skill a:hover .image img,
  .p-indexColumn__contents__item a:hover .itemBlock .image,
  .p-indexColumn__contents__item a:hover .itemBlock .title img,
  .p-indexMv__item__news .newsList__item:hover .newsList__item__image img,
  .p-indexMv__item__skill:hover .movie,
  .p-archive__list__item:hover img {
    transform: scale(1.1);
  }
  .p-indexMv__item__type a:hover .bg,
  .p-indexMv__item__clothes a:hover .bg {
    transform: scale(1.4);
  }
  .p-indexMv__item__type a:hover .block::before,
  .p-indexMv__item__clothes:hover::before {
    transform: translate(-50%, -50%) scale(1);
  }
  .p-indexFind__slider__slide:hover {
    height: 39.67vw;
  }
  .p-indexLinkBlock:hover {
    background-color: var(--color-black);
    color: var(--color-white);
  }
  .p-indexRanking__slider--top:hover,
  .p-indexRanking__slider--bottom:hover {
    animation-play-state: paused;
  }
  .p-indexRanking__slider__slide:hover a {
    background-color: var(--color-yellow);
  }
  .p-indexRanking__slider__slide:hover .number {
    color: var(--color-white);
  }
  .p-indexProject__contents__list .item:hover {
    height: 38.97vw;
  }
  .p-skill__line__iconStart:hover img {
    transform: scale(1.2);
  }
  .p-skill__line__process:hover {
    color: var(--color-white);
    background-color: var(--color-black);
  }
  .p-skill__line__process:hover .arrow {
    background-image: var(--arrow-svg-white);
  }
  .p-type__btn--yes:hover,
  .p-type__btn--no:hover {
    transform: scale(1.05);
  }
  .p-type__start:hover,
  .p-type__result__back:hover {
    background-color: var(--color-black);
    color: var(--color-white);
  }
  .l-footer__links__item:hover .desc__btn {
    background-image: var(--icon-download-white);
  }
  .l-footer__links__item:hover .desc {
    background-color: var(--color-yellow);
  }
  .l-header__nav__links .item:hover .links__item__01,
  .l-footer__desc__block .links__item:hover .links__item__01 {
    opacity: 0;
  }
  .p-recruitBtn:hover {
    color: var(--color-white);
    background-color: var(--color-black);
  }
  .p-recruitBtn:hover::before {
    background-image: var(--icon-popup-white);
  }
}

@media (width < 768px) {
  /* == base ================================================ */
  :root {
    --vw10: 2.82vw;
    --vw11: 3.11vw;
    --vw12: 3.39vw;
    --vw13: 3.67vw;
    --vw14: 3.95vw;
    --vw15: 4.24vw;
    --vw16: 4.52vw;
    --vw17: 4.8vw;
    --vw18: 5.08vw;
    --vw19: 5.37vw;
    --vw20: 5.65vw;
    --vw21: 6.09vw;
    --vw22: 6.21vw;
    --vw24: 6.78vw;
    --vw25: 7.06vw;
    --vw26: 7.34vw;
    --vw28: 7.91vw;
    --vw30: 8.47vw;
    --vw32: 9.04vw;
    --vw34: 9.6vw;
    --vw38: 10.73vw;
    --vw40: 11.3vw;
    --vw42: 11.86vw;
    --vw48: 13.56vw;
    --vw50: 14.12vw;
    --vw52: 14.69vw;
    --vw60: 16.95vw;
    --vw62: 17.51vw;
    --vw64: 18.08vw;
    --vw68: 19.21vw;
    --vw80: 21.39vw;
  }
  /* == layout ============================================== */
  .l-inner--1360 {
    width: 88.98vw;
  }
  .l-inner--1186 {
    width: 100%;
  }
  .l-inner--1000 {
    width: 88.98vw;
  }
  /* == utility ============================================= */
  .u-sp {
    display: block !important;
  }
  .u-pc {
    display: none !important;
  }
  /* == component =========================================== */
  .c-title {
    text-align: left;
    width: 88%;
    margin-bottom: var(--vw10);
  }
  .c-title__en {
    font-size: var(--vw10);
  }
  .c-title__jp {
    display: block;
    font-size: var(--vw25);
    padding-top: var(--vw11);
  }
  .c-title--white {
    -webkit-text-stroke: 0.27vw var(--color-black);
    text-stroke: 0.27vw var(--color-black);
  }
  .c-title--yellow {
    -webkit-text-stroke: 0.27vw var(--color-black);
    text-stroke: 0.27vw var(--color-black);
  }
  .c-tab::after {
    background-image: url(../img/top/tab-sp.svg);
    width: 100vw;
    height: 6.67vw;
    top: -6.2vw;
  }
  .c-tags {
    gap: var(--vw10);
  }
  .c-tags__list {
    display: flex;
    gap: var(--vw10);
    animation: tagsSlideLoop 20s linear infinite;
  }
  .c-tags__item a {
    font-size: var(--vw10);
    padding: 1.13vw var(--vw10);
  }
  .c-tags__item .tagdeco {
    margin-right: 6px;
  }
  .c-pagination {
    width: 84.75vw;
    grid-template-columns: repeat(3, 1fr);
    margin: var(--vw40) auto var(--vw30);
  }
  .c-pagination__item a {
    font-size: var(--vw16);
  }
  .c-pagination__item.prev a {
    background-position: center left var(--vw10);
    background-size: var(--vw14);
  }
  .c-pagination__item.next a {
    background-position: center right var(--vw10);
    background-size: var(--vw14);
  }
  .c-underTop {
    margin-top: 82px;
  }
  .c-underContents {
    padding: var(--vw30) var(--vw24);
    border-radius: var(--vw24);
  }
  .c-underContentsP {
    padding: var(--vw30) 0 var(--vw40);
  }
  .c-underTitle01__main {
    font-size: var(--vw42);
    margin-bottom: 0;
  }
  .c-underTitle01__sub {
    font-size: var(--vw14);
  }
  .c-underTitle02 {
    font-size: var(--vw40);
  }
  .c-title--collections {
    -webkit-text-stroke: 0.27vw var(--color-black);
    text-stroke: 0.27vw var(--color-black);
    font-size: 9.6vw;
    margin-top: 1.07vw;
  }
  .c-underContents__desc {
    font-size: var(--vw13);
    text-align: left;
    margin-bottom: var(--vw40);
  }
  .c-cardList {
    grid-template-columns: 1fr;
  }
  .c-cardList__item {
    border-radius: 0;
  }
  .c-cardList__item .icon {
    width: var(--vw60);
    height: var(--vw60);
  }
  .c-cardList__item .icon--absolute {
    top: var(--vw10);
    left: var(--vw10);
  }
  .c-cardList__item__img {
    border-radius: var(--vw20);
    overflow: hidden;
    height: 76.53vw;
  }
  .c-cardList__item .desc {
    position: relative;
    opacity: 1;
    height: auto;
    padding: 0;
    background-color: transparent;
  }
  .c-cardList__item .desc__title {
    font-size: min(var(--vw16), 16px);
    padding: 0;
    text-align: center;
    margin-top: min(var(--vw20), 20px);
    margin-bottom: min(var(--vw16), 16px);
  }
  .c-cardList__item:has(.c-cardList__item__title) {
    width: 100%;
    height: auto;
  }
  .c-cardList__item .desc__links {
    width: 100%;
    margin-top: min(var(--vw24), 24px);
    gap: min(var(--vw16), 16px);
    position: relative;
    bottom: auto;
  }
  .c-cardList__item .desc__links a {
    font-size: min(var(--vw16), 16px);
    border: 1px solid var(--color-black);
    padding: min(var(--vw10), 10px);
  }

  /* == header ============================================== */
  .l-header {
    background-color: var(--color-white);
    border-bottom: 1px solid var(--color-black);
    z-index: 9999;
    width: 100%;
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .l-header-top__logo {
    display: none;
  }
  .l-header--fixed__wrap {
    justify-content: space-between;
    align-items: center;
    height: 100%;
    margin: 0 auto;
    display: flex;
  }
  .l-header__wrap {
    position: fixed;
    width: 15.25vw;
    bottom: var(--vw10);
    right: var(--vw10);
    transform: none;
    margin: 0;
    padding: 0;
    right: var(--vw10);
    gap: var(--vw16);
    position: absolute;
    top: 0;
    left: auto;
  }
  .l-header__hamburger {
    width: 52px;
    bottom: -98dvh;
    position: absolute;
  }
  .hamburger {
    width: 52px;
    height: 52px;
    background-color: var(--color-yellow);
    border: 1px solid var(--color-black);
    border-radius: 100vmax;
    transition: backgroundColor 0.3s, border 0.3s;
  }
  .hamburger.is-active {
    background-color: var(--color-white);
    border: none;
  }
  .hamburger__line {
    width: 26px;
    height: 2px;
  }
  .hamburger__line::before {
    top: -8px;
  }
  .hamburger__line::after {
    bottom: -8px;
  }
  .l-header__nav {
    /* SPでのハンバーガーボタン位置（右下角から10pxの位置） */
    clip-path: circle(
      0px at calc(100% - var(--vw10) - 26px) calc(90dvh + var(--vw10) + 26px)
    );
  }
  .l-header__nav.is-active {
    clip-path: circle(
      210vh at calc(100% - var(--vw10) - 26px) calc(90dvh + var(--vw10) + 26px)
    );
  }
  .l-header--under .l-header__nav {
    clip-path: circle(
      0px at calc(100% - var(--vw10) - 26px) calc(87dvh + var(--vw10) + 26px)
    );
  }
  .l-header--under .l-header__nav.is-active {
    clip-path: circle(
      210vh at calc(100% - var(--vw10) - 26px) calc(87dvh + var(--vw10) + 26px)
    );
  }
  .l-header__nav__logo {
    width: 100%;
    max-width: 400px;
  }
  .l-header__nav__block {
    height: 100svh;
    /* min-height: 100svh; */
    padding: var(--vw30) var(--vw24) 80px;
    overflow: hidden;
    overflow-y: scroll;
  }
  .global-navigation {
    flex-direction: column;
    gap: 40px;
    margin-top: 42px;
    margin-left: 15px;
  }
  .l-header__nav__block::after {
    content: none;
  }
  .l-header__nav__tags::after {
    content: "";
    background-image: url(../img/common/header_nav_deco-sp.svg);
    background-position: center;
    background-size: cover;
    background-repeat: repeat-x;
    width: 353.33vw;
    height: var(--vw25);
    position: absolute;
    bottom: -56px;
    left: 0;
    animation: 50s linear infinite decoSlide;
  }
  .global-navigation__link {
    font-size: 21px;
  }
  .global-navigation__link--ttl {
    margin-bottom: 16px !important;
  }
  .global-navigation__link--sub {
    font-size: 15px;
  }
  .global-navigation__list
    li:not(:last-child):has(.global-navigation__link--sub) {
    margin-bottom: 14px;
  }
  .global-navigation__wrap .global-navigation__list:not(:last-child) {
    margin-bottom: 32px;
  }
  .global-navigation__list li:not(:last-child) {
    margin-bottom: 16px;
  }
  .l-header__nav__links {
    position: relative;
    gap: 18px;
  }
  .l-header__nav__links .item {
    width: 42px;
    height: 42px;
  }
  .l-header__nav__tags {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    gap: var(--vw10);
    margin-left: 15px;
  }
  .c-tags__item a {
    padding: min(1.74vw, 8px) min(var(--vw10), 12px);
  }
  .l-header--under .l-header__wrap--under {
    width: 100%;
  }
  .l-header--fixed .l-header-top__logo {
    width: min(82.67vw, 310px);
    margin: 0 auto;
  }
  .l-header__wrap--under .l-header-top__logo {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background-color: var(--color-white);
    border-top: 1px solid var(--color-black);
    border-bottom: 1px solid var(--color-black);
  }
  .l-header-top__logo a {
    width: min(82.67vw, 310px);
  }
  .l-header--under {
    height: 8.2rem;
    background-color: transparent;
    border: none;
  }
  .l-header--under .l-header__wrap {
    position: absolute;
    right: var(--vw10);
    top: 0;
    left: auto;
    gap: var(--vw16);
    /* height: 100dvh; */
    position: absolute;
  }
  .l-header--under .l-header__hamburger {
    position: absolute;
    width: 52px;
    /* bottom: var(--vw10); */
    bottom: -87dvh;
  }
  .l-header__nav__tags .c-tags__item a {
    font-size: var(--vw11);
  }

  /* == index =============================================== */
  .p-indexMv {
    flex-direction: column;
    margin: var(--vw34) auto var(--vw50);
    padding-bottom: 0;
    gap: var(--vw16);
  }
  .p-indexMv__block {
    width: 100%;
    gap: var(--vw16);
  }
  .p-indexMv__item__wrap {
    padding-bottom: var(--vw22);
  }
  .p-indexMv__item__time {
    height: var(--vw64);
    border-radius: var(--vw11);
  }
  .p-indexMv__item__time .text__contents {
  }
  .p-indexMv__item__time .icon {
    width: 24.01vw;
    height: 100%;
  }
  .p-indexMv__item__time__block {
    gap: var(--vw12);
    padding: 0 var(--vw20);
  }
  .p-indexMv__item__time .date {
    gap: var(--vw10);
  }
  .p-indexMv__item__time .date__ym,
  .p-indexMv__item__time .time {
    font-size: var(--vw18);
  }
  .p-indexMv__item__time .date__dd {
    font-size: var(--vw32);
    width: 19.21vw;
    height: 11.86vw;
    padding-top: 0.53vw;
  }
  .p-indexMv__item__time .text,
  .p-indexMv__item__time .text span {
    width: 19vw;
    height: 11.86vw;
    font-size: var(--vw13);
    padding-left: 0.56vw;
    padding-top: 0.27vw;
  }
  @keyframes textSlideToTop {
    0% {
      transform: translateY(0);
    }
    7.41% {
      transform: translateY(0);
    }
    /* 2秒停止 */
    11.11% {
      transform: translateY(calc(-1 * 11.86vw));
    }
    /* 1個目移動 */

    18.52% {
      transform: translateY(calc(-1 * 11.86vw));
    }
    22.22% {
      transform: translateY(calc(-2 * 11.86vw));
    }
    /* 2個目移動 */

    29.63% {
      transform: translateY(calc(-2 * 11.86vw));
    }
    33.33% {
      transform: translateY(calc(-3 * 11.86vw));
    }
    /* 3個目移動 */

    40.74% {
      transform: translateY(calc(-3 * 11.86vw));
    }
    44.44% {
      transform: translateY(calc(-4 * 11.86vw));
    }
    /* 4個目移動 */

    51.85% {
      transform: translateY(calc(-4 * 11.86vw));
    }
    55.56% {
      transform: translateY(calc(-5 * 11.86vw));
    }
    /* 5個目移動 */

    62.96% {
      transform: translateY(calc(-5 * 11.86vw));
    }
    66.67% {
      transform: translateY(calc(-6 * 11.86vw));
    }
    /* 6個目移動 */

    74.07% {
      transform: translateY(calc(-6 * 11.86vw));
    }
    77.78% {
      transform: translateY(calc(-7 * 11.86vw));
    }
    /* 7個目移動 */

    85.19% {
      transform: translateY(calc(-7 * 11.86vw));
    }
    88.89% {
      transform: translateY(calc(-8 * 11.86vw));
    }
    /* 8個目移動 */

    96.30% {
      transform: translateY(calc(-8 * 11.86vw));
    }
    100% {
      transform: translateY(calc(-9 * 11.86vw));
    }
    /* 9個目（複製）に移動してループ */
  }
  .p-indexMv__item__future {
    height: 62.43vw;
    border-radius: var(--vw10);
  }
  .p-indexMv__item__future .title {
    width: 70.62vw;
    height: var(--vw60);
  }
  .p-indexMv__item__future .bgSlider__row__item {
    width: 22.03vw;
    height: 20.9vw;
  }
  .p-indexMv__item__ai a {
    height: 62.71vw;
    border-radius: var(--vw10);
    padding: var(--vw40) var(--vw20);
  }
  .p-indexMv__item__ai h2 {
    font-size: var(--vw24);
  }
  .p-indexMv__item__skill {
    height: var(--vw64);
  }
  .p-indexMv__item__skill .title {
    height: 100%;
    font-size: var(--vw25);
  }
  .p-indexMv__item__skill .title img {
    width: var(--vw30);
    height: var(--vw30);
  }
  .p-indexMv__item__news.u-sp {
    position: relative;
    border: 1px solid var(--color-black);
    border-radius: var(--vw15);
    overflow: hidden;
    height: var(--vw64);
    background-color: var(--color-yellow);
    padding: var(--vw16) var(--vw12);
  }
  .p-indexMv__item__news.u-sp a {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7.47vw;
  }
  .p-indexMv__item__news.u-sp .title {
    height: 100%;
    font-size: var(--vw25);
    font-weight: 500;
    line-height: 1.3;
    writing-mode: unset;
    border-right: none;
  }
  .p-indexMv__item__news.u-sp .image {
    width: 18.64vw;
    height: 18.08vw;
  }
  .p-indexMv__item__news.u-sp img {
    object-fit: contain;
  }
  .p-indexFind {
    border-top: none;
    padding-top: 0;
  }
  .p-indexFlex {
    flex-direction: column;
    margin: 0 auto;
  }
  .p-indexFlex .c-tags {
    width: 100vw;
  }
  .p-indexFind__contents {
    margin-top: var(--vw20);
    /* margin-bottom: var(--vw50); */
    height: 93.22vw;
  }
  .p-indexFind__slider__slide {
    width: 74.58vw;
    height: 97.22vw;
    padding: var(--vw17) 0 var(--vw40) var(--vw20);
    margin-right: -9.04vw;
    /* border-bottom: none; */
  }
  .p-indexFind__slider__slide .title__num {
    font-size: var(--vw32);
    -webkit-text-stroke: 0.85vw var(--color-black);
    text-stroke: 0.85vw var(--color-black);
  }
  .p-indexFind__slider__slide .title__text {
    font-size: var(--vw17);
    margin-top: var(--vw14);
  }
  .p-indexFind__slider__slide .title__text::before {
    width: 24.01vw;
  }
  .p-indexFind__slider__slide .contents {
    margin-top: var(--vw30);
  }
  .p-indexFind__slider__slide .contents__desc {
    font-size: var(--vw13);
  }
  .p-indexFind__slider__slide .contents__img {
    width: 53.67vw;
    height: 49.72vw;
  }
  .p-indexFind__slider__slide .contents__img--over {
    height: 55.08vw;
  }
  .p-indexFind__slider__slide .contents__img--over img {
    top: -2.54vw;
  }
  .p-indexColumn {
    border-top: none;
    padding-bottom: var(--vw42);
    padding-top: 0;
  }
  .p-indexColumn__contents {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--vw13) var(--vw14);
    margin-top: var(--vw20);
  }
  .p-indexColumn__contents__item .itemBlock {
    grid-template-columns: 1fr;
    border-radius: var(--vw10);
    height: auto;
  }
  .p-indexColumn__contents__item .itemBlock .title {
    order: 2;
    height: var(--vw50);
  }
  .p-indexColumn__contents__item .itemBlock .title img {
    width: 68%;
  }
  .p-indexColumn__contents__item .itemBlock .image {
    order: 1;
    height: 28.25vw;
  }
  .p-indexColumn__contents__item .itemBlock .image img {
    object-fit: cover;
  }
  .p-indexColumn__contents__item .itemText {
    flex-direction: column;
    font-size: var(--vw12);
    gap: 0;
    margin-top: var(--vw14);
  }
  .p-indexColumn__contents__item .itemText .info {
    font-size: var(--vw11);
  }
  .p-indexColumn__contents__item .itemText .title {
    -webkit-line-clamp: 2;
  }
  .p-indexLinkBlock {
    height: 28.81vw;
  }
  .p-indexLinkBlock a {
    height: 100%;
  }
  .p-indexLinkBlock__wrap {
    width: 100%;
    display: block;
  }
  .p-indexYesNo .p-indexLinkBlock__title,
  .p-indexRecruit .p-indexLinkBlock__title {
    width: 84.75vw;
    margin: 0 auto;
  }
  .p-indexRanking {
    padding: var(--vw32) 0;
    overflow: hidden;
  }
  .p-indexRanking__title {
    width: 77.53vw;
    gap: var(--vw26);
    justify-content: flex-start;
  }
  .p-indexRanking__title__en {
    font-size: 2rem;
  }
  .p-indexRanking__title__jp {
    font-size: 1.2rem;
  }
  /* SPでは全スライドを連続表示するためのコンテナ */
  .p-indexRanking__contents {
    display: flex;
    animation: slide-left 70s linear infinite;
    /* 全10個のスライド + 複製分の幅 */
    width: calc((74.86vw + var(--vw12)) * 20);
  }
  /* 各スライダーを横並びに配置 */
  .p-indexRanking__slider.u-sp {
    display: flex !important;
    width: calc((74.86vw + var(--vw12)) * 10);
    margin-top: 0;
    gap: var(--vw12);
  }
  .p-indexRanking__slider__slide {
    width: 74.86vw;
  }
  .p-indexRanking__slider__slide a {
    gap: 2.54vw;
  }
  .p-indexRanking__slider__slide .image {
    width: 14.69vw;
    height: 14.69vw;
  }
  .p-indexRanking__slider__slide .number {
    font-size: var(--vw19);
  }
  .p-indexRanking__slider__slide .title {
    font-size: var(--vw10);
  }
  .c-commonDeco {
    height: 53.11vw;
  }
  /* .c-commonDeco__img {
    width: 514.13vw;
    animation: 70s linear infinite decoSlide;
  }
  .c-commonDeco__img img {
    object-fit: cover;
  } */
  .c-commonDeco__text {
    width: 432.77vw;
    height: var(--vw15);
  }
  .p-indexProject__title {
    padding-top: var(--vw50);
  }
  .p-indexProject__contents {
    height: auto;
    margin-top: var(--vw20);
  }
  .p-indexProject__slider {
    height: 90.5vw;
  }
  .p-indexProject__contents__list .item.swiper-slide {
    height: 100%;
    border-radius: var(--vw10);
  }
  .p-indexProject__contents__list .item__title--mark::before {
    width: var(--vw12);
    height: var(--vw13);
    bottom: -4.33vw;
    left: calc(50% + 0.27vw);
  }
  .p-indexProject__contents__list .item {
    width: 22.32vw;
  }
  .p-indexProject__contents__list .item:before {
    content: none;
  }
  .p-indexProject__contents__list .item__wrap {
    width: 16.06vw;
    padding-top: var(--vw24);
    gap: var(--vw16);
  }
  .p-indexProject__contents__list .item__number {
    font-size: var(--vw18);
  }
  .p-indexProject__contents__list .item__title {
    font-size: var(--vw14);
  }

  /* == skill =============================================== */
  .p-skill .c-underContents {
    height: auto;
    /* overscroll-behavior-y: none; */
  }
  .p-skill__slideContainer {
    height: auto;
    align-items: flex-start;
    /* overscroll-behavior-y: none; */
  }
  .p-skill__slideContainer .slideContents {
    height: auto;
    min-width: 100vw;
    flex-shrink: 0;
  }
  .p-skill__title__wrap {
    position: relative;
    width: 285px;
    top: auto;
    left: auto;
    transform: none;
    margin: 0 auto;
    padding-top: 84px;
  }
  .p-skill__title {
    width: 100%;
  }
  .p-skill__title__desc {
    font-size: 1.5rem;
    margin-top: 16px;
  }
  .p-skill__line__wrap {
    position: absolute;
    top: 0;
    width: 100%;
    height: 480px;
  }
  .p-skill__line {
    bottom: auto;
    height: 30px;
    bottom: 0;
  }
  .p-skill__line--end {
    background: linear-gradient(to right, var(--color-yellow) 50%, #d4d4d5 50%);
  }
  .p-skill__line--start {
    width: 64.12vw;
  }
  .p-skill__line__iconStart {
    width: 112px;
    height: 112px;
  }
  .p-skill__line__list {
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    gap: 15px;
  }
  .p-skill__line__list--5 {
    width: 210px;
  }
  .p-skill__line__list .item {
    font-size: 1.7rem;
    gap: 10px 0;
    width: 30px;
  }
  .p-skill__line__list .item.is-active:before {
    content: none;
  }
  .p-skill__line__list .item__num {
    font-size: 1.6rem;
    width: 30px;
    height: 30px;
    border: 3px solid var(--color-yellow);
    animation: scaleArrow 2s infinite ease-in-out;
  }
  .p-skill__line__list .item__num--gray {
    border: 3px solid #d4d4d5;
  }
  .p-skill__line__list .item.is-active .item__num {
    /* border: 3px solid var(--color-white); */
    border: 3px solid var(--color-yellow);
    background-color: var(--color-white);
  }
  .p-skill__line__img {
    width: 100%;
    max-width: 375px;
    height: auto;
    bottom: 40px;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    overflow: hidden;
  }
  .p-skill__pTitle {
    position: relative;
    text-align: center;
    font-size: 1.3em;
    top: auto;
    left: auto;
    padding-top: 18px;
  }
  .p-skill__pTitle .bold {
    font-size: 3.4rem;
    margin-top: 8px;
  }
  .p-skill__pTitle__desc {
    display: block;
    font-size: 1.6rem;
    font-weight: 500;
    margin-top: 10px;
  }
  .p-skill__desc {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    width: 80.23vw;
    margin: 530px auto 68px;
    font-size: 1.5rem;
  }
  .p-skill__line__process {
    padding: 0 20px 0 0;
    animation: scaleArrow 2s infinite ease-in-out;
  }
  .p-skill__line__process .number {
    display: none;
  }
  .p-skill__line__process .arrow {
    animation: none;
  }
  .p-skill__line__prev {
    line-height: var(--vw30);
    padding: 0 var(--vw60);
    left: 0;
    padding: 0 0 0 20px;
  }
  .p-skill__line__next .arrow,
  .p-skill__line__prev .arrow {
    margin: 0;
  }
  /* モーダルスタイル */
  .p-skill__info {
    display: none;
  }
  .p-skill__modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
  }
  .p-skill__modal__overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 225, 0, 0.9);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  }
  .p-skill__modal__overlay.show {
    opacity: 1;
    visibility: visible;
  }
  .p-skill__modal__content {
    position: relative;
    background: transparent;
    padding: 20px;
    max-width: 90%;
    max-height: 90%;
    overflow-y: auto;
    z-index: 1;
    opacity: 0; /* 初期状態を追加 */
    transition: opacity 0.3s ease-in-out;
  }
  .p-skill__modal__overlay.show ~ .p-skill__modal__content {
    opacity: 1;
  }
  .p-skill__modal__title {
    font-size: 2.4rem;
    font-weight: 500;
    margin-bottom: 8px;
  }
  .p-skill__modal__img {
    width: 100%;
    height: auto;
  }
  .p-skill__modal__text {
    font-size: 1.7rem;
    margin-top: 10px;
    margin-bottom: 10px;
    font-weight: 500;
  }
  .p-skill__modal__info {
    font-size: 1.5rem;
    line-height: 1.8;
  }

  /* == tool, wear ========================================== */
  .p-tool .c-underTitle02,
  .p-wear .c-underTitle02 {
    flex-direction: column;
  }

  /* == cpncept ================================================ */
  .p-concept__mv {
    /* height: 188.7vw; */
    height: 100svh;
  }
  .p-concept__mv__title {
    opacity: 1;
    right: auto;
    bottom: auto;
    top: var(--vw30);
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
  }
  .p-concept__mv__title .u-sp {
    font-size: var(--vw30);
    font-weight: 500;
  }
  .p-concept__mv__title--left .u-sp {
    font-size: var(--vw30);
    font-weight: 500;
  }
  .p-concept__mv__desc {
    opacity: 1;
    top: var(--vw30);
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    font-size: var(--vw13);
    line-height: 2;
    width: 85%;
  }
  .p-concept__contents {
    position: relative;
    width: 83.33vw;
    padding-bottom: 28.25vw;
  }
  .p-concept__future__title {
    color: var(--color-white);
    font-size: var(--vw30);
    width: 86.44vw;
    height: auto;
    font-weight: 500;
    position: relative;
    top: auto;
    right: auto;
    margin: 0 auto;
  }
  .p-concept__contents__desc {
    font-size: var(--vw13);
    font-weight: 500;
    line-height: 2;
    margin: var(--vw22) auto var(--vw42);
  }
  .p-concept__contents__list {
    gap: var(--vw30);
  }
  .p-concept__contents__list .item {
    flex-direction: column;
    gap: var(--vw18);
  }
  .p-concept__contents__list .item__img {
    width: 94%;
    margin: 0 auto;
  }
  .p-concept__contents__list .item__tag {
    font-size: var(--vw13);
  }
  .p-concept__contents__list .item__title {
    font-size: var(--vw15);
  }
  .p-concept__contents__list .item__desc {
    font-size: var(--vw12);
  }
  .p-concept__contents__descBottom {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    /* width: 100vw; */
    /* margin-inline: calc(50% - 50vw); */
    font-size: var(--vw19);
    letter-spacing: 0;
  }
  .p-concept__contents__descBottom span {
    padding: 0 2.26vw;
    margin-bottom: 2.26vw;
  }
  .p-concept__contents__descBottom span.last {
    padding-right: 0;
  }
  .p-concept__contents__descBottom span.u-sp {
    display: inline-block !important;
  }

  /* == type ================================================ */
  .p-type,
  .p-type .slideContent,
  .p-type__question,
  .p-type__result {
    height: 100%;
    width: 100%;
    overflow: hidden;
    left: 0;
    transform: none;
  }
  .p-type__slideContainer {
    /* height: clamp(550px, calc(100vh - 82px), 1024px); */
    height: min(calc(100vh - 82px), 586px);
  }
  .p-type__wrap--sp {
    position: absolute;
    width: 100%;
    /* top: min(14%, 180px); */
    top: 11%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
  }
  .p-type__subTitle {
    font-size: min(var(--vw15), 1.8rem);
    /* font-size: 1.4rem; */
    /* padding-top: var(--vw80); */
  }
  .p-type__title {
    /* width: 228px; */
    /* width: min(60.8vw, 340px); */
    width: min(71.47vw, 268px);
    margin: 10px auto 30px;
    /* width: 60.8vw;
    margin: var(--vw10) auto var(--vw30); */
  }
  .p-type__start__wrap {
    top: var(--vw12);
  }
  .p-type__start {
    /* width: min(60.27vw, 316px);
    height: min(11.2vw, 60px); */
    width: 226px;
    height: 42px;
    /* width: 60.27vw;
    height: 11.2vw; */
    font-size: 2.2rem;
  }
  .p-type__start:before {
    background-image: url(../img/type/wakusen-sp.png);
    /* width: min(60.27vw, 316px);
    height: min(11.2vw, 60px); */
    width: 226px;
    height: 43px;
    /* width: 60.27vw;
    height: 11.2vw; */
  }
  .p-type__mv {
    overflow: hidden;
    display: flex;
    justify-content: center;
    width: min(100%, 450px);
    height: auto;
    /* width: 348px;
    height: 269px; */
    /* width: 92.8vw;
    height: 71.73vw; */
  }
  .p-type__q__wrap {
    width: 100%;
  }
  .p-type__q {
    font-size: 2rem;
    margin-bottom: 40px;
  }
  .p-type__btnBlock {
    gap: 20px;
    flex-direction: column;
    align-items: center;
  }
  .p-type__btn {
    width: 250px;
    height: 70px;
    font-size: 2rem;
  }
  .p-type__result__title {
    font-size: 2.2rem;
  }
  .p-type__result__type {
    font-size: 2rem;
  }
  .p-type__result__back {
    width: 140px;
    height: 36px;
    font-size: 15px;
    margin-top: 20px;
  }
  .p-type__result__block {
    top: -10px;
  }
  .question-start .p-type__q::before {
    top: -80px;
    right: 40px;
    width: 30px;
    height: 70px;
  }
  .question-q3a .p-type__q::before {
    top: -70px;
    left: auto;
    right: 24px;
    width: 62px;
    height: 83px;
  }
  .question-q5a .p-type__q::before {
    top: -80px;
    right: 40px;
    width: 30px;
    height: 97px;
  }
  .question-q4c .p-type__q::before {
    top: -80px;
    right: 40px;
    width: 68px;
    height: 80px;
  }
  .question-q6d .p-type__q::before {
    width: 52px;
    height: 85px;
    top: -90px;
    left: 30px;
  }
  .p-type__result__text {
    font-size: 1.6rem;
    top: min(var(--vw10), 10px);
  }
  .p-type__result__image {
    width: 80%;
    height: 80%;
  }
  .p-type__result__type {
    font-size: 2rem;
  }
  .p-type__result__desc {
    font-size: 1.3rem;
    text-align: left;
  }

  /* == about =============================================== */
  .p-about {
    margin-bottom: var(--vw80);
  }
  .p-about .c-underTitle01 {
    margin-bottom: var(--vw20);
  }
  .p-about__contents {
    width: 88.98vw;
  }
  .p-about__subTitle {
    font-size: var(--vw22);
    text-align: left;
    margin-bottom: var(--vw20);
  }
  .p-about__text {
    font-size: var(--vw14);
  }
  .p-about__mainImg {
    margin-bottom: var(--vw40);
  }
  .p-about__flow {
    width: 100%;
    margin-bottom: var(--vw60);
  }
  .p-about__table__wrap {
    width: 100%;
  }
  .p-about__table th {
    width: 30%;
    font-size: var(--vw14);
  }
  .p-about__table td {
    width: 70%;
    font-size: var(--vw13);
  }
  .p-about__tableDate {
    font-size: var(--vw13);
    margin-top: var(--vw16);
  }

  /* == archive ============================================= */
  .p-archive {
    margin-bottom: var(--vw48);
  }
  .p-archive__title {
    font-size: var(--vw20);
  }
  .p-archive__title__sharp {
    margin-right: 5px;
  }
  .p-archive__list {
    grid-template-columns: 1fr;
  }
  .p-archive__list__item .image {
    height: 50.85vw;
  }
  .p-archive__list__item .image__prefecture {
    padding: 1.13vw var(--vw10);
  }
  .p-archive__list__item .title {
    font-size: 1.6rem;
    line-height: 1.5;
    margin-bottom: 4px;
  }

  /* == detail ============================================== */
  .p-columnDetail,
  .p-peopleDetail {
    padding-bottom: var(--vw40);
  }
  .p-peopleDetail__Mv,
  .p-columnDetail__contents__mv {
    height: 53.33vw;
  }
  .p-columnDetail__contents__mv {
    margin: var(--vw16) auto var(--vw30);
  }
  .p-columnDetail__contents__mv .title {
    bottom: var(--vw10);
    left: var(--vw10);
    width: 37.33vw;
  }
  .p-columnDetail__title__wrap {
    max-width: 90%;
    margin-bottom: var(--vw40);
  }
  .p-columnDetail__title {
    font-size: var(--vw20);
    text-align: left;
  }
  .p-columnDetail__name {
    font-size: var(--vw14);
    text-align: left;
  }
  .p-peopleDetail__type {
    padding: var(--vw16) 0;
  }
  .p-peopleDetail__type__jp {
    font-size: var(--vw20);
    margin-bottom: 0;
  }
  .p-peopleDetail__type__en {
    font-size: var(--vw14);
  }
  .p-peopleDetail__copy__text {
    font-size: var(--vw20);
  }
  .p-peopleDetail__copy {
    text-align: left;
    padding: var(--vw40) 0;
  }
  .p-peopleDetail__copy__name {
    font-size: var(--vw14);
  }
  .p-columnDetail__contents h2,
  .p-peopleDetail__contents h2 {
    font-size: var(--vw18);
    text-align: left;
    margin-bottom: var(--vw32);
    max-width: 100%;
  }
  .p-columnDetail__contents h2 {
    width: 90%;
  }
  .p-peopleDetail__contents p {
    font-size: var(--vw15);
    margin-bottom: var(--vw32);
  }
  .p-peopleDetail__contents figure,
  .p-columnDetail__contents figure {
    width: 100%;
    height: auto;
    margin-bottom: var(--vw32);
  }
  .c-peopleInfo {
    padding: var(--vw40) var(--vw20);
    gap: var(--vw10);
  }
  .c-peopleInfo .name {
    font-size: var(--vw16);
  }
  .c-peopleInfo .company {
    font-size: var(--vw12);
    margin-bottom: 2.26vw;
  }
  .c-peopleInfo .image {
    width: 20.34vw;
    height: 20.34vw;
    flex-shrink: 0;
  }
  .c-peopleInfo .c-tags {
    margin-top: var(--vw10);
    flex-wrap: wrap;
  }
  .p-columnDetail__recommendPeople {
    gap: var(--vw10);
    max-width: 90%;
    text-align: left;
    justify-content: flex-start;
    margin: 0 auto var(--vw10);
  }
  .p-columnDetail__recommendPeople__img {
    width: 11.3vw;
    height: 11.3vw;
    flex-shrink: 0;
  }
  .p-columnDetail__recommendPeople__desc {
    font-size: var(--vw12);
  }
  .p-columnDetail__contents {
    padding-bottom: var(--vw40);
  }
  .p-columnDetail__contents figure img {
    object-fit: cover;
  }
  .wp-block-columns.is-layout-flex,
  .wp-block-columns.is-layout-flex:has(> :only-child) {
    width: 100%;
    grid-template-columns: 1fr;
    gap: 0;
  }
  .wp-block-gallery.has-nested-images.is-cropped
    figure.wp-block-image:not(#individual-image) {
    width: 100%;
  }
  .p-columnDetail .wp-block-columns.is-layout-flex img {
    height: auto;
  }
  .p-columnDetail__contents figcaption,
  .p-peopleDetail__contents figcaption {
    text-align: left;
    font-size: var(--vw12);
    margin: var(--vw10) var(--vw10) 0 var(--vw10);
  }
  .p-peopleDetail__bottomMv {
    height: 53.33vw;
  }
  .wp-block-image img {
    height: 53.33vw;
  }
  .p-columnDetail__contents p {
    font-size: var(--vw14);
    margin-bottom: var(--vw32);
    max-width: 90%;
  }
  .p-columnDetail__favorite {
    flex-direction: column;
    width: 75%;
    margin: 0 auto;
    gap: var(--vw16);
  }
  .p-columnDetail__favorite__img {
    width: 100%;
    height: auto;
  }
  .p-columnDetail__favorite__text {
    width: 100%;
  }
  .p-columnDetail__favorite__text .title {
    font-size: var(--vw16);
    margin-bottom: var(--vw16);
  }
  .p-columnDetail__favorite__text .desc {
    font-size: var(--vw14);
  }
  .p-columnDetail__bottom__wrap {
    grid-template-columns: 1fr;
  }
  .p-columnDetail__bottom__company {
    width: 80%;
    padding: var(--vw40) 0;
  }
  .p-columnDetail__bottom__company .text {
    font-size: var(--vw14);
  }
  .p-columnDetail__bottom__company .company {
    font-size: var(--vw18);
  }
  .p-columnDetail__bottom__company address,
  .c-peopleInfo address {
    font-size: var(--vw12);
    margin-top: 2.26vw;
  }
  .p-columnDetail__bottom__wrap .c-peopleInfo {
    border-left: none;
    border-top: 1px solid var(--color-black);
  }
  .p-newsDetail .l-inner--1000 {
    width: 88.98vw;
  }

  /* == craftman ============================================== */
  .c-cardList__item__img {
    background-color: #f2f2f2;
  }
  .p-craftman .c-cardList__item {
    background-color: transparent;
  }
  .p-craftman .c-cardList__item__title,
  .p-number .c-cardList__item__title {
    font-size: var(--vw24);
    top: var(--vw16);
  }
  .p-craftman .c-cardList__item .desc {
    padding: var(--vw24) 0 0;
  }

  /* == aruaru ============================================== */
  .p-aruaru .c-underTitle02 .c-title--white {
    display: block;
    margin-bottom: 8px;
  }
  .p-aruaru__image {
    width: 42.37vw;
    margin: var(--vw10) auto;
  }
  .p-aruaru .c-cardList__item .desc {
    padding: var(--vw24) 0 0 0;
    background-color: transparent;
  }
  .p-aruaru .c-cardList__item .desc__title {
    margin: 0;
    text-align: left;
  }

  /* == number ============================================== */
  .p-number .c-underTitle02 .c-title--white {
    display: block;
    margin-top: 10px;
  }
  .p-number .c-cardList__item {
    background-color: transparent;
  }
  .p-number .c-cardList__item .desc {
    margin-top: var(--vw20);
  }
  .p-number .c-cardList__item .desc__title {
    text-align: left;
    margin: 0;
  }

  /* == recruit ============================================== */
  .p-recruitDetail {
    padding-top: var(--vw40);
    margin-bottom: var(--vw60);
  }
  .p-recruitDetail__img {
    width: 100%;
    height: 50.28vw;
    margin-bottom: var(--vw20);
  }
  .p-recruitDetail__wrap {
    width: 86%;
  }
  .p-recruitDetail__title {
    font-size: var(--vw20);
    margin-bottom: 0;
  }
  .p-recruitDetail__contents {
    font-size: var(--vw16);
  }
  .p-recruitDetail__contents p {
    font-size: var(--vw14);
  }
  .p-recruitDetail__contents strong {
    font-size: var(--vw18);
  }
  .p-recruitBtn {
    width: 100%;
    height: var(--vw48);
    font-size: var(--vw16);
  }
  .p-recruitBtn:before {
    width: 20px;
    height: 14px;
    right: var(--vw24);
  }

  /* == contact ============================================== */
  .c-btn,
  .p-contact__content input.c-btn {
    height: 60px;
    font-size: 1.8rem;
  }
  .p-contact__content {
    margin-top: var(--vw40);
  }
  .p-contact__block,
  .p-faq__block {
    width: 88.98vw;
    margin-top: var(--vw60);
  }
  .contact_policy .kerning {
    font-size: 1.6rem;
    flex-direction: column;
    align-items: flex-start;
  }
  .wpcf7-not-valid-tip {
    font-size: 1.4rem;
  }

  /* == faq  ================================================ */
  .p-faq__accordion summary {
    font-size: 1.6rem;
    padding: var(--vw24) var(--vw32) var(--vw24) var(--vw30);
  }
  .p-faq__block {
    margin-bottom: var(--vw60);
  }
  .p-faq__list {
    margin-bottom: var(--vw40);
  }
  .p-faq__content {
    font-size: 1.4rem;
    padding-left: var(--vw30);
  }
  .p-faq__accordion summary::before,
  .p-faq__accordion summary::after {
    height: 18px;
  }
  .p-faq__accordion::before {
    width: 18px;
    height: 24px;
    top: var(--vw24);
  }
  .p-faq__content::before {
    width: 18px;
    height: 20px;
  }

  /* == search ============================================== */
  .p-searchResult__block {
    font-size: var(--vw16);
  }
  /* == footer ============================================== */
  .l-footer__links {
    gap: var(--vw13);
  }
  .l-footer__links__item a {
    grid-template-columns: 1fr;
    border-radius: var(--vw10);
  }
  .l-footer__links__item .image {
    height: 28.25vw;
  }
  .l-footer__links__item .image img {
    object-fit: cover;
  }
  .l-footer__links__item .desc {
    background-color: var(--color-yellow);
    padding: var(--vw12);
    gap: 1.98vw;
  }
  .l-footer__links__item .desc__text {
    font-size: 2.26vw;
    text-align: left;
  }
  .l-footer__links__item .desc__btn {
    flex-shrink: 0;
    background-color: transparent;
    width: var(--vw19);
    height: var(--vw18);
    margin: 0;
    background-image: none;
  }
  .l-footer__desc {
    padding-top: var(--vw30);
  }
  .l-footer__desc__info {
    width: 100%;
    grid-template-columns: 1fr;
    gap: var(--vw10);
  }
  .l-footer__desc__wrap {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 71.19vw;
  }
  .l-footer__desc__info .logo {
    width: 100%;
    margin: 0 auto var(--vw10);
  }
  .l-footer__desc__info .address {
    font-size: var(--vw10);
    border-left: none;
    border-top: 1px solid var(--color-black);
    width: 100%;
    padding-left: 0;
    padding-top: var(--vw19);
  }
  .l-footer__desc__block {
    flex-direction: column-reverse;
    align-items: flex-start;
  }
  .l-footer__desc__block .copyright {
    font-size: 2.54vw;
  }
  .l-footer__desc__block .links {
    gap: var(--vw18);
    margin-top: 20px;
  }
  .l-footer__desc__block .links__item {
    width: 12.43vw;
    height: 12.43vw;
  }
}

/*メイン動作用*/
/* @media (width > 768px) {
  #sec01,
  #sec02,
  #sec03,
  #sec04,
  #sec05,
  #sec06,
  #sec07,
  .front #sec08 {
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
  }
} */
