@charset "UTF-8";

@media only screen and (max-width : 768px) {
	/*-----------------------
スマホ・タブレット用レイアウト（768px以下スクリーン）
----------------------*/

	/*------------------
共通設定(スマホ)
-------------------*/

	/* はみ出した領域は非表示にする*/
	html {
		overflow-y: scroll;
		overflow-x: hidden;
	}

	html,
	body {
		width: 100%;
		-webkit-text-size-adjust: 100%;
		-ms-text-size-adjust: 100%;
	}

	/*画像サイズの調整*/
	img {
		height: auto;
		max-width: 100%;
	}

	/*H2タグ*/
	h2 {
		margin: 0.5em 0 0.5em;
		font-size: 1.5em;
		font-weight: bold;
		text-align: center;
	}

	/*H3タグ*/
	h3 {
		margin: 0 0 0.5em;
		padding: 0.3em 0em;
		font-weight: bold;
	}


	/*--------------------------------------------------------
全体レイアウト/背景設定(スマホ・タブレット)
--------------------------------------------------------*/

	/*全体エリア(全体背景の設定はここ)*/
	.main {
		background-color: #fff;
	}

	/*記事(ボディ)エリア*/
	.article {
		background-color: #fff;
		/*スマホの場合はカラムの線を消す*/
		border-left: none;
		border-right: none;
	}

	/*記事(ボディ)エリアの行間*/
	.article p {
		line-height: 1.8em;
	}

	/*記事(ボディ)エリアのフォントサイズ*/
	.article {
		font-size: 1.6em;
	}

	/*カラム全体の幅はスマホの場合固定*/
	.header_inr,
	.article,
	.atcl_inr,
	.top_image_in {
		width: 100%;
		margin: 0 auto
	}

	/*PC画面とスマホ画面の切り替え*/

	.gamen_pc {
		display: none;
	}

	.gamen_rps {
		display: block;
	}

	/*-------------------------
上部固定ヘッダー設定
----------------------*/

	/*上部固定ヘッダー全体*/

	/* floatを打ち消してflex化：ロゴ｜TEL｜≡ */
	.header_inr {
		display: flex;
		align-items: center;
		gap: 8px;
		padding: 8px 12px;
	}

	.header_logo,
	.header_tel,
	.header_menu {
		float: none;
		width: auto;
		margin: 0;
		padding: 0;
		padding-top: 0.5em;
	}

	/* 並び順と位置 */
	.header_logo {
		order: 1;
	}

	.header_tel {
		order: 2;
		margin-left: auto;
		/* ロゴ→TELの間を自動で広げる（TELを右側へ） */
		display: flex;
		align-items: center;
		max-width: 120px;
	}

	.hamburger {
		order: 3;
		display: flex;
		/* SPで表示 */
		flex-direction: column;
		width: 44px;
		height: 44px;
		align-items: center;
		justify-content: center;
		gap: 6px;
		border: 0;
		background: transparent;
		cursor: pointer;
		position: relative;
		z-index: 1101;
		/* メニューより前 */
		-webkit-appearance: none;
		appearance: none;
		margin-left: 5px;
		/* TELとの間隔 */
	}

	.hamburger span {
		display: block;
		width: 22px;
		height: 2px;
		background: #111;
		transition: transform .2s ease, opacity .2s ease;
	}

	.hamburger.is-open span:nth-child(1) {
		transform: translateY(8px) rotate(45deg);
	}

	.hamburger.is-open span:nth-child(2) {
		opacity: 0;
	}

	.hamburger.is-open span:nth-child(3) {
		transform: translateY(-8px) rotate(-45deg);
	}

	/* SPナビはオフキャンバス（右からスライド） */
	.header_menu {
		/* 競合でdisplay:noneが当たる可能性に備えて */
		display: block !important;

		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		width: 68vw;
		max-width: 360px;
		background: #fff;
		box-shadow: -8px 0 24px rgba(0, 0, 0, .12);
		transform: translateX(100%);
		transition: transform .25s ease;
		padding: 72px 24px 24px;
		z-index: 1100;
		/* ハンバーガーの一段下 */
	}

	.header_menu.open {
		transform: translateX(0);
	}

	/* パネル内の縦並び */
	.header_menu nav ul {
		display: grid;
		gap: 16px;
		font-size: 16px;
	}

	/* 右端のノッチ対策 */
	.header_inr {
		padding-right: max(12px, env(safe-area-inset-right));
	}

	/*-------------------------------
ファーストビュー設定
-------------------------------*/

	.top_image {
		/*スマホの際はファーストビューの背景を非表示*/
		background-image: none;
	}

	.top_image_in {
		padding: 0em 0em;
	}

	/* --------------------------
悩みエリア設定
----------------------------*/

	.sec_BrG_nayami {
		background-color: #fbf8f3;
		text-align: center;
		padding: 2em 0em;
	}

	.sec_BrG_nayami h2 {
		color: #2158cf;

	}

	.sec_BrG_nayami img {
		width: 100%;
	}

	/* --------------------------
サービスエリア設定
----------------------------*/

	.jirei_area {

		flex-direction: column;
	}

	.jirei_area img {
		max-width: 300px;

	}

	.jirei_mds {
		text-align: center;
		margin-bottom: .8em;
		padding-top: 2em;

	}

	/* --------------------------
おすすめエリア設定
----------------------------*/
	.SEC_BrG_osusume {
		padding: 0.5em 0em 2.5em;
	}

	.SEC_BrG_osusume h2 {
		color: #fff;
		padding: 0.5em 0em;
	}

	.osusume_cntnr {
		background-color: #fff;
		flex-direction: column;
		margin-left: 0.3em;
		margin-right: 0.3em;
		padding: 1em .5em 2em;
	}

	.cntnr02 {
		flex-direction: none;
	}

	.osusume_mds {
		flex-direction: column;
	}

	.osusume_mds h3 {
		margin: 0;
		padding: 0em 0 0.4em;
		/* ←距離調整用（なくてもOK） */
	}

	/* --------------------------
サービスエリア設定
----------------------------*/
	.sec_BrG_deta {
		padding: 1.5em 0em;

	}


	.deta_cntnr {
		flex-direction: column;
		gap: 5px;
		border: 3px solid #0c8656;
		padding: 1em .5em;
		max-width: 800px;
		margin: 0 auto;
		margin-left: 0.3em;
		margin-right: 0.3em;
	}

	.deta_cntnr_text {
		text-align: left;
	}

	.deta_cntnr_text img {
		width: 150px;
	}

	.deta_cntnr_img img {
		max-width: 250px;
	}

	/* --------------------------
CVエリア設定
----------------------------*/
	.Brg_cv {
		padding-top: 1em;
		padding-bottom: 2em;
	}


	.cv_text {
		font-size: 1.4em;
		font-weight: bold;
	}

	.cv_logo {
		flex-direction: column;
		align-items: center;
		gap: 10px;
	}

	/* --------------------------
特徴エリア設定
----------------------------*/
	.Brg_features_area {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		grid-template-rows: repeat(2, auto);
		gap: 20px;
	}

	.Brg_features_cntnr {
		margin-left: 0.6em;
		margin-right: 0.6em;
	}

	.Brg_features_cntnr img {
		width: 160px;
	}

	.features_cntnr_text {
		text-align: left;
	}

	.Brg_features_mssg {
		font-size: 1.2em;
	}

	/* --------------------------
比較エリア設定
----------------------------*/
	.sec_BrG_compare {
		padding-top: 1em;
		padding-bottom: 2em;
	}


	.sec_BrG_compare h2 {
		color: #fff;
	}

	.BrG_compare_cntnr {
		padding: 1.4em .5em;
		flex-direction: column;
	}

	.sec_BrG_compare h3 {
		color: #fff;
		font-size: 1.2em;
	}


	.BrG_compare_cntnr img {
		max-width: 350px;
	}


	/*-----
 吹き出し本体 01
 ------*/
	.compare_fd_o1 {
		max-width: 100%;

	}

	.compare_fd_o1::before {
		left: 50%;
		top: -18px;
		/* 吹き出しの外側・上 */
		transform: translateX(-50%);
		width: 0;
		height: 0;
		/* いったんリセット */
		border: none;
		/* 上向き→下向きの三角形に変更 */
		border-left: 12px solid transparent;
		border-right: 12px solid transparent;
		border-bottom: 18px solid #ff7a57;
	}

	.compare_fd_o1::after {
		left: 50%;
		top: -15px;
		/* before より少し下に */
		transform: translateX(-50%);
		width: 0;
		height: 0;
		/* リセット */
		border: none;
		/* 内側の白い三角 */
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
		border-bottom: 15px solid #fff;
	}

	/* ------------- */
	/*-------------------
 比較本体 02
 -------------------*/

	.BrG_compare_cntnr02 {
		padding: 1.4em 0.5em;
	}

	.compare_cntnr02_inr {
		flex-direction: column;

	}

	.compare_cntnr02_text {
		text-align: center;
		padding-top: 2.5em;
	}

	/*-----
 吹き出し本体 02（右向き）
 ------*/
	.compare_fd_o2 {
		max-width: 100%;
	}

	.compare_fd_o2::before {
		right: 50%;
		top: -18px;
		/* 上に出す */
		transform: translateX(50%);
		width: 0;
		height: 0;

		/* リセット */
		border: none;

		/* 上→下向き三角（色付き） */
		border-left: 12px solid transparent;
		border-right: 12px solid transparent;
		border-bottom: 18px solid #ff7a57;
	}

	.compare_fd_o2::after {
		right: 50%;
		top: -15px;
		transform: translateX(50%);
		width: 0;
		height: 0;

		/* リセット */
		border: none;

		/* 内側の白三角 */
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
		border-bottom: 15px solid #fff;
	}

	/* ------------- */

	/* ------比較_表設定----------- */
	.table-wrap {
		width: 100%;
		display: block;
		overflow-x: auto;
		/* ← これで横スクロール可能になる */
		-webkit-overflow-scrolling: touch;
		/* スマホの慣性スクロール */
	}

	.compare-table {
		min-width: 550px;
		border-collapse: collapse;
		border-spacing: 0;
		background: #fff;
		border-radius: 10px;
		overflow: hidden;
		font-size: 14px;
	}




	/* ------------- */
	/*-------------------
 比較本体 03
-------------------*/
	.BrG_compare_cntnr03 {
		background-color: #fff;
		border-radius: 12px;
		padding: 0.4em 1.5em;
		margin-top: 1.5em;
		display: block;
		font-weight: bold;
	}

	/* ---------------------- */
	/*   2カラム並び設定       */
	/* ---------------------- */
	.compare03_inr {
		display: flex;
		justify-content: space-between;
		align-items: stretch;
	}

	/* 左カラム（採用単価） */
	.saiyou_cntnr {
		flex: 0 0 50%;
		padding-right: 2em;
		border-right: 2px solid #000;

		/* ← ココを追加！中央寄りの原因を消す */
		margin: 0;
		text-align: left;
		/* 必要であれば */
	}

	/* 右カラム（面接比率） */
	.mensetu_cntnr {
		flex: 0 0 50%;
		padding-left: 2em;
	}

	.mensetu_cntnr img {
		width: 200px;
	}

	.saiyou_top {
		display: flex;
		gap: 10px;
		align-items: center;
		padding-bottom: 1em;
	}



	/* -ーーーー
比較03吹き出し
--------- */

	.speech_red {
		position: relative;
		display: inline-block;
		border: 2px solid #ff7a57;
		border-radius: 10px;
		background: #fff;
		font-weight: bold;
		text-align: center;
		padding: 0.2em .8em !important;
	}

	/* 下向きの三角（外側：赤枠） */
	.speech_red::before {
		content: "";
		position: absolute;
		bottom: -14px;
		/* ▼ の位置調整 */
		left: 50%;
		transform: translateX(-50%);
		width: 0;
		height: 0;
		border-left: 12px solid transparent;
		border-right: 12px solid transparent;
		border-top: 14px solid #ff7a57;
		/* 赤い枠線の色 */
	}

	/* 下向きの三角（内側：白背景） */
	.speech_red::after {
		content: "";
		position: absolute;
		bottom: -11px;
		/* 内側三角の位置 */
		left: 50%;
		transform: translateX(-50%);
		width: 0;
		height: 0;
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
		border-top: 12px solid #fff;
		/* 中の白 */
	}

	/* ------------- */
	.nabi_site {
		background-color: #f7fbf0;
		text-align: center;
		margin-top: 1em;
		padding: 0.3em 0.6em;
	}

	.saiyou_under {
		display: flex;
		gap: 10px;
		align-items: center;
		justify-content: center;
	}

	.nabi_site_inr {
		background-color: #f2f2f2;
		padding: 0.2em 0.3em !important;
		border-radius: 2px;
	}

	/* ⇆ 横にスクロールできますのテキスト */
	.scroll_hint {
		color: #AD0000;
	}

	.scroll_hint_icon {
		display: inline-block;
		animation: scrollHintMove 1.5s ease-in-out infinite;
	}

	/*-------------------
 比較本体 03
-------------------*/
	.BrG_compare_cntnr03 {
		padding: 1.4em .5em;
		margin-top: 1.5em;
	}

	/* ---------------------- */
	/*   2カラム並び設定       */
	/* ---------------------- */
	.compare03_inr {
		flex-direction: column;
	}

	/* 左カラム（採用単価） */
	.saiyou_cntnr {
		flex: 0 0 50%;
		padding-right: 0em;
		border-right: none;

	}

	/* 右カラム（面接比率） */
	.mensetu_cntnr {
		flex: 0 0 50%;
		padding-left: 0em;
		padding-top: 2em;
	}

	/* -ーーーー
比較03吹き出し
--------- */

	.speech_red {
		position: relative;
		padding: 0.2em .4em !important;
	}

	/* ------------- */

	.saiyou_under {
		display: flex;
		gap: 5px;
	}

	.nabi_site_inr {
		font-size: .8em;
	}

	/* --------------------------
流れエリア設定
----------------------------*/
	.nagare_cntnr {
		flex-direction: column;
		padding: 0.5em 1.2em;
		gap: 5px;
		margin-left: 0.6em;
		margin-right: 0.6em;
	
	}
	.nagare_cntnr h3 {
		text-align: center;
	}

	.nagare_icon img {
		width: 80px;
		padding-top: 10px;
	}

/* --------------------------
CV03エリア設定
----------------------------*/
.CV03_text{
	font-size: 1.2em;
	color: #fff;
	padding: .5em;
}


/* --------------------------
Q&Aエリア設定
----------------------------*/
.sec_BrG_qa {
	background-color: #fff;
	padding: 1.5em 0em 0em;
}

.BrG_qa_cntnr{
	max-width: 300px;
	margin: 0 auto;
	margin-top: 1.5em;
}
/* ---------------
 Q（質問）の白吹き出し 
 --------------- */
.qa-q {	
	padding: 0.5em .5em !important;
}



.qa-a {
	position: relative;
	padding: 0.5em .6em !important;
	margin: 2em 0 0em;

}
























	/* --------------------------
お問い合わせフォームエリア設定
----------------------------*/

	.inq-wrap {
		padding: 18px 14px 28px;
	}

	/*--------------------------------------------------------
フッター部分
-------------------------------------------------*/

	.footer {
		padding: 2em 0em 2em;
		font-size: 1em;
	}

	/*スマホ用下部固定メニュー*/

	/*スマホ用下部固定メニュー*/


	.cv-cta_footer {
		display: flex;
		gap: 16px 18px;
		justify-content: center;
		padding: 0.5em 0em;
	}

	.fix_menu_smartphone {
		transition: opacity 0.3s ease, visibility 0.3s ease;
	}

	.fix_menu_smartphone.is-hidden {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}

	.cv-cta_footer .btn {
		min-width: 160px;

	}
}