@charset "utf-8";
/* CSS Document */

#wrap{width:780px; text-align:left; margin:auto;}
#inner{margin:0 10px;}

/*採用情報　エントリーフォーム*/

#mainContent{
	margin:40px auto 0 auto;
    text-align: center;
    width: 67%;
}
.center{
	margin:30px 0 0 0;
}

#color_red{color:#F00;}


/* テキスト関係ID */
#no_bold{font-weight:normal;}
#txt_size_12px{ font-size:12px; }
#entryform_table_txt{font-weight:normal; font-size:12px;}

/* テキスト関係IDここまで */

.entryform_table{
	width: 100%;
	border: 1px solid;
	border-right-style: solid;
	border-collapse: collapse;
}

#entryform_table_color{
    background-color:#ADC8D7;
    vertical-align: middle;
	width:165px;
}
#entryform_table_color2{
    font-size: 14px;
    vertical-align: middle;
}
.entryform_table thead{
	background-color:#8C8C8C;
}

.entryform_table thead tr th{
	color:#fff;
	font-size: 18px;
	font-weight:normal;
	padding:5px 0;
	vertical-align:middle;
}
.entryform_table tr {
	vertical-align:top;
	border:solid 1px #555;
}

.entryform_table td{
	font-size:14px;
	padding:4px 0;
}

.entryform_name_position{
	display:inline-block;
}


.entryform_position1{
	position:relative;
	left:101px;
}

.entryform_textarea{
	font-size:14px;
	margin:10px 0;
}

#entryform_table_color2 input {
    padding: 10px;
    border: 1px solid #999;
    border-radius: 5px;
    font-size: 14px;
}
#entryform_table_color2 select {
    padding: 10px;
    border: 1px solid #999;
    background: #fff;
    font-size: 14px;
}
/*place holder*/
.placeholder {
  color: #999999;
  margin: 0.5em 0em 0em 0em;
  font-size:0.9em;
}
.content_bg td.content_bg_color{
	width: 15em;
	text-align: left;
}
.necessary{
  display: inline-block;
  background-image: url(/images/necessary.png);
  background-repeat: no-repeat;
}
.content_bg_color .necessary{
  background-position: right;
  width: 100%;
}
#entryform_table_color2 .necessary{
  background-position: left;
  padding-left: 42px;
}
.content_bg_color .option{
  display: inline-block;
  background-image: url(/images/option.png);
  background-repeat: no-repeat;
  background-position: right;
  width: 100%;
}
.radio_margin{
	margin-left: 1em;
}

/* ==========================================================================
   1. Bootstrap干渉対策（ヘッダー・フッターの保護）
   ========================================================================== */
body{ font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
#globalNavi ul{
    margin-bottom: 0; /* Bootstrapのnavクラスが付与されている場合の余白をリセット */
}
/* Bootstrapが勝手に付けたリンクの下線を消す（既存サイトのスタイルに合わせる） */
header a, .topicpath a, footer a {
    text-decoration: none !important;
}

/* その他、ヘッダー内の要素でBootstrapの影響を受けていればここに追記 */
header *, footer * {
    box-sizing: border-box; /* レイアウト崩れ防止 */
}

/* ==========================================================================
   2. お問い合わせフォーム専用スタイル（#page内限定）
   ========================================================================== */
:root {
    --sugiyama-blue: #0060a8;
    --required-color: #e53e3e;
    --optional-color: #718096;
    --border-color-visible: #a0a0a0;
}

/* --- レイアウト構造 --- */
#page .entrycatagryWrap {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 3rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

#page .form-row {
    border-bottom: 1px solid #ddd;
    margin-left: 0;
    margin-right: 0;
}

#page .form-row:last-child {
    border-bottom: none;
}

/* ラベル列 */
#page .label-column {
    background-color: #f0f4f8;
    padding: 2rem 1.5rem !important;
    display: flex;
    align-items: center;
    border-right: 1px solid #ddd;
}

#page .label-column label {
    font-weight: 700;
    color: #222;
    margin-bottom: 0;
}

/* 入力列 */
#page .input-column {
    padding: 2rem !important;
    background-color: #fff;
}

/* --- 【重要】ラジオボタン・チェックボックスの縦位置調整 --- */
#page .form-check {
    display: flex !important;
    align-items: center !important; /* 垂直方向の中央揃えを強制 */
    min-height: auto;
    padding-left: 0; /* Bootstrapのデフォルトパディングをリセット */
    margin-bottom: 0.8rem;
}

#page .form-check-input {
    flex-shrink: 0; /* 潰れ防止 */
    width: 1.6em;
    height: 1.6em;
    /* Bootstrapの「押し下げ用マージン」を完全にゼロにする */
    margin-top: 0 !important; 
    margin-left: 0 !important;
    margin-right: 0.8rem !important;
    border: 1px solid var(--border-color-visible);
    cursor: pointer;
    float: none; /* floatレイアウトを解除 */
}

#page .form-check-label {
    cursor: pointer;
    font-weight: 500;
    color: #333;
    line-height: 1.2; /* ラベルの行高さを調整して中央に合わせる */
    margin-bottom: 0;
}

/* --- 入力要素 --- */
#page .form-control, #page .form-select {
    border: 1px solid var(--border-color-visible);
    padding: 10px 15px;
    border-radius: 4px;
    font-size: 1.4rem;
}

#page .form-control:focus {
    border-color: var(--sugiyama-blue);
    box-shadow: 0 0 0 3px rgba(0, 96, 168, 0.2);
}

/* --- バッジ --- */
#page .badge-required, #page .badge-optional {
    color: #fff;
    font-size: 1.2rem;
    font-weight: 700;
    padding: 0.5em 0.8rem;
    border-radius: 4px;
    margin-left: 0.8rem;
    vertical-align: middle;
    display: inline-block;
    line-height: 1;
}
#page .badge-required { background-color: var(--required-color); }
#page .badge-optional { background-color: var(--optional-color); }

/* --- その他 --- */
#page .form-example {
    color: #666;
    font-size: 1.2rem;
    margin-top: 0.6rem;
}

#page .personal_block {
    background: #fdfdfd;
    border: 1px solid #ddd;
    padding: 1.5rem;
    height: 200px;
    overflow-y: scroll;
    font-size: 1.3rem;
}

#page .alert-danger {
    font-size: 1.3rem;
    padding: 0.8rem 1rem;
}
