@charset "UTF-8";
/*=======================================

  こちらにLPページの個別cssを記述してください。

  =======================================*/
  /*****************************************
共通
******************************************/
:root {
  --main-color: #C90A0A;
  --sub-color: #F2F2F2;
  --main-bg-color: #F9DCDD;
  --text-color: #222222;
  --accent-color: #DA5454;
}
/*****************************************
横スクロール防止
******************************************/
html,
body {
  overflow-x: clip;
}
img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
/* h2吹き出し */
.section-title--a::before,
.section-title--a::after {
  top: 63%;
  background-image: url("/alumni/images/title-deco-a.png");
}
.section-title--a._white::before,
.section-title--a._white::after {
  background-image: url("/alumni/images/title-deco-a_white.png");
}
/* セクション */
.section-sub-text {
  width: min(1000px, calc(100% - 40px));
}
@media screen and (max-width: 767px) {
  .section-sub-text {
    width: 100%;
  }
}
.cnt-wrap {
  width: min(1000px, calc(100% - 40px));
  position: relative;
}
@media screen and (max-width: 767px) {
  .cnt-wrap {
    width: calc(100% - 10px);
  }
}

@media screen and (max-width: 1080px) {
  .sp-only.alumni-only {
    display: block;
}
}
.fv-copy::before {
  background-image: url("/alumni/images/fv-title-icon-return.png")
}
.fv::after {
  background-image: url("/interview/images/deco-bg_pc.png");
}
@media (max-width: 767px) {
  .fv::after {
    background-image: url("/interview/images/deco-bg_sp.png");
  }
}
/* 波背景 */
.cnt-bg-wave::before {
  background-image: url("/interview/images/ba-curve-bg.png");
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .cnt-bg-wave::before {
    background-image: url("/interview/images/ba-curve-bg_sp.png");
  }
}
.cnt-bg-wave::after {
  background-color: var(--main-bg-color);
}
/* 背景 */
section .sec-wrap .section-title {
  color: var(--main-color);
}
section .sec-wrap .cnt-bg {
  position: relative;
  overflow: visible;
}
section .sec-wrap .cnt-bg-inner {
  background: var(--sub-color);
  z-index: 2;
  height: 100%;
}
section:nth-of-type(even) .sec-wrap .cnt-bg-inner {
  background: var(--main-color);
}
section:nth-of-type(even) .sec-wrap .section-title, section:nth-of-type(even) .sec-wrap * {
  color: #ffffff;
}
section .sec-wrap .cnt-bg .cnt {
  position: relative;
  z-index: 2;
}
section .sec-wrap .cnt-wrap:not(:first-of-type) {
  margin-top: 60px !important;
}
@media screen and (max-width: 767px) {
  section .sec-wrap .cnt-wrap:not(:first-of-type) {
    margin-top: 20px !important;
  }
}

section:nth-of-type(even) .cnt-section {
  position: relative;
  z-index: 10;
}
/* section:nth-of-type(even) .cnt-section::before {
  content: "";
  position: absolute;
  display: inline-block;
  background-image: url(/data/images/bg-deco-circle-triangle01.png);
  aspect-ratio: 230 / 501;
  width: 230px;
  background-size: contain;
  background-repeat: no-repeat;
  right: 0;
  top: 0;
  transform: translateY(-100%);
  z-index: 1;
}
@media screen and (max-width: 1400px) {
  section:nth-of-type(even) .cnt-section::before {
    width: 16vw;
  }
} */
/*****************************************
alumni-faq 500px以下 レイヤー調整
******************************************/
@media screen and (max-width: 500px) {
  .alumni-faq {
    position: relative;
    z-index: 20;
  }

  .alumni-faq .cnt-bg {
    position: relative;
    isolation: isolate;
  }

  .alumni-faq .cnt-bg-inner {
    z-index: 0;
  }

  .alumni-faq .cnt {
    position: relative;
    z-index: auto;
  }

  .alumni-faq .cnt-section {
    position: relative;
    z-index: auto;
  }

  section:nth-of-type(even).alumni-faq .cnt-section::before {
    width: 64px;
    top: -10%;
    z-index: 1;
  }

  .alumni-faq .cnt-bg::before {
    z-index: 2;
  }

  .alumni-faq .cnt-head,
  .alumni-faq .cnt-body {
    position: relative;
    z-index: 3;
  }
}
/* @media screen and (max-width: 1260px) {
  section:nth-of-type(even) .cnt-section::before {
    display: none;
  }
} */

/*****************************************
alumni共通
******************************************/
.fv-subcopy {
  white-space: nowrap;
}
.fv-lead-text {
  text-align: center;
  font-size: 16px;
}

.alumni-comeback-callout {
  position: absolute;
  top: 38%;
  left: calc(50% + 48px);
  right: auto;
  width: 200px;
  height: 200px;
  transform: translateY(-50%);
  z-index: 5;
}
@media screen and (max-width: 767px) {
  .alumni-comeback-callout {
    top: 10.2%;
    left: 50%;
    right: auto;
    width: 170px;
    height: 61px;
    transform: none;
}
}

@media screen and (max-width: 767px) {
  .fv-character-left {
    left: auto;
		right: 15px;
		bottom: auto;
		top: 120px;
		width: 108px;
		transform: scaleX(-1);
}
}

@media screen and (max-width: 1200px) {
  .fv-lead .sp-only._alumni {
    display: block;
}
}

.cnt-alumni.alumni02.sec-wrap {
  position: relative;
  padding-bottom: 112px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .cnt-alumni.alumni02.sec-wrap {
  padding-bottom: 129px;
}
}

.cnt-alumni.alumni02.sec-wrap::before {
  content: "";
  position: absolute;
  top: -32px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 128px;
  background: url("/alumni/images/bg-pattern-grid_gray.png") repeat center;
  background-size: 32px auto;
  pointer-events: none;
  z-index: 0;
}


.cnt-alumni.sec-wrap {
  position: relative;
  z-index: 2;
}
.cnt-alumni .cnt-wrap {
  padding: 0;
  background-color: transparent;
}
.cnt-alumni .cnt-wrap .cnt-wrap-inner {
  padding: 0;
}
.cnt-alumni .cnt-section {
  padding-top: 80px;
}
@media screen and (max-width: 767px) {
  .cnt-alumni .cnt-section {
    padding-top: 45px;
  }
}

/*****************************************
alumni
******************************************/
.alumni.sec-wrap {
  margin-top: 40px;
  margin-bottom: -80px;
  padding-bottom: 0;
}
.alumni .cnt-section {
  padding-bottom: 150px;
}


/*****************************************
then-now 共通
******************************************/
section:nth-of-type(even) .cnt-alumni.alumni02.sec-wrap .cnt-section::before {
  content: none;
}

@media screen and (max-width: 840px) {
  .cnt-body:has(.then-now) {
    padding: 0 15px;
  }
}

.then-now {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 64px 50px 40px;
  border-radius: 60px;
  background-color: #fff;
}

/*****************************************
外側装飾
画面幅に合わせて比率を維持して縮小
******************************************/
.then-now::before {
  content: "";
  position: absolute;
  top: -11%;
  left: -2.5%;
  z-index: 2;
  width: clamp(150px, 18vw, 257px);
  height: auto;
  aspect-ratio: 257 / 236;
  background: url(/alumni/images/deco-chara_egg.png) no-repeat center;
  background-size: contain;
  pointer-events: none;
}

.then-now::after {
  content: "";
  position: absolute;
  top: -8%;
  right: -10%;
  z-index: 2;
  width: clamp(160px, 20vw, 280px);
  height: auto;
  aspect-ratio: 280 / 257;
  background: url(/lp_common/lp_common_img/deco-chara-ebi.png) no-repeat center;
  background-size: contain;
  pointer-events: none;
}

/*****************************************
以前・今 共通
******************************************/
.then,
.now {
  position: relative;
  flex: 0 1 480px;
  width: min(480px, 46%);
  height: auto;
  min-width: 0;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
}

.then {
  background-color: #E8F3FA;
}

.now {
  margin-left: -55px;
  background-color: #FBEAEA;
}

.then-content-wrapper,
.now-content-wrapper {
  position: relative;
  width: 71%;
  height: 100%;
  margin: 0 auto;
  padding-top: 11%;
}

/*****************************************
タイトル
******************************************/
.then-title,
.now-title {
  position: absolute;
  left: 50%;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: clamp(18px, 2.1vw, 26px);
  font-weight: bold;
  line-height: 1;
  text-align: center;
  transform: translateX(-50%);
}

.then-title {
  top: 2%;
  z-index: 5;
  font-size: clamp(18px, 2.1vw, 26px);
  text-align: center;
  transform: translateX(-50%);
}

.now-title {
  top: 0;
  font-size: 36px;
}

.then-title::before,
.now-title::before {
  content: "";
  position: absolute;
  z-index: -1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.then-title::before {
  width: clamp(80px, 12vw, 128px);
  aspect-ratio: 128 / 94;
  background-image: url(/alumni/images/then-now-triangle.png);
}

.now-title::before {
  width: clamp(80px, 12vw, 128px);
  aspect-ratio: 128 / 94;
  background-image: url(/alumni/images/then-now-circle.png);
}

/*****************************************
リスト
******************************************/
.then-list,
.now-list {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 78%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.then-item,
.now-item {
  display: flex;
  align-items: center;
  min-width: 0;
}

.then-item {
  flex-direction: row-reverse;
  justify-content: flex-start;
  width: fit-content;
  max-width: 100%;
  margin-left: auto;
}

.now-item {
  justify-content: flex-start;
}

/*****************************************
アイコン
******************************************/
.then-now-img-wrap {
  position: relative;
  z-index: 5;
  flex: 0 0 clamp(65px, 9vw, 100px);
  width: 100px;
  aspect-ratio: 1 / 1;
}

.then-now-img-wrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/*****************************************
以前 テキスト
******************************************/
.then-text {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #111 !important;
  font-size: clamp(16px, 1.7vw, 20px) !important;
  font-weight: bold !important;
  line-height: 1.2 !important;
  text-align: left;
  white-space: nowrap;
}

/*****************************************
以前 黄色アンダーバー 共通
******************************************/
.then-text::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: min(244px, 130%);
  aspect-ratio: 244 / 41;
  background: url(/alumni/images/then-now-under.png) no-repeat center;
  background-size: contain;
  transform: translateY(-50%);
  pointer-events: none;
}

/*****************************************
以前 黄色アンダーバー 個別
******************************************/
.then-item:nth-child(1) .then-text::before {
  right: -10%;
  bottom: -65%;
}

.then-item:nth-child(2) .then-text::before {
  right: 0;
  bottom: -200%;
  left: auto;
  width: 130px;
  height: 33px;
  background-image: url(/alumni/images/then-now-under-one.png);
  background-size: contain;
}

.then-item:nth-child(3) .then-text::before {
  bottom: -200%;
  left: 0;
}

/*****************************************
今 テキスト
******************************************/
.now-text-wrap {
  display: flex;
  align-items: flex-end;
  min-width: 0;
}

.now-text {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #C90A0A !important;
  font-size: clamp(22px, 2vw, 24px) !important;
  font-weight: bold !important;
  line-height: 1.1 !important;
  text-align: left;
  white-space: nowrap;
}

/*****************************************
今 黄色アンダーバー 共通
******************************************/
.now-text::before {
  content: "";
  position: absolute;
  left: -10%;
  z-index: -1;
  width: min(244px, 130%);
  aspect-ratio: 244 / 41;
  background: url(/alumni/images/then-now-under.png) no-repeat center;
  background-size: contain;
  transform: translateY(-50%);
  pointer-events: none;
}

/*****************************************
今 黄色アンダーバー 個別
******************************************/
.now-item:nth-child(1) .now-text::before {
  bottom: -150%;
  left: 0;
  width: 167px;
  height: 33px;
  aspect-ratio: auto;
  background: url(/alumni/images/then-now-under-one_long.png) no-repeat center;
  background-size: contain;
}

.now-item:nth-child(2) .now-text::before {
  bottom: -90%;
  left: -5%;
}

.now-item:nth-child(3) .now-text::before {
  bottom: -20%;
  left: 0;
  width: 227px;
  height: 41px;
  aspect-ratio: auto;
  background: url(/alumni/images/then-now-under.png) no-repeat center;
  background-size: cover;
}

.now-text._one::before {
  left: 0;
  background-image: url(/alumni/images/then-now-under-one.png);
}

/*****************************************
今 効果線 共通
******************************************/
.now-text::after {
  content: "";
  position: absolute;
  z-index: 2;
  width: clamp(24px, 4vw, 40px);
  aspect-ratio: 40 / 18;
  background: url(/alumni/images/then-now-effect.png) no-repeat center;
  background-size: contain;
  pointer-events: none;
}

/*****************************************
今 効果線 個別
******************************************/
.now-item:nth-child(1) .now-text::after {
  top: -70%;
  right: -8%;
}

.now-item:nth-child(2) .now-text::after {
  top: -40%;
  right: -15%;
}

.now-item:nth-child(3) .now-text::after {
  top: -23%;
  right: -5%;
}

.now-text-wrap span {
  position: relative;
  z-index: 5;
  flex-shrink: 0;
  color: #111 !important;
  font-size: 14px !important;
  line-height: 1.2;
}

/*****************************************
矢印
840pxに向けて滑らかに縮小
******************************************/
.then-now-arrows {
  position: absolute;
  top: 52.5%;
  left: 49.5%;
  z-index: 10;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(
    58px,
    calc(58px + (100vw - 840px) * 0.0393),
    80px
  );
  width: clamp(
    60px,
    calc(60px + (100vw - 840px) * 0.0179),
    70px
  );
  height: clamp(
    255px,
    calc(255px + (100vw - 840px) * 0.0625),
    290px
  );
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.then-now-arrows img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
}

/*****************************************
840px以下
******************************************/
@media screen and (max-width: 840px) {
  .then-now {
    align-items: flex-end;
    justify-content: center;
    width: 100%;
    margin: 0 auto;
    padding: 58px 11px 56px;
    border-radius: 20px;
    background-color: #fff;
    overflow: visible;
  }

  /*****************************************
  外側装飾
  ******************************************/
  .then-now::before {
    top: auto;
    bottom: 10px;
    left: 8px;
    width: clamp(82px, 34vw, 133px);
    height: auto;
    aspect-ratio: 257 / 236;
  }

  .then-now::after {
    top: auto;
    right: 6px;
    bottom: 6px;
    width: clamp(88px, 37vw, 145px);
    height: auto;
    aspect-ratio: 280 / 257;
  }

  /*****************************************
  縦長カプセル
  下位置を揃え、赤だけ上に高く出す
  ******************************************/
  .then,
  .now {
    flex: 0 0 calc(50% - 2px);
    width: calc(50% - 2px);
    height: auto;
    aspect-ratio: auto;
    border-radius: 40px;
  }

  .then {
    min-height: 691px;
    margin-top: 0;
    background-color: #E8F3FA;
  }

  .now {
    min-height: 711px;
    margin-top: 0;
    margin-left: 0;
    background-color: #FBEAEA;
  }

  .then-content-wrapper {
    width: 100%;
    height: 100%;
    padding: 51px 0 0;
  }

  .now-content-wrapper {
    width: 100%;
    height: 100%;
    padding: 61px 0 0;
  }

  /*****************************************
  タイトル
  ******************************************/
  .then-title,
  .now-title {
    left: 50%;
    z-index: 5;
    transform: translateX(-50%);
  }

  .then-title {
    top: -10px;
    font-size: 24px;
  }

  .now-title {
    top: 0;
    font-size: 30px;
  }

  .then-title::before {
    top: -20px;
    width: 98px;
  }

  .now-title::before {
    width: 91px;
    aspect-ratio: 1 / 1;
  }

  /*****************************************
  リスト
  ******************************************/
  .then-list,
  .now-list {
    justify-content: flex-start;
    width: 100%;
    padding: 0 10px;
  }

  .then-list {
    gap: 38px;
  }

  .now-list {
    gap: 42px;
  }

  .then-item,
  .now-item {
    flex-direction: column;
    justify-content: flex-start;
    width: 100%;
    min-height: 125px;
    gap: 4px;
  }

  .then-item {
    align-items: center;
    margin-left: 0;
  }

  .then-item:nth-of-type(2) {
    margin-bottom: 15px;
  }

  .now-item {
    align-items: center;
  }

  /*****************************************
  左右のアイコン・文字の高さ合わせ
  ******************************************/
  .now-item:nth-child(1) {
    transform: translateY(0);
  }

  .now-item:nth-child(2) {
    transform: translateY(-14px);
  }

  .now-item:nth-child(3) {
    transform: translateY(-45px);
  }

  /*****************************************
  アイコン
  ******************************************/
  .then-now-img-wrap {
    width: 100px;
    height: auto;
    aspect-ratio: 1 / 1;
  }

  /*****************************************
  以前 テキスト
  ******************************************/
  .then-text {
    max-width: 100%;
    margin-top: 2px;
    font-size: 16px !important;
    line-height: 1.25 !important;
    text-align: center;
  }

  /*****************************************
  以前 黄色アンダーライン 共通
  ******************************************/
  .then-text::before {
    content: "";
    position: absolute;
    right: auto;
    left: 50%;
    width: 120px;
    transform: translateX(-50%);
  }

  /*****************************************
  以前 黄色アンダーライン 個別
  ******************************************/
  .then-item:nth-child(1) .then-text::before {
    bottom: -21px;
    background: url(/alumni/images/then-now-under.png) no-repeat center;
    background-size: contain;
  }

  .then-item:nth-child(2) .then-text::before {
    bottom: -21px;
    left: 50%;
    width: 120px;
    background: url(/alumni/images/then-now-under.png) no-repeat center;
    background-size: contain;
  }

  .then-item:nth-child(3) .then-text::before {
    bottom: -21px;
    left: 50%;
    background: url(/alumni/images/then-now-under.png) no-repeat center;
    background-size: contain;
  }

  /*****************************************
  今 テキスト
  ******************************************/
  .now-text-wrap {
    flex-direction: column;
    align-items: center;
  }

  .now-text {
    max-width: 100%;
    margin-top: 2px;
    font-size: 20px !important;
    line-height: 1.1 !important;
    text-align: center;
    white-space: wrap;
    letter-spacing: -0.05em !important;
  }

  .now-text::before,
  .now-text._one::before {
    left: 50%;
    width: 82px;
    transform: translateX(-50%);
  }

  .now-item:nth-child(1) .now-text::before {
    bottom: -30px;
    left: 50%;
    width: 131px;
  }

  .now-item:nth-child(2) .now-text::before {
    bottom: -14px;
    left: 50%;
    width: 131px;
    height: 26px;
    background: url(/alumni/images/then-now-under-one_long.png) no-repeat center;
    background-size: contain;
  }

  .now-item:nth-child(3) .now-text::before {
    bottom: -14px;
    left: 50%;
    width: 131px;
    height: 26px;
    background: url(/alumni/images/then-now-under-one_long.png) no-repeat center;
    background-size: contain;
  }

  .now-text::after {
    width: 26px;
  }

  .now-item:nth-child(1) .now-text::after {
    top: -12px;
    right: -18px;
    width: 25px;
  }

  .now-item:nth-child(2) .now-text::after {
    top: -11px;
    right: -12px;
  }

  .now-item:nth-child(3) .now-text::after {
    top: -10px;
    right: -12px;
  }

  .now-text-wrap span {
    margin: 2px 0 0;
    font-size: 8px;
  }

  /*****************************************
  矢印
  左右各段の高さに合わせる
  ******************************************/
  .then-now-arrows {
    top: 119px;
    left: 50%;
    display: grid;
    grid-template-rows: repeat(3, 125px);
    row-gap: 58px;
    align-items: center;
    width: 60px;
    height: auto;
    transform: translateX(-50%);
  }

  .then-now-arrows img {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    margin: 0 auto;
  }
}

/*****************************************
alumni02
******************************************/
section .alumni02.sec-wrap .cnt-bg::before {
  display: none;
}
.alumni02.sec-wrap {
  position: relative;
  margin-top: 0;
}


/*****************************************
work-style
******************************************/

.work-style .cnt-bg {
  position: relative;
}
.work-style .cnt-bg::before {
  content: "";
  position: absolute;
  display: inline-block;
  background-image: url(/alumni/images/bg-deco-circle01.png);
  aspect-ratio: 1 / 1;
  width: 328px;
  background-size: contain;
  right: max(-150px, calc((100vw - 1000px) / 2 - 150px));
  z-index: -1;
  top: -10%;
}
@media screen and (max-width: 767px) {
  .work-style .cnt-bg::before {
    width: 172px;
    right: -40px;
    top: -30px;
}
}
.work-style .cnt-bg::before {
  content: "";
  position: absolute;
  display: inline-block;
  background-image: url(/alumni/images/bg-deco-circle01.png);
  aspect-ratio: 1 / 1;
  width: 328px;
  background-size: contain;
  right: max(-150px, calc((100vw - 1000px) / 2 - 150px));
  z-index: -1;
  top: -10%;
}
@media screen and (max-width: 767px) {
  .work-style .cnt-bg::before {
    width: 172px;
    right: -40px;
    top: -30px;
}
}
.work-style .cnt-bg::after {
  content: "";
  position: absolute;
  display: inline-block;
  background-image: url(/alumni/images/bg-deco-triangle01.png);
  background-repeat: no-repeat;
  aspect-ratio: 1 / 1;
  width: 171px;
  background-size: contain;
  right: max(-150px, calc((100vw - 1000px) / 2 - 150px));
  z-index: -1;
  bottom: -80px;
}
@media screen and (max-width: 767px) {
  .work-style .cnt-bg::after {
    width: 66px;
    right: 0;
    bottom: -4%;
}
}

.work-style .cnt-wrap-inner p {
  font-size: 14px;
  padding: 5px 15px;
}

.work-style.sec-wrap {
  position: relative;
  z-index: 2;
  margin: 40px 0 32px;
  padding-bottom: 90px;
}

@media screen and (max-width: 767px) {
  .work-style.sec-wrap {
    padding-bottom: 80px;
  }

  .work-style.sec-wrap::before {
    width: 123px;
    right: auto;
    left: 40px;
    transform: scaleX(-1);
  }

  .work-style.sec-wrap .cnt-wrap-inner::before {
    width: 60px;
  }

  .work-style.sec-wrap::after {
    content: "";
    position: absolute;
    display: inline-block;
    background-image: url(/alumni/images/bg-deco-triangle03.png);
    aspect-ratio: 69 / 66;
    width: 35px;
    top: -68px;
    right: 5px;
    background-size: contain;
    background-repeat: no-repeat;
}
}

.work-style .cnt-section {
  padding: 64px 0 60px;
}
@media screen and (max-width: 767px) {
  .work-style .cnt-section {
  padding: 40px 0 60px;
}
}

.work-style .cnt-body {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .work-style .cnt-body {
  margin-top: 20px;
}
}

.work-style .cnt-wrap {
  background: transparent;
}

.work-style .cnt-wrap-inner {
  padding: 0;
}

.work-style-cards {
  width: 100%;
}

.work-style-cards-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 32px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.work-style-cards-item {
  display: flex;
  min-width: 0;
}

.work-style-card {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: 410px;
  padding: 30px;
  border: 6px solid #525252;
  border-radius: 20px;
  background-color: #fff;
}

.work-style-card-title {
  position: relative;
  z-index: 1;
  align-self: center;
  margin: 0;
  color: var(--main-color);
  font-size: 26px !important;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
}

.work-style-card-title::before {
  content: "";
  position: absolute;
  z-index: -1;
  right: -3px;
  bottom: 0;
  left: -3px;
  height: 10px;
  background-color: #fff200;
}

.work-style-card-image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 235px;
  margin-top: 8px;
}

.work-style-card-image img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 100%;
  height: auto;
  object-fit: contain;
}

.work-style-card-text {
  margin: 0;
  color: #222;
  font-size: 18px !important;
  font-weight: normal;
  line-height: 1.45 !important;
  text-align: left;
  padding: 0 0 20px 0 !important;
}

.work-style-card-tag {
  align-self: flex-start;
  margin: auto 0 0 !important;
  padding: 5px 15px;
  border: 1px solid #aaa;
  border-radius: 50vh;
  color: #707070 !important;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.2;
  white-space: nowrap;
}

/*****************************************
work-style SP
******************************************/
@media screen and (max-width: 767px) {
  .work-style-cards-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .work-style-cards-item {
    display: flex;
    width: 100%;
  }

  .work-style-card {
    width: 100%;
    height: 100%;
    min-height: 320px;
    padding: 30px;
    border-radius: 20px;
  }

  .work-style-card-title {
    font-size: 18px;
    line-height: 1.3;
    margin-bottom: 10px;
  }

  .work-style-card-title::before {
    right: -3px;
    left: -3px;
  }

  .work-style-card-image {
    width: 200px;
    height: 208px;
    margin: 0 auto;
  }

  .work-style-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .work-style-card-text {
    margin: 10px 0 0 0;
  }

  .work-style-card-tag {
    align-self: flex-start;
    margin: auto 0 0;
    padding: 4px 12px;
    font-size: 10px;
    line-height: 1.2;
  }
}

/*****************************************
alumni-voice
******************************************/
section:has(.alumni-voice) {
  position: relative;
  z-index: 30;
  overflow: visible;
}

.alumni-voice.sec-wrap {
  position: relative;
  z-index: 30;
  overflow: visible;
  padding-bottom: 112px;
}
.alumni-voice.sec-wrap::after {
  content: "";
  position: absolute;
  display: inline-block;
  background-image: url(/alumni/images/bg-deco-circle-triangle01.png);
  aspect-ratio: 230 / 501;
  width: 230px;
  background-size: contain;
  background-repeat: no-repeat;
  right: 0;
  bottom: 30px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .alumni-voice.sec-wrap::after {
  width: 64px;
  z-index: 50;
}
}

/*****************************************
alumni-voice 装飾
******************************************/
.alumni-voice .alumni-voice-deco-item {
  position: absolute !important;
  top: clamp(-270px, calc(-270px + (100vw - 768px) * 0.0633), -230px);
  left: 0;
  z-index: 50 !important;
  display: block;
  visibility: visible;
  width: clamp(210px, calc(100vw * 297 / 1400), 297px);
  height: auto;
  opacity: 1;
  transform: translate(-8%, -10%);
  overflow: visible;
  pointer-events: none;
}

.alumni-voice .alumni-voice-deco-item img {
  display: block;
  visibility: visible;
  width: 100%;
  height: auto;
  opacity: 1;
}

/*****************************************
alumni-voice SP
******************************************/
@media screen and (max-width: 767px) {
  section:has(.alumni-voice) {
    position: relative;
    z-index: 30;
    overflow: visible;
  }

  .alumni-voice.sec-wrap {
    position: relative;
    z-index: 30;
    padding-bottom: 112px;
    overflow: visible;
  }

  .alumni-voice .alumni-voice-deco-item {
    top: -270px;
    left: 0;
    z-index: 50 !important;
    width: 210px;
    transform: translate(-10%, 30%);
  }
}

@media screen and (max-width: 767px) {
  .alumni-voice .cnt-body {
    margin-top: 45px;
    padding: 0;
  }
}

.alumni-voice.cnt-bg {
  position: relative;
}

.alumni-voice.cnt-section {
  position: 65px 0 78px;
}

.alumni-voice .cnt-wrap {
  width: min(1000px, calc(100% - 40px));
  background-color: transparent;
}

.alumni-voice .cnt-wrap-inner {
  padding: 0;
}

.alumni-voice .cnt-wrap-inner p {
  line-height: 1.5;
  font-weight: bold;
  text-align: center;
  font-size: 24px;
}

.alumni-voice .cnt-wrap-inner p + p {
  margin-top: 10px;
  font-size: 16px;
}

/*****************************************
alumni-voice 背景
※既存の指定を変更しない
******************************************/
.alumni-voice .cnt-bg {
  position: relative;
}

.alumni-voice .cnt-bg::before {
  content: "";
  position: absolute;
  top: -32px;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% + 40px);
  height: 128px;
  background: url("/alumni/images/bg-pattern-grid_red.png") repeat center;
  background-size: 32px auto;
  pointer-events: none;
  z-index: 0;
}

.alumni-voice .cnt-bg-inner {
  background: #F2F2F2;
}

/*****************************************
alumni-voice contents
******************************************/
.alumni-voice-contents {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

/*****************************************
alumni-voice カード一覧
******************************************/
.alumni-voice-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 80px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.alumni-voice-list-item {
  position: relative;
  display: flex;
  min-width: 0;
}

/*****************************************
おかえりラベル
******************************************/
.alumni-voice .cnt-wrap-inner .alumni-voice-list-return {
  position: absolute;
  z-index: 2;
  top: -25px;
  left: 0;
  width: 114px;
  height: 76px;
  min-height: 75px;
  margin: 0;
  padding-top: 6px;
  background-image: url("/jobfind-pc/original/images/voice_return.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
}

/*****************************************
alumni-voice カード
******************************************/
.alumni-voice-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 460px;
  min-height: 560px;
  padding: 30px;
  overflow: hidden;
  border: 6px solid var(--main-color);
  border-radius: 15px;
  background-color: #fff;
  color: #111;
  text-decoration: none;
}

.alumni-voice-card-img-wrapper {
  width: 100%;
  height: 320px;
  overflow: hidden;
  border-radius: 10px;
}

.alumni-voice-card-img-wrapper img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.alumni-voice-card-body {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
}

.alumni-voice-card-text-wrapper {
  display: flex;
  flex: 1;
  flex-direction: column;
  width: 100%;
  margin-top: 15px;
}

.alumni-voice-card-text,
.alumni-voice-card-name {
  margin: 0;
  font-weight: bold;
  text-align: center !important;
}

.alumni-voice-card-text {
  font-size: 24px;
  line-height: 1.5;
}

.alumni-voice-card-name {
  margin-top: 10px;
  font-size: 16px;
  line-height: 1.5;
}

/*****************************************
詳しく見る
******************************************/
.alumni-voice-card-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 40px;
  margin-top: 20px;
  border-radius: 20px;
  background-color: #C90A0A;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  transition: 0.2s;
}

.alumni-voice-card-link:hover {
  background-color: #f3a0a0;
}

.alumni-voice-card-link span {
  position: relative;
  padding-right: 20px;
}

.alumni-voice-card-link span::before {
  content: "";
  position: absolute;
  top: 48%;
  right: -5px;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 7px solid #fff;
  transform: translateY(-50%);
}

/*****************************************
alumni-voice SP
******************************************/
@media screen and (max-width: 767px) {
  .alumni-voice .cnt-wrap {
    width: 100%;
  }

  .alumni-voice .cnt-wrap-inner,
  .alumni-voice-contents {
    width: 100%;
  }

  .alumni-voice-contents {
    padding: 0 30px 0 15px;
    max-width: none;
  }

  .alumni-voice-list {
    display: flex;
    flex-direction: column;
    gap: 45px;
    max-width: 330px;
    margin: 0 auto;
  }

  .alumni-voice-list-item {
    display: flex;
    width: 100%;
    min-width: 0;
  }

  .alumni-voice .cnt-wrap-inner .alumni-voice-list-return {
    top: -28px;
    left: 0px;
    font-size: 12px;
    line-height: 1.1;
  }

  .alumni-voice-card {
    width: 100%;
    max-width: none;
    min-height: 0;
    border-radius: 20px;
  }

  .alumni-voice-card-img-wrapper {
    width: 100%;
    height: 216px;
  }

  .alumni-voice-card-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 30%;
  }

  .alumni-voice-card-body {
    flex: 1;
  }

  .alumni-voice-card-text-wrapper {
    flex: 1;
    margin-top: 10px;
    white-space: nowrap;
  }

  .alumni-voice-card-text {
    font-size: 22px !important;
  }

  .alumni-voice-card-name {
    font-size: 16px !important;
    text-align: center !important;
  }

  .alumni-voice-card-link {
    height: 40px;
    margin-top: 20px;
    border-radius: 50vh;
  }

  .alumni-voice-card-link span {
    padding-right: 12px;
  }

  .alumni-voice-card-link span::before {
    font-size: 7px;
  }
}

/*****************************************
alumni-faq
******************************************/
@media screen and (max-width: 1060px) {
  .freeHead > section:nth-of-type(even).alumni-faq .cnt-wrap {
    margin: 0 12px 0 auto;
  }
}

@media screen and (max-width: 767px) {
  .freeHead > section:nth-of-type(even).alumni-faq .cnt-wrap {
    margin: 0 0 0 12px;
  }
}


.alumni-faq {
  margin-bottom: 150px;
}

.alumni-faq .section-title {
  margin-bottom: 40px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .alumni-faq .section-title {
  margin-bottom: 20px;
}
}

.alumni-faq .cnt-bg {
  position: relative;
}


/*****************************************
既存 .faq .cnt-bg::before の内容は変更なし
******************************************/
.alumni-faq .cnt-bg::before {
  content: "";
  position: absolute;
  top: -32px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 128px;
  background: url("/alumni/images/bg-pattern-grid_gray.png") repeat center;
  background-size: 32px auto;
  pointer-events: none;
  z-index: 0;
}

.alumni-faq .cnt-bg-inner {
  background-color: var(--main-color);
}

.alumni-faq .cnt-body {
  margin-top: 0;
  padding: 0;
}

.alumni-faq .cnt-wrap {
  width: min(1000px, calc(100% - 40px));
  background-color: transparent;
}

.alumni-faq .cnt-wrap-inner {
  padding: 0;
}

.alumni-faq .cnt-section {
  padding: 40px 0;
}

.alumni-faq-entry {
  margin-bottom: 80px;
}

.alumni-faq-entry dl {
  margin: 0;
}

/*****************************************
FAQ item
******************************************/
.alumni-faq-item {
  position: relative;
  margin-bottom: 10px;
  padding: 20px 24px;
  overflow: hidden;
  border: 4px solid #525252;
  border-radius: 20px;
  background-color: #f8f8f8;
}

.alumni-faq-item:last-child {
  margin-bottom: 0;
}

/*****************************************
質問・回答 共通
******************************************/
.alumni-faq-question,
.alumni-faq-answer {
  position: relative;
  margin: 0;
  background-color: transparent;
}

/*****************************************
質問
******************************************/
.alumni-faq-question {
  display: flex;
  align-items: stretch;
}

/*****************************************
回答
******************************************/
.alumni-faq-answer {
  display: block !important;
  padding: 0;
  overflow: hidden;
}

.alumni-faq-answer-inner {
  display: flex;
  align-items: stretch;
}

/*****************************************
Q / A
******************************************/
.alumni-faq-question > span,
.alumni-faq-answer-inner > span {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 24px;
  width: 24px;
  margin-right: 27px;

  font-size: 30px;
  font-weight: bold;
}

.alumni-faq-question > span {
  color: var(--main-color);
}

.alumni-faq-answer-inner > span {
  color: #777;
}

/*****************************************
質問文・回答文
******************************************/
.alumni-faq-question > p,
.alumni-faq-answer-inner > p {
  position: relative;
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
  margin: 0;
  padding-left: 32px;
  text-align: left;
}

.alumni-faq-question > p {
  font-size: 20px;
  font-weight: bold;
}

.alumni-faq-answer-inner > p {
  font-size: 16px;
  line-height: 1.8;
}

/*****************************************
Q / A 横の区切り線
******************************************/
.alumni-faq-question > p::before,
.alumni-faq-answer-inner > p::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 1px;
  height: 30px;
  background-color: #999;
  transform: translateY(-50%);
}

/*****************************************
FAQ タイトル装飾位置
******************************************/
.alumni-faq .section-title--a {
  position: relative;
}

.alumni-faq .section-title--a::before,
.alumni-faq .section-title--a::after {
  top: auto;
  bottom: 0;
  background-position: center bottom;
}

.alumni-faq .section-title--a::before {
  transform: none;
}

.alumni-faq .section-title--a::after {
  transform: scaleX(-1);
}

/*****************************************
alumni-faq SP
******************************************/
@media screen and (max-width: 767px) {
  .alumni-faq {
    margin-bottom: 80px;
  }

  .alumni-faq .cnt-section {
    padding: 40px 10px 60px;
  }

  .alumni-faq .cnt-wrap {
    width: 100%;
    margin: 0 auto;
  }

  .alumni-faq-entry {
    padding: 0 15px 0 0;
    margin-bottom: 0;
  }

  .alumni-faq-item {
    margin-bottom: 10px;
    padding: 30px 20px;

  }

  .alumni-faq-question,
  .alumni-faq-answer-inner {
    display: flex;
    align-items: flex-start;
    min-height: 0;
  }

  .alumni-faq-question > span,
  .alumni-faq-answer-inner > span {
    display: block;
    flex: 0 0 28px;
    width: 28px;
    margin-right: 20px;
    padding-top: 0;
    line-height: 1;
    text-align: center;
  }

  .alumni-faq-question > p,
  .alumni-faq-answer-inner > p {
    display: block;
    min-height: 0;
    margin: 0;
    padding: 0 0 0 20px;
    line-height: 1.45;
  }

  .alumni-faq-question > p {
    font-size: 18px;
    font-weight: bold;
  }

  .alumni-faq-answer {
    margin-top: 10px;
  }

  .alumni-faq-answer-inner > p {
    padding-top: 5px;
    font-size: 16px;
  }

  .alumni-faq-question > p::before,
  .alumni-faq-answer-inner > p::before {
    top: 0;
    height: 24px;
    transform: none;
  }
}

@media screen and (max-width: 500px) {
  .alumni-faq {
    position: relative;
    z-index: 20;
  }
}


/* FV改行 */
 @media screen and (max-width: 1080px) {
  .sp-only._alumni-only {
    display: block;
}
}

/*****************************************
SP 横スクロール防止
******************************************/
@media screen and (max-width: 767px) {
  html,
  body {
    overflow-x: clip;
  }
}

.fadein-deco {
  z-index: 30;
}


