/*パンくず*/	
.breadcrumb {
    line-height: 1.6;
    padding-bottom: 20px;
    border-bottom: 2px solid rgba(20, 20, 20, 0.12);
}
.requirement_new .breadcrumb {
    border-bottom: none;
}
.breadcrumb ul {
    list-style: none;
    display: flex;
    padding: 0 2px;
}

.breadcrumb li+li {
    position: relative;
    padding-left: 36px;
    /* background: #f25; */
}

.breadcrumb li+li::before {
    content: "";
    background: #D9D7CC;
    width: 4px;
    height: 4px;
    left: 16px;
    top: 50%;
    position: absolute;
    border-radius: 50%;
    margin-top: -2px;
}

.breadcrumb a {
    color: #EF812B;
    text-decoration: none;
    font-weight: 600;
    transition: 0.6s;
}

.breadcrumb li {
    color: #EF812B;
    font-size: 14px;

}
/* ヒーローエリア */
	.hero-content{
		padding-top:20px;
	}	
.recruit-hero {
    background: url('/wp/wp-content/themes/solaris_tcd088-child/img/renewal/requirement_new/pc_bg.png') no-repeat center center / cover; /* 背景画像を設定してください */
    height: 400px;
}
.main-title {
    color: #EF812B;
    margin: 0;
    line-height: 1;
    font-weight: 700;
    max-width: 382px;
    width: 100%;
    margin-top: 30px;
}

.main-title img {
    width: 100%;
    height: auto;
}

.sub-title-main {
    font-weight: bold;
    margin: 10px 0 30px 0;
    font-size: 32px;
    line-height: 1.6;
}
/* セクション全体 */
.recruit-flow-section {
    padding: 146px 0 0;
}

.flow-title {
    color: #0BC1AB;
    font-size: 40px;
    font-weight: bold;
    margin-bottom: 27px;
    text-align: left;
    line-height: 64px;
}

/* 4つ並ぶコンテナ */
.flow-container {
    display: flex;
    gap: 15px; /* 各ステップの間の隙間 */
}

.flow-item {
    flex: 1;
}

/* --- ★五角形の形状（ここが重要） --- */
.step-shape {
    background-color: #0BC1AB; /* 画像に近いエメラルドグリーン */
    color: #fff;
    height: 60px;
    display: flex;
    align-items: center;
    padding-left: 19px;
    font-size: 24px;
    line-height:38px;
    font-weight: bold;
    margin-bottom: 15px;
	border-radius: 8px 0 0 8px;
    position: relative;
width: calc(100% - 60px);
}
.step-shape::after {
    content: "";
    position: absolute;
    top: 50%;
    
    /* 要素の中心をベースの右端に合わせる（42.43pxの半分） */
    right: -21.2px; 
    
    /* ★ここがポイント！
       rotate(45deg) でできた幅60pxのひし形を、
       scaleX(1.666) で横幅100pxに引き伸ばします。
       中心が右端にあるので、結果的に右に「50px」突き出ます。 */
    transform: translateY(-50%) scaleX(1.666) rotate(45deg);
    
    width: 42.43px;
    height: 42.43px;
    background-color: #0BC1AB;
    
    /* 先端の角丸 */
    border-radius: 0 8px 0 0; 
    z-index: -1;
}
/* テキスト部分 */
.flow-text h3 {
    font-size: 24px;
    font-weight: bold;
    margin: 0;
line-height: 38px;
}

.flow-text p {
    font-size: 16px;
    line-height: 1.6;
    margin: 0;
    font-weight: 500;
}





/* セクションタイトル */
.recruit-details-box {
    background: #fff;
    border-radius: 32px;
padding: 80px 80px 0;
}	
.recruit-details .section-title {
    color: #0BC1AB;
    font-size: 40px;
    text-align: left;
    margin: 0 0 32px;
    position: relative;
    line-height: 64px;
}

/* 採用の流れ（矢印） */
.flow-container {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.flow-item {

}
.step-num {
    background: #0BC1AB;
    color: #fff;
    padding: 2px 8px;
    font-size: 12px;
}

/* 募集要項テーブル */
.recruit-details {
padding-top: 155px;
}

.recruit-table {
    width: 100%;
    border-collapse: collapse;
    border-top: 4px solid #0BC1AB;
}

.recruit-table th, .recruit-table td {
    padding: 30px 0;
    border-bottom: 1px solid #0BC1AB;
    text-align: left;
	font-size: 20px;
	line-height: 1.6;
}

.recruit-table th {
width: 180px;
    font-weight: bold;
}
.recruit-table td {
    font-weight: 500;

}
.recruit-table td dl {
  display: grid;
  /* 左列(dt)はコンテンツの最大幅に合わせ、右列(dd)は残りの幅を埋める */
  grid-template-columns: max-content 1fr; 
  gap: 0; /* 行間10px、dtとddの間の余白20px（お好みで調整してください） */
}

/* ddはデフォルトで左にmarginが入っていることが多いのでリセットします */
.recruit-table td dl dt, 
.recruit-table td dl dd {
  margin: 0;
  padding: 0;
}
	.recruit-table td dl dd br	{
		margin-left:1em;
	}
.recruit-table tr:last-child th, .recruit-table tr:last-child td{
    border-bottom:0;
}
/* 下部ボタンエリア */
.recruit-footer-btns {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 80px;
margin: 160px auto;
padding: 0 70px;
}
.recruit-footer-btns a {
    width: 50%;
	    transition: 0.6s ease-in-out;
}
.recruit-footer-btns a:hover{
    opacity: 0.6;
    color: #fff;
}
.recruit-footer-btns a img {
    width: 100%;
    height: auto;
}

span a {
  color: #333;
text-decoration: none; 
}

span a:hover {
    color: #0BC1AB; /* ホバー時にオレンジレッドに変わる（お好みの色に） */
}

/* --- レスポンシブ（スマホ対応） --- */
@media screen and (max-width: 768px) {
.recruit-hero {
    background: url('/wp/wp-content/themes/solaris_tcd088-child/img/renewal/requirement_new/sp_bg.png') no-repeat center center / cover; 
        height: 240px;
}	
.hero-content {
    padding-top: 17px;
}
.main-title {
    max-width: 255px;
margin-top: 20px;
}
.sub-title-main {
    font-size: 24px;
}
.recruit-flow-section {
    padding: 30px 0 0;
}
.flow-item {
    display: flex;
    gap: 18px;
}
    .step-shape {
        justify-content: center;
        padding: 0;
        height: 120px;
        width: 38px;
        border-radius: 4px 4px 0 0;
        font-size: 20px;
        line-height: 32px;
        display: block;
        background-color: #0BC1AB;
        color: #fff;
        position: relative;
        margin-bottom: 0;
        padding-top: 7px;
        box-sizing: border-box;
        text-align: center;
    }
	.step-shape::after {
    content: "";
    position: absolute;
    left: 5.56px;
    bottom: -13.43px;
    transform: rotate(45deg);
    width: 26.87px;
    height: 26.87px;
    background-color: #0BC1AB;
    border-radius: 0 0 4px 0;
    z-index: -1;
    top: initial;
    right: initial;
		transform: scaleY(1.6) rotate(45deg);
}
	.flow-text{
		width:calc(100% - 56px);
	}
.flow-title {
    color: #0BC1AB;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 27px;
    text-align: left;
    line-height: 38px;
}
    .flow-container {
        flex-direction: column;
        gap: 35px;
    }
	.recruit-details {
    padding-top: 110px;
}
.recruit-details .section-title {
    font-size: 24px;
    margin: 0 0 17px;
    line-height: 1.6;
}
.recruit-details-box {
    background: #fff;
    border-radius: 16px;
    padding: 30px 20px 15px;
}
.recruit-table tr {
    display: flex;
    flex-wrap: wrap;
}
.recruit-table th {
    width: 100%;
    border-bottom: 0;
    padding-top: 9px;
    padding-bottom: 8px;
}
.recruit-table td {
    width: 100%;
    padding-top: 0;
    font-size: 16px;
    padding-bottom: 15px;
}
.recruit-table td dl.sp_no {
    display: block;
}
.recruit-table td dl.sp_no dt, .recruit-table td dl.sp_no dd {
    display: inline;
}
.recruit-footer-btns {
    gap: 40px;
    margin: 80px auto;
    padding: 0;
    flex-wrap: wrap;
}
.recruit-footer-btns a {
    width: 100%;
}
}