@charset "UTF-8";
/* 電話番号：PCはヘッダーの赤いタイル（採用ボタンの紺タイルと対） */
.pcTelBtn { float: right; position: relative; display: flex; align-items: center; gap: 10px; height: 40px; margin: 3px 0 0 0; padding: 0 16px 0 8px; box-sizing: border-box; overflow: hidden; white-space: nowrap; color: #fff; text-decoration: none; border-radius: 5px; background: #B80000; box-shadow: 0 2px 6px rgba(184,0,0,0.3); transition: background-color 0.2s; }
.pcTelBtn::before { content: ""; position: absolute; top: 0; left: 0; border: 7px solid #1C4C9F; border-right-color: transparent; border-bottom-color: transparent; }
.pcTelBtn:hover, .pcTelBtn:visited, .pcTelBtn:focus { color: #fff; }
.pcTelBtn:hover { background: #9a0000; }
.pcTelBtn__icon { display: block; width: 26px; height: 26px; flex-shrink: 0; }
.pcTelBtn__txt { display: flex; flex-direction: column; align-items: flex-start; line-height: 1; }
.pcTelBtn__label { font-size: 9px; font-weight: bold; letter-spacing: 0.08em; color: rgba(255,255,255,0.8); }
.pcTelBtn__num { margin-top: 3px; font-family: Arial, "Helvetica Neue", sans-serif; font-size: 19px; font-weight: bold; letter-spacing: 0.04em; }
.spTelBtn { display: none; }
@media screen and (max-width:768px) {
	.pcTelBtn { display: none; }
	/* スマホ：メニュー最下部の電話番号（旧画像を置き換え） */
	nav.gnav > ul > li:last-child { height: auto; padding: 12px 16px 16px; box-sizing: border-box; background: #efefef; background-image: none; }
	nav.gnav > ul > li:last-child a.spTelBtn, nav.gnav > ul > li:last-child a.spTelBtn:hover { position: relative; display: flex; align-items: center; gap: 12px; padding: 10px 16px 10px 12px; overflow: hidden; color: #fff !important; text-decoration: none; border-radius: 6px; background: #B80000; box-shadow: 0 3px 8px rgba(184,0,0,0.3); }
	nav.gnav > ul > li:last-child a.spTelBtn:active { background: #9a0000; }
	.spTelBtn::before { content: ""; position: absolute; top: 0; left: 0; border: 8px solid #1C4C9F; border-right-color: transparent; border-bottom-color: transparent; }
	.spTelBtn__icon { display: block; width: 34px; height: 34px; flex-shrink: 0; }
	.spTelBtn__txt { display: flex; flex-direction: column; align-items: flex-start; line-height: 1; }
	.spTelBtn__label { font-size: 10px; font-weight: bold; letter-spacing: 0.04em; color: rgba(255,255,255,0.85); }
	.spTelBtn__num { margin-top: 5px; font-family: Arial, "Helvetica Neue", sans-serif; font-size: 24px; font-weight: bold; letter-spacing: 0.04em; }
}
/* PC：ヘッダー右上の採用サイトへのリンク（電話番号タイルと並ぶ紺のタイル。スクロール位置に関係なく常に表示） */
.pcRecruitBtn { float: right; position: relative; display: flex; align-items: center; gap: 14px; height: 40px; margin: 3px 0 0 8px; padding: 0 10px 0 18px; box-sizing: border-box; overflow: hidden; white-space: nowrap; color: #fff; text-decoration: none; border-radius: 5px; background: #1C4C9F; box-shadow: 0 2px 6px rgba(28,76,159,0.3); transition: background-color 0.2s; }
.pcRecruitBtn::before { content: ""; position: absolute; top: 0; left: 0; border: 7px solid #B80000; border-right-color: transparent; border-bottom-color: transparent; }
.pcRecruitBtn:hover, .pcRecruitBtn:visited, .pcRecruitBtn:focus { color: #fff; }
.pcRecruitBtn:hover { background: #163d80; }
.pcRecruitBtn__txt { display: flex; flex-direction: column; align-items: flex-start; line-height: 1; }
.pcRecruitBtn__en { font-family: Arial, "Helvetica Neue", sans-serif; font-size: 9px; font-weight: bold; letter-spacing: 0.24em; color: rgba(255,255,255,0.75); }
.pcRecruitBtn__jp { margin-top: 4px; font-size: 17px; font-weight: bold; letter-spacing: 0.12em; }
.pcRecruitBtn__arrow { position: relative; width: 24px; height: 24px; flex-shrink: 0; border-radius: 50%; background: #fff; }
.pcRecruitBtn__arrow::after { content: ""; position: absolute; top: 50%; left: 50%; width: 6px; height: 6px; margin: -4px 0 0 -5px; border-top: 2px solid #1C4C9F; border-right: 2px solid #1C4C9F; transform: rotate(45deg); transition: margin-left 0.2s; }
.pcRecruitBtn:hover .pcRecruitBtn__arrow::after { margin-left: -3px; }
@media screen and (max-width:768px) {
	.pcRecruitBtn { display: none; }
}
/* スマホ：メニューアイコン左の採用サイトへのリンク（PCと同じ紺のタイル。メニューアイコンと同じ高さ） */
.spRecruitBtn { display: none; }
@media screen and (max-width:768px) {
	#header h1 .img_logo { width: min(240px, calc(100vw - 195px)); background-size: contain; background-position: left center; }
	.spRecruitBtn { display: flex; align-items: center; gap: 7px; position: absolute; top: 10px; right: 48px; width: max-content; height: 30px; padding: 0 6px 0 11px; box-sizing: border-box; overflow: hidden; white-space: nowrap; color: #fff; text-decoration: none; border-radius: 4px; background: #1C4C9F; box-shadow: 0 2px 5px rgba(28,76,159,0.3); }
	.spRecruitBtn::before { content: ""; position: absolute; top: 0; left: 0; border: 5px solid #B80000; border-right-color: transparent; border-bottom-color: transparent; }
	.spRecruitBtn:hover, .spRecruitBtn:active, .spRecruitBtn:visited { color: #fff; }
	.spRecruitBtn:active { background: #163d80; }
	.spRecruitBtn__txt { display: flex; flex-direction: column; align-items: flex-start; line-height: 1; }
	.spRecruitBtn__en { font-family: Arial, "Helvetica Neue", sans-serif; font-size: 8px; font-weight: bold; letter-spacing: 0.16em; color: rgba(255,255,255,0.75); }
	.spRecruitBtn__jp { margin-top: 2px; font-size: 12px; font-weight: bold; letter-spacing: 0.1em; }
	.spRecruitBtn__arrow { position: relative; width: 18px; height: 18px; flex-shrink: 0; border-radius: 50%; background: #fff; }
	.spRecruitBtn__arrow::after { content: ""; position: absolute; top: 50%; left: 50%; width: 5px; height: 5px; margin: -3px 0 0 -4px; border-top: 2px solid #1C4C9F; border-right: 2px solid #1C4C9F; transform: rotate(45deg); }
}
