/* hero */
.hero{
position:relative;
height:60vh;
margin:0;
padding:0;
}

/* 中央ロゴ */
.center-logo{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
max-width:60vw;
height:auto;
}

/* セクションカード */
.text-section{
background-color:rgba(255,255,255,0.95);
padding:40px;
margin:40px auto;
max-width:900px;
border-radius:16px;
box-shadow:0 0 20px rgba(0,0,0,0.08);
}

/* 本文 */
.text-inner{
max-width:900px;
margin:auto;
text-align:left;
line-height:1.9;
}

/* セクションタイトル */
.section-title{
text-align:center;
font-size:1.6em;
margin:0 0 25px;
padding-bottom:12px;
font-weight:600;
color:#2c3e50;
border-bottom:2px solid #2c3e50;
}

/* notice */
.recruit-notice{
background:#f8d7da;
border:1px solid #f1aeb5;
max-width:900px;
margin:40px auto;
padding:20px;
text-align:center;
animation:fadeNotice 1s ease;
}

.notice-main{
font-size:1.1em;
color:#842029;
}

/* アニメーション */
@keyframes fadeNotice{
from{
opacity:0;
transform:translateY(-10px);
}
to{
opacity:1;
transform:translateY(0);
}
}

/* テーブル */
.recruit-table{
width:100%;
border-collapse:collapse;
margin-top:20px;
}

.recruit-table th,
.recruit-table td{
border:1px solid #ccc;
padding:10px;
text-align:left;
}

.recruit-table th{
background:#f0f0f0;
width:30%;
}

/* 背景 */
body.fade-background{
background-image:url("../img/background/JP_counter2.JPG");
background-size:cover;
background-position:center top;
background-repeat:no-repeat;
background-attachment:fixed;
}

/* 暗幕 */
body.fade-background::before{
content:"";
position:fixed;
inset:0;
background:rgba(0,0,0,0.35);
z-index:-1;
}

/* フェード無効化 */
body.fade-background .text-inner{
opacity:1;
transform:none;
}

/* スマホ */
@media (max-width:600px){
.center-logo{
max-width:80vw;
}
}