/* =========================================
   Front Page（モバイル - 600px以下）
   ========================================= */

@media screen and (max-width: 600px) {

	/* レイアウト共通 */
	.hero-home {
		height: calc(3400px * var(--scale-factor));
	}

	.hero-frame {
		padding: 0;
	}

	.hero-frame>* {
		position: absolute;
		pointer-events: none;
	}

	.hero-bg-vector {
		left: calc(-600px * var(--scale-factor));
		top: 0;
		width: calc(2800px * var(--scale-factor));
	}

	.hero-secondary-photo {
		top: calc(-40px * var(--scale-factor));
		left: calc(160px * var(--scale-factor));
		width: calc(460px * var(--scale-factor));
		height: calc(380px * var(--scale-factor));
		overflow: hidden;
	}

	.hero-secondary-mask {
		background: var(--color-primary);
		opacity: 0.5;
	}

	.hero-main-photo {
		top: 0;
		left: calc(400px * var(--scale-factor));
		width: calc(2000px * var(--scale-factor));
		z-index: 0;
	}

	.hero-copy {
		left: calc(-28px * var(--scale-factor));
		top: calc(360px * var(--scale-factor));
	}

	.hero-copy .hero-copy-image {
		width: calc(1800px * var(--scale-factor));
	}

	.hero-main-title {
		font-size: var(--font-size-h4);
		letter-spacing: calc(-1.5px * var(--scale-factor));
	}

	.hero-word {
		margin-right: calc(12px * var(--scale-factor));
	}

	.hero-brand {
		left: calc(250px * var(--scale-factor));
		top: calc(2950px * var(--scale-factor));
		width: calc(700px * var(--scale-factor));
	}

	.hero-bottom-line {
		left: 0;
		top: calc(2800px * var(--scale-factor));
		width: 110vw;
		height: calc(16px * var(--scale-factor));
	}

	/* リーダー募集セクション */
	.leader-recruit-section {
		height: calc(5200px * var(--scale-factor));
		padding: calc(80px * var(--scale-factor)) 0;
	}

	.leader-frame {
		height: auto;
		padding-bottom: calc(60px * var(--scale-factor));
	}

	.leader-bg-line--secondary {
		left: calc(-1050px * var(--scale-factor));
	}

	.leader-bg-line--tertiary {
		top: calc(1910px * var(--scale-factor));
	}

	.leader-bg-accent {
		top: calc(1130px * var(--scale-factor));
		left: calc(690px * var(--scale-factor));
		width: calc(1300px * var(--scale-factor));
	}

	.leader-photo {
		position: relative;
		top: calc(-900px * var(--scale-factor));
		left: 0;
		width: calc(900px * var(--scale-factor));
	}

	.leader-photo-image {
		width: 100%;
	}

	.leader-subtitle {
		left: calc(200px * var(--scale-factor));
		top: calc(800px * var(--scale-factor));
		letter-spacing: calc(-2px * var(--scale-factor));
		margin-bottom: calc(32px * var(--scale-factor));
	}

	.leader-content {
		position: relative;
		left: calc(150px * var(--scale-factor));
		top: calc(-750px * var(--scale-factor));
		width: calc(1700px * var(--scale-factor));
		gap: calc(64px * var(--scale-factor));
	}

	.leader-description {
		gap: calc(32px * var(--scale-factor));
	}

	.leader-highlight {
		box-shadow: calc(18px * var(--scale-factor)) calc(18px * var(--scale-factor)) 0 var(--color-black);
		margin-bottom: calc(20px * var(--scale-factor));
	}

	.leader-cta {
		justify-content: center;
	}

	.leader-cta-button {
		border: calc(8px * var(--scale-factor)) solid var(--color-primary);
		margin-top: calc(48px * var(--scale-factor));
	}

	/* 拠点セクション */
	.locations-section {
		height: calc(7000px * var(--scale-factor));
		padding: calc(80px * var(--scale-factor)) 0;
	}

	.locations-frame {
		position: relative;
	}

	.locations-bg-line {
		top: calc(3500px * var(--scale-factor));
	}

	.locations-photo .subtitle {
		top: calc(800px * var(--scale-factor));
	}

	.locations-photo {
		width: calc(1800px * var(--scale-factor));
	}

	.locations-photo img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.locations-heading {
		top: calc(1000px * var(--scale-factor));
		width: 100%;
	}

	.locations-title {
		margin-bottom: calc(48px * var(--scale-factor));
	}

	.locations-intro {
		width: calc(1600px * var(--scale-factor));
	}

	.locations-content {
		position: relative;
		left: 0;
		top: 0;
		display: flex;
		flex-direction: column;
		gap: calc(32px * var(--scale-factor));
	}

	.locations-list {
		gap: calc(48px * var(--scale-factor));
		top: calc(2700px * var(--scale-factor));
		width: calc(1100px * var(--scale-factor));
	}

	.region-header {
		padding: calc(96px * var(--scale-factor)) calc(48px * var(--scale-factor));
		font-size: var(--font-size-lg);
		border-radius: calc(16px * var(--scale-factor));
	}

	.region-toggle-icon img {
		width: calc(96px * var(--scale-factor));
		height: calc(96px * var(--scale-factor));
	}

	.location-region.is-active .region-header {
		transform: translate(calc(-2px * var(--scale-factor)), calc(-2px * var(--scale-factor)));
		box-shadow: 0 calc(6px * var(--scale-factor)) 0 var(--color-black);
	}

	.prefecture-list {
		padding: 0 calc(20px * var(--scale-factor));
		width: calc(1060px * var(--scale-factor));
	}

	.prefecture-item {
		padding: calc(32px * var(--scale-factor)) 0;
	}

	.prefecture-arrow img {
		width: calc(96px * var(--scale-factor));
		height: calc(96px * var(--scale-factor));
	}

	.locations-map {
		width: calc(3000px * var(--scale-factor));
		height: calc(3000px * var(--scale-factor));
		top: calc(2000px * var(--scale-factor));
	}

	.location-map-layer img {
		width: 100%;
		object-position: center;
	}

	/* 提供サービスセクション */
	.services-section {
		height: calc(3340px * var(--scale-factor));
	}

	.services-subtitle {
		top: calc(-70px * var(--scale-factor));
	}

	.services-bg-vector {
		width: calc(4400px * var(--scale-factor));
		left: calc(-900px * var(--scale-factor));
	}

	.services-bg-accent {
		display: none;
	}

	.services-watermark {
		position: absolute;
		left: 50%;
		top: calc(40px * var(--scale-factor));
		transform: translateX(-50%) rotate(-90deg);
		font-size: var(--font-size-subtitle);
	}

	.services-hero {
		width: calc(1300px * var(--scale-factor));
		top: calc(-600px * var(--scale-factor));
	}

	.services-panel-content {
		gap: calc(96px * var(--scale-factor));
	}

	.services-heading {
		font-size: var(--font-size-h1);
		line-height: 1.2;
	}

	.services-cards {
		height: calc(500px * var(--scale-factor));
	}

	.services-card {
		flex: 0 0 calc(500px * var(--scale-factor));
	}

	.services-card-icon {
		width: calc(300px * var(--scale-factor));
	}

	.services-card-name {
		font-size: calc(50px * var(--scale-factor));
	}

	.services-cta {
		margin-top: calc(64px * var(--scale-factor));
		width: calc(1590px * var(--scale-factor));
	}

	.services-cta-button {
		border: calc(8px * var(--scale-factor)) solid var(--color-white);
	}

	.services-panel-photo {
		width: calc(1500px * var(--scale-factor));
		top: calc(2300px * var(--scale-factor));
		left: calc(-410px * var(--scale-factor));
	}

	/* ビジョンセクション */
	.vision-section {
		height: calc(2400px * var(--scale-factor));
	}

	.vision-bg-texture {
		position: absolute;
		inset: 0;
	}

	.vision-photo {
		right: calc(-200px * var(--scale-factor));
	}

	.vision-content {
		width: calc(1700px * var(--scale-factor));
		gap: calc(60px * var(--scale-factor));
	}

	.vision-points {
		gap: calc(60px * var(--scale-factor));
	}

	.vision-point {
		gap: calc(32px * var(--scale-factor));
	}

	.vision-point-icon {
		width: calc(320px * var(--scale-factor));
	}

	.vision-point-text {
		font-size: var(--font-size-lg);
		margin-left: calc(-150px * var(--scale-factor));
	}

	.vision-cta-button {
		border: calc(8px * var(--scale-factor)) solid var(--color-primary);
	}

	/* CTAセクション */
	.cta-section {
		height: calc(2300px * var(--scale-factor));
	}

	.cta-bg-vector {
		width: calc(3000px * var(--scale-factor));
		left: calc(-1300px * var(--scale-factor));
	}

	.cta-headline {
		width: calc(1600px * var(--scale-factor));
	}

	.cta-headline-shadow {
		display: none;
	}

	.cta-headline-text {
		font-size: var(--font-size-lg);
	}

	.cta-headline-text .cta-headline-indent {
		margin-left: calc(250px * var(--scale-factor));
	}

	.cta-actions {
		top: calc(1200px * var(--scale-factor));
		flex-direction: column;
		gap: calc(48px * var(--scale-factor));
	}

	.cta-card {
		gap: calc(48px * var(--scale-factor));
		padding: calc(64px * var(--scale-factor)) calc(20px * var(--scale-factor));
		border-radius: calc(32px * var(--scale-factor));
	}

	.cta-card-copy {
		font-size: var(--font-size-base);
	}

	.cta-card-icon {
		width: calc(240px * var(--scale-factor));
	}

	.cta-card-arrow {
		width: calc(96px * var(--scale-factor));
	}

	.cta-headline-shadow-1 {
		width: calc(1460px * var(--scale-factor));
		height: calc(180px * var(--scale-factor));
	}

	.cta-headline-shadow-2 {
		width: calc(1310px * var(--scale-factor));
		height: calc(185px * var(--scale-factor));
		left: calc(270px * var(--scale-factor));
		top: calc(193px * var(--scale-factor));
	}
}