@charset "UTF-8";
.l-wrapper .c-cv {
  background-color: #fffce9;
}
.l-wrapper .c-cv__inner {
  position: relative;
}
.l-wrapper .c-cv__inner {
  padding-top: 10.6vw;
}
.l-wrapper .c-cv__inner {
  padding-bottom: 49vw;
}
.l-wrapper .c-cv__inner::before, .l-wrapper .c-cv__inner::after {
  content: "";
  display: inline-block;
  position: absolute;
  background: no-repeat center bottom/contain;
}
.l-wrapper .c-cv__inner::before, .l-wrapper .c-cv__inner::after {
  bottom: 10.6vw;
}
.l-wrapper .c-cv__inner::before {
  background-image: url(../img/bg_cv01.png);
}
.l-wrapper .c-cv__inner::before {
  left: 19.7vw;
}
.l-wrapper .c-cv__inner::before {
  width: 28.5vw;
}
.l-wrapper .c-cv__inner::before {
  height: 30.3vw;
}
.l-wrapper .c-cv__inner::after {
  background-image: url(../img/bg_cv02.png);
}
.l-wrapper .c-cv__inner::after {
  right: 19.7vw;
}
.l-wrapper .c-cv__inner::after {
  width: 21.4vw;
}
.l-wrapper .c-cv__inner::after {
  height: 29.5vw;
}
.l-wrapper .c-cv__head {
  margin-bottom: 4.2vw;
}
.l-wrapper .c-cv__head img {
  margin: auto;
}
.l-wrapper .c-cv__head img {
  width: 84vw;
}
.l-wrapper .c-cv__link {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 285px;
  height: 60px;
  margin: auto;
  border-radius: 10px;
  background-color: #fdd000;
  box-shadow: 0px 4px 0px #000;
  font-weight: 500;
  font-size: clamp(0.875rem, -0.16667rem + 3.4722222222vw, 1.5rem);
}
.l-wrapper .c-cv__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 1em;
  height: 1em;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22none%22%3E%20%3Cg%20clip-path%3D%22url(%23clip0_175_51)%22%3E%20%3Cpath%20d%3D%22M7.70062%205.13375C8.17122%205.13375%208.55625%205.51878%208.55625%205.98938V11.1231C8.55625%2011.5937%208.17122%2011.9788%207.70062%2011.9788H2.56687C2.09628%2011.9788%201.71125%2011.5937%201.71125%2011.1231V5.98938C1.71125%205.51878%202.09628%205.13375%202.56687%205.13375H7.70062ZM7.70062%203.4225H2.56687C1.15509%203.4225%200%204.57759%200%205.98938V11.1231C0%2012.5349%201.15509%2013.69%202.56687%2013.69H7.70062C9.11241%2013.69%2010.2675%2012.5349%2010.2675%2011.1231V5.98938C10.2675%204.57759%209.11241%203.4225%207.70062%203.4225Z%22%20fill%3D%22black%22%2F%3E%20%3Cpath%20d%3D%22M3.42285%202.56687C3.42285%201.15509%204.57795%200%205.98973%200H11.1235C12.5353%200%2013.6904%201.15509%2013.6904%202.56687V7.70062C13.6904%209.11241%2012.5353%2010.2675%2011.1235%2010.2675V8.55625C11.5941%208.55625%2011.9791%208.17122%2011.9791%207.70062V2.56687C11.9791%202.09628%2011.5941%201.71125%2011.1235%201.71125H5.98973C5.51913%201.71125%205.1341%202.09628%205.1341%202.56687H3.42285Z%22%20fill%3D%22black%22%2F%3E%20%3C%2Fg%3E%20%3Cdefs%3E%20%3CclipPath%20id%3D%22clip0_175_51%22%3E%20%3Crect%20width%3D%2213.69%22%20height%3D%2213.69%22%20fill%3D%22white%22%2F%3E%20%3C%2FclipPath%3E%20%3C%2Fdefs%3E%3C%2Fsvg%3E");
}
@media not all and (pointer: coarse) {
  .l-wrapper .c-cv__link:hover {
    opacity: var(--hover-opacity);
  }
}
.l-wrapper .c-cv__text {
  margin-top: 1em;
  text-align: center;
  font-size: clamp(0.75rem, 0.54167rem + 0.6944444444vw, 0.875rem);
}
@media (min-width: 768px) {
  .l-wrapper .c-cv__inner {
    --inner-content-width: 645px;
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .l-wrapper .c-cv__inner::before, .l-wrapper .c-cv__inner::after {
    top: 50%;
    bottom: inherit;
    transform: translateY(-50%);
  }
  .l-wrapper .c-cv__inner::before {
    left: inherit;
    right: calc(100% + 25px);
    width: 189px;
    height: 195px;
  }
  .l-wrapper .c-cv__inner::after {
    right: inherit;
    left: calc(100% + 34px);
    width: 142px;
    height: 195px;
  }
  .l-wrapper .c-cv__head {
    margin-bottom: 20px;
  }
  .l-wrapper .c-cv__head img {
    width: 645px;
  }
  .l-wrapper .c-cv__link {
    width: 560px;
    height: 80px;
    border-radius: 20px;
    box-shadow: 0px 8px 0px #000;
  }
  .l-wrapper .c-cv__link::after {
    right: 20px;
  }
}

.l-wrapper .c-faq {
  border-top: 1px solid #000;
}
.l-wrapper .c-faq:last-of-type {
  border-bottom: 1px solid #000;
}
.l-wrapper .c-faq[open] .c-faq__toggle::after {
  transform: rotate(0deg);
}
.l-wrapper .c-faq__summary {
  list-style: none;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 10px;
  cursor: pointer;
  transition: opacify 0.3s ease-in;
}
.l-wrapper .c-faq__summary::marker {
  display: none;
}
.l-wrapper .c-faq__summary::-webkit-details-marker {
  display: none;
}
@media not all and (pointer: coarse) {
  .l-wrapper .c-faq__summary:hover {
    opacity: var(--hover-opacity);
  }
}
.l-wrapper .c-faq__label {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #fdd000;
  font-size: 1rem;
}
.l-wrapper .c-faq__label--a {
  background-color: #000;
  color: #fff;
}
.l-wrapper .c-faq__question {
  font-size: 1rem;
}
.l-wrapper .c-faq__toggle {
  position: relative;
  display: inline-block;
  width: 10px;
  height: 10px;
}
.l-wrapper .c-faq__toggle::before, .l-wrapper .c-faq__toggle::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #000;
  transition: transform 0.3s ease-in;
}
.l-wrapper .c-faq__toggle::after {
  transform: rotate(-90deg);
}
.l-wrapper .c-faq__answer {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 10px;
  padding: 0 10px 10px 10px;
}
@media (min-width: 768px) {
  .l-wrapper .c-faq__summary {
    gap: 20px;
    padding: 20px;
  }
  .l-wrapper .c-faq__label {
    width: 60px;
    height: 60px;
    font-size: 1.5rem;
  }
  .l-wrapper .c-faq__question {
    font-size: 1.5rem;
  }
  .l-wrapper .c-faq__toggle {
    width: 20px;
    height: 20px;
  }
  .l-wrapper .c-faq__answer {
    gap: 20px;
    padding: 0 20px 20px 20px;
  }
}

.l-wrapper .c-dot-list__item {
  position: relative;
  line-height: 1.5;
  padding-left: 1.2em;
}
.l-wrapper .c-dot-list__item::before {
  content: "・";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
}

.l-wrapper .c-note-list {
  font-size: clamp(0.625rem, 0.52083rem + 0.3472222222vw, 0.6875rem);
}
.l-wrapper .c-note-list__item {
  position: relative;
  padding-left: 1em;
  text-indent: -1em;
}
.l-wrapper .c-note-list__item::before {
  content: "※";
  width: 1em;
  height: 1em;
}

.l-wrapper .c-table table {
  box-sizing: border-box;
  table-layout: fixed;
  width: 100%;
  border: 1px solid;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 10px;
  overflow: hidden;
  font-size: clamp(0.625rem, 0.20833rem + 1.3888888889vw, 0.875rem);
}
.l-wrapper .c-table tr:not(:last-child) th, .l-wrapper .c-table tr:not(:last-child) td {
  border-bottom: 1px solid;
}
.l-wrapper .c-table th, .l-wrapper .c-table td {
  box-sizing: border-box;
  padding: 10px;
  line-height: 1.5;
}
.l-wrapper .c-table th {
  width: 200px;
  border-right: 1px solid;
  background-color: #f0f0f0;
  vertical-align: middle;
}
.l-wrapper .c-table td > ol li {
  padding-left: 2.5em;
  text-indent: -2.75em;
}
@media (max-width: 767.98px) {
  .l-wrapper .c-table th {
    text-align: center;
  }
}
@media (min-width: 768px) {
  .l-wrapper .c-table {
    table-layout: fixed;
  }
  .l-wrapper .c-table th, .l-wrapper .c-table td {
    padding: 20px 24px;
  }
}

/* ------------------------------
Device-only Break Classes
主にbrで使用することを想定
その場合、ソースコードはbrの後ろで改行しないこと（改行すると不要なスペースが入る）
使用例：
<p>吾輩は<br class="u-only-sp">猫である</p>
------------------------------ */
@media (max-width: 767.98px) {
  .l-wrapper .u-only-sp {
    display: block;
  }
}
@media (min-width: 768px) {
  .l-wrapper .u-only-sp {
    display: none !important;
  }
}

@media (max-width: 767.98px) {
  .l-wrapper .u-only-pc {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .l-wrapper .u-only-pc {
    display: block;
  }
}

/* ------------------------------
Link
------------------------------ */
.l-wrapper .u-link {
  display: block;
}
@media not all and (pointer: coarse) {
  .l-wrapper .u-link:hover {
    opacity: var(--hover-opacity);
  }
}

/* ------------------------------
 Layout
------------------------------ */
.l-wrapper .u-inner {
  box-sizing: border-box;
  width: 100%;
  padding-left: var(--inner-padding);
  padding-right: var(--inner-padding);
}
@media (min-width: 768px) {
  .l-wrapper .u-inner {
    max-width: var(--inner-content-width, 1000px);
    margin: auto;
  }
  .l-wrapper .u-inner--wide {
    --inner-content-width: 1200px;
  }
}
@media (min-width: 1300px) {
  .l-wrapper .u-inner {
    padding-left: 0;
    padding-right: 0;
  }
}