@charset "UTF-8";
/*! 
Theme Name: Side Story
Author: on White
*/
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
*::before, *::after {
  box-sizing: inherit;
}

html {
  font-size: 62.5%;
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  max-width: 100vw;
  overflow-x: hidden;
  margin: auto;
  -webkit-overflow-scrolling: touch;
  font-family: "Outfit", "Zen Kaku Gothic New";
  line-height: 2;
  color: #000;
  scroll-behavior: smooth;
}

body {
  width: 100%;
  max-width: 100vw;
  position: relative;
  background-color: #f5f5f5;
  font-family: "Outfit", "Zen Kaku Gothic New";
  line-height: 2;
  color: #000;
  -webkit-text-size-adjust: 100%;
  margin: 0;
  max-width: 100vw;
}
body::selection {
  background-color: #000;
  color: #fff;
}

main {
  display: block;
  line-height: 2;
  color: #000;
  transition: opacity 0.3s ease;
  transition: all 1s cubic-bezier(0.59, 0, 0.265, 0.995);
  transition-timing-function: cubic-bezier(0.59, 0, 0.265, 0.995);
}
@media (max-width: 767px) {
  main {
    margin-top: 0px !important;
  }
}
main.-show {
  margin-top: 0px !important;
  opacity: 1;
}

li {
  list-style: none;
}

button {
  padding: 0;
  outline: none;
  border: none;
  background-color: transparent;
  font-family: inherit;
  color: inherit;
  appearance: none;
}

img {
  max-width: 100%;
  border: none;
  vertical-align: top;
  height: auto;
  object-fit: cover;
  object-position: center;
  border-style: none;
}

br.-sp {
  display: none;
}
br.-pc {
  display: block;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  display: inline-block;
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}
a:hover {
  opacity: 0.7;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  font-size: 100%;
  line-height: 1.5;
  margin: 0;
}

button,
input {
  overflow: visible;
  -webkit-appearance: none;
  appearance: none;
  border: none;
  -webkit-appearance: none;
  border-radius: 0;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
  -webkit-appearance: none;
  border-radius: 0px;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

@media (max-width: 767px) {
  br.-sp {
    display: inline;
  }
  br.-pc {
    display: none;
  }
}
embed,
iframe,
object {
  max-width: 100%;
}

figure {
  margin: 0;
  position: relative;
  overflow: hidden;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  font-weight: normal;
  font-family: "Outfit", "Zen Kaku Gothic New";
}

p {
  font-size: clamp(1.4rem, 1.1vw, 1.6rem);
}

button,
input,
select,
optgroup,
textarea {
  font-weight: normal;
  font-style: normal;
}

span {
  display: inline-block;
}

.grecaptcha-badge {
  display: none !important;
}

.pageName {
  display: none;
}

.pageTop {
  display: none;
}

.anchor {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: -150px;
  left: 0;
  width: 1px;
  height: 1px;
  display: block;
}

.burger {
  cursor: pointer;
  position: fixed;
  top: clamp(16px, 16px + (32 - 16) * (100vw - 375px) / 1065, 32px);
  right: clamp(16px, 16px + (32 - 16) * (100vw - 375px) / 1065, 32px);
  z-index: 200;
  padding: 5px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s ease;
}
.burger.-menu {
  opacity: 1;
  pointer-events: auto;
  background-color: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-radius: 50%;
  padding: 0;
  width: clamp(36px, 36px + (44 - 36) * (100vw - 375px) / 1065, 44px);
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}

.burgerWrap {
  width: clamp(17.6px, 17.6px + (22 - 17.6) * (100vw - 375px) / 1065, 22px);
  height: clamp(8px, 8px + (10 - 8) * (100vw - 375px) / 1065, 10px);
  position: relative;
}

.burgerBar {
  height: 2px;
  width: clamp(17.6px, 17.6px + (22 - 17.6) * (100vw - 375px) / 1065, 22px);
  background-color: black;
  position: absolute;
  left: 50%;
  transition: all 0.2s ease;
}
.burgerBar:nth-of-type(1) {
  top: 0%;
  transform: translate(-50%, 0%) rotate(0deg);
}
.burgerBar:nth-of-type(1).-active {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.burgerBar:nth-of-type(2) {
  top: 100%;
  transform: translate(-50%, -100%) rotate(0deg);
}
.burgerBar:nth-of-type(2).-active {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}

.breadcrumb {
  width: 100%;
}
.breadcrumb.-article {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}

.breadcrumbList {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  row-gap: 5px;
  width: 100%;
}

.breadcrumbItem {
  font-size: clamp(1.1rem, 11px + (14 - 11) * (100vw - 375px) / 1065, 1.4rem);
  font-weight: 300;
  line-height: 1.2;
  color: black;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
}
@media (max-width: 767px) {
  .breadcrumbItem {
    line-height: 1.2;
  }
}
.breadcrumbItem:not(:last-of-type)::after {
  color: black;
  content: "/";
  display: inline-block;
  padding-left: 0.5em;
  padding-right: 0.5em;
}

.pagination {
  padding-top: clamp(44.8px, 44.8px + (64 - 44.8) * (100vw - 375px) / 1065, 64px);
  width: 100%;
}

.paginationBody {
  width: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(18px, 18px + (48 - 18) * (100vw - 375px) / 1065, 48px);
}

.paginationBodyIcon.-prev::after {
  content: "";
  display: block;
  width: 13px;
  height: 25px;
  background-image: url(./img/common/icon_pagination_arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  rotate: 180deg;
}
.paginationBodyIcon.-next::after {
  content: "";
  display: block;
  width: 13px;
  height: 25px;
  background-image: url(./img/common/icon_pagination_arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
.paginationBodyIcon.-hide {
  pointer-events: none;
  opacity: 0;
}

.paginationBodyNum {
  position: relative;
  font-size: clamp(1.51rem, 15.1px + (18 - 15.1) * (100vw - 375px) / 1065, 1.8rem);
  line-height: 2;
  padding: 0.3em;
}
.paginationBodyNum.-current {
  pointer-events: none;
}
.paginationBodyNum.-current::after {
  content: "";
  position: absolute;
  bottom: -5%;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 100%;
  height: 2px;
  background: red;
}

.paginationBodyEllipsis {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(2px, 2px + (3 - 2) * (100vw - 375px) / 1065, 3px);
}
.paginationBodyEllipsis span {
  display: block;
  width: clamp(2.8px, 2.8px + (4 - 2.8) * (100vw - 375px) / 1065, 4px);
  min-width: clamp(2.8px, 2.8px + (4 - 2.8) * (100vw - 375px) / 1065, 4px);
  height: clamp(2.8px, 2.8px + (4 - 2.8) * (100vw - 375px) / 1065, 4px);
  border-radius: 50%;
  background: red;
}

.-noSpace {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.headerInner {
  position: fixed;
  top: clamp(16px, 16px + (32 - 16) * (100vw - 375px) / 1065, 32px);
  right: clamp(16px, 16px + (32 - 16) * (100vw - 375px) / 1065, 32px);
  z-index: 100;
  opacity: 0;
  transition: opacity 0.5s ease;
}
.headerInner.-menu {
  top: 0;
  right: 0;
  transition: all 0.3s ease;
  transform: translateX(100%);
  width: 100%;
  height: 100lvh;
  background: rgba(61, 64, 68, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.headerInner.-menu.-active {
  transform: translateX(0);
}
.headerInner.-noTransition {
  transition: none !important;
}

.headerLogo {
  white-space: nowrap;
  position: fixed;
  left: clamp(16px, 16px + (32 - 16) * (100vw - 375px) / 1065, 32px);
  top: clamp(16px, 16px + (32 - 16) * (100vw - 375px) / 1065, 32px);
  z-index: 201;
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.2;
  font-weight: 700;
  font-family: "Outfit";
  letter-spacing: 0.06em;
  background-color: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-radius: 100px;
  padding: clamp(10px, 10px + (12 - 10) * (100vw - 375px) / 1065, 12px) clamp(20px, 20px + (26 - 20) * (100vw - 375px) / 1065, 26px);
}

.headerLink {
  white-space: nowrap;
  position: fixed;
  top: clamp(16px, 16px + (32 - 16) * (100vw - 375px) / 1065, 32px);
  right: calc(clamp(16px, 16px + (32 - 16) * (100vw - 375px) / 1065, 32px) + clamp(36px, 36px + (44 - 36) * (100vw - 375px) / 1065, 44px) + clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px));
  z-index: 200;
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.4;
  font-weight: 700;
  background-color: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-radius: 100px;
  padding: clamp(9px, 9px + (12 - 9) * (100vw - 375px) / 1065, 12px) clamp(14px, 14px + (20 - 14) * (100vw - 375px) / 1065, 20px);
}

.headerNav.-menu {
  overflow-y: scroll;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

.headerNavList.-menu {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  margin-top: auto;
  margin-bottom: auto;
  padding-top: clamp(84px, 84px + (120 - 84) * (100vw - 375px) / 1065, 120px);
  padding-bottom: clamp(84px, 84px + (120 - 84) * (100vw - 375px) / 1065, 120px);
  row-gap: clamp(25.2px, 25.2px + (36 - 25.2) * (100vw - 375px) / 1065, 36px);
  padding-left: 16px;
  padding-right: 16px;
}

.headerNavItem {
  position: relative;
  transition: opacity 0.3s ease;
}

.headerNavLink {
  white-space: nowrap;
  text-align: center;
  max-width: 100%;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  font-size: clamp(1.32rem, 13.2px + (15 - 13.2) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.5;
  font-weight: 500;
}
.headerNavLink.-menu {
  color: #ffffff;
  font-size: clamp(1.86rem, 18.6px + (24 - 18.6) * (100vw - 375px) / 1065, 2.4rem);
  line-height: 1.5;
  font-weight: 700;
}

.headerCloser {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  z-index: 4;
}
.headerCloser.-active {
  display: block;
}

/* ==============================================================
  footer（全ページ共通）footer.php
============================================================== */
.footer {
  margin-top: clamp(84px, 84px + (120 - 84) * (100vw - 375px) / 1065, 120px);
  padding-bottom: clamp(32px, 32px + (48 - 32) * (100vw - 375px) / 1065, 48px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (160 - 16) * (100vw - 375px) / 1065, 160px);
  padding-right: clamp(16px, 16px + (160 - 16) * (100vw - 375px) / 1065, 160px);
}
@media (max-width: 767px) {
  .footer {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.footerInner {
  width: 100%;
}

.footerHead {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}

.footerHeadLogo {
  white-space: nowrap;
  font-size: clamp(1.86rem, 18.6px + (24 - 18.6) * (100vw - 375px) / 1065, 2.4rem);
  line-height: 1.2;
  font-weight: 700;
  font-family: "Outfit";
  letter-spacing: 0.06em;
}

.footerNav {
  margin-top: clamp(24px, 24px + (32 - 24) * (100vw - 375px) / 1065, 32px);
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}

.footerNavList {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: clamp(20px, 20px + (32 - 20) * (100vw - 375px) / 1065, 32px);
  row-gap: 8px;
}

.footerNavItem {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
}

.footerNavLink {
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
  font-weight: 500;
}
.footerNavLink:hover {
  opacity: 0.7;
}

.footerBody {
  margin-top: clamp(28px, 28px + (40 - 28) * (100vw - 375px) / 1065, 40px);
  width: 100%;
  border-top: 1px solid #e5e5e5;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  text-align: center;
}

.footerBodyTxt.-operator {
  margin-top: clamp(24px, 24px + (32 - 24) * (100vw - 375px) / 1065, 32px);
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.8;
  font-weight: 500;
}
.footerBodyTxt.-copyright {
  margin-top: clamp(6px, 6px + (8 - 6) * (100vw - 375px) / 1065, 8px);
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.8;
  font-weight: 400;
  font-family: "Outfit";
  color: #767676;
}

.footerBodyLink {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.error {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (140 - 16) * (100vw - 375px) / 1065, 140px);
  padding-right: clamp(16px, 16px + (140 - 16) * (100vw - 375px) / 1065, 140px);
}
@media (max-width: 767px) {
  .error {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.errorInner {
  width: 100%;
}

.errorBody {
  min-height: 100vh;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding-top: clamp(112px, 112px + (160 - 112) * (100vw - 375px) / 1065, 160px);
  padding-bottom: clamp(112px, 112px + (160 - 112) * (100vw - 375px) / 1065, 160px);
}

.errorBodyTtl {
  font-size: clamp(4.48rem, 44.8px + (64 - 44.8) * (100vw - 375px) / 1065, 6.4rem);
  font-weight: 600;
  line-height: 1.5;
}

.errorBodyTxt {
  margin-top: clamp(11.2px, 11.2px + (16 - 11.2) * (100vw - 375px) / 1065, 16px);
  font-size: clamp(1.67rem, 16.7px + (24 - 16.7) * (100vw - 375px) / 1065, 2.4rem);
  line-height: 1.5;
}

.errorBodyLink {
  margin-top: clamp(11.2px, 11.2px + (16 - 11.2) * (100vw - 375px) / 1065, 16px);
}

/* ==============================================================
  profile（職種プロフィール詳細）single-profile.php
============================================================== */
.profile {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (240 - 16) * (100vw - 375px) / 1065, 240px);
  padding-right: clamp(16px, 16px + (240 - 16) * (100vw - 375px) / 1065, 240px);
}
@media (max-width: 767px) {
  .profile {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.profileInner {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

/* ---------- 作例スライダー ---------- */
.profileSlider {
  opacity: 0;
  transition: opacity 0.4s ease;
  overflow: hidden;
  width: 100vw;
  min-width: 100vw;
  max-width: 100vw;
}
.profileSlider.-active {
  opacity: 1;
}

.profileSliderInner {
  transform: scale(1.1);
  transition: transform 1.5s ease;
}
.profileSliderInner.-active {
  transform: scale(1);
}

.profileSliderItem {
  height: clamp(270px, 270px + (540 - 270) * (100vw - 375px) / 1065, 540px);
}

.profileSliderImg {
  max-width: 100vw;
  width: fit-content;
  height: 100%;
}

/* ---------- 顔写真・名前・職種 ---------- */
.profileHead {
  margin-top: clamp(44.8px, 44.8px + (64 - 44.8) * (100vw - 375px) / 1065, 64px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(19.2px, 19.2px + (32 - 19.2) * (100vw - 375px) / 1065, 32px);
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1s ease 0.6s, transform 1s ease 0.6s;
}
.profileHead.-active {
  opacity: 1;
  transform: translateY(0);
}

.profileHeadImg {
  width: clamp(96px, 96px + (160 - 96) * (100vw - 375px) / 1065, 160px);
  min-width: clamp(96px, 96px + (160 - 96) * (100vw - 375px) / 1065, 160px);
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 50%;
  background-color: #ffffff;
}

.profileHeadWrap.-info {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(4px, 4px + (8 - 4) * (100vw - 375px) / 1065, 8px);
}
.profileHeadWrap.-meta {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
}

.profileHeadTag.-club {
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #ffffff;
  background-color: #151515;
  border-radius: 100px;
  padding: 0.2em 1em;
  white-space: nowrap;
}
.profileHeadTag.-club:hover {
  opacity: 0.8;
}

.profileHeadTtl {
  font-size: clamp(1.96rem, 19.6px + (36 - 19.6) * (100vw - 375px) / 1065, 3.6rem);
  line-height: 1.4;
  font-weight: 700;
}

.profileHeadTxt.-area {
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
  font-weight: 500;
  color: #767676;
}
.profileHeadTxt.-catch {
  font-size: clamp(1.36rem, 13.6px + (18 - 13.6) * (100vw - 375px) / 1065, 1.8rem);
  line-height: 1.6;
  font-weight: 500;
}

/* ---------- 本文（白ボックス群） ---------- */
.profileBody {
  margin-top: clamp(33.5px, 33.5px + (48 - 33.5) * (100vw - 375px) / 1065, 48px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}

.profileBodyWrap.-intro, .profileBodyWrap.-summary, .profileBodyWrap.-menu, .profileBodyWrap.-note {
  width: 100%;
  background-color: #ffffff;
  border-radius: 16px;
  padding: clamp(22.4px, 22.4px + (32 - 22.4) * (100vw - 375px) / 1065, 32px) clamp(16px, 16px + (32 - 16) * (100vw - 375px) / 1065, 32px);
}
.profileBodyWrap.-intro > *:first-child, .profileBodyWrap.-summary > *:first-child, .profileBodyWrap.-menu > *:first-child, .profileBodyWrap.-note > *:first-child {
  margin-top: 0 !important;
}
.profileBodyWrap.-row {
  margin-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: clamp(8px, 8px + (16 - 8) * (100vw - 375px) / 1065, 16px);
  padding-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  border-top: 1px solid #e5e5e5;
}
.profileBodyWrap.-row:first-of-type {
  border-top: none;
  padding-top: 0;
}
.profileBodyWrap.-desc {
  position: relative;
  overflow: hidden;
  padding: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px) clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px) clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}
.profileBodyWrap.-desc.-hide {
  height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.profileBodyWrap.-desc::before {
  content: "";
  display: block;
  width: calc(100% - clamp(32px, 32px + (48 - 32) * (100vw - 375px) / 1065, 48px));
  height: 1px;
  background-color: #e5e5e5;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.profileBodyTtl.-second {
  font-size: clamp(1.47rem, 14.7px + (20 - 14.7) * (100vw - 375px) / 1065, 2rem);
  line-height: 1.5;
  font-weight: 700;
}
.profileBodyTtl.-menu {
  width: 100%;
  display: contents;
}

.profileBodyTxt.-intro, .profileBodyTxt.-note {
  margin-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  font-size: clamp(1.25rem, 12.5px + (16 - 12.5) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 2;
  font-weight: 400;
}
.profileBodyTxt.-label {
  font-size: clamp(1.19rem, 11.9px + (15 - 11.9) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.6;
  font-weight: 700;
  min-width: clamp(95.1px, 95.1px + (136 - 95.1) * (100vw - 375px) / 1065, 136px);
  width: clamp(95.1px, 95.1px + (136 - 95.1) * (100vw - 375px) / 1065, 136px);
  color: #767676;
}
.profileBodyTxt.-value {
  width: 100%;
  font-size: clamp(1.25rem, 12.5px + (16 - 12.5) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.6;
  font-weight: 500;
}
.profileBodyTxt.-name {
  font-size: clamp(1.25rem, 12.5px + (16 - 12.5) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.5;
  font-weight: 700;
  text-align: left;
}
.profileBodyTxt.-price {
  font-size: clamp(1.19rem, 11.9px + (15 - 11.9) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.5;
  font-weight: 500;
  margin-left: auto;
  white-space: nowrap;
  color: #767676;
}
.profileBodyTxt.-desc {
  font-size: clamp(1.19rem, 11.9px + (15 - 11.9) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.8;
  font-weight: 400;
}
.profileBodyTxt.-update {
  margin-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  font-size: clamp(1.12rem, 11.2px + (12 - 11.2) * (100vw - 375px) / 1065, 1.2rem);
  line-height: 1.6;
  font-weight: 400;
  color: #767676;
}

.profileBodyList.-tags {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
}
.profileBodyList.-menu {
  margin-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: 8px;
}

.profileBodyItem.-menu {
  width: 100%;
  background-color: #f5f5f5;
  border-radius: 8px;
  overflow: hidden;
}

.profileBodyTag {
  font-size: clamp(1.19rem, 11.9px + (14 - 11.9) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.4;
  font-weight: 500;
  background-color: #f5f5f5;
  border-radius: 100px;
  padding: 0.3em 1em;
  white-space: nowrap;
}

.profileBodyBtn.-menu {
  width: 100%;
  padding: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px) clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  column-gap: 16px;
}
.profileBodyBtn.-menu:hover {
  opacity: 0.7;
}

.profileBodyIcon.-expand {
  width: clamp(20px, 20px + (24 - 20) * (100vw - 375px) / 1065, 24px);
  height: clamp(20px, 20px + (24 - 20) * (100vw - 375px) / 1065, 24px);
  min-width: clamp(20px, 20px + (24 - 20) * (100vw - 375px) / 1065, 24px);
  object-fit: contain;
  transition: transform 0.3s ease;
}

/* ---------- 実績（このプロフィールに紐づく article） ---------- */
.profileAside {
  margin-top: clamp(44.8px, 44.8px + (64 - 44.8) * (100vw - 375px) / 1065, 64px);
  width: 100%;
}

.profileAsideTtl.-main {
  font-size: clamp(1.67rem, 16.7px + (24 - 16.7) * (100vw - 375px) / 1065, 2.4rem);
  line-height: 1.5;
  font-weight: 700;
}
.profileAsideTtl.-item {
  padding-left: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  padding-right: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  font-size: clamp(1.26rem, 12.6px + (15 - 12.6) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.6;
  font-weight: 700;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.profileAsideTtl.-question {
  font-size: clamp(1.32rem, 13.2px + (16 - 13.2) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.6;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.profileAsideList {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  width: 100%;
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px);
  column-gap: clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px);
  align-items: stretch;
}
.profileAsideList.-answer {
  flex-direction: column;
  flex-wrap: nowrap;
  row-gap: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
}

.profileAsideItem {
  width: calc((100% - clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px) * (2)) / 3);
}
@media (max-width: 767px) {
  .profileAsideItem {
    width: calc((100% - clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px) * (0)) / 1);
  }
}
.profileAsideItem.-answer {
  width: 100%;
}

.profileAsideLink {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(6px, 6px + (8 - 6) * (100vw - 375px) / 1065, 8px);
  background-color: #ffffff;
  border-radius: 16px;
  overflow: hidden;
  padding-bottom: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
}
.profileAsideLink:hover {
  opacity: 0.8;
}
.profileAsideLink.-answer {
  height: auto;
  padding: clamp(16px, 16px + (20 - 16) * (100vw - 375px) / 1065, 20px) clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}
.profileAsideLink.-all {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  margin-left: auto;
  margin-right: auto;
  width: fit-content;
  height: auto;
  font-size: clamp(1.32rem, 13.2px + (15 - 13.2) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.5;
  font-weight: 700;
  color: #ffffff;
  background-color: #151515;
  border-radius: 100px;
  padding: clamp(10px, 10px + (12 - 10) * (100vw - 375px) / 1065, 12px) clamp(32px, 32px + (48 - 32) * (100vw - 375px) / 1065, 48px);
}

.profileAsideWrap.-answer {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(6px, 6px + (8 - 6) * (100vw - 375px) / 1065, 8px);
}

.profileAsideImg {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  background-color: #f5f5f5;
}

.profileAsideTxt {
  margin-top: clamp(4px, 4px + (8 - 4) * (100vw - 375px) / 1065, 8px);
  padding-left: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  padding-right: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  font-size: clamp(1.12rem, 11.2px + (12 - 11.2) * (100vw - 375px) / 1065, 1.2rem);
  line-height: 1.5;
  font-weight: 500;
  color: #767676;
}
.profileAsideTxt.-answer {
  margin-top: 0;
  padding-left: 0;
  padding-right: 0;
  font-size: clamp(1.19rem, 11.9px + (14 - 11.9) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.7;
  font-weight: 400;
  overflow-wrap: anywhere;
}

/* ---------- この人の他の職種 ---------- */
.profileFoot {
  margin-top: clamp(44.8px, 44.8px + (64 - 44.8) * (100vw - 375px) / 1065, 64px);
  width: 100%;
}

.profileFootTtl {
  font-size: clamp(1.67rem, 16.7px + (24 - 16.7) * (100vw - 375px) / 1065, 2.4rem);
  line-height: 1.5;
  font-weight: 700;
}

.profileFootList {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  width: 100%;
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px);
  column-gap: clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px);
}

.profileFootItem {
  width: calc((100% - clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px) * (3)) / 4);
}
@media (max-width: 767px) {
  .profileFootItem {
    width: calc((100% - clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px) * (1)) / 2);
  }
}

.profileFootLink {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(6px, 6px + (8 - 6) * (100vw - 375px) / 1065, 8px);
  background-color: #ffffff;
  border-radius: 16px;
  overflow: hidden;
  padding-bottom: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
}
.profileFootLink:hover {
  opacity: 0.8;
}

.profileFootImg {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
}

.profileFootTag {
  margin-top: clamp(4px, 4px + (8 - 4) * (100vw - 375px) / 1065, 8px);
  margin-left: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  font-size: clamp(1.12rem, 11.2px + (12 - 11.2) * (100vw - 375px) / 1065, 1.2rem);
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #ffffff;
  background-color: #151515;
  border-radius: 100px;
  padding: 0.2em 1em;
  width: fit-content;
}

.profileFootTxt {
  padding-left: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  padding-right: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  font-size: clamp(1.19rem, 11.9px + (14 - 11.9) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
  font-weight: 500;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/* ---------- 問い合わせフォーム ---------- */
.profileMeta {
  margin-top: clamp(44.8px, 44.8px + (64 - 44.8) * (100vw - 375px) / 1065, 64px);
  width: 100%;
  background-color: #ffffff;
  border-radius: 16px;
  padding: clamp(24px, 24px + (48 - 24) * (100vw - 375px) / 1065, 48px) clamp(16px, 16px + (48 - 16) * (100vw - 375px) / 1065, 48px);
}
.profileMeta > *:first-child {
  margin-top: 0 !important;
}

.profileMetaTtl {
  font-size: clamp(1.76rem, 17.6px + (28 - 17.6) * (100vw - 375px) / 1065, 2.8rem);
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
}

.profileMetaTxt.-lead {
  margin-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  font-size: clamp(1.26rem, 12.6px + (15 - 12.6) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.8;
  font-weight: 400;
  text-align: center;
  color: #767676;
}
.profileMetaTxt.-error {
  margin-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
  font-weight: 500;
  color: #ffffff;
  background-color: #c0392b;
  border-radius: 8px;
  padding: clamp(10px, 10px + (12 - 10) * (100vw - 375px) / 1065, 12px) clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
}
.profileMetaTxt.-success {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  font-size: clamp(1.32rem, 13.2px + (16 - 13.2) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.8;
  font-weight: 500;
  text-align: center;
  background-color: #f5f5f5;
  border-radius: 8px;
  padding: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}
.profileMetaTxt.-note {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.7;
  font-weight: 400;
  text-align: center;
  color: #767676;
}
.profileMetaTxt.-note a {
  text-decoration: underline;
}

.profileMetaForm {
  margin-top: clamp(24px, 24px + (32 - 24) * (100vw - 375px) / 1065, 32px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}

.profileMetaWrap.-field {
  margin-top: clamp(16px, 16px + (20 - 16) * (100vw - 375px) / 1065, 20px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: 6px;
}
.profileMetaWrap.-field:first-of-type {
  margin-top: 0;
}

.profileMetaLabel {
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
  font-weight: 700;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: 8px;
}

.profileMetaTag {
  font-size: clamp(1.05rem, 10.5px + (11 - 10.5) * (100vw - 375px) / 1065, 1.1rem);
  line-height: 1.6;
  font-weight: 700;
  color: #ffffff;
  background-color: #c0392b;
  border-radius: 100px;
  padding: 0.1em 0.8em;
}

.profileMetaInput {
  width: 100%;
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.5;
  font-weight: 400;
  background-color: #f5f5f5;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: clamp(12px, 12px + (14 - 12) * (100vw - 375px) / 1065, 14px) clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  outline: none;
  transition: border-color 0.2s ease;
}
.profileMetaInput:focus {
  border-color: #151515;
}
.profileMetaInput.-area {
  min-height: clamp(160px, 160px + (200 - 160) * (100vw - 375px) / 1065, 200px);
  resize: vertical;
}
.profileMetaInput.-hp {
  display: none !important;
}

.profileMetaBtn {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  width: 100%;
  cursor: pointer;
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.5;
  font-weight: 700;
  color: #ffffff;
  background-color: #151515;
  border-radius: 100px;
  padding: clamp(14px, 14px + (16 - 14) * (100vw - 375px) / 1065, 16px) clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}
.profileMetaBtn:hover {
  opacity: 0.8;
}

/* ---------- 戻る ---------- */
.profileBottom {
  margin-top: clamp(44.8px, 44.8px + (64 - 44.8) * (100vw - 375px) / 1065, 64px);
  width: 100%;
  border-top: 1px solid #e5e5e5;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}

.profileBottomLink {
  margin-top: clamp(24px, 24px + (32 - 24) * (100vw - 375px) / 1065, 32px);
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.5;
  font-weight: 700;
  color: #ffffff;
  background-color: #151515;
  border-radius: 100px;
  padding: clamp(10px, 10px + (12 - 10) * (100vw - 375px) / 1065, 12px) clamp(32px, 32px + (48 - 32) * (100vw - 375px) / 1065, 48px);
}
.profileBottomLink:hover {
  opacity: 0.8;
}

/* ==============================================================
  head（下層ページの見出し）
============================================================== */
.head {
  padding-top: clamp(96px, 96px + (120 - 96) * (100vw - 375px) / 1065, 120px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (160 - 16) * (100vw - 375px) / 1065, 160px);
  padding-right: clamp(16px, 16px + (160 - 16) * (100vw - 375px) / 1065, 160px);
}
@media (max-width: 767px) {
  .head {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.headInner {
  width: 100%;
}

.headBody {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  text-align: center;
}

.headBodyTtl.-en {
  font-size: clamp(3.7rem, 37px + (64 - 37) * (100vw - 375px) / 1065, 6.4rem);
  line-height: 1;
  font-weight: 700;
  font-family: "Outfit";
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.headBodyTtl.-ja {
  margin-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  font-size: clamp(1.36rem, 13.6px + (18 - 13.6) * (100vw - 375px) / 1065, 1.8rem);
  line-height: 1.5;
  font-weight: 500;
  color: #767676;
}

.headBodyTxt {
  margin-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  font-size: clamp(1.26rem, 12.6px + (15 - 12.6) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.8;
  font-weight: 400;
  max-width: 640px;
}

/* ==============================================================
  profiles（プロフィール一覧）template/profiles.php
============================================================== */
.profiles {
  margin-top: clamp(44.8px, 44.8px + (64 - 44.8) * (100vw - 375px) / 1065, 64px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (160 - 16) * (100vw - 375px) / 1065, 160px);
  padding-right: clamp(16px, 16px + (160 - 16) * (100vw - 375px) / 1065, 160px);
}
@media (max-width: 767px) {
  .profiles {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.profilesInner {
  width: 100%;
}

/* ---------- 絞り込み ---------- */
.profilesHead {
  width: 100%;
}

.profilesHeadForm {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}

.profilesHeadList {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
}

.profilesHeadItem {
  width: 100%;
  background-color: #ffffff;
  border-radius: 16px;
  overflow: hidden;
}

.profilesHeadBtn.-toggle {
  width: 100%;
  cursor: pointer;
  font-size: clamp(1.44rem, 14.4px + (18 - 14.4) * (100vw - 375px) / 1065, 1.8rem);
  line-height: 1.5;
  font-weight: 700;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  column-gap: 12px;
  padding: clamp(14px, 14px + (18 - 14) * (100vw - 375px) / 1065, 18px) clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  text-align: left;
}
.profilesHeadBtn.-toggle:hover {
  background-color: #e5e5e5;
}
.profilesHeadBtn.-submit {
  margin-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  width: 100%;
  cursor: pointer;
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.5;
  font-weight: 700;
  color: #ffffff;
  background-color: #151515;
  border-radius: 100px;
  padding: clamp(14px, 14px + (16 - 14) * (100vw - 375px) / 1065, 16px) clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}
.profilesHeadBtn.-submit:hover {
  opacity: 0.8;
}

.profilesHeadIcon.-expand {
  width: clamp(20px, 20px + (24 - 20) * (100vw - 375px) / 1065, 24px);
  height: clamp(20px, 20px + (24 - 20) * (100vw - 375px) / 1065, 24px);
  min-width: clamp(20px, 20px + (24 - 20) * (100vw - 375px) / 1065, 24px);
  object-fit: contain;
  transition: transform 0.3s ease;
}

.profilesHeadWrap.-accordion {
  width: 100%;
  padding: clamp(4px, 4px + (8 - 4) * (100vw - 375px) / 1065, 8px) clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px) clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  overflow: hidden;
}
.profilesHeadWrap.-accordion.-hide {
  height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.profilesHeadWrap.-terms {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  row-gap: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
}
.profilesHeadWrap.-group {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  row-gap: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  margin-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  padding-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  border-top: 1px solid #e5e5e5;
}
.profilesHeadWrap.-group:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.profilesHeadTtl.-group {
  width: 100%;
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.5;
  font-weight: 700;
  color: #767676;
}

.profilesHeadLabel {
  cursor: pointer;
  font-size: clamp(1.26rem, 12.6px + (15 - 12.6) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.5;
  font-weight: 500;
}
.profilesHeadLabel:hover {
  opacity: 0.8;
}

.profilesHeadInput.-check {
  position: absolute;
  left: -500vw;
}
.profilesHeadInput.-check:checked + .profilesHeadTxt::before {
  background-color: #151515;
  border-color: #151515;
  background-image: url(./img/common/icon-check-white.svg);
}
.profilesHeadInput.-keyword {
  margin-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  width: 100%;
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.5;
  font-weight: 400;
  background-color: #ffffff;
  border: 1px solid transparent;
  border-radius: 16px;
  padding: clamp(14px, 14px + (18 - 14) * (100vw - 375px) / 1065, 18px) clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  outline: none;
  transition: border-color 0.2s ease;
}
.profilesHeadInput.-keyword:focus {
  border-color: #151515;
}

.profilesHeadTxt.-check {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: 8px;
}
.profilesHeadTxt.-check::before {
  content: "";
  display: block;
  width: clamp(20px, 20px + (22 - 20) * (100vw - 375px) / 1065, 22px);
  height: clamp(20px, 20px + (22 - 20) * (100vw - 375px) / 1065, 22px);
  min-width: clamp(20px, 20px + (22 - 20) * (100vw - 375px) / 1065, 22px);
  border: 1px solid #767676;
  border-radius: 6px;
  background-color: #ffffff;
  background-repeat: no-repeat;
  background-size: 80%;
  background-position: center;
  transition: background-color 0.2s ease;
}

.profilesHeadLink.-reset {
  margin-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  display: block;
  width: 100%;
  font-size: clamp(1.32rem, 13.2px + (15 - 13.2) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  background-color: #ffffff;
  border-radius: 100px;
  padding: clamp(12px, 12px + (14 - 12) * (100vw - 375px) / 1065, 14px) clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}
.profilesHeadLink.-reset:hover {
  opacity: 0.8;
}

/* ---------- 一覧 ---------- */
.profilesBody {
  margin-top: clamp(33.5px, 33.5px + (48 - 33.5) * (100vw - 375px) / 1065, 48px);
  width: 100%;
}

.profilesBodyWrap.-result {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px);
  row-gap: 8px;
}
.profilesBodyWrap.-info {
  width: 100%;
  padding: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px) clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px) clamp(16px, 16px + (20 - 16) * (100vw - 375px) / 1065, 20px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
.profilesBodyWrap.-meta {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
}
.profilesBodyWrap.-name {
  margin-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: 10px;
}

.profilesBodyTxt.-keywords {
  font-size: clamp(1.32rem, 13.2px + (16 - 13.2) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.5;
  font-weight: 500;
  color: #767676;
}
.profilesBodyTxt.-keywords::before {
  content: "「";
}
.profilesBodyTxt.-keywords::after {
  content: "」";
}
.profilesBodyTxt.-num {
  margin-left: auto;
  font-size: clamp(1.32rem, 13.2px + (16 - 13.2) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.5;
  font-weight: 700;
}
.profilesBodyTxt.-area {
  font-size: clamp(1.12rem, 11.2px + (12 - 11.2) * (100vw - 375px) / 1065, 1.2rem);
  line-height: 1.5;
  font-weight: 500;
  color: #767676;
}
.profilesBodyTxt.-catch {
  margin-top: clamp(6px, 6px + (8 - 6) * (100vw - 375px) / 1065, 8px);
  font-size: clamp(1.19rem, 11.9px + (14 - 11.9) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.7;
  font-weight: 400;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.profilesBodyTxt.-price {
  margin-top: clamp(6px, 6px + (8 - 6) * (100vw - 375px) / 1065, 8px);
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.5;
  font-weight: 700;
}
.profilesBodyTxt.-nothing {
  margin-top: clamp(32px, 32px + (48 - 32) * (100vw - 375px) / 1065, 48px);
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.8;
  font-weight: 500;
  text-align: center;
  color: #767676;
}

.profilesBodyList {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px);
  column-gap: clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px);
  align-items: stretch;
}

.profilesBodyItem {
  width: calc((100% - clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px) * (2)) / 3);
}
@media (max-width: 1150px) {
  .profilesBodyItem {
    width: calc((100% - clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px) * (1)) / 2);
  }
}
@media (max-width: 767px) {
  .profilesBodyItem {
    width: calc((100% - clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px) * (0)) / 1);
  }
}

.profilesBodyLink {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  border-radius: 16px;
  overflow: hidden;
}
.profilesBodyLink:hover {
  opacity: 0.85;
}

.profilesBodyImg.-main {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  background-color: #f5f5f5;
}
.profilesBodyImg.-avatar {
  width: clamp(36px, 36px + (40 - 36) * (100vw - 375px) / 1065, 40px);
  min-width: clamp(36px, 36px + (40 - 36) * (100vw - 375px) / 1065, 40px);
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 50%;
}

.profilesBodyTag.-club {
  font-size: clamp(1.05rem, 10.5px + (11 - 10.5) * (100vw - 375px) / 1065, 1.1rem);
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #ffffff;
  background-color: #151515;
  border-radius: 100px;
  padding: 0.2em 0.9em;
  white-space: nowrap;
}

.profilesBodyTtl {
  font-size: clamp(1.36rem, 13.6px + (18 - 13.6) * (100vw - 375px) / 1065, 1.8rem);
  line-height: 1.4;
  font-weight: 700;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

/* ==============================================================
  register（参加者登録）page-register.php / page-register-complete.php
  フォーム本体は acf_form。ACF が出す .acf-* は .registerBodyForm 配下で上書き
============================================================== */
.register {
  margin-top: clamp(32px, 32px + (48 - 32) * (100vw - 375px) / 1065, 48px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (240 - 16) * (100vw - 375px) / 1065, 240px);
  padding-right: clamp(16px, 16px + (240 - 16) * (100vw - 375px) / 1065, 240px);
}
@media (max-width: 767px) {
  .register {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.registerInner {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}

/* ---------- 流れ・注意 ---------- */
.registerMeta {
  width: 100%;
  background-color: #ffffff;
  border-radius: 16px;
  padding: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / 1065, 40px) clamp(16px, 16px + (48 - 16) * (100vw - 375px) / 1065, 48px);
}
.registerMeta > *:first-child {
  margin-top: 0 !important;
}

.registerMetaTtl {
  margin-top: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / 1065, 40px);
  font-size: clamp(1.47rem, 14.7px + (20 - 14.7) * (100vw - 375px) / 1065, 2rem);
  line-height: 1.5;
  font-weight: 700;
}

.registerMetaList {
  margin-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
}
.registerMetaList.-notes {
  padding-left: 1.2em;
  list-style: disc;
}

.registerMetaItem {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 12px;
}

.registerMetaNum {
  width: 28px;
  min-width: 28px;
  height: 28px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1;
  font-weight: 700;
  font-family: "Outfit";
  color: #ffffff;
  background-color: #151515;
  border-radius: 50%;
}

.registerMetaTxt {
  font-size: clamp(1.26rem, 12.6px + (15 - 12.6) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.8;
  font-weight: 400;
}

/* ---------- フォーム・完了 ---------- */
.registerBody {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  width: 100%;
  background-color: #ffffff;
  border-radius: 16px;
  padding: clamp(24px, 24px + (48 - 24) * (100vw - 375px) / 1065, 48px) clamp(16px, 16px + (48 - 16) * (100vw - 375px) / 1065, 48px);
}
.registerBody > *:first-child {
  margin-top: 0 !important;
}
.registerBody.-complete {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
}

.registerBodyTtl {
  font-size: clamp(1.76rem, 17.6px + (28 - 17.6) * (100vw - 375px) / 1065, 2.8rem);
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
}

.registerBodyTxt.-lead {
  margin-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  font-size: clamp(1.26rem, 12.6px + (15 - 12.6) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.8;
  font-weight: 400;
  text-align: center;
  color: #767676;
}

.registerBodyTag {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  margin-right: 4px;
  font-size: clamp(1.05rem, 10.5px + (11 - 10.5) * (100vw - 375px) / 1065, 1.1rem);
  line-height: 1.6;
  font-weight: 700;
  color: #ffffff;
  background-color: #c0392b;
  border-radius: 100px;
  padding: 0.1em 0.8em;
  vertical-align: middle;
}

.registerBodyLink {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.5;
  font-weight: 700;
  color: #ffffff;
  background-color: #151515;
  border-radius: 100px;
  padding: clamp(10px, 10px + (12 - 10) * (100vw - 375px) / 1065, 12px) clamp(32px, 32px + (48 - 32) * (100vw - 375px) / 1065, 48px);
}
.registerBodyLink:hover {
  opacity: 0.8;
}

.registerBodyBtn {
  margin-top: clamp(24px, 24px + (32 - 24) * (100vw - 375px) / 1065, 32px);
  width: 100%;
  cursor: pointer;
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.5;
  font-weight: 700;
  color: #ffffff;
  background-color: #151515;
  border: none;
  border-radius: 100px;
  padding: clamp(14px, 14px + (16 - 14) * (100vw - 375px) / 1065, 16px) clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}
.registerBodyBtn:hover {
  opacity: 0.8;
}
.registerBodyBtn:disabled {
  opacity: 0.5;
  cursor: default;
}

/* ---------- acf_form の上書き ---------- */
.registerBodyForm,
.mypageBodyForm {
  margin-top: clamp(24px, 24px + (32 - 24) * (100vw - 375px) / 1065, 32px);
  width: 100%;
}
.registerBodyForm .acf-notice,
.mypageBodyForm .acf-notice {
  margin: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px) 0 0;
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
  font-weight: 500;
  color: #ffffff;
  background-color: #c0392b;
  border: none;
  border-radius: 8px;
  padding: clamp(10px, 10px + (12 - 10) * (100vw - 375px) / 1065, 12px) clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
}
.registerBodyForm .acf-notice p,
.mypageBodyForm .acf-notice p {
  margin: 0;
  padding: 0;
  color: inherit;
}
.registerBodyForm .acf-notice.-error,
.mypageBodyForm .acf-notice.-error {
  background-color: #c0392b;
}
.registerBodyForm .acf-notice ~ .acf-fields,
.mypageBodyForm .acf-notice ~ .acf-fields {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}
.registerBodyForm .acf-fields > .acf-field,
.mypageBodyForm .acf-fields > .acf-field {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  padding: 0;
  border: none;
}
.registerBodyForm .acf-fields > .acf-field:first-child,
.mypageBodyForm .acf-fields > .acf-field:first-child {
  margin-top: 0;
}
.registerBodyForm .acf-fields > .acf-field.-heading,
.mypageBodyForm .acf-fields > .acf-field.-heading {
  margin-top: clamp(40px, 40px + (56 - 40) * (100vw - 375px) / 1065, 56px);
  border-top: 1px solid #e5e5e5;
  padding-top: clamp(24px, 24px + (32 - 24) * (100vw - 375px) / 1065, 32px);
}
.registerBodyForm .acf-fields > .acf-field.-heading:first-child,
.mypageBodyForm .acf-fields > .acf-field.-heading:first-child {
  margin-top: 0;
  border-top: none;
  padding-top: 0;
}
.registerBodyForm .acf-fields > .acf-field.-heading .acf-label label,
.mypageBodyForm .acf-fields > .acf-field.-heading .acf-label label {
  font-size: clamp(1.47rem, 14.7px + (20 - 14.7) * (100vw - 375px) / 1065, 2rem);
  line-height: 1.5;
  font-weight: 700;
}
.registerBodyForm .acf-fields > .acf-field.-heading .acf-input p,
.mypageBodyForm .acf-fields > .acf-field.-heading .acf-input p {
  margin: 4px 0 0;
  padding: 0;
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
  font-weight: 400;
  color: #767676;
}
.registerBodyForm .acf-field .acf-label,
.mypageBodyForm .acf-field .acf-label {
  margin: 0;
}
.registerBodyForm .acf-field .acf-label label,
.mypageBodyForm .acf-field .acf-label label {
  margin: 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: 8px;
  font-size: clamp(1.32rem, 13.2px + (15 - 13.2) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.6;
  font-weight: 700;
}
.registerBodyForm .acf-field .acf-required,
.mypageBodyForm .acf-field .acf-required {
  font-size: 0;
  color: transparent;
}
.registerBodyForm .acf-field .acf-required::before,
.mypageBodyForm .acf-field .acf-required::before {
  content: "必須";
  display: inline-block;
  font-size: clamp(1.05rem, 10.5px + (11 - 10.5) * (100vw - 375px) / 1065, 1.1rem);
  line-height: 1.6;
  font-weight: 700;
  color: #ffffff;
  background-color: #c0392b;
  border-radius: 100px;
  padding: 0.1em 0.8em;
}
.registerBodyForm .acf-field .acf-label .description,
.mypageBodyForm .acf-field .acf-label .description {
  margin: 4px 0 0;
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
  font-weight: 400;
  color: #767676;
}
.registerBodyForm .acf-field .acf-input,
.mypageBodyForm .acf-field .acf-input {
  margin-top: 8px;
}
.registerBodyForm .acf-field .acf-input input[type=text],
.registerBodyForm .acf-field .acf-input input[type=email],
.registerBodyForm .acf-field .acf-input input[type=url],
.registerBodyForm .acf-field .acf-input input[type=password],
.registerBodyForm .acf-field .acf-input input[type=number],
.registerBodyForm .acf-field .acf-input textarea,
.registerBodyForm .acf-field .acf-input select,
.mypageBodyForm .acf-field .acf-input input[type=text],
.mypageBodyForm .acf-field .acf-input input[type=email],
.mypageBodyForm .acf-field .acf-input input[type=url],
.mypageBodyForm .acf-field .acf-input input[type=password],
.mypageBodyForm .acf-field .acf-input input[type=number],
.mypageBodyForm .acf-field .acf-input textarea,
.mypageBodyForm .acf-field .acf-input select {
  width: 100%;
  max-width: 100%;
  min-height: 0;
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.5;
  font-weight: 400;
  color: #151515;
  background-color: #f5f5f5;
  border: 1px solid transparent;
  border-radius: 8px;
  box-shadow: none;
  padding: clamp(12px, 12px + (14 - 12) * (100vw - 375px) / 1065, 14px) clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  outline: none;
  transition: border-color 0.2s ease;
}
.registerBodyForm .acf-field .acf-input input[type=text]:focus,
.registerBodyForm .acf-field .acf-input input[type=email]:focus,
.registerBodyForm .acf-field .acf-input input[type=url]:focus,
.registerBodyForm .acf-field .acf-input input[type=password]:focus,
.registerBodyForm .acf-field .acf-input input[type=number]:focus,
.registerBodyForm .acf-field .acf-input textarea:focus,
.registerBodyForm .acf-field .acf-input select:focus,
.mypageBodyForm .acf-field .acf-input input[type=text]:focus,
.mypageBodyForm .acf-field .acf-input input[type=email]:focus,
.mypageBodyForm .acf-field .acf-input input[type=url]:focus,
.mypageBodyForm .acf-field .acf-input input[type=password]:focus,
.mypageBodyForm .acf-field .acf-input input[type=number]:focus,
.mypageBodyForm .acf-field .acf-input textarea:focus,
.mypageBodyForm .acf-field .acf-input select:focus {
  border-color: #151515;
  box-shadow: none;
}
.registerBodyForm .acf-field .acf-input textarea,
.mypageBodyForm .acf-field .acf-input textarea {
  min-height: clamp(160px, 160px + (200 - 160) * (100vw - 375px) / 1065, 200px);
  resize: vertical;
}
.registerBodyForm .acf-field .acf-input select,
.mypageBodyForm .acf-field .acf-input select {
  appearance: none;
  background-image: url(./img/common/icon-chevron-down-black.svg);
  background-repeat: no-repeat;
  background-position: right clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px) center;
  background-size: 20px;
  padding-right: clamp(40px, 40px + (48 - 40) * (100vw - 375px) / 1065, 48px);
}
.registerBodyForm .acf-field .acf-input .char-count,
.mypageBodyForm .acf-field .acf-input .char-count {
  font-size: clamp(1.12rem, 11.2px + (12 - 11.2) * (100vw - 375px) / 1065, 1.2rem);
  line-height: 1.6;
  font-weight: 400;
  color: #767676;
}
.registerBodyForm .acf-taxonomy-field .categorychecklist-holder,
.mypageBodyForm .acf-taxonomy-field .categorychecklist-holder {
  border: none;
  max-height: none;
  overflow: visible;
}
.registerBodyForm .acf-taxonomy-field .acf-checkbox-list,
.mypageBodyForm .acf-taxonomy-field .acf-checkbox-list {
  margin: 0;
  padding: 0;
  border: none;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: clamp(6px, 6px + (8 - 6) * (100vw - 375px) / 1065, 8px) clamp(8px, 8px + (10 - 8) * (100vw - 375px) / 1065, 10px);
}
.registerBodyForm .acf-taxonomy-field .acf-checkbox-list::before,
.mypageBodyForm .acf-taxonomy-field .acf-checkbox-list::before {
  display: none;
}
.registerBodyForm .acf-taxonomy-field .acf-checkbox-list li,
.mypageBodyForm .acf-taxonomy-field .acf-checkbox-list li {
  margin: 0;
}
.registerBodyForm .acf-taxonomy-field .acf-checkbox-list label,
.mypageBodyForm .acf-taxonomy-field .acf-checkbox-list label {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: 8px;
  cursor: pointer;
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.5;
  font-weight: 500;
  color: #151515;
  background-color: #f5f5f5;
  border: 1px solid transparent;
  border-radius: 100px;
  padding: clamp(8px, 8px + (10 - 8) * (100vw - 375px) / 1065, 10px) clamp(14px, 14px + (18 - 14) * (100vw - 375px) / 1065, 18px);
  transition: background-color 0.2s ease, color 0.2s ease;
}
.registerBodyForm .acf-taxonomy-field .acf-checkbox-list label:hover,
.mypageBodyForm .acf-taxonomy-field .acf-checkbox-list label:hover {
  border-color: #151515;
}
.registerBodyForm .acf-taxonomy-field .acf-checkbox-list label:has(input:checked),
.mypageBodyForm .acf-taxonomy-field .acf-checkbox-list label:has(input:checked) {
  color: #ffffff;
  background-color: #151515;
}
.registerBodyForm .acf-taxonomy-field .acf-checkbox-list input[type=radio],
.registerBodyForm .acf-taxonomy-field .acf-checkbox-list input[type=checkbox],
.mypageBodyForm .acf-taxonomy-field .acf-checkbox-list input[type=radio],
.mypageBodyForm .acf-taxonomy-field .acf-checkbox-list input[type=checkbox] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  margin: 0;
}
.registerBodyForm .acf-taxonomy-field .acf-checkbox-list > li:has(> .children),
.mypageBodyForm .acf-taxonomy-field .acf-checkbox-list > li:has(> .children) {
  width: 100%;
  margin-top: clamp(6px, 6px + (8 - 6) * (100vw - 375px) / 1065, 8px);
}
.registerBodyForm .acf-taxonomy-field .acf-checkbox-list > li:has(> .children) > label,
.mypageBodyForm .acf-taxonomy-field .acf-checkbox-list > li:has(> .children) > label {
  pointer-events: none;
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.5;
  font-weight: 700;
  color: #767676;
  background-color: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
}
.registerBodyForm .acf-taxonomy-field .acf-checkbox-list .children,
.mypageBodyForm .acf-taxonomy-field .acf-checkbox-list .children {
  margin: clamp(6px, 6px + (8 - 6) * (100vw - 375px) / 1065, 8px) 0 0;
  padding: 0;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: clamp(6px, 6px + (8 - 6) * (100vw - 375px) / 1065, 8px) clamp(8px, 8px + (10 - 8) * (100vw - 375px) / 1065, 10px);
}
.registerBodyForm .acf-image-uploader .acf-basic-uploader,
.mypageBodyForm .acf-image-uploader .acf-basic-uploader {
  display: block;
}
.registerBodyForm .acf-image-uploader input[type=file],
.mypageBodyForm .acf-image-uploader input[type=file] {
  width: 100%;
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.5;
  font-weight: 400;
  background-color: #f5f5f5;
  border-radius: 8px;
  padding: clamp(12px, 12px + (14 - 12) * (100vw - 375px) / 1065, 14px) clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
}
.registerBodyForm .acf-image-uploader .image-wrap,
.mypageBodyForm .acf-image-uploader .image-wrap {
  max-width: clamp(140px, 140px + (200 - 140) * (100vw - 375px) / 1065, 200px);
  border-radius: 8px;
  overflow: hidden;
}
.registerBodyForm .acf-repeater .acf-table,
.mypageBodyForm .acf-repeater .acf-table {
  border: none;
  background-color: transparent;
}
.registerBodyForm .acf-repeater .acf-row,
.mypageBodyForm .acf-repeater .acf-row {
  display: block;
  margin-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  background-color: #f5f5f5;
  border-radius: 8px;
  padding: clamp(16px, 16px + (20 - 16) * (100vw - 375px) / 1065, 20px) clamp(12px, 12px + (20 - 12) * (100vw - 375px) / 1065, 20px);
  position: relative;
}
.registerBodyForm .acf-repeater .acf-row:first-child,
.mypageBodyForm .acf-repeater .acf-row:first-child {
  margin-top: 0;
}
.registerBodyForm .acf-repeater .acf-row.acf-clone,
.mypageBodyForm .acf-repeater .acf-row.acf-clone {
  display: none;
}
.registerBodyForm .acf-repeater .acf-row-handle,
.mypageBodyForm .acf-repeater .acf-row-handle {
  display: none;
  border: none;
  background-color: transparent;
}
.registerBodyForm .acf-repeater .acf-row-handle.remove,
.mypageBodyForm .acf-repeater .acf-row-handle.remove {
  display: block;
  position: absolute;
  top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  right: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  width: auto;
  padding: 0;
}
.registerBodyForm .acf-repeater .acf-row-handle .acf-icon,
.mypageBodyForm .acf-repeater .acf-row-handle .acf-icon {
  display: block;
  width: 24px;
  height: 24px;
  line-height: 24px;
  color: #151515;
  background-color: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 50%;
}
.registerBodyForm .acf-repeater .acf-row-handle .acf-icon.-plus,
.mypageBodyForm .acf-repeater .acf-row-handle .acf-icon.-plus {
  display: none;
}
.registerBodyForm .acf-repeater .acf-row > .acf-fields,
.mypageBodyForm .acf-repeater .acf-row > .acf-fields {
  display: block;
  width: 100%;
  border: none;
  background-color: transparent;
  padding: 0 !important;
}
.registerBodyForm .acf-repeater .acf-row > .acf-fields > .acf-field,
.mypageBodyForm .acf-repeater .acf-row > .acf-fields > .acf-field {
  margin-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
}
.registerBodyForm .acf-repeater .acf-row > .acf-fields > .acf-field:first-child,
.mypageBodyForm .acf-repeater .acf-row > .acf-fields > .acf-field:first-child {
  margin-top: 0;
}
.registerBodyForm .acf-repeater .acf-row > .acf-fields > .acf-field input[type=text],
.registerBodyForm .acf-repeater .acf-row > .acf-fields > .acf-field textarea,
.mypageBodyForm .acf-repeater .acf-row > .acf-fields > .acf-field input[type=text],
.mypageBodyForm .acf-repeater .acf-row > .acf-fields > .acf-field textarea {
  background-color: #ffffff;
}
.registerBodyForm .acf-repeater .acf-actions,
.mypageBodyForm .acf-repeater .acf-actions {
  margin-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  text-align: left;
}
.registerBodyForm .acf-repeater .acf-button,
.mypageBodyForm .acf-repeater .acf-button {
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.5;
  font-weight: 700;
  color: #151515;
  background-color: transparent;
  border: 1px solid #151515;
  border-radius: 100px;
  box-shadow: none;
  padding: clamp(8px, 8px + (10 - 8) * (100vw - 375px) / 1065, 10px) clamp(16px, 16px + (20 - 16) * (100vw - 375px) / 1065, 20px);
  float: none;
  text-shadow: none;
}
.registerBodyForm .acf-repeater .acf-button:hover,
.mypageBodyForm .acf-repeater .acf-button:hover {
  color: #ffffff;
  background-color: #151515;
}
.registerBodyForm .acf-fields > .acf-field.-agree,
.mypageBodyForm .acf-fields > .acf-field.-agree {
  margin-top: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / 1065, 40px);
}
.registerBodyForm .acf-fields > .acf-field.-agree .acf-label,
.mypageBodyForm .acf-fields > .acf-field.-agree .acf-label {
  display: none;
}
.registerBodyForm .acf-fields > .acf-field.-agree .acf-input,
.mypageBodyForm .acf-fields > .acf-field.-agree .acf-input {
  margin-top: 0;
}
.registerBodyForm .acf-fields > .acf-field.-agree .acf-true-false label,
.mypageBodyForm .acf-fields > .acf-field.-agree .acf-true-false label {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: 10px;
  cursor: pointer;
  font-size: clamp(1.32rem, 13.2px + (15 - 13.2) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.6;
  font-weight: 500;
}
.registerBodyForm .acf-fields > .acf-field.-agree .acf-true-false input[type=checkbox],
.mypageBodyForm .acf-fields > .acf-field.-agree .acf-true-false input[type=checkbox] {
  width: 20px;
  min-width: 20px;
  height: 20px;
  margin: 0;
  cursor: pointer;
  background-color: #ffffff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px;
  border: 1px solid #151515;
  border-radius: 4px;
}
.registerBodyForm .acf-fields > .acf-field.-agree .acf-true-false input[type=checkbox]:checked,
.mypageBodyForm .acf-fields > .acf-field.-agree .acf-true-false input[type=checkbox]:checked {
  background-color: #151515;
  background-image: url(./img/common/icon-check-white.svg);
}
.registerBodyForm .acf-fields > .acf-field.-agree .acf-true-false input[type=checkbox]:focus-visible,
.mypageBodyForm .acf-fields > .acf-field.-agree .acf-true-false input[type=checkbox]:focus-visible {
  outline: 2px solid #151515;
  outline-offset: 2px;
}
.registerBodyForm .acf-fields > .acf-field.-agree .message a,
.mypageBodyForm .acf-fields > .acf-field.-agree .message a {
  text-decoration: underline;
}
.registerBodyForm .acf-fields > .acf-field.-agree .acf-input,
.mypageBodyForm .acf-fields > .acf-field.-agree .acf-input {
  text-align: center;
}
.registerBodyForm .acf-field.acf-error .acf-input input,
.registerBodyForm .acf-field.acf-error .acf-input textarea,
.registerBodyForm .acf-field.acf-error .acf-input select,
.mypageBodyForm .acf-field.acf-error .acf-input input,
.mypageBodyForm .acf-field.acf-error .acf-input textarea,
.mypageBodyForm .acf-field.acf-error .acf-input select {
  border-color: #c0392b;
}
.registerBodyForm .acf-field .acf-notice.-error,
.mypageBodyForm .acf-field .acf-notice.-error {
  margin: 0 0 8px;
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
  font-weight: 500;
  color: #ffffff;
  background-color: #c0392b;
  padding: clamp(8px, 8px + (10 - 8) * (100vw - 375px) / 1065, 10px) clamp(12px, 12px + (14 - 12) * (100vw - 375px) / 1065, 14px);
}
.registerBodyForm .acf-form-submit,
.mypageBodyForm .acf-form-submit {
  margin-top: 0;
  padding: 0;
}
.registerBodyForm .acf-spinner,
.mypageBodyForm .acf-spinner {
  display: none;
}

/* ==============================================================
  mypage（マイページ・ログイン）page-mypage.php
  フォーム本体は acf_form。ACF が出す .acf-* の上書きは登録フォームと共通で
  _register.scss の「.registerBodyForm, .mypageBodyForm」にある。
  ここの .mypageBodyForm にはマイページだけで使うもの（作例写真ギャラリー）を置く
============================================================== */
.mypage {
  margin-top: clamp(32px, 32px + (48 - 32) * (100vw - 375px) / 1065, 48px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (240 - 16) * (100vw - 375px) / 1065, 240px);
  padding-right: clamp(16px, 16px + (240 - 16) * (100vw - 375px) / 1065, 240px);
}
@media (max-width: 767px) {
  .mypage {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.mypageInner {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}
.mypageInner > *:first-child {
  margin-top: 0 !important;
}

/* ---------- 戻る ---------- */
.mypageHead {
  width: 100%;
}

.mypageHeadLink {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: 4px;
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.5;
  font-weight: 700;
}
.mypageHeadLink::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background-image: url(./img/common/icon-chevron-down-black.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: rotate(90deg);
}
.mypageHeadLink:hover {
  opacity: 0.6;
}

/* ---------- 白ボックス ---------- */
.mypageBody {
  margin-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  width: 100%;
  background-color: #ffffff;
  border-radius: 16px;
  padding: clamp(24px, 24px + (48 - 24) * (100vw - 375px) / 1065, 48px) clamp(16px, 16px + (48 - 16) * (100vw - 375px) / 1065, 48px);
}
.mypageBody > *:first-child {
  margin-top: 0 !important;
}
.mypageBody.-narrow {
  max-width: 560px;
}

.mypageBodyTtl {
  font-size: clamp(1.76rem, 17.6px + (28 - 17.6) * (100vw - 375px) / 1065, 2.8rem);
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
}
.mypageBodyTtl.-club {
  font-size: clamp(1.47rem, 14.7px + (20 - 14.7) * (100vw - 375px) / 1065, 2rem);
  line-height: 1.5;
  font-weight: 700;
  text-align: left;
}
.mypageBodyTtl.-article {
  margin-top: 4px;
  font-size: clamp(1.32rem, 13.2px + (16 - 13.2) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.5;
  font-weight: 700;
  text-align: left;
}

.mypageBodyTxt.-lead {
  margin-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  font-size: clamp(1.26rem, 12.6px + (15 - 12.6) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.8;
  font-weight: 400;
  text-align: center;
  color: #767676;
}
.mypageBodyTxt.-notice {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: 8px;
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
  font-weight: 700;
  color: #ffffff;
  background-color: #151515;
  border-radius: 8px;
  padding: clamp(10px, 10px + (12 - 10) * (100vw - 375px) / 1065, 12px) clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
}
.mypageBodyTxt.-notice::before {
  content: "";
  display: block;
  width: 16px;
  min-width: 16px;
  height: 16px;
  background-image: url(./img/common/icon-check-white.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.mypageBodyTxt.-error {
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
  font-weight: 500;
  text-align: center;
  color: #ffffff;
  background-color: #c0392b;
  border-radius: 8px;
  padding: clamp(10px, 10px + (12 - 10) * (100vw - 375px) / 1065, 12px) clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
}
.mypageBodyTxt.-name {
  margin-top: 4px;
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
  font-weight: 500;
}
.mypageBodyTxt.-catch {
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
  font-weight: 400;
  color: #767676;
}
.mypageBodyTxt.-empty {
  margin-top: clamp(24px, 24px + (32 - 24) * (100vw - 375px) / 1065, 32px);
  font-size: clamp(1.26rem, 12.6px + (15 - 12.6) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.8;
  font-weight: 400;
  text-align: center;
  color: #767676;
}
.mypageBodyTxt.-club {
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
  font-weight: 700;
}
.mypageBodyTxt.-ai {
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.8;
  font-weight: 400;
}

.mypageBodyWrap.-login {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
.mypageBodyWrap.-login > *:first-child {
  margin-top: 0 !important;
}
.mypageBodyWrap.-info {
  flex: 1;
  min-width: 0;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
.mypageBodyWrap.-meta {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 4px 12px;
}
.mypageBodyWrap.-action {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
  column-gap: 8px;
}
@media (max-width: 767px) {
  .mypageBodyWrap.-action {
    width: 100%;
    justify-content: flex-start;
  }
}
.mypageBodyWrap.-ai {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  background-color: #f5f5f5;
  border-radius: 8px;
  padding: clamp(16px, 16px + (20 - 16) * (100vw - 375px) / 1065, 20px) clamp(12px, 12px + (20 - 12) * (100vw - 375px) / 1065, 20px);
}

/* ---------- ログインフォーム ---------- */
.mypageBodyLabel {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  font-size: clamp(1.32rem, 13.2px + (15 - 13.2) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.6;
  font-weight: 700;
}

.mypageBodyInput {
  margin-top: 8px;
  width: 100%;
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.5;
  font-weight: 400;
  color: #151515;
  background-color: #f5f5f5;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: clamp(12px, 12px + (14 - 12) * (100vw - 375px) / 1065, 14px) clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  outline: none;
  transition: border-color 0.2s ease;
}
.mypageBodyInput:focus {
  border-color: #151515;
}

.mypageBodyBtn {
  margin-top: clamp(24px, 24px + (32 - 24) * (100vw - 375px) / 1065, 32px);
  width: 100%;
  cursor: pointer;
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.5;
  font-weight: 700;
  color: #ffffff;
  background-color: #151515;
  border: none;
  border-radius: 100px;
  padding: clamp(14px, 14px + (16 - 14) * (100vw - 375px) / 1065, 16px) clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}
.mypageBodyBtn:hover {
  opacity: 0.8;
}
.mypageBodyBtn:disabled {
  opacity: 0.5;
  cursor: default;
}
.mypageBodyBtn.-copy {
  margin-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.5;
  font-weight: 700;
  padding: clamp(10px, 10px + (12 - 10) * (100vw - 375px) / 1065, 12px) clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}
.mypageBodyBtn.-copy.-active {
  color: #151515;
  background-color: #ffffff;
  box-shadow: inset 0 0 0 1px #151515;
}

/* ---------- プロフィール一覧・実績一覧・リンク ---------- */
.mypageBodyList {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
.mypageBodyList.-profiles, .mypageBodyList.-articles {
  margin-top: clamp(24px, 24px + (32 - 24) * (100vw - 375px) / 1065, 32px);
  row-gap: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
}
.mypageBodyList.-links {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  align-items: center;
  row-gap: 8px;
}

.mypageBodyItem.-profiles, .mypageBodyItem.-articles {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px) clamp(12px, 12px + (20 - 12) * (100vw - 375px) / 1065, 20px);
  background-color: #f5f5f5;
  border-radius: 8px;
  padding: clamp(16px, 16px + (20 - 16) * (100vw - 375px) / 1065, 20px) clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}

.mypageBodyImg {
  width: clamp(56px, 56px + (72 - 56) * (100vw - 375px) / 1065, 72px);
  min-width: clamp(56px, 56px + (72 - 56) * (100vw - 375px) / 1065, 72px);
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 50%;
  background-color: #ffffff;
}
.mypageBodyImg.-thumb {
  border-radius: 8px;
}

.mypageBodyTag {
  font-size: clamp(1.05rem, 10.5px + (11 - 10.5) * (100vw - 375px) / 1065, 1.1rem);
  line-height: 1.6;
  font-weight: 700;
  border: 1px solid #151515;
  border-radius: 100px;
  padding: 0.1em 0.8em;
}
.mypageBodyTag.-publish {
  color: #ffffff;
  background-color: #151515;
}
.mypageBodyTag.-pending {
  color: #151515;
  background-color: #ffffff;
}
.mypageBodyTag.-draft {
  color: #ffffff;
  background-color: #767676;
  border-color: #767676;
}

.mypageBodyLink.-main, .mypageBodyLink.-sub {
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.5;
  font-weight: 700;
  white-space: nowrap;
  border: 1px solid #151515;
  border-radius: 100px;
  padding: clamp(8px, 8px + (10 - 8) * (100vw - 375px) / 1065, 10px) clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}
.mypageBodyLink.-main:hover, .mypageBodyLink.-sub:hover {
  opacity: 0.8;
}
.mypageBodyLink.-main {
  color: #ffffff;
  background-color: #151515;
}
.mypageBodyLink.-sub {
  color: #151515;
  background-color: #ffffff;
}
.mypageBodyLink.-wide {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  font-size: clamp(1.32rem, 13.2px + (15 - 13.2) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  border: 1px solid #151515;
  border-radius: 100px;
  padding: clamp(12px, 12px + (14 - 12) * (100vw - 375px) / 1065, 14px) clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  transition: background-color 0.2s ease, color 0.2s ease;
}
.mypageBodyLink.-wide:hover {
  color: #ffffff;
  background-color: #151515;
}
.mypageBodyLink.-text {
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
  font-weight: 500;
  text-decoration: underline;
}
.mypageBodyLink.-text:hover {
  opacity: 0.6;
}

/* ---------- ログイン中のアカウント・ログアウト ---------- */
.mypageFoot {
  margin-top: clamp(24px, 24px + (32 - 24) * (100vw - 375px) / 1065, 32px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  row-gap: 4px;
}

.mypageFootTxt {
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
  font-weight: 400;
  color: #767676;
  text-align: center;
  word-break: break-all;
}

.mypageFootLink {
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
  font-weight: 500;
  text-decoration: underline;
}
.mypageFootLink:hover {
  opacity: 0.6;
}

/* ---------- acf_form: 作例写真（gallery） ---------- */
.mypageBodyForm > *:first-child {
  margin-top: 0 !important;
}
.mypageBodyForm > .acf-form {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}
.mypageBodyForm .acf-gallery {
  height: auto !important;
  background-color: #f5f5f5;
  border: none;
  border-radius: 8px;
  overflow: hidden;
}
.mypageBodyForm .acf-gallery .acf-gallery-main {
  position: static;
  background-color: transparent;
}
.mypageBodyForm .acf-gallery .acf-gallery-attachments {
  position: static;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  padding: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  overflow: visible;
}
.mypageBodyForm .acf-gallery .acf-gallery-attachment .actions {
  display: block;
}
.mypageBodyForm .acf-gallery .acf-gallery-toolbar {
  position: static;
  min-height: 0;
  background-color: transparent;
  border-top: none;
  padding: 0 clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px) clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
}
.mypageBodyForm .acf-gallery .acf-gallery-add {
  display: inline-block;
  height: auto;
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.5;
  font-weight: 700;
  color: #151515;
  background-color: #ffffff;
  border: 1px solid #151515;
  border-radius: 100px;
  box-shadow: none;
  padding: clamp(8px, 8px + (10 - 8) * (100vw - 375px) / 1065, 10px) clamp(16px, 16px + (20 - 16) * (100vw - 375px) / 1065, 20px);
  text-shadow: none;
}
.mypageBodyForm .acf-gallery .acf-gallery-add:hover {
  color: #ffffff;
  background-color: #151515;
}
.mypageBodyForm .acf-gallery .acf-gallery-add.disabled {
  opacity: 0.4;
  pointer-events: none;
}
.mypageBodyForm .acf-gallery .acf-gallery-sort,
.mypageBodyForm .acf-gallery .acf-gallery-side,
.mypageBodyForm .acf-gallery .ui-resizable-handle {
  display: none !important;
}

/* ---------- acf_form: 実績フォーム（page-mypage.php の ?write=） ---------- */
.mypageBodyForm.-article .acf-fields > .acf-field.-ai {
  margin-top: clamp(32px, 32px + (40 - 32) * (100vw - 375px) / 1065, 40px);
}
.mypageBodyForm.-article .mypageBodyInput.-prompt {
  margin-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  min-height: 0;
  height: clamp(180px, 180px + (200 - 180) * (100vw - 375px) / 1065, 200px);
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.7;
  font-weight: 400;
  color: #767676;
  background-color: #ffffff;
}
.mypageBodyForm.-article .acf-fields > .acf-field.-ai + .acf-field {
  margin-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
}
.mypageBodyForm.-article .acf-editor-wrap .wp-editor-container {
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  overflow: hidden;
}
.mypageBodyForm.-article .acf-editor-wrap .mce-tinymce {
  box-shadow: none;
}
.mypageBodyForm.-article .acf-editor-wrap .mce-top-part::before {
  box-shadow: none;
}
.mypageBodyForm.-article .acf-editor-wrap .mce-toolbar-grp {
  background-color: #f5f5f5;
  border-bottom: 1px solid #e5e5e5;
  padding: 4px;
}
.mypageBodyForm.-article .acf-editor-wrap .mce-btn .mce-txt {
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.5;
  font-weight: 700;
}
.mypageBodyForm.-article .acf-editor-wrap .mce-statusbar {
  display: none;
}
.mypageBodyForm.-article .acf-editor-wrap iframe {
  min-height: clamp(320px, 320px + (400 - 320) * (100vw - 375px) / 1065, 400px);
}
.mypageBodyForm.-article .acf-taxonomy-field .acf-checkbox-list label:has(input:disabled) {
  opacity: 0.35;
  pointer-events: none;
}

/* ==============================================================
  mv（トップのメインビジュアル）front-page.php
  背景画像はぼかし + 暗幕。画像の差し替えは下の $mvImg だけ直す
============================================================== */
.mv {
  position: relative;
  overflow: hidden;
  padding-top: clamp(140px, 140px + (220 - 140) * (100vw - 375px) / 1065, 220px);
  padding-bottom: clamp(64px, 64px + (100 - 64) * (100vw - 375px) / 1065, 100px);
  min-height: 72svh;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  background-color: #151515;
}
.mv::before {
  content: "";
  position: absolute;
  inset: calc(clamp(10px, 10px + (14 - 10) * (100vw - 375px) / 1065, 14px) * -2);
  z-index: 0;
  background-color: transparent;
  background-image: url(./img/top/top01.webp);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  filter: blur(clamp(10px, 10px + (14 - 10) * (100vw - 375px) / 1065, 14px));
}
.mv::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: rgba(21, 21, 21, 0.3);
}

.mvInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (160 - 16) * (100vw - 375px) / 1065, 160px);
  padding-right: clamp(16px, 16px + (160 - 16) * (100vw - 375px) / 1065, 160px);
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .mvInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.mvBody {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  text-align: center;
  color: #ffffff;
}

.mvBodyTtl {
  font-size: clamp(2.67rem, 26.7px + (56 - 26.7) * (100vw - 375px) / 1065, 5.6rem);
  line-height: 1.4;
  font-weight: 700;
}

.mvBodyTxt {
  margin-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  font-size: clamp(1.44rem, 14.4px + (18 - 14.4) * (100vw - 375px) / 1065, 1.8rem);
  line-height: 1.8;
  font-weight: 500;
}

.mvBodyWrap.-btn {
  margin-top: clamp(32px, 32px + (48 - 32) * (100vw - 375px) / 1065, 48px);
  width: 100%;
  max-width: clamp(420px, 420px + (560 - 420) * (100vw - 375px) / 1065, 560px);
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-direction: row;
  column-gap: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
}
@media (max-width: 767px) {
  .mvBodyWrap.-btn {
    max-width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  }
}

.mvBodyLink {
  width: calc((100% - clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px)) / 2);
  text-align: center;
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.5;
  font-weight: 700;
  border-radius: 100px;
  padding: clamp(15px, 15px + (18 - 15) * (100vw - 375px) / 1065, 18px) clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  border: 1px solid #ffffff;
}
@media (max-width: 767px) {
  .mvBodyLink {
    width: 100%;
  }
}
.mvBodyLink.-main {
  color: #151515;
  background-color: #ffffff;
}
.mvBodyLink.-sub {
  color: #ffffff;
}

/* ==============================================================
  clubs（職種から探す）front-page.php
  タームの数だけカードが並ぶ。PC4列 / タブレット3列 / スマホ2列
============================================================== */
.clubs {
  position: relative;
  margin-top: clamp(70px, 70px + (100 - 70) * (100vw - 375px) / 1065, 100px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (160 - 16) * (100vw - 375px) / 1065, 160px);
  padding-right: clamp(16px, 16px + (160 - 16) * (100vw - 375px) / 1065, 160px);
}
@media (max-width: 767px) {
  .clubs {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.clubsInner {
  width: 100%;
}

.clubsBody {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

.clubsBodyTtl.-main {
  font-size: clamp(2.16rem, 21.6px + (32 - 21.6) * (100vw - 375px) / 1065, 3.2rem);
  line-height: 1.4;
  font-weight: 700;
  text-align: center;
}
.clubsBodyTtl.-club {
  font-size: clamp(1.44rem, 14.4px + (18 - 14.4) * (100vw - 375px) / 1065, 1.8rem);
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  color: #ffffff;
}

.clubsBodyList {
  margin-top: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / 1065, 40px);
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px);
  column-gap: clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px);
}

.clubsBodyItem {
  width: calc((100% - clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px) * (3)) / 4);
}
@media (max-width: 1150px) {
  .clubsBodyItem {
    width: calc((100% - clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px) * (2)) / 3);
  }
}
@media (max-width: 767px) {
  .clubsBodyItem {
    width: calc((100% - clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px) * (1)) / 2);
  }
}

.clubsBodyLink.-item {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  background-color: #151515;
  border-radius: 16px;
  padding: clamp(20px, 20px + (32 - 20) * (100vw - 375px) / 1065, 32px) clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
}
.clubsBodyLink.-item:hover {
  opacity: 0.85;
}
.clubsBodyLink.-all {
  margin-top: clamp(24px, 24px + (32 - 24) * (100vw - 375px) / 1065, 32px);
  font-size: clamp(1.32rem, 13.2px + (15 - 13.2) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  color: #ffffff;
  background-color: #151515;
  border-radius: 100px;
  padding: clamp(14px, 14px + (16 - 14) * (100vw - 375px) / 1065, 16px) clamp(32px, 32px + (40 - 32) * (100vw - 375px) / 1065, 40px);
}
.clubsBodyLink.-all:hover {
  opacity: 0.8;
}

/* ==============================================================
  news（お知らせ）
  ・素のまま   : トップの最新3件（日付＋タイトルだけ）front-page.php
  ・-archive   : 一覧。詳細ページが無いので本文まで出す archive-news.php
============================================================== */
.news {
  margin-top: clamp(70px, 70px + (100 - 70) * (100vw - 375px) / 1065, 100px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (160 - 16) * (100vw - 375px) / 1065, 160px);
  padding-right: clamp(16px, 16px + (160 - 16) * (100vw - 375px) / 1065, 160px);
}
@media (max-width: 767px) {
  .news {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.news.-archive {
  margin-top: clamp(44.8px, 44.8px + (64 - 44.8) * (100vw - 375px) / 1065, 64px);
}

.newsInner {
  width: 100%;
}

.newsBody {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

.newsBodyTtl.-main {
  font-size: clamp(2.16rem, 21.6px + (32 - 21.6) * (100vw - 375px) / 1065, 3.2rem);
  line-height: 1.4;
  font-weight: 700;
  text-align: center;
}
.newsBodyTtl.-item {
  font-size: clamp(1.32rem, 13.2px + (16 - 13.2) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.6;
  font-weight: 700;
}
.newsBodyTtl.-archive {
  margin-top: clamp(6px, 6px + (8 - 6) * (100vw - 375px) / 1065, 8px);
  font-size: clamp(1.55rem, 15.5px + (20 - 15.5) * (100vw - 375px) / 1065, 2rem);
  line-height: 1.5;
  font-weight: 700;
}

.newsBodyList {
  margin-top: clamp(24px, 24px + (40 - 24) * (100vw - 375px) / 1065, 40px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
}
.newsBodyList.-archive {
  margin-top: 0;
  row-gap: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}

.newsBodyItem {
  width: 100%;
}
.newsBodyItem.-archive {
  background-color: #ffffff;
  border-radius: 16px;
  padding: clamp(20px, 20px + (32 - 20) * (100vw - 375px) / 1065, 32px) clamp(16px, 16px + (32 - 16) * (100vw - 375px) / 1065, 32px);
  scroll-margin-top: clamp(80px, 80px + (120 - 80) * (100vw - 375px) / 1065, 120px);
}

.newsBodyLink.-item {
  width: 100%;
  background-color: #ffffff;
  border-radius: 16px;
  padding: clamp(16px, 16px + (20 - 16) * (100vw - 375px) / 1065, 20px) clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px);
}
@media (max-width: 767px) {
  .newsBodyLink.-item {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 4px;
  }
}
.newsBodyLink.-item:hover {
  opacity: 0.85;
}
.newsBodyLink.-all {
  margin-top: clamp(24px, 24px + (32 - 24) * (100vw - 375px) / 1065, 32px);
  font-size: clamp(1.32rem, 13.2px + (15 - 13.2) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  color: #ffffff;
  background-color: #151515;
  border-radius: 100px;
  padding: clamp(14px, 14px + (16 - 14) * (100vw - 375px) / 1065, 16px) clamp(32px, 32px + (40 - 32) * (100vw - 375px) / 1065, 40px);
}
.newsBodyLink.-all:hover {
  opacity: 0.8;
}

.newsBodyTime {
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.5;
  font-weight: 700;
  color: #767676;
  font-family: "Outfit";
  white-space: nowrap;
}
.newsBodyTime.-archive {
  display: block;
}

.newsBodyTxt.-body {
  margin-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  width: 100%;
  font-size: clamp(1.32rem, 13.2px + (15 - 13.2) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.9;
  font-weight: 400;
}
.newsBodyTxt.-body > *:first-child {
  margin-top: 0 !important;
}
.newsBodyTxt.-body p,
.newsBodyTxt.-body ul,
.newsBodyTxt.-body ol,
.newsBodyTxt.-body img,
.newsBodyTxt.-body blockquote {
  margin-top: 1em;
}
.newsBodyTxt.-body a {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  word-break: break-all;
}
.newsBodyTxt.-body img {
  height: auto;
  object-fit: contain;
  border-radius: 8px;
}
.newsBodyTxt.-body ul {
  padding-left: 1.4em;
  list-style: disc;
}
.newsBodyTxt.-body ol {
  padding-left: 1.4em;
  list-style: decimal;
}
.newsBodyTxt.-body li {
  list-style: inherit;
}
.newsBodyTxt.-nothing {
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.8;
  font-weight: 500;
  text-align: center;
  color: #767676;
}

/* ==============================================================
  articles（実績一覧）template/articles.php
  archive-article.php（全実績）と taxonomy-article_tag.php（タグ別）で共通
  カードの見た目はプロフィール一覧（_profiles.scss）に揃えている
============================================================== */
.articles {
  margin-top: clamp(44.8px, 44.8px + (64 - 44.8) * (100vw - 375px) / 1065, 64px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (160 - 16) * (100vw - 375px) / 1065, 160px);
  padding-right: clamp(16px, 16px + (160 - 16) * (100vw - 375px) / 1065, 160px);
}
@media (max-width: 767px) {
  .articles {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.articlesInner {
  width: 100%;
}

.articlesBody {
  width: 100%;
}

.articlesBodyList {
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px);
  column-gap: clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px);
  align-items: stretch;
}

.articlesBodyItem {
  width: calc((100% - clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px) * (2)) / 3);
}
@media (max-width: 1150px) {
  .articlesBodyItem {
    width: calc((100% - clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px) * (1)) / 2);
  }
}
@media (max-width: 767px) {
  .articlesBodyItem {
    width: calc((100% - clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px) * (0)) / 1);
  }
}

.articlesBodyLink {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  border-radius: 16px;
  overflow: hidden;
}
.articlesBodyLink:hover {
  opacity: 0.85;
}

.articlesBodyImg.-main {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  background-color: #f5f5f5;
}
.articlesBodyImg.-avatar {
  width: clamp(28px, 28px + (32 - 28) * (100vw - 375px) / 1065, 32px);
  min-width: clamp(28px, 28px + (32 - 28) * (100vw - 375px) / 1065, 32px);
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 50%;
}

.articlesBodyWrap.-info {
  width: 100%;
  padding: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px) clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px) clamp(16px, 16px + (20 - 16) * (100vw - 375px) / 1065, 20px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
.articlesBodyWrap.-meta {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
}
.articlesBodyWrap.-name {
  margin-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: 8px;
}

.articlesBodyTag.-club {
  font-size: clamp(1.05rem, 10.5px + (11 - 10.5) * (100vw - 375px) / 1065, 1.1rem);
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #ffffff;
  background-color: #151515;
  border-radius: 100px;
  padding: 0.2em 0.9em;
  white-space: nowrap;
}

.articlesBodyTtl {
  margin-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  font-size: clamp(1.38rem, 13.8px + (17 - 13.8) * (100vw - 375px) / 1065, 1.7rem);
  line-height: 1.5;
  font-weight: 700;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.articlesBodyTxt.-area {
  font-size: clamp(1.12rem, 11.2px + (12 - 11.2) * (100vw - 375px) / 1065, 1.2rem);
  line-height: 1.5;
  font-weight: 500;
  color: #767676;
}
.articlesBodyTxt.-name {
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.5;
  font-weight: 500;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.articlesBodyTxt.-nothing {
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.8;
  font-weight: 500;
  text-align: center;
  color: #767676;
}

/* ==============================================================
  article（実績詳細）single-article.php
  並び・寸法はプロフィール詳細（_profile.scss）に揃えている
============================================================== */
.article {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (240 - 16) * (100vw - 375px) / 1065, 240px);
  padding-right: clamp(16px, 16px + (240 - 16) * (100vw - 375px) / 1065, 240px);
}
@media (max-width: 767px) {
  .article {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.articleInner {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

/* ---------- 写真スライダー ---------- */
.articleSlider {
  opacity: 0;
  transition: opacity 0.4s ease;
  overflow: hidden;
  width: 100vw;
  min-width: 100vw;
  max-width: 100vw;
}
.articleSlider.-active {
  opacity: 1;
}

.articleSliderInner {
  transform: scale(1.1);
  transition: transform 1.5s ease;
}
.articleSliderInner.-active {
  transform: scale(1);
}

.articleSliderItem {
  height: clamp(270px, 270px + (540 - 270) * (100vw - 375px) / 1065, 540px);
}

.articleSliderImg {
  max-width: 100vw;
  width: fit-content;
  height: 100%;
}

/* ---------- 職種・地域・日付・タイトル ---------- */
.articleHead {
  margin-top: clamp(24px, 24px + (32 - 24) * (100vw - 375px) / 1065, 32px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1s ease 0.6s, transform 1s ease 0.6s;
}
.articleHead.-active {
  opacity: 1;
  transform: translateY(0);
}

.articleHeadWrap.-meta {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
}

.articleHeadTag.-club {
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #ffffff;
  background-color: #151515;
  border-radius: 100px;
  padding: 0.2em 1em;
  white-space: nowrap;
}
.articleHeadTag.-club:hover {
  opacity: 0.8;
}

.articleHeadTxt.-area {
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
  font-weight: 500;
  color: #767676;
}

.articleHeadTime {
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
  font-weight: 700;
  font-family: "Outfit";
  color: #767676;
}

.articleHeadTtl {
  font-size: clamp(1.82rem, 18.2px + (32 - 18.2) * (100vw - 375px) / 1065, 3.2rem);
  line-height: 1.5;
  font-weight: 700;
}

/* ---------- 本文 ---------- */
.articleBody {
  margin-top: clamp(33.5px, 33.5px + (48 - 33.5) * (100vw - 375px) / 1065, 48px);
  width: 100%;
  background-color: #ffffff;
  border-radius: 16px;
  padding: clamp(28px, 28px + (40 - 28) * (100vw - 375px) / 1065, 40px) clamp(16px, 16px + (40 - 16) * (100vw - 375px) / 1065, 40px);
}

.articleBodyTxt.-body {
  width: 100%;
  font-size: clamp(1.32rem, 13.2px + (16 - 13.2) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 2;
  font-weight: 400;
}
.articleBodyTxt.-body > *:first-child {
  margin-top: 0 !important;
}
.articleBodyTxt.-body h2 {
  margin-top: clamp(32px, 32px + (48 - 32) * (100vw - 375px) / 1065, 48px);
  font-size: clamp(1.57rem, 15.7px + (22 - 15.7) * (100vw - 375px) / 1065, 2.2rem);
  line-height: 1.5;
  font-weight: 700;
  border-left: 4px solid #151515;
  padding-left: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
}
.articleBodyTxt.-body p,
.articleBodyTxt.-body ul,
.articleBodyTxt.-body ol {
  margin-top: 1.2em;
}
.articleBodyTxt.-body h2 + p,
.articleBodyTxt.-body h2 + ul,
.articleBodyTxt.-body h2 + ol {
  margin-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
}
.articleBodyTxt.-body strong {
  font-weight: 700;
}
.articleBodyTxt.-body ul {
  padding-left: 1.4em;
  list-style: disc;
}
.articleBodyTxt.-body ol {
  padding-left: 1.4em;
  list-style: decimal;
}
.articleBodyTxt.-body li {
  list-style: inherit;
}

/* ---------- この案件について ---------- */
.articleMeta {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  width: 100%;
  background-color: #ffffff;
  border-radius: 16px;
  padding: clamp(22.4px, 22.4px + (32 - 22.4) * (100vw - 375px) / 1065, 32px) clamp(16px, 16px + (32 - 16) * (100vw - 375px) / 1065, 32px);
}
.articleMeta > *:first-child {
  margin-top: 0 !important;
}

.articleMetaTtl {
  font-size: clamp(1.47rem, 14.7px + (20 - 14.7) * (100vw - 375px) / 1065, 2rem);
  line-height: 1.5;
  font-weight: 700;
}

.articleMetaWrap.-row {
  margin-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: clamp(8px, 8px + (16 - 8) * (100vw - 375px) / 1065, 16px);
  padding-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  border-top: 1px solid #e5e5e5;
}
.articleMetaWrap.-row:first-of-type {
  border-top: none;
  padding-top: 0;
}

.articleMetaTxt.-label {
  font-size: clamp(1.19rem, 11.9px + (15 - 11.9) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.6;
  font-weight: 700;
  min-width: clamp(95.1px, 95.1px + (136 - 95.1) * (100vw - 375px) / 1065, 136px);
  width: clamp(95.1px, 95.1px + (136 - 95.1) * (100vw - 375px) / 1065, 136px);
  color: #767676;
}
.articleMetaTxt.-value {
  width: 100%;
  font-size: clamp(1.25rem, 12.5px + (16 - 12.5) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.6;
  font-weight: 500;
}

.articleMetaList {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
}

.articleMetaItem {
  display: contents;
}

.articleMetaLink {
  font-size: clamp(1.19rem, 11.9px + (14 - 11.9) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.4;
  font-weight: 500;
  background-color: #f5f5f5;
  border-radius: 100px;
  padding: 0.3em 1em;
  white-space: nowrap;
}
.articleMetaLink::before {
  content: "#";
}

/* ---------- 担当した人 ---------- */
.articleFoot {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  width: 100%;
  background-color: #ffffff;
  border-radius: 16px;
  padding: clamp(22.4px, 22.4px + (32 - 22.4) * (100vw - 375px) / 1065, 32px) clamp(16px, 16px + (32 - 16) * (100vw - 375px) / 1065, 32px);
}

.articleFootTtl.-main {
  font-size: clamp(1.47rem, 14.7px + (20 - 14.7) * (100vw - 375px) / 1065, 2rem);
  line-height: 1.5;
  font-weight: 700;
}
.articleFootTtl.-name {
  font-size: clamp(1.47rem, 14.7px + (20 - 14.7) * (100vw - 375px) / 1065, 2rem);
  line-height: 1.5;
  font-weight: 700;
}

.articleFootWrap.-profile {
  margin-top: clamp(16px, 16px + (20 - 16) * (100vw - 375px) / 1065, 20px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}
.articleFootWrap.-info {
  flex: 1;
  min-width: 0;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: 4px;
}
.articleFootWrap.-btn {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-direction: row;
  column-gap: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
}
@media (max-width: 767px) {
  .articleFootWrap.-btn {
    flex-direction: column;
    row-gap: 8px;
  }
}

.articleFootImg {
  width: clamp(72px, 72px + (96 - 72) * (100vw - 375px) / 1065, 96px);
  min-width: clamp(72px, 72px + (96 - 72) * (100vw - 375px) / 1065, 96px);
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 50%;
  background-color: #f5f5f5;
}

.articleFootTag {
  width: fit-content;
  font-size: clamp(1.12rem, 11.2px + (12 - 11.2) * (100vw - 375px) / 1065, 1.2rem);
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #ffffff;
  background-color: #151515;
  border-radius: 100px;
  padding: 0.2em 1em;
}

.articleFootTxt {
  font-size: clamp(1.19rem, 11.9px + (14 - 11.9) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
  font-weight: 400;
  color: #767676;
}

.articleFootLink {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  font-size: clamp(1.32rem, 13.2px + (15 - 13.2) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  border: 1px solid #151515;
  border-radius: 100px;
  padding: clamp(12px, 12px + (14 - 12) * (100vw - 375px) / 1065, 14px) clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}
@media (max-width: 767px) {
  .articleFootLink {
    width: 100%;
  }
}
.articleFootLink:hover {
  opacity: 0.8;
}
.articleFootLink.-main {
  color: #ffffff;
  background-color: #151515;
}
.articleFootLink.-sub {
  color: #151515;
  background-color: #ffffff;
}

/* ---------- この人の他の実績 ---------- */
.articleAside {
  margin-top: clamp(44.8px, 44.8px + (64 - 44.8) * (100vw - 375px) / 1065, 64px);
  width: 100%;
}

.articleAsideTtl.-main {
  font-size: clamp(1.67rem, 16.7px + (24 - 16.7) * (100vw - 375px) / 1065, 2.4rem);
  line-height: 1.5;
  font-weight: 700;
}
.articleAsideTtl.-item {
  padding-left: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  padding-right: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  font-size: clamp(1.26rem, 12.6px + (15 - 12.6) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.6;
  font-weight: 700;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.articleAsideList {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  width: 100%;
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px);
  column-gap: clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px);
  align-items: stretch;
}

.articleAsideItem {
  width: calc((100% - clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px) * (2)) / 3);
}
@media (max-width: 767px) {
  .articleAsideItem {
    width: calc((100% - clamp(12px, 12px + (24 - 12) * (100vw - 375px) / 1065, 24px) * (0)) / 1);
  }
}

.articleAsideLink {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(6px, 6px + (8 - 6) * (100vw - 375px) / 1065, 8px);
  background-color: #ffffff;
  border-radius: 16px;
  overflow: hidden;
  padding-bottom: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
}
.articleAsideLink:hover {
  opacity: 0.8;
}

.articleAsideImg {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  background-color: #f5f5f5;
}

.articleAsideTxt {
  margin-top: clamp(4px, 4px + (8 - 4) * (100vw - 375px) / 1065, 8px);
  padding-left: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  padding-right: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  font-size: clamp(1.12rem, 11.2px + (12 - 11.2) * (100vw - 375px) / 1065, 1.2rem);
  line-height: 1.5;
  font-weight: 500;
  color: #767676;
}

/* ---------- 実績一覧へ戻る ---------- */
.articleBottom {
  margin-top: clamp(44.8px, 44.8px + (64 - 44.8) * (100vw - 375px) / 1065, 64px);
  width: 100%;
  border-top: 1px solid #e5e5e5;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}

.articleBottomLink {
  margin-top: clamp(24px, 24px + (32 - 24) * (100vw - 375px) / 1065, 32px);
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.5;
  font-weight: 700;
  color: #ffffff;
  background-color: #151515;
  border-radius: 100px;
  padding: clamp(10px, 10px + (12 - 10) * (100vw - 375px) / 1065, 12px) clamp(32px, 32px + (48 - 32) * (100vw - 375px) / 1065, 48px);
}
.articleBottomLink:hover {
  opacity: 0.8;
}

/* ==============================================================
  questions（一問一答トップ）archive-question.php
  上から 質問フォーム → 絞り込み → 質問一覧
  フォームの見た目はプロフィール詳細の問い合わせフォーム（_profile.scss の profileMeta）、
  ピルは実績・プロフィールの職種ピルに揃えている
============================================================== */
.questions {
  margin-top: clamp(44.8px, 44.8px + (64 - 44.8) * (100vw - 375px) / 1065, 64px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (240 - 16) * (100vw - 375px) / 1065, 240px);
  padding-right: clamp(16px, 16px + (240 - 16) * (100vw - 375px) / 1065, 240px);
}
@media (max-width: 767px) {
  .questions {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.questionsInner {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

/* ---------- 質問フォーム ---------- */
.questionsHead {
  width: 100%;
  background-color: #ffffff;
  border-radius: 16px;
  padding: clamp(24px, 24px + (48 - 24) * (100vw - 375px) / 1065, 48px) clamp(16px, 16px + (48 - 16) * (100vw - 375px) / 1065, 48px);
}
.questionsHead > *:first-child {
  margin-top: 0 !important;
}

.questionsHeadTtl {
  font-size: clamp(1.76rem, 17.6px + (28 - 17.6) * (100vw - 375px) / 1065, 2.8rem);
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
}

.questionsHeadList {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: 4px;
  background-color: #c0392b;
  border-radius: 8px;
  padding: clamp(10px, 10px + (12 - 10) * (100vw - 375px) / 1065, 12px) clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
}

.questionsHeadItem {
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
  font-weight: 500;
  color: #ffffff;
}

.questionsHeadForm {
  margin-top: clamp(24px, 24px + (32 - 24) * (100vw - 375px) / 1065, 32px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}

.questionsHeadWrap.-field {
  margin-top: clamp(16px, 16px + (20 - 16) * (100vw - 375px) / 1065, 20px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: 6px;
}
.questionsHeadWrap.-field:first-of-type {
  margin-top: 0;
}

.questionsHeadLabel {
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
  font-weight: 700;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: 8px;
}

.questionsHeadTag {
  font-size: clamp(1.05rem, 10.5px + (11 - 10.5) * (100vw - 375px) / 1065, 1.1rem);
  line-height: 1.6;
  font-weight: 700;
  color: #ffffff;
  background-color: #c0392b;
  border-radius: 100px;
  padding: 0.1em 0.8em;
}

.questionsHeadInput,
.questionsHeadSelect {
  width: 100%;
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.5;
  font-weight: 400;
  background-color: #f5f5f5;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: clamp(12px, 12px + (14 - 12) * (100vw - 375px) / 1065, 14px) clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  outline: none;
  transition: border-color 0.2s ease;
}
.questionsHeadInput:focus,
.questionsHeadSelect:focus {
  border-color: #151515;
}

.questionsHeadInput.-area {
  min-height: clamp(128px, 128px + (160 - 128) * (100vw - 375px) / 1065, 160px);
  resize: vertical;
}
.questionsHeadInput.-hp {
  display: none !important;
}

.questionsHeadSelect {
  appearance: none;
  cursor: pointer;
  background-image: url(./img/common/icon-chevron-down-black.svg);
  background-repeat: no-repeat;
  background-position: right clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px) center;
  background-size: 20px;
  padding-right: clamp(40px, 40px + (48 - 40) * (100vw - 375px) / 1065, 48px);
}

.questionsHeadTxt.-hint {
  font-size: clamp(1.12rem, 11.2px + (12 - 11.2) * (100vw - 375px) / 1065, 1.2rem);
  line-height: 1.6;
  font-weight: 400;
  color: #767676;
}
.questionsHeadTxt.-note {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.7;
  font-weight: 400;
  color: #767676;
}
.questionsHeadTxt.-note a {
  text-decoration: underline;
}
.questionsHeadTxt.-success {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  font-size: clamp(1.32rem, 13.2px + (16 - 13.2) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.8;
  font-weight: 500;
  text-align: center;
  background-color: #f5f5f5;
  border-radius: 8px;
  padding: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}

.questionsHeadBtn {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  width: 100%;
  cursor: pointer;
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.5;
  font-weight: 700;
  color: #ffffff;
  background-color: #151515;
  border-radius: 100px;
  padding: clamp(14px, 14px + (16 - 14) * (100vw - 375px) / 1065, 16px) clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}
.questionsHeadBtn:hover {
  opacity: 0.8;
}

/* ---------- 絞り込み ---------- */
.questionsMeta {
  margin-top: clamp(44.8px, 44.8px + (64 - 44.8) * (100vw - 375px) / 1065, 64px);
  width: 100%;
}

.questionsMetaTtl {
  font-size: clamp(1.67rem, 16.7px + (24 - 16.7) * (100vw - 375px) / 1065, 2.4rem);
  line-height: 1.5;
  font-weight: 700;
}

.questionsMetaForm {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-direction: row;
  flex-wrap: wrap;
  gap: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
}

.questionsMetaSelect {
  flex: 1;
  min-width: 0;
  font-size: clamp(1.32rem, 13.2px + (15 - 13.2) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.5;
  font-weight: 500;
  appearance: none;
  cursor: pointer;
  background-color: #ffffff;
  background-image: url(./img/common/icon-chevron-down-black.svg);
  background-repeat: no-repeat;
  background-position: right clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px) center;
  background-size: 20px;
  border: 1px solid transparent;
  border-radius: 100px;
  padding: clamp(10px, 10px + (12 - 10) * (100vw - 375px) / 1065, 12px) clamp(40px, 40px + (48 - 40) * (100vw - 375px) / 1065, 48px) clamp(10px, 10px + (12 - 10) * (100vw - 375px) / 1065, 12px) clamp(16px, 16px + (20 - 16) * (100vw - 375px) / 1065, 20px);
  outline: none;
  transition: border-color 0.2s ease;
}
.questionsMetaSelect:focus {
  border-color: #151515;
}
@media (max-width: 767px) {
  .questionsMetaSelect {
    flex: none;
    width: 100%;
  }
}

.questionsMetaBtn {
  cursor: pointer;
  font-size: clamp(1.32rem, 13.2px + (15 - 13.2) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.5;
  font-weight: 700;
  color: #ffffff;
  background-color: #151515;
  border-radius: 100px;
  padding: clamp(10px, 10px + (12 - 10) * (100vw - 375px) / 1065, 12px) clamp(24px, 24px + (32 - 24) * (100vw - 375px) / 1065, 32px);
  white-space: nowrap;
}
.questionsMetaBtn:hover {
  opacity: 0.8;
}
@media (max-width: 767px) {
  .questionsMetaBtn {
    width: 100%;
  }
}

/* ---------- 質問一覧 ---------- */
.questionsBody {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  width: 100%;
}
.questionsBody > *:first-child {
  margin-top: 0 !important;
}

.questionsBodyList {
  margin-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
}

.questionsBodyItem {
  width: 100%;
}

.questionsBodyLink.-item {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  background-color: #ffffff;
  border-radius: 16px;
  padding: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px) clamp(16px, 16px + (32 - 16) * (100vw - 375px) / 1065, 32px);
}
.questionsBodyLink.-item:hover {
  opacity: 0.8;
}
.questionsBodyLink.-reset {
  margin-left: 1em;
  text-decoration: underline;
  white-space: nowrap;
}

.questionsBodyTtl {
  font-size: clamp(1.44rem, 14.4px + (18 - 14.4) * (100vw - 375px) / 1065, 1.8rem);
  line-height: 1.6;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.questionsBodyWrap {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
}

.questionsBodyTag {
  font-size: clamp(1.05rem, 10.5px + (11 - 10.5) * (100vw - 375px) / 1065, 1.1rem);
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #ffffff;
  background-color: #151515;
  border: 1px solid #151515;
  border-radius: 100px;
  padding: 0.2em 0.9em;
  white-space: nowrap;
}
.questionsBodyTag.-all {
  color: #151515;
  background-color: #ffffff;
}

.questionsBodyTxt.-num {
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.5;
  font-weight: 700;
}
.questionsBodyTxt.-num.-open {
  color: #c0392b;
}
.questionsBodyTxt.-filter {
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.7;
  font-weight: 500;
}
.questionsBodyTxt.-nothing {
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.8;
  font-weight: 500;
  text-align: center;
  color: #767676;
}

.questionsBodyTime {
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.5;
  font-weight: 700;
  font-family: "Outfit";
  color: #767676;
}

/* ==============================================================
  question（質問詳細）single-question.php
  上から パンくず → 質問 → 回答一覧 → 回答欄 → 「質問する」
  寸法・白ボックス・ピル・回答者カードは実績詳細（_article.scss）とプロフィール詳細（_profile.scss）に揃えている
============================================================== */
.question {
  padding-top: clamp(96px, 96px + (120 - 96) * (100vw - 375px) / 1065, 120px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (240 - 16) * (100vw - 375px) / 1065, 240px);
  padding-right: clamp(16px, 16px + (240 - 16) * (100vw - 375px) / 1065, 240px);
}
@media (max-width: 767px) {
  .question {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.questionInner {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

/* ---------- 質問 ---------- */
.questionHead {
  margin-top: clamp(24px, 24px + (32 - 24) * (100vw - 375px) / 1065, 32px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
}

.questionHeadWrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
}

.questionHeadTag {
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #ffffff;
  background-color: #151515;
  border: 1px solid #151515;
  border-radius: 100px;
  padding: 0.2em 1em;
  white-space: nowrap;
}
.questionHeadTag:hover {
  opacity: 0.8;
}
.questionHeadTag.-all {
  color: #151515;
  background-color: #ffffff;
}

.questionHeadTime {
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
  font-weight: 700;
  font-family: "Outfit";
  color: #767676;
}

.questionHeadTtl {
  font-size: clamp(1.82rem, 18.2px + (32 - 18.2) * (100vw - 375px) / 1065, 3.2rem);
  line-height: 1.5;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.questionHeadTxt.-name {
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
  font-weight: 500;
  color: #767676;
}
.questionHeadTxt.-detail {
  width: 100%;
  font-size: clamp(1.32rem, 13.2px + (16 - 13.2) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 2;
  font-weight: 400;
  overflow-wrap: anywhere;
  background-color: #ffffff;
  border-radius: 16px;
  padding: clamp(22.4px, 22.4px + (32 - 22.4) * (100vw - 375px) / 1065, 32px) clamp(16px, 16px + (32 - 16) * (100vw - 375px) / 1065, 32px);
}

/* ---------- 回答一覧 ---------- */
.questionBody {
  margin-top: clamp(44.8px, 44.8px + (64 - 44.8) * (100vw - 375px) / 1065, 64px);
  width: 100%;
}

.questionBodyTtl.-main {
  font-size: clamp(1.67rem, 16.7px + (24 - 16.7) * (100vw - 375px) / 1065, 2.4rem);
  line-height: 1.5;
  font-weight: 700;
}
.questionBodyTtl.-name {
  font-size: clamp(1.32rem, 13.2px + (16 - 13.2) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.5;
  font-weight: 700;
}
.questionBodyTtl.-name.-withdrawn {
  color: #767676;
}

.questionBodyNum {
  margin-left: 0.4em;
  margin-right: 0.1em;
  font-family: "Outfit";
}

.questionBodyList {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}

.questionBodyItem {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  background-color: #ffffff;
  border-radius: 16px;
  padding: clamp(22.4px, 22.4px + (32 - 22.4) * (100vw - 375px) / 1065, 32px) clamp(16px, 16px + (32 - 16) * (100vw - 375px) / 1065, 32px);
  scroll-margin-top: clamp(72px, 72px + (96 - 72) * (100vw - 375px) / 1065, 96px);
}

.questionBodyLink.-profile {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
}
.questionBodyLink.-profile:hover {
  opacity: 0.8;
}
.questionBodyLink.-inquiry {
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  color: #151515;
  border: 1px solid #151515;
  border-radius: 100px;
  padding: clamp(8px, 8px + (10 - 8) * (100vw - 375px) / 1065, 10px) clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}
.questionBodyLink.-inquiry:hover {
  opacity: 0.8;
}

.questionBodyImg {
  width: clamp(48px, 48px + (56 - 48) * (100vw - 375px) / 1065, 56px);
  min-width: clamp(48px, 48px + (56 - 48) * (100vw - 375px) / 1065, 56px);
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 50%;
  background-color: #f5f5f5;
}

.questionBodyWrap.-name {
  flex: 1;
  min-width: 0;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: 4px;
}
.questionBodyWrap.-foot {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 12px;
  padding-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  border-top: 1px solid #e5e5e5;
}

.questionBodyTag {
  width: fit-content;
  font-size: clamp(1.12rem, 11.2px + (12 - 11.2) * (100vw - 375px) / 1065, 1.2rem);
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #ffffff;
  background-color: #151515;
  border-radius: 100px;
  padding: 0.2em 1em;
}

.questionBodyTxt.-body {
  margin-top: clamp(16px, 16px + (20 - 16) * (100vw - 375px) / 1065, 20px);
  width: 100%;
  font-size: clamp(1.32rem, 13.2px + (16 - 13.2) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 2;
  font-weight: 400;
  overflow-wrap: anywhere;
}
.questionBodyTxt.-body > *:first-child {
  margin-top: 0 !important;
}
.questionBodyTxt.-body p,
.questionBodyTxt.-body ul,
.questionBodyTxt.-body ol {
  margin-top: 1.2em;
}
.questionBodyTxt.-body strong {
  font-weight: 700;
}
.questionBodyTxt.-body ul {
  padding-left: 1.4em;
  list-style: disc;
}
.questionBodyTxt.-body ol {
  padding-left: 1.4em;
  list-style: decimal;
}
.questionBodyTxt.-body li {
  list-style: inherit;
}
.questionBodyTxt.-nothing {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  width: 100%;
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.8;
  font-weight: 500;
  text-align: center;
  color: #767676;
  background-color: #ffffff;
  border-radius: 16px;
  padding: clamp(24px, 24px + (32 - 24) * (100vw - 375px) / 1065, 32px) clamp(16px, 16px + (32 - 16) * (100vw - 375px) / 1065, 32px);
}

.questionBodyTime {
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.5;
  font-weight: 700;
  font-family: "Outfit";
  color: #767676;
}

/* ---------- 回答欄 ---------- */
.questionMeta {
  margin-top: clamp(44.8px, 44.8px + (64 - 44.8) * (100vw - 375px) / 1065, 64px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  background-color: #ffffff;
  border-radius: 16px;
  padding: clamp(24px, 24px + (48 - 24) * (100vw - 375px) / 1065, 48px) clamp(16px, 16px + (48 - 16) * (100vw - 375px) / 1065, 48px);
  scroll-margin-top: clamp(72px, 72px + (96 - 72) * (100vw - 375px) / 1065, 96px);
}

.questionMetaTtl {
  font-size: clamp(1.76rem, 17.6px + (28 - 17.6) * (100vw - 375px) / 1065, 2.8rem);
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
}

.questionMetaTxt.-lead {
  margin-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  width: 100%;
  font-size: clamp(1.26rem, 12.6px + (15 - 12.6) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.8;
  font-weight: 400;
  text-align: center;
  color: #767676;
}
.questionMetaTxt.-hint {
  font-size: clamp(1.12rem, 11.2px + (12 - 11.2) * (100vw - 375px) / 1065, 1.2rem);
  line-height: 1.6;
  font-weight: 400;
  color: #767676;
}
.questionMetaTxt.-guide {
  margin-top: clamp(16px, 16px + (20 - 16) * (100vw - 375px) / 1065, 20px);
  width: 100%;
  font-size: clamp(1.19rem, 11.9px + (14 - 11.9) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.7;
  font-weight: 500;
  background-color: #f5f5f5;
  border-radius: 8px;
  padding: clamp(10px, 10px + (12 - 10) * (100vw - 375px) / 1065, 12px) clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
}
.questionMetaTxt.-error {
  margin-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  width: 100%;
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
  font-weight: 500;
  color: #ffffff;
  background-color: #c0392b;
  border-radius: 8px;
  padding: clamp(10px, 10px + (12 - 10) * (100vw - 375px) / 1065, 12px) clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
}
.questionMetaTxt.-success {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  width: 100%;
  font-size: clamp(1.32rem, 13.2px + (16 - 13.2) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.8;
  font-weight: 500;
  text-align: center;
  background-color: #f5f5f5;
  border-radius: 8px;
  padding: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
}

.questionMetaLink.-main {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  width: 100%;
  max-width: 400px;
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  color: #ffffff;
  background-color: #151515;
  border-radius: 100px;
  padding: clamp(14px, 14px + (16 - 14) * (100vw - 375px) / 1065, 16px) clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}
.questionMetaLink.-main:hover {
  opacity: 0.8;
}
.questionMetaLink.-text {
  margin-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
  font-weight: 500;
  text-decoration: underline;
}

.questionMetaForm {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
.questionMetaForm + .questionMetaForm {
  margin-top: clamp(32px, 32px + (40 - 32) * (100vw - 375px) / 1065, 40px);
  padding-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  border-top: 1px solid #e5e5e5;
}

.questionMetaWrap.-field {
  margin-top: clamp(16px, 16px + (20 - 16) * (100vw - 375px) / 1065, 20px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: 6px;
}

.questionMetaLabel {
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.6;
  font-weight: 700;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: 8px;
}

.questionMetaTag {
  font-size: clamp(1.05rem, 10.5px + (11 - 10.5) * (100vw - 375px) / 1065, 1.1rem);
  line-height: 1.6;
  font-weight: 700;
  color: #ffffff;
  background-color: #c0392b;
  border-radius: 100px;
  padding: 0.1em 0.8em;
}

.questionMetaInput,
.questionMetaSelect {
  width: 100%;
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.5;
  font-weight: 400;
  background-color: #f5f5f5;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: clamp(12px, 12px + (14 - 12) * (100vw - 375px) / 1065, 14px) clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  outline: none;
  transition: border-color 0.2s ease;
}
.questionMetaInput:focus,
.questionMetaSelect:focus {
  border-color: #151515;
}

.questionMetaInput.-area {
  min-height: clamp(200px, 200px + (240 - 200) * (100vw - 375px) / 1065, 240px);
  resize: vertical;
}

.questionMetaSelect {
  appearance: none;
  cursor: pointer;
  background-image: url(./img/common/icon-chevron-down-black.svg);
  background-repeat: no-repeat;
  background-position: right clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px) center;
  background-size: 20px;
  padding-right: clamp(40px, 40px + (48 - 40) * (100vw - 375px) / 1065, 48px);
}

.questionMetaBtn {
  margin-top: clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
  width: 100%;
  cursor: pointer;
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.5;
  font-weight: 700;
  color: #ffffff;
  background-color: #151515;
  border-radius: 100px;
  padding: clamp(14px, 14px + (16 - 14) * (100vw - 375px) / 1065, 16px) clamp(16px, 16px + (24 - 16) * (100vw - 375px) / 1065, 24px);
}
.questionMetaBtn:hover {
  opacity: 0.8;
}

/* ---------- 質問する ---------- */
.questionBottom {
  margin-top: clamp(44.8px, 44.8px + (64 - 44.8) * (100vw - 375px) / 1065, 64px);
  width: 100%;
  border-top: 1px solid #e5e5e5;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}

.questionBottomLink {
  margin-top: clamp(24px, 24px + (32 - 24) * (100vw - 375px) / 1065, 32px);
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.5;
  font-weight: 700;
  color: #ffffff;
  background-color: #151515;
  border-radius: 100px;
  padding: clamp(10px, 10px + (12 - 10) * (100vw - 375px) / 1065, 12px) clamp(32px, 32px + (48 - 32) * (100vw - 375px) / 1065, 48px);
}
.questionBottomLink:hover {
  opacity: 0.8;
}

/* ==============================================================
  policy（プライバシーポリシー）page-policy.php
============================================================== */
.policy {
  margin-top: clamp(33.5px, 33.5px + (48 - 33.5) * (100vw - 375px) / 1065, 48px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (240 - 16) * (100vw - 375px) / 1065, 240px);
  padding-right: clamp(16px, 16px + (240 - 16) * (100vw - 375px) / 1065, 240px);
}
@media (max-width: 767px) {
  .policy {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.policyInner {
  width: 100%;
}

.policyBody {
  width: 100%;
  background-color: #ffffff;
  border-radius: 16px;
  padding: clamp(28px, 28px + (40 - 28) * (100vw - 375px) / 1065, 40px) clamp(16px, 16px + (40 - 16) * (100vw - 375px) / 1065, 40px);
}
.policyBody > *:first-child {
  margin-top: 0 !important;
}

.policyBodyTtl {
  margin-top: clamp(28px, 28px + (40 - 28) * (100vw - 375px) / 1065, 40px);
  font-size: clamp(1.47rem, 14.7px + (20 - 14.7) * (100vw - 375px) / 1065, 2rem);
  line-height: 1.5;
  font-weight: 700;
}
.policyBodyTtl.-sub {
  margin-top: clamp(20px, 20px + (28 - 20) * (100vw - 375px) / 1065, 28px);
  font-size: clamp(1.32rem, 13.2px + (16 - 13.2) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.6;
  font-weight: 700;
  color: #767676;
}

.policyBodyTxt {
  margin-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  font-size: clamp(1.32rem, 13.2px + (16 - 13.2) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 2;
  font-weight: 400;
}
.policyBodyTxt.-date {
  margin-top: clamp(28px, 28px + (40 - 28) * (100vw - 375px) / 1065, 40px);
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.8;
  font-weight: 400;
  color: #767676;
}

.policyBodyLink {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  word-break: break-all;
}
.policyBodyLink:hover {
  opacity: 0.7;
}

.policyBodyList {
  margin-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  width: 100%;
  padding-left: 1.4em;
  list-style: disc;
}

.policyBodyItem {
  margin-top: clamp(6px, 6px + (8 - 6) * (100vw - 375px) / 1065, 8px);
  list-style: inherit;
  font-size: clamp(1.32rem, 13.2px + (16 - 13.2) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 2;
  font-weight: 400;
}
.policyBodyItem:first-child {
  margin-top: 0;
}

/* ==============================================================
  about（運営者情報）page-about.php
============================================================== */
.about {
  margin-top: clamp(33.5px, 33.5px + (48 - 33.5) * (100vw - 375px) / 1065, 48px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (240 - 16) * (100vw - 375px) / 1065, 240px);
  padding-right: clamp(16px, 16px + (240 - 16) * (100vw - 375px) / 1065, 240px);
}
@media (max-width: 767px) {
  .about {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.aboutInner {
  width: 100%;
}

.aboutBody {
  width: 100%;
  background-color: #ffffff;
  border-radius: 16px;
  padding: clamp(28px, 28px + (40 - 28) * (100vw - 375px) / 1065, 40px) clamp(16px, 16px + (40 - 16) * (100vw - 375px) / 1065, 40px);
}
.aboutBody > *:first-child {
  margin-top: 0 !important;
}

.aboutBodyTtl {
  margin-top: clamp(28px, 28px + (40 - 28) * (100vw - 375px) / 1065, 40px);
  font-size: clamp(1.47rem, 14.7px + (20 - 14.7) * (100vw - 375px) / 1065, 2rem);
  line-height: 1.5;
  font-weight: 700;
}

.aboutBodyTxt.-lead {
  margin-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  font-size: clamp(1.25rem, 12.5px + (16 - 12.5) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 2;
  font-weight: 400;
}
.aboutBodyTxt.-label {
  font-size: clamp(1.19rem, 11.9px + (15 - 11.9) * (100vw - 375px) / 1065, 1.5rem);
  line-height: 1.6;
  font-weight: 700;
  min-width: clamp(95.1px, 95.1px + (136 - 95.1) * (100vw - 375px) / 1065, 136px);
  width: clamp(95.1px, 95.1px + (136 - 95.1) * (100vw - 375px) / 1065, 136px);
  color: #767676;
}
.aboutBodyTxt.-value {
  width: 100%;
  font-size: clamp(1.25rem, 12.5px + (16 - 12.5) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 1.6;
  font-weight: 500;
  overflow-wrap: anywhere;
}
.aboutBodyTxt.-note {
  margin-top: clamp(24px, 24px + (32 - 24) * (100vw - 375px) / 1065, 32px);
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 375px) / 1065, 1.3rem);
  line-height: 1.7;
  font-weight: 400;
  color: #767676;
}

.aboutBodyWrap.-row {
  margin-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: clamp(8px, 8px + (16 - 8) * (100vw - 375px) / 1065, 16px);
  padding-top: clamp(8px, 8px + (12 - 8) * (100vw - 375px) / 1065, 12px);
  border-top: 1px solid #e5e5e5;
}
.aboutBodyWrap.-row:first-of-type {
  border-top: none;
  padding-top: 0;
}

.aboutBodyLink {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.aboutBodyLink:hover {
  opacity: 0.7;
}

/* ==============================================================
  terms（利用規約）page-terms.php
  ・条文は番号が意味を持つので ol。入れ子の箇条書きだけ -sub で disc に戻す
============================================================== */
.terms {
  margin-top: clamp(33.5px, 33.5px + (48 - 33.5) * (100vw - 375px) / 1065, 48px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, 16px + (240 - 16) * (100vw - 375px) / 1065, 240px);
  padding-right: clamp(16px, 16px + (240 - 16) * (100vw - 375px) / 1065, 240px);
}
@media (max-width: 767px) {
  .terms {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.termsInner {
  width: 100%;
}

.termsBody {
  width: 100%;
  background-color: #ffffff;
  border-radius: 16px;
  padding: clamp(28px, 28px + (40 - 28) * (100vw - 375px) / 1065, 40px) clamp(16px, 16px + (40 - 16) * (100vw - 375px) / 1065, 40px);
}
.termsBody > *:first-child {
  margin-top: 0 !important;
}

.termsBodyTtl {
  margin-top: clamp(28px, 28px + (40 - 28) * (100vw - 375px) / 1065, 40px);
  font-size: clamp(1.47rem, 14.7px + (20 - 14.7) * (100vw - 375px) / 1065, 2rem);
  line-height: 1.5;
  font-weight: 700;
}

.termsBodyTxt {
  margin-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  font-size: clamp(1.32rem, 13.2px + (16 - 13.2) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 2;
  font-weight: 400;
}
.termsBodyTxt.-date {
  margin-top: clamp(28px, 28px + (40 - 28) * (100vw - 375px) / 1065, 40px);
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 375px) / 1065, 1.4rem);
  line-height: 1.8;
  font-weight: 400;
  color: #767676;
}

.termsBodyList {
  margin-top: clamp(12px, 12px + (16 - 12) * (100vw - 375px) / 1065, 16px);
  width: 100%;
  padding-left: 1.6em;
  list-style: decimal;
}
.termsBodyList.-sub {
  margin-top: clamp(6px, 6px + (8 - 6) * (100vw - 375px) / 1065, 8px);
  padding-left: 1.4em;
  list-style: disc;
}
.termsBodyList.-contact {
  padding-left: 1.4em;
  list-style: disc;
}

.termsBodyItem {
  margin-top: clamp(6px, 6px + (8 - 6) * (100vw - 375px) / 1065, 8px);
  list-style: inherit;
  font-size: clamp(1.32rem, 13.2px + (16 - 13.2) * (100vw - 375px) / 1065, 1.6rem);
  line-height: 2;
  font-weight: 400;
}
.termsBodyItem:first-child {
  margin-top: 0;
}

.termsBodyLink {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  word-break: break-all;
}
.termsBodyLink:hover {
  opacity: 0.7;
}

/*# sourceMappingURL=style.css.map */
