@charset "UTF-8";
.sec-cv {
  --cvbu: min(1px, calc((100vw - 80px) / 1136));
  position: relative;
  padding: 94.992px 0 117px;
  background-color: #F1F2ED;
  font-feature-settings: normal;
  text-spacing-trim: space-all;
  text-autospace: no-autospace;
  line-break: strict;
}
.cv-head {
  width: min(1136px, calc(100% - 80px));
  margin-inline: auto;
  text-align: center;
}
.cv-title {
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: 48px;
  line-height: 1.6;
  letter-spacing: 0;
  text-wrap: balance;
  color: var(--c-text);
}
.cv-title-s { font-size: 40px; }
.cv-title-nb { white-space: nowrap; }
.cv-br-sp { display: none; }
.cv-br-pc { display: none; }
@media (min-width: 1100px) { .cv-br-pc { display: inline; } }
@media (min-width: 768px) {
  .cv-lead { text-wrap: balance; }
}
.cv-lead {
  margin-top: 32.333px;
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.04em;
  color: var(--c-text);
}
.cv-list {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: calc(28 * var(--cvbu));
  width: min(1136px, calc(100% - 80px));
  margin: 56px auto 0;
  padding: 0;
  list-style: none;
}
.cv-item {
  flex: 0 0 auto;
  width: calc(360 * var(--cvbu));
  height: calc(108 * var(--cvbu));
}
.cv-btn {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  box-shadow: 0 4px 4px rgba(0, 0, 0, .25);
  color: #FFFFFF;
  text-decoration: none;
  transition: opacity .2s ease;
}
.cv-item--web  .cv-btn { background-color: var(--c-gold); }
.cv-item--free .cv-btn { background-color: #F0831E; }
.cv-item--ai   .cv-btn { background-color: #1D83DC; }
.cv-btn-shade {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 100%;
  height: 100%;
  max-width: none;
  pointer-events: none;
}
.cv-btn-label {
  position: absolute;
  top: 50%;
  left: calc(50% - 18 * var(--cvbu));
  transform: translate(-50%, -50%);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: max(15px, calc(24 * var(--cvbu)));
  line-height: 1.15;
  letter-spacing: max(0px, calc(1.93 * var(--cvbu)));
  text-align: center;
  text-shadow: 0 2px 4px rgba(0, 0, 0, .25);
  white-space: nowrap;
}
.cv-item--ai .cv-btn-label {
  font-size: max(13.5px, calc(20 * var(--cvbu)));
  letter-spacing: 0;
}
@media (min-width: 847px) {
  .cv-item--ai .cv-btn-label { letter-spacing: calc(1.93 * var(--cvbu)); }
}
.cv-btn-arrow {
  position: absolute;
  top: 50%;
  right: calc(18 * var(--cvbu));
  transform: translateY(-50%);
  width: calc(39 * var(--cvbu));
  height: calc(11.54 * var(--cvbu));
  max-width: none;
  pointer-events: none;
}
@media (hover: hover) {
  .cv-btn:hover { opacity: .85; }
  .cv-pamph-link:hover { opacity: .85; }
}
.cv-btn:focus-visible,
.cv-pamph-link:focus-visible {
  outline: 2px solid #244496;
  outline-offset: 2px;
}
.cv-pamph {
  margin-top: 40px;
  text-align: center;
}
.cv-pamph-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--c-gold);
  color: var(--c-text);
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.02em;
  text-decoration: none;
  transition: opacity .2s ease;
}
.cv-pamph-link::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 100%;
  min-height: 44px;
}
.cv-pamph-arrow {
  flex: 0 0 auto;
  width: 16.45px;
  height: 10.88px;
  max-width: none;
  transform: rotate(90deg);
}
.cv-card {
  width: min(1250px, calc(100% - 30px));
  margin: 61.878px auto 0;
  background: #FFFFFF;
}
.cv-card-inner {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  padding: 67px 40px 0 85px;
  column-gap: 131px;
  row-gap: 40px;
}
.cv-photo {
  flex: none;
  width: 436px;
  height: 513px;
  margin: 0;
}
.cv-photo-frame {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.cv-photo-frame img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}
.cv-profile {
  flex: none;
  width: 481px;
  margin-top: 27px;
}
.cv-role {
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: 32px;
  line-height: 1.6;
  letter-spacing: 0;
  color: var(--c-text);
}
.cv-divider1 {
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 21.6px;
  background: #AAAAAA;
}
.cv-name {
  display: block;
  margin-top: 24px;
  font-family: var(--font-heading);
  font-weight: 400;
  line-height: 1.6;
  color: var(--c-text);
}
.cv-name-title { font-size: 20px; }
.cv-name-main  { font-size: 28px; letter-spacing: 0.04em; }
.cv-divider2 {
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 24px;
  background: #DDDDDD;
}
.cv-school {
  margin-top: 24px;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 16px;
  line-height: 2;
  color: var(--c-text);
}
.cv-quals {
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}
.cv-quals li {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 16px;
  line-height: 2;
  color: var(--c-text);
  text-indent: -1em;
  padding-left: 1em;
}
@media (max-width: 1279px) {
  .cv-card-inner {
    padding-left: 40px;
    justify-content: center;
  }
}
@media (max-width: 767px) {
  .sec-cv {
    --cv-u: min(1px, calc(100vw / 390));
    padding: calc(55.1800625 * var(--cv-u)) 0 calc(72.9609375 * var(--cv-u));
  }
  .cv-head { width: min(342px, calc(100% - 48px)); }
  .cv-title { font-size: calc(29 * var(--cv-u)); }
  .cv-title-s { font-size: calc(21 * var(--cv-u)); }
  .cv-br-sp { display: inline; }
  .cv-lead {
    margin-top: calc(17.74175 * var(--cv-u));
    font-size: max(14px, calc(16 * var(--cv-u)));
    letter-spacing: 0.02em;
    text-align: justify;
    text-align-last: left;
  }
  .cv-list {
    flex-direction: column;
    align-items: center;
    gap: calc(28 * var(--cv-u));
    width: min(342px, calc(100% - 48px));
    margin-top: calc(36 * var(--cv-u));
  }
  .cv-item {
    width: calc(288.5 * var(--cv-u));
    height: calc(86.777 * var(--cv-u));
  }
  .cv-btn-label {
    left: calc(50% - 14 * var(--cv-u));
    font-size: max(15px, calc(17.4 * var(--cv-u)));
    letter-spacing: calc(1.4 * var(--cv-u));
  }
  .cv-item--ai .cv-btn-label {
    font-size: max(15px, calc(15 * var(--cv-u)));
    letter-spacing: 0;
  }
  .cv-btn-arrow {
    right: calc(14 * var(--cv-u));
    width: calc(31 * var(--cv-u));
    height: calc(9.17 * var(--cv-u));
  }
  .cv-pamph { margin-top: calc(32 * var(--cv-u)); }
  .cv-pamph-link { font-size: max(14px, calc(15 * var(--cv-u))); gap: calc(10 * var(--cv-u)); }
  .cv-card {
    width: 100%;
    margin-top: calc(45.336 * var(--cv-u));
  }
  .cv-card-inner {
    display: block;
    width: calc(342 * var(--cv-u));
    max-width: 100%;
    margin-inline: auto;
    padding: calc(28 * var(--cv-u)) 0 calc(32 * var(--cv-u));
  }
  .cv-photo {
    width: calc(312.9766 * var(--cv-u));
    height: calc(368.25 * var(--cv-u));
    margin-inline: auto;
  }
  .cv-profile {
    width: 100%;
    margin-top: calc(16.75 * var(--cv-u));
  }
  .cv-role { font-size: calc(24 * var(--cv-u)); }
  .cv-name { margin-top: calc(18 * var(--cv-u)); }
  .cv-name-title { font-size: calc(16 * var(--cv-u)); }
  .cv-name-main { font-size: calc(22 * var(--cv-u)); }
  .cv-divider2 { margin-top: calc(18 * var(--cv-u)); }
  .cv-school { margin-top: calc(18 * var(--cv-u)); font-size: calc(15 * var(--cv-u)); }
  .cv-quals li { font-size: calc(15 * var(--cv-u)); }
}
