@charset "UTF-8";
summary {
  display: block;
}

summary::-webkit-details-marker {
  display: none;
}

.pFv {
  margin-top: calc(157 * var(--px));
}
.pFv__inner {
  padding: 0 calc(28 * var(--px));
}
.pFv__headline {
  width: calc(43 * var(--px));
  height: calc(104 * var(--px));
  margin-right: calc(6 * var(--px));
  margin-left: auto;
}
.pFv__intro {
  display: grid;
  gap: calc(24 * var(--px));
  margin-top: calc(110 * var(--px));
}
.pFv__lead {
  width: calc(255 * var(--px));
  height: calc(108 * var(--px));
}
.pFv__text {
  font-size: calc(0.9375 * var(--rem));
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.07em;
}

.pVisual {
  position: relative;
  width: calc(341 * var(--px));
  height: calc(236 * var(--px));
  margin: calc(81 * var(--px)) auto 0;
}
.pVisual__imageMain {
  width: 100%;
  height: 100%;
}
.pVisual__imageDeco {
  position: absolute;
  bottom: calc(-44 * var(--px));
  left: calc(-10 * var(--px));
  width: calc(95 * var(--px));
  height: calc(52 * var(--px));
}

.pRequirement {
  margin-top: calc(126 * var(--px));
}
.pRequirement__inner {
  padding: 0 calc(30 * var(--px));
}
.pRequirement__title {
  width: calc(340 * var(--px));
  height: calc(26 * var(--px));
}
.pRequirement__list {
  margin-top: calc(48 * var(--px));
}
.pRequirement__accordionTitleMain {
  font-size: calc(1 * var(--rem));
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.02em;
}
.pRequirement__accordion {
  border-bottom: 1px solid #E8E4E4;
}
.pRequirement__accordion:first-child {
  border-top: 1px solid #E8E4E4;
}
.pRequirement__accordion.is-open .pRequirement__accordionState::before {
  pointer-events: none;
  opacity: 0;
}
.pRequirement__accordion.is-open .pRequirement__accordionState::after {
  opacity: 1;
}
.pRequirement__accordion.is-open .pRequirement__accordionIcon::after {
  transform: rotate(0);
}
.pRequirement__accordionTrigger {
  display: grid;
  grid-template-columns: calc(180 * var(--px)) 1fr;
  align-items: center;
  justify-content: space-between;
  padding: calc(31 * var(--px)) calc(22 * var(--px)) calc(34 * var(--px)) calc(20 * var(--px));
}
.pRequirement__accordionStateWrapper {
  display: flex;
  gap: calc(10 * var(--px));
  align-items: center;
  justify-content: flex-end;
}
.pRequirement__accordionState {
  display: grid;
  grid-template-areas: "text";
  text-align: end;
}
.pRequirement__accordionState::before, .pRequirement__accordionState::after {
  grid-area: text;
  font-size: calc(0.9375 * var(--rem));
  font-weight: 500;
  line-height: 2.08;
  letter-spacing: 0.05em;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: transparent;
  text-underline-offset: 1px;
  transition: opacity 0.4s var(--ease-out-cubic), text-decoration-color 0.4s var(--ease-out-cubic, ease);
}
.pRequirement__accordionState::before {
  content: "詳細を見る";
  opacity: 1;
}
.pRequirement__accordionState::after {
  content: "閉じる";
  opacity: 0;
}
.pRequirement__accordionIcon {
  display: grid;
  align-items: center;
  width: calc(12 * var(--px));
  height: calc(12 * var(--px));
  margin-top: calc(1 * var(--px));
}
.pRequirement__accordionIcon::before, .pRequirement__accordionIcon::after {
  grid-area: 1/1;
  width: 100%;
  height: 1px;
  content: "";
  background-color: var(--color-black);
}
.pRequirement__accordionIcon::after {
  transform: rotate(90deg);
  transition: transform 0.4s var(--ease-out-cubic);
}
.pRequirement__accordionTarget {
  overflow: hidden;
}
.pRequirement__accordionContent {
  padding: calc(48 * var(--px)) calc(22 * var(--px)) calc(21 * var(--px));
  background-color: #F9F9F9;
}
.pRequirement__basicInfo > * {
  margin-top: calc(56 * var(--px));
}
.pRequirement__basicInfo > *:first-child {
  margin-top: 0;
}
.pRequirement__sectionTitle {
  font-size: calc(1 * var(--rem));
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.pRequirement__defList {
  margin-top: calc(16 * var(--px));
}
.pRequirement__item {
  padding: calc(22 * var(--px)) 0;
  border-top: 1px solid #E8E4E4;
}
.pRequirement__item:last-of-type {
  border-bottom: 1px solid #E8E4E4;
}
.pRequirement__dt {
  font-size: calc(0.9375 * var(--rem));
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
.pRequirement__dd {
  display: grid;
  gap: calc(12 * var(--px));
  margin-top: calc(10 * var(--px));
  font-size: calc(0.9375 * var(--rem));
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
.pRequirement__text {
  font-size: calc(0.9375 * var(--rem));
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
.pRequirement__text strong {
  font-weight: 700;
}
.pRequirement__text a {
  position: relative;
  display: inline;
  padding-bottom: 3px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: currentcolor;
  text-underline-offset: 6px;
  transition: text-decoration-color 0.3s var(--ease-out-cubic, ease);
}
.pRequirement__link {
  position: relative;
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  font-size: calc(0.9375 * var(--rem));
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
.pRequirement__link::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-image: linear-gradient(currentcolor, currentcolor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 100% 1px;
}
.pRequirement__bulletList {
  display: grid;
  gap: calc(3 * var(--px));
}
.pRequirement__bulletItem {
  display: grid;
  grid-template-columns: calc(6 * var(--px)) 1fr;
  gap: calc(9 * var(--px));
}
.pRequirement__bulletItem::before {
  width: calc(6 * var(--px));
  height: calc(6 * var(--px));
  margin-top: calc(10 * var(--px));
  content: "";
  border: 1px solid var(--color-black);
  border-radius: 50%;
  scale: 1.01;
}
.pRequirement__bulletItem_textArea {
  display: flex;
  gap: calc(2 * var(--px));
  font-size: calc(0.9375 * var(--rem));
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
.pRequirement__bulletItem_slash {
  width: calc(9 * var(--px));
  height: calc(27 * var(--px));
}
.pRequirement__message {
  display: grid;
  gap: calc(27 * var(--px));
  margin-top: calc(26 * var(--px));
  font-size: calc(0.9375 * var(--rem));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.pRequirement__message > p strong {
  font-weight: 700;
}
.pRequirement__message > p a {
  position: relative;
  display: inline;
  padding-bottom: 3px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: currentcolor;
  text-underline-offset: 6px;
  transition: text-decoration-color 0.3s var(--ease-out-cubic, ease);
}
.pRequirement__entry {
  margin-top: calc(46 * var(--px));
}
.pRequirement__entryBtn {
  display: flex;
  flex-direction: column;
  gap: calc(10 * var(--px));
  align-items: center;
  padding: calc(24 * var(--px)) calc(30 * var(--px)) calc(25 * var(--px));
  color: var(--color-text);
  background-color: var(--color-background);
  border: 1px solid #E57A03;
}
.pRequirement__entryBtn--first {
  --color-background: #E57A03;
  --color-text: #fff;
  transition: box-shadow 0.4s var(--ease-out-cubic, ease), background-color 0.4s var(--ease-out-cubic, ease), color 0.4s var(--ease-out-cubic, ease);
}
.pRequirement__entryBtn--second {
  --color-background: #fff;
  --color-text: #E57A03;
  transition: box-shadow 0.4s var(--ease-out-cubic, ease), background-color 0.4s var(--ease-out-cubic, ease), color 0.4s var(--ease-out-cubic, ease);
}
.pRequirement__entryBtnMain {
  font-size: calc(1.625 * var(--rem));
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.08em;
}
.pRequirement__entryBtnSub {
  position: relative;
  display: inline;
  padding-bottom: calc(3 * var(--px));
  font-size: calc(0.875 * var(--rem));
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
  letter-spacing: 0.02em;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 7px;
}

.lFooter {
  margin-top: calc(160 * var(--px));
}

@media screen and (min-width: 960px) {
  .pFv {
    margin-top: calc(193 * var(--px));
  }
  .pFv__inner {
    padding: 0 calc(226 * var(--px));
  }
  .pFv__headline {
    width: calc(56 * var(--px));
    height: calc(164 * var(--px));
    margin-right: 0;
    margin-left: auto;
  }
  .pFv__intro {
    gap: calc(30 * var(--px));
    margin-top: calc(116 * var(--px));
  }
  .pFv__lead {
    width: calc(564 * var(--px));
    height: calc(119 * var(--px));
  }
  .pFv__text {
    line-height: 1.92;
    letter-spacing: 0.06em;
  }
  .pVisual {
    width: calc(1039 * var(--px));
    height: calc(594 * var(--px));
    margin: calc(189 * var(--px)) auto 0;
  }
  .pVisual__imageDeco {
    position: absolute;
    bottom: calc(-65 * var(--px));
    left: calc(-113 * var(--px));
    width: calc(197 * var(--px));
    height: calc(109 * var(--px));
  }
  .pRequirement {
    margin-top: calc(271 * var(--px));
  }
  .pRequirement__inner {
    padding: 0 calc(224 * var(--px));
  }
  .pRequirement__title {
    width: calc(1040 * var(--px));
    height: calc(48 * var(--px));
  }
  .pRequirement__list {
    margin-top: calc(74 * var(--px));
    margin-left: calc(252 * var(--px));
  }
  .pRequirement__accordionTitleMain {
    font-size: calc(1.375 * var(--rem));
  }
  .pRequirement__accordionTrigger {
    grid-template-columns: calc(340 * var(--px)) 1fr;
    padding: calc(44 * var(--px)) calc(24 * var(--px)) calc(45 * var(--px));
  }
  .pRequirement__accordionContent {
    padding: calc(70 * var(--px));
  }
  .pRequirement__basicInfo > * {
    margin-top: calc(70 * var(--px));
  }
  .pRequirement__sectionTitle {
    font-size: calc(1.25 * var(--rem));
  }
  .pRequirement__defList {
    margin-top: calc(24 * var(--px));
  }
  .pRequirement__item {
    display: grid;
    grid-template-columns: calc(96 * var(--px)) 1fr;
    gap: calc(96 * var(--px));
    padding: calc(44 * var(--px)) 0;
  }
  .pRequirement__dt {
    line-height: 1.8;
  }
  .pRequirement__dd {
    gap: calc(12 * var(--px));
    margin-top: 0;
    line-height: 1.8;
  }
  .pRequirement__text {
    line-height: 1.8;
  }
  .pRequirement__link {
    line-height: 1.8;
  }
  .pRequirement__bulletList {
    gap: calc(5 * var(--px));
  }
  .pRequirement__bulletItem {
    grid-template-columns: calc(8 * var(--px)) 1fr;
    gap: calc(13 * var(--px));
  }
  .pRequirement__bulletItem::before {
    width: calc(8 * var(--px));
    height: calc(8 * var(--px));
  }
  .pRequirement__bulletItem_textArea {
    line-height: 1.9;
  }
  .pRequirement__bulletItem_slash {
    width: calc(14 * var(--px));
  }
  .pRequirement__message {
    margin-top: calc(40 * var(--px));
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
  .pRequirement__entry {
    margin-top: calc(72 * var(--px));
  }
  .pRequirement__entryBtn {
    display: grid;
    grid-template-columns: auto auto;
    gap: calc(31 * var(--px));
    justify-content: center;
    padding: calc(39 * var(--px)) calc(40 * var(--px)) calc(44 * var(--px));
  }
  .pRequirement__entryBtnMain {
    font-size: calc(2.375 * var(--rem));
  }
  .pRequirement__entryBtnSub {
    padding-bottom: calc(3 * var(--px));
    line-height: 2.08;
    text-align: left;
    letter-spacing: 0.05em;
    text-underline-offset: 7px;
  }
  .lFooter {
    margin-top: calc(190 * var(--px));
  }
}
@media screen and (min-width: 960px) and (hover: hover) {
  .pRequirement__text a:hover {
    text-decoration-color: transparent;
  }
  .pRequirement__entryBtn--first:hover {
    background-color: var(--color-white);
    --color-text: #E57A03;
  }
  .pRequirement__entryBtn--second:hover {
    background-color: #E57A03;
    --color-text: var(--color-white);
  }
}
@media screen and (min-width: 960px) {
  .pRequirement__accordionTrigger:hover .pRequirement__accordionState::before {
    text-decoration-color: var(--color-black);
  }
}