body {
    padding-top: 50px;
}
.company-hero{
  position: relative;
  background: url('../images/woman-girl2.jpg') center/cover no-repeat;
  height: 550px;
}

.company-hero::before{
  content:"";
  position:absolute;
  top:0; left:0; right:0; bottom:0;
  background: rgba(255,255,255,0.05);
  z-index: 0;
}

.hero-text-com{
  position: absolute;
  bottom: -50px; /* 画像の下にはみ出す量 */
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  width: 300px;       /* 文字ボックスの幅を調整 */
  display: flex;
  flex-direction: column;
  align-items: center;
	border-radius:5px;
	text-align:center;
}
.hero-text-com h2,
.hero-text-com .subtitle-com{
  background: rgba(255,255,255,1);
  padding: 8px 15px;
  display: block;   /* 幅いっぱいに広げる */
  width: 100%;      /* 親の幅に合わせる */
  margin: 0;
}
.hero-text-com h2{
	border-radius:10px 10px 0 0;
}
.subtitle-com{
	border-radius:0 0 10px 10px;
}
.section-title{
  font-size: 50px;
  margin-bottom: 10px;
	margin-top:0 !important;
}

.subtitle-com{
  font-size: 1.2rem;
}


.inner{
	max-width:1000px;
}
section.career {
    padding-bottom: 0;
}



.timeline-center{
  padding:60px 20px 0;
}

.timeline-center .inner{
  max-width: 1100px;
    margin: 0 auto;
    padding: 30px 20px;
    background: #fff0f5;
    border-radius: 15px;
}

.timeline-center .section-title{
  width:350px;
  position: relative;
  display:inline-block;
  text-align:center;
}

.timeline-center .title-bg{
  display:block;
  width:100%;
}

.timeline-center .title-text{
  position:absolute;
  top:50%;
  left:45%;
  transform:translate(-50%,-50%);
  font-size:28px;
  font-weight:bold;
	width:350px;
	color:#fff;
}

/* タイムライン軸 */
.timeline{
  position: relative;
  margin-top:40px;
}

.timeline::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:4px;
  height:100%;
  background:#f9d023;
}

/* タイムラインアイテム */
.timeline-item{
  position: relative;
  width:50%;
  padding:0 80px;
  box-sizing:border-box;
  display:none; /* JSで表示するのでここは非表示 */
}

.timeline-item.left{
  left:0;
}

.timeline-item.right{
  left:50%;
  text-align:left;
}

/* 軸接続丸 */
.timeline-item::before{
  content:"";
  position:absolute;
  top:20px;
  width:16px;
  height:16px;
  background:#f9d023;
  border-radius:50%;
  z-index:2;
}

.timeline-item.left::before{
  right:-8px;
}

.timeline-item.right::before{
  left:-8px;
}

/* カード本体 */
.timeline-content{
  background:#f6efe6;
  border-radius:12px;
  padding:12px;
  box-shadow:0 6px 15px rgba(0,0,0,0.08);
  position:relative;
}

/* カード内画像（幅・高さ維持） */
.timeline-content img{
  width:100%;
  max-height:200px;
  object-fit:cover;
  border-radius:10px;
  margin-bottom:10px;
}

/* 時間・タイトル・説明 */
.timeline-time{
  font-weight:bold;
  margin-bottom:5px;
}

.timeline-title{
  font-size:18px;
  font-weight:600;
  margin-bottom:5px;
}

.timeline-desc{
  font-size:16px;
  line-height:1.5;
}

/* もっと見るボタン */
.timeline-toggle{
  text-align:center;
  margin-top:20px;
}

.timeline-toggle button{
  padding:10px 20px;
  font-size:18px;
  background:#f9d023;
  color:#fff;
  border:none;
  border-radius:40px;
  cursor:pointer;
}




.training-flow{
padding:80px 20px 0;
}
.inner_tr{
	max-width:1100px;
	margin: 0 auto;
    padding: 30px 20px;
	background: #fff0f5;
    border-radius: 15px;

}


.training-flow__title{
text-align:center;
margin-bottom:40px;
	color:#f15a24;
}

.training-flow__scroll{
overflow-x:auto;
}

.training-flow__inner{
min-width:900px;
}
.message_tr{
    text-align: center;
    margin-bottom: 50px;
    font-size: 20px;
}

/* 月 */

.training-flow__months{
display:flex;
overflow:hidden;
border-radius:6px;
margin-bottom:30px;
}

.training-flow__months span{
position:relative;
flex:1;
text-align:center;
padding:12px 0;
background:#bfe9ff;
font-weight:bold;
}

/* 矢印 */

.training-flow__months span::after{
content:"";
position:absolute;
top:0;
right:-20px;

width:0;
height:0;

border-top:40px solid transparent;
border-bottom:40px solid transparent;
border-left:20px solid #7fd3ff;

z-index:2;
filter:drop-shadow(2px 0px 2px rgba(0,0,0,0.15));
}
.training-flow__months span:nth-child(odd){
background:#bfe9ff;
}

.training-flow__months span:nth-child(even){
background:#9edcff;
}

.training-flow__months span:nth-child(odd)::after{
border-left:20px solid #bfe9ff;
}

.training-flow__months span:nth-child(even)::after{
border-left:20px solid #9edcff;
}
/* 白い切れ目 */

.training-flow__months span::before{
content:"";
position:absolute;
top:0;
left:0;

width:0;
height:0;

border-top:40px solid transparent;
border-bottom:40px solid transparent;
border-left:20px solid #fff;

z-index:1;
}

/* 最初だけ消す */

.training-flow__months span:first-child::before{
display:none;
}

/* 最後の矢印消す */

.training-flow__months span:last-child::after{
display:none;
}

/* タイムライン */

.training-flow__timeline{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
padding:30px 10px;
position:relative;
}

/* 横ライン */

.training-flow__timeline::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:2px;
background:#cfd7ea;
}

/* カラム */

.training-flow__column{
display:flex;
flex-direction:column;
gap:20px;
}

/* カード */

.training-flow__card{
background:#fff;
border-radius:8px;
padding:18px;
box-shadow:0 5px 15px rgba(0,0,0,0.08);
font-size:14px;
transition:.3s;
}

.training-flow__card:hover{
transform:translateY(-5px);
}

.training-flow__card h4{
font-size:15px;
margin-bottom:6px;
color:#2d5bd1;
}




.career-stage span{
padding:24px 0;
	font-size:18px;
}

.stage{
background:#8ed1fc;
padding:15px;
font-weight:bold;
position:relative;
font-size:18px;
flex:1;
text-align:center;
}
.stage1{
background:#6bb6ff;
}

.stage2{
background:#8ed1fc;
}

.stage3{
background:#7ed6a5;
}
.stage:not(:last-child)::after{
content:"";
position:absolute;
top:0;
right:-20px;
border-top:25px solid transparent;
border-bottom:25px solid transparent;
border-left:20px solid #8ed1fc;
}
.stage1::after{
border-left-color:#6bb6ff;
}

.stage2::after{
border-left-color:#8ed1fc;
}
.stage:first-child{
border-radius:6px 0 0 6px;
}
.stage:last-child{
border-radius:0 6px 6px 0;
}
.career_flex{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
margin-top:40px;
}

.career-card{
background:#fff;
padding:20px;
border-radius:10px;
box-shadow:0 5px 15px rgba(0,0,0,0.08);
}
.career-column{
display:flex;
flex-direction:column;
gap:20px;
align-items:center;
}
h3 {
    color: #2d5bd1;
}
.sp_br{
	display:none;
}
.scroll_sp{
	display:none;
}
.career-year{
	display:none;
}
section.cta-button {
    padding-bottom: 0;
	padding-top:0;
}

.work-intro{
  position:relative;
  padding:80px 0 0;
  background:linear-gradient(180deg,#f9fbff 0%, #ffffff 100%);
  overflow:hidden;
}

.work-catch{
  font-size:38px;
  font-weight:700;
  margin-bottom:10px;
  position:relative;
  display:inline-block;
}

.work-sub{
  font-size:24px;
  line-height:1.8;
  margin-bottom:30px;
  font-weight:bold;
}

.work-lead{
  font-size:20px;
  margin-bottom:20px;
}

.work-text{
  margin-bottom:50px;
}

.work-text p{
  margin-bottom:16px;
  line-height:1.9;
}

.marker{
  background:linear-gradient(transparent 60%, #ff7bad 60%);
  display:inline;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}

.work-points-section{
  padding:0 0 80px;
  background:#f9fbff;
}

/* タイトル */

.section-title_w{
  font-size:28px;
  margin-bottom:50px;
  color: #3f4f63;
}

/* 縦カード */

.points-list{
  display:flex;
  flex-direction:column;
  gap:30px;
}

/* カード */

.point-card{
  display:flex;
  gap:30px;
  padding:30px;
  background:#fff;
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,0.05);
  transition:.3s;
  align-items:flex-start;
}

.point-card:hover{
  transform:translateY(-5px);
}

/* 番号 */

.point-num{
  font-size:32px;
  font-weight:700;
  color:#ff7bad;
  min-width:60px;
}

/* 中身 */

.point-content h3{
  font-size:20px;
  margin-bottom:10px;
}

.point-content p{
  line-height:1.9;
  color:#555;
}



.job-section{
  padding:0 0 30px;
}

/* リスト */

.job-list{
  display:flex;
  flex-direction:column;
  gap:30px;
}

/* カード */

.job-card{
  background:#fff;
  padding:30px;
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,0.05);
  border-left:4px solid #ff7bad;
  transition:.3s;
}

.job-card:hover{
  transform:translateY(-5px);
}

/* ラベル */

.job-label{
  font-size:12px;
  letter-spacing:1px;
  color:#ff7bad;
  margin-bottom:10px;
  font-weight:bold;
}

/* タイトル */

.job-card h3{
  font-size:22px;
  margin-bottom:15px;
}

/* テキスト */

.job-card p{
  line-height:1.9;
  color:#555;
  margin-bottom:10px;
}

/* 注釈 */

.note{
  font-size:14px;
  color:#777;
}

/* リスト */

.job-career-list{
  margin-top:15px;
  padding-left:0;
  list-style:none;
}

.job-career-list li{
  padding-left:20px;
  position:relative;
  margin-bottom:10px;
}

.job-career-list li::before{
  content:"";
  width:8px;
  height:8px;
  background:#ff7bad;
  border-radius:50%;
  position:absolute;
  left:0;
  top:8px;
}
.job-accordion .job-detail {
  display: none;
}

.job-accordion.open .job-detail {
  display: block;
}

.job-accordion .job-title {
  cursor: pointer;
}
.job-title {
  position: relative;
  padding-right: 40px; /* 丸のスペース確保 */
}

.job-title::after {
  content: "+";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #ff7bac;
  color:#fff;
  
  display: flex;
  align-items: center;
  justify-content: center;
  
  font-size: 20px;
  font-weight: bold;
}
.job-accordion.open .job-title::after {
  content: "-";
  background: #ff7a00; /* アクティブ感出すと良い */
  color: #fff;
}
.lead {
	max-width:900px;
  font-size: 20px;
  margin: 20px auto 40px;
  text-align: center;
	border-left: 4px solid #ff7a00;
	border-right: 4px solid #ff7a00;
  padding-left: 20px;
	padding-right:20px;
}
.works_reset{
	list-style: disc;
    padding-left: 20px;
	padding-top:20px;
}