Default
* p, h1~h6 など、テキスト要素の余白をゼロにする */
p, h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
  /* フォントサイズを親要素から継承させる（リセットする場合） */
  font-size: inherit;
  font-weight: inherit;
}

/* 全ての要素でサイズ計算を直感的にする（paddingを含めた幅にする） */
*, *::before, *::after {
  box-sizing: border-box;
}

/* デフォルトの余白を削除 */
* {
  margin: 0;
  padding: 0;
}

/* 画像を扱いやすくする */
img {
  max-width: 100%;
  display: block;
}

/* リストのポッチを消す */
ul, ol {
  list-style: none;
}

/* リンクの基本装飾をリセット */
a {
  text-decoration: none;
  color: inherit;
}

/** 上記CSSリセット */
body {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
  background-image: url(../images/background_color.jpg);
}

.wrapper {
  width: 375px;
  margin: 0 auto;
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
}

/** headerロゴ */
header {
  background-color: #FFFFFF;
  height: 64px;
  display: flex;
  align-items: center;
}

.header-logo {
  height: 41.6px;
}

/** FV */
.main-visual {
  background-image: url(../images/fvimg1-1.png);
  background-position:46% 55%;
  background-repeat: no-repeat;
  height:580px;
  padding: 10px;
}

.main-visual-content {
  width: 312px;
  padding: 10px 0px;
}

/** タイトル */
.main-visual-content-number {
  color: #FFFFFF;
  padding: 0px 14px;
  background: linear-gradient(90deg, #F55C3D 0%, #F96837 65%, #FC7430 100%);
  width: 180px;
  font-size: 22px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.05em;
  margin-left: 42px;
}

/* サブタイトル*/
.number {
  font-size: 32px;
  font-weight: 900;
  margin: 0 2px;
  vertical-align: -2px;
}

.main-visual-content-subtitle {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 12px;
  line-height: 28px;
  color: #1E2E3B;
  text-shadow: 0px 0px 4px #EDF2F0;
  display: inline-block;
  text-align: left;
  margin-left: 15px;
}

.main-visual-content-subtitle h2 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-weight: 700;
  -webkit-text-stroke: 3px #FFFFFF;
  paint-order: stroke fill;
  text-align: center;
}

/* メインタイトル*/
.main-title {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
  color: #431C1C;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.08em;
  font-style: italic;
  margin: 10px;
  -webkit-text-stroke: 3px #FFFFFF;
  paint-order: stroke fill;
  text-shadow: 0px 0px 8px #FFFFFF;
}

.main-title > .orange:not(.main-title-message) {
  font-size: 29px;
}

.orange {
  color: #e85d24;
}

.event-overview-content .orange {
  color: #F15045;
}

/* 特徴 */
.feature {
  display: flex;
  gap: 15px;
  margin-bottom: 10px;
  padding-left: 10px;
}

.feature img {
  width: 106px;
  height: auto;
}

/* 申し込みボタン */
.apply {
  background-color: #FFFFFFE5;
  border-radius: 6px;
  text-align: center;
  padding-bottom: 10px;
}

.apply-call {
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  padding-top: 10px;
}

.apply-call-minutes {
  font-size: 19px;
  color: #F65F3D;
  margin-right: 5px;
}

.apply-content {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  padding: 10px;
  border-radius: 12px;
  box-shadow: 0 4px 0 #b33e10; 
  transition: all 0.2s;
  background: linear-gradient(87.96deg, #F55D3D 0.15%, #FC7430 100.15%);
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  border-radius: 10px;
}

.label-free {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
  background-color: #ffffff;
  color: #F55D3C;
  font-weight: 600;
  font-size: 22px;
  width: 64px;
  height: 36px;
  border-radius: 10px;
  margin-right: 7px;
}

.suchedule {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
  font-style: normal;
  color: #ffffff;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.05em;   /* 文字の間隔を少し広げる */
  text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}

.icon-arrow{
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #ffffff;
  color: #e85d24;           /* 矢印の色 */
  width: 32px;
  height: 32px;
  border-radius: 50%;       /* 正円にする */
  margin-left: 5px;
  font-size: 18px;
  padding-top: 7px;
}

/** 不安パート */
.anxiety {
  background-image: url(../images/background_anxiety_pic.jpg);
  background-position:30% 55%;
  background-repeat: no-repeat;
  height: 470px;
  background-size: cover;
}
.anxiety-title {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
  font-style: normal;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  line-height: 32px;
  color: #201919;
  padding-top: 20px;
  padding-bottom: 10px;
}
.anxiety-title1 {
  font-size: 20px;
}
.anxiety-title2 {
  font-size: 26px;
}
.light-orange {
  color: #FF8400;
}
.anxiety-content {
  background-color: #000000B2;
  color: #FFFFFF;
  padding: 20px 10px;
  margin: 0 10px 20px 10px;
}

.anxiety-content-item {
  display: flex;
  align-items: center;
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 16px;
  line-height: 28px;
  padding-top: 10px;
  padding-bottom: 10px;
}

.check-icon {
  padding-right: 15px;
  font-size: 24px;
}

.anxiety-content-strong {
  font-weight: 600;
  background: linear-gradient(transparent 70%, #FF8400 50%);
  display: inline; 
  padding-bottom:2px;
}
.anxiety-content-strong::after {
  position: absolute;
  bottom: 0.1em;
  height: 0.3em;
}

/* 個人不安メッセージ */
.worried {
  background-color: #FEF5F4;
  text-align: center;
}

.worried-title{
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
  font-style: normal;
  font-weight: 500;
  padding: 10px 15px 5px 15px;
  line-height: 24px;
  letter-spacing: 0.06em;
}

.worried-title h2 {
  color: #201919;
  margin-bottom: 15px;
  font-size: 16px;
}

.worried-subtitle {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 24px;
  background-color: #365773;
  height: 35px;
  width: fit-content;
  margin: 0 auto;
  color: #FFFFFF;
  align-items: center;
}

.worried img {
  width: 375px;
  height: 375px;
  object-fit: cover;
  z-index: 1;
}

.wave {
  width: 375px;
  background-color: #FEF5F4;
}

.wave_bottom {
  background-image: url(../images/action.jpg);
  background-position: center bottom;
}

.worried-person {
  font-family: 'Kiwi Maru', 'Hiragino Sans', sans-serif;
  height: 195px;
  background-color: #365773;
  padding: 15px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  line-height: 35px;
  font-weight: 500;
  letter-spacing: 0.1em;
}

.worried-person p {
  font-size: 16px;
  -webkit-text-stroke: 5px #EAE5E5;
  paint-order: stroke;
}

.stay-move {
  font-size: 28px;
}

.finish-university {
  font-size: 19px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.worried-person img{
  width: 120px;
  height: 120px;
  flex-shrink: 0;
}

.worried-person-bottom {
  background-image: url(../images/action.jpg);
}

/* アクション推進パート */
.action {
  background-image: url(../images/action.jpg);
  background-position: center bottom 100px;
  padding-top: 30px;
}

.action-wrapper {
  position: relative;
}

.action-display {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
  margin: 0px 10px 10px 10px;
}

.action-strong-message {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
  text-align: center;
  color: #FEF5F4;
  background-color: #F15045;
  font-size: 20px;
  font-weight: 700;
  border-radius: 10px 10px 0 0;
  padding: 10px 0;
  letter-spacing: 0.06em;
}

.action-strong-message h3 {
  font-size: 20px;
  line-height: 35px;
}

.action-strong-message span {
  text-decoration: underline #F2BE30;
}

.action-message {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  background-color: #FFFFFF;
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 1.7;
}

.action-highlight {
  color: #F15045;
}

.action-confused {
  position: relative;
  display: inline-block;
  width: 100%;
  margin-top: 20px;
}

.action-confused img {
  margin: 0 auto;
  width: 320px;
  height: 100px;
  display: block;
}

.action-confused p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  color: #F15045;
}

.action-regret {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-left: 20px;
}

.action-regret img{
  height: 100px;
}

.bottom-radius {
  border-radius: 10px;
  margin: 0 10px;
}

.action-event {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 15px;
  gap: 10px;
  background-color: #FC7430;
  font-size: 22px;
  font-weight: 900;
  text-align: center;
  color: #FFFFFF;
  text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}

.action-event span {
  font-size: 28px;
}

/* 参加者の声 */
.participant-voice {
  background-color: #FFFFFF;
  line-height: 1.7;
  padding: 15px 15px 40px 15px;
  margin-bottom: 15px;
  border-radius: 16px;
}

.participant-voice-title {
  color: #431C1C;
  line-height: 1.5;
}

.participant-voice-title h3 {
  line-height: 1.2;
}

.participant-voice p {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
  font-size: 17px;
  font-weight: 700;
}

.participant-voice-title > p {
  font-size: 15px;
  white-space: nowrap;
}

.participant-voice-title > p .dots {
  display: inline-block;
  vertical-align: middle;
  font-size: 0.7em;
  letter-spacing: 0.05em;
}

.participant-voice h3 {
  font-size: 28px;
  font-weight: 900;
}

.participant-voice-flex {
  display: flex;
}

.participant-voice-grade {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
  font-style: normal;
  border-top: 3px solid #FC7430;
  border-bottom: 3px solid #FC7430;
  font-size: 22px;
  width: fit-content;
  margin: 12px auto 0;
  font-weight: 700;
  line-height: 180%;
}

.participant-voice-flex {
  display: flex;
  justify-content: space-between;
}

.participant-voice-flex img {
  width: 120px;
  height: auto;
  border-radius: 10px;
  margin-right: 10px;
  margin-left: 10px;
  margin-top: 10px;
}

.participant-voice-box {
  font-size: 24px;
  font-weight: 400;
}

.participant-voice-box h4 {
  text-align: center;
  font-size: 24px;
}

.participant-voice-box h4 .dots {
  display: inline-block;
  vertical-align: middle;
  font-size: 0.55em;
  letter-spacing: 0.05em;
}

.participant-voice-before {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
  border: 1px solid #201919;
  color: #201919;
  margin-top: 10px;
  padding: 0 25px 10px 25px;
  font-weight: 500;
  box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25), 0px 4px 2px rgba(0, 0, 0, 0.25);
  border-radius: 10px;
}

.participant-voice-before-message {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
  font-style: normal;
  font-weight: 900;
  font-size: 17px;
  line-height: 23px;
  align-items: center;
  letter-spacing: 0.06em;
}

.participant-voice-after {
  border: 1px solid #FC7430;
  color: #201919;
  margin-top: 10px;
  padding: 0 25px 5px 25px;
  box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25), 0px 4px 2px rgba(0, 0, 0, 0.25);
  border-radius: 10px;
}

.participant-voice-message {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
  font-style: normal;
  font-weight: 900;
  font-size: 20px;
  line-height: 23px;
  align-items: center;
  letter-spacing: 0.06em;
}

.participant-voice-after-strong {
  color: #FC7430;
}

.second-line {
  display: block;
  text-align: center;
  padding-left: 30px;
}

.arrow-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 15px;
}

.arrow {
  position: relative;
  display: inline-block;
  width: 57.7px;
  height: 19.5px;
}

.arrow + .arrow {
  margin-top: -10px;
}

.arrow::before,
.arrow::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(50% - 2px);
  width: 4px;
  height: 35px;
  border-radius: 9999px;
  background-color: #ff5f40;
  transform-origin: 50% calc(100% - 2px);
}

.arrow::before {
  transform: rotate(60deg);
}

.arrow::after {
  transform: rotate(-60deg);
}

/* 参加特典 */
.benefit-privilege {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.benefit {
  position: relative;
  margin-top: 70px;
  background-image: url(../images/background_benefit.jpg);
  background-position: center;
  padding: 80px 10px 10px 10px;
}

.benefit-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.benefit-title {
  padding-bottom: 5px;
  line-height: 1.8;
}

.benefit-title .normal {
  font-size: 20px;
  font-weight: 500;
  white-space: nowrap;
  text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.25);
}

.benefit-title .strong {
  font-size: 26px;
  font-weight: 700;
  color: #FFFFFF;
  background-color: #F7633A;
  border-radius: 5px;
  padding: 3px 8px;
  margin: 0 4px;
}

.benefit-title .small {
  color: #FC7430;
  text-align: center;
  letter-spacing: 0.01em;
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 18px;
}

.benefit-title .large {
  font-size: 24px;
  font-weight: 500;
  text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.25);
}

.benefit-content img {
  border: solid 2px #C48502;
  width: 230px;
  height: 140px;
}

.benefit-description {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
  font-weight: 900;
  font-size: 20px;
  background-color: #FFFFFF;
  border-radius: 5px;
  margin-bottom: 20px;
  line-height: 16px;
  padding: 10px 0px;
}

.benefit-description-strong {
  background: linear-gradient(90deg, #F55C3D 0%, #F96837 65%, #FC7430 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* アドバイス */
.advice {
  background-image: url(../images/background_advice.jpg);
}

.advice-wrapper {
  padding: 15px 10px 15px 10px;
}

.advice-title {
  text-align: center;
  padding-bottom: 20px;
}

.advice-title p {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 16px;
  line-height: 19px;
  text-align: center;
  color: #431C1C;
}

.advice-dot {
  font-size: 21px;
  text-emphasis: dot;
  -webkit-text-emphasis-position: over;
  text-emphasis-position: over;
}

.advice-title h2 {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
  font-size: 30px;
  color: #F15045;
  font-weight: 700;
  -webkit-text-stroke: 1.5px #603232;
  paint-order: stroke fill;
  text-align: center;
  letter-spacing: 0.2em;
  text-shadow: 0px 1px 1px #603232;
}

.advice-title-small {
  font-size: 24px;
}

.advice-title-strong {
  font-size: 19px;
}

.advice-message {
  background-color: #FFFFFF;
}

.advice-message-title {
  padding-top: 15px;
  padding-bottom: 10px;
  text-align: center;
}

.advice-message-title h3 {
  color: #431C1C;
  font-weight: 600;
  font-size: 26px;
  display: inline-block;
  text-align: left;
}

.advice-message img {
  margin: 0 auto;
  width: 165px;
}

.advice-message p {
  color: #201919;
  font-weight: 500;
  font-size: 16px;
  line-height: 30px;
  margin-top: 15px;
  padding: 16px 12px 32px;
}

.advice-highlight {
  background-color: rgba(241, 80, 69, 0.4);
  padding: 4px 2px;
}

.dot {
  width: 4px;
  height: 4px;
  background-color: #F15045;
  border-radius: 50%;
  margin: 0 auto;
  margin-top: 5px;
}

.advice-message-conclusion {
  background-color: #FFFFFF;
  margin-bottom: 20px;
  padding: 0px;
}

.advice-message-conclusion p {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
  font-size: 20px;
  font-weight: 500;
  color: #201919;
  line-height: 40px;
}

.advice-message-conclusion p span {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
  font-size: 14px;
  display: block;
  text-align: right;
}

/*学生、アドバイザー紹介*/
.introduction {
  background-color: #F2F2F2;
}

.introduction-title {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 16px;
}

.introduction-sub-title {
  text-align: center;
  font-weight: 600;
  font-size: 18px;
  margin: 0 auto;
  padding-top: 16px;
}

.back-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-weight: 600;
  font-size: 60px;
  color: #FFFFFF;
  opacity: 0.8;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.front-text {
  position: relative;
  z-index: 2;
  letter-spacing: 0.05em;
  font-size: 26px;
  font-weight: 600;
  color: #F55C3D;
  text-align: center;
}

/* --- 既存のスタイルを活かした修正 --- */
.student-information {
  background-color: #FFFFFF;
  border-radius: 15px;
  /* margin: 20px; ではなく、Swiper用に上下だけマージンを残し左右はautoに */
  margin: 10px auto; 
  padding: 20px;
  width: 90%; /* カードが少し小さめに中央に配置されるように */
  box-shadow: 0 5px 15px rgba(0,0,0,0.1); /* 影があると消えてないか分かりやすい */
  box-sizing: border-box;
}

/* スライダーの外枠設定 */
.students-slider {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  overflow: hidden; /* 必須：はみ出しを隠す */
  padding-bottom: 50px; /* ページネーション用の余白 */
  position: relative;
  display: block !important;
}

/* ページネーションの色 */
.swiper-pagination-bullet-active {
  background-color: #F05A5A !important;
}

.students-slider {
  --swiper-navigation-color: #F05A5A;
}

.student-profile {
  display: flex;
  justify-content: left;
  align-items: center;
}

.student-profile img {
  width: 65px;
  height: 65px;
  border-radius: 50%;
}

.student {
  font-size: 16px;
  font-weight: 600;
  margin-left: 20px;
}

.student-information h3{
  font-weight: 600;
  font-size: 16px;
  margin-top: 10px;
}

.student-information-content {
  font-size: 14px;
  font-weight: 300;
  margin-top: 10px;
  line-height: 1.5;
}

.advisor {
  padding-top: 20px;
}

.advisor-introduction {
  background-color: #FFFFFF;
  margin: 10px;
  padding: 10px;
  border-radius: 15px;
  color: #201919;
}

.advisor-career {
  margin-top: 20px;
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 14px;
  line-height: 21px;
  color: #201919;

}

.advisor-title {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
  font-size: 20px;
  font-weight: 600;
  display: flex;
  justify-content: space-between;
  align-items: center;
  line-height: 30px;
}

.orange-highlight {
  color: #F15045;
}

.advisor-title img {
  width: 130px;
  height: 130px;
}

.short-line {
  width: 25px;
  border: none;
  border-top: 3px solid #F15045;
  margin: 10px auto; /* 中央寄せ */
}

.advisor-role {
  font-size: 10px;
  font-weight: 600;
}

.advisor-profile {
  display: flex;
  align-items: center;
}

.advisor-name {
  font-size: 16px;
  font-weight: 600;
}

.advisor-tags {
  display: flex;
}

.advisor-tag {
  background-color: #FFEEB8;
  border-radius: 15px;
  font-size: 10px;
  font-weight: 600;
  padding: 2px 8px; 
  margin-left: 10px;
}

/* イベント概要 */

.event-overview {
  position: relative;
  z-index: 0;
  padding-top: 15px;
  padding-bottom: 10px;
  border-radius: 15px;
  margin: 0 10px;
  margin-bottom: 15px;
  overflow: hidden;
}

.event-overview::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../images/background_event_overview.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0.4;
  z-index: -1;
}

.event-overview-title h3{
  font-weight: 600;
  background-color: #FFFFFFE5;
  margin: 20px 20px 0 20px;
  padding: 8px 20px;
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
  font-style: normal;
  line-height: 36px;
  font-size: 24px;
}

.event-overview-heighlight {
  color: #F15045;
  font-size: 24px;
}

.event-overview-small {
  font-size: 20px;
}

.separator {
  border: none;
  height: 2px;
  margin: 15px;
  background-color: #F15045;
}

.event-overview-content {
  background-color: #FFFFFFE5;
  margin: 15px;
}

.event-overview-content p {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif;
  font-size: 16px;
  font-weight: 600;
  padding: 10px;
}

/* 参加までの流れ */
.flow {
  margin-top: 15px;
  background-color: #FFDAD5;
  padding: 20px 5px;
}

.flow-wrapper {
  background-color: #FFFFFF;
  padding: 5px 10px;
  border-radius: 10px;
  margin-bottom: 5px;
}

.flow-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
}

.bubble {
  display: inline-block;
  border: 1px solid #333;
  border-radius: 50px; /* 楕円にするために大きな値を設定 */
  padding: 10px 40px;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.05em;
}

.divider {
  font-size: 20px;
  margin: -5px 0;
  text-align: center;
}

.flow-title h2 {
  font-size: 26px;
  font-weight: 600;
  text-align: center;
  text-decoration: underline #F15045;
  text-decoration-thickness: 3px;
  text-underline-offset: 10px;
}

.step-number {
  font-size: 34px;
  font-weight: 900;
  color: #F15045;
}

.flow-steps {
  /* margin: 5px; */
}

.flow-step {
  background: #FFF9F8;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  border-radius: 200px;
  margin: 10px 0;
}

.step-connect {
  width: 2px;
  height: 10px;
  background-color: #F86837;
  margin: 0 auto;
}

.flow-step-item {
  display: flex;
}

.flow-step-item h3{
  font-size: 18px;
  font-weight: 600;
  background: linear-gradient(90deg, #F55C3D 0%, #F96837 65%, #FC7430 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  display: inline-block;
  padding: 5px;
}

.flow-step-item p {
  font-size: 14px;
  font-weight: 300;
  line-height: 20px;
}

.step-content {
  margin-left: 3px;
}

.circle-icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: linear-gradient(90deg, #F55C3D 0%, #F96837 65%, #FC7430 100%);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); /* 下側の影 */
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: transform 0.2s ease;
  margin: 3px;
}

/* ロゴのサイズ調整 */
.step-icon {
  width: 32px;
  height: 32px;
}

.company-overview {
  background-color: #FFFFFF;
  padding: 5px 10px;
  border-radius: 10px;
  margin-top: 5px;
}

.company-overview-content {
  padding: 10px;
}

.company-overview-content img{
  width: 320px;
}

.company-overview-content h4 {
  font-size: 16px;
  font-weight: 600;
}

.company-overview-content p {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.7;
}

.footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 70px;
  background-color: #FFFFFF;
}

.footer img {
  width: 152px;
}

.footer p {
  font-size: 8px;
}