@charset "UTF-8";
@media (max-width:799px) {
	.hamburger {
		font-size:24px; background:none; border:none; color:#fff; cursor:pointer;
	}
	.nav {
		position:fixed;
		top:0; left:-260px;
		width:240px; height:100%;
		background:#333;
		transition:left 0.3s ease;
		z-index:10;
		padding-top:60px;
	}
	.nav.open { left:0; }
	.overlay.show { display:block; }
	.nav ul { display:block; padding:0 10px; margin:0; }
	.nav li { position:relative; }
	.submenu-toggle { width:100%; text-align:left; background:none; border:none; cursor:pointer; color:#fff; padding:10px 15px; }
	.submenu { position:relative; top:auto; left:auto; min-width:auto; }
	
	.footer-menu-row .footer-menu { align-items:center; text-align:center; }
	.footer-info-row { flex-direction:column; align-items:center; text-align:center; }
	.footer-left, .footer-center, .footer-right { flex:none; width:100%; margin-bottom:10px; align-items:center; text-align:center;}
	.footer-center p, .footer-right p { margin:2px 0; }
	.col-lg-6 {
		flex: 0 0 100% !important;  /* 横幅100%に強制 */
		max-width: 100% !important; /* 最大幅も100% */
		width: 100% !important;     /* 幅固定解除 */
	}
	.group-latest .group-time {
		flex: 0 0 80px;
	}
	/* もし親 .main-wrap が flex の場合 */
	.main-wrap {
		flex-direction: column;      /* 縦並びに切替 */
		gap: 20px;                   /* 上下間隔 */
	}

	.basic-body-main, .basic-body-side {
		flex: 0 0 100% !important;   /* 横幅100%に */
		max-width: 100% !important;  /* 最大幅100% */
		width: 100% !important;      /* 幅固定解除 */
	}

	.basic-body-main-row {
		flex-direction: column;
		gap: 15px;
	}
	
	.form-row { flex-direction: column; align-items: stretch; }
	.form-row label { flex: none; width: 100%; margin-bottom: 4px; }
	.form-row .form-field { width: 100%; }
	.form-row input,
	.form-row select,
	.form-row textarea { font-size: 16px; /* スマホでのズーム防止 */ }
	.pass-wrapper input { width: 100% !important; }
	.name-wrapper { width: 100% !important; flex-direction: column; }
	.name-wrapper input { width: 100% !important; /* ←確実に全幅 */ min-width: 0 !important; /* ←flex制約解除 */ box-sizing: border-box; }
	.tel-wrapper input { width: 100% !important; }
	
}
