@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.6em;
		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 2px;
	}

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

	/* 並び順と位置 */
	.header_logo {
		order: 1;
		max-width: 140px;
	}

	.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 {
		padding: 2em 0em 2.5em;

	}

	.top_image_in {
		display: flex;
		justify-content: center;
		flex-direction: column;
		margin: 0 auto;
	}

	.top_text_rps {
		width: 100%;
		font-size: 1.5em;
	}

	.top_text_inr {
		padding: .2em 0.2em;
		margin-left: .1em;
		margin-right: .1em;
	}

	.top_logo {
		max-width: 360px;
		padding-top: 1em;
		margin: 0 auto;
	}

	.top_btn {
		max-width: none;
		width: 100%;
		padding-left: 1em;
		padding-right: 1em;
		padding-top: 1em;
	}

	.top_img {
		max-width: 260px;
		margin: 0 auto;
	}

	.top_image_in img {
		width: 100%;
	}

	/* --------------------------
CMエリア設定
----------------------------*/

	.sec_ldny_movie h2 {
		color: #ed1846;
		font-size: 1.4em;
	}

	.cm_movie {
		max-width: 550px;
		margin: 16px auto 0;
		padding: 0 16px;
	}

	.cm_movie__video {
		width: 100%;
		height: auto;
		display: block;
		border-radius: 12px;
	}

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

	.sec_ldny_nayami {
		background-color: #f6f4f4;
		padding: 2em 0em .5em;
	}


	.nayami_area01 {
		justify-content: center;
		gap: 5px;
		padding-top: 1em;
		flex-direction: column;
		padding-left: .5em;
		padding-right: .5em;
	}

	.nayami_area01_text {
		flex: 1 1 55%;
		font-size: 1em;
	}

	.nayami_area01_img {
		flex: 0 1 45%;
	}

	.nayami_area01_img img {
		width: 100%;
	}

	.sec_ldny_nayami h3 {
		font-size: 1.3em;
	}

	.nayami_area02 {
		font-size: 1.1em;
	}

	.nayami_boss_img {
		margin: 0 auto;
		text-align: center;
	}

	.nayami_boss_img img {
		max-width: none;
		width: 100%;
	}


	/* --------------------------
考え方エリア設定
----------------------------*/
	.sec_ldny_thinking {
		padding: 1em 0em 1.5em;
	}

	.ldny_thinking_circles {
		grid-template-columns: repeat(3, 1fr);
		gap: 12px 8px;
	}

	.ldny_thinking_circle {
		width: 120px;
		height: 120px;
		font-size: 12px;
	}


	/* --------------------------
CVエリア設定
----------------------------*/
	.sec_ldny_CV {
		padding: 0.6em 0.4em;
	}

	.ldny_CV_inr {
		background-color: #fff;
		max-width: none;
		width: 100%;
		text-align: center;
		padding: .4em 0.6em .8em;
	}

	.ldny_CV_inr img {
		max-width: none;
		width: 100%;
		padding-top: 1em;
	}

	.ldny_cv_btn {
		display: flex;
		justify-content: center;
		flex-direction: column;
		gap: 5px;
	}

	.ldny_cv_btn img {
		max-width: none;
		width: 100%;
	}

		.ldny_CV_inr h2{
			font-size: 1em;
		}
	/* --------------------------
特徴エリア設定
----------------------------*/

	/* 特徴ブロック共通 */
	.features_cntnr {
		gap: 10px;
		padding-bottom: 30px;
		flex-direction: column;
		padding: .6em .8em;
	}

	.features_cntnr_under::after {
		width: min(300px, 100%);
	}

	.features_reverse {
		flex-direction: column;
	}


	/* --------------------------
実績エリア設定
----------------------------*/

	.ldny_results_area {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 10px;
	}

	.ldny_results_cntnr {
		background-color: #fff;
		padding: 1em .6em;
		max-width: 440px;
	}

	.ldny_results_mds {
		gap: 6px;
	}

	.ldny_results_title {
		font-size: 1.1em;
	}

	.ldny_results_img {
		max-width: 100px;
	}


	/* --------------------------
できることエリア設定
----------------------------*/
	.sec_ldny_circle {
		padding: .4em .6em .6em;
	}

	.sec_ldny_circle p {
		text-align: left;
	}

	.sec_ldny_circle img {
		max-width: none;
		width: 100%;
		padding-top: .6em;
	}

	/* --------------------------
CVエリア設定
----------------------------*/
.ldny_cv_text {
	padding-bottom: .3em;
}
	.ldny_CV02_mds {
		font-size: 1.3em;
		padding: .5em 0em;
	}

	.ldny_cv_btn {
		display: flex;
		justify-content: center;
		gap: 5px;
	}

	.ldny_cv_text_inr {
		font-size: 1em;
padding-top: .6em;
	}


	.ldny_cv_btn img {
		max-width: none;
		width: 100%;
	}

	.cv_catch {
		font-size: 1.1em;
	}


	.ldny_CV_inr h2 {
		font-size: 1em;
		padding-bottom: .6em;
	}


	/* --------------------------
流れエリア設定
----------------------------*/
	.sec_ldny_nagare {
		background-color: #f6f4f4;
		padding: 2em 0.6em 2.5em;
	}

	.ldny_nagare_cntnr {
		padding: 0.4em 1em .6em;
		max-width: 700px;
		margin: 0 auto;
		margin-top: 1.5em;
		flex-direction: column;
	}

	.ldny_nagare_text_mds {
		gap: 8px;
	}

	.ldny_nagare_text_mds img {
		height: 30px;
		width: auto;
	}
/* --------------------------
企業エリア設定
----------------------------*/



.ldny_company_item {
	gap: 6px;
	padding: 4px 8px;
	font-size: 1.2em;
	max-width: none;
	width: 100%;
}

.ldny_company_inr {
	padding: 1em 0.3em 1.5em;

}

/* スマホは1列 */
	.ldny_company_list {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.ldny_company_item.is_center {
		grid-column: auto;
		justify-self: start;
	}

	.ldny_company_item p {
		white-space: normal;
		/* スマホは折り返しOKにする例 */
	}



	/* --------------------------
サポートエリア設定
----------------------------*/
	.sec_ldny_support {
		background-color: #fff;
		padding: 1em 0.4em 1.5em;
	}


	.ldny_support_area {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
		max-width: 1000px;
		margin: 0 auto;
		padding: 1.5em 0em;
	}


	.ldny_support_cntnr {

		padding: .4em 0em 0em;
		border-radius: 12px;
		font-weight: bold;
	}

	.ldny_support_cntnr p {
		font-size: .4em;
	}

	.ldny_support_cntnr img {
		width: 80%;
		padding: .4em .6em 0em;
	}

	.hosoku {
		text-align: left;
		font-size: .8em;
	}


	/* ---------------
Q&Aエリア設定
------------------*/
	.sec_ldny_QA {
		background-color: #fef7f8;
		margin: 0 auto;
		padding: 1em 0.6em 1.5em;
	}

	.qa_cntnr {
		padding: 0.2em .6em;
		margin-bottom: 1em;
	}

	.box_qa_q {
		padding: .5em 0.4em .5em 1.8em;
		font-size: 1.1em;
	}

	.box_qa_a {
		padding: 1em .4em;
		line-height: 1.8;
	}

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

	.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.2em 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;

	}
}